周全 甘屹 何偉銘 孫福佳 楊麗紅
摘? 要: 隨著廣大用戶越來越追求人工智能產(chǎn)品的體驗,手勢姿態(tài)估計存在廣闊的應(yīng)用前景,但也是當今計算機視覺的難題。針對目前自頂向下的姿態(tài)估計模式容易受視覺傳感器與目標檢測精度的影響,本文提出基于輕量級手勢姿態(tài)網(wǎng)絡(luò)(Lightweight Hand Pose Net,LHPN)算法的手勢姿態(tài)估計方法,該算法采用Convolutional Pose Machines(CPM)算法的多層次順序結(jié)構(gòu),在每個階段后隱式地將上下文信息融合,并設(shè)計了輕量級主干網(wǎng)絡(luò),以提升手勢姿態(tài)估計的綜合性能?;赟TB數(shù)據(jù)集對比分析不同內(nèi)部結(jié)構(gòu)的LHPN算法性能,并與典型算法進行對比。實驗結(jié)果表明,LHPN算法能夠?qū)κ謩葑藨B(tài)進行準確估計,與CPM算法相比,在AUC方面提升了0.5%,在每幀圖像運算時長方面減少了0.1358 s。
關(guān)鍵詞: 手勢姿態(tài)估計;Lightweight Hand Pose Net;Convolutional Pose Machines;輕量級
中圖分類號: TP391.41 ???文獻標識碼: A??? DOI:10.3969/j.issn.1003-6970.2020.07.013
本文著錄格式:周全,甘屹,何偉銘,等. 基于LHPN算法的手勢姿態(tài)估計方法研究[J]. 軟件,2020,41(07):66-71
Research on Hand Pose Estimation Using LHPN Algorithm
ZHOU Quan1, GAN Yi1,2, HE Wei-ming1,2, SUN Fu-jia1, YANG Li-hong1
(1. College of Mechanical Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China;2. Department of Precision Mechanics, Faculty of Science and Engineering, Chuo University, Tokyo 〒112-8551, Japan)
【Abstract】: As users increasingly pursue the experience of artificial intelligence products, gesture pose estimation has broad application prospects, but it is also a difficult problem in computer vision. In view of the fact that the current top-down hand pose estimation mode is easily affected by visual sensors and object detection accuracy, this paper proposes a hand pose estimation method based on (Lightweight Hand Pose Net, LHPN) algorithm. The algorithm uses the multi-level sequence structure of Convolutional Pose Machines (CPM) algorithm, implicitly combines the context information after each stage, and designs a lightweight backbone network to improve the comprehensive performance of hand pose estimation. Based on STB dataset, the performance of LHPN algorithm with different internal structures is analyzed and compared with typical algorithms. The experimental results show that LHPN algorithm can accurately estimate hand pose. Compared with CPM algorithm, it improves AUC by 0.5% and reduces computation time of each frame of image by 0.1358 s.
【Key words】: Hand pose estimation; Lightweight hand pose net; Convolutional pose machines; Lightweight
0? 引言
所謂姿態(tài)估計,就是將關(guān)節(jié)點聯(lián)系起來判斷人體部位的狀態(tài)和行為[1]。姿態(tài)估計分為自頂向下[17]與自底向上[16]的方法,自頂向下的方法相對來說比較流行且容易實現(xiàn)。目前大多數(shù)研究者借助特殊的視覺傳感器進行自頂向下手勢姿態(tài)估計,文獻[2]提出利用多攝像頭系統(tǒng)來訓(xùn)練關(guān)鍵點檢測器,分析視圖的相關(guān)聯(lián)性,生成圖像上手勢的關(guān)鍵點。文獻[3]提出基于單個深度幀將姿態(tài)參數(shù)分解為一組單個像素的估計,使用均值漂移來聚集局部的像素實現(xiàn)2D的手勢姿態(tài)估計。但自頂向下姿態(tài)估計方法在很大程度上取決于視覺傳感器的可靠性,且很容易受目標檢測精度的影響,一旦檢測目標過多,運行時間會呈線性增長[16]。
針對以上不足,本文提出一種自底向上的RGB圖像手勢姿態(tài)估計方法——基于輕量級手勢姿態(tài)網(wǎng)絡(luò)(Lightweight Hand Pose Net,LHPN)算法的手勢姿態(tài)估計方法。LHPN算法采用Convolutional Pose Machines(CPM)算法[4]的多層次順序結(jié)構(gòu),利用調(diào)節(jié)階段數(shù)的方式來保證算法的精度;為了提升手勢姿態(tài)估計的綜合性能,本文還設(shè)計了輕量級的主干網(wǎng)絡(luò)來保證算法的實時性。
1 ?CPM算法基本原理
CPM算法由一系列的多階段卷積神經(jīng)網(wǎng)絡(luò)組成,形成一個多層次的結(jié)構(gòu),如圖1所示。經(jīng)過每個階段卷積神經(jīng)網(wǎng)絡(luò)生成置信度圖之后,用來預(yù)測階段中每個關(guān)節(jié)點P的圖像位置其中Z為圖像中所有坐標(u,v)位置預(yù)測值的二維集合。對多層次順序結(jié)構(gòu)中的每個階段,用t的集合來表示,t=1的階?? 段在圖1中稱為初始化階段,t>1的階段稱為強化? 階段。
在t=1的初始化階段,特征提取網(wǎng)絡(luò)x從圖像中位置z處提取特征,通過來為初始化階段預(yù)測每個位置的置信度信息,其中,且。
對于任意階段的CPM,使用特征提取網(wǎng)絡(luò)重新提取原圖像特征,與的前向特征映射融合,并在所有階段重復(fù)相同結(jié)構(gòu),其中。在每個階段t之后都計算階段損失值,對算法性能進行局部的監(jiān)督。
CPM算法具有以下缺點:
(1)CPM在特征提取網(wǎng)絡(luò)上未統(tǒng)一,意味著在每次提取原圖像特征上需消耗大量算力
(2)在CPM每個t>1的階段,由于跳躍連接[5]時的尺寸不一致,需計算的前向特征映射,這種方式過于復(fù)雜且消耗算力。
2 ?手勢姿態(tài)估計算法—LHPN算法
針對CPM算法的缺點,在保證手勢姿態(tài)估計準確度的同時,本文提出Lightweight Hand Pose Net(LHPN)算法。該算法思路主要包括三點:
(1)使用更加輕量級(權(quán)重參數(shù)更少)的主干網(wǎng)絡(luò)替代CPM原特征提取網(wǎng)絡(luò),且在結(jié)構(gòu)上只對圖像做一次主干網(wǎng)絡(luò)的特征提取。
(2)在每個階段使用多個小尺寸卷積來減少 參數(shù)。
(3)根據(jù)算法的實驗表現(xiàn),合理地設(shè)計強化? 階數(shù)。
LHPN算法遵循CPM的多層次順序結(jié)構(gòu),其整體結(jié)構(gòu)圖如圖2所示。在保持端到端姿態(tài)估計的前提下,LHPN算法使用主干網(wǎng)絡(luò)生成特征圖F,統(tǒng)一特征提取網(wǎng)絡(luò)。
為了保證LHPN算法精度,針對每張原圖像,在算法初始化階段使用雙線性插值算法[6]將原圖像變換為統(tǒng)一尺寸的輸入圖像P,。
在算法每個階段結(jié)束后引入類似殘差網(wǎng)絡(luò)的跳躍連接,將特征圖F傳遞給下一個階段,保證t(t>1)階段的輸入既融合了特征圖F的特征,又有t–1階段的上下文信息。該方法隱式地將上下文信息聯(lián)系在一起,增大了卷積神經(jīng)網(wǎng)絡(luò)的感受野。
LHPN算法在初始化階段與強化階段使用3個卷積核尺寸為3×3的尺寸不變卷積,其優(yōu)勢為在保
損失函數(shù)的意義是通過式(3)求得每個階段的預(yù)測值與真實值的L2距離(歐式距離)之后再利用式(4)進行累加。得到式(5),其中表示為輸出的置信圖上的坐標點,Z為所有z的集合。表示第t階段預(yù)測的置信度圖在第p個關(guān)節(jié)點的預(yù)測預(yù)測值。表示訓(xùn)練時置信度圖中z坐標位置上第p個關(guān)節(jié)點的真實值。
為了進一步提升算法的速度,本文為LHPN算法設(shè)計輕量級網(wǎng)絡(luò),并將其與經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)進行參數(shù)量與計算量對比。借鑒MobileNet[7]中可分離卷積的思想,利用先深度卷積后逐點卷積的方法替代標準卷積,其原理如圖3所示。
圖3中,用M個維度為的卷積核去卷積對應(yīng)輸入的M個特征圖。得到M個結(jié)果之后,這M個結(jié)果之間互不累加,生成的特征圖尺寸為。接下來利用逐點卷積將N個維度為的卷積核卷積之前得到的特征圖,最終得到。其一次分離卷積的計算量與參數(shù)量表達式為:
如圖4所示為本文改進后主干網(wǎng)絡(luò)結(jié)構(gòu)圖,由18層深度卷積層與逐點卷積層交錯構(gòu)成,為降低主干網(wǎng)絡(luò)的計算量與參數(shù)量,進而提升算法整體的運算速度。該卷積神經(jīng)網(wǎng)絡(luò)輸入與輸出特征圖的尺寸維度與原算法相同,保證算法能正常運行。
根據(jù)表達式(6)(7),該主干網(wǎng)絡(luò)的計算量與參數(shù)量為:
為了進一步證明LHPN算法主干網(wǎng)絡(luò)的輕量性,將該主干網(wǎng)絡(luò)與經(jīng)典主干網(wǎng)絡(luò)對比參數(shù)量與計算量,如表1所示。
表1中VGG16[8]、GoogleNet[9]與AlexNet[10]分別為3種經(jīng)典深度卷積神經(jīng)網(wǎng)絡(luò)模型。在對比之后發(fā)現(xiàn),3種網(wǎng)絡(luò)模型在參數(shù)量與計算量方面都高于LHPN算法主干網(wǎng)絡(luò),從而證明本文設(shè)計的主干網(wǎng)絡(luò)模型較為輕量級。
3 ?基于LHPN算法的手勢姿態(tài)估計
3.1 ?實驗環(huán)境與訓(xùn)練參數(shù)設(shè)置
本文所提出的LHPN算法在文獻[12]中提供的STB手勢姿態(tài)估計公共數(shù)據(jù)集下進行實驗,總共30000張訓(xùn)練圖片和6000張測試圖片。在GTX1060、Ubuntu16.04、Tensorflow1.9.0環(huán)境下訓(xùn)練,并利用CUDA8.0對GPU訓(xùn)練進行加速,如表2所示。
設(shè)置LHPN算法的最大階數(shù)T為6,使用Adam優(yōu)化器優(yōu)化LHPN算法,Adam[11]優(yōu)化器中的參數(shù)為0.9,
為0.999。訓(xùn)練數(shù)據(jù)批處理大?。˙atch size)為8,迭代次數(shù)(Iteration)為3000,如表3所示。權(quán)重參數(shù)初始化方法利用He初始化[13]。
3.2 ?實驗結(jié)果對比與分析
在STB手勢姿態(tài)估計測試集上,利用訓(xùn)練完的LHPN算法進行兩組實驗。第一組實驗是對STB測試集進行手勢關(guān)節(jié)點預(yù)測性能的評估,在算法的不同階段t下,得到不同誤差閾值下的PCK曲線。第二組實驗則是將LHPN算法與現(xiàn)有姿態(tài)估計算法進行對比評估。
針對手勢姿態(tài)估計的效果,本文通過三種指標來評估算法的性能:
(1)在像素上的平均節(jié)點誤差(Endpoint Error,EPE)[14]。
(2)繪制在不同誤差閾值下的正確預(yù)測關(guān)節(jié)點的百分比(Percentage of correct keypoints,PCK)曲線下的面積(Area Under Curve,AUC)[15]。
(3)每一幀圖像手勢姿態(tài)估計的運算時長。
EPE的計算為根據(jù)任意手指關(guān)節(jié)點,其真實值的像素坐標為,通過算法得到的像素位置坐標為,則其手指關(guān)節(jié)點的EPE表達式為
在STB測試集上對次訓(xùn)練完的LHPN算法進行6次評估,根據(jù)不同像素誤差閾值,計算PCK的值,獲得6個階段的評估曲線,如圖5所示。圖5中顯示在像素誤差閾值15以內(nèi)時,算法每個階段的關(guān)節(jié)點預(yù)測表現(xiàn)有所不用,階段數(shù)t越大,關(guān)節(jié)點預(yù)測準確率越高。從圖5中還能看出,當t>4時,LHPN算法的AUC增長速度緩慢,幾乎與前一階段相同。
根據(jù)表達式(8)計算每個階段t的EPE平均? 值,并利用程序統(tǒng)計每個階段的幀運算時長和圖5中的AUC,結(jié)果如表4所示。
表4中AUC的值在t=4階段增長緩慢,在t=6時的AUC較t=4時的AUC提升了0.3%,與圖5曲線相吻合。但每幀手勢姿態(tài)估計的運算時長在t=6時為0.0833 s,與t=4階段相比增加約8%。由表4可知,t=4時LHPN算法的綜合性能最強。
將LHPN算法與經(jīng)典算法CPM、Openpose[16]在STB數(shù)據(jù)集上進行對比,如表5。
由表5可知,LHPN算法在AUC指標上超過CPM算法0.5%,在幀運算時長上減少了0.1358 s。與Openpose算法相比,LHPN算法在每幀圖像運算時長上減少了0.0435 s。
LHPN算法在STB測試集上的手勢姿態(tài)估計的實際效果如圖6所示。
4 ?結(jié)論
本文在CPM算法的基礎(chǔ)上,提出了基于LHPN算法的手勢姿態(tài)估計方法,統(tǒng)一特征提取的主干網(wǎng)絡(luò),輕量化整個算法模型結(jié)構(gòu)。在STB數(shù)據(jù)集下,本文分析了LHPN算法在不同結(jié)構(gòu)下的性能,得出最優(yōu)算法模型。通過LHPN算法與現(xiàn)有經(jīng)典算法的比較可知,LHPN算法相對CPM算法在AUC上提升0.5%,在幀運算時長上減少0.1358 s,證明該算法針對手勢姿態(tài)識別的有效性。
參考文獻
Varun Ramakrishna; Daniel Munoz; Martial Hebert; James Andrew Bagnell; Yaser Sheikh. Pose Machines: Articulated Pose Estimation via Inference Machines[J]. Computer Vision – ECCV 2014, 2014, Vol. 8690: 33-47.
Simon, Tomas; Joo, Hanbyul; Matthews, Iain; Sheikh, Yaser. Hand Keypoint Detection in Single Images using Multiview Bootstrapping[J]. 30TH IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR 2017), 2017: 4645-4653
Wan, C.; Probst, T.; Gool, L. V.; Yao, A. Dense 3D Regression for Hand Pose Estimation[J]. Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2018: 5147-5156.
Wei, S. -E.; Ramakrishna, V.; Kanade, T.; Sheikh, Y.. Convolutional pose machines[J]. Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2016: 4724-4732.
Li, J.; Fang, F.; Mei, K.; Zhang, G.. Multi-scale residual network for image super-resolution(Conference Paper)[J]. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2018, Vol. 11212: 527-542.
Wei, X.; Wu, Y.; Dong, F.; Zhang, J.; Sun, S.. Developing an image manipulation detection algorithm based on edge detection and faster R-CNN[J]. Symmetry, 2019, Vol. 11(10).
Sandler, M.; Howard, A.; Zhu, M.; Zhmoginov, A.; Chen, L. -C.. MobileNetV2: Inverted Residuals and Linear Bottlenecks[J]. Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2018: 4510-4520.
Karen Simonyan; Andrew Zisserman. Very Deep Convolutional Networks for Large-Scale Image Recognition[J]. Computer Science, 2014.
Christian Szegedy; Wei Liu; Yangqing Jia; Pierre Sermanet; Scott Reed; Dragomir Anguelov; Dumitru Erhan; Vincent Vanhoucke; Andrew Rabinovich. Going Deeper with Convolutions[J]. Computer Science, 2014.
Alex Krizhevsky; Ilya Sutskever; Geoffrey E. Hinton. ImageNet classification with deep convolutional neural networks[J]. Communications of the ACM, 2017, Vol. 60(6): 84-90.
Diederik Kingma; Jimmy Ba. Adam: A Method for Stochastic Optimization[J]. Computer Science, 2014.
Jiawei Zhang; Jianbo Jiao; Mingliang Chen; Liangqiong Qu; Xiaobin Xu; Qingxiong Yang. 3D hand pose tracking and estimation using stereo matching[J]. arXiv, 2016: 11.
He, Kaiming; Zhang, Xiangyu; Ren, Shaoqing; Sun, Jian. Deep Residual Learning for Image Recognition[J]. 2016 IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR), 2016: 770-778.
Zimmermann, C.; Brox, T.. Learning to Estimate 3D Hand Pose from Single RGB Images[J]. Proceedings of the IEEE International Conference on Computer Vision, 2017, Vol. 2017: 4913-4921.
ZHAO Baojun, ZHAO Boya, TANG Linbo, WANG Wenzheng, and WU Chen. Multi-scale object detection by top-down and bottom-up feature pyramid network[J]. Journal of Systems Engineering and Electronics, 2019, Vol. 30(1): 1-12.
Cao Z; Hidalgo Martinez G; Simon T; Wei SE; Sheikh YA. OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields[J]. IEEE Transactions On Pattern Analysis And Machine Intelligence, 2019.
Fang, HS (Fang, Hao-Shu) 1; Xie, SQ (Xie, Shuqin) 1; Tai, YW (Tai, Yu-Wing) 2; Lu, CW (Lu, Cewu) 1; IEEE. RMPE: Regional Multi-Person Pose Estimation[J]. 2017 IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION (ICCV), 2017: 2353-2362.
Yi Lu; Yaran Chen; Dongbin Zhao; Jianxin Chen. Graph- FCN for Image Semantic Segmentation[J]. Advances in Neural Networks – ISNN 2019, 2019.