# [Contrastive Learning] Contrastive Coherence Preserving Loss for Versatile Style Transfer
- 论文链接:Arxiv
- 期刊/会议:ECCV 2022
- 是否有code: Code 演示demo
关键词
对比学习, 图像风格转换
问题简述
Motiviation
这是篇卖“问题”的文章。作者指出视频风格转换类方法目前还没有很好的解决"帧间不一致性"(Temporal Inconsistency或者Flicker Artifacts)问题,这导致转化后的视频总是特别“闪”,这里可以看一下作者提供的演示Demo,有个直观的感受。
为什么会这样呢?作者认为是之前的方法太重视“全局约束”(global constraint),虽然全局约束确保了图像整体风格转换的稳定性上,当前帧和后续帧在风格转换的效果上不会出现大面积的突变;但是现有的方法往往忽视了局部噪声的影响,导致迁移出来的效果虽然忠实于内容,但是却总感觉很“跳”(参考作者提供的演示demo的50秒的结果),或者纵有一层透明且蠕动的覆盖层(演示demo的35秒的结果);那很自然的想法就是直接在连续帧对应位置加上一些局部约束,这就不可避免的需要视频类数据来训练模型。这时候但本文最大的噱头就来了,本文提出的这个CCP损失,能在仅依赖单帧信息的前提下,实现帧间的一致性。
CCP损失
为什么不需要视频数据?
我们先看下图:
RAR_ARA与RBR_BRB是连续两帧相同位置的两个Patch,如果这个区域没有运动的话,那么RAR_ARA与RBR_BRB在“内容”(不考虑噪声)上应该是完全一致的;而如果有运动的话,它们俩的内容会有一些差异。但是作者提出了一个假设:在两帧图像间隔的时间差 Δt\Delta tΔt 足够小的前提下,在RAR_ARA的附近相邻Patch中能找到一个RCR_CRC,使其在内容上与RBR_BRB完全一致。作者正是通过这种方式,将帧间的Patch对应关系“压缩”到了单帧图像内的Patch关系。
如何解决时序不一致问题?
作者觉得想要生成迁移结果具有较好的时序一致性,需要满足一个限制:
limΔt→0D(Ct+Δt,C)≃D(Gt+Δt,G)(1)\lim_{\Delta t \rightarrow 0} D(C_{t+\Delta t}, C) \simeq D(G_{t+\Delta t}, G) \tag{1} Δt→0limD(Ct+Δt,C)≃D(Gt+Δt,G)(1)
式中,D(a,b)D(a,b)D(a,b) 代表a与b之间的差异,CCC 与 GGG 则分别代表这内容(Content)与迁移后结果(Generated); 作者特别注明了,这个限制对于全局来说可能太过于严格,但是从局部来看是能够满足的(因为局部上的运动通常体现为“平移”和“旋转”);也正是基于这个假设,作者提出了CCP损失(Contrastive Coherence Preserving):
- 先将内容图像(Content)和生成后的图像(Generated)分别喂给一个训练好(fixed)的Encoder提取特征,分别生成 CfC_fCf,GfG_fGf;
- 在 GfG_fGf 中随机采样得到N个向量(上图中 GfG_fGf 的红色点),记作 {Gax∣x∈{1,...,N}}\{{G_{a}^{x}| x \in \{1,...,N\}}\}{Gax∣x∈{1,...,N}} ;
- 对于每个 GaxG_{a}^{x}Gax ,取其8个相邻的 向量(上图中 GfG_fGf 的蓝色点),记作 {Gax,y∣y∈{1,...,8}}\{{G_{a}^{x,y}| y \in \{1,...,8\}}\}{Gax,y∣y∈{1,...,8}} ;
- 在 CfC_fCf 上按照步骤2和步骤3进行采样,得到 {Cax∣x∈{1,...,N}}\{{C_{a}^{x}| x \in \{1,...,N\}}\}{Cax∣x∈{1,...,N}} 和 {Cax,y∣y∈{1,...,8}}\{{C_{a}^{x,y}| y \in \{1,...,8\}}\}{Cax,y∣y∈{1,...,8}}
- dgx,y=Gax⊖Gax,y,dcx,y=Cax⊖Cax,yd_{g}^{x,y}=G_{a}^{x} \ominus G_{a}^{x,y},d_{c}^{x,y}=C_{a}^{x} \ominus C_{a}^{x,y}dgx,y=Gax⊖Gax,y,dcx,y=Cax⊖Cax,y,⊖\ominus⊖代表向量减法;
为了满足式(1), 最暴力的做法就是让dgx,yd_{g}^{x,y}dgx,y去直接拟合dcx,yd_{c}^{x,y}dcx,y。但这会导致模型偷懒,逐渐让GfG_fGf越来越近似于CfC_fCf,就起不到风格迁移地作用了。因此,作者在这里引入了对比学习的思想,按照上图中“黄色线”地方式来构建正样本对,“藏青色线”来构建负样本对,通过InfoNCE损失来拉近dgx,yd_{g}^{x,y}dgx,y与dcx,yd_{c}^{x,y}dcx,y的距离;
总结
卖问题的,个人觉得有亮点,但拼凑的痕迹也很重;
- 最大的亮点就是基于作者本身大胆的想象力,尝试用单帧去解决时序不一致问题,感觉很有意思;
缺点: - “故事”的立意很新颖,但是讲的总觉得不是很清楚,某些部分只是轻轻一点,让人有点毛不着头脑;
- 引入对比学习的原因没讲清楚,有强行缝合的嫌疑;
参考文献
本文基本均为原创
# [Contrastive Learning] Contrastive Coherence Preserving Loss for Versatile Style Transfer相关推荐
- CCPL: Contrastive Coherence Preserving Loss for Versatile Style Transfer
文章目录 Abstract 1 Introduction 2 Related Works 3 Methods 3.1 Contrastive Coherence Preserving Loss 3.2 ...
- 对比学习(Contrastive Learning)综述
A.引入 https://zhuanlan.zhihu.com/p/346686467 A.引入 深度学习的成功往往依赖于海量数据的支持,其中对于数据的标记与否,可以分为监督学习和无监督学习. 1 ...
- 对比学习系列论文SDCLR(二)-Self-Damaging Contrastive Learning
目录 0.Abstract 0.1逐句翻译 0.2总结 1. Introduction 1.1. Background and Research Gaps 1.1.1逐句翻译 第一段(引出对比学习是否 ...
- 【NLP】Contrastive Learning NLP Papers
来自 | 知乎 作者 | 光某人 地址 | https://zhuanlan.zhihu.com/p/363900943 编辑 | 机器学习算法与自然语言处理公众号 本文仅作学术分享,若侵权,请联系后 ...
- 对比学习(Contrastive Learning)相关进展梳理
©PaperWeekly 原创 · 作者|李磊 学校|西安电子科技大学本科生 研究方向|自然语言处理 最近深度学习两巨头 Bengio 和 LeCun 在 ICLR 2020 上点名 Self-Su ...
- Micro-expression recognition with supervised contrastive learning基于对比监督学习的微表情识别
Micro-expression recognition with supervised contrastive learning基于对比监督学习的微表情识别--2022 PRL 文章链接:https ...
- 2022_WWW_Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learning
[论文阅读笔记]2022_WWW_Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Lear ...
- 理解对比表示学习(Contrastive Learning)
目录 一.前言 二.对比学习 三.主要论文(附代码分析) 1. AMDIM ([Bachman](https://arxiv.org/pdf/1906.00910.pdf) *et al.* 2019 ...
- 论文《Contrastive Learning for Sequential Recommendation》
论文地址:https://arxiv.org/abs/2010.14395 摘要 序列推荐经常因为数据稀疏性问题,导致很难学习到高质量的用户向量表示.论文引入对比学习,提出Contrastive Le ...
- Dual Contrastive Learning: Text Classification via Label-Aware Data Augmentation 阅读笔记
Dual Contrastive Learning: Text Classification via Label-Aware Data Augmentation PyTorch实现:https://g ...
最新文章
- python生成折线图-Python数据可视化 -生成数据之绘制折线图和散点图
- 苹果电脑安装python-在Mac上安装Python环境
- 【鸿蒙 HarmonyOS】UI 组件 ( 拖动条 Slider 组件 )
- spring配置文件路径修改后web.xml配置
- Elastic job,任务状态:分片待调整
- SQL求解两个时间差
- cp命令复制目录 不覆盖
- linux系统服务器性能综合测试(UnixBench5)
- Batch_size问题
- 新版的Lync客户端无法用于老版的OCS服务器
- 所谓敏感(数字的敏感)
- php5.5 pdo mysql_PHP5中使用PDO连接数据库的方法
- 社区版PyCharm(PyCharm Community)也可以有可视化的数据库工具呀
- android手表密码忘了咋办,moto 360手表通过Android 5.0系统自动解锁手机教程
- java设计模式--装饰器设计模式(javaIO设计使用)
- Photoshop cs8 颜色 查看调出 hsb模式滑块
- 中国石油大学《化工设计概论》第一阶段在线作业
- 点云obb盒显示 python
- Spring懒加载机制原理和配置讲解
- XOP 网格计划是什么?XOP 的特性
热门文章
- jscript错误代码及相应解释大全( 选择自 jmylf 的 Blog )
- win 服务器自动锁屏,老司机设置win10五分钟自动锁屏怎么设置的解决措施
- 微信公众号开发:网页授权
- 计算机注销和重新启动的区别,注销和重启的区别(转载)
- 数据库事务特性学习笔记
- form表单reset重置按钮
- 【Feign请求头丢失问题】no suitable HttpMessageConverter found for response type
- SQL分组统计-每个学科前三名
- 【POJ 3764】 The xor-longest path
- 快速获取知网,万方,维普等永久性免费下载权限