CCPL: Contrastive Coherence Preserving Loss for Versatile Style Transfer
文章提出了一种新的模型框架,可以实现通用图像/视频的多风格转换
文章的贡献点如下:
- 提出了Contrastive Coherence Preserving Loss,为风格转换模型提供了一种通用的时序关联损失,来保证时间一致性。
- 提出Simple Covariance Transformation (SCT)来高效地对齐内容和风格特征,实现高效的风格转换。
Contrastive Coherence Preserving Loss–在单帧内实现了时间一致性
loss的出发点:
- (1)在绝大多数情况下,同一张图像相邻的两个小patch可以近似对于相邻两帧之间的同一个小patch,利用这一思想可以在单帧图像内实现时间一致性的保留。
- (2)图像的整体闪烁是有局部区域闪烁造成的,做好局部区域的时间一致性即可保证整个视频序列的时间一致性
具体来说,就是让同一张图片相邻的两个小patch在风格化前后,二者的差异信息要尽可能的相似。
具体实现:
-
将输入图像C和生成图像G经过同一个encoder获取特定层的feature map
-
在C feature map的中心区域,随机采样N个点作为当前patch,对于这每一个patch,在其周围采样8个点作为其相邻的patch,记录索引,并应用于G feature map。
-
在每一个feature map内计算当前相邻patch之间的差异信息,并利用MLP来进行特征映射:
-
利用对比学习的思想,输入图片和生成图片对应索引的相邻patch互为正样本,其余的互为负样本,计算infoNCELoss:
Simple Covariance Transformation–在考虑通道关联信息的情况下实现了高效的特征融合
CCPL保证了结果的时间一致性,SCT则用于实现内容特征和风格特征的对齐融合。
先前方法的风格融合的方法存在一些不足:
AdaIN:
- (1)直接在通道级别上面对齐输入图像和风格图像的二阶统计量,简单高效
- (2)忽略了通道之间的关联,存在一定的缺陷
Linear: - (1)设计了一种通道注意力机制来对齐输入图像和风格图像的二阶统计量(转移),利用了通道之间的关联信息
- (2)MLP架构计算复杂度高,有待优化
SCT:融合了前两者的优点,具体步骤: - (1)对于内容图像,在通道级别上进行归一化(去均值除方差),得到c
- (2)对于风格图像,在通道级别上面进行去均值操作,得到s
- (3)将c和s分别经过三个堆叠的卷积层来进行降维(512-32),得到c_small和s_small,降低计算复杂度
- (4)对s_small计算协方差来来获得通道之间的关联信息,并将结果于c_small做矩阵乘法,经过卷积层后再加上风格图像通道级别的均值。在考虑通道关联信息的情况下实现了高效的特征融合
损失函数
数据集-共计8w张图像
(1)MS-COCO - 作为输入的内容数据
(2)Wikiart - 为艺术家们的作品数据集,作为风格数据
计算指标
(1)SIFID:计算风格图像和生成图像的分布距离,衡量风格转换程度的好坏
(2)LPIPS:计算生成照片的真实性
(3)Temporal Loss:计算时间一致性