这篇文章主要做两件事:
- 造了一个体态估计数据集:UP-3D。主要借助了改进的SMPLify方法和人工分拣。
- 体态估计:用UP-3D数据集分别预测人体31部分分割,91个landmarks。这意味着训练集大小降低一个量级,训练时间也降低一个量级,却能够保持良好的性能。
第一部分,构造数据集,下面是两个准备工作:
(1)由2D图片人物,用SMPLify方法生成的3D模型,是通过最小化目标函数实现的,这个目标函数包含一些项,可用来表现人物的姿态和体型。
本文也用SMPLify方法生成3D模型,但是对目标函数作了改造:
在目标函数上加以上一项,使得该方法生成的人的体型更加准确了。
而由于本文认为第二项的噪声更大,所以第二项用的是L1距离。注意,第一项和第二项是不同的,看下面的示意图:
顺带提一嘴,这张图是我用win10自带的画图画的,现在画图已经这么智能了吗哈哈哈哈哈哈。红色的是3D模型的投影图片,蓝色的被遮盖的图片剪影S,此时S大于
。
若图片剪影大于3D模型的投影,且二者位置如图,显然此时第一项为0,第二项不为0了。
至于加入该项会对SMPLify方法有什么影响?原本关节点间的长度是衡量人体型的唯一标准,这能表现出一个人的高大或者矮小,却不能表现人的胖瘦程度,而用3D模型的投影和2D剪影做匹配,就能反映出这个信息。
在这里S表示的2D人物剪影,是用算法自动生成的(至于什么算法论文正文没有提到),为了更可靠,在此基础上人工为2D剪影和人体分割的六个部分做了注释。
(2)有了3D模型和与之对应的人物图片集合,这里再调节一下一些真值的关键点,是用下面的公式调整的:
猜测:本文假定人体的关节点的长度和size(不知道size和shape是不是都代表体型)之间呈偏态分布,就在这里用correct mean找到解,由我们已经推测出的人体size调整关节点的位置。
有了以上的准备就可以构造数据集了,步骤如下:
为四个现成的图片数据集,LSP,LSP-extended和MPII-HumanPose,FashionPose生成3D的人体模型 ——》调整生成的关键点真值——》人工分拣表现良好的图片加入数据集——》将这个初步数据集起名为UPI-3D。
有关人工分拣的部分,如下表所示,也就是这四个数据集里的总共27000+张图 ,以及生成的对应3D模型,真正能够被人工挑选进UPI-3D数据集里的,也就只有5000+张图,其中1000+是作为测试集而存在的。
第二部分,用UPI-3D做体态估计。
现在我们有了一个数据集,就可以用它来做体态估计的网络训练了,当然这也是搜集该数据集的最终目的。本文后半部分的体态估计实验,分别对人体的分割,关键点估计和3D人体进行预测。
在预测的时候,使用的是别人的网络DeeperCut CNN,没有做任何改动,在UPI-3D上训练,然后做了预测。
训练DeeperCut CNN时,做了三次训练作对比:
(1)原始数据集(LSP + LSP-extended + MPII-HumanPose = 52000+张图片)
(2)UPI-P14h(有14个人工标注的关键点的训练集,5500+张图片)
(3)UPI-P91(SMPL生成的91个landmarks,也是5500+张图片)
这里最主要的结果,就是UP数据集作为训练集时,数量比原始数据集减少了一个数量级,得到的效果却是差不多的,有时甚至是更好一些,这意味着我们如果用UP数据集做体态估计,所用的时间会少得多,而得到的效果却毫不逊色。
除此之外,在UPI-3D数据集上,又融合了Fashion Pose数据集作为补充,该数据集的关键点标注和以上三个数据集不同,它没有脖子关节,头顶的关键点是由鼻子代替的。为了融合该数据集,这里调整fitting目标:为关键点加上鼻子,并将头顶关键点从目标函数中移走。大功告成之后,就成为了真正的UP数据集,比起原来的UPI-3D数据集多了1500+张图片。
最后的最后,关于closing the loop:
通过训练3Dfitting的结果提升了,于是可以用提升的结果来扩大数据集。数据集扩大了以后,可以再次训练,进一步提高3D飞艇结果,提升的结果再来扩大数据集。数据集扩大了以后,可以再次训练,进一步提高3D飞艇结果,提升的结果再来扩大数据集。数据集扩大了以后,可以再次训练,进一步提高3D飞艇结果,提升的结果再来扩大数据集。数据集扩大了以后,可以再次训练,进一步提高3D飞艇结果,提升的结果再来扩大数据集。数据集扩大了以后,可以再次训练,进一步提高3D飞艇结果,提升的结果再来扩大数据集。数据集扩大了以后,可以再次训练,进一步提高3D飞艇结果,提升的结果再来扩大数据集。数据集扩大了以后,可以再次训练,进一步提高3D飞艇结果,提升的结果再来扩大数据集。
哈哈哈,我把这句话复制了几次,也就是说这是一个良性循环的过程,3Dfitting结果提升和数据集扩大相互促进。但是本文只是提了一嘴,没有具体这么做过。