The Contextual Loss for Image Transformation with Non-Aligned Data 论文学习

       针对图像变换问题训练的前馈CNN依赖于测量生成的图像和目标图像之间的相似性的损失函数。大多数常见的损失函数假设这些图像在空间上对齐并在相应位置比较像素。然而,对于许多任务,对齐的训练对图像将不可用。Contextual Loss 是本文提出的一种不需要对齐的,为这类问题提供了简单有效的方法。

       The Contextual Loss for Image Transformation with Non-Aligned Data 论文学习

      论文指出,利用Contextual Loss出色的完成了,单帧图像动画化,语义风格转移,性别转换的任务。

      论文先提出了之前使用较为广泛的损失函数类型:

      (i) Pixel-to-pixel loss functions that compare pixels at the same spatial coordinates, e.g., L2 [3,9], L1 [1,2,10], and the perceptual loss of [8] (often computed at a coarse level). 

       像素到像素的损失函数,对比生成图像和目标图像相同坐标的点。虽然这种损失函数的设计可以较好的完成任务,但是这种函数需要生成图像和目标图像里的目标空间上对齐,这里的空间对齐我理解为:比如我需要将希拉里的化妆移植到奥巴马上,必须保证两图中五官的位置要对正。

      (ii) Global loss functions, such as the Gram loss [6], which successfully captures style [6,8] and texture [4,11] by comparing
statistics collected over the entire image.

       全局的损失函数,可以应用于非对称数据的任务,但是不能限制图像转换的区域,比如我只想转换前景,全局的目标函数会把背景也转换。

      Contextual Loss:

      这篇文章的核心就是这个损失函数。这个函数是设计用来测量不对称的图像之间的相似性。

      首先我们来定义一下相似性。

     The Contextual Loss for Image Transformation with Non-Aligned Data 论文学习

       这是论文里提出的一个相似的看法,X和Y是分别属于两张图像的特征点集合,xi和yj是集合里的元素。如果每个xi可以找到一个对应的yj与他相似,如(a)则认为两张图像是相似的,但是像(b)这种我们认为是不相似的,因为大多数xi都指向同一个yj点。而为了清晰这种xi与yj之间的相似性,本文选择计算图中圆心和三角形的距离,及红色带箭头的向量。

The Contextual Loss for Image Transformation with Non-Aligned Data 论文学习

       左边的等式,是CX(x,y)即表示图像x和图像y的相似性,X和Y表示使用卷及网络提取得到的特征点(本文用的VGG)。图像的相似性可以表示成特征点集合的相似性。

       然后我们再将特征点集合的相似性表示成特征点的相似性即CX(X,Y)用CX(xi,yj)的。即右边的等式,其中N表示的是集合的大小,我们默认X,Y集合一样大。i和j分别是xi和yj的下标。结合图像理解对于任意一个特征点yj,我们需要找到一个与其相似性最大的xi,然后对所有这种组合取均值。这样就即结合局部特征和全局特征。

       现在来学习CX(xi,yj)。

       首先我们计算两个特征点的距离。

The Contextual Loss for Image Transformation with Non-Aligned Data 论文学习

这个函数的价值 随着 |xi-yj|的缩小而缩小(证明有点难,以后写),然后正则化。

The Contextual Loss for Image Transformation with Non-Aligned Data 论文学习

       k是任意不等于j的值,将距离转换成相似度

The Contextual Loss for Image Transformation with Non-Aligned Data 论文学习

     最后将其转换成尺度不变的版本

The Contextual Loss for Image Transformation with Non-Aligned Data 论文学习

最终用于程序的是:

The Contextual Loss for Image Transformation with Non-Aligned Data 论文学习

l表示的是从卷积网络的第几层解析出来的特征点。