欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

深度单图像处理

程序员文章站 2022-08-17 13:23:53
多年来,由于这项任务的受欢迎程度和商业重要性,图像处理吸引了许多研究。近年来,已经提出了用于许多图像处理任务的深度神经网络方法。深度方法的主要问题是需要训练来自与目标图像相同分布的大量数据,而收集包含整个图像长尾的数据集是不可能的。在本文中,我们证明了简单地在单个目标图像上训练条件对抗生成器就足以执行复杂的图像操作。我们发现,启用单个图像训练的关键是输入图像的广泛增强,并提供了一种新颖的增强方法。我们的网络学会了在图像的原始表示形式(例如边缘)与图像本身之间进行映射。在操作时,我们的生成器允许通过修改原始输...

多年来,由于这项任务的受欢迎程度和商业重要性,图像处理吸引了许多研究。近年来,已经提出了用于许多图像处理任务的深度神经网络方法。深度方法的主要问题是需要训练来自与目标图像相同分布的大量数据,而收集包含整个图像长尾的数据集是不可能的。在本文中,我们证明了简单地在单个目标图像上训练条件对抗生成器就足以执行复杂的图像操作。我们发现,启用单个图像训练的关键是输入图像的广泛增强,并提供了一种新颖的增强方法。我们的网络学会了在图像的原始表示形式(例如边缘)与图像本身之间进行映射。在操作时,我们的生成器允许通过修改原始输入表示并通过网络将其映射来进行一般图像更改。我们广泛评估了我们的方法,发现它提供了出色的性能。

3.方法:从单个图像学习条件生成器

我们提出了一个条件生成对抗网络(cGAN),用于学习从原始图像表示形式(例如边缘,分割)到图像的映射。 该方法具有几个目标:i)单幅图像训练ii)保真度-输出应反映原始图像表示形式iii)外观-输出图像应看起来与训练图像具有相同的分布。 在本节中,我们介绍一种新颖的增强方法,该方法允许标准cGAN架构实现这些目标。 所使用的特定类型的扩充至关重要,因为它们可以提供优先于数据的功能。 在这种情况下,具有良好的先验性很重要,因为训练集仅包含一个图像。

3.1.模型

我们的模型设计遵循cGAN模型(尤其是pix2pixHD [11])的标准做法。 让我们表示我们的训练图像对(x,y),其中y是输入图像,x是相应的图像图元。 我们学习了一个映射网络M,该网络吸收了输入图像图元x并输出估计图像yesty_{est}。 我们使用VGG感知损失lpercl_{perc} [17]从预测图像和实际图像中提取特征,并计算它们之间的差异。
Lrec=lperc(yest,y)L_{rec}=l_{perc}(y_{est},y)
有条件的GAN损失:按照标准做法,我们增加了对抗损失,该措施衡量鉴别器区分(输入,生成图像)对(x,y est)和(输入,真实图像)对(x,y)的能力 )。 鉴别器D是使用深度分类器实现的,并且在映射网络中经过对抗训练。 鉴别符的损失是:
minDLD=E(x,y) pdata(x,y)[logD(x,y)]+E(x,y) pdata(x,y)[log(1D(x,y))]min_DL_D=E_{(x,y)~p_{data}(x,y)}[logD(x,y)]+E_{(x,y)~p_{data}(x,y)}[log(1-D(x,y))]
映射网络的综合损失是重建和对抗性映射损失之和,由常数α加权:
minMLM=Lrec+αE(x,y) pdata(x)[logD(x,yest)]min_ML_M=L_{rec}+\alpha \cdot E_{(x,y)~p_{data}(x)}[logD(x,y_{est})]

3.2.增强:

尽管如果在大型数据集上进行训练,以上公式对于图像翻译非常有效,但它在单个图像上就显得过拟合。 这具有不能归纳为新的原始图像输入的负面结果。 为了归纳为新的原始图像,需要人为地增加训练数据集的大小,以覆盖预期的原始图像的范围(更多分析请参见第5节)。 条件生成模型通常使用简单的裁剪和移位增强。 但是,这种简单的增强策略不会推广到具有非平凡变化(甚至是简单旋转)的原始图像。 相反,我们提出了一种新颖的扩充策略。 我们将图像建模为网格并将每个网格点移动均匀分布的随机距离。 这形成了移位的网格t。 我们使用薄板样条(TPS)平滑转换为更逼真的变形f。 TPS优化问题由以下公式给出:
Cost=i,jt(i,j)f(i,j)2+λfxx+fyy+2fxydxdy Cost=\sum_{i,j}||t(i,j)-f(i,j)||^2+\lambda \int\int f_{xx}+f_{yy}+2f_{xy}dxdy
其中i,j是网格单元位置,f xx,f xy,f yy表示f的二阶偏导数。 λ是确定扭曲平滑度的正则化常数。 例如,可以非常有效地执行该优化。 Donato和Belongie [18]。 然后将所得的变换f用于特定训练迭代的原始图像x的变换。 每次训练迭代都使用不同的,随机采样的TPS扭曲。 我们另外使用随机旋转,以进一步增加训练中看到的图像基元的范围。

3.3.基本图像:

为了能够编辑图像,我们将生成器以我们称为图像图元的图像表示形式为条件。图像基元的必需属性能够精确指定所需的输出图像,并易于通过图像编辑器进行操作。尽管编辑图像的最精确表示是编辑图像本身,但这两个目标是矛盾的,但是人工编辑不可能达到这种水平的操纵,实际上,简化表示是完成这项工作的动机。先前条件生成器使用的两个标准图像图元是图像的边缘表示和图像的语义实例/分段图。分割图更易于操作,并提供有关图像高级属性的信息,但对精细细节的指导较少。边缘贴图提供了相反的权衡。为了实现两全其美,我们提出了一种新颖的图元,其中包括将边缘图和分割图组合在一起的方式(我们将这种表示称为“超级图元”)。此原始表示形式的优点将在第5节中显示。

3.4.实现细节

我们使用pix2pixHD架构实现了条件GAN。 除了将迭代次数更改为16000之外,我们保留了与官方存储库中相同的超级参数。 对于每次迭代,我们随机采样一个新的TPS扭曲并转换输入图元和输出图像。 我们还通过随机旋转来增强两个图像。 然后,我们以通常的方式进行网络训练。

4.实验

4.1视觉效果

我们的方法的示例结果显示在图1中。我们的方法能够从单个图像训练中生成非常高分辨率的图像。在第一行中,我们能够对边缘图元等人脸图像进行精细更改,例如抬高鼻子,翻转眉毛。在第二行中,我们使用分割图元显示复杂的形状转换。我们的方法能够在汽车上增加第三个车轮并将其形状转换为跑车。这显示了分割图元的功能,可以使用简单的操作对形状进行重大更改。在最下面一行中,我们显示了我们的方法可以执行*形式的更改,在保留精细纹理的同时完全更改图像的形状。
在图4中,我们展示了两种不同鞋子上的边缘到图像的转换结果。我们可以看到在整个edge2shoes数据集上训练的pix2pixHD无法捕获鞋子的正确身份,因为给定边缘图像,鞋子的外观有多种可能性。 BicycleGAN可以将所需鞋的外观图(样式)的边缘贴图和指导作为输入。尽管它能够捕获所需鞋子的一般颜色,但无法捕获鞋子的精细细节(例如,鞋带和带扣)。我们认为,信息丢失是在大型数据集上进行训练的普遍缺点,一般的映射功能变得不那么专业,因此在单个图像上的准确性也较低。
在图5中,我们展示了从绘画到图像任务的结果。我们的方法经过训练可以从粗糙的油漆图像映射到树的图像,而SinGAN则根据作者的最佳实践进行了训练。我们可以看到,SinGAN输出的图像比真实感的图像更类似于绘画。我们的方法能够更改树的形状以与油漆相对应,同时保持树和背景的外观,如训练图像中那样。

4.2.定量评估

我们使用基于参考和无参考的指标定量评估我们的方法。由于单个图像生成器的剃刮大部分是在无条件生成下进行的,因此目前尚无建立此类评估的数据集和指标。我们提出了一种用于条件单图像评估的新颖评估程序。我们的方法利用视频来提供用于计算指标的基本事实。我们引入了一个新的评估数据集,它涵盖了不同的场景和图元。来自每个视频的单个帧被指定用于训练,其中网络被训练以将原始图像映射到指定的训练帧。然后,将训练后的网络用于从原始图像到视频中所有其他帧的图像映射。生成的帧与真实帧之间的差异是使用LPIPS [19](一种标准的高质量深度感知度量)进行计算的。我们使用vid2vid [21]和Few-shot-vid2vid [22]中的代码提供的Cityscapes数据集[20]中的所有16个视频片段。这些序列被标记为aachen-000000至aachen-000015 leftImg8bit。对于每个序列,我们在帧000000上进行训练,并使用帧000001至000029进行测试。我们使用作为图像图元提供的分割图。我们还将使用公开发布的牛津-BBC朗读句子2(LRS2)数据集的前5个视频,其中包含不同人讲话的视频。我们使用Canny边缘检测器提取它们的边缘[23]。我们的评估集总共包含464个Cityscapes框架和239个LRS2框架。

在图6中可以看到对我们的方法在Cityscapes数据集的几帧上的视觉评估。我们将我们的方法与在不使用TPS增强的情况下在单个图像上训练的pix2pixHD模型的结果进行了比较(它仍然使用标准生成模型使用的扩充,即随机裁剪和水平翻转)。我们可以观察到,我们的方法能够合成与训练中看到的场景设置非常不同的场景设置,包括不同数量和位置的人。我们可以看到,在保真度和质量方面,我们的方法比单图像pix2pixHD的性能要好得多,这表明我们提出的TPS增强对于单图像条件生成至关重要。
Tab中提供了对Cityscapes数据集的定量评估。 Tab中提供了1和LRS2数据集。 2.我们提出了LPIPS以及SIFID,这是一种无参考方法,用于测量源图像和目标图像之间斑块分布的感知相似性。针对每个LRS2序列以及平均Cityscapes视频的平均值(出于空间原因)显示了结果。我们可以观察到,在所有比较中,我们的方法均明显优于单图像pix2pixHD。

5.分析我们方法的推广

在本节中,我们分析了我们方法的显着结果。
TPS改善了通用性:让我们考虑图7中所示的训练和测试边缘图像对。我们通过ImageNet训练的ResNet50网络输入每个边缘图,并在第三个残差块的末尾计算激活。对于测试图像的激活网格中的每个像素,我们计算了最接近火车图像激活的最近邻(1NN)距离。然后,我们对训练图像进行了50个TPS增强,并使用现在包含原始训练图像及其50个增强的激活的训练集重复了1NN计算。让我们比较图7所示的有无TPS增强的1NN距离。当然,TPS增强训练集的1NN距离由于尺寸较大而减小。更有趣的是,我们可以看到在增强之前的几个面部区域在输入中没有相似的补丁,而现在的距离要短得多(而TPS可能无法描述更大的变化)。在图7中,我们介绍了在训练边缘图像对(在最左列中显示)上进行训练并在测试边缘上进行评估时,我们的方法的结果。我们可以看到,预测误差(预测和真实测试图像的ResNet50激活之间的L 1差异)似乎与TPS增强的1NN距离密切相关。这为网络回忆训练中看到的输入输出对的假设提供了一些证据。它还解释了TPS训练的有效性,即增加输入输出对的范围,从而推广到新颖的图像。
图7:TPS的好处分析。我们显示了在有和没有TPS增强的情况下测试和训练帧中补丁之间的kNN距离(右上)。我们可以看到,TPS增强会减小kNN距离,在某些图像区域中,减小幅度很大,这表明可以通过训练补丁的变形来获得补丁。 kNN-TPS距离似乎与我们方法的预测误差较大的区域相关。该分析表明,通过人为地增加补丁的多样性,单图像方法可以更好地推广到新型图像。
图像基元的重要性:输入基元图像的选择对于我们方法的性能很重要。条件图像生成器通常使用的标准图元是边缘图和分割图。分割贴图捕获图像的高级方面,而边缘贴图更好地捕获图像的低级方面。为了获得两全其美,我们提出了一个新的原语,它表示“超级原语”(SP)表示形式。 SP包含覆盖在分割图上的边缘图。它提供了场景的低层细节和高层细节。图2评估了使用边缘,分割和SP表示目标鸟的设置。我们可以观察到边缘表示无法捕获眼睛,大概是因为它无法捕获其语义。分割无法捕获新背景区域中的细节,从而产生拖影效果。 SP能够捕获眼睛以及背景区域的低级纹理,显示出强大的表示能力。在图3中,我们展示了使用SP的更多操作结果。在中间一列,我们提供图像重组结果,其中最右边的汽车的位置已切换。由于对象的大小不同,因此使用较小的边缘填充会填充一些空白图像区域。在最右边的列中可以看到更极端的结果,左边的汽车被移走了。这创建了一个较大的空白图像区域。通过使用边缘填充缺失的细节,我们的方法能够成功完成背景。我们相信这一结果充分说明了我们的方法和新的原始图像表示的力量。
对空白区域进行插值:在图8中,我们重点测试了该方法在很少指导下处理区域的能力。 在此示例中,猫的鼻子逐渐向下移动,迫使网络对缺失的空间进行插值。 我们观察到网络会为中等的空白区域生成吸引人的合成图像,但是,随着空白区域变大,网络会寻找相似的区域来填补新创建的空白。 这些区域通常是在原始表示中显示少量细节的区域。 在我们的案例中,我们可以注意到,对于较大的班次,空白空间会变得更绿,直到最终它修复了背景补丁为止。 我们得出的结论是,在某个点上,网络无法学习图像中对象之间的空间关系(即无法将背景放置在猫的脸上),并且无法使用相邻信息来满足给定的约束条件(如上所述)。

6.结论

我们提出了一种新的方法,用于基于薄板样条增强从单个训练图像训练条件生成器。 我们证明了我们的方法能够以高分辨率执行复杂的图像处理。 单图像方法具有巨大的潜力,它们可以将图像的细微细节保持到通常在大型数据集上训练过的先前方法通常无法达到的水平。 单图像方法(包括我们的方法)的局限性是需要为每个图像训练一个单独的网络,这在大型数据集上可能是昂贵的。 加快单图像生成器的培训是未来工作的重要且有希望的方向。

本文地址:https://blog.csdn.net/qq_40962619/article/details/107307408