总说
一般情况下,我们只有两幅图片,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