許志豪,高 銘,殷紹軒,崔 杰
(北京信息科技大學(xué) 計算機學(xué)院,北京 100101)
當(dāng)前,人體動作識別已經(jīng)廣泛應(yīng)用于視頻監(jiān)控、運動分析和醫(yī)療檢測等場景,關(guān)于人體姿態(tài)識別的研究越來越多。2003年,任海兵提出姿態(tài)識別和動作過程識別,歸納出基于統(tǒng)計、模板和語法的方法。2014年,李瑞峰等人將人體動作行為識別問題歸納為計算機經(jīng)過檢測動作數(shù)據(jù)而獲得符號化動作信息,繼而理解其特征的過程。同年,劉飛分析了深度圖像應(yīng)用于動作識別的可行性。2016年,吳軍等人針對人體動作的識別問題提出了一種運用深度卷積神經(jīng)網(wǎng)絡(luò)的方法,在Actitracker開源數(shù)據(jù)庫上達到了91.26%的識別率,使深度學(xué)習(xí)運用于人體動作識別。
現(xiàn)有研究表明,隨著中國冬奧會的成功舉辦,冬季運動在中國日漸流行,其中最典型的就是滑雪運動。2019年,中國滑雪產(chǎn)業(yè)白皮書指出,當(dāng)年國內(nèi)滑雪場的滑雪人次多達2 090萬。但由于滑雪運動具有一定的安全隱患,不正確的滑雪姿勢會對人體造成傷害。動作分類可用于規(guī)范滑雪者的動作,減小受傷的概率,并且目前動作識別領(lǐng)域中關(guān)于滑雪運動的模型仍然少見,本文進行的滑雪動作分類框架開發(fā)可以為后續(xù)滑雪動作的識別評估等更深層次的研究提供有益基礎(chǔ)。
本文搭建的滑雪動作分類框架,主要由2個部分組成:OpenPose識別提取人體關(guān)鍵點信息,STGCN模型處理數(shù)據(jù)并進行分類,其主要流程如圖1所示。首先使用OpenPose識別訓(xùn)練集視頻中的人體關(guān)鍵點信息,其次通過Python編寫腳本,將單個視頻中連續(xù)的單幀的人體關(guān)鍵點信息按照時間序列分組構(gòu)建骨架時空圖,每幅圖中包含有300幀的人體關(guān)鍵點信息。然后,將骨架時空圖輸入到STGCN中訓(xùn)練模型、提取特征、得到分類器。
圖1 滑雪動作分類框架工作流程圖Fig.1 Work flow chart of skiing action classification framework
OpenPose是由美國卡耐基梅隆大學(xué)(CMU)基于卷積神經(jīng)網(wǎng)絡(luò)和監(jiān)督學(xué)習(xí)算法開發(fā)的一個用于檢測2D圖片中人體關(guān)鍵點(面部,四肢等)的開源實時系統(tǒng)。
由于在實際滑雪中,一張照片中極可能會有多人同時出現(xiàn)的情況,且人與人之間存在接觸、遮擋等復(fù)雜的空間干擾問題。傳統(tǒng)的自頂向下人體關(guān)鍵點識別算法,由于是先識別到人,再識別身體關(guān)鍵點,使得其結(jié)果嚴(yán)重依賴行人檢測器,且人數(shù)越多的情況下,所花費的時間就越多,導(dǎo)致關(guān)鍵點信息不能實時輸出。
OpenPose區(qū)別于傳統(tǒng)識別算法的是,研究時使用了自下而上的人體關(guān)鍵點信息識別,即尋找出人體的各個部位,再通過部分親和域(Part Affinity Fields)連接各部分。這使得OpenPose具有高魯棒性、可實時輸出的優(yōu)點。所以本文選擇使用OpenPose識別人體關(guān)鍵點信息。
OpenPose的算法流程如圖2所示。由圖2可知,先將整個圖片作為卷積神經(jīng)網(wǎng)絡(luò)的輸入(見圖2(a)),來聯(lián)合預(yù)測身體部位檢測的置信度(見圖2(b))和研究求得用于部位關(guān)聯(lián)的部分親和域(見圖2(c),圖2(d))。參見圖2(e)中,解析方法執(zhí)行一組二分匹配在候選的關(guān)鍵點里尋找最為接近的。最后參見圖2(f),將圖像中所有人的人體關(guān)鍵點組合起來。
圖2 OpenPose算法流程Fig.2 OpenPose algorithm flow chart
考慮到OpenPose的高魯棒性和可實時輸出的優(yōu)點,研究中用其來完成滑雪運動時人體關(guān)鍵點的提取工作,但OpenPose不具備動作分類的能力,因而本文選用了STGCN算法訓(xùn)練分類器。
對于OpenPose識別輸出的人體關(guān)鍵點信息可以被視為一種拓?fù)浣Y(jié)構(gòu)。由于傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)(CNN)無法很好地解決非歐氏空間數(shù)據(jù)帶來的問題,不能有效提取出其空間特征,且提取出的特征缺乏泛化性,而GCN在提取拓?fù)鋱D的空間特征方面具有優(yōu)越的性能。另經(jīng)研究發(fā)現(xiàn),在滑雪過程中,完成某個動作都需要一定的時間,即在完成該動作的過程中,人體關(guān)鍵點在時間維度上具有一定的特征。因此選用時空圖卷積網(wǎng)絡(luò)STGCN作為本文動作分類的模型。
STGCN模型是由香港中文大學(xué)提出的一種時空圖卷積網(wǎng)絡(luò)模型,即將時域卷積神經(jīng)網(wǎng)絡(luò)TCN和圖神經(jīng)網(wǎng)絡(luò)GCN結(jié)合,處理有時序關(guān)系的圖結(jié)構(gòu)數(shù)據(jù)。如圖3所示。STGCN是同時在時序和空間兩個維度上進行卷積并提取特征,由此得出模型。圖卷積神經(jīng)網(wǎng)絡(luò)GCN是對輸入的數(shù)據(jù)進行空間卷積,即不考慮時間的因素,在同一時序的不同點的數(shù)據(jù)進行卷積運算。時間卷積網(wǎng)絡(luò)TCN是對輸入數(shù)據(jù)進行時序卷積,并考慮不同時序同一特征點的關(guān)系,卷積作用于不同時序同一點的數(shù)據(jù)。
圖3 STGCN算法流程[8]Fig.3 STGCN algorithm flow chart[8]
本文使用自制數(shù)據(jù)集,共有200個視頻,分為11個類別:平地滑行、平行直滑降、犁式直滑降、犁式制動、半犁式轉(zhuǎn)彎、犁式轉(zhuǎn)彎(深?。⑵叫修D(zhuǎn)彎(中彎)、變向橫滑降、點仗小彎滑行、大彎刻滑、蘑菇雪道滑行。訓(xùn)練集與測試集比例為8:2。
本文的實驗環(huán)境配置如下:操作系統(tǒng)為Ubuntu 18.04LTS,GPU為GeForce RTX 2080。
由于OpenPose只是在二維圖像上提取人體關(guān)鍵點信息,這些信息中只包含了動作的空間特征而沒有時間特征。為了彌補這一不足,本文使用Python編寫腳本程序,程序功能如圖4所示,將OpenPose識別得到的單幀的人體關(guān)鍵點信息構(gòu)建為帶有時間序列的骨架時空圖。
圖4 骨架時空圖Fig.4 Skeleton spatial-temporal diagram
在STGCN訓(xùn)練的過程中,通過調(diào)整和訓(xùn)練參數(shù),最終選取其中準(zhǔn)確率最好的一組參數(shù):學(xué)習(xí)率為0.1、批處理量為32、訓(xùn)練數(shù)為50。訓(xùn)練過程中的平均損失值如圖5所示。從圖5中可以看出STGCN算法基本收斂,從中選取平均損失值較低的3個模型進行比較。比較結(jié)果見表1。由表1可以看出為39時,各項數(shù)值都達到了最優(yōu)的結(jié)果。所以選擇為39的模型作為本文框架所使用的滑雪動作分類器。
圖5 訓(xùn)練過程mean_loss隨訓(xùn)練epoch的變化圖Fig.5 The change of mean_loss with epoch
表1 模型訓(xùn)練評估Tab.1 Model training evaluation
使用該分類器在測試集上進行測試,輸入動作已知的視頻,驗證輸出結(jié)果。測試樣例如圖6所示。由圖6分析可知,識別結(jié)果正確,為大彎刻滑(Big bend craving)。經(jīng)過測試,分類器在測試集上的表現(xiàn)與驗證集基本吻合,具有較高的準(zhǔn)確率。
圖6 模型測試效果圖Fig.6 Model test effect diagram
實驗結(jié)果表明,本文建立的滑雪動作分類框架,優(yōu)于直接使用傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)CNN進行動作分類,可以做到高準(zhǔn)確率、且實時地對滑雪視頻進行分類。傳統(tǒng)CNN由于模型的限制并不能直接分析視頻,這導(dǎo)致滑雪動作在時間維度上的特征被忽略。并且由于CNN不能識別非歐氏數(shù)據(jù),只能將整張圖片作為輸入,而本文框架使用了OpenPose提取人體關(guān)鍵點信息,使得需要運算的數(shù)據(jù)量大為降低,運算時間縮短到了可實時的程度。
本文使用OpenPose處理視頻,得到單幀的人體關(guān)鍵點信息,然后通過自制腳本合并為帶有時間序列的多幀集合,最后使用STGCN算法訓(xùn)練模型,得到分類器。使用該分類器可以完成滑雪視頻中的動作識別和實時滑雪動作的識別。本文為后續(xù)滑雪動作方面的研究做了鋪墊,填補了這方面的空白?;贠penPose和STGCN的滑雪動作分類器具有較高的準(zhǔn)確性和較快的運行速度,但是該模型仍存在一定的局限性,在視頻畫質(zhì)模糊的情況下分類效果較差,在后續(xù)工作中可以嘗試使用圖像增強來改善分類效果。