一种数字图像修复方法、装置、设备及可读存储介质

文档序号:30096282发布日期:2022-05-18 10:58阅读:135来源:国知局
一种数字图像修复方法、装置、设备及可读存储介质

1.本发明属于计算机视觉领域,具体涉及一种数字图像修复方法、装置、设备及可读存储介质。


背景技术:

2.数字图像修复(image inpainting)技术指借助已知图像信息推测并修复缺失部分信息,或修补图像中污损区域的技术手段。数字图像修复技术可以用于清除数字图像中的不理想区域,修复在图像的获取、处理、传输的过程中因信息丢失所留下的信息缺损区域,修复数字化的老照片和胶片中存在的破损和划痕等。数字图像修复技术在数字化文物的虚拟修复领域也有着广泛的应用前景。图像修复的结果要保证结构的完整、纹理清晰,尽可能与原始图像一致,不能存在明显的修复痕迹。
3.深度神经网络因其具有的特征提取和学习能力,能够理解图像更高阶的语义特征,显著提升了数字图像的修复效果。然而,由于传统神经网络的缺点,神经网络在捕获图像全局信息时,需要通过深层网络以及对图像进行下采样以使卷积核获得更大的感受野。这种做法导致了图像细节的丢失,使得神经网络虽然能够得到语义准确的修复结果,但却存在细节模糊的情况。


技术实现要素:

4.针对现有技术中存在的问题,本发明提供了一种数字图像修复方法、装置、设备及可读存储介质,能够对数字图像污损区域的细节信息进行精细修复,提高了神经网络对于数字图像的修复能力。
5.为了解决上述技术问题,本发明通过以下技术方案予以实现:
6.一种数字图像修复方法,包括:
7.构建数字图像修复神经网络,所述数字图像修复神经网络包括结构修复网络和细节优化网络;
8.获取与待修复数字图像类别相同的原始图像数据集,对所述原始图像数据集随机裁剪并批量加入随机掩膜生成污损图像数据集,将所述污损图像数据集作为训练数据集;
9.将所述训练数据集输入所述数字图像修复神经网络,对所述结构修复网络和所述细节优化网络分别进行训练,得到训练完成的结构修复网络和训练完成的细节优化网络;
10.将所述训练完成的结构修复网络和所述训练完成的细节优化网络整合为端到端的网络结构,用所述训练数据集对所述端到端的网络结构进行训练,得到训练完成的数字图像修复神经网络;
11.将所述待修复数字图像输入到所述训练完成的数字图像修复神经网络中,所述训练完成的结构修复网络提取所述待修复数字图像已知区域的语义特征信息,以及预测所述待修复数字图像污损区域的语义信息,完成对所述待修复数字图像污损区域缺失结构的粗修复;所述训练完成的细节优化网络根据上下文流模块构成的特征共享层提供的图像特征
补丁对所述待修复数字图像污损区域的细节进行精细修复,生成所述待修复数字图像的最终修复结果。
12.进一步地,所述结构修复网络和所述细节优化网络均包含生成器结构和判别器结构;
13.所述结构修复网络的生成器结构采用编码器-解码器形式进行设计,所述结构修复网络的编码器和解码器结构的卷积层采用门控卷积为每个空间位置的每个通道学习动态特征选择机制,所述结构修复网络根据待修复图像已知区域的语义特征信息将污损区域进行填充,得到语义信息匹配且结构完整的图像;
14.所述细节优化网络的生成器结构采用编码器-解码器形式进行设计,所述细节优化网络的编码器和解码器结构之间额外设计了由上下文流模块构成的特征共享层来增加卷积核的感受野并共享相邻层之间的特征信息,生成图像特征补丁,辅助所述细节优化网络对所述待修复数字图像污损区域的细节信息进行精细修复;
15.所述结构修复网络和所述细节优化网络的判别器结构均为谱归一化的马尔科夫判别器。
16.进一步地,所述上下文流模块用于将输入的特征矩阵分解为3
×
3的补丁序列,并将所述补丁序列作为初始特征空间{f
x
}和重构补丁{p
x

},特征空间中的补丁x和重构补丁x

的相似度s
x,x

为二者之间的标准化内积,具体如下:
[0017][0018]
所述上下文流模块构成的特征共享层用于将该层分解的补丁序列进行重构,并将重构结果传送给下一个特征共享层,所述下一个特征共享层将上一个特征共享层提供的特征空间与本层提取的特征空间进行连接,并对特征空间进行1
×
1的卷积以降低特征空间的复杂度,所述上下文流模块构成的特征共享层仅在相邻层之间共享特征。
[0019]
进一步地,所述结构修复网络和所述细节优化网络的生成器结构均采用基于bce的像素重建损失函数l
pr
,所述像素重建损失函数l
pr
由污损区域的像素重建损失函数lm和非污损区域的像素重建损失函数l
um
构成,具体如下:
[0020]
lm=||(i
coarse-i
gt
)
⊙im
||1+||(i
refine-i
gt
)
⊙im
||1[0021]
l
um
=||i
coarse

(1-im)||1+||i
refine

(1-im)||1[0022]
式中,i
gt
表示原始图像;im表示标记污损区域的随机掩膜,其中,数值为1的部分表示污损区域;i
coarse
表示结构修复网络的输出;i
refine
表示细节优化网络的输出。
[0023]
进一步地,所述结构修复网络和所述细节优化网络的生成器结构的感知损失函数l
p
由内容重建损失函数l
cr
和风格重建损失函数l
sr
构成,具体如下:
[0024][0025][0026]
式中,μi表示结构修复网络和细节优化网络的生成器结构中各relu激活层的输
出;表示从激活层μj构造的gram矩阵。
[0027]
进一步地,所述结构修复网络和所述细节优化网络的判别器结构的对抗损失函数l
adv
用公式表示为:
[0028][0029]
式中,d(*)表示所述结构修复网络和所述细节优化网络的判别器结构的输出。
[0030]
进一步地,所述数字图像修复神经网络的总损失函数l
total
是污损区域的像素重建损失函数、非污损区域的像素重建损失函数、内容重建损失函数、风格重建损失函数和对抗损失函数的加权和,具体如下:
[0031]
l
total
=λ1lm+λ2l
um
+λ3l
cr
+λ4l
sr
+λ5l
adv
[0032]
其中,λ1、λ2、λ3、λ4、λ5为常数。
[0033]
一种数字图像修复装置,包括:
[0034]
构建模块,用于构建数字图像修复神经网络,所述数字图像修复神经网络包括结构修复网络和细节优化网络;
[0035]
训练数据集合成模块,获取与待修复数字图像类别相同的原始图像数据集,对所述原始图像数据集随机裁剪并批量加入随机掩膜生成污损图像数据集,将所述污损图像数据集作为训练数据集;
[0036]
第一训练模块,用于将所述训练数据集输入所述数字图像修复神经网络,对所述结构修复网络和所述细节优化网络分别进行训练,得到训练完成的结构修复网络和训练完成的细节优化网络;
[0037]
第二训练模块,用于将所述训练完成的结构修复网络和所述训练完成的细节优化网络整合为端到端的网络结构,用所述训练数据集对所述端到端的网络结构进行训练,得到训练完成的数字图像修复神经网络;
[0038]
修复结果输出模块,用于将所述待修复数字图像输入到所述训练完成的数字图像修复神经网络中,所述训练完成的结构修复网络提取所述待修复数字图像已知区域的语义特征信息,以及预测所述待修复数字图像污损区域的语义信息,完成对所述待修复数字图像污损区域缺失结构的粗修复;所述训练完成的细节优化网络根据上下文流模块构成的特征共享层提供的图像特征补丁对所述待修复数字图像污损区域的细节进行精细修复,生成所述待修复数字图像的最终修复结果。
[0039]
一种设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述一种数字图像修复方法的步骤。
[0040]
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现一种数字图像修复方法的步骤。
[0041]
与现有技术相比,本发明至少具有以下有益效果:本发明提供的一种数字图像修复方法,在细节优化网络中引入了一种基于上下文流模块的特征共享层,无需加深神经网络深度,无需对图像进行程度较大的下采样便可获取图像的全局特征信息,避免了因下采样导致的图像细节信息的丢失,使得神经网络能够在整个特征空间中搜索和提取图像高级语义特征,并学习图像各区域之间的相似度,重构图像特征,能够对数字图像污损区域的细
节信息进行精细修复,提高了神经网络对于数字图像细节信息的修复能力。
[0042]
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
[0043]
为了更清楚地说明本发明具体实施方式中的技术方案,下面将对具体实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0044]
图1为本发明所述上下文流模块实施流程图。
具体实施方式
[0045]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0046]
作为本发明的某一具体实施方式,结合图1所示,一种数字图像修复方法,具体包括以下步骤:
[0047]
步骤1、构建数字图像修复神经网络,数字图像修复神经网络包括结构修复网络和细节优化网络。
[0048]
具体地说,结构修复网络和细节优化网络均包含生成器结构和判别器结构。结构修复网络的生成器结构采用编码器-解码器形式进行设计,结构修复网络的编码器和解码器结构的卷积层采用门控卷积为每个空间位置的每个通道学习动态特征选择机制,结构修复网络根据待修复图像已知区域的语义特征信息将污损区域进行填充,得到语义信息匹配且结构完整的图像。细节优化网络的生成器结构采用编码器-解码器形式进行设计,细节优化网络的编码器和解码器结构之间额外设计了由上下文流模块构成的特征共享层来增加卷积核的感受野并共享相邻层之间的特征信息,生成图像特征补丁,辅助细节优化网络对待修复数字图像污损区域的细节信息进行精细修复。结构修复网络和细节优化网络的判别器结构均为谱归一化的马尔科夫判别器。
[0049]
细节优化网络的编码器和解码器之间的上下文流模块构成的特征共享层解决了标准卷积无法在整个特征空间内共享图像语义信息特征的问题,从而使神经网络能够在整个特征空间中进行搜索和学习,对特征矩阵进行重构。上下文流模块用于将输入的特征矩阵分解为3
×
3的补丁序列,并将补丁序列作为初始特征空间{f
x
}和重构补丁{p
x

},特征空间中的补丁x和重构补丁x

的相似度s
x,x

为二者之间的标准化内积,具体如下:
[0050][0051]
上下文流模块构成的特征共享层用于将该层分解的补丁序列进行重构,并将重构结果传送给下一个特征共享层,下一个特征共享层将上一个特征共享层提供的特征空间与
本层提取的特征空间进行连接,并对特征空间进行1
×
1的卷积以降低特征空间的复杂度,上下文流模块构成的特征共享层仅在相邻层之间共享特征。
[0052]
结构修复网络和细节优化网络的生成器结构均采用基于bce的像素重建损失函数l
pr
,由于本发明数字图像修复方法是一种生成式的修复方法,数字图像修复神经网络需要对整张图像的像素进行重构,因此像素重建损失函数l
pr
由污损区域的像素重建损失函数lm和非污损区域的像素重建损失函数l
um
构成,具体如下:
[0053]
lm=||(i
coarse-i
gt
)
⊙im
||1+||(i
refine-i
gt
)
⊙im
||1[0054]
l
um
=||i
coarse

(1-im)||1+||i
refine

(1-im)||1[0055]
式中,i
gt
表示原始图像;im表示标记污损区域的随机掩膜,其中,数值为1的部分表示污损区域;i
coarse
表示结构修复网络的输出;i
refine
表示细节优化网络的输出。
[0056]
结构修复网络和细节优化网络的生成器结构的感知损失函数l
p
由内容重建损失函数l
cr
和风格重建损失函数l
sr
构成,具体如下:
[0057][0058][0059]
式中,μi表示结构修复网络和细节优化网络的生成器结构中各relu激活层的输出;表示从激活层μj构造的gram矩阵。
[0060]
结构修复网络和细节优化网络的判别器结构的对抗损失函数l
adv
用公式表示为:
[0061][0062]
式中,d(*)表示结构修复网络和细节优化网络的判别器结构的输出。
[0063]
数字图像修复神经网络的总损失函数l
total
是污损区域的像素重建损失函数、非污损区域的像素重建损失函数、内容重建损失函数、风格重建损失函数和对抗损失函数的加权和,具体如下:
[0064]
l
total
=λ1lm+λ2l
um
+λ3l
cr
+λ4l
sr
+λ5l
adv
[0065]
在实际计算中,λ1、λ2、λ3、λ4、λ5分别为10、1、0.1、250、0.1。
[0066]
步骤2、获取与待修复数字图像类别相同的原始图像数据集,对原始图像数据集随机裁剪并批量加入随机掩膜生成污损图像数据集,将污损图像数据集作为训练数据集。
[0067]
步骤3、将训练数据集输入数字图像修复神经网络,对结构修复网络和细节优化网络分别进行训练,得到训练完成的结构修复网络和训练完成的细节优化网络。
[0068]
具体地说,在训练过程中,数字图像修复神经网络的训练过程采用adam优化器进行优化,并设置结构修复网络和细节优化网络的生成器结构的学习率为1
×
10-4
,设置判别器结构的学习率为1
×
10-5

[0069]
步骤4、将训练完成的结构修复网络和训练完成的细节优化网络整合为端到端的网络结构,用训练数据集对端到端的网络结构进行训练,得到训练完成的数字图像修复神经网络。
[0070]
步骤5、将待修复数字图像输入到训练完成的数字图像修复神经网络中,训练完成
的结构修复网络提取待修复数字图像已知区域的语义特征信息,以及预测待修复数字图像污损区域的语义信息,完成对待修复数字图像污损区域缺失结构的粗修复;训练完成的细节优化网络根据上下文流模块构成的特征共享层提供的图像特征补丁对待修复数字图像污损区域的细节进行精细修复,生成待修复数字图像的最终修复结果。
[0071]
本发明提供了一种数字图像修复装置,用于实现上述修复方法,具体包括:
[0072]
构建模块,用于构建数字图像修复神经网络,数字图像修复神经网络包括结构修复网络和细节优化网络;
[0073]
训练数据集合成模块,获取与待修复数字图像类别相同的原始图像数据集,对原始图像数据集随机裁剪并批量加入随机掩膜生成污损图像数据集,将污损图像数据集作为训练数据集;
[0074]
第一训练模块,用于将训练数据集输入数字图像修复神经网络,对结构修复网络和细节优化网络分别进行训练,得到训练完成的结构修复网络和训练完成的细节优化网络;
[0075]
第二训练模块,用于将训练完成的结构修复网络和训练完成的细节优化网络整合为端到端的网络结构,用训练数据集对端到端的网络结构进行训练,得到训练完成的数字图像修复神经网络;
[0076]
修复结果输出模块,用于将待修复数字图像输入到训练完成的数字图像修复神经网络中,训练完成的结构修复网络提取待修复数字图像已知区域的语义特征信息,以及预测待修复数字图像污损区域的语义信息,完成对待修复数字图像污损区域缺失结构的粗修复;训练完成的细节优化网络根据上下文流模块构成的特征共享层提供的图像特征补丁对待修复数字图像污损区域的细节进行精细修复,生成待修复数字图像的最终修复结果。
[0077]
本发明在一个实施例中,提供了一种计算机设备,该计算机设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor、dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行一条或一条以上指令从而实现相应方法流程或相应功能;本发明实施例所述的处理器可以用于一种数字图像修复方法的操作。
[0078]
本发明在一个实施例中,一种数字图像修复方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。
[0079]
所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nandflash)、固态硬盘(ssd))等。
[0080]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0081]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0082]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0083]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0084]
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1