本公开涉及图像处理领域,尤其涉及图像补全方法及装置。
背景技术:
随着时代的发展,图像补全所应用的情况越来越多,例如,图像放大后细节丢失的情况,图像部分损毁的情况,但是目前的方案仅仅通过图像搜索、匹配、滤波进行补全,补全效果不佳。
技术实现要素:
本公开实施例提供图像补全方法及装置。所述技术方案如下:
根据本公开实施例的第一方面,提供一种图像补全方法,包括:
根据待修复图像,生成n层高斯金字塔,所述n是正整数;
通过块匹配方法,补全所述n层高斯金字塔中各个层的图像,得到补全后的所述各个层真实图;
根据所述n层高斯金字塔的第n层图像和所述各个层真实图,生成对抗网络的生成网络;
根据所述第n层图像和所述生成网络,补全所述待修复图像,得到补全后的补全图。
本公开的实施例提供的技术方案可以包括以下有益效果:通过待修复图像的高斯金字塔、高斯金字塔各个层真实图和对抗网络,得到生成网络,从而能够快速生成清晰完整并且高分辨率的图像,因此,即可以提高补全后图像的分辨率,又可以加快生成网络的学习,得到更真实的图像。
在一个实施例中,所述根据所述第n层图像和所述生成网络,补全所述待修复图像,得到补全后的补全图包括:
获取第i生成图,所述i是0至所述n之间的整数;
将所述第i生成图和所述第i层真实图输入所述生成网络,得到第i-1生成图;
其中,所述第0生成图是所述补全图;所述第n生成图是从所述第n层图像中,随机上采样得到与所述第n层图像分辨率相同的图像。
本公开的实施例提供的技术方案可以包括以下有益效果:通过循环的方式,增加图像像素、实现生成网络补全图像。
在一个实施例中,所述根据所述n层高斯金字塔的第n层图像和所述各个层真实图,生成对抗网络的生成网络包括:
通过所述第n层图像和所述各个层真实图,训练出满足目标函数要求的对抗网络的判别网络;
通过所述第n层图像、所述各个层真实图和所述判别网络,训练出满足目标函数要求的所述生成网络;
其中,所述目标函数用于衡量补全过程中的损失。
本公开的实施例提供的技术方案可以包括以下有益效果:通过训练判别网络,从而训练出生成网络,从而实现图像补全。
在一个实施例中,所述通过所述第n层图像和所述各个层真实图,训练出满足目标函数要求的对抗网络的判别网络包括:
获取第j更新图和第j层真实图,所述j是1到所述n之间的整数;
将所述第j层真实图和所述第j更新图输入改进判别网络,得到第一判断结果;
当所述第一判断结果表征所述第j更新图和所述第j层真实图是同一图像时,保持所述改进判别网络的参数;
当所述第一判断结果表征所述第j更新图和所述第j层真实图不是同一图像时,通过随机梯度法和所述目标函数更新所述改进判别网络的参数;
将所述第j更新图输入初始生成网络,得到第j-1更新图;
其中,当所述改进判别网络的参数不再更新时,将所述改进判别网络作为所述判别网络,第n更新图是从所述第n层图像中,随机上采样得到与所述第n层图像分辨率相同的图像。
本公开的实施例提供的技术方案可以包括以下有益效果:介绍判别网络的训练过程。
在一个实施例中,所述通过所述第n层图像、所述各个层真实图和所述判别网络,训练出满足目标函数要求的所述生成网络包括:
获取第p改进图和所述第p层真实图,所述p是所述1到所述n之间的整数;
将所述第p层真实图和所述第p改进图输入所述判别网络,得到第二判断结果;
当所述第二判断结果表征所述第p改进图和所述第p层真实图是同一图像时,保持改进生成网络的参数;将所述第p改进图输入所述改进生成网络,得到第p-1改进图;
当所述第二判断结果表征所述第p改进图和所述第p层真实图不是同一图像时,根据随机梯度法和所述目标函数更新所述改进生成网络的参数;将所述第p改进图输入更新后的改进生成网络,得到第p-1改进图;
其中,当所述改进生成网络的参数不再更新时,将所述改进生成网络作为所述生成网络;第n改进图是从所述第n层图像中,随机上采样得到与所述第n层图像分辨率相同的图像。
本公开的实施例提供的技术方案可以包括以下有益效果:当判别网络确定之后,介绍生成网络的训练过程。
在一个实施例中,所述通过所述第n层图像、所述各个层真实图和所述判别网络,训练出满足目标函数要求的所述生成网络包括:
获取第p改进图和所述第p层真实图,所述p是所述1到所述n之间的整数;
将所述第p层真实图和所述第p改进图输入所述判别网络,得到第二判断结果;
当所述第二判断结果表征所述第p改进图和所述第p层真实图是同一图像时,保持改进生成网络的参数;将所述第p改进图输入所述改进生成网络,得到第p-1改进图;
当所述第二判断结果表征所述第p改进图和所述第p层真实图不是同一图像时,根据随机梯度法和所述目标函数更新所述改进生成网络的参数;将所述第p改进图输入更新后的改进生成网络,得到第p-1改进图;
其中,当所述改进生成网络的参数不再更新时,将所述改进生成网络作为所述生成网络;第n改进图是从所述第n层图像中,随机上采样得到与所述第n层图像分辨率相同的图像。
本公开的实施例提供的技术方案可以包括以下有益效果:通过目标函数改进生成网络和判别网络。
在一个实施例中,所述目标函数为:
其中,所述g是生成网络,所述d是判别网络,所述iq是第q真实图像;e[]是期望;所述gq是第q生成图像;所述q是所述n到0的整数,所述a是预设数值。
本公开的实施例提供的技术方案可以包括以下有益效果:介绍能达到训练效果最好的目标函数。
根据本公开实施例的第二方面,提供一种图像补全装置,包括:
第一生成模块,用于根据待修复图像,生成n层高斯金字塔,所述n是正整数;
第一补全模块,用于通过块匹配装置,补全所述n层高斯金字塔中各个层的图像,得到补全后的所述各个层真实图;
第二生成模块,用于根据所述n层高斯金字塔的第n层图像和所述各个层真实图,生成对抗网络的生成网络;
第二补全模块,用于根据所述第n层图像和所述生成网络,补全所述待修复图像,得到补全后的补全图。
在一个实施例中,所述第二补全模块包括:
获取子模块,用于获取第i生成图,所述i是0至所述n之间的整数;
输入子模块,用于将所述第i生成图和所述第i层真实图输入所述生成网络,得到第i-1生成图;
其中,所述第0生成图是所述补全图;所述第n生成图是从所述第n层图像中,随机上采样得到与所述第n层图像分辨率相同的图像。
在一个实施例中,所述第二生成模块包括:
第一训练子模块,用于通过所述第n层图像和所述各个层真实图,训练出满足目标函数要求的对抗网络的判别网络;
第二训练子模块,用于通过所述第n层图像、所述各个层真实图和所述判别网络,训练出满足目标函数要求的所述生成网络;
其中,所述目标函数用于衡量补全过程中的损失。
在一个实施例中,所述第一训练子模块包括:
第一获取单元,用于获取第j更新图和第j层真实图,所述j是1到所述n之间的整数;
第一输入单元,用于将所述第j层真实图和所述第j更新图输入改进判别网络,得到第一判断结果;
第一保持单元,用于当所述第一判断结果表征所述第j更新图和所述第j层真实图是同一图像时,保持所述改进判别网络的参数;
第一更新单元,用于当所述第一判断结果表征所述第j更新图和所述第j层真实图不是同一图像时,通过随机梯度法和所述目标函数更新所述改进判别网络的参数;
第二输入单元,用于输入将所述第j更新图输入初始生成网络,得到第j-1更新图;
其中,当所述改进判别网络的参数不再更新时,将所述改进判别网络作为所述判别网络,第n更新图是从所述第n层图像中,随机上采样得到与所述第n层图像分辨率相同的图像。
在一个实施例中,所述第二训练子模块包括:
第二获取单元,用于获取第p改进图和所述第p层真实图,所述p是所述1到所述n之间的整数;
第三输入单元,用于将所述第p层真实图和所述第p改进图输入所述判别网络,得到第二判断结果;
第二保持单元,用于当所述第二判断结果表征所述第p改进图和所述第p层真实图是同一图像时,保持改进生成网络的参数;
第四输入单元,用于将所述第p改进图输入所述改进生成网络,得到第p-1改进图;
第二更新单元,用于当所述第二判断结果表征所述第p改进图和所述第p层真实图不是同一图像时,根据随机梯度法和所述目标函数更新所述改进生成网络的参数;
所述第四输入单元还用于将所述第p改进图输入更新后的改进生成网络,得到第p-1改进图;
其中,当所述改进生成网络的参数不再更新时,将所述改进生成网络作为所述生成网络;第n改进图是从所述第n层图像中,随机上采样得到与所述第n层图像分辨率相同的图像。
在一个实施例中,所述目标函数为:
其中,所述g是生成网络,所述d是判别网络,所述iq是第q真实图像;e[]是期望;所述gq是第q生成图像;所述q是所述n到0的整数,所述a是预设数值。
根据本公开实施例的第二方面,提供图像补全装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
根据待修复图像,生成n层高斯金字塔,所述n是正整数;
通过块匹配方法,补全所述n层高斯金字塔中各个层的图像,得到补全后的所述各个层真实图;
根据所述n层高斯金字塔的第n层图像和所述各个层真实图,生成对抗网络的生成网络;
根据所述第n层图像和所述生成网络,补全所述待修复图像,得到补全后的补全图。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的图像补全方法的流程图。
图2是根据一示例性实施例示出的图像补全方法的流程图。
图3是根据一示例性实施例示出的图像补全方法的流程图。
图4是根据一示例性实施例示出的图像补全装置的框图。
图5是根据一示例性实施例示出的图像补全装置的框图。
图6是根据一示例性实施例示出的图像补全装置的框图。
图7是根据一示例性实施例示出的图像补全装置的框图。
图8是根据一示例性实施例示出的图像补全装置的框图。
图9是根据一示例性实施例示出的图像补全装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
相关技术中,在图片补全技术中,最常用的方法是块匹配(patchmatch)方法,块匹配法的基本思想是将每一帧图像分割成一系列子块)计算当前帧中每一子块与相邻帧中的各子块的误差函数,把具有最小误差的相邻帧的对应子块作为当前块的预测块,并把两块的相对位移定义为位移矢量。
但是,patchmatch需要有搜索的空间,意味着当需要补的空洞太大,而找不到搜索的区域时,补全的效果不理想;在贴图修补空洞时,考虑空洞所处区域的光照、纹理等特征有别于源块(patch),因此,为了使补全后的图像没有比较突兀的边缘,有更好的显示效果,进行了滤波处理,直接导致补全后的图像存在模糊。
实施例一
图1是根据一示例性实施例示出的一种图像补全方法的流程图,如图1所示,图像补全方法用于图像补全装置中,该装置可以应用于终端、服务器中,该方法包括以下步骤101-104:
在步骤101中,根据待修复图像,生成n层高斯金字塔。
这里,n是正整数。
获取待修复图像对应的掩膜(mask)图像,将需要修复部分标记为0,将不需要修复部分标记为255,构造待修复图像和对应mask图像的高斯金字塔,直到mask中不存在0为止。这里,n是正整数。
在步骤102中,通过块匹配方法,补全n层高斯金字塔中各个层的图像,得到补全后的各个层真实图。
从高斯金字塔的第n层开始处理,随机初始化每个patch的补偿(offset),得到该层的补偿图(offsetmap);将高斯金字塔逐层往下,offsetmap做上采样,空白的地方做随机初始化,通过最近邻搜索为空白的地方找到最匹配的匹配值;当到达高斯金字塔最底层时,得到了所有patch之间的对应位移信息矩阵,通过位移矩阵得到对应位置的信息,然后通过贴图的方式生成要修补位置的信息,从而得到各层真实图。
这里,补全各层真实图的方法不限于块匹配法,目前的匹配方法都可以。
在步骤103中,根据n层高斯金字塔的第n层图像和各个层真实图,生成对抗网络的生成网络。
对抗网络(generativeadversarialnetworks,gans)是一种生成网络,其背后基本思想是从训练苦中获取很多训练样本,学习训练案例生成的概率分布,从而实现方法就是让两个网络模型互相竞争,其中一个叫做生成网络,他不断捕捉训练库真实图片的概率分布,将输入的随机噪声转变为新的样本;另一个叫做判别网络,它可以同时观察真实图像和新样本,判断新样本是否是真的。
在步骤104中,根据第n层图像和生成网络,补全待修复图像,得到补全后的补全图。
本实施例中,通过待修复图像的高斯金字塔、高斯金字塔各个层真实图和对抗网络,得到生成网络,从而能够快速生成清晰完整并且高分辨率的图像,因此,即可以提高补全后图像的分辨率,又可以加快生成网络的学习,得到更真实的图像。
在一个实施例中,步骤103可以包括:
获取第i生成图,所述i是0至所述n之间的整数;
将第i生成图和第i层真实图输入所述生成网络,得到第i-1生成图;
其中,所述第0生成图是所述补全图;所述第n生成图是从所述第n层图像中,随机上采样得到与所述第n层图像分辨率相同的图像。
值得说明的是,各层真实图既可以是提前补全好的,也可以是在上述循环过程中需要哪层,补全哪层得到的。
这里,第n生成图是通过以下方式得到的。本实施例可以通过目标函数来判断第i层真实图和第i生成图是否是同一图像。
从第n层图像中随机选取预设个数(例如100)个像素,将这些像素取代随机噪声作为卷积神经网络的输入向量,然后通过全连接层,将向量转成的特征图,再进入反卷积层,通过每一个反卷积层将特征图像通道数减半,也就是将特征图分辨率上采样,最终得到与第n层图像分辨率相同的第n生成图像。全连接层的缺省值可以是8192;特征图像的像素可以是4*4*512。卷积神经网络是预先设置的。
在一个实施例中,步骤102可以包括:
通过第n层图像和各个层真实图,训练出满足目标函数要求的对抗网络的判别网络;通过第n层图像、各个层真实图和判别网络,训练出满足目标函数要求的所述生成网络;其中,目标函数用于衡量补全过程中的损失。
在一个实施例中,所述通过所述第n层图像和所述各个层真实图,训练出满足目标函数要求的对抗网络的判别网络包括:
获取第j更新图和第j层真实图,所述j是1到所述n之间的整数;将第j层真实图和第j更新图输入改进判别网络,得到第一判断结果;当第一判断结果表征第j更新图和第j层真实图是同一图像时,保持改进判别网络的参数;当第一判断结果表征第j更新图和第j层真实图不是同一图像时,通过随机梯度法和目标函数更新改进判别网络的参数;将第j更新图输入初始生成网络,得到第j-1更新图;
其中,当改进判别网络的参数不再更新时,将改进判别网络作为判别网络,第n更新图是从第n层图像中,随机上采样得到与第n层图像分辨率相同的图像。
这里,第n更新图和第n生成图的获取方法相同,由于随机获取的像素不同,因此,得到的图像也不同。
这里,上述是一个循环过程,如果改进判别网络中的参数已经稳定,不再更新,那么,改进判别网络就作为判别网络。初始化的改进判别网络和初始生成网络都是随机生成的,其参数也是随机生成的,因此,上述过程中的初始生成网络是不变化的。
本实施例中,输入为由第i生成图和第i层真实图组成的图(由于生成图和真实图都是3通道的,因此,组成的图是6通道的),其中判别网络包含y层卷积层,每个卷积层后跟改进线性单元(rectifiedlinearunits,relu)激活层和马克斯汇集(maxpooling)层,最终判别第i生成图与为第i层真实图是否是统一图像。y可以是正整数,这里,y是6。
本实施例中,将第j生成图像输入更新后的改进生成网络,得到第j-1生成图像包括:
将第j生成图像作为生成网络的输入,通过w个卷积层,解析成一个向量,每层卷基层后跟一个relu激活层;随后将该解析后的向量通过w+1层反卷积层,上采样成为3通道分辨率为(2*heighti-1,2*widthi-1)的第j-1生成图像,每层卷积层后跟一个relu激活层;w可以是正整数,这里,w是5。
在一个实施例中,所述通过第n层图像、各个层真实图和判别网络,训练出满足目标函数要求的生成网络包括:
获取第p改进图和第p层真实图,p是所述1到n之间的整数;将第p层真实图和第p改进图输入判别网络,得到第二判断结果;当第二判断结果表征第p改进图和第p层真实图是同一图像时,保持改进生成网络的参数;将第p改进图输入改进生成网络,得到第p-1改进图;当第二判断结果表征第p改进图和第p层真实图不是同一图像时,根据随机梯度法和目标函数更新改进生成网络的参数;将第p改进图输入更新后的改进生成网络,得到第p-1改进图;
其中,当改进生成网络的参数不再更新时,将改进生成网络作为生成网络;第n改进图是从第n层图像中,随机上采样得到与第n层图像分辨率相同的图像。这里,第n更新图和第n改进图的获取方法相同,由于随机获取的像素不同,因此,得到的图像也不同。
在一个实施例中,所述目标函数为:
其中,g是生成网络,d是判别网络,iq是第q真实图像;e[]是期望;gq是第q生成图像;q是n到0的整数,a是整数,可以是10,e等。
本实施例中,上述目标函数由上三个期望组成,第一个期望表示第q真实图像的平均值,第二个期望表示第q生成图像判定为真实图像的期望;第三个期望表示第q生成图像和第q真实图像之间的距离期望。
实施例二
图2是根据一示例性实施例示出的一种图像补全方法的流程图,如图2所示,图像补全方法用于图像补全装置中,该装置可以应用于终端、服务器中,该方法包括以下步骤201-205:
在步骤201中,根据待修复图像,生成n层高斯金字塔。
这里,n是正整数。
在步骤202中,通过块匹配方法,补全n层高斯金字塔中各个层的图像,得到补全后的各个层真实图。
在步骤203中,通过第n层图像和各个层真实图,训练出满足目标函数要求的对抗网络的判别网络。
在步骤204中,通过第n层图像、各个层真实图和判别网络,训练出满足目标函数要求的生成网络。
在步骤205中,根据第n层图像和生成网络,补全待修复图像,得到补全后的补全图。
本实施例提供的对抗网络,可以增加像素,该像素符合真实图像的画面,因此,不仅仅可以补全图像,还可以提高补全图像的分辨率。
实施例三
图3是根据一示例性实施例示出的一种图像补全方法的流程图,如图3所示,图像补全方法用于图像补全装置中,该装置可以应用于终端、服务器中,该方法包括以下步骤301-320:
在步骤301中,根据待修复图像,生成n层高斯金字塔。
在步骤302中,从n层高斯金字塔的第n层图像中,随机上采样得到与第n层图像分辨率相同的第n生成图。
在步骤303中,获取第j生成图。
在步骤304中,采用块匹配方法,补全n层高斯金字塔的第j层图像,得到第j层真实图。
在步骤305中,将第j层真实图和第j生成图输入改进判别网络,得到第一判断结果。
在步骤306中,判断第一判断结果是否表征第j生成图和第j层真实图是同一图像。若是,则执行步骤307;若否,则执行步骤308。
在步骤307中,保持改进判别网络的参数。执行步骤310。
在步骤308中,通过随机梯度法和目标函数更新改进判别网络的参数。
在步骤309中,将第j生成图输入初始生成网络,得到第j-1生成图像,执行步骤303。
在步骤310中,判断改进判别网络是否不再更新。若是,则执行步骤311;若否,则执行步骤309。
在步骤311中,将改进判别网络作为判别网络。
在步骤312中,获取第p改进图。
在步骤313中,将第p层真实图和第p改进图输入判别网络,得到第二判断结果。
在步骤314中,判断第二判断结果是否表征第p改进图和第p层真实图像是同一图像。若是,则执行步骤315;若否,则执行步骤317。
在步骤315中,保持改进生成网络的参数。
在步骤316中,将第p改进图输入改进生成网络,得到第p-1改进图。执行步骤312。
初始的改进生成网络的参数是随机生成的。
在步骤317中,根据随机梯度法和目标函数更新改进生成网络的参数。
在步骤318中,将第p改进图输入更新后的改进生成网络,得到第p-1改进图。执行步骤312。
在步骤319中,判断改进生成网络是否不再更新。若是,则执行步骤320;若否,则执行步骤312。
在步骤320中,将改进生成网络作为生成网络,将第p改进图输入改进生成网络,得到第p-1改进图。执行步骤312。
本实施例中,通过待修复图像的高斯金字塔和对抗网络,得到生成网络,从而能够快速生成清晰完整并且高分辨率的图像,因此,即可以提高补全后图像的分辨率,又可以加快生成网络的学习,得到更真实的图像。
下述为本公开装置实施例,可以用于执行本公开方法实施例。
实施例四
图4是根据一示例性实施例示出的一种图像补全装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图4所示,该图像补全装置包括:
第一生成模块401,用于根据待修复图像,生成n层高斯金字塔,所述n是正整数;
第一补全模块402,用于通过块匹配装置,补全所述n层高斯金字塔中各个层的图像,得到补全后的所述各个层真实图;
第二生成模块403,用于根据所述n层高斯金字塔的第n层图像和所述各个层真实图,生成对抗网络的生成网络;
第二补全模块404,用于根据所述第n层图像和所述生成网络,补全所述待修复图像,得到补全后的补全图。
在一个实施例中,如图5所示,所述第二补全模块404包括:
获取子模块4041,用于获取第i生成图,所述i是0至所述n之间的整数;
输入子模块4042,用于将所述第i生成图和所述第i层真实图输入所述生成网络,得到第i-1生成图;
其中,所述第0生成图是所述补全图;所述第n生成图是从所述第n层图像中,随机上采样得到与所述第n层图像分辨率相同的图像。
在一个实施例中,如图6所示,所述第二生成模块403包括:
第一训练子模块4031,用于通过所述第n层图像和所述各个层真实图,训练出满足目标函数要求的对抗网络的判别网络;
第二训练子模块4032,用于通过所述第n层图像、所述各个层真实图和所述判别网络,训练出满足目标函数要求的所述生成网络;
其中,所述目标函数用于衡量补全过程中的损失。
在一个实施例中,如图7所示,所述第一训练子模块4031包括:
第一获取单元40311,用于获取第j更新图和第j层真实图,所述j是1到所述n之间的整数;
第一输入单元40312,用于将所述第j层真实图和所述第j更新图输入改进判别网络,得到第一判断结果;
第一保持单元40313,用于当所述第一判断结果表征所述第j更新图和所述第j层真实图是同一图像时,保持所述改进判别网络的参数;
第一更新单元40314,用于当所述第一判断结果表征所述第j更新图和所述第j层真实图不是同一图像时,通过随机梯度法和所述目标函数更新所述改进判别网络的参数;
第二输入单元40315,用于输入将所述第j更新图输入初始生成网络,得到第j-1更新图;
其中,当所述改进判别网络的参数不再更新时,将所述改进判别网络作为所述判别网络,第n更新图是从所述第n层图像中,随机上采样得到与所述第n层图像分辨率相同的图像。
在一个实施例中,如图8所示,所述第二训练子模块4032包括:
第二获取单元40321,用于获取第p改进图和所述第p层真实图,所述p是所述1到所述n之间的整数;
第三输入单元40322,用于将所述第p层真实图和所述第p改进图输入所述判别网络,得到第二判断结果;
第二保持单元40323,用于当所述第二判断结果表征所述第p改进图和所述第p层真实图是同一图像时,保持改进生成网络的参数;
第四输入单元40324,用于将所述第p改进图输入所述改进生成网络,得到第p-1改进图;
第二更新单元40325,用于当所述第二判断结果表征所述第p改进图和所述第p层真实图不是同一图像时,根据随机梯度法和所述目标函数更新所述改进生成网络的参数;
所述第四输入单元40324还用于将所述第p改进图输入更新后的改进生成网络,得到第p-1改进图;
其中,当所述改进生成网络的参数不再更新时,将所述改进生成网络作为所述生成网络;第n改进图是从所述第n层图像中,随机上采样得到与所述第n层图像分辨率相同的图像。
在一个实施例中,所述目标函数为:
其中,所述g是生成网络,所述d是判别网络,所述iq是第q真实图像;e[]是期望;所述gq是第q生成图像;所述q是所述n到0的整数,所述a是预设数值。
根据本公开实施例的第四方面,提供一种图像补全装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
根据待修复图像,生成相应的n层高斯金字塔,所述n是正整数;
根据所述n层高斯金字塔,生成对抗网络的生成网络;
根据所述生成网络,补全所述待修复图像,得到高分辨率补全图像。
根据本公开实施例的第三方面,提供一种图像补全装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,处理器被配置为:
根据待修复图像,生成n层高斯金字塔,所述n是正整数;
通过块匹配方法,补全所述n层高斯金字塔中各个层的图像,得到补全后的所述各个层真实图;
根据所述n层高斯金字塔的第n层图像和所述各个层真实图,生成对抗网络的生成网络;
根据所述第n层图像和所述生成网络,补全所述待修复图像,得到补全后的补全图。上述处理器还可被配置为:
所述根据所述第n层图像和所述生成网络,补全所述待修复图像,得到补全后的补全图包括:
获取第i生成图,所述i是0至所述n之间的整数;
将所述第i生成图和所述第i层真实图输入所述生成网络,得到第i-1生成图;
其中,所述第0生成图是所述补全图;所述第n生成图是从所述第n层图像中,随机上采样得到与所述第n层图像分辨率相同的图像。
所述根据所述n层高斯金字塔的第n层图像和所述各个层真实图,生成对抗网络的生成网络包括:
通过所述第n层图像和所述各个层真实图,训练出满足目标函数要求的对抗网络的判别网络;
通过所述第n层图像、所述各个层真实图和所述判别网络,训练出满足目标函数要求的所述生成网络;
其中,所述目标函数用于衡量补全过程中的损失。
所述通过所述第n层图像和所述各个层真实图,训练出满足目标函数要求的对抗网络的判别网络包括:
获取第j更新图和第j层真实图,所述j是1到所述n之间的整数;
将所述第j层真实图和所述第j更新图输入改进判别网络,得到第一判断结果;
当所述第一判断结果表征所述第j更新图和所述第j层真实图是同一图像时,保持所述改进判别网络的参数;
当所述第一判断结果表征所述第j更新图和所述第j层真实图不是同一图像时,通过随机梯度法和所述目标函数更新所述改进判别网络的参数;
将所述第j更新图输入初始生成网络,得到第j-1更新图;
其中,当所述改进判别网络的参数不再更新时,将所述改进判别网络作为所述判别网络,第n更新图是从所述第n层图像中,随机上采样得到与所述第n层图像分辨率相同的图像。
所述通过所述第n层图像、所述各个层真实图和所述判别网络,训练出满足目标函数要求的所述生成网络包括:
获取第p改进图和所述第p层真实图,所述p是所述1到所述n之间的整数;
将所述第p层真实图和所述第p改进图输入所述判别网络,得到第二判断结果;
当所述第二判断结果表征所述第p改进图和所述第p层真实图是同一图像时,保持改进生成网络的参数;将所述第p改进图输入所述改进生成网络,得到第p-1改进图;
当所述第二判断结果表征所述第p改进图和所述第p层真实图不是同一图像时,根据随机梯度法和所述目标函数更新所述改进生成网络的参数;将所述第p改进图输入更新后的改进生成网络,得到第p-1改进图;
其中,当所述改进生成网络的参数不再更新时,将所述改进生成网络作为所述生成网络;第n改进图是从所述第n层图像中,随机上采样得到与所述第n层图像分辨率相同的图像。
所述目标函数为:
其中,所述g是生成网络,所述d是判别网络,所述iq是第q真实图像;e[]是期望;所述gq是第q生成图像;所述q是所述n到0的整数,所述a是预设数值。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图9是根据一示例性实施例示出的一种用于图像补全装置的框图。例如,装置1900可以被提供为一服务器。装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(i/o)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置1900的处理器执行时,使得装置1900能够执行上述图像补全方法,所述方法包括:
根据待修复图像,生成n层高斯金字塔,所述n是正整数;
通过块匹配方法,补全所述n层高斯金字塔中各个层的图像,得到补全后的所述各个层真实图;
根据所述n层高斯金字塔的第n层图像和所述各个层真实图,生成对抗网络的生成网络;
根据所述第n层图像和所述生成网络,补全所述待修复图像,得到补全后的补全图。
所述根据所述第n层图像和所述生成网络,补全所述待修复图像,得到补全后的补全图包括:
获取第i生成图,所述i是0至所述n之间的整数;
将所述第i生成图和所述第i层真实图输入所述生成网络,得到第i-1生成图;
其中,所述第0生成图是所述补全图;所述第n生成图是从所述第n层图像中,随机上采样得到与所述第n层图像分辨率相同的图像。
所述根据所述n层高斯金字塔的第n层图像和所述各个层真实图,生成对抗网络的生成网络包括:
通过所述第n层图像和所述各个层真实图,训练出满足目标函数要求的对抗网络的判别网络;
通过所述第n层图像、所述各个层真实图和所述判别网络,训练出满足目标函数要求的所述生成网络;
其中,所述目标函数用于衡量补全过程中的损失。
所述通过所述第n层图像和所述各个层真实图,训练出满足目标函数要求的对抗网络的判别网络包括:
获取第j更新图和第j层真实图,所述j是1到所述n之间的整数;
将所述第j层真实图和所述第j更新图输入改进判别网络,得到第一判断结果;
当所述第一判断结果表征所述第j更新图和所述第j层真实图是同一图像时,保持所述改进判别网络的参数;
当所述第一判断结果表征所述第j更新图和所述第j层真实图不是同一图像时,通过随机梯度法和所述目标函数更新所述改进判别网络的参数;
将所述第j更新图输入初始生成网络,得到第j-1更新图;
其中,当所述改进判别网络的参数不再更新时,将所述改进判别网络作为所述判别网络,第n更新图是从所述第n层图像中,随机上采样得到与所述第n层图像分辨率相同的图像。
所述通过所述第n层图像、所述各个层真实图和所述判别网络,训练出满足目标函数要求的所述生成网络包括:
获取第p改进图和所述第p层真实图,所述p是所述1到所述n之间的整数;
将所述第p层真实图和所述第p改进图输入所述判别网络,得到第二判断结果;
当所述第二判断结果表征所述第p改进图和所述第p层真实图是同一图像时,保持改进生成网络的参数;将所述第p改进图输入所述改进生成网络,得到第p-1改进图;
当所述第二判断结果表征所述第p改进图和所述第p层真实图不是同一图像时,根据随机梯度法和所述目标函数更新所述改进生成网络的参数;将所述第p改进图输入更新后的改进生成网络,得到第p-1改进图;
其中,当所述改进生成网络的参数不再更新时,将所述改进生成网络作为所述生成网络;第n改进图是从所述第n层图像中,随机上采样得到与所述第n层图像分辨率相同的图像。
所述目标函数为:
其中,所述g是生成网络,所述d是判别网络,所述iq是第q真实图像;e[]是期望;所述gq是第q生成图像;所述q是所述n到0的整数,所述a是预设数值。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。