CVPR 2019 Oral | 华科开源效果超群的人体姿态迁移算法
今天跟大家重磅介绍华中科技大学刚刚开源的一款人体姿态迁移算法,其基于GAN思想构建,效果好到简直令人不可思议,论文《Progressive Pose Attention Transfer for Person Image Generation》已中 CVPR 2019 Oral,非常值得一读~
作者信息:
论文出自华科白翔老师组,作者单位分别为华中科技大学、微软Redmond,中兴集团。
什么是姿态迁移?
简单点说,就是给定一幅含有人物的图片和一个目标姿态,将图片内人物转换成目标姿态的样子。当然目标姿态可以是从其他图片人物中计算得来的。(所以也可以将一幅图片的人物转成另一图片内人物的姿态)
这听起来就是一项黑科技。
很显然这是一个很有趣的应用,比如给定一幅人物图像,可以将里面人物按照另一段视频里的人物变换姿态。只需要一幅你的图片,就能让你跳出优美的舞蹈~
不过,毕竟一幅图片信息有限,转换后不会惨不忍睹吧。
下图是该论文算法实现的效果(请务必点击查看大图!)。这里的目标姿态使用线段连线表示。
难以置信,图片下面6幅生成的结果图片是靠左边的一幅图生成出来的!点击大图查看,你会发现细节很清晰!
尽管只有侧颜侧身照,但不耽误我们360度看美女^_^
是不是很神奇~
算法原理
首先我们先看看作者在这个过程中使用的数据,首先是一幅图片Condition image Pc,与该图片中使用姿态估计算法提取的姿态Condition Pose Sc,还有目标姿态Target Pose St。
作者提出了一种称之为Progressive Pose Attention Transfer(渐进的姿态注意力迁移)模型。
作者基于GAN思想构建算法。对于输入的人物图片和姿态,生成新的人体姿态图片和姿态,并有两个判别器,一个纹理判别器一个形状判别器,判断生成器生成的人物图片和姿态是不是真实的。
姿态迁移是由生成器完成。下图表达了作者设计的生成器的算法架构。
在Pose-Attentional Transfer Network中含有多个Pose Attentional Block,其作用是对输入的image pathway和pose pathway按照Pose Mask进行更新,图中Mt即为Pose Mask,它引导网络将图片中人物的不同的部分按照目标姿态进行像素块迁移。
将最后一个Block中Image Pathway的数据经过解码网络,即得到了最终的生成图像。
实验结果
作者在DeepFashion与Martket-1501数据集上进行了实验。
在训练阶段,分别在这两个数据集上构建了263632和101966样本对。
文中评价指标不再细述。
下表是该文算法与已有算法的量化比较:
可见该文算法在绝大多数评价指标下都取得了最好的结果。
下图是与其他算法的效果图比较,可见视觉上该文算法比以往算法都更加自然。其中可见右上人物的背包保留的最为真实。
另外姿态迁移本身是不好用数值量化的,最好的评价是人眼的感知。
所以作者又做了个用户调查,邀请志愿者对三种算法的生成结果进行盲评。
下表是用户调查的结果:
可见,该文算法生成的结果被认为是最为真实。
下图为参数量和速度的比较。Titan X GPU上跑的实验。
该文算法在效果最好的同时,参数量最少,速度最快!
最后作者用该文提出的算法对行人图片进行姿态迁移,为行人重识别生成训练图片。
使用这种增广样本训练的行人重识别算法获得了显著的精度提升。
用这套算法,可以为行人重识别无限扩充样本了!
作者已将代码开源!
论文地址:
https://arxiv.org/abs/1904.03349#
代码地址:
https://github.com/tengteng95/Pose-Transfer
论文代码下载: