本发明涉及基于深度学习的图像修复领域,尤其涉及一种基于多粒度空洞卷积神经网络的图像修复方法。
背景技术:
1、图像修复是一种旨在恢复、修复或改善受损或缺失图像的技术,在数字图像处理、医学影像、安全监控、印刷媒体等领域具有广泛的应用。目前,基于先进的深度学习技术,针对大面积或不规则缺失区域的图像修复得到了极大的提升。pathak等人提出了上下文编码方法,通过像素级重构损失和对抗损失对网络模型进行优化。在此基础上,多种改进方法被提出,例如,由粗糙到精细的两阶段模型。song等人引入额外的辅助信息引导缺失内容的正确修复,例如分割预测,边缘连接和结构重建等信息。与传统方法相比,以上方法更好地处理了具有大面积孔洞的图像修复问题。然而,它们需要训练多个网络,而第一个网络产生的伪影会传播到第二个网络中。
2、针对缺失区域较大的图像修复问题,有效的图像修复方法需要1)能够提取图像中的语义信息,进而生成合理的图像内容;2)保持修复区域边缘的连续性;3)生成清晰有序的纹理信息。然而,已有的图像修复方法对于缺失区域较大的图像,无法根据其深层次的语义信息进行合理的填充,导致修复后的图像较为模糊;进一步地,已有的图像修复方法存在依赖于多个神经网络、训练过程复杂的问题。
技术实现思路
1、本发明针对以上技术问题,提出了一种基于多粒度空洞卷积网络的图像修复方法。本发明的网络架构由三部分组成,分别为编码器(encoder)、多粒度特征提取模块及解码器(decoder)。首先,编码器通过卷积层将输入图像映射到高维度的特征空间;然后,多粒度特征提取模块进一步提取多粒度的图像高级语义特征;最后,解码器由图像特征重建完整的图像。本发明设计了一种多粒度残差(multi-grained residual,mgr)模块,应用于网络架构的中间部分,通过多粒度的分支提取不同尺度的图像特征,并通过自适应融合模块将多粒度图像特征融合为更为高级的特征;本发明设计了一种通道自适应重排(channeladaptive shuffling,cas)模块,应用于网络架构的解码器,通过重新组合不同通道的特征元素来增加特征图的分辨率,将图像特征解码到图像像素空间。本发明的技术架构采用一种基于多粒度空洞卷积的生成网络,训练策略简洁高效,并能够充分提取图像中的多层次信息,能够有效解决上述问题。
2、本发明方法的具体步骤包括:
3、s1.数据预处理:将数据集划分为训练集和测试集,像素值规范化到[-1,1]区间,采用插值方法将图像缩放至统一的空间分辨率。构造待修复图像iin,公式为:
4、
5、其中,igt为训练集中的真实的完整图像,表示逐元素乘积,im为二值化的掩膜图像,im中值为1的区域为已知区域,im中值为0的区域为待修复区域。
6、s2.将训练集中待修复图像iin输入到编码器,编码器将输入图像iin映射到高维度的特征空间,得到特征图fin,编码器由三个卷积模块实现,每个卷积模块由卷积层、批标准化层(batch normalization)及relu激活函数层组成。其中,第一个卷积模块的卷积步长设置为1,第二个卷积模块和第三个卷积模块的卷积步长设置为2,实现对特征图的降采样。
7、s3.将步骤s2输出的特征图fin输入到多粒度残差模块,以提取图像中的多尺度特征图f,执行以下操作:
8、s31.将特征图fin输入到细粒度特征提取分支,得到细粒度特征图ffine:
9、ffine=frn(…fri…(fr2(fr1(fin))))
10、其中,fri表示第i个细粒度空洞卷积模块,其包括空洞卷积层,批标准化层及relu激活函数层;对于该模块中的每个空洞卷积层,将其空洞率设置为互质的较小的数值,从而实现多级别细粒度特征的提取。
11、s32.将特征图fin输入到粗粒度特征提取分支,得到粗粒度特征图fcoarse:
12、fcoarse=fcn(…fci…(fc2(fc1(fin))))
13、其中,fci表示第i个粗粒度空洞卷积模块,其包括空洞卷积层,批标准化层及relu激活函数层;对于该模块中的每个空洞卷积层,将其空洞率设置为互质的较大的数值,大于对应第i个细粒度空洞卷积模块设置的空洞率,从而实现多级别粗粒度特征的提取。
14、s33.将细粒度特征图和粗粒度特征图在通道维度进行级联,输入到1×1的卷积层f1×1(·),得到卷积特征图fc。
15、s34.对卷积特征图fc自适应学习其通道权重,得到权重向量a,具体包括以下子步骤:
16、(1)对卷积特征图fc进行平均池化,得到基于通道的描述d∈rq×1×1,q表示通道数,d中的第i个元素di为对第i个通道ci求平均得到,其计算公式为:
17、
18、其中,h和w表示特征图的高和宽。
19、(2)对通道描述d进行降采样和上采样操作,将不重要的信息过滤掉,其计算公式为:
20、d′=fup(fdown(d))
21、其中,fup为上采样操作,fdown为下采样操作。
22、(3)将d′输入到激活函sigmoid层fsig,得到通道相关的权重向量a:
23、a=fsig(d′)
24、s35.将权重向量a作用于卷积特征图fc,并结合残差跳跃连接得到多粒度残差模块的输出f:
25、
26、其中,表示逐元素乘积。
27、s4.通过级联多个多粒度残差模块构成多粒度特征提取模块,充分提取图像中丰富的多粒度特征,得到的低分辨率特征图flow,每个多粒度残差模块执行步骤s31至步骤s35。
28、s5.将特征图flow输入到解码器,具体地,首先输入到两个顺序连接的通道自适应上采样卷积模块中,将上采样后的特征图输入到一个卷积模块,得到缺失部分填充完整的图像i。
29、所述通道自适应上采样卷积模块,具体包括以下子步骤:
30、s51.将特征图flow输入到卷积层进行特征提取,得到特征图f′low。
31、s52.对特征图f′low进行像素重排(pixel shuffling)得到高分辨率特征图fh,通过该步骤,特征图的空间分辨率放大两倍,通道数目缩小4倍。
32、s53.对特征图fh执行步骤s34,得到通道注意力向量a′,将通道注意力作用于特征图,得到特征图f′h:
33、
34、s54.将特征图f′h输入到批标准化层及leaky relu激活函数层,得到上采样卷积模块所输出的高分辨率特征图fhigh。
35、s6.计算损失,通过图像级损失及特征级损失对本发明的图像修复模型中的参数进行优化,具体步骤包括:
36、s61.图像级损失包括l1重建损失lhole和lvalid、多尺度结构相似度损失lms和全变分损失ltv,具体计算公式为:
37、
38、其中,i为模型生成的图像,igt为训练集中的真实的完整图像,icom是由生成的缺失区域和真实的已有区域组合的图像,im为掩膜图像,其中1表示已有区域,0表示缺失区域,e[·]表示求平均,为逐元素相乘运算符,n为多分辨率图像金字塔层数,wi第i层的权重,和表示第i层图像对,和分别为图像icom中坐标为(x+1,y)、(x,y)和(x,y+1)位置的像素值。
39、s62.特征级损失包括高级别特征重建损失lfeat和风格损失lstyle,其计算公式为:
40、
41、其中,表示在imagenet数据集预训练后的vgg-16网络中前三个池化层的输出,g(·)为特征图的gram矩阵。
42、s63.将不同损失项加权得到总体损失函数:
43、l=λholelhole+λvalidlvalid+λmslms+λtvltv+λfeatlfeat+λstylelstyle
44、其中,λhole、λvalid、λms、λtv、λfeat和λstyle分别为对应损失项的权重。
45、s64.通过损失值计算模型梯度,并更新模型中的参数。
46、本发明有益效果:本发明通过编码器将输入图像映射到高维度的特征空间,在多粒度特征提取模块设计不同粒度特征提取分支,进一步提取多粒度的图像高级语义特征,在解码器中通过自适应像素重排技术实现特征图上采样,并通过特征图重建完整的图像。本发明具有如下效益:1、采用多粒度特征提取模块提取图像的多粒度高级语义特征,增强了模型的特征提取能力,使得修复后的图像特征更加丰富;2、通过自适应像素重排技术提升了填充像素的准确率。