楊 剛,張宇姝,宋 震
1.北京林業大學 信息學院,北京100083
2.中央戲劇學院 傳統戲劇數字化高精尖研究中心,北京100710
人體動作識別和動作評價是當前的研究熱點。動作識別是對輸入的視頻或3D 動作數據進行分析處理,以判斷不同動作分別屬于哪種類別。動作識別技術在人機交互場景、監控視頻、手勢識別、康復訓練、機器人和行為理解等各種行業都有著實際的運用價值。動作評價則是對特定動作的完成質量進行評判。它一般應用于體育、舞蹈、太極拳等專業領域之中,不僅可以輔助裁判、教練進行評分,更重要的是幫助人們進行動作分析與訓練。
動作識別與動作評價的區別在于:動作識別其實是一種多分類性質的問題,它的側重點是實現將輸入的數據和作為參考的標準數據進行相似度的對比,然后為不同動作分配所屬的類型標簽;而動作評價則有更強的專業領域針對性,它必須與領域內的專家經驗相結合,構建專業的評價標準,其不僅需要對比動作的外觀相似性,還需要對動作的規范性、完成質量甚至藝術性進行評價,從而輔助人們對動作的深度分析。但同時,動作識別與動作評價也有緊密聯系,二者在技術流程和方法上也有著很多共通之處。動作評價往往需要在動作識別的基礎上完成。
早在20 世紀70 年代,Johansson的移動光斑的運動感知實驗,就證實了可以借助二維模型分析三維的人體運動信息,引發了很多研究人員對人體動作識別的研究興趣,后續關于動作識別的研究工作大量涌現,并取得了顯著成果。另一方面,有關動作評價的研究則還處于起步階段,雖然有一些成功案例,例如高爾夫揮桿動作、羽毛球揮拍動作等體育運動中的動作,但所能處理的主要是單一且重復度高的動作。而對于更為復雜的動作,比如競技健美操、舞蹈、24 式太極、戲曲等則力不從心。對于這些復雜動作,不應該只是單純地比較“外觀相似度”,還需要在更深層次的“專業相似度”上有所突破。
經過充分而深入的調研,論述了動作識別與動作評價存在的區別與聯系,并從完整的數據處理流程的角度出發,歸納了動作識別與動作評價的技術框架。圍繞這一框架,從數據類型、預處理、特征描述、識別方法、評價方法等各個環節分析、總結了經典方法以及最新研究進展,并將其按照技術特點分類。最后探討了當前研究所面臨的關鍵問題及未來發展趨勢。
動作識別是計算機視覺領域一個重要的研究課題,人們已經開展了大量的研究,并且已經出現了一些相關的綜述論文。徐光祐等人主要從視覺處理的角度來分析動作識別,從動作的定義、特征提取和動作表示、動作理解的推理方法三方面對動作識別進行了綜述。Wu 等人則將重點放在了深度學習上,綜述了各種最新的基于深度學習的技術,用于三種類型的數據集:單視點、多視點和RGB-D 視頻上進行人體動作識別。Presti 等人則總結了基于3D 骨骼的動作識別的技術和方法,側重于分析數據預處理、公開可用的3D 數據集和精度度量標準等方面,此外他們還提出了基于骨骼的動作特征描述的分類。
上面這些綜述工作各有其側重點,或者聚焦于視覺處理的關鍵問題,或者聚焦于骨骼數據識別方法,或者聚焦于深度學習方法。而本文的思路與這些綜述不同,是從整體的數據處理流程的角度出發進行關鍵模塊的梳理,并將動作識別與動作評價兩類問題歸納到了一個統一的技術框架中(圖1)。如圖1 所示,動作識別與動作評價這兩類問題既有相同的部分,也有各自獨特的部分。其中,數據類型、數據預處理、特征描述三部分是動作識別與動作評價的共通之處,它們對動作識別和評價都有基礎意義;而在隨后的方法部分,則由于應用需求和研究目標之不同,動作識別與動作評價有顯著差異。本文即依據此技術框架對各個模塊進行系統的介紹與分析。

圖1 動作識別與動作評價的技術框架圖Fig.1 Technical framework of action recognition and action evaluation
值得一提的是,目前尚無動作評價相關的綜述,本文首次將這一問題進行了比較系統的介紹和討論,可以為希望從事相關研究的人員提供一定的參考。
有很多與動作識別有密切關系的概念和技術,如人體姿態估計(human pose estimation)、動作檢測(action detection)、行為識別(activity recognition)等。姿態估計是將圖像和視頻中存在的人物肢體檢測出來的技術。姿態估計不僅要檢測,還要進一步重建人的肢體和關節,它得到的是重建出的人體關節向量,而不是類別的標簽。與之不同,動作識別的目的就是要得到動作的類別標簽。姿態估計與動作識別之間有密切聯系,很多動作識別算法就是在姿態估計基礎上進行特征提取與分類。文獻[23-24]等對姿態估計進行了系統介紹,而本文的重點則不放在姿態估計上,而是放在了動作的特征描述與識別、評價上。
動作檢測是指從視頻中定位出發生特定動作的視頻段,并將其分類。標記出目標動作的邊界后,再對這種“已修剪”(trimmed)的動作序列進行識別。本文主要討論的是對已修剪的動作序列進行動作識別,而并不討論動作邊界檢測問題。
行為識別與動作識別的區別在于動作(action)比行為(activity)的粒度更細。可以認為一個動作僅包含單人的簡單行為;而行為是由一系列動作組成,并可能包含人-人或人-物間的互動。顯然,動作識別與行為識別的研究是有交叉的,一些行為識別方法正是基于動作識別技術進行計算的。而相對于動作識別,行為識別更為關注對較長時間內復雜行為序列的理解。本文重點放在動作識別的相關研究上,主要關注單人在較短時間內單位動作的分類與評價。
為了不偏離本文的討論框架,聚焦于動作識別與動作評價的關鍵問題,后文將不再對姿態估計、動作檢測、行為識別等內容展開敘述。
當前動作識別與動作評價所處理的動作數據源主要分為兩種:視頻數據和骨骼數據。數據源的類型不同,則后期的預處理和特征描述等環節將會有顯著差別。
視頻動作數據是動作識別與評價任務中最常用的一種數據,它是利用相機拍攝的動作視頻序列,由于其每幀畫面都是由RGB 三通道形成的圖像,故而也被稱為RGB 數據?;谝曨l數據的動作識別方法主要有兩種思路:
(1)基于視頻數據的直接識別。即直接從視頻畫面中提取動作序列的時域以及空域特征并進行分類。
(2)先提取骨骼信息再識別。即首先從視頻中提?。?D 或3D)骨骼信息(如前面第1 章所述,這個過程被稱為姿態估計),再進行分類。
近年來,深度攝像頭獲得了很大發展,利用深度攝像頭可使得獲取的視頻信息中含有場景的深度信息(被稱為RGB+D 數據)。利用增加的深度信息,姿態估計往往可以取得更好的效果,從而有利于后續的動作識別。
隨著設備的進步,視頻數據的獲取越來越便捷和普遍,這使得基于視頻數據的動作識別具有廣闊的應用空間,相關工作層出不窮。但采集視頻數據時不可避免地會產生遮擋、抖動、明暗變化等噪聲,這也為其帶來了挑戰。
骨骼數據出現的時間較晚,相比于視頻數據,它可以更加直接地表示身體各部位的運動特征,如關節角度、速度等,從而可以更方便、準確地進行動作識別,因此它成為了近年來人們關注的焦點。它是通過關鍵點來描述整個人體動作的數據模式,這些關鍵點往往依據人體骨骼關節來確定,故而被稱為骨骼數據。圖2 是一種典型的關鍵點布局圖,其中黑色點為骨骼關節點,紅色點則用來標識身體主要部位。在動作計算過程中,人們普遍會將模型的盆骨位置作為“根骨骼”,基于根骨骼進行遞推,就能得到其他骨骼的相對位置。

圖2 人體骨骼示例圖Fig.2 Sketch map of human skeleton
按照維度不同,可以把骨骼數據分為兩類:
(1)2D 骨骼。一般是利用姿態估計算法從視頻中識別獲得的2D 骨骼數據。
(2)3D 骨骼。根據獲取設備或者原始模態的不同,又可以分為兩類:①通過光學和慣性動作捕捉設備直接捕捉的人體動作3D 骨骼數據。②從視頻中提取出2D 骨骼數據,再重建為3D 骨骼數據。
根據調研,動作評價相關研究工作多數使用的是骨骼數據,因為它更關注動作本身完成的質量;而動作識別問題中使用視頻以及骨骼數據的工作都很豐富。骨骼數據相比視頻數據優點在于,它包含的信息密集而精煉。但是也有其局限之處:(1)正是由于骨骼數據的冗余較少,對噪聲極其敏感,容易影響動作識別和評價的性能。(2)從全局來看,骨骼數據的整體信息量比視頻數據少。因為視頻數據還會包括環境、物體等,而它們并不存在骨骼信息,因此骨骼信息對于人與物交互的動作的識別不具有優勢。
目前已經有很多針對動作識別的公開數據集供研究人員使用,表1 提到了一些常用的數據集,并列出各數據集的類別數、樣本量、數據模態以及數據集內容。

表1 常用的公開動作識別數據集Table 1 Commonly used publicly available action recognition datasets
這些數據集都提供了動作類別的標注。從數據規模來看,采集年代較早的數據集,比如UCF101、HMDB51、MSR Action 3D 等,一般來說規模普遍較小,場景相對簡單,而且視頻的分辨率也偏低。但它們應用廣泛,在很多研究中被作為基準來使用。而2016 年之后的數據集,規模顯著增大,比如Activity-Net、NTU RGB+D、NTU RGB+D 120 等,它們具有更豐富的類別和更大的數據量。尤其是YouTube-8M,提供了多達4 716 的動作類別和800 萬的樣本。這也反映出隨著研究的發展,人們能夠建立更為復雜的預測模型,需要更大量的訓練數據,同時能夠處理更為復雜的任務。此時基于深度學習的動作識別方法逐漸成為主流,這些大規模的數據集也為深度學習在動作識別中的應用提供了有力的支持。
從數據模態來看,表1 中給出的所有數據集都提供了RGB 數據。RGB 視頻數據是動作識別領域最常用的數據源,相關的研究工作數量也最多。表1 中后4 個數據集除了RGB 數據外,還提供了深度數據以及骨骼數據。利用這些數據集可以更好地檢測出三維骨骼,從而為基于3D 骨骼的動作識別與評價提供更好的支撐。
從數據內容來看,有些數據集主要是從公共資源中獲得的視頻數據,如UCF101、HMDB51、YouTube-8M、ActivityNet 等,它們所包含的動作類別主要是各種各樣的人類日?;顒?;這些數據集一般只包含RGB 視頻。還有一些數據集,如MSR Action 3D、NTU RGB+D、G3D 等,則是專門錄制或捕獲得到的,它們往往包含了針對某些特定應用領域的動作(如醫療衛生、游戲動作等),并具有深度數據和骨骼數據,適用于進行更有針對性的動作識別與評價。
在動作識別和動作評價之前,首先要對數據進行預處理。研究中盡管有一些常用的預處理方法,但實際上并沒有統一的標準,而且由于任務的不同,所需要的處理方式也有較大差異。一般來說,對于視頻數據,預處理的主要任務是去噪;而對于3D 骨骼數據,預處理的主要任務則是歸一化。
(1)視頻數據的去噪
對于動作捕捉設備采集的3D 骨骼數據,一般不需要進行去噪處理,因為它很少受環境影響,噪聲很小。然而,視頻數據必須去噪,因為拍攝過程中受外界不確定因素的影響,原始數據中包含很多不穩定或干擾信息。視頻的去噪基于圖像去噪技術,但相比于圖像多了一個時序維度。
該領域的經典方法是BM3D(block matching 3D)算法,該算法先計算相似性來定位與當前待處理的塊相似的二維圖像塊,然后按照一定的規則將它們堆疊成三維組,最后通過濾波實現降噪。BM3D 以及由此延伸出的方法是圖像去噪領域公認的效果最好的方法,直到如今對后續研究都有著指導意義。Maggioni等人提出的VBM4D(video block matching 4D)方法即將BM3D 方法從圖像擴展到時域,從而轉變為對視頻的去噪。它把連續動作前后幀形成的區域稱作補丁(patch),尋找當前待處理補丁的相似補丁,之后通過兩種濾波處理并取加權平均,來實現去噪。
這種基于補丁的視頻去噪方法(patch-based method)成為傳統的主流思路。但近年來,隨著深度學習的發展,研究者們開始嘗試基于神經網絡進行視頻去噪。最早用于視頻去噪的神經網絡方法是遞歸神經網絡,但它只能對灰度圖像進行處理而且效果一般,隨后出現的VNLnet(non-local video denoising by CNN)、VNLB(video denoising via empirical Bayesian estimation of space-time patches)和DVDNet(fast network for deep video denoising)等算法大大增強了去噪效果。但是已經出現的基于神經網絡的視頻去噪方法尚無法與最好的patch-based的方法競爭。不過最近,Tassano等人提出了一種最新的基于卷積神經網絡結構的視頻去噪算法,達到了可與當前最好算法比擬的效果,同時具有更低的計算負載,這表明深度學習方法在視頻去噪領域有進一步發展的潛力。
(2)3D 骨骼數據的歸一化
對于3D 數據來說,不同人體的骨骼尺寸及骨骼比例都不相同,在對骨骼數據進行比較、匹配時,需要首先對骨骼數據進行轉換,使不同的骨骼具有相同的比例或尺度。這種處理被稱為骨骼數據的歸一化。比如,Ping 等人將四肢和肩膀作為基準,來使人體骨骼標準化;Wu 等人以髖關節為原點,進行對齊和比較;Wang 等人則是選擇頭部位置為原點對齊。歸一化不是簡單地同比例縮放,而是根據各自不同的方法需求實施適宜的歸一化策略。總結來看,3D 骨骼數據的歸一化一般首先選定基準點進行位置的對齊,然后需要選定基準長度進行關節長度的歸一。不過,人體各關節的長度比例存在個體差異,這種個體差異有可能會對后面的動作評價產生影響,是否應當在歸一化階段將所有人體歸一化到相同的長度比例,這還是一個待探討的問題。
特征描述是指將原始動作序列數據構建成具有顯著物理或統計意義的特征,提煉出的特征通常被稱為特征描述符??梢哉f,選擇合適的特征描述符是動作識別的關鍵。而動作評價問題則在此基礎上需要進一步將專家知識引入特征描述中,以達到評價目的。
視頻數據與3D 骨骼數據的數據結構、信息模式差別很大,導致其特征描述方式也顯著不同。綜合分析當前的特征描述相關工作,對視頻數據和骨骼數據分別進行歸類與總結。對于視頻數據,從特征區域的角度出發,將其特征描述劃分為全局描述和局部描述兩大類。對于3D 骨骼數據,則從特征抽取手段的角度,將其特征描述劃分為三類:(1)原始數據(角度、坐標等);(2)手工特征;(3)深度特征。下面具體地介紹各種典型的特征描述方法。
全局特征描述將要識別或評價的目標作為一個整體來考慮,其覆蓋人體姿態的全部信息;而局部特征描述則是在選定的特征點周圍劃分出一塊局部幾何區域,然后生成一個能夠表示這塊區域特征的標識性向量。
常見的全局特征有顏色特征、紋理特征和形狀特征等。Bobick等人最早采用輪廓和能量來描述人體的運動信息,提出運動能量圖(motion energy image,MEI)和運動歷史圖(motion history image,MHI)兩個模板結合起來表示對應的一個動作信息。方向梯度直方圖(histogram of oriented gradient,HOG)是另一種非常經典的全局圖像特征描述方式。Dalal 等人首先使用HOG 進行行人識別,并取得了很好的效果。后來的很多研究工作都是基于HOG 來進行的。
全局特征描述具有穩定性好、簡潔直觀等優點,但它也有一些缺點,比如容易受到背景負面影響、計算量大等。
局部特征是從局部區域中抽取的特征,包含邊緣、角點、曲線等類別。一般來說,局部特征的提取分為局部特征區域檢測和對局部特征區域描述兩部分。文獻[24]認為局部特征區域檢測是為了找出能標識動作信息的特征點,并將其稱作“時空興趣點”。人們發現人體動作特征往往反映在突變狀態時,因此這些興趣點通常在運動發生突變時產生的點中選取。角點檢測是最早提出的特征點檢測之一。Moravec角點檢測算法把那些與周圍像素的特征都有很大差異的像素,認為是“角”,這就屬于發生了突變的點。Laptev提出的3D Harris 算子對Moravec算子進行了改進,將2D Harris 角點檢測擴展到了時序和空序中,能夠捕捉到運動目標同時在局部的時空域里,都產生了劇變的點。
在檢測得到特征區域后,即可對局部特征區域進行描述。常用的特征包括梯度和光流信息等。Laptev等人在文獻[49]中使用了局部梯度直方圖(HOG)和光流直方圖(histograms of oriented optical flow,HOF),將本是全局特征的描述方法轉換為局部特征描述。Wang 等人則是將各種局部描述符進行了總結和比較,他們認為,描述效果最好的是同時采用了梯度和光流信息的方法。
與全局特征比起來,局部特征的優點是可獲得的數量豐富,特征之間的相互約束弱,因此受遮擋影響小、穩定性高。相對地,它涵蓋的范圍不夠全面,可能漏掉重要信息。
3D 骨骼數據由關鍵點的三維信息組成,所謂原始數據特征是指將這些關鍵點本身的一些屬性,比如坐標、角度、變化速率等作為動作特征。它們通??梢员硎緸榻^對或相對的關節坐標向量。使用原始骨架數據特征非常直接,但其對動作語義特征的表達不足,并且數據量過大,因此除了用于基線評估外很少被使用。
手工特征(hand-crafted features)是指在原始數據基礎上,通過描述關節間的某些關系,人為定義的一些特征。這些手工特征經常會利用不同關節間的相對旋轉和平移等信息。Masood 等人通過測量關節對之間的距離來表示身體姿勢。Müller 等人則利用布爾特征來表達身體幾何關系,通過描述不同身體部位之間的幾何關系來表示人體骨架,可以使得對特征的描述不受骨骼大小的影響。不過,目前這些手工特征都沒有考慮時域信息,對動作的描述不夠充分。而且手工特征的另一個問題是,不同領域提取的手工特征往往具有特殊性,在另一個領域的數據上可能無法適用,使得基于此特征的動作識別算法難以推廣應用。
手工特征的發展逐漸進入瓶頸,而深度學習的發展為動作數據的特征提取帶來了新的可能。深度神經網絡能夠從復雜數據中自動學習出特征,從而可用于動作識別。近年來,人們使用RNN(recurrent neural network)、CNN(convolutional neural network)和GCN(graph convolutional network)等開展了骨骼數據的特征描述工作。
RNN將數據相鄰時刻整合成遞歸結構,因此它很適合描述動態數據。文獻[58]提出在RNN網絡中加入注意力機制,使之成為EleAttG(elementwise-attention gate)結構,給輸入數據里不同元素賦予不同的重要程度,并將之用于動作識別。作者在NTU RGB+D 數據集中的骨骼以及視頻數據都進行了測試,對骨骼數據的識別率由基線方法的75.2%提升到了80.7%,對視頻數據的識別率由基線方法的81.5%提升到了88.4%,結果表明加入這個模塊后RNN 的性能得到了極大的提升。
以前CNN 通常被用于圖像處理,它學習、描述高層語義的能力十分強大,將其作為一種骨骼特征提取方式可以極大提高識別效率。但圖像問題與時序無關,因此基于CNN 的方法進行骨骼特征的描述,并用于動作識別,必須思考如何更好地加入時域信息。
GCN 將CNN 拓展到了任意結構的圖(graphs)結構上來,并且在諸如圖像分類、半監督學習任務中得到了廣泛的應用,但之前尚未有人將GCN 應用于人體骨骼序列的特征描述中。最近,Yan 等人提出的時空圖卷積網絡模型(spatial temporal graph convolutional networks,ST-GCN)首次使用GCN 方法對骨骼信息進行時空特征描述。一般來說,骨骼信息只包含各個關節點坐標和它們的連線。而該方法將骨骼序列作為輸入,將人體骨骼作為圖結構進行描述,即由關節點、關節間連線以及時序上對應的關節點連成的虛擬的“時間邊”組成。該方法在NTU-RGB+D數據集上,將當時的最高識別率提高了近4 個百分點,效果顯著。
深度特征的優勢是無需手工參與,而能提取到較高層次的特征;而且,借助于大量的訓練數據,深度特征受光照、姿態等影響較小。不過,深度特征的提取類似于一種“黑盒”計算模式,無法得到其顯式的特征表達方式。
上面介紹了針對不同數據的多種類別的特征描述方式。目前并沒有特別主流的、占主導優勢的特征描述方法,不同特征描述最終能達到的效果與數據集特點、要識別的目標以及所采用的動作識別方法等都有很大關系。往往需要根據所處理的動作對象特點進行有針對性的特征描述。這一點對于“動作評價”而言更為重要,必須根據所評價的對象,增加專家知識,制定有針對性的特征。
在明確了動作數據的特征描述之后,即可進行動作識別或動作評價工作,本章介紹動作識別相關方法。動作識別的下一步就是構建分類器進行動作的分類。分類算法是動作識別過程中最后,同時也是最關鍵的一部分,它依據特征向量進行訓練,從而輸出每一個識別對象的類別標簽。至今已經出現了很多有關動作的分類算法,本章將它們分成兩大類進行介紹:基于統計模型的方法和基于深度學習的方法。基于統計模型的方法包括隱馬爾可夫模型、動態貝葉斯網絡、支持向量機、模板匹配等;而基于深度學習的方法則是目前的主流方法,這里介紹當前三類主流的動作識別深度學習框架。
動作識別中最簡單、直接的方法是模板匹配法,這種方法首先將一些人體動作作為模板庫,然后計算待識別的動作與模板之間的相似度,如達到某閾值即可判定為此動作類型。用于動作識別的典型模板有ASM(active shape models)、AAM(active appearance models)、MHI、MEI等,它們采取的有形狀、外觀、歷史圖、能量圖等各種特征模態。模板匹配法有著思想容易理解,模板設計復雜度低的優勢,但也存在著易受噪聲和持續的動作變化影響,魯棒性不強,識別準確度不高的缺陷。
該方法將每個動作定義為一個狀態,通過概率來描述狀態和狀態之間的轉移,因此一個動作序列可以表示為一系列狀態的轉移過程。典型的狀態空間模型有隱馬爾可夫模型(hidden Markov models,HMMs)和動態貝葉斯網絡(dynamic Bayesian network,DBN)。
經典的隱馬爾可夫模型(HMMs)是一種基于時序、轉移概率和傳輸概率的隨機模型。在確定了特征向量之后,根據訓練的模型參數獲得狀態序列,然后進行動作的分類。HMMs 模型最早是一種數學統計概念,而Yamato 等人首先將其用于動作識別,經過幾十年的發展,已經在語音識別、故障診斷和動作識別等領域成功實現應用,甚至成為了人體動作識別的主流方法之一。在這之后又出現了HMMs 的各種改進模型,比如Nguyen 等人提出的分層隱馬爾可夫模型(hierarchical hidden Markov models,HHMMs)。作者使用該模型,依據運動軌跡學習和識別動作,取得了良好的效果。近年仍然有人在改進HMMs 模型,梅雪等人提出了一種基于多尺度特征的雙層隱馬爾可夫模型,在雙層HMMs 模型中添加運動軌跡和人體姿態邊緣小波矩,提供更為豐富的層次信息。仿真實驗的結果證明,此模型達到了很高的識別準確率。
動態貝葉斯網絡(DBN)是一種考慮了相鄰變量轉化的貝葉斯網絡,它的框架簡潔合理,邏輯關系更加清晰、更易于理解。相比HMMs,DBN 的表達能力更強,因此DBN 對于需要多信息交叉融合的場景識別效果更佳。HMMs 模型需要巨大的訓練樣本量,而DBN 因為自身的結構的優勢,訓練復雜度要低很多,但正因如此,它比HMMs 的設計復雜度要高。Du等人提出了一種新的帶有狀態持續時間的DBN 模型結構,將全局特征和局部特征協調地結合起來,以模擬人類的交互活動,達到了很好的效果。Oliver 等人則探討了使用DBN 模型進行動作識別時的幾個重要問題:(1)觀測到變量的可能性;(2)數據是否存在內在的聯系;(3)進行實際應用的復雜程度。
支持向量機(support vector machine,SVM)是一種經典的機器學習分類方法,它是一種廣義的線性分類器,通過監督學習的方式進行數據的二元分類。但SVM 使用的是一對一識別策略,將其應用在動作識別上,輸出結果需要經歷多次篩選,會降低識別效率。為了提高識別性能,相關研究都致力于找到更好的方法來表示關節特征。比如,Pontil 等人使用SVM 在高維空間上處理圖像的像素點,以此來進行動作識別。Manzi等人采用X-means 方法進行特征描述,最后運用SVM 進行動作分類。Schuldt 等人則是將時域和空域特征結合起來,使用SVM 方法,對動作進行局部表征,最后實現動作識別。
近年來,一些研究者將深度學習方法應用于動作識別,使得動作識別的準確率有了顯著提升。目前,深度學習方法已成為動作識別研究中的主流方法。下面介紹三種最典型的用于動作識別的深度學習算法框架:CNN、雙流網絡框架(two-stream network)以及融合CNN-LSTM(convolutional neural network-long short term memory network)結構。
4.2.3小節提到了用CNN 進行動作特征的描述。顯然,在采用CNN 進行特征描述的基礎上,可以進一步完成動作識別任務。Mohamed 等人將SVM 和CNN 兩種方法進行了比較,用它們來處理RGB-D 相機采集到的同一套但數據類型不同的數據。SVM 處理3D 骨骼數據,而CNN 則是處理2D 深度圖數據。實驗發現,這兩種方法性能相差不多,但CNN 方法在深度圖像上的效果更佳。
4.2.3小節介紹的Yan 等人提出的ST-GCN 模型,能夠更好表示人體重要關節之間的空間關系和時序關系,從而可以用于3D 骨骼數據的動作識別。在此基礎上,劉鎖蘭等人提出了一種ST-GCN 方法的新型分區策略,相比于之前的工作加強了骨骼關節點信息在時間和空間上的聯系,然后通過迭代學習率進一步提升識別精度的目的。結果在Kinetics 和NTU RGB+D 數據集上比現有方法識別效果均有顯著提高。
運用CNN 進行動作識別取得了不錯的效果,不過當前方法在投入應用時存在的問題在于:很多方法都對應用場景進行了一些實際生活中難以滿足的假設,比如視角或背景固定不變、無遮擋等。針對這個問題,Ji 等人提出了一個新的用于運動識別的3D CNN 模型。該模型從連續視頻幀中產生多通道的信息,然后在每一個通道都分離地進行卷積和下采樣操作,最后將所有通道的信息組合起來得到最終的特征描述。而李元祥等人提出一種基于深度運動圖(depth motion maps,DMMs)和密集軌跡的人體動作識別算法。作者利用CNN 訓練DMMs 數據并提取高層特征作為靜態特征描述符,使用密集軌跡作為動態特征描述符,最后整合靜態和動態特征作為整體特征描述符,取得了良好的識別結果。這兩種模型都通過計算高層運動特征來增強特征提取能力,并綜合了多種特征去判斷識別結果,因此可適用于各種不同環境,一定程度上解決了對場景要求比較嚴苛的問題。不過,多通道特征的學習和融合也在一定程度上增大了計算復雜度,降低了識別效率。
雙流網絡框架通過模仿人體視覺形成過程,來理解視頻信息,以達到更好的視頻內容理解能力。雙流網絡將分類任務分成兩個模塊,一個處理圖像RGB信息,另一個處理光流信息,然后聯合訓練CNN模型,融合兩個網絡的訓練結果,得到動作的類別。Simonyan等人最先使用了雙流網絡進行動作識別,他們的方法后來成為相關研究的基準之一。Feichtenhofer 等人在雙流網絡結構的基礎上,改進了融合空域和時域的方法,以便更好地理解雙流框架中的時空信息。
雙流網絡的應用使得動作識別精度上了一個臺階。然而,雙流網絡也存在一定的問題,比如它不會專門分辨不同通道的差異性,不能很好區分冗余幀和背景等信息,而減弱了其整體特征表達能力。石祥濱等人提出了一種基于雙流時空注意力機制的端到端的動作識別方法(end-to-end action recognition model based on two-stream network with spatio-temporal attention mechanism,T-STAM)。首先在雙流結構中加入通道注意力來校準包含的信息,然后設計時間注意力模型和多空間注意力模型來對關鍵幀上的動作顯著區域進行重點關注。實驗表明,該方法在數據集UCF101 和HMDB51 上比近年來提出的其他先進方法,取得了更高的精度。這也說明,有效地區分不同通道特征,將注意力集中在關鍵時空信息上,能夠進一步提高雙流網絡的效率。
動作識別問題最重要的任務之一就是對時域維度的處理。如果能很好地處理時域信息,識別效果一定會顯著提升。而RNN能夠很好表達時序特征,適于處理動態動作序列。在各種RNN 模型中,LSTM性能優異,可以完整地學習序列的空域和時域特征。Donahue 等人將CNN 與LSTM 相結合來提取視頻數據中的時空信息。該CNN-LSTM 框架首先基于CNN 來提取每幀圖像的特征,之后用LSTM 挖掘特征之間的時序關系來完成動作識別,這種方法不僅精度高,速度也快。大多數之前的動作識別方法,如卷積神經網絡、雙流網絡,使用的特征僅包含全局時域信息,而忽略了局部時序特征。為了解決這個問題,楊珂等人提出了一種基于時序交互感知模塊的長短時序關注網絡(long and short sequence concerned networks,LSCN),通過融合時序信息,利用不同卷積層時序特征的交互加強,來表示不同時長的動作,在長動作和短動作的識別上均有很好的效果。實驗結果證明,此方法在UCF101 和HMDB51 兩個公共數據集上,比基礎的方法在精度上分別有0.4 個百分點和2.9 個百分點的提升。
由以上論述可見,不同的動作識別方法的算法結構及所采用的特征描述各有不同,導致其適用范圍各有差別,并不存在可以解決所有的分類問題的完美算法。表2 列舉了以上提到的各種動作分類方法,并總結了它們的優缺點。表中重點比較了各種方法在精度、魯棒性、計算復雜度、計算速度等方面的表現,同時也保留了不同方法的一些其他特點,簡潔明了地展現了各種動作分類方法的優勢與缺陷。而目前看來,基于深度學習的方法和傳統方法相比,具有更高的精度和計算性能,例如,文獻[70]中開發的雙流網絡方法,在UCF101 數據集上取得了88%的準確率,比當時最先進的算法又提高了0.1 個百分點;文獻[56]中采用的ST-GCN 方法,在NTU-RGB+D數據集上,在指標cross-subject 上將當時的最高準確率提高了2 個百分點左右,在cross-view 上將當時的最高準確率提高了近4 個百分點,可以說是巨大的提升。而Peng 等人在NTU RGB+D 和Kinetics 數據集上,首次基于神經架構搜索自動生成圖卷積結構,甚至將準確率刷新到了95.7%。

表2 動作分類方法總結Table 2 Summary of action classification methods
動作評價是最近幾年逐步受到關注的研究課題,但目前尚未有明確的概念定義和理論闡述。從動作評價的目的和主要處理過程來看,將動作評價描述為:將輸入的“學習者”數據經過動作識別之后,與相對應的“教師”數據進行對比,結合定量指標及專家知識,評價“學習者”動作的完成質量,并給予“學習者”以動作改進的反饋。目前動作評價相關的研究還比較少,但其在體育訓練、醫療康復、藝術表演等真實場景下的迫切需求,使其逐漸成為新的研究熱點。
動作評價和動作識別在整體處理流程上有共通之處(如圖1),也需要經歷數據預處理和特征描述等步驟。并且,動作識別往往是動作評價的基礎和前提。但是,與動作識別最大的不同在于:動作評價不僅需要對動作外觀進行相似性判定,還需要專家知識的介入,對動作的規范性、流暢性、藝術性等一些內在的、隱含的特征進行評價。可以認為:正是因為增加了專家的經驗,才使得對動作的處理從分類問題向評價問題轉變。因此,在深入分析相關工作之后,本文采取了以專家知識介入方式為依據的分類方式,將當前的動作評價相關工作劃分為如下幾類:(1)為專家提供可視化工具,構建專家經驗與定量參數間的聯系;(2)在特征描述中引入專家知識;(3)基于專家知識制定動作規范;(4)基于大數據的動作評價,采用大數據分析來替代專家知識。下面分別進行介紹。
想要在動作識別的基礎上加入專家知識其實是很困難的,這很大程度是因為許多領域的專家知識是專家常年積累出的感性感受,是一種經驗式的知識,專家可能也不清楚影響動作質量的具體參數。因此,動作評價的第一階段不是隨意增加專家知識,而是為專家提供工具,使他們能夠更加全方位地、定量地、可視化地觀察各種動作參數,從而輔助專家發現規律。
近年來,不少研究者們開發出了各種動作評價系統。這些動作評價系統無一例外都采用了對三維動作數據的可視化手段。如陳學梅所開發的高爾夫揮桿動作評價系統,能夠對比訓練者進行揮桿動作時的關節角度與標準揮桿動作的差異,并直觀地將差異展現出來,輔助球員進行練習。圖3 則提供了諾亦騰公司開發的高爾夫評估和訓練系統的應用場景和軟件界面,從圖中可見,其將動作數據三維可視地顯示,用戶可以360°觀察動作骨骼,并獲得重要動作關節的數值。圖3(a)為運動員佩戴動作捕捉設備進行訓練的實景展示,圖3(b)為高爾夫評價系統的界面。它可以提供運動員的關節角度、揮桿速度、加速度、動力鏈等多項數據,并可以與其他運動員進行對比,幫助運動員更好地訓練和提高。

圖3 諾亦騰開發的高爾夫評估和訓練系統:mySwingFig.3 Golf evaluation and training system developed by Noitom:mySwing
京劇是一種非常復雜的藝術表演形式,很難進行定量化動作評價。最近,一些研究者在京劇動作評價方面進行了探索,他們充分利用了可視化工具來發現動作規律。王臺瑞基于3D 動捕設備采集的數據,分析了京劇表演中專業表演者與學習者動作的異同。他將表演者的三維動作數據可視化為三維空間中的離散點集,通過研究點集的分布規律來進行動作評價。研究有9 個受試者,其中既有科班學生、戲曲學校學生(非科班)、有扎實舞蹈基礎的學生,也有其他的普通學生。結果發現,得到京劇專家很高評分的學生,通過動捕獲得的骨骼數據與專家之間的相似性并不一定高。因此要把數據和人類感受很好地結合起來還是很具有挑戰性的。將動作序列中的關鍵參數(如關節角度、關節變化速度、運動軌跡等)進行可視化,并以直觀的方式進行對比,可以為專家提供有力的分析工具,有望輔助于將定性的專家知識轉化為定量的動作標準,并發現動作的內在規律。這項工作可以作為動作評價的必要模式,而其中復雜運動參數的可視化方法及分析策略可作為進一步研究的要點。
特征描述方法對于動作評價具有重要意義。與動作識別不同的是,動作評價的特征描述不僅僅用來評價動作外觀的相似性,更要能反映出此類動作的專業特征。因此,動作評價的關鍵就是要引入更有科學性、專業性的特征描述。在這個問題上,專家知識必不可少。
在很多體育運動的動作評價中,都可以在特征描述階段引入專家知識。例如,各種運動都有比較固定的評價規則,這些規則代表了裁判或專家在進行動作評價時所關注的重點,可以將這些規則轉化成容易評價的定量指標,從而用于動作的相似性度量。
所謂相似性度量,即綜合評定兩個事物之間相近程度的一種度量。將相似性度量引申運用在人體動作評價中,就是基于定量的評價指標,對“學習者”動作與“教師”動作進行相似性比較,從而實現對動作完成質量的評價。這其中的關鍵點是:(1)由領域專家確定應采用哪些特征描述符作為動作評價的指標;(2)如何定義樣本之間的相似性測度。
上節中的陳學梅所研制出的高爾夫揮桿評價系統,主要使用了和揮桿動作聯系最緊密的關節角度的指標。李奎的工作則根據對羽毛球揮拍動作的研究,使用非定長稠密軌跡算法來表征這些動作,然后計算待分析動作與標準動作之間的切比雪夫距離來衡量它們的相似度。張曉瑩等人對兩名男子競技健美操世界冠軍完成難度動作C289 不同技術的運動學特征進行深入分析與量化研究,并進行相應的技術診斷,揭示完成此難度的運動學特征與核心技術,為運動員提高難度動作成功率奠定基礎,同時也為難度動作的科學訓練提供可靠的理論依據和實踐參考。Alexiadis 等人采用關節旋轉的四元數特征對舞蹈動作進行評價,并基于此實現了動作序列的評估。
人們發現對于不同的專業動作,各個身體關節在動作中起到的作用是不同的,因此在動作評價中,應給各個關節賦予一個權重,由此可突出重點關節的作用。各關節的權重參數一般就需要根據專家經驗來設置,這種設置方式顯然具有一定的主觀性。也有人通過對動作的分析來自動為骨骼關節計算權重。如Patrona 等人提出了一種自動和動態加權的方法,根據動作參與程度的差異,賦予關節相應的權重,再整合基于動能的描述符采樣,進行相似性度量。隨后利用模糊邏輯提供語義反饋,指導用戶如何更準確地執行操作。
由上述研究可以發現,速度、加速度、關節角度等基本動作參數,往往并不能滿足動作評價的需求,而需要在這些參數基礎上結合專家經驗進行綜合分析與特征描述,以得出綜合的評價指標。
確定動作的特征描述方式之后,可以更進一步基于專家知識建立動作規范:即可依據此規范評估動作做到何種程度可以被認為是合格的、優秀的或者是錯誤的。
在醫療康復訓練的動作評價中,制定動作規范的方式比較常見。李睿敏針對發展性協調障礙疾病,提出了一種基于時域濾波卷積神經網絡的動作檢測方法,實現了交互過程中的精細動作評估。Richter等人針對髖部外展、髖關節伸展和髖部彎曲這三種運動錯誤進行了研究。他們定義正確的運動練習動作帶有類別標簽C,其余的類別標簽UB、FO、BK、WP和NBK 分別對應不同的運動錯誤,以此分析病人的動作執行情況,針對性地給出評價和指導。在康復醫療場景下,有很多與動作相關的障礙性疾病,此類疾病的臨床診斷通常是由專業醫師通過觀察和分析病人在一些特定動作評估任務中的表現給出的。但醫師評估的花費的時間長、費用昂貴,很難大規模篩查,因此,進行自動化動作評價既能滿足計算機領域對動作評價的研究需要,又能推進自動化醫療輔助診斷的發展。
制定動作規范的方式在其他領域中也有應用。徐錚提出了一種24 式太極拳動作評價方法。他首先通過與太極專家的交流溝通,建立了太極拳動作原語庫,然后據此制定了太極拳動作相似度金字塔模型以及相應的動作規范。在此基礎上,采用典型相關分析(canonical correlation analysis,CCA)方法對動作數據進行局部關節特征向量相似度量,并依據所制定的動作規范對用戶的太極拳動作給出評價和指導建議。
在運動或表演領域,“動作評價”一般都是一種主觀方式,而基于專家知識來制定定量化動作評價標準及動作規范,則可以將原本比較模糊的評價任務變得清晰明確,使評價具有更好的客觀性和科學性。
在復雜表演動作的評價方面,專家知識具有主觀性、模糊性和隱含性,很難獲得顯式的、定量化的表達。事實上,目標動作的特征都蘊含在其動作數據中,如果采用大數據分析的方式,通過對大量教師動作(或專家動作)的數據分析,也許能發現動作中的合理評價標準。這種方式相當于是采用大數據分析的手段來替代專家的主觀評價,也許能夠為專業動作評價提供一種新的有效手段。
現有的數據集中記錄的數據多為簡單的日常動作,并不能滿足專業領域動作的識別和評價,因此需要構建專用的動作數據集來實現專業動作的大數據分析。呂默等人采集了大量高水平運動員的標準動作,擴充了MSR Action3D 數據集,再結合健美操國際權威標準制備對比數據庫,然后將骨骼特征與深度局部特征進行傅里葉金字塔過濾并融合,根據融合特征進行動作的識別與評價?;诖朔椒ㄩ_發的健美操輔助評審系統可以有效幫助裁判對競技健美操難度動作給出正確的分數。
基于大數據的動作評價相關工作目前還非常少,呂默等也只是采用了傳統的分類方法來對動作數據進行分類與識別;尚需進一步解決的問題包括:專業動作數據集的建設、適用于專業動作評價的網絡構建、評價結果的合理性評估等諸多問題,有待研究者的進一步探索。
綜上所述,表3 列出了動作評價相關方法的類別、內容和方法。

表3 動作評價方法總結Table 3 Summary of action evaluation methods
近年來,人體動作識別和動作評價的相關研究獲得了長足發展。本文首先給出了二者較為明確的概念定義,探討了二者之間存在的區別與聯系。以此為基礎,從數據處理流程的角度出發系統地梳理了兩者的技術模塊,并將這兩類問題歸納到了一個統一的技術框架中。之后,依據該技術框架,對各個技術模塊的相關工作進行了系統的介紹與分析。
在動作識別問題上,隨著深度學習的應用,普通動作的識別精度已經可以達到相當高的程度,如前文提到的,Peng 等人在NTU RGB+D 和Kinetics 數據集上,已經將識別準確率刷新到了95.7%。雖然可以取得如此優異的實驗結果,但人體運動的高復雜性和多變化性使得當前的識別方法并沒有完全滿足實際應用需求。當前存在的瓶頸及未來的研究重點包括:
(1)缺乏標注良好的大型數據集。雖然表1 給出了不少動作識別相關數據集,但與圖像處理領域的諸多經典數據庫(如ImageNet、MS-COCO、Open Images等)相比,其數據集的完備性和標注程度還有待提高,動作識別領域依然缺乏大規模且標注良好的基準數據集。在深度學習成為主流方法的當今時代,標注良好的大型數據集對動作識別領域的發展具有十分關鍵的作用。今后在數據集建設中,一方面可以考慮進一步細化動作粒度,將數據集中的動作進行子動作劃分及標注;另一方面需要提供更豐富的標注標簽,例如對于視頻數據不僅提供動作類別標簽,還可進一步提供人體部位、骨架甚至與人體進行互動的環境物體等標注。
(2)大部分研究仍處于實驗室階段,在實際應用場景中的魯棒性不強。在實際應用環境中所采集的數據,大都存在著多人體目標、遮擋、攝像機移位等干擾因素,目前方法對這些實際數據中的干擾能力還不夠強,導致其實用化程度十分有限。一個可行的解決策略是采用多特征融合的方法,提高模型泛化能力,解決多樣化場景下的人體動作識別問題。一些研究者已經在這方面做出了初步嘗試,例如文獻[74]采用了多通道特征融合的方式,文獻[75]則綜合考慮靜態、動態和高層次特征,文獻[80]則融合了不同時長的動作特征。利用多特征融合的策略,這些方法在抗環境干擾方面都取得了不錯的效果。該思路依然值得進一步深入探討。
(3)對于速度很快的動作,尚無法達到滿意的識別效果。在一些專業運動領域,例如健美操等,其動作密集而快速(如健美操中的各種空翻動作),準確識別出每一次的動作難度依然很大。對于這種數秒內完成多次的動作,需要應用更細粒度的數據標簽進行訓練,而另一個值得考慮的思路是結合注意力機制,對關鍵幀中的快速動作區域進行重點關注,以提高識別效果。
(4)尚缺乏對動作中的語義信息的理解。如在京劇表演中相似的腿部姿態卻可能代表著不同的自然語義。但目前的動作識別技術僅通過當前動作外觀進行分類,很難對這種動作的語義差別進行區分。因此,借助上下文及環境等對動作的語義信息進行識別理解是一個重要的研究點,該問題研究也能為動作評價打下良好的基礎。
在動作評價問題上,當前的研究還比較初步,目前出現的針對羽毛球、高爾夫球、康復醫療等專業領域的動作評價工作,所針對的都是比較簡單、標準化的動作;其所采用的指標也比較單一,主要考慮關節角度、速度、加速度等基本方位指標。分析來看,動作評價研究所面臨的關鍵問題包括:
(1)構建符合專業評價要求的數字化評價標準。這是進行專業動作評價的關鍵問題,其重點是需要將專業動作規范及專家的感性認知轉化為量化的指標。目前雖然已經有了一些相關的工作,但其方法主要針對特定的動作領域,很難推廣,在這方面還沒有特別成熟而系統的方法。一種值得探索的方式是利用相似性度量算法自動發現“學習者”動作與“教師”動作的差異之處,再進一步結合專家知識或者直接啟發專家形成定量化動作規范。
(2)從“形似”到“神似”。當前的動作評價工作僅僅局限在外在動作相似度的比較上。而一些專業領域的動作,如京劇表演、舞蹈等,講究“以形傳神,形神兼備”,其不僅要求在身段、身法上“形似”,還需要通過動作、表情等將內在的“神韻”表達出來。對這類動作的評價不能僅僅停留在動作相似性的度量上,還需有平衡性、流暢性、穩定性等更高級別特征的評估,需要思考如何在有形的“數據”和無形的“美感”之間搭建橋梁,實現更能反映藝術性的定量化評價。這方面的工作尚未見開展,卻有重要研究意義。采用深度學習方法對大量表演數據進行分析,從中發現高層次的藝術特征,也許可以作為一條可探索的思路。