一种基于多频子带概率推理模型的图像修复方法
技术领域
:本发明涉及计算机图像处理领域,具体涉及一种基于多频子带概率推理模型的图像修复方法。
背景技术
:图像修复是多媒体应用和计算机视觉中的一项基本任务,其目标是为缺失的区域生成替代的全局语义结构和局部细节纹理,并最终产生视觉逼真的结果。它在图像编辑、复原和合成等多媒体领域得到了广泛的应用。传统的基于图像块的图像修复方法是从已知区域搜索并复制最匹配的图像块到缺失的区域。这种传统的图像修复方法对静态纹理的处理效果较好,但对人脸等复杂或非重复结构的纹理处理效果有限,不适用于高层语义信息的捕获。
近年来,基于学习的方法将图像修复建模为条件生成问题,Pathak等人首先利用对抗损失函数训练深度神经网络来预测缺失区域,这有利于捕获大面积缺失区域的边缘和全局结构。Ishikawa等人通过结合全局和局部的对抗损失函数来改进它,以产生更精细的纹理。通过卷积神经网络,进行深层特征的提取和传递,更好的弥补了传统图像修复算法的不足,这些方法取得了视觉上真实且合理的修复结果。然而,由于这些方法平等地对待和处理输入图像的结构和纹理信息,因此常常会出现边界过光滑或纹理现象。
为了解决这一问题,Liu等人提出了两段式网络,在第一阶段中恢复缺失区域的粗略结构,并在第二阶段利用第一阶段的重构信息生成最终结果。然而,第二阶段网络很大程度上依赖于第一阶段网络重构结构的正确性,两段式训练也带来了额外的计算负担。同时,输入图像中低频特征和高频特征的数据分布表现完全不同。如果不区分地计算不同频率的特征分布,可能会误导结构的重建或纹理的生成。
综上,现有的图像修复算法往往不能同时重建合理的结构和精细的纹理,具有局限性。
发明内容
为了解决现有图像修复方法不能同时重建合理结构和精细纹理的问题,本发明提供一种质量高的图像修复方法,该方法的生成的图像结构更清晰,纹理更精细,修复后的图像更真实无明显边界。
本发明的基于多频子带概率推理模型的图像修复方法,提出了一种基于多频概率推理模型的双路径并行网络——推理网络和生成网络。我们的方法首先在小波域中将输入图像分解为低频子带和高频子带,这有利于在不受干扰的情况下更准确地提取不同频率的特征分布。然后,将从推理网络估计的真实图像的低频特征和高频特征进行编码,得到真实图像的多频特征的潜变量分布,同样我们也可以利用小波变换分别得到低高频子带并进行编码,得到受损图像的多频特征的潜变量分布,利用概率推理模型对受损图像的潜变量进行估计,使缺失图像的潜变量分布更接近于真实图像的潜变量分布,潜变量生成相应的多频信息,填补缺失的区域,生成最终的视觉逼真的结果。
以下分为训练阶段和实测阶段两个阶段来阐述我们的发明:
1.一种基于多频子带概率推理模型的图像修复方法,其特征在于:分为训练阶段和实测阶段两个阶段;
训练阶段采用推理网络和生成网络并行结构,生成网络用于在推理网络的辅助下,进行图像修复任务:
训练过程中推理网络用来估计真实图像的潜变量分布,推理网络的具体操作如下:
步骤一:针对真实图像Igt,采用离散小波变换将真实图像迭代地分解为4个子带图像其中低频子带为:高频子带为:
步骤二:将步骤一得到的真实图像的高频子带和低频子带分别输入到不同的编码器中,得到高频子带和低频子带的潜变量和
步骤三:将步骤二中得到的高低频潜变量拼接到一起输入到解码器中,得到重建后的图像;
步骤四:将真实图像和步骤三中得到的重建后的图像输入到判别器网络Dinfer中,通过损失函数迭代地调整生成器Ginfer参数,直至损失函数收敛,生成器Ginfer参数达到最优值停止训练;
推理网络损失函数具体如下:
首先,构建重建损失函数,该损失被定义为预测结果Iinfer和真实图像之间的L1距离,具体如下:
其中,
Iinfer表示推理网络中生成的图像,Igt表示真实图像,分别是真实图像的高、低频子带,Ginfer表示推理网络中的生成器;
然后,构建推理网络中的对抗损失函数,该损失用于使判别器网络中真实图像的特征和重建后的图像特征更加接近,具体如下:
其中,Dinfer表示推理网络中的判别器;
接下来,利用多频子带概率推理模型得到推理网路的KL散度具体如下:利用推理网络中的变分下界得到KL,具体如下:
式中xL和xH表示生成模型,log p(xL)表示生成模型中低频子带的分布,log p(xH)表示生成模型中高频子带的分布,其中,令控制生成模型生成的潜变量分布是一个标准正态分布:以适应缺失区域像素个数n,zL和zH表示生成模型的潜变量分布, 是后验重要取样函数,它表示由真实图像的高低频子带经过编码后得到的对应高低频潜变量的分布,表示真实图像的低频子带通过编码器之后得到的潜变量控制生成图像低频子带分布的期望,;表示真实图像的高频子带通过编码器之后得到的潜变量控制生成图像高频子带分布的期望。
基于(4)和(5)式,根据缺失部分图像中像素n的数量来调整先验,定义为高斯函数,得到推理网路的KL散度用于最小化真实图像和生成模型这两个分布之间的差距,具体如下:
最后,得到推理网络的完整损失函数,具体如下:
其中,表示权重系数;
训练过程中生成网络的具体操作如下所示:
步骤一:针对受损图像Im,采用离散小波变换将受损图像迭代地分解为4个子带图像其中低频子带为:高频子带为:
步骤二:将步骤一得到的受损图像的多频子带表示输入到U-net的编码器中,分别得到高频子带和低频子带的潜变量和
步骤三:将步骤二中得到的高、低频子带的潜变量和输入到U-net的解码器中,得到生成图像的多频子带表示,将多频子带表示经过逆小波变换得到修复完成的图像;
步骤四:将真实图像和步骤三得到的修复完成的图像输入到判别器网络Dgen中,通过损失函数迭代地调整生成器Ggen参数,直至损失函数收敛,生成器Ggen参数达到最优化,停止训练;
训练过程中生成网络的损失函数如下所示:
首先,构建生成网络的重建损失具体使用归一化的L1距离作为重建损失函数来约束生成结果的轮廓结构,重建损失定义如下:
其中,
Iout表示生成网络的修复结果,IDWT[·]表示逆离散小波变换,表示损失图像的多频表示,Ggen表示生成网络的生成器;
然后,构建抗性损失函数用于使判别器中真实图像的特征和重构图像的特征更接近,对抗性损失定义如下:
其中Dgen表示生成网络中的判别器;
然后,利用多频子带概率推理模型构建生成网络中的KL散度具体如下:
利用生成网络中的变分下界,得到生成网络的KL,变分下界如下:
其中pθ(·|·)是似然函数,qψ(·|·)是后验重要取样函数,pφ(·|·)是条件先验,表示由受损图像的高低频子带经过编码后得到的对应高低频潜变量的分布,表示由真实图像低频子带的潜变量和缺失图像的低频子带控制生成图像低频子带分布的期望,表示由真实图像高频子带的潜变量和缺失图像的高频子带控制生成图像高频子带分布的期望,和指的是在给定条件下的生成模型对应的高低频子带分布,θ、ψ、φ是对应函数的深度网络参数;
基于(13)和(14),利用KL散度正则化高低频子带潜变量分布对之间的一致性,得到生成网络的KL散度如下:
然后,构建纹理损失函数用于保持生成图像和真实图像的内容和风格一致性,纹理损失的定义如下:
其中,Φ表示利用ImageNet预先训练的VGG-16网络提取的高层特征空间,Gram表示格拉姆矩阵运算;
最后,构建生成网络的总体损失函数为:
其中,表示权重系数;
实测阶段中使用生成网络来得到修复完成的图像,实测阶段的步骤如下所示:
步骤一:针对受损图像Im,采用离散小波变换将受损图像迭代地分解为4个子带图像其中低频子带为:高频子带为:
步骤二:将步骤一得到的受损图像的多频子带表示输入到U-net的编码器中,分别得到高频子带和低频子带的潜变量和
步骤三:将步骤二中得到的高、低频子带的潜变量和输入到U-net的解码器中,得到生成图像的多频子带表示,将多频子带表示经过逆小波变换得到修复完成的图像,此时得到的图像真实感强、纹理细节清晰。
有益效果
与现有的技术相比,本发明通过多频子带概率推理模型,我们分别从预测低频语义结构内容和高频细节纹理的角度研究了图像修复问题。通过估计缺失区域的多频特征分布,得到缺失区域的多频信息。其有益的效果是:我们的模型不仅可以合成清晰的图像结构,而且还可以在缺失区域生成精细的纹理,明显优于最先进的方法。
附图说明
:图1基于多频子带概率推理模型的图像修复技术框架图;
图2在人脸数据集上的修复结果示例图;
图3与不同算法在中心区域修复的视觉结果比较;
图4与不同算法在随机区域修复的视觉结果比较;
具体实施方式
在图1基于多频子带概率推理模型的图像修复技术框架图中,将图像修复工作分为两条并行的网络路径进行——生成网络和推理网络。在生成网络中输入受损图像,将受损图像经过离散小波变换分解为多频子带,再将多频子带经过编码器之后生成受损图像相应的高低频的潜变量。在推理网络中输入真实图像,经过推理网络中的编码器中产生相应的高低频的潜变量,采用真实图像的潜变量来规则受损图像的潜变量,使得受损图像修复后的结果更接近于真实图像。
以下按照训练和预测两阶段进行详细说明。
训练过程中推理网络用来估计真实图像的潜变量分布,推理网络的具体操作如下:
步骤一:针对真实图像Igt,采用离散小波变换将真实图像迭代地分解为4个子带图像其中低频子带为:高频子带为:
步骤二:将步骤一得到的真实图像的多频子带输入到编码器中,分别得到高频子带和低频子带的潜变量和特别地,我们分别使用不同的编码器来推断不同频率特征的分布,这样更好地集中在多频带中提取不同级别的信息。低频管道以低频子带为输入,预测上下文语义信息。结构上采用普通的卷积块和残差块,会对低频信息敏感,比如颜色和低频结构。相反,高频管道根据高频子带绘制高频细节,结构上,使用残差块进行高频域的边缘和纹理特征的捕获和传输。
步骤三:将步骤二中得到的高低频潜变量拼接到一起输入到解码器中,得到重建后的图像。解码器采用残差块和卷积块相结合的结构进行特征恢复。
步骤四:将真实图像和步骤三中得到的重建后的图像输入到判别器网络中,通过损失函数迭代地调整生成器参数,直至损失函数收敛,生成器参数达到最优值停止训练。判别器采用普通的卷积块结构进行图像的判别。
损失函数如下所示:
推理网络生成图像的过程Ginfer的训练过程可以写成:
其中,Iinfer表示推理网络中生成的图像,分别是真实图像的高低频子带。首先,重建损失函数被定义为预测结果Iinfer和真实图像之间的L1距离:
同时,推理网络的生成结果要求最小化平均特征到真实数据的L2距离,用来使判别器网络中真实图像的特征和重建后的图像特征更加接近,推理网络中的对抗损失函数定义为:
其中,Dinfer表示推理网络中的判别器。
多频子带概率推理模型在推理网络中的使用:
在变分自编码器(VAE)中,我们认为图像的生成是由潜变量控制的,因此我们希望能够通过对图像进行训练得到一类图像的潜变量分布。我们假定潜变量是符合正态分布的,因此在推理网络中我们使用概率推理模型希望能尽可能使得图像的潜变量分布接近于标准正态分布。
推理网络中多频子带概率模型的推导如下所示:
假设低频子带和高频子带相互独立,根据变分自编码器(VAE),在推理网络中的变分下界为:
式中xL和xH表示我们想要得到的生成模型,即潜变量控制能生成的所有图像,我们把它叫做生成模型,log p(xL)表示我们想要得到的生成模型中低频子带的分布,log p(xH)表示我们想要得到的生成模型中的高频子带的分布,我们假定控制生成模型生成的潜变量分布是一个标准正态分布: 以适应缺失区域像素个数n,zL和zH表示我们希望得到的生成模型的潜变量分布。使用KL散度来最小化真实图像和生成模型这两个分布之间的差距。
基于(4)和(5)式,我们可以根据缺失部分图像中像素n的数量来调整先验,定义为高斯函数,我们得到推理网路的KL散度
使用以下损失函数对推理网络进行联合训练:
其中,λ表示权重系数。
训练过程中生成网络的具体操作如下所示:
步骤一:针对受损图像Im,采用离散小波变换将受损图像迭代地分解为4个子带图像其中低频子带为:高频子带为:
步骤二:将步骤一得到的受损图像的多频子带表示输入到U-net的编码器中,分别得到高频子带和低频子带的潜变量和
步骤三:将步骤二中得到的高、低频子带的潜变量和输入到U-net的解码器中,得到生成图像的多频子带表示,将多频子带表示经过逆小波变换得到修复完成的图像。
步骤四:将真实图像和步骤三得到的修复完成的图像输入到判别器网络中,通过损失函数迭代地调整生成器参数,直至损失函数收敛,生成器参数达到最优化,停止训练。生成网络中的判别器采用最小二乘生成对抗网络(LSGAN)中的判别器结构。
训练过程中生成网络的损失函数如下所示:
在推理网络的约束下,利用生成网络来进行图像修复任务。生成网络的生成器Ggen的训练过程可以写成:
其中Iout表示生成网络的修复结果,IDWT[·]表示逆离散小波变换,表示损失图像的多频表示。
首先,本模型使用归一化的L1距离作为重建损失函数来约束生成结果的轮廓结构。重建损失定义如下:
为了使鉴别器中真实图像的特征和重构图像的的特征更接近,我们使用了对抗性约束,对抗性损失定义如下:
多频子带概率推理模型在生成网络中的使用:
在生成网络中我们使用概率推理模型希望受损图像尽可能修复的与真实图像一致,由于潜变量控制图像的生成,所以我们需要做的是使得受损图像的潜变量分布尽可能接近真实图像的潜变量分布,因此我们利用最小化推理网络中的得到潜变量和生成网络中得到的潜变量之间的KL离散度来使得受损图像的潜变量分布更接近于真实图像的潜变量分布,最终达到修复受损图像的目标。
生成网络中的多频子带概率推理模型的推导如下所示:
在生成网络中将受损图像的高低频子带作为条件,根据条件变分自编码器(CVAE),生成网络中的变分下界为:
其中pθ(·|·)是似然函数,qψ(·|·)是后验重要取样函数,pφ(·|·)是条件先验,θ、ψ、φ是对应函数的深度网络参数,在使所观察训练实例的总对数似然值最大化的同时,所有训练数据的变分下界之和随网络参数的变化联合最大化,即此时受损图像和真实图像之间的潜变量分布的KL离散达到最小。
首先,同一频率的潜在特征空间是密切相关的,高低频子带的潜变量是相互独立的,我们假设比起受损图像,生成模型的潜变量的分布更接近于真实图像,所以我们可以采取: 更新(11)式和(12)式:
基于(13)和(14),利用KL散度正则化高低频子带潜变量分布对之间的一致性,我们得到生成网络的KL散度如下:
最后,为了保持生成图像和真实图像的内容和风格一致性,我们利用ImageNet预先训练的VGG-16网络来提取高层特征空间,纹理损失的定义如下:
其中,Φ表示提取的特征表示,Gram表示格拉姆矩阵运算。
考虑到重建损失、对抗损失、KL散度和纹理损失,定义生成网络的总体损失函数为:
其中,λ表示权重系数。
实测阶段中我们只使用生成网络来得到修复完成的图像,实测阶段的步骤如下所示:
步骤一:针对受损图像Im,采用离散小波变换将受损图像迭代地分解为4个子带图像其中低频子带为:高频子带为:
步骤二:将步骤一得到的受损图像的多频子带表示输入到U-net的编码器中,分别得到高频子带和低频子带的潜变量和
步骤三:将步骤二中得到的高、低频子带的潜变量和输入到U-net的解码器中,得到生成图像的多频子带表示,将多频子带表示经过逆小波变换得到修复完成的图像,此时得到的图像真实感强、纹理细节清晰。
图像质量评价:
图3是本发明与CE、CA、PICNet、Shift-Net在中心区域的修复图像上的视觉结果比较图,从表1和图3中可以得出:Context Encoder(CE)产生了扭曲的结构和模糊的结果,特别是在高度结构化的图像。Contextual Attention(CA)是一种有效的语义修复方法,但修复结果表现为结构混乱、色彩扭曲。PICNet旨在产生多种多样的可信的图像,但有时也会产生重复的和结构扭曲的图像。Shift-Net获得了较高的峰值信噪比(PSNR),修复结果主观上更好,但是其主观图中的轮廓边缘较为模糊,存在某些程度上的纹理细节缺失。可以看到,这些结果受到失真的影响,这意味着这些方法可能会努力平衡纹理和结构的生成。与这些方法相比,主观上,本模型能更好地处理这些问题,生成更直观、真实的生成结果,客观结果上,获得了最优的峰值信噪比(PSNR)和结构相似性(SSIM)。
表1不同算法的客观质量比较(中心缺失区域)
图4是本发明与EdgeConnect、StructureFlow、GatedConv在不规则缺失区域的修复图像上的视觉结果比较图。从表2和图4中可以得到:EdgeConnect在处理一些复杂、大而不规则的缺失区域时受到限制,产生许多无意义的纹理和扭曲的结构。StructureFlow对不规则孔洞的填充是有效的,但在某些区域仍然不可避免的有过平滑的结果,需要额外的输入计算。GatedConv对于复杂结构的恢复性能较差,且结果与周围环境不一致。产生这些结果的主要原因是这些方法没有考虑输入图像的低频和高频之间的影响。与这些方法相比,我们基于概率推理模型的方法可以更好地处理这些问题,能同时产生合理的结构和丰富的纹理细节。
表2不同算法的客观质量比较(不规则缺失区域)