论文提出了一种新的两张图片直接进行视觉属性迁移的方法。该方法针对的是两张具有不同内容却有相似语义的图像,比如两张图的主体是同一种类别的物体,并利用高层抽象特征建立起了两张图的内容的语义对应关系。 这种图像视觉属性迁移方法可以在结构上基本保留两张图中内容图的内容及结构,同时融入参考图的视觉属性。和之前的算法不同的是,这种方法甚至适用于输入是真实照片,输出也希望是真实照片的任务,即可以达到像素级别的迁移。
该方法在不同的图像领域(如style/texture transfer, color/style swap, sketch/painting to photo,and time lapse)的视觉属性迁移(visual attribute transfer)任务中均有不错的表现,此前的多数风格迁移方法多局限于特定领域。
这可以有效的指导语义级的视觉属性迁移
关于算法实现的个人理解: 输入是两张图 A 和B′。 输出有两类: 映射关系: A 和B′的像素位置映射关系。 图像:内容基于A同时风格上参考了 B′ 的图 A′ ,内容基于 B′ 同时风格上参考了 A 的图B。
为了描述简单,下面只说得到 A′ 的流程,得到 B 的流程是类似的。
A和 B′ 通过VGG19提取特征后,顶层的卷积层会输出一个粗粒度的特征图 F5 。因为A和 A′ 在内容上是相似的, A′ 的结构基本保持和A相同,所以论文中认为 A 和A′在经过VGG19提取特征后,顶层的卷积层输出的粗粒度的特征图 F5 应该是非常相似的,即 F5A≈F5A′ 。如果认为是相同的话就可以通过 A 的顶层特征图F5A进行反卷积来重建 A′ 。 在重建 A′ 的过程中,为了融入来自 B′ 的特征, A′ 的前一层的特征图 F4A′ 不能直接使用 F5A 的反卷积结果。 论文中设置了一个权重参数 W 来控制A′与 A 及B′的相似度, W 的初始值是手动指定的,并且在每一次计算FLA′时,都会根据层数 L 对W做一个修正,使得 WL 随着 L 的下降而下降,进而在高层抽象特征上更多的参考A而在像素细节上更多的参考 B′ 。 F4A′=W4∗F4A+(1−W4)∗R4B′ 这里的 R4B′ 是 R5B′ 反卷积的结果, R5B′ 是 F5B′ 为了在结构上匹配 F5A 进行变形的结果。 F5B′ 变形的依据是对 F5A 和 F5B′ 在双重约束条件( ϕa→b 和 ϕb→a )下执行NNF搜索,根据搜索结果进行匹配。
以上就是整个算法的大致思路,具体细节(如数学公式和一些技巧)可以参考论文原文和代码实现。
需要注意的是,在photo2photo的应用场景下,在上述流程后还加入了一个refine的环节,将 A 和A′作为输入,以 A 为结构和内容样本,仅加入A′的色彩色调特征以消除结构上的变形和扭曲。
如人像图和乡村风景图之间做迁移。
包括形状、尺寸、旋转,如一个三角形的小蛋糕和一个圆形的大蛋糕。