史健 李毅
摘要:通过单目RGB摄像头自动估计人体三维姿态是一个重要的、具有挑战性且仍未被解决问题,主流算法大多基于监督学习的深度学习方法,但是这种方法的效果受训练数据质量的影响很大,而标定好的三维人体姿态数据集相对稀缺,阻碍了这一问题的进一步的研究。在现有标记数据有限的情况下,利用人体姿态信息在二维空间和三维空间上存在的内在关系,提出了一种基于自监督学习和监督学习相结合的半监督学习训练方式的三维人体姿态估计方法,并在Human3.6M数据集上用占数据总量不到40%的带标记数据的半监督训练模型,达到了接近90%的监督训练模型的测试效果,为数据缺乏问题提供解决思路。
关键词:深度学习;半监督学习;人体姿态估计;自监督学习;空洞卷积
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2021)12-0016-02
1引言
人体姿态估计的任务是估计图像或者视频中人体各个关键骨骼点的空间位置,基于单目RGB摄像头进行人体姿态估计有着广泛地应用前景,例如动画制作、虚拟现实、增强现实、行为识别、人机互动、安防监控等,同时作为一个仍未被完全解决的学术问题,人体姿态估计也有着很高的研究价值。在过去的30年中,在图像序列和视频序列中自动估计人体姿态信息始终是计算机视觉领域的热门研究方向。
2 三维人体关键点估计的研究现状
在深度学习取得重大突破之前,大部分三维人体姿态估计算法都是基于特征工程设计或者根据人体骨骼和关节活动性建模,但由于需要大量手工标注特征,同时泛化性较差,只能在部分场合得到一些应用;而深度学习的出现为三维人体姿态估计提供了一种端到端、无须手工标注特征的优秀解决方案。
但受制于三维人体骨骼点信息采集复杂,设备昂贵,同时现有数据集都是在室内专业条件下采集,对于室外场景处理效果不佳,为了解决这些问题,许多基于自监督、半监督和弱监督的深度学习方法逐渐出现,并取得了接近监督学习的效果。
2.1深度学习算法
二维人体姿态估计已经取得了非常多的优秀成果,例如CPN、OpenPos等,许多三维人体姿态估计的工作都是基于这些效果很好的二维检测器,或直接回归骨骼点的深度信息,或在将二维坐标根据一定的映射关系直接提升到三维坐标。
2.2半监督学习
半监督学习主要在未标记的数据中挖掘数据本身的特征,这种方法已经在许多领域有了行之有效的实践结果。一些工作将从二维姿态中学习到的特征按照一定关系转换成三维姿态特征,例如使用多视角相机采集数据,学习三维姿态的特征表达,从而生成三维姿态信息,但是这种方法最大的问题是模型的泛化性比较一般,对于训练数据中的环境参数较为敏感,而且多角度数据训练较为复杂,不能应用到无监督环境。另一些工作利用对抗生成网络可以区分真实数据和虚假数据的特性,将未标记的二维和三维数据一起送入对抗生成网络,将三维姿态映射成为二维姿态后与送入的二维姿态数据进行比对,学习三维姿态的生成表达式,而这种问题同样存在一定的局限性,模型只能学习到训练数据中所包含到的姿态信息的特征表达,而对于未训练到的情况表现并不理想。
2.3本文工作
本文工作为了能更加有效地在时序维度进行卷积提取帧间信息,对于人体各关键点的预测直接以坐标形式进行回归;并用全卷积网络代替循环神经网络,即并行利用了时序序列信息,也通过舍弃部分池化层在卷积过程中保留了更多的图像信息,同时还没有降低网络的感受野,放弃使用大量环境参数加上相机参数的模式,仅仅使用相机参数对二维进行提升,减少了计算的复杂度。
3 基于半监督学习的三维人体姿态估计
3.1网络结构
本文网络结构如图1,首先采用鲁棒性较好的Mask-RCNN网络作为二维检测器,选取人体17个骨骼点作为表示人体姿态的表示向量,直接回归二维姿态各骨骼点的坐标,随后选取当前帧和当前帧前后相隔两帧的数据作为输入送入下一级的时序模型。
本文采用空洞全卷积网络代替以往用来进行时序卷积的循环神经网络,使得网络可以并行地对姿态序列进行卷积,更加快速和有效地提取帧间关联信息,时序模型结构如图2,主要由四个相同的带残差结构的模块级联而成,输入为二维检测器输出的17个二维骨骼点坐标,经过时域模块卷积后将结果送入全连接层,根据相机参数将二维骨骼点提升至三维坐标,得到最终的17个三维骨骼点坐标信息。
3.2半监督学习
半监督学习应用在训练过程中,主要由两部分,一部分是传统的监督学习,将标记好的数据送入网络,先通过二维检测器得到各骨骼点的坐标,同时记录下每个骨骼点的距离,也就是相应的骨骼长度;之后将二维骨骼点数据送入后续时序卷积模块预测各个骨骼点的三维坐标,与标记数据进行对比,计算损失函数,形式为交叉熵,随后通过反向传播算法更新网络权重,重复这一过程一定次数后,网络可以近似学习到数据的分布规律,使得预测结果更加准确。在每一个批次训练完成之后,对各个骨骼长度取平均值并记录,保存等待自监督学习时使用。
训练过程中的另一部分就是利用大量无标签数据的自监督学习。自监督学习过程成中,网络读入无标記的数据,预测得到二维和三维关键点信息,将三维坐标结合监督学习中获得的骨骼长度,将骨骼长度作将三维坐标重新映射回二维坐标的软限制,使得重新映射成二维的人体姿态中的各个骨骼长度与原图像中更为接近,保证重映射过程的准确性。最后将两种二维坐标的差距作为损失函数,形式同样为交叉熵,并根据损失函数更新网络参数。实际训练中,监督学习和自监督学习根据标记数据在所有训练数据中的比例交替进行,监督训练先行进行。
4 实验
4.1 Human3.6M数据集
Human3.6M[3]数据集是由专业团队利用专门的动捕设备在室内采集制作的大型三维人体姿态数据集,一共包括11个对象的360万帧图像,并对其中7个对象的三维姿态进行了标注,每个对象都用4部同步相机记录了15种不同的动作。本文工作选取子集S1和S5作为监督训练的数据集,分别以这两个数据子集10%、30%、50%、70%和90%数据容量,与作为自监督训练的无标记数据的子集S6、S7和S8进行了五次200批次的半监督训练,每次训练都以0.001作为初始学习率,每个批次的学习率衰减系数为0.95,五次训练标记数据占总训练数据的比重分别为6.6%、17.4%、26.0%、33.0%和38.8%。训练结束后在子集S9和S11上测试模型效果,实验结果如表1所示。
4.2 评价标准
实验以毫米级的平均关键点位置误差(MPJPE)作为评价指标,该指标为每个预测的关键点位置与真值的关键点位置的欧氏距离的平均值的总和,实现方式与主流工作保持一致。
4.3实验结果
从整体上来看,随着标记数据的不断增加,半监督学习的预测效果与监督学习的预测效果明显缩小,但测试效果的提升也在逐渐变弱,从表中可以发现70%组合90%组提升差距已经明显变小,在部分动作中的效果甚至降低了;同时从表中可以发现是用少量的已标记数据进行半监督训练就可以获得非常接近监督训练的性能,甚至在个别动作的测试中半监督学习的效果甚至优于监督学习,说明使用大量的标记数据虽然能有效提升性能,但是有可能带来模型在部分情况下产生过拟合,这一问题可能会在模型实际应用中到来不少的麻烦,而基于半监督学习的训练方法在一定程度上减少了来自冗余数据的影响。
5 结语
本文的实验结果说明了即便缺少充分的三维标记数据,大量的无标记数据本身存在巨大的价值,通过合适的方法对无标记数据进行挖掘,建立巧妙的半监督学习模式来利用无标记数据,即便数据不充足也可以取得很好的训练效果。随着深度学习领域的不断细分,算法落地场景越来越具体,数据问题带来的阻碍越来越大,利用少量数据进行半监督学习是最好的解决方案之一。
参考文献:
[1] Cao Z,Simon T,Wei S H,et al.Realtime multi-person 2D pose estimation using part affinity fields[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).July 21-26,2017,Honolulu,HI,USA.IEEE,2017:1302-1310.
[2] Rhodin H, Salzmann M, Fua P. Unsupervised geometry-aware representation for 3D human pose estimation[M]//Computer Vision – ECCV 2018.Cham:Springer International Publishing,2018:765-782.
[3] Tung H Y F,Harley A W, Seto W,et al. Adversarial inverse graphics networks:learning 2D-to-3D lifting and image-to-image translation from unpaired supervision[C]//2017 IEEE International Conference on Computer Vision (ICCV).October 22-29,2017,Venice,Italy.IEEE,2017:4364-4372.
[4] 鄧益侬,罗健欣,金凤林.基于深度学习的人体姿态估计方法综述[J].计算机工程与应用,2019,55(19):22-42.
[5] 王伟楠,张荣,郭立君.结合稀疏表示和深度学习的视频中3D人体姿态估计[J].中国图象图形学报,2020,25(3):456-467.
【通联编辑:闻翔军】