图像修复方法、装置及图像处理设备与流程

文档序号:15274724发布日期:2018-08-28 22:51阅读:211来源:国知局

本申请涉及图像处理技术领域,具体而言,涉及一种图像修复方法、装置及图像处理设备。



背景技术:

在三维图像重建过程中,由于其他物体的遮挡,或是因为扫描一起与被扫描物体之间的角度问题形成遮挡,容易导致扫描得到的图像中存在一定数量的孔洞,从而影响三维图像的纹理完整程度和清晰程度。

现有的三维图像的孔洞修复方法,通过检测三维图像上的孔洞点,对检测出的孔洞点进行三角网格化,然后在孔洞三角形上计算所填补的点的三维做掉,再在这些三角形内计算出新的三维数据点的二维信息。

通过上述方式,一方面无法对三维图像的纹理进行修复,另一方面对于孔洞半径较大的图像,修复效果较差。



技术实现要素:

有鉴于此,本申请的目的包括提供一种图像修复方法、装置及图像处理设备,以改善上述问题中的至少一个。

为了达到上述目的,本申请实施例提供一种图像修复方法,应用于图像处理设备,该图像处理设备预存有用于修复图像的生成式对抗网络模型,该生成式对抗网络模型包括生成网络、第一判别网络和第二判别网络,所述生成网络、第一判别网络和第二判别网络分别通过cnn模型实现;所述方法包括:

将包括孔洞区域的第一图像和与该第一图像对应的孔洞模板输入所述生成网络,对所述第一图像中的孔洞区域进行修复,并输出第二图像;

从所述第二图像中提取出孔洞区域所在范围的局部图像,将该局部图像输入所述第一判别网络,输出第一特征图;

将所述第二图像输入所述第二判别网络,得到第二特征图;

当能够根据所述第一特征图和所述第二特征图判断所述第二图像是否为未经修复的图像时,对所述生成网络的参数进行调整,并重新将所述第一图像和与所述第一图像对应的孔洞模板输入调整后的生成网络。

可选地,根据上述的图像修复方法,该方法还包括:

当无法根据所述第一特征图和所述第二特征图判断所述第二图像是否为未经修复的图像时,将所述第二图像作为最终修复结果并输出。

可选地,根据上述的图像修复方法,所述生成式对抗网络还包括通过cnn模型实现的合并层,该方法还包括:

将所述第一特征图和所述第二特征图输入所述合并层,输出所述第二图像为未经修复的图像的概率;

当所述概率在预设范围内时,确定无法根据所述第一特征图和所述第二特征图判断所述第二图像是否为未经修复的图像;

当所述概率不在所述预设范围时,确定能够根据所述第一特征图和所述第二特征图判断所述第二图像是否为未经修复的图像。

可选地,根据上述的图像修复方法,在所述生成网络中,通过反亚像素卷积的方式对卷积层的输出结果进行下采样。

本申请实施例还提供一种图像修复装置,应用于图像处理设备,该图像处理设备预存有用于修复图像的生成式对抗网络,该生成式对抗网络包括生成网络、第一判别网络和第二判别网络,所述生成网络、第一判别网络和第二判别网络分别通过cnn模型实现;该装置包括:

修复模块,用于将包括孔洞区域的第一图像和与该第一图像对应的孔洞模板输入所述生成网络,对所述第一图像中的孔洞区域进行修复,并输出第二图像;

第一判别模块,用于从所述第二图像中提取出孔洞区域所在范围的局部图像,将该局部图像输入所述第一判别网络,输出第一特征图;

第二判别模块,用于将所述第二图像输入所述第二判别网络,得到第二特征图;

重新修复模块,用于当无法根据所述第一特征图和所述第二特征图判断所述第二图像是否为未经修复的图像时,对所述生成网络的参数进行调整,并重新将所述第一图像和与所述第一图像对应的孔洞模板输入调整后的生成网络。

可选地,根据上述的图像修复装置,该装置还包括:

输出模块,用于当能够根据所述第一特征图和所述第二特征图判断所述第二图像是否为未经修复的图像时,将所述第二图像作为最终修复结果并输出。

可选地,根据上述的图像修复装置,所述生成式对抗网络还包括通过cnn模型实现的级联层,该装置还包括:

合并模块,用于将所述第一特征图和所述第二特征图输入所述级联层,输出所述第二图像为未经修复的图像的概率;

识别模块,用于当所述概率在预设范围内时,确定无法根据所述第一特征图和所述第二特征图判断所述第二图像是否为未经修复的图像,当所述概率不在所述预设范围时,确定能够根据所述第一特征图和所述第二特征图判断所述第二图像是否为未经修复的图像。

可选地,根据上述的图像修复装置,在所述生成网络中,通过反亚像素卷积的方式对卷积层的输出结果进行下采样。

本申请实施例还提供一种图像处理设备,包括处理器及机器可读存储介质,该机器可读存储介质上存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现本申请实施例提供的图像修复方法。

本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,促使所述处理器实现本申请实施例提供的图像修复方法。

相较于现有技术,本申请实施例具有以下有益效果:

本申请实施例提供的一种图像修复方法、装置及图像处理设备,将包括孔洞区域的第一图像和与该第一图像对应的孔洞模板输入生成网络,得到第二图像。从第二图像中提取出孔洞区域所在范围的局部图像,并输入第一判别网络,得到第一特征图;将第二图像输入第二判别网络,得到第二特征图。当能够根据第一特征图和第二特征图判断第二图像是否为未经修复的图像时,调整生成网络的参数,并重新将所述第一图像和与所述第一图像对应的孔洞模板输入调整后的生成网络。如此,可以达到更好的修复效果,确保修复后的图像在局部的一致性以及孔洞区域与周围区域的连续性。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种图像处理设备的方框示意图;

图2为本申请实施例提供的一种图像修复方法的流程示意图;

图3为本申请实施例提供的一种生成网络的网络结构示意图;

图4为本申请实施例提供的一种反亚像素卷积的示意图;

图5为本申请实施例提供的一种第一判别网络的网络结构示意图;

图6为本申请实施例提供的一种第二判别网络的网络结构示意图;

图7为本申请实施例提供的一种图像修复装置的功能模块框图。

图标:100-图像处理设备;110-图像修复装置;111-修复模块;112-第一判别模块;113-第二判别模块;114-重新修复模块;115-输出模块;116-合并模块;117-识别模块;120-生成式对抗网络模型;130-存储器;140-处理器;150-显示单元。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在现有的图像修复方法中,通常是对带有孔洞的三维图像模型进行孔洞点检测,随后对检测到的孔洞区域进行三角网格化,即将这些散乱的点连接起来,形成最优三角形。然后在孔洞三角形上计算所填补的点的三维坐标,再在这些三角形内计算出新的三维数据点的二维信息。

然而,经发明人研究发现,上述方法只能修补三维图像上的孔洞,而不能对三维图像的纹理进行修补,并且当待修复图像中的孔洞半径较大时,通过上述方法进行修复得到的效果并不理想。

基于此,本申请提出一种图像修复方法、装置及图像处理设备,以改善上述问题,下面对本申请提出的内容进行详细阐述。

如图1所示,是本申请实施例提供的一种图像处理设备100的方框示意图,所述图像处理设备100可以是,但不限于,服务器、个人电脑(personalcomputer,pc)或者其他具有图像处理能力的电子设备。所述图像处理设备100包括图像修复装置110、生成式对抗网络(generativeadversarialnetworks,gan)模型120、存储器130及处理器140。

其中,生成式对抗网络模型120用于修复图像,其包括分别通过cnn(convolutionalneuralnetwork,卷积神经网络)模型实现的生成网络和判别网络,其中,判别网络包括第一判别网络和第二判别网络。

所述存储器130及处理器140之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述图像修复装置110包括至少一个可以以软件或固件(firmware)的形式存储于所述存储器130中或固化在所述图像处理设备100的操作系统(operatingsystem,os)中的软件功能模块。处理器140用于执行存储器130中存储的可执行模块,例如所述图像修复装置110中包括的软件功能模块及计算机程序等。

其中,存储器130可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器130用于存储程序,所述处理器140在接收到执行指令后,执行所述程序。

处理器140可以是一种集成电路芯片,具有信号处理能力。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

应当理解,图1所示的结构仅为示意,图像处理设备100可以具有比图1所示更多或更少的组件,例如所述图像处理设备100还可以包括显示单元150,该显示单元150用于显示待显示的图像。此外,图像处理设备100也可以具有与图1所示完全不同的配置。其中,图1所示的各组件可以以软件、硬件或其组合实现。

如图2所示,是应用于图1所示图像处理设备100的一种图像修复方法的流程示意图,以下将对该方法的具体步骤进行详细阐述。

步骤s210,将包括孔洞区域的第一图像和与该第一图像对应的孔洞模板输入所述生成网络,对所述第一图像中的孔洞区域进行修复,并输出第一图像。

其中,第一图像可以是任意带有孔洞的待修复图像,本实施例中将以带有孔洞的人脸图像为例对所述图像修复方法进行详细的阐述。

在获得第一图像时,可以对该第一图像中的孔洞区域进行检测,并根据检测到的孔洞区域生成与该第一图像对应的孔洞模板。然后将所述第一图像和所述孔洞模板输入生成式对抗网络模型120中的生成网络。所述孔洞模板可以为单通道图像,在所述孔洞模板中,孔洞区域的像素值为255,其余区域的像素值为0。

在生成式对抗网络模型120中,生成网络用于根据待修复图像及其对应的孔洞模板对该待修复图像中的孔洞区域进行修复,并输出修复后的图像。在本实施例中,第二图像是经过生成网络修复的第一图像。

在本实施例中,生成网络可以基于cnn模型实现,其网络结构可以如图3所示。其中,带有“_bn_relu”字样的层表示在卷积层操作之后会进行batchnorm(bn)操作和激活操作,其中激活操作使用relu作为激活函数。kh表示卷积核的高,kw表示卷积核的宽,stride表示卷积的步长,pading表示卷积过程中向外扩展的行数;group表示分组卷积的个数,其中,当group=1时,表示没有进行分组。在图3所示的网络结构的7-11层,采用空洞卷积(dilationconvolution)实现,其中,dilation表示空洞卷积的半径,并且当dilation=1时表示没有使用空洞卷积。此外,在卷积层之后通常反亚像素卷积的方式对卷积层的输出结果进行下采样,反亚像素卷积是pixelshuffle(像素洗牌)的逆过程,其可以通过如下过程实现:

将上一层的输出作为反亚像素卷积的输入,针对输入的所有通道进行下采样,并对通道数进行扩充,再将下采样的所有像素填充到输出通道的对应位置上。

下面给出一个实例,以对反亚像素卷积的具体过程做进一步阐述。

如图4所示,假设输入为m通道的w×h的特征图a,下采样倍数为n,则输出为m×n×n通道的(w/n)×(h/n)的特征图b。对于特征图a的每个输入通道,被平均分为(w/n)×(h/n)个n×n大小的格子。针对每个格子,将该格子中的每个像素随机分配到对应输出的n×n通道中该格子对应的坐标上。其中,相同颜色的像素被分配到同一通道中。

例如,针对特征图a中右上角的n×n大小的格子,该格子中包括的9个像素被分配到特征图b中的9个通道中,并且分别位于所述9个通道的右上角。

通过上述的空洞卷积以及反亚像素卷积,扩大了感受范围,从而能够根据孔洞区域周围的纹理等特征来对孔洞区域进行修复,使得最终得到的修复效果更好。

步骤s220,从所述第二图像中提取出孔洞区域所在范围的局部图像,将该局部图像输入所述第一判别网络,输出第一特征图。

步骤s230,将所述第二图像输入所述第二判别网络,得到第二特征图。

在本实施例中,判别网络用于对第二图像进行识别,以判断第二图像是否为未经修复的图像。详细地,在实施时,从第二图像中提取出孔洞区域所在范围的局部图像,并将该局部图像输入第一判别网络,可以输出一个1024维的第一特征图。其中,可以通过如下方式提取所述局部图像:可以根据前述的与第一图像对应的孔洞模板得到第二图像中的孔洞区域所在位置,再定义一个预设大小的矩形,用该矩形覆盖第二图像中的孔洞区域,并截取该矩形所在区域得到所述局部图像。

将第二图像输入第二判别网络,可以输出1024维的第二特征图。通过第一判别网络,可以对第二图像的孔洞区域的特征进行判别;通过第二判别网络,可以对第二图像的整体特征进行判别。

步骤s240,当能够通过所述第一特征图和所述第二特征图判断所述第二图像是否为未经修复的图像时,对所述生成网络的参数进行调整,并重新将所述第一图像和与所述第一图像对应的孔洞模板输入调整后的生成网络。

生成式对抗网络模型120中,生成网络旨在生成无法被判别网络识别的图像,即,当判别网络无法区分生成网络输出的第二图像是否为未经修复的图像时,可以确定生成网络的修复效果达到最佳,并可以将当前的第二图像作为最终输出。当判别网络能够区分生成网络输出的第二图像是否为未经修复的图像时,可以确定生成网络的修复效果不佳,从而对生成网络的参数进行调整。

通过所述第一判别网络和所述第二判别网络,修复得到的图像能够更加接近图像的实际情况,既确保了孔洞区域与原图像的一致性,又确保了修复后的孔洞区域与周围的图像的连续性,即修复后的孔洞区域与周围部分不会严重脱节。

可选地,在本实施例中,所述生成式对抗网络模型120还可以包括级联层,该级联层可以视作判别网络的一部分,即判别网络包括第一判别网络、第二判别网络和该级联层,将第一判别网络的输出和第二判别网络的输出一并输入该级联层,得到的输出即为所述判别网络的输出。可选地,该级联层可以包括合并层和全连接层(fullconnection,fc),其中,在全连接层之后会进行相应的激活操作,具体可以通过sigmoid函数进行所述激活操作。

基于此,在本实施例中,所述图像修复方法还可以包括以下步骤:

将所述第一特征图和所述第二特征图输入所述级联层,输出所述第二图像为未经修复的图像的概率;

当所述概率在预设范围内时,确定无法根据所述第一特征图和所述第二特征图判断所述第二图像是否为未经修复的图像;

当所述概率不在所述预设范围时,确定能够根据所述第一特征图和所述第二特征图判断所述第二图像是否为未经修复的图像。

其中,所述预设范围可以是45%-55%,具体可以根据实际情况灵活设定。在实施时,在得到上述1024维的第一特征图和1024维的第二特征图之后,可以将该第一特征图和第二特征输入所述级联层,从而得到第二图像为未经修复的图像的概率。例如当所述概率为50%时,表示难以识别第二图像是否为未经修复的图像。此时,可以对生成网络的参数进行调整。

可选地,在本实施例中,可以通过输出的所述概率构建相应的损失(loss)函数,并根据该损失函数对生成网络的参数进行调整。

在本实施例中,第一判别网络为局部判别网络,其输入为第二图像的局部特征。第一判别网络通过cnn模型实现,其网络结构可以如图5所示。第二判别网络为全局判别网络,其输入为局部特征(孔洞区域附近的特征)。第二判别网络通过cnn模型实现,其网络结构可以如图6所示。在图5和图6中,带有“_bn_relu”字样的表示在卷积层操作后会进行batchnorm操作,以及通过relu进行激活操作。其中,图5和图6中的kh、kw、pading、stride、dilation、group等参数的含义与图3中类似,在此不再赘述。

以人脸图像为例,在本实施例中,通过cnn模型实现的生成式对抗网络模型120可以通过如下方式训练:

第一,搜集高清人脸图片,其中,所获取的人脸图片中包括不同年龄、性别、人种的图像,可以大于或等于300张。根据搜集的高清人脸图片,得到人脸贴图,具体可以通过如下过程实现:

a.通过基于cnn模型的人脸检测和人脸对齐方法,获得所述高清人脸图片中的人脸点集fp,该人脸点集fp中包括点数fn;

b.根据人脸点集fp计算凸包,进而计算得到最小外接矩形。再由该最小外接矩形向外扩展得到人脸的裁切矩形。详细地,通过扩展得到的人脸的裁切矩形,从原图中裁取抢得到摆正后的人脸图像f,同时将所述人脸点集fp转换到人脸图像f的坐标系中。

c.通过纹理贴图(texturemapping)的方式,将人脸图像f转换为三维人脸图像,从而得到人脸贴图。

其中,纹理贴图又称纹理映射,是计算机图形学和计算可视化领域中的一项重要技术。目前,纹理贴图广泛应用于工业产品的形态设计、3d模拟、3d游戏、虚拟现实场景等的开发中。纹理贴图技术是将(通常是位图形式的)图像映射、叠加到计算机三维物体上的一种技术。通过纹理贴图,可以构造形态各异的物体表面的纹理特征,从而模仿不同材质的物体表面,并且能够实现景物和环境的完全仿真。由于纹理贴图可以在不改变三维模型的几何信息的情况下达到真实感的视觉效果,并且不需要太多的计算开销就能够实现,因此,它是用于表现真实感三维物体的一种常用技术手段。

第二,制作位置、形状各不相同的孔洞模板至少200个,将第一步中得到的人脸贴图和孔洞模板分为测试集和训练集。

第三,在训练前,针对需要输入生成网络的人脸贴图,随机抽取训练集中的一个孔洞模板,基于该孔洞模板对该人脸贴图进行“挖洞”,以将该人脸贴图的孔洞区域的像素用该人脸贴图的平均像素值取代。

第四,对生成网络和判别网络进行联合训练,其中,在前n次迭代中,对生成网络进行训练,对生成的第二图像做损失函数,以对生成网络的参数进行更新。在此过程中,固定判别网络,仅对生成网络进行更新,以使生成网络输出与未经修复的图像尽可能一致的第二图像,以使判别网络能够输出较大的概率值。

在第n+1次迭代中,根据判别网络输出的概率作损失函数,具体可以以bce(binarycrossentropy对数损失函数)为损失函数,以对判别网络进行更新。在此过程中,固定生成网络,仅对判别网络进行更新,以使判别网络在输入为未经修复的图像时尽可能输出1,在输入为未经修复的图像时尽可能输出0。

在进行m次迭代后,即可同时对生成网络和判别网络进行更新,从而形成竞争对抗,直到双方达成动态平衡(纳什均衡),此时,判别网络无法判别出输入的图像是否为未经修复的图像。

如图7所示,是本申请实施例提供的一种图像修复装置110,该装置应用于图1所示的图像处理设备100。

图像修复装置110包括修复模块111、第一判别模块112、第二判别模块113和重新修复模块114111。

其中,修复模块111用于将包括孔洞区域的第一图像和与该第一图像对应的孔洞模板输入所述生成网络,对所述第一图像中的孔洞区域进行修复,并输出第二图像。

可选地,在所述生成网络中,可以通过反亚像素卷积的方式对卷积层的输出结果进行下采样。

在本实施例中,关于修复模块111的描述具体可参考对图2所示步骤s210的详细描述,即步骤s210可以由修复模块111执行。

第一判别模块112用于从所述第二图像中提取出孔洞区域所在范围的局部图像,将该局部图像输入所述第一判别网络,输出第一特征图。

在本实施例中,关于第一判别模块112的描述具体可参考对图2所示步骤s220的详细描述,即步骤s220可以由第一判别模块112执行。

第二判别模块113用于将所述第二图像输入所述第二判别网络,得到第二特征图。

在本实施例中,关于第二判别模块113的描述具体可参考对图2所示步骤s230的详细描述,即步骤s230可以由第二判别模块113执行。

重新修复模块114111用于当无法根据所述第一特征图和所述第二特征图判断所述第二图像是否为未经修复的图像时,对所述生成网络的参数进行调整,并重新将所述第一图像和与所述第一图像对应的孔洞模板输入调整后的生成网络。

在本实施例中,关于重新修复模块114111的描述具体可参考对图2所示步骤s240的详细描述,即步骤s240可以由重新修复模块114111执行。

可选地,在本实施例中,所述图像修复装置110还可以包括输出模块115。

该输出模块115用于当能够根据所述第一特征图和所述第二特征图判断所述第二图像是否为未经修复的图像时,将所述第二图像作为最终修复结果并输出。

可选地,在本实施例中,所述生成式对抗网络模型120还包括通过cnn模型实现的级联层。对应地,图像修复装置110还可以包括合并模块116和识别模块117。

其中,合并模块116用于将所述第一特征图和所述第二特征图输入所述级联层,输出所述第二图像为未经修复的图像的概率。

识别模块117用于当所述概率在预设范围内时,确定无法根据所述第一特征图和所述第二特征图判断所述第二图像是否为未经修复的图像,当所述概率不在所述预设范围时,确定能够根据所述第一特征图和所述第二特征图判断所述第二图像是否为未经修复的图像。

关于上述模块的描述具体可参考对上述内容中相关步骤的详细描述。

本申请实施例还提供一种机器可读存储介质,其上存储有能够被处理器140执行的机器可执行指令,当该机器可执行指令被处理器140调用和执行时,促使该处理器140实现本申请实施例提供的图像修复方法。

综上所述,本申请实施例提供的图像修复方法、装置及图像处理设备,将包括孔洞区域的第一图像和与该第一图像对应的孔洞模板输入生成网络,得到第二图像。从第二图像中提取出孔洞区域所在范围的局部图像,并输入第一判别网络,得到第一特征图;将第二图像输入第二判别网络,得到第二特征图。当能够根据第一特征图和第二特征图判断第二图像是否为未经修复的图像时,调整生成网络的参数,并重新将所述第一图像和与所述第一图像对应的孔洞模板输入调整后的生成网络。如此,可以达到更好的修复效果,确保修复后的图像在局部的一致性以及孔洞区域与周围区域的连续性。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1