Unsupervised Person Image Synthesis in Arbitrary Poses

作者:Albert Pumarola ,Antonio Agudo等人 2018 CVPR

1. 摘要:

有监督中的利用图像生成指定pose的行人图像做reid是早就用烂的了,但在无监督中生成带有任意pose的行人图像的方法还很少,同为2018 CVPR的PNGAN可以算是一种无监督方法(普通对抗损失+重建L1损失)。因此作者从无监督reid切入,并将这一任务切分为两个子任务,分别是:首先是设计一个有条件的双向姿态生成器,它需要将生成的具有指定pose的图像映射回具有原始pose的图像,从而直接与输入图像进行比较(CycleGAN思想,主要目的其实还是为了变无监督为监督,在不能直接监督的情况下通过设计网络进行A->B->A‘ 生成的间接监督),而不需要任何训练图像;其次是设计了一个结合了内容和纹理信息的,致力于生成高质量图像的损失函数。

生成示例展示:

其实生成图像还是具体比较明显的人造痕迹,比如脸部。

2. 方法

问题定义:

用具有pose为PoP_oPo​的图像IPo∈R3×H×WI_{P_o}\in R^{3\times H \times W}IPo​​∈R3×H×W和指定pose PfP_fPf​一起生成具有指定pose PfP_fPf​的图像IPf∈R3×H×WI_{P_f}\in R^{3\times H \times W}IPf​​∈R3×H×W。而pose是由N=18N=18N=18个关键点p⃗=(u⃗1,u⃗2,...u⃗N)\vec p=(\vec u_1,\vec u_2,...\vec u_N)p​=(u1​,u2​,...uN​)组成的2D骨骼图像,其中u⃗i=(ui,vi)\vec u_i=(u_i,v_i)ui​=(ui​,vi​)是第 i 个关键点在图像上的像素位置(坐标),整个模型基于无监督训练,因此只有训练样本{IPoi,Poi,pfi}i=1N\{I_{P_o}^i,P_o^i,p_f^i\}_{i=1}^N{IPo​i​,Poi​,pfi​}i=1N​而没有GT标签。

2.1 整体框架

如图2所示:

主要由四个组件组成:

  • 生成器G(I∣p)G(I|p)G(I∣p):棕色
    用两次,第一次进行IPo→IPfI_{P_o}\rightarrow I_{P_f}IPo​​→IPf​​的映射,第二次进行IPf→IPoI_{P_f}\rightarrow I_{P_o}IPf​​→IPo​​的映射(CycleGAN)。
  • 回归器 Φ\PhiΦ:蓝色
    估计输入图像的2D关键点位置
  • 鉴别器DI(I)D_I(I)DI​(I):粉色
    鉴别生成图像和真实图像
  • 损失函数ψ\psiψ:绿色
    在没有GT标签的情况下致力于保持id信息不变,其强制给定图像IPoI_{P_o}IPo​​和(经过两次生成的)生成图像I^Po\hat{I}_{P_o}I^Po​​的语义内容信息一致,而强制给定图像IPoI_{P_o}IPo​​和(经过一次生成的)生成图像I^Pf\hat{I}_{P_f}I^Pf​​的风格(纹理)相似。

2.2. 网络结构

  • 生成器
    两次图像生成的过程均是将图像I和姿态图像p⃗\vec pp​进行concat之后的shape为R(N+3)∗H∗WR^{(N+3)*H*W}R(N+3)∗H∗W的结果输入生成器,生成具有p⃗\vec pp​中姿态的图像,shape为R3∗H∗WR^{3*H*W}R3∗H∗W。
  • 鉴别器
    采样PatchGAN实现,将图像分成26*26个重叠的Patch进行真伪辨别,这种实现的参数更少,而反复重叠的校正导致生成图像减少模糊。
  • 姿态估计
    每一个关节点u⃗i\vec u_iui​的位置可以用图像计算的概率密度图Bi∈RH∗WB_i\in R^{H*W}Bi​∈RH∗W表示,即:
    其中U是图像I中所有像素位置(u,v)的集合。对于每个关键点u⃗i\vec u_iui​,作者在置信图BiB_iBi​的位置(uiu_iui​,viv_ivi​)处引入方差为0.03的高斯峰值(关键点位置更突出,热图显示时就是attention区域)。整个人的pose可以表示为所有置信图的concat,即p⃗=(B1,...,BN)∈RN∗H∗W\vec p=(B_1,...,B_N)\in R^{N*H*W}p​=(B1​,...,BN​)∈RN∗H∗W。
  • 损失函数
    ** 图像对抗损失:让生成图像的分布和训练图像的分布尽量一致
    就是普通的对抗损失,进行min-max博弈:
    ** 条件姿态损失:强制生成器生成图像的pose和指定pose尽量一致
    ** ID损失:维持图像生成过程中ID不变
    分为内容不变和纹理不变两项。内容损失指的是生成器要能够将生成具有指定pose的图像变为原始图像,即第二次生成的结果尽量和原始结果在内容上一致,即保证I^o≈IPo\hat{I}_o\approx I_{P_o}I^o​≈IPo​​,具体为I^o=G(G(IPo∣Pf)∣Po)\hat{I}_o= G(G(I_{P_o}|P_f)|{P_o})I^o​=G(G(IPo​​∣Pf​)∣Po​),而在像素级比较生成图像的差异就会导致类似于SRGAN中提到了“MSE损失导致生成图像过于平滑,模糊,丢失高频细节” 这一特点,因此这里也同样使用SRGAN中那样的特征级重建损失,SRGAN那里是vgg-loss,这里是:

    忽略细节的话,可以说和SRGAN一模一样,类似的认为重建像素级一致图像不好而提倡重建特征级一致图像的文章还有reid中的DPIG,无监督域适应中的DAL,以及上面提到的超分中的SRGAN。风格损失指的是IPoI_{P_o}IPo​​和IPfI_{P_f}IPf​​在关节点附近的纹理要一致。具体地,条件姿态patch可由IPoI_{P_o}IPo​​的语义特征ψz(IPo)∈RC∗H′∗W′\psi_z(I_{P_o})\in R^{C*H'*W'}ψz​(IPo​​)∈RC∗H′∗W′和pose PoP_oPo​的概率图经过avg pool下采样结果BPo∈RN∗H′∗W′B_{P_o}\in R^{N*H'*W'}BPo​​∈RN∗H′∗W′的乘积表示,即:

    然后patch style就可以表示为XPo,iX_{{P_o},i}XPo​,i​的不同通道之间的相关性,具体实现可以是计算每一个patch i 的Gram矩阵

    其定义为XPo,iX_{{P_o},i}XPo​,i​经过向量化后的特征图之间的内积。最后,patch style损失就可以计算为图像IPoI_{P_o}IPo​​和IPfI_{P_f}IPf​​的同一个关节点的Gram矩阵对之间的均方差误差,即:
    最终ID损失为:

    整个网络的最终损失为:

    注意:有人会说LIL_ILI​和LpL_pLp​是用来重建图像I^Po\hat{I}_{P_o}I^Po​​的,而LContentL_{Content}LContent​也是这个作用,岂不是重复了。作者说加了前两个损失能让网络训练时更鲁棒,更容易收敛。

2.3 实现细节


用了训练GAN时的几个常用trick,并且Vgg的设计就和SRGAN非常神似了。

3. 实验

数据集:DeepFashion

3.1. 定量评估


无监督结果和其他有监督(第二行第三行)差不多,而最后两行分别是VAE和cGAN,也是无监督方法,但比本文差多了。

3.2. 定性评估

效果比起以前其实很好,但不够好,这里主要支出一些缺点


主要缺点表现在:

  • 颜色
  • 人造痕迹
  • 衣服材质
  • logo

3.3. 失败的例子

3.4. 消融实验

3.5. 带背景的图像生成


对于reid很友好,就是生成原图质量确实不敢恭维,在DeepFashion上尚且只有这种效果,在Market和Duke上生成结果肯定不能看。2019的ZZD的CVPR oral DG-Net针对reid进行图像生成,效果比这个好得多。
DG-Net传送门:DG-Net

Unsupervised Person Image Synthesis in Arbitrary Poses阅读笔记相关推荐

  1. Unsupervised Feature Selection in Signed Social Networks 阅读笔记

    论文来源:2017 KDD 论文链接 有符号的社交网络中存在正连接(positive links)和负连接(negative links),最近的一些研究指出,负连接具有一些正连接没有的额外信息.因此 ...

  2. 《Learning Unsupervised Metaformer for Anomaly Detection》论文阅读笔记

    作者:Jhih-Ciang Wu1,2, Ding-Jie Chen1, Chiou-Shann Fuh2, and Tyng-Luh Liu1 出自:ICCV Abstract: 核心是一个无监督的 ...

  3. Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization论文阅读笔记

    Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization论文阅读笔记 目录 Arbitrary Style ...

  4. Lift Splat Shoot Encoding Images from Arbitrary Camera Rigs by Implicitly Unprojecting to 3D 论文阅读笔记

    Lift, Splat, Shoot: Encoding Images from Arbitrary Camera Rigs by Implicitly Unprojecting to 3D 论文阅读 ...

  5. DeepFuse: A Deep Unsupervised Approach for Exposure Fusion with Extreme Exposure Image Pairs 阅读笔记

    DeepFuse: A Deep Unsupervised Approach for Exposure Fusion with Extreme Exposure Image Pairs 阅读笔记 引言 ...

  6. 《Discriminative Unsupervised Feature Learning with Exemplar Convolutional Neural Networks》阅读笔记

    <Context Encoders: Feature Learning by Inpainting>阅读笔记 摘要 我们提出了一种基于上下文的像素预测驱动的无监督视觉特征学习算法.类似于自 ...

  7. T5: Text-to-Text Transfer Transformer 阅读笔记

    作者:徐啸 知乎专栏:自然语言处理学习之旅 https://zhuanlan.zhihu.com/p/89719631 写在前面 谷歌用一篇诚意满满(财大气粗)的基于实验的综述,试图帮助研究者们「拨开 ...

  8. 【计算机视觉】运动目标检测算法文献阅读笔记

    先前在博客中对常见的运动目标检测算法有写过一篇总结,详情请参考:http://blog.csdn.NET/kezunhai/article/details/8830787.本文是在校期间写的部分阅读笔 ...

  9. Learning to Track with Object Permanence阅读笔记

    Learning to Track with Object Permanence阅读笔记 (一) Tilte (二) Summary (三) Research Object (四) Problem S ...

最新文章

  1. [转]Ubuntu SCIM 输入法不能光标跟随的解决
  2. 亮度均匀性 matlab,求:亮度保持的夜景图像直方图均衡算法 matlab程序
  3. 如何删除非当前用户下的JOB
  4. 面试官问你B树和B+树,就把这篇文章丢给他
  5. 乘风破浪的迁移学习!四字成语讲明白这个大热研究方向
  6. 《敏捷可执行需求说明 Scrum提炼及实现技术》—— 3.4 关注干系人的“愿求”...
  7. 数据结构之红黑树(三)——删除操作
  8. php addall,thinkphp addall() 方法设置
  9. HDU4370 0 or 1 最短路
  10. java地址值是几进制_Java三种进制的数值常量操作代码
  11. 01-mnist数字识别
  12. 常用的eclipse插件下载地址
  13. Web端轻松实现音视频聊天通话
  14. java中后台的跳转_java后台跳转
  15. 【六祎 - HTML模板】提交按钮模板-带特效
  16. Markdown 自动生成目录
  17. python文本数据分析-新闻分类任务
  18. 【长难句分析精讲】并列结构
  19. 日志服务与日志分析工具
  20. AW codec驱动跨平台移植

热门文章

  1. 成年人应该看的小故事
  2. 计算机毕业设计之java+javaweb的美容院管理系统
  3. python画恐龙_教你用Python实现谷歌的小恐龙游戏
  4. 《设计的品格 探索×呈现×进化的InDesign美学》—第1课1.2节 造字原则
  5. INA169NA/3K 德州TI 2.7V 至 60V、440kHz 可变增益电流感应放大器
  6. 关于百度云推送加厂商进行app离线推送的步骤小记
  7. Android保活从入门到放弃:乖乖引导用户加白名单吧(附7大机型加白示例)
  8. 如何分析日活跃用户异常波动
  9. python年龄阶段划分_年龄段是怎样划分的?
  10. Revit2014 支持编程创建管道并且立即赋予系统类型名称