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

一种基于生成对抗网络的图像修复方法与流程

2021-11-25 01:53:00 来源:中国专利 TAG:


1.本发明是涉及图像修复相关领域,具体为一种基于生成对抗网络的图像修复方法。


背景技术:

2.图像修复技术是图像处理领域中的一个热点问题,属于模式识别、计算机视觉等多学科的交叉问题。图像修复是指对局部区域的图像损坏或者丢失按照某种特定的要求进行处理,以恢复图像的完整性。在修复过程中必须遵循相似性、结构性、纹理一致、结构优先等原则。现如今,基于深度学习的修复方法是近几年来提出的一类新兴方法,利用深度神经网络可以通过大量数据的训练学习得到训练样本间的非线性复杂关系的映射,研究人员在此基础上提出了各种各样的图像修复的方法,已广泛用于古画文物保护、医学和电影工业等领域。
3.由于目前的图像修复技术利用预设算法,对待修复图像进行修复,但是修复结果与原图像存在较大差异,经常产生边界伪影和周围区域不一致的模糊纹理、训练缓慢或者不稳定,且待修复图像损坏程度较大,容易模糊,导致修复的结果不理想,给图像的修复工作造成不便。


技术实现要素:

4.本发明是为了解决上述现有技术存在的不足之处,提出一种基于生成对抗网络的图像修复方法,以期通过收集待修复图像的关键特征,对生成模型和判别模型进行训练,能有效提升模型优化的效率,从而能提升图像的修复效果。
5.本发明为达到上述发明目的,采用如下技术方案:
6.本发明一种基于生成对抗网络的图像修复方法的特点在于,包括以下步骤:
7.步骤1、对原始图像进行预处理并得到待修复的图像;
8.步骤1.1、从原始图像集data中抽取m个图像构成图像训练集m={x1,x2,

,x
m
},其中,x
m
表示第m个图像,对第m个图像x
m
选取关键特征区域后,将第m个图像x
m
的非关键特征区域随机切分为固定大小的区域,并作为不同的破损区域;
9.步骤1.2、对每一个破损区域,比对其周围的邻域块的相似程度,找到相似度最高的领域块来填充对应的破损区域,从而得到第m个图像x
m
的待修复图像,进而得到待修复图像数据集z={z1,z2,

,z
m
};
10.步骤2、对待修复图像数据集z进行编码,得到编码图像数据集z

={z
′1,z
′2,

,z

m
},其中,z

m
表示第m个待修复图像的编码图像数据;
11.步骤3、构建由生成网络和判别网络所组成的生成对抗网络;
12.步骤3.1、对stylegan网络的生成网络进行重构并作为生成对抗网络中的生成网络;
13.设置所述生成对抗网络中的生成网络是由映射网络f和合成网络g组成;
14.所述映射网络f是由a个全连接层构成,且每个全连接层包括s个神经元;
15.将编码图像数据集z

={z
′1,z
′2,

,z

m
}进行归一化处理后输入所述映射网络f中进行空间映射,从而输出中间映射向量w={w1,w2,

,w
m
},其中,w
m
表示第m个中间映射向量;
16.所述合成网络是由两个复合网络组成;其中,第一复合网络是由第一adain模块、第一卷积模块和第二adain模块依次串联组成,且每个模块的输出作为下个模块的输入;
17.第二复合网络由第二卷积模块、第三adain模块、第三卷积模块和第四adain模块顺次连接组成,其中,所述第一卷积模块、第二卷积模块和第三卷积模块均是由一个n
×
n的卷积层、批归一化层和leakyrelu激活函数构成,且在每个卷积模块后添加随机噪声;
18.以维度为c
×
c
×
e的常数张量作为第一个复合网络中第一adain模块的一个输入,中间映射向量w={w1,w2,

,w
m
}作为第一个复合网络中第一adain模块的另一个输入,并经过所述第一个复合网络输出维度为c
×
c
×
e的图像集;
19.维度为c
×
c
×
e的图像集输入第二复合网络中的第二卷积模块,得到卷积结果并分别输入第三adain模块和第三卷积模块,然后由第四adain模块输出维度为f
×
f
×
e的修复完成的图像数据集g(z)={g(z1),g(z2),

,g(z
m
)};
20.步骤3.2、构建生成对抗网络中的判别网络;
21.设置所述判别网络由b个卷积模块、d个全连接层和sigmoid激活函数依次串联组成,且每个卷积模块中均包括一个卷积核大小为n
×
n的卷积层和leakyrelu激活函数,除第一个卷积模块外,其余b

1卷积模块分别连接一个批归一化层;
22.所述修复完成的图像数据集g(z)={g(z1),g(z2),

,g(z
m
)}和图像训练集m={x1,x2,

,x
m
}输入所述判别网络中进行处理,并最后由所述sigmoid激活函数输出判别真假值,并将这些值反馈到生成网络加快网络训练,训练结束后得到经过判别网络的修复结果d(g(z))={d(g(z1)),d(g(z2)),

,d(g(z
m
))},其中,d(g(z
m
))表示经过判别网络的第m个待修复图像z
m
的修复结果;
23.步骤4、建立如式(1)所示的对抗目标函数l
d

[0024][0025]
式(1)中,e表示期望,d(x
m
)表示第m个原始图像x
m
输入判别网络后输出的修复结果,表示从图像训练集m的分布中取出任意一张图像x;表示从待修复数据集z的分布中取出任意一张待修复图像;
[0026]
步骤5、建立如式(2)所示的生成目标函数l
g

[0027][0028]
式(2)中,l
c
表示内容损失,并由式(3)得到,λ是正则参数;
[0029]
l
c
=||d(g(z
m
))

x
m
||2ꢀꢀꢀ
(3)
[0030]
步骤6、基于所述对抗目标函数l
d
和生成目标函数l
g
,利用编码图像数据集z

={z
′1,z
′2,

,z

m
}对所述生成对抗网络进行训练,直到判别网络的输出值全为真为止,从而得到训练后的图像修复模型,用于对破损图像进行修复。
[0031]
本发明所述的基于生成对抗网络的图像修复方法的特点是,除第一adain模块之
外的其余adain模块的输入均是中间映射向量w={w1,w2,

,w
m
}和上一模块的输出构成,任一adain模块是利用式(4)得到相应的输出结果adain(x
m
):
[0032][0033]
式(4)中,y
s,m
表示第m个图像x
m
的缩放因子,y
b,m
表示第m个图像x
m
的偏差因子,μ(x
m
)是第m个图像x
m
的均值,σ(x
m
)是第m个图像x
m
的方差,若为第一adain模块,则x
m
为常数张量。
[0034]
与现有技术相比,本发明的有益效果在于:
[0035]
1、本发明通过收集待修复图像的关键特征,利用相似块填充进行图像预处理形成训练集,能够更好的保留原始图像的细节和图像语义,有利于模型的训练;
[0036]
2、本发明通过生成模型得到的修复图像作为判别模型的输入,将判别模型的输出作为生成模型的输入,使得对抗网络模型中的生成模型和判别模型不断进行优化,从而可以获得基于对抗网络模型的优化后的图像修复模型,用于对图像进行修复,有效提升了模型优化的效率,从而提升了图像的修复效果。
附图说明
[0037]
图1是本发明的图像修复方法的流程图;
[0038]
图2是本发明生成对抗网络模型示意图;
[0039]
图3是本发明对抗网络的生成网络示意图。
具体实施方式
[0040]
本实施例中,如图1所示,一种基于生成对抗网络的图像修复方法,包括以下步骤:
[0041]
步骤1、对原始图像进行预处理并得到待修复的图像;
[0042]
步骤1.1、从原始图像集data中抽取6000张图像构成图像训练集m={x1,x2,

,x
m
},其中,x
m
表示第m个图像,对第m个图像x
m
选取关键特征区域,尽可能保留图像的细节点,将第m个图像x
m
的非关键特征区域随机切分为固定大小的区域,并作为不同的破损区域;
[0043]
步骤1.2、对每一个破损区域,比对其周围的邻域块的相似程度,找到相似度最高的领域块来填充对应的破损区域,利用周围相似块使得破损区域的结构和纹理与关键特征区域相似,降低损失,从而得到第m个图像x
m
的待修复图像,进而得到待修复图像数据集z={z1,z2,

,z
m
};
[0044]
步骤2、对待修复图像数据集z进行编码,得到编码图像数据集z

={z
′1,z
′2,

,z

m
},其中,z

m
表示第m个待修复图像的编码图像数据;
[0045]
步骤3、如图2所示,构建由生成网络和判别网络所组成的生成对抗网络;
[0046]
步骤3.1、对stylegan网络的生成网络进行重构并作为生成对抗网络中的生成网络;
[0047]
如图3所示,设置生成对抗网络中的生成网络是由映射网络f和合成网络g组成,映射网络f控制生成图像的风格,生成网络g类似传统的生成器用来生成图像;
[0048]
映射网络f是由8个全连接层构成,且每个全连接层包括128个神经元;
[0049]
将编码图像数据集z

={z
′1,z
′2,

,z

m
}进行归一化处理后输入映射网络f中进
行空间映射,从而输出中间映射向量w={w1,w2,

,w
m
},其中,w
m
表示第m个中间映射向量;
[0050]
合成网络g是由两个复合网络组成;其中,第一复合网络是由第一adain模块、第一卷积模块和第二adain模块依次串联组成,且每个模块的输出作为下个模块的输入;
[0051]
第二复合网络由第二卷积模块、第三adain模块、第三卷积模块和第四adain模块顺次连接组成,其中,第一卷积模块、第二卷积模块和第三卷积模块均是由一个3
×
3的卷积层、批归一化层和leakyrelu激活函数构成,且在每个卷积模块后添加随机噪声;
[0052]
adain模块中,除第一adain模块之外的其余adain模块的输入均是中间映射向量w={w1,w2,

,w
m
}和上一模块的输出构成,任一adain模块是利用式(1)得到相应的输出结果adain(x
m
):
[0053][0054]
式(1)中,y
s,m
表示第m个图像x
m
的缩放因子,y
b,m
表示第m个图像x
m
的偏差因子,μ(x
m
)是第m个图像x
m
的均值,σ(x
m
)是第m个图像x
m
的方差,若为第一adain模块,则x
m
为常数张量。
[0055]
以维度为64
×
64
×
128的常数张量作为第一个复合网络中第一adain模块的一个输入,中间映射向量w={w1,w2,

,w
m
}作为第一个复合网络中第一adain模块的另一个输入,并经过第一个复合网络输出维度为64
×
64
×
128的图像集;
[0056]
维度为64
×
64
×
128的图像集输入第二复合网络的第二卷积模块,得到卷积结果并分别输入第三adain模块和第三卷积模块,然后由第四adain模块输出维度为128
×
128
×
128的修复完成的图像数据集g(z)={g(z1),g(z2),

,g(z
m
)};
[0057]
步骤3.2、构建生成对抗网络中的判别网络;
[0058]
设置判别网络由4个卷积模块、1个全连接层和sigmoid激活函数依次串联组成,且每个卷积模块中均包括一个卷积核大小为3
×
3的卷积层和leakyrelu激活函数,除第一个卷积模块外,其余3卷积模块分别连接一个批归一化层;
[0059]
修复完成的图像数据集g(z)={g(z1),g(z2),

,g(z
m
)}和图像训练集m={x1,x2,

,x
m
}输入判别网络中进行处理,并最后由sigmoid激活函数输出判别真假值,并将这些值反馈到生成网络加快网络训练,训练结束后得到经过判别网络的修复结果d(g(z))={d(g(z1)),d(g(z2)),

,d(g(z
m
))},其中,d(g(z
m
))表示经过判别网络的第m个待修复图像z
m
的修复结果;
[0060]
步骤4、建立如式(2)所示的对抗目标函数l
d

[0061][0062]
式(2)中,e表示期望,d(x
m
)表示第m个原始图像x
m
输入判别网络后输出的修复结果,表示从图像训练集m的分布中取出任意一张图像x;表示从待修复数据集z的分布中取出任意一张待修复图像;
[0063]
步骤5、建立如式(3)所示的生成目标函数l
g

[0064][0065]
式(3)中,l
c
表示内容损失,并由式(4)得到,λ是正则参数;
[0066]
l
c
=||d(g(z
m
))

x
m
||2ꢀꢀꢀ
(4)
[0067]
步骤6、基于对抗目标函数l
d
和生成目标函数l
g
,利用编码图像数据集z

={z
′1,z
′2,

,z

m
}对生成对抗网络进行训练,直到判别网络的输出值全为真为止,从而得到训练后的图像修复模型,用于对破损图像进行修复。
[0068]
对修复后的图像数据与数据库的图像数据进行对比,然后将图像数据进场存储,方便查询。
[0069]
对比的实验效果或者技术效果:
[0070]
为验证有效性,本发明对测试数据集使用psnr(peak signal to noise ratio)峰值信噪比和ssim(structural similarity)结构相似性进行测评修复结果。psnr峰值信噪比是测量像素值的差异,数值越大代表失真越小。ssim结构相似性表示修复结果和原图像的相似性,是0到1之间的数值,数值越大代表差距越小。具体定量对比结果如表1所示:
[0071]
表1
[0072][0073]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型;本发明的范围由所附权利要求及其等同物限定。
再多了解一些

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

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

相关文献