一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于局部空间转换网络的实时目标编辑方法

2022-04-09 06:42:26 来源:中国专利 TAG:


1.本发明涉及计算机视觉及数字图像处理领域,具体涉及一种基于局部空间转换网络的实时目标编辑方法。


背景技术:

2.目标编辑是一种根据给定的目标区域执行特定图像编辑操作的方法。常见的图像编辑操作有平移、缩放等。目标编辑在休闲娱乐和图像编辑领域有着广泛应用,已成为是计算机视觉领域的一大研究热点。随着智能移动终端的普及,非专业拍照的业务场景越来越多,人们期待通过后期目标编辑修改图像以提升图像视觉效果。
3.最近几年,随着卷积神经网络在计算机视觉领域的成功应用,基于深度学习的目标编辑方法有了重大进步。然而,目前的目标编辑方法仍然存在局限性。具体来说,存在以下两个问题:一是深度学习方法需要大量与业务相关的数据集参与网络模型的训练,例如,针对人脸的目标编辑任务,我们需要使用人脸数据集参与训练。而并不是所有的数据集的方便收集。二是对目标的平移操作会造成图像空洞的出现,破坏图像完整性。


技术实现要素:

4.为了解决现有技术中的上述问题,即数据集与任务强相关、图像编辑导致图像空洞的问题,本发明提供了一种基于局部空间转换网络的实时目标编辑方法,该方法通过以下几个步骤来实现:
5.步骤1,获取高分辨率图像并制作训练数据集和测试数据集。
6.步骤2,通过掩码转换网络(mask transformation network,mtn)获取目标掩码的仿射变换矩阵,并实现目标图像的采样。
7.步骤3,使用空洞修复网络(hole repair network)修复图像空洞。
8.步骤4,通过步骤1获得的数据集训练并测试掩码转换网络和空洞修复网络。
9.进一步的,步骤1中数据集应包含以下四类图像:源图像(source image,i
source
)、源掩码(sourcemask,m
source
)、目标图像(target image,i
target
)和目标掩码(targetmask,m
target
),各类图像应有以下特征,首先,i
source
由特定的对象(如猫、狗、自行车等)与背景组成;m
source
为二值灰度图,用于标注i
source
中对象的位置与轮廓;m
target
由编辑后的对象与背景组成;m
target
为二值灰度图,用于标注i
target
中对象的位置与轮廓。
10.进一步的,步骤1具体方法如下:
11.1-1.准备数据集素材。素材分为对象素材与背景素材,本发明使用开源数据集coco-猫的目标对象作为对象素材,将开源风景数据集作为最终数据集的背景素材。
12.1-2.生成对象素材和对应的掩码。设置随机仿射矩阵,选用合适的参数范围。通过仿射变换生成两组图像,一组为源对象素材和源掩码m
source
,另一组为目标对象素材和目标掩码m
target
。在生成过程中保证对象素材不会超出图像边界,保证对象素材轮廓的完整性。
13.1-3.合成数据集。源图像i
source
和目标图像i
target
由对应的对象素材i
t-obj
、背景素
材i
t-bg
和掩码m
t
通过掩码操作融合生成。掩码操作公式如下:
14.i
t
=m
t
*i
t-obj
(1-m
t
)*i
t-bg
,t∈(source,target)#(1)
15.最终得到5000组训练数据集和486组测试数据集。
16.进一步的,步骤2中,掩码转换网络mtn包括参数学习模块(localisation net),采样网格生成模块(grid generator),重采样模块(sampler)和辅助训练模块(auxiliary training module)。为了学习两个图像掩码之间的空间变换关系,使用参数学习模块学习两个掩码的仿射变换矩阵(affine matrix),使用采样网格生成模块和重采样模块实现图像的目标区域坐标重采样,最后加入辅助训练模块保证参数学习模块的网络模型训练。
17.进一步的,步骤2具体方法如下:
18.2-1.搭建参数学习模块。
19.参数学习模块包含两个子模块,第一个子模块用于提取图像特征,由4个卷积层与一个自适应平均池化层组成,其中每个卷积层都使用relu激活函数,第二个和第四个卷积层使用跨步卷积,步长为2。第二个子模块使用全连层将图像特征图映射为仿射矩阵所需的6个参数。
20.2-2.采样。
21.通过仿射矩阵计算目标图像i
target
中目标对象区域像素点的坐标,生成坐标映射网格。根据坐标映射网格对源图像i
source
采样,生成仿射图像(affine transformation image,i
affine
)和对应的仿射变换掩码(affine transformation mask,m
affine
)。
22.2-3.搭建辅助训练模块。
23.辅助训练模块用于辅助训练参数学习模块。该模块为自动编解码结构,编码器由四个卷积层组成,第一个和第三个卷积采用跨步卷积缩小特征图的空间尺寸;解码器由两个卷积层与两个上采样层组成,上采样层位于第一和第三层,同时编码器和解码器的每个卷积层都使用leaky relu函数作为激活函数。
24.进一步的,步骤3具体方法如下:
25.使用空洞修复网络修复图像空洞。所述的空洞修复网络包含两个子修复网络:粗糙修复网络(coarse)和细化修复网络(refine)。粗糙修复网络生成粗修复图像,细化修复网络使用粗修复图像作为输入。
26.3-1.搭建粗糙修复网络模型和细化修复网络模型。
27.粗糙修复网络和细化修复网络使用相同的结构,以粗糙修复网络为例。网络模型采用自编码器结构,通过编码器(由2个跨步卷积层和若干个卷积层组成)生成特征图,然后使用4层跨步卷积层扩展网络模型感受野,便于该网络模型提取较远区域的图像特征来修补空洞,最后通过解码器(由2个上采样层和若干个卷积层组成)输出结果图。为了获得更好的修复效果,将所有基本卷积层替换为门控卷积层,以便在训练过程中自适应地选择重要特征。
28.3-2.粗糙修复网络用于修复仿射图像i
affine
中因目标编辑产生的空洞。通过源掩码m
source
和仿射变换掩码m
affine
计算空洞掩码m
hole
,通过空洞掩码m
hole
和仿射图像i
affine
计算空洞图像i
hole
,粗糙修复网络的输入数据in
coarse
为输入的仿射图像i
affine
、空洞图像i
hole
和空洞掩码m
hole
在通道维度拼接而成,计算公式如下。
29.m
hole
=m
source
|m
affine-m
affine
#(2)
30.i
hole
=i
affine
×
(1-m
hole
) m
hole
#(3)
31.in
coarse
=(i
hole
;m
hole
)#(4)
32.3-3.使用粗糙修复网络模型生成粗修复图像ic,保留ic中空洞掩码m
hole
区域图像,将背景使用仿射图像i
affine
替换,得到粗糙空洞修复图像i
coarse
,细化修复网络的输入数据in
refine
为粗糙空洞修复图像i
coarse
与空洞掩码m
hole
在通道维度拼接而成,计算公式如下。
33.i
coarse
=i
affine
*(1-m
hole
) ic*m
hole
#(5)
34.in
refine
=(i
coarse
;m
hole
)#(6)
35.3-4.使用细化修复网络模型生成细化修复图像ir,由于粗糙空洞修复图像i
coarse
比空洞图像i
hole
拥有更多的特征信息,细化修复网络模型能进一步修复图像空洞的纹理细节。对于细化修复图像ir同ic一样使用仿射图像i
affine
替换背景,得到结果图像,计算公式如下:
36.i
output
=i
affine
*(1-m
hole
) ir*m
hole
#(7)
37.进一步的,步骤4具体方法如下:
38.4-1.对于mtn,使用两种损失函数保证网络模型的训练,第一种是带权均方差损失函数,让网络专注于掩码区域的学习;第二种是掩码尺度损失函数,将网络生成的目标掩码区域面积与实际目标区域面积的距离作为损失,来保证网络对掩码位置与尺度的学习。
39.4-2.对于粗糙修复网络模型和细化修复网络模型,使用l1损失函数计算网络模型输出图像中m
hole
区域的损失,不计算图像背景区域的损失。
40.4-3.通过步骤1获得的测试数据集对掩码转换网络和空洞修复网络进行测试。
41.本发明有益效果如下:
42.1)mtn专注于掩码学习,可使用与业务无关的数据集训练网络模型,降低了构建数据集的成本和模型的训练成本。
43.2)完成目标编辑任务的同时解决了传统深度学习方法中图像空洞的出现问题。
附图说明
44.图1为本发明实施例掩码转换网络结构示意图;
45.图2为本发明实施例目标编辑执行流程图;
46.图3为本发明实施例参数学习模块网络结构示意图;
47.图4为本发明实施例粗糙/细化修复网络结构示意图。
48.具体实施方法
49.以下结合附图与实施例对本发明方法进行进一步描述。
50.如图1、图2所示,一种基于局部空间转换网络的实时目标编辑方法,包括以下步骤:
51.步骤1,获取高分辨率图像并制作训练数据集和测试数据集。
52.数据集应包含以下四类图像:源图像(source image,i
source
)、源掩码(source mask,i
source
)、目标图像(target image,i
target
)和目标掩码(target mask,m
target
),各类图像应有以下特征,首先,i
source
由特定的对象(如猫、狗、自行车等)与背景组成;m
source
为二值灰度图,用于标注i
source
中对象的位置与轮廓;m
target
由编辑后的对象与背景组成;m
target
为二值灰度图,用于标注i
target
中对象的位置与轮廓。
53.1-1.准备数据集素材。素材分为对象素材与背景素材,本发明使用开源数据集coco-猫的目标对象作为对象素材,将开源风景数据集作为最终数据集的背景素材。
54.1-2.生成对象素材和对应的掩码。设置随机仿射矩阵,选用合适的参数范围(本发明中缩放参数设置为0到2倍,平移参数设置为0到1倍)。通过仿射变换生成两组图像,一组为源对象素材和源掩码m
source
,另一组为目标对象素材和目标掩码m
target
。在生成过程中保证对象素材不会超出图像边界,保证对象素材轮廓的完整性。
55.1-3.合成数据集。源图像i
source
和目标图像i
target
由对应的对象素材i
t-obj
、背景素材i
t-bg
和掩码m
t
通过掩码操作融合生成。掩码操作公式如下:
56.i
t
=m
t
*i
t-obj
(1-m
t
)*i
t-bg
,t∈(source,target)#(1)
57.最终得到5000组训练数据集和486组测试数据集。
58.步骤2,通过掩码转换网络(mask transformation network,mtn)获取目标掩码的仿射变换矩阵,并实现目标图像的采样。
59.图3为本发明实施例参数学习模块网络结构示意图;
60.掩码转换网络mtn包括参数学习模块(localisation net),采样网格生成模块(grid generator),重采样模块(sampler)和辅助训练模块(auxiliary training module),结构如图1所示。为了学习两个图像掩码之间的空间变换关系,使用参数学习模块学习两个掩码的仿射变换矩阵(affine matrix),使用采样网格生成模块和重采样模块实现图像的目标区域坐标重采样,最后加入辅助训练模块保证参数学习模块的网络模型训练。
61.2-1.搭建参数学习模块。
62.参数学习模块包含两个子模块,第一个子模块用于提取图像特征,由4个卷积层与一个自适应平均池化层组成,其中每个卷积层都使用relu激活函数,第二个和第四个卷积层使用跨步卷积,步长为2。第二个子模块使用全连层将图像特征图映射为仿射矩阵所需的6个参数。
63.2-2.采样。
64.通过仿射矩阵计算目标图像i
target
中目标对象区域像素点的坐标,生成坐标映射网格。根据坐标映射网格对源图像i
source
采样,生成仿射图像(affine transformation image,i
affine
)和对应的仿射变换掩码(affine transformation mask,m
affine
)。
65.2-3.搭建辅助训练模块。
66.辅助训练模块用于辅助训练参数学习模块。该模块为自动编解码结构,编码器由四个卷积层组成,第一个和第三个卷积采用跨步卷积缩小特征图的空间尺寸;解码器由两个卷积层与两个上采样层组成,上采样层位于第一和第三层,同时编码器和解码器的每个卷积层都使用leakyrelu函数作为激活函数。
67.步骤3,使用空洞修复网络(hole repair network)修复图像空洞。
68.使用空洞修复网络修复图像空洞。所述的空洞修复网络包含两个子修复网络:粗糙修复网络(coarse)和细化修复网络(refine)。粗糙修复网络生成粗修复图像,细化修复网络使用粗修复图像作为输入。
69.图4为本发明实施例粗糙/细化修复网络结构示意图;
70.3-1.搭建粗糙修复网络模型和细化修复网络模型。
71.粗糙修复网络和细化修复网络使用相同的结构,以粗糙修复网络为例。网络模型采用自编码器结构,通过编码器(由2个跨步卷积层和若干个卷积层组成)生成特征图,然后使用4层跨步卷积层扩展网络模型感受野,便于该网络模型提取较远区域的图像特征来修补空洞,最后通过解码器(由2个上采样层和若干个卷积层组成)输出结果图。为了获得更好的修复效果,将所有基本卷积层替换为门控卷积层,以便在训练过程中自适应地选择重要特征。
72.3-2.粗糙修复网络用于修复仿射图像i
affine
中因目标编辑产生的空洞。通过源掩码m
source
和仿射变换掩码m
affine
计算空洞掩码m
hole
,通过空洞掩码m
hole
和仿射图像i
affine
计算空洞图像i
hole
,粗糙修复网络的输入数据in
coarse
为输入的仿射图像i
affine
、空洞图像i
hole
和空洞掩码m
hole
在通道维度拼接而成,计算公式如下。
73.m
hole
=m
source
|m
affine-m
affine
#(2)
74.i
hole
=i
affine
×
(1-m
hole
) m
hole
#(3)
75.in
coarse
=(i
hole
;m
hole
)#(4)
76.3-3.使用粗糙修复网络模型生成粗修复图像ic,保留ic中空洞掩码m
hole
区域图像,将背景使用仿射图像i
affine
替换,得到粗糙空洞修复图像i
coarse
,细化修复网络的输入数据in
refine
为粗糙空洞修复图像i
coarse
与空洞掩码m
hole
在通道维度拼接而成,计算公式如下。
77.i
coarse
=i
affine
*(1-m
hole
) ic*m
hole
#(5)
78.in
refine
=(i
coarse
;m
hole
)#(6)
79.3-4.使用细化修复网络模型生成细化修复图像ir,由于粗糙空洞修复图像i
coarse
比空洞图像i
hole
拥有更多的特征信息,细化修复网络模型能进一步修复图像空洞的纹理细节。对于细化修复图像ir同ic一样使用仿射图像i
affine
替换背景,得到结果图像,计算公式如下:
80.i
output
=i
affine
*(1-m
hole
) ir*m
hole
#(7)
81.步骤4,通过步骤1获得的数据集训练并测试掩码转换网络和空洞修复网络。
82.4-1.对于mtn,使用两种损失函数保证网络模型的训练,第一种是带权均方差损失函数,让网络专注于掩码区域的学习;第二种是掩码尺度损失函数,将网络生成的目标掩码区域面积与实际目标区域面积的距离作为损失,来保证网络对掩码位置与尺度的学习。
83.4-2.对于粗糙修复网络模型和细化修复网络模型,使用l1损失函数计算网络模型输出图像中m
hole
区域的损失,不计算图像背景区域的损失。
84.4-3.通过步骤1获得的测试数据集对掩码转换网络和空洞修复网络进行测试。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献