Unsupervised Person Image Synthesis in Arbitrary Poses 笔记

概述

  Unsupervised Person Image Synthesis in Arbitrary Poses 笔记_第1张图片

这是一篇cvpr2018的oral文章,是在无监督的情况下的情况对给定的图片和姿势生成新的图片,由于训练集的图片不是成对出现的(无监督),所以他借用了cycleGAN的思想,生成器一方面生成新的姿势图片,另一方面将其生成回原来的样子,而loss也由三部分组成,除了判别器的adversial loss外,还有姿势回归器的pose loss和特征提取器的identity loss.

方法

姿势表示方法

每个姿势由N=18个二维像素坐标组成,每个坐标对应生成一张概率密度图,该坐标对应值为1,其余部分是一个以它为峰值,方差为0.03的高斯分布,这样也就生成了N张大小为H*W的概率密度图.

生成器

生成器的结构借用了cycleGAN中的U-Net,除了encoder和decoder外,还加入了skip connection,为了防止低级别的信息损失,将第i层的所有通道都concatenate到了第n-i层.

 Unsupervised Person Image Synthesis in Arbitrary Poses 笔记_第2张图片

判别器

判别器的思想主要来源于pixel2pixel中的patchGAN,对于图片中的每个patch进行判别,最终得到一个26*26的输出,这样的好处主要在于减少了很多计算量,同时对性能并无很大影响。Adversial loss有两项,一项是生成器给定姿势Pf生成得到If的loss,另一项是生成器给定原来图片的姿势Po生成回Io的loss.

Unsupervised Person Image Synthesis in Arbitrary Poses 笔记_第3张图片 

姿势回归器

给定一张图片,姿势回归器会得到用于表示姿势的概率密度图,而pose loss则表示为两个姿势的概率密度图的欧几里得距离:

Identity loss

Identity由两个部分组成,context loss和style loss,context loss用来度量两张照片特征的欧几里得距离,特征从特征提取器(预训练的vgg16的第7层)中得到,style loss用来度量两张照片的质感相似度,用之前得到的特征先点积乘上对于姿势Po作降采样的Bpo,i得到Xpo,i(Xpo,i大小为C * H' * W'),对于每个Xpo,i作通道之间的内积得到C*C的Grim矩阵,最后再对N个Grim矩阵计算MSE,过程如下:

Unsupervised Person Image Synthesis in Arbitrary Poses 笔记_第4张图片

 Unsupervised Person Image Synthesis in Arbitrary Poses 笔记_第5张图片

 Unsupervised Person Image Synthesis in Arbitrary Poses 笔记_第6张图片

最终的loss如下:

Unsupervised Person Image Synthesis in Arbitrary Poses 笔记_第7张图片

不过我个人感觉最后一项应该是减号,姿势回归器对于原图的检测结果应该越小越好.

实验

实验中的adversial loss采用的是least square的形式(感觉已经成了目前GAN的标配),另外用于判别器训练的样本也不是当前生成的,而是之前生成的样本.实验的结果非常丰富,有较为成功的样本和失败的样本,作者还对失败的样本进行分类,并说明当图片有背景时效果会很差,最后比较了提出的Identity loss和普通的l1 loss,发现性能有了很大提升。

总结

这篇文章的优势在于他很好的借助了前人的成果,尤其是CycleGAN在无监督方面的思想,同时对于生成图片的loss考虑的非常全面,并提出了自己的identity loss,特别是基于姿势的style loss部分让人眼前一亮.

你可能感兴趣的:(深度学习,论文笔记)