基于前馈神经网络的3D人体姿态估计
2019-05-13童宇青
童宇青
摘要:人体姿态估计技术应用前景广阔,是计算机视觉领域的重要研究课题之一。本文基于前馈神经网络进行3D人体姿态估计。实验结果表明,本文设计的网络结构在3D人体姿态估计任务上取得了较低的误差,获得了较好的实验结果。
关键词:前馈神经网络;人体姿态估计;深度学习
中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2019)01-0071-02
0 引言
人体姿态估计是计算机视觉领域的一个重要研究课题,既具有研究价值又极具挑战性,在视频监控、智能家居、体感游戏、增强现实和自动驾驶等领域都有着很广阔的应用前景。但人体姿态估计的研究也面临着许多挑战和难点,例如,在身体形状变化、视角变化、人的自遮挡行为和拥挤的背景条件下,很难在图像中定位人体。人体姿态估计的研究已经从传统的通过人工设计的特征结合图形模型[1]来推断点的位置的方法发展到基于深度学习的主流方法。在计算机视觉领域,卷积神经网络[2]取得了前所未有的成功,使用神经网络几乎成为研究人体姿势估计任务的标准选择。Deeppose[3]是第一篇将深度学习应用于人体姿态估计研究并在当时取得最佳成果的文章。三维人体姿态估计的研究可分为基于RGB图像的姿态估计和基于深度图像的姿态估计。Julieta等[4]构建了一个高效的2D关键点转3D关键点的神经网络,为3D人体姿态估计提供了一个简单而有效的基线。基于Julieta等人提出的基线,本文设计了一种深度神经网络结构。
1 网络设计
此基线[4]用来估计给定二维输入的三维空间中的身体关节坐标。网络的输入是2D关节点的坐标x∈,输出是3D关节点的坐标y∈。通过学习一个函数f^*:→来最小化数据集中N个姿势的预测误差:
f*=
本文设计的网络结构如图1所示。有两个线性层未描绘出来:其中一个线性层的位置在输入端,其将维度增加到1024维,另一个线性层的位置在最终预测前,用来得到三维输出。此网络使用了2个残差块,总共有12个线性层。网络中使用了批量归一化[5],使得输入到网络每一层的数据的方差和均值都在一定的范围内,并且数据分布相对稳定,这样有利于提高神经网络的学习速度。同时批量归一化可以在一定程度上缓解梯度消失的问题,具有一定的正则化效果。激活函数使用的是Leaky ReLU函数。常用的激活函数有:Sigmoid函数、Tanh函数、ReLU函数和Leaky ReLU函数。经实验发现:Sigmoid函数存在饱和使梯度消失的问题,并且函数的输出不是以零为中心的。Tanh函数解决了Sigmoid函数的输出不是以零为中心的问题,但是仍然存在梯度由于函数饱和而消失的问题。与Sigmoid函数和Tanh函数相比,ReLU函数对随机梯度下降有很大的加速作用。但是在训练的时候,ReLU函数存在“Dead ReLU”问题。因此,在本文实验中采用Leaky ReLU函数。Leaky ReLU函數是为解决“Dead ReLU”问题的尝试,它具备ReLU函数的所有特征。在激活函数之后使用Dropout[6],这可以减少神经元之间复杂的自适应关系,迫使网络学习更鲁棒的特征,并在一定程度上避免过度拟合。残差连接[7]有助于解决梯度消失和梯度爆炸问题,并训练更深层次的神经网络。
2 实验分析与结果
通过减去平均值并除以标准差将标准归一化应用到2D关键点输入和3D关键点输出。数据集和协议使用的是Human3.6M[8]。Human3.6M数据集有360万种不同的3D人体姿势和相应的图像,包含11名专业演员(6名男性,5名女性)以及17种情景,例如讨论、吸烟、拍照、通电话、遛狗、步行等。我们利用Adam[9]训练网络100个周期,初始学习率设定为0.001,并呈指数衰减。Adam是深度学习领域最流行的优化算法之一。学习率是一个重要的超参数。一般而言,学习率太小,训练会变得更加可靠,但是收敛的速度会变慢,优化需要很长的时间,而且网络很可能会陷入局部最优;学习率太大超过某个极值,loss会停止下降,训练不会收敛,甚至会发散。网络使用批量归一化的大小为64。线性层的权重初始化使用Kaiming初始化[10]设置。神经网络的权重初始化方式对收敛速度和模型性能有着重要的影响,合理的权重初始化方式有助于缓解梯度消失或者梯度爆炸问题。
在Human3.6M数据集上的测试结果示例如图2所示。图中左边是二维的人体姿态,中间是正确标注的三维人体姿态,右边是本文三维人体姿态估计的结果。本文设计的网络结构在Human3.6M数据集上进行测试,取得了68.78mm的平均误差,获得了较好的实验结果。
3 结语
本文中,一个轻量级的深度神经网络可以用来将二维人体关键点映射到三维人体关键点。相对简单的深度前馈神经网络可以在三维人体姿态估计中获得较低的误差率。据信,对网络结构的进一步探索可能会带来更好的结果。此外,三维人体姿态估计还存在一些普遍问题,如人体关节的自遮挡和关节相似性。上述问题都是三维人体姿态估计中尚未解决的问题,也是三维人体姿态估计从研究到应用的障碍之一。
参考文献
[1] 韩贵金,朱虹.一种基于图结构模型的人体姿态估计算法[J]. 计算机工程与应用,2013,49(14):30-33.
[2] Krizhevsky A, Sutskever I, Hinton G E. Imagenet classification with deep convolutional neural networks[C]//Advances in neural information processing systems.2012:1097-1105.
[3] Toshev A, Szegedy C. Deeppose: Human pose estimation via deep neural networks[C]//Proceedings of the IEEE conference on computer vision and pattern recognition.2014:1653-1660.
[4] Martinez J, Hossain R, Romero J, et al. A simple yet effective baseline for 3d human pose estimation[C]//Proceedings of the IEEE International Conference on Computer Vision.2017: 2640-2649.
[5] Ioffe S, Szegedy C. Batch normalization: Accelerating deep network training by reducing internal covariate shift[J]. arXiv preprint arXiv:1502.03167,2015.
[6] Srivastava N, Hinton G, Krizhevsky A, et al. Dropout: a simple way to prevent neural networks from overfitting[J]. The Journal of Machine Learning Research,2014,15(1):1929-1958.
[7] He K,Zhang X,Ren S,et al.Deep residual learning for image recognition[C]//Proceedings of the IEEE conference on computer vision and pattern recognition.2016:770-778.
[8] Ionescu C, Papava D, Olaru V, et al. Human3. 6m: Large scale datasets and predictive methods for 3d human sensing in natural environments[J]. IEEE transactions on pattern analysis and machine intelligence,2014,36(7):1325-1339.
[9] Kingma D P, Ba J. Adam: A method for stochastic optimization[J]. arXiv preprint arXiv:1412.6980,2014.
[10] He K, Zhang X, Ren S, et al. Delving deep into rectifiers: Surpassing human-level performance on imagenet classification[C]//Proceedings of the IEEE international conference on computer vision.2015:1026-1034.
Abstract:Human pose estimation technology has a broad application prospect and is one of the important research topics in the field of computer vision. In this paper, a feedforward neural network is used to estimate 3D human pose. The experimental results show that the network structure designed in this paper achieves a low error in the 3D human pose estimation task and obtains a good experimental result.
Key words:feedforward neural network; human pose estimation; deep learning