点击下方卡片,关注“CVer”公众号
AI/CV重磅干货,第一时间送达
本文作者:李新阳 | 来源:知乎(已授权)
https://zhuanlan.zhihu.com/p/354258056
Image-to-image Translation via Hierarchical Style Disentanglement
论文:https://arxiv.org/abs/2103.01456
开源代码:https://github.com/imlixinyang/HiSD
相信大家还记得CycleGAN刚出来时带给大家的震撼,从CycleGAN提出后,图像翻译面临的最大的两个问题就是扩展性(同时处理多种篡改)和多样性(生成不同的结果),然而,一直没有一个很好的方法,可以兼顾扩展性和多样性的同时,又能使得这种篡改满足预期。例如,对于人脸属性篡改任务,我们想要给人脸加上刘海,可是却改变了发色或是背景,再例如,我们想要给人脸加上眼睛,结果竟然性别和年龄也改变了。下面是最新模型StarGANv2的结果:
HiSD就是为了解决这些问题,并且还同时支持从噪声中生成或者从图像中提取这样的风格。先放效果图吧:
可以看到多属性之间完全没有干扰,而且多样性也可以非常好地对应上某个语义。而实现这一些的核心就是建立了如下一个层次结构:
利用了原始0-1标签之间存在的互斥性(对同一个语义的不同描述)和独立性(不同语义),HiSD将原始Label转换为了Tag和Attribute,并想要无监督地解耦出对应上某个Attribute的风格,比如图中不同眼镜的款式,就可以达到可控多样性的目标了。
进一步,我们将各个模型也对应上了这个层次结构,然后每一次只训练一个对应某个Tag的转换器将图像在两个Attribute之间进行转换,然而这样就可以解耦出单个Tag的风格了吗?
想法是美好的,现实是残酷的。除了标签本身,我们并没有其他的监督信息,例如分割图等,甚至数据集中本身对于各个属性就是不解耦的(戴眼镜的有83%的男性,而不戴的只有36%)。
为了抑制区域上的过度篡改,我们引入了已经被广泛使用的无监督掩膜思想,唯一不同的是我们的掩膜是作用在特征图上的,而不是图像本身上,也因此加入了Channel-wise的注意力。
然而性别和年龄在极度不平衡的数据集的对抗过程中,仍然被不可避免的篡改了。
但是性别年龄也是我们可以利用的标签!能不能让对抗过程中的鉴别器可以看到这些标签本身就是不平衡的,从而来让翻译前后保持这些不平衡标签不变呢,比如这样:
也就是让鉴别器在鉴别金色刘海的同时,要让原始图片的性别和年龄也保持不变。
还真可以,这一个结构叫做Tag无关条件鉴别器,我个人觉得应该可以用来缓解很多对抗过程中数据集本身不平衡的问题,这几步结构上的改动带来的影响可以用一些对比结果表示:
跟SOTA模型比较,我们有着最好的真实性、解耦性和用户最喜欢的多样性。同时还有着对于两种来源的风格编码最为平衡的性能。
论文和代码都已经放出来了。妈妈式代码,详细注释,手把手教学,因为自己也相当幸运作为入门者的时候,看的是多模态的模型MUNIT的代码,非常好理解和进一步修改。
论文中还有很多很多细节,例如训练过程中只有单Tag的篡改,为什么在测试过程可以进行多Tag的篡改。解耦性是如何定量比较的。又如何同时训练噪声引导的风格和参考图像引导的风格的。可能需要感兴趣的同学自行去看啦,也欢迎来和我讨论~
全文到此结束。在CVer公众号回复: HiSD,即可获取此文和代码。
后台回复:CVPR2021,即可下载CVPR 2021论文和开源代码合集
点击下方卡片并关注,了解CV最新动态
重磅!CVer-GAN交流群成立
扫码添加CVer助手,可申请加入CVer-GAN方向 微信交流群,也可申请加入CVer大群,细分方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、Transformer、PyTorch和TensorFlow等群。
一定要备注:研究方向+地点+学校/公司+昵称(如GAN+上海+上交+卡卡),根据格式备注,才能通过且邀请进群
▲长按加微信群
▲点击上方卡片,关注CVer公众号
整理不易,请给CVer点赞和在看!