总说
一般情况下,我们只有两幅图片, A 和
B′
。如果以 A 为主体,我们希望得到的图像在内容上与
A
相似,但是一些图像属性(比如颜色,纹理等)与 B′ 相似,我们记这样的图为 A′ ,同理我们也可以定义 B′ 。
与以前风格转换的异同:
以前style transfer的风格是全局的,指的是一种”画风“,这种转换与局部内容关系不大,比如古代山水画的画风或是抽象派的画风等等,是图像全局的风格的表达”。 如果是图像属性之间的转换, 是pixel级别的风格。
比如上图 A′ 具有 A 的轮廓,相应位置的内容几乎是一样的。但是整幅图像的属性(比如颜色,纹理)都变成了
B′
的,即变成了暗黄色以及脸部的纹理也抹去了很多。
基本想法
A:A′::B:B′
其中
A′
和
B
是未知的。这样的表示有以下两个约束:
1.
A
和
A′
是完全对齐的,同理
B
和
B′
也是。
2.
A
和
B
在图像属性上是近似的。(比如颜色,纹理)。
作者们认为直接学到从 A 到
B′
的映射是困难的(红色)。这是因为 A 和
B′
具有视觉效果的差异性,在像素上存在misalignment。如果把这种映射分解为
1. A→A′ 的相同位置的映射。(这个是对齐的,spatial位置上,这是后面为什么可以用 A 重建出
A′
的内容的原因)
2. 到以及 A′→B′ 的风格映射。(这个存在着misalignment,所以使用NNF搜索)
现在定义两个映射。 Φa→b 如果表示 A→B′ 的映射,即其将 A 的一个
p
位置的点映射到 B′ 的 p′ 位置上。那么由于 A→A′ 本身是相同位置点的映射(完全对齐的), B 和
B′
也是对齐映射。所以 Φa→b 的映射可以认为是 A 或者
A′
到 B 或者
B′
的映射。同理可以定义 Φb→a 。
A(p)=B(Φa→b(p))andA′(p)=B′(Φa→b(p))(1)
上面前半部分的意思是,对于
A
图的
p
点,如果该点映射到
B
图的
p′
点,其中
p′=Φa→b(p)
。那么这两个点应该是相同的。当然为了加强一下对称性约束,可以加上双向约束:
Φb→a(Φa→b(p))=pΦa→b(Φb→a(p))=p
构建 A′ 和 B
由于
A
和 B′ 我们是有的,如果我有也有 A′ 和 B , 那么我们就可以得到映射
Φa→b