童宇青
摘要:人體姿態(tài)估計技術(shù)應(yīng)用前景廣闊,是計算機(jī)視覺領(lǐng)域的重要研究課題之一。本文基于前饋神經(jīng)網(wǎng)絡(luò)進(jìn)行3D人體姿態(tài)估計。實驗結(jié)果表明,本文設(shè)計的網(wǎng)絡(luò)結(jié)構(gòu)在3D人體姿態(tài)估計任務(wù)上取得了較低的誤差,獲得了較好的實驗結(jié)果。
關(guān)鍵詞:前饋神經(jīng)網(wǎng)絡(luò);人體姿態(tài)估計;深度學(xué)習(xí)
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2019)01-0071-02
0 引言
人體姿態(tài)估計是計算機(jī)視覺領(lǐng)域的一個重要研究課題,既具有研究價值又極具挑戰(zhàn)性,在視頻監(jiān)控、智能家居、體感游戲、增強(qiáng)現(xiàn)實和自動駕駛等領(lǐng)域都有著很廣闊的應(yīng)用前景。但人體姿態(tài)估計的研究也面臨著許多挑戰(zhàn)和難點,例如,在身體形狀變化、視角變化、人的自遮擋行為和擁擠的背景條件下,很難在圖像中定位人體。人體姿態(tài)估計的研究已經(jīng)從傳統(tǒng)的通過人工設(shè)計的特征結(jié)合圖形模型[1]來推斷點的位置的方法發(fā)展到基于深度學(xué)習(xí)的主流方法。在計算機(jī)視覺領(lǐng)域,卷積神經(jīng)網(wǎng)絡(luò)[2]取得了前所未有的成功,使用神經(jīng)網(wǎng)絡(luò)幾乎成為研究人體姿勢估計任務(wù)的標(biāo)準(zhǔn)選擇。Deeppose[3]是第一篇將深度學(xué)習(xí)應(yīng)用于人體姿態(tài)估計研究并在當(dāng)時取得最佳成果的文章。三維人體姿態(tài)估計的研究可分為基于RGB圖像的姿態(tài)估計和基于深度圖像的姿態(tài)估計。Julieta等[4]構(gòu)建了一個高效的2D關(guān)鍵點轉(zhuǎn)3D關(guān)鍵點的神經(jīng)網(wǎng)絡(luò),為3D人體姿態(tài)估計提供了一個簡單而有效的基線。基于Julieta等人提出的基線,本文設(shè)計了一種深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
1 網(wǎng)絡(luò)設(shè)計
此基線[4]用來估計給定二維輸入的三維空間中的身體關(guān)節(jié)坐標(biāo)。網(wǎng)絡(luò)的輸入是2D關(guān)節(jié)點的坐標(biāo)x∈,輸出是3D關(guān)節(jié)點的坐標(biāo)y∈。通過學(xué)習(xí)一個函數(shù)f^*:→來最小化數(shù)據(jù)集中N個姿勢的預(yù)測誤差:
f*=
本文設(shè)計的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。有兩個線性層未描繪出來:其中一個線性層的位置在輸入端,其將維度增加到1024維,另一個線性層的位置在最終預(yù)測前,用來得到三維輸出。此網(wǎng)絡(luò)使用了2個殘差塊,總共有12個線性層。網(wǎng)絡(luò)中使用了批量歸一化[5],使得輸入到網(wǎng)絡(luò)每一層的數(shù)據(jù)的方差和均值都在一定的范圍內(nèi),并且數(shù)據(jù)分布相對穩(wěn)定,這樣有利于提高神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)速度。同時批量歸一化可以在一定程度上緩解梯度消失的問題,具有一定的正則化效果。激活函數(shù)使用的是Leaky ReLU函數(shù)。常用的激活函數(shù)有:Sigmoid函數(shù)、Tanh函數(shù)、ReLU函數(shù)和Leaky ReLU函數(shù)。經(jīng)實驗發(fā)現(xiàn):Sigmoid函數(shù)存在飽和使梯度消失的問題,并且函數(shù)的輸出不是以零為中心的。Tanh函數(shù)解決了Sigmoid函數(shù)的輸出不是以零為中心的問題,但是仍然存在梯度由于函數(shù)飽和而消失的問題。與Sigmoid函數(shù)和Tanh函數(shù)相比,ReLU函數(shù)對隨機(jī)梯度下降有很大的加速作用。但是在訓(xùn)練的時候,ReLU函數(shù)存在“Dead ReLU”問題。因此,在本文實驗中采用Leaky ReLU函數(shù)。Leaky ReLU函數(shù)是為解決“Dead ReLU”問題的嘗試,它具備ReLU函數(shù)的所有特征。在激活函數(shù)之后使用Dropout[6],這可以減少神經(jīng)元之間復(fù)雜的自適應(yīng)關(guān)系,迫使網(wǎng)絡(luò)學(xué)習(xí)更魯棒的特征,并在一定程度上避免過度擬合。殘差連接[7]有助于解決梯度消失和梯度爆炸問題,并訓(xùn)練更深層次的神經(jīng)網(wǎng)絡(luò)。
2 實驗分析與結(jié)果
通過減去平均值并除以標(biāo)準(zhǔn)差將標(biāo)準(zhǔn)歸一化應(yīng)用到2D關(guān)鍵點輸入和3D關(guān)鍵點輸出。數(shù)據(jù)集和協(xié)議使用的是Human3.6M[8]。Human3.6M數(shù)據(jù)集有360萬種不同的3D人體姿勢和相應(yīng)的圖像,包含11名專業(yè)演員(6名男性,5名女性)以及17種情景,例如討論、吸煙、拍照、通電話、遛狗、步行等。我們利用Adam[9]訓(xùn)練網(wǎng)絡(luò)100個周期,初始學(xué)習(xí)率設(shè)定為0.001,并呈指數(shù)衰減。Adam是深度學(xué)習(xí)領(lǐng)域最流行的優(yōu)化算法之一。學(xué)習(xí)率是一個重要的超參數(shù)。一般而言,學(xué)習(xí)率太小,訓(xùn)練會變得更加可靠,但是收斂的速度會變慢,優(yōu)化需要很長的時間,而且網(wǎng)絡(luò)很可能會陷入局部最優(yōu);學(xué)習(xí)率太大超過某個極值,loss會停止下降,訓(xùn)練不會收斂,甚至?xí)l(fā)散。網(wǎng)絡(luò)使用批量歸一化的大小為64。線性層的權(quán)重初始化使用Kaiming初始化[10]設(shè)置。神經(jīng)網(wǎng)絡(luò)的權(quán)重初始化方式對收斂速度和模型性能有著重要的影響,合理的權(quán)重初始化方式有助于緩解梯度消失或者梯度爆炸問題。
在Human3.6M數(shù)據(jù)集上的測試結(jié)果示例如圖2所示。圖中左邊是二維的人體姿態(tài),中間是正確標(biāo)注的三維人體姿態(tài),右邊是本文三維人體姿態(tài)估計的結(jié)果。本文設(shè)計的網(wǎng)絡(luò)結(jié)構(gòu)在Human3.6M數(shù)據(jù)集上進(jìn)行測試,取得了68.78mm的平均誤差,獲得了較好的實驗結(jié)果。
3 結(jié)語
本文中,一個輕量級的深度神經(jīng)網(wǎng)絡(luò)可以用來將二維人體關(guān)鍵點映射到三維人體關(guān)鍵點。相對簡單的深度前饋神經(jīng)網(wǎng)絡(luò)可以在三維人體姿態(tài)估計中獲得較低的誤差率。據(jù)信,對網(wǎng)絡(luò)結(jié)構(gòu)的進(jìn)一步探索可能會帶來更好的結(jié)果。此外,三維人體姿態(tài)估計還存在一些普遍問題,如人體關(guān)節(jié)的自遮擋和關(guān)節(jié)相似性。上述問題都是三維人體姿態(tài)估計中尚未解決的問題,也是三維人體姿態(tài)估計從研究到應(yīng)用的障礙之一。
參考文獻(xiàn)
[1] 韓貴金,朱虹.一種基于圖結(jié)構(gòu)模型的人體姿態(tài)估計算法[J]. 計算機(jī)工程與應(yīng)用,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