楊巨成,張泉鈺,王 波,王 嫄,陳亞瑞,趙婷婷
(1.天津科技大學人工智能學院,天津 300457;2.思騰合力(天津)科技有限公司,天津 301799)
人體動作識別旨在識別動作信息中人體動作的具體類別,是實現(xiàn)計算機視覺智能的重要分支。近年來,隨著計算機科學技術的不斷發(fā)展,人體動作識別[1-2]已經(jīng)成為計算機視覺領域中備受關注的研究課題之一,其在各個領域具有很大的應用前景和商業(yè)價值,如視頻監(jiān)控[3]、視頻檢索[4]、人機交互等[5]。智能化視頻監(jiān)控是智慧工廠衍生出的新型管理模式,在節(jié)省人力、物力的前提下,可有效加強對人員的直觀管理;加入人體動作識別技術的視頻檢索任務能夠大幅提高建立索引的效率及搜索效果;人體動作識別作為人機交互的關鍵技術,可以將其應用到智能駕駛中,如疲勞檢測等[6]。因此,開展人體動作識別的研究具有重大的理論意義和較高的應用價值。
隨著視頻采集傳感器以及骨架提取算法的發(fā)展,用于人體動作識別任務的2D/3D 人體骨架數(shù)據(jù)集先后被提出。骨架數(shù)據(jù)比其他模態(tài)數(shù)據(jù)(如RGB 圖像、光流等)包含更豐富的信息,它既包含關節(jié)點之間的空間信息,又包含關節(jié)點之間的時間信息。骨架數(shù)據(jù)本質上可以看作拓撲圖,屬于非歐氏空間數(shù)據(jù),這一模態(tài)與人體動作更加密切,屬于圖結構。因此許多研究人員使用骨架數(shù)據(jù)進行人體動作識別任務。
在早期,卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN)[7-8]和遞歸神經(jīng)網(wǎng)絡(recurrent neural network,RNN)被應用在基于骨架的人體動作識別任務中,并取得了一定進展。這兩種技術經(jīng)常結合起來用于骨架動作識別,CNN 用于對原始RGB 圖像建??臻g特征,RNN 的遞歸結構用于建模時間特征。與此同時,基于CNN/RNN 的方法也面臨一些問題,如模型大小、識別速度、遮擋情況以及視角變化等。近幾年,研究人員把卷積的思想應用在圖拓撲結構上,提出圖卷積網(wǎng)絡(graph convolutional networks,GCN)。GCN 與CNN/RNN 有所不同,GCN 專注于處理圖結構數(shù)據(jù)之間的依賴關系,擅于對非歐氏空間數(shù)據(jù)的建模。在基于骨架的人體動作識別任務中,GCN 具有在時間維度和空間維度同時建模的能力。此外,骨架數(shù)據(jù)不易受人體外觀衣著、背景光照和拍攝視角變化等因素的影響,且能很好地避免噪聲干擾,所以基于圖卷積網(wǎng)絡的人體骨架動作識別技術成了新的研究方向,受到學者們的高度關注。
目前已有許多學者對人體動作識別領域進行了綜述,已有文獻[9]側重于從深度學習方法的角度進行總結,分為CNN、RNN 和GCN。本文聚焦圖卷積神經(jīng)網(wǎng)絡在人體骨架動作識別領域的應用,首先對人體骨架動作識別任務和圖卷積神經(jīng)網(wǎng)絡分別進行介紹,根據(jù)處理信號的不同(空域和頻譜)介紹現(xiàn)有圖卷積模型;對比分析不同的圖卷積神經(jīng)網(wǎng)絡模型在基于骨架人體動作識別數(shù)據(jù)集上的表現(xiàn);最后,文章針對現(xiàn)有基于圖卷積神經(jīng)網(wǎng)絡的人體骨架動作識別技術,并對未來的發(fā)展方向進行展望。
在人體動作識別領域,研究人員已經(jīng)研究了多種模態(tài),例如RGB 圖像、光流模態(tài)、骨架模態(tài)等。與其他模態(tài)相比,骨架模態(tài)是一種具有關節(jié)和骨骼的人體拓撲表示,當面對復雜環(huán)境以及涉及光照變化、視角變化、運動速度變化時,該模態(tài)更穩(wěn)定。因此,基于骨架的人體動作識別是目前研究的重點。
隨著深度學習的不斷發(fā)展,使用卷積神經(jīng)網(wǎng)絡(CNN)、遞歸神經(jīng)網(wǎng)絡(RNN)和圖卷積網(wǎng)絡(GCN)進行基于骨架的人體動作識別的深度學習方法應運而生。
卷積神經(jīng)網(wǎng)絡(CNN)已經(jīng)應用在基于骨架的人體動作識別任務中,主要采用兩種方式進行人體動作識別。第一種是將原始關鍵點坐標數(shù)據(jù)信息(x、y、z坐標)看作圖像的RGB 通道,把原始骨架數(shù)據(jù)映射成三通道數(shù)據(jù),使用CNN 模型進行分類。Li 等[10]提出一種與數(shù)據(jù)集無關且平移尺度不變的映射方法,將三維骨架數(shù)據(jù)映射成彩色圖像,平移尺度不變的映射方法能保證圖片尺度具有不變性。為了充分提取骨架信息,Shi 等[11]提出雙流CNN 模型用于人體骨架動作識別,同時考慮關節(jié)點和骨骼邊的特征,使用非對稱卷積塊減輕骨骼序列變形的負面影響。
第二種是在骨架數(shù)據(jù)上自定義動作信息和時間信息等特征,將其映射成彩色圖像,使用CNN 模型進行分類。Li 等[12]基于骨架數(shù)據(jù)自定義距離特征,并將其映射成彩色紋理圖像,使用AlexNet 網(wǎng)絡進行訓練。為了更好地引入時間信息,Wang 等[13]提出了關節(jié)軌跡圖,通過顏色編碼將關節(jié)軌跡的時空信息從主、側、俯三視圖轉化為3 個紋理圖像進行動作識別。
在骨架人體動作識別任務中,基于CNN 的方法通過簡單映射將骨架信息表示為圖像,導致只有卷積核內的相鄰關節(jié)才會被學習共現(xiàn)特征,與所有關節(jié)相關的一些潛在相關性會被忽略。
遞歸神經(jīng)網(wǎng)絡(RNN)能夠傳遞并提取長時間的序列信息,人體骨架動作數(shù)據(jù)作為時間序列數(shù)據(jù),關節(jié)點坐標隨著時間的推移而變化,因此RNN 及其變體也被應用于人體骨架動作識別任務中。Shahroudy等[14]將人體骨架分成5 部分,把骨架中的關節(jié)點坐標排列為長向量,輸入長短期記憶網(wǎng)絡(long short term memory,LSTM)[15]進行動作識別。一些人體動作只需要幾個關節(jié)的移動或者旋轉就可以完成,基于此,Song 等[16]只考慮骨架信息中的重要幀和關鍵節(jié)點,提出端到端的基于RNN 的時空注意力網(wǎng)絡模型。但由于RNN 模型本身的空間建模能力較弱,所以基于RNN 的方法通常無法獲得具有競爭性的結果。
近幾年,圖卷積技術得到顯著發(fā)展,且人體骨架數(shù)據(jù)具有非歐氏數(shù)據(jù)特性,關節(jié)點代表人體關節(jié),可以天然作為圖結構的輸入。相較于CNN/RNN,圖卷積網(wǎng)絡(GCN)可以同時在空間域和時間域進行建模,所以基于GCN 的人體骨架動作識別技術受到越來越多學者的重視。
GCN 通過卷積不僅能夠學習關節(jié)點自身以及相鄰關節(jié)的特征,還能夠捕獲動作變化的時空特征用于動作識別任務。本文主要對基于GCN 的人體骨架識別技術從頻域和空域兩個角度進行綜述。
研究人員成功地將卷積應用到圖結構數(shù)據(jù)上,提出圖卷積神經(jīng)網(wǎng)絡(GCN),其核心思想是利用邊的信息對節(jié)點信息進行聚合,從而生成新的節(jié)點表示。圖卷積神經(jīng)網(wǎng)絡[17]能夠直接對具有圖拓撲結構的數(shù)據(jù)進行學習,善于對非歐氏空間數(shù)據(jù)進行建模。隨著GCN 的發(fā)展,其卷積方式主要分為基于頻域卷積和基于空域卷積兩種方式。
對于經(jīng)典卷積來說,卷積核的形狀是固定的,這意味著其感受野中心節(jié)點必須要有固定數(shù)量的鄰域才能使用卷積核,但圖上節(jié)點的鄰域節(jié)點是不確定的,除此之外,中心節(jié)點的鄰域節(jié)點也是沒有順序的,所以經(jīng)典卷積難以應用在圖結構數(shù)據(jù)上。但在頻域進行卷積時,只需要在每個頻域分量上進行放大或者縮小,不需要考慮空域上存在的問題?;陬l域的圖卷積神經(jīng)網(wǎng)絡是利用圖信號理論,使用傅里葉變換將圖信號轉換為頻域信號,然后在頻域上執(zhí)行卷積操作,最后再利用傅里葉逆變換恢復到圖信號所在的空域,基于頻域的圖卷積示意圖如圖1 所示?;陬l域的方法主要有第一代GCN[18]、切比雪夫網(wǎng)絡(Chebyshev network,ChebyNet)[19]、一階近似 ChebyNet等[20]。由于第一代GCN 需要對拉普拉斯矩陣進行特征值分解,導致計算開銷非常大,所以實際應用較少。針對第一代GCN 的不足,David 等[19]提出利用切比雪夫多項式近似卷積核的ChebyNet,ChebyNet不需要對拉普拉斯矩陣進行分解,這使得計算效率大大提高。為了使ChebyNet 有更好的局部連接性,Kipf 等[20]使用一階切比雪夫公式進行簡化,切比雪夫一階近似為
圖1 頻域圖卷積過程Fig.1 Process of spectral graph convolution
基于空域的圖卷積神經(jīng)網(wǎng)絡不再依靠圖譜理論[21],其從空間角度出發(fā),不斷聚合中心節(jié)點的鄰居節(jié)點信息以更新中心節(jié)點信息。該方法擺脫了對拉普拉斯矩陣的依賴,使圖卷積網(wǎng)絡能夠應用于有向圖?;诳沼虻膱D卷積神經(jīng)網(wǎng)絡可以看作CNN 的拓展,其本質和CNN 相同,都是對節(jié)點信息進行加權求和,從而達到卷積的目的。基于空域的圖卷積操作大致可以分為3 個步驟:第一,圖中的每個節(jié)點將自身特征信息傳遞給鄰居節(jié)點;第二,圖中的每個節(jié)點能夠聚合周圍節(jié)點的特征信息,實現(xiàn)特征信息更新;第三,將更新后的節(jié)點做線性與非線性變換提升模型的表達能力?;诳沼虻姆椒ㄓ袛U散卷積神經(jīng)網(wǎng)絡(diffusion convolution neural network,DCNN)[22]、圖采樣聚合模型(graph sample and aggregate ,GraphSAGE)[23]、圖注意卷積神經(jīng)網(wǎng)絡(graph attention networks,GAT)等[24]。DCNN 通過設定節(jié)點之間的轉移概率控制節(jié)點之間的信息傳遞,GraphSAGE對圖中每個節(jié)點的鄰居節(jié)點進行隨機采樣實現(xiàn)特征信息聚合,GAT 通過計算圖中相鄰節(jié)點之間的注意力系數(shù)實現(xiàn)更新節(jié)點特征信息。它們分別從信息傳遞、采樣方式、注意力角度定義圖拓撲結構的卷積方式。
基于頻域的圖卷積方法不適用于有向圖,這是因為傅里葉變換是以拉普拉斯矩陣的特征向量為基底,而拉普拉斯矩陣的對稱性使其只對無向圖有意義。第一代GCN 由于需要對拉普拉斯矩陣進行特征分解,導致時間復雜度很高。因此,基于頻域的圖卷積方法存在靈活性不強、泛化能力弱、計算開銷大等問題。基于空域的圖卷積方法直接在空間上定義卷積操作,在降低了復雜度的同時還增強了泛化能力。人體動作本身具有的空間復雜性和時間差異性,促使計算復雜度低、泛化能力好的空域圖卷積網(wǎng)絡模型成為基于人體骨架動作識別任務的主流方法。
基于骨架的動作識別任務的本質是對給定的一段動作信息進行分類,其不僅包含了空間信息,還包含時間信息,這增加了識別任務的難度。目前,基于圖卷積神經(jīng)網(wǎng)絡的模型大多應用在基于骨架的人體動作識別數(shù)據(jù)集上。根據(jù)第2 小節(jié)對圖卷積神經(jīng)網(wǎng)絡的介紹,圖卷積定義為
由式(2)可知:卷積過程主要涉及鄰接矩陣A、輸入特征X ,其中W 為可訓練參數(shù),因此圖卷積神經(jīng)網(wǎng)絡設計主要體現(xiàn)在前兩個方面。在基于骨架的人體動作識別中,網(wǎng)絡的設計變化如圖2 所示。
圖2 圖卷積神經(jīng)網(wǎng)絡設計Fig.2 Design of graph convolution neural network
本節(jié)按照網(wǎng)絡設計不同,從頻域和空域兩個角度對人體骨架動作識別任務進行討論。
目前,在基于骨架的人體動作識別任務中,ChebyNet[19]及一階近似ChebyNet[20]被廣泛使用。本小節(jié)將按照圖構建方式、注意力機制以及卷積核的感受野對算法進行分類討論。
3.1.1 圖構建方式
人體動作通常涉及多個關節(jié),一些動作則需要兩個相距較遠的關節(jié)協(xié)作完成,但相距較遠的關節(jié)在骨架圖中并不構成邊,無法進行信息傳遞,所以研究人員通常在骨架數(shù)據(jù)中手動添加一些邊緩解此類問題。
通常情況下,GCN 的輸入是原始骨架數(shù)據(jù)的鄰接矩陣,但Tang 等[25]提出的深度遞進強化學習(deep progressive reinforcement learning,DPRL)網(wǎng)絡為了獲取距離較遠關節(jié)之間的潛在關系,在物理連接的基礎上手動添加邊作為外部連接。圖3[25]中以“拍手”動作為例,其中實線代表物理連接,虛線代表外部連接。
圖3 DPRL網(wǎng)絡骨架圖構建Fig.3 Skeleton graph construction of DPRL network
Gao 等[26]提出了基于骨架的廣義GCN 網(wǎng)絡,把節(jié)點的外部連接劃分為強邊和弱邊,利用高階切比雪夫多項式卷積核進一步增強了對動作的感知。以上兩種構圖方式是人工進行劃分的,缺乏靈活性,未來可以嘗試構造自適應鄰接矩陣提高模型識別精度。
3.1.2 注意力機制
注意力機制的應用十分廣泛,其有效性已經(jīng)在各類任務中得到體現(xiàn)。在骨架人體動作識別任務中,大多數(shù)算法考慮了骨架數(shù)據(jù)中的所有幀,并沒有將注意力集中在重要的幀上。為了尋找一段動作信息中包含信息量最大的幀,Tang 等[25]提出的DPRL 算法使用注意力機制在全部幀中挑選出了更重要的幀,丟棄信息量小的幀。此方法既能減少網(wǎng)絡模型的參數(shù)量,又達到具有競爭性的識別效果。
3.1.3 卷積核的感受野
在圖卷積的過程中,卷積核的感受野由其大小決定,不同的大小對最后的結果可能會產生一定影響。對于骨架數(shù)據(jù)來說,其鄰接矩陣屬于稀疏矩陣,使用比較小的卷積核的時候可能無法表示其特征,所以研究人員嘗試擴大卷積核感受野提升模型精度。
Peng 等[27]最先提出把神經(jīng)架構搜索(NAS)[28-29]與圖卷積網(wǎng)絡結合進行動作識別任務。一階切比雪夫多項式不能很好地捕捉到高階信息,為了捕獲高階節(jié)點關系,引入了高階切比雪夫多項式擴大圖卷積的感受野。然而,若各層圖卷積都采用高階多項式會使計算量成倍增加,同時并不確定是否每一層卷積都需要擴大感受野,故引入了NAS 技術自動為不同層的卷積核生成圖矩陣(embedding matrix,EM),省去了人工調參的工作量。但隨著卷積核感受野的擴大,圖卷積神經(jīng)網(wǎng)絡出現(xiàn)過平滑現(xiàn)象,可以引入殘差連接、添加非線性激活函數(shù)等方法緩解此類問題。
Yan 等[30]創(chuàng)造性地提出時空圖卷積網(wǎng)絡模型(spatial temporal graph convolutional networks,STGCN),第一個把基于空域圖卷積模型應用在人體動作識別領域,通過對動態(tài)骨骼建模,把骨架數(shù)據(jù)以2D 或3D 網(wǎng)格的方式展現(xiàn)。在此之后,越來越多的研究者在ST-GCN 模型的基礎上進行改進或提出新的基線,把骨架數(shù)據(jù)應用在圖卷積網(wǎng)絡中完成動作識別任務。本小節(jié)從圖構建方式、注意力機制、不同信息融合這3 個方面對改進模型進行分類討論。
3.2.1 圖構建方式
Yan 等[30]提出的時空圖卷積網(wǎng)絡模型(ST-GCN)是第一個基于空域圖卷積的動態(tài)骨架建模方法。該方法首先利用OpenPose[31]姿態(tài)估計算法對實驗所用的數(shù)據(jù)集進行姿態(tài)估計,使人工設計的工作量大大減少。如圖4[30]所示,圖上每一個節(jié)點都對應人體的關節(jié),圖中有兩種類型的邊,一種為符合關節(jié)自然連接的空間邊,另一種為跨越連續(xù)時間步長連接相同關節(jié)的時間邊。
圖4 ST-GCN骨架圖構建Fig.4 Skeleton graph construction of ST-GCN
在該圖的基礎上,多個時空卷積層能夠將圖拓撲信息在空間和時間維度進行融合。ST-GCN 網(wǎng)絡模型首先對輸入矩陣在時間和空間維度進行歸一化,接著進入ST-GCN 模塊,通過交替使用圖卷積和時域卷積完成時空卷積,最后使用全局池化操作和全連接層對動作進行識別分類。圖卷積學習空間中相鄰節(jié)點的局部特征,時序卷積的作用是為關節(jié)疊加時序特征。此外,Yan 等[30]還提出了注意力機制,根據(jù)各個關節(jié)點在不同動作中的重要程度不同,將關節(jié)點賦予不同的權重。為了進一步提升模型性能,根據(jù)動作識別的特點,將圖上節(jié)點劃分為向心點、離心點和根節(jié)點3類,對此使用3 個不同的卷積核對其進行卷積操作。該模型可以從骨架數(shù)據(jù)中“自主”學習空間和時間特征,使其具有很強的表達能力。
ST-GCN 網(wǎng)絡模型也存在一些不足:
(1)ST-GCN 中使用的骨架圖是預先人為定義好的,表示人體的物理結構。模型所用的卷積核只能提取局部特征,所以不能保證只通過學習相鄰節(jié)點的信息,達到最優(yōu)的識別結果。例如,“跑步”和“跳遠”對兩條腿之間的關系有較強依賴,但ST-GCN 無法捕獲兩條腿之間的關系,因為在人為定義的骨架數(shù)據(jù)中它們相距很遠。
(2)神經(jīng)網(wǎng)絡往往具有多個層級結構,且每個層級包含的語義信息不同。在ST-GCN 模型中,所有圖卷積層中圖拓撲結構固定不變,這導致其無法學到多尺度信息。
(3)單一的骨架信息輸入可能不利于網(wǎng)絡模型對不同動作的感知,無法對具有細微運動差異的動作進行分類。
與Yan 等[30]相比,Si 等[32]認為動作是由人體各個部分協(xié)調完成,例如跑步不僅需要雙腿運動,還需要雙臂擺動維持身體平衡,所以其在空域建模的時候把骨架圖分成K 個部分,分塊學習人體結構的空間特征。此方法簡化了關節(jié)點數(shù)量,提升了網(wǎng)絡推理速度。Xiong 等[33]認為人類的動作可以簡化為人類肢體運動,因此手臂和腿部包含豐富的動作特征信息,其手動將手臂和腿部構造出額外的邊,使得在圖卷積的過程中能夠聚合更多的特征信息,避免了使用圖卷積在進行長距離傳遞時信息丟失的問題。Chi 等[34]認為學習骨架圖的內在拓撲信息十分重要,因此其提出編碼器模塊推理骨架圖的內在拓撲信息。編碼器的架構由用于空間建模的基于自注意力的圖卷積模塊和用于時間建模的多尺度時間卷積模塊組成。與人工手動設置相比,此方法更加靈活,針對不同動作會推斷出不同的內在拓撲信息,有利于提升動作識別的準確度。Shi 等[35]用有向無環(huán)圖(圖5)表示骨架數(shù)據(jù),方向由頂點與根節(jié)點之間的距離確定,通過引入骨骼方向,將骨骼的運動表示為同一骨骼在連續(xù)幀中的向量差,該方法進一步挖掘了骨骼、關節(jié)與動作識別之間的關系。
圖5 骨骼數(shù)據(jù)的有向無環(huán)圖Fig.5 Directed acyclic graph of skeletal data
Li 等[36]更加關注不相鄰關節(jié)點之間潛在的依賴關系,提出了行為結構圖卷積網(wǎng)絡(action structural graph convolutional networks,AS-GCN),用一種由編碼器和解碼器組成的“動作連接”推理模塊捕獲節(jié)點之間的潛在聯(lián)系,其提出“結構連接”模塊獲得節(jié)點長距離的連接信息。這種自適應學習的方式,能夠捕獲與動作行為有用的高階信息,提高模型靈活性。此外,AS-GCN 不僅可以識別動作,還可以通過多任務學習進行姿勢預測,在同一個框架下進行多任務學習有效提高了模型的效率。
3.2.2 注意力機制
近幾年來,注意力機制被大量應用于深度學習模型,其不僅能夠提升模型精度,而且具有參數(shù)少、即插即用的特點。在一段動作信息中,通常一些能表達動作的關節(jié)顯得尤為重要,也有研究提出引入注意力機制讓模型更關注關鍵節(jié)點的時空變化,這一思想成功地提升了模型的識別精度。2s-AGCN 網(wǎng)絡模型[37]基于注意力機制提出了自適應圖卷積層,其公式表示為
式中:kA 代表原始骨架數(shù)據(jù)的鄰接矩陣,表示人體關節(jié)物理結構;kB 不僅表示各個關節(jié)之間是否存在連接,而且表明連接強度。模型對kB 中的元素進行了參數(shù)化,與模型共同學習和更新。Ck矩陣使用歸一化的高斯函數(shù),用來計算關節(jié)點之間的相似性。采用3 個矩陣相加的方式構造輸出矩陣,每個矩陣代表不同的信息,增加了模型的靈活性。自適應圖卷積層結構如圖6[35]所示。
圖6 自適應卷積層Fig.6 Adaptive convolutional layer
Song 等[38]把骨架劃分為5 個身體部位,更加關注不同身體部分對動作識別的重要性,提出局部注意力機制,局部注意力模塊公式表述為
式中:p ool ( ·) 代表全局平均池化;δ( · )和θ( · )代表softmax 函數(shù)和ReLU 激活函數(shù);W 和Wp都是可學習的參數(shù),W 對所有部分共享,Wp是具體到每一個部分的注意力權重。式(5)是將式(4)中每個部分拼接起來后得到的輸出 fout。
Qian 等[39]在局部注意力的基礎上,又引入身體對稱軌跡注意力,提出了SA-GCN 模型。通過對身體對稱軌跡的學習,網(wǎng)絡模型獲得身體左右部分在動作中協(xié)作的信息。通過兩種注意力的結合,使模型性能進一步提高。
Hu 等[40]通過引入先驗知識的方式提升模型性能。先驗引導注意力模塊(BPGA)通過選擇性丟棄時空骨架關節(jié)生成不同的增強骨架序列,對參與動作的特定身體關節(jié)進行額外編碼,進一步增強提取動作特征的能力。
3.2.3 不同信息融合
ST-GCN 模型沒有充分挖掘骨架數(shù)據(jù),為了進一步提升識別精度,研究人員嘗試通過挖掘更多骨架信息達到更好的效果。2s-AGCN 網(wǎng)絡模型是基于STGCN 模型的改進。Shi 等[37]認為骨架數(shù)據(jù)的二階信息(即骨骼數(shù)據(jù))應該被充分發(fā)掘與利用。基于此,研究人員提出了雙流架構融合骨架的一階信息和二階信息,如圖7[35]所示。
雙流網(wǎng)絡在圖7 中分別表示為骨骼網(wǎng)絡和關節(jié)網(wǎng)絡。定義靠近骨架重心的關節(jié)為源關節(jié),遠離重心的關節(jié)為目標關節(jié),骨骼數(shù)據(jù)被表示為從源關節(jié)指向目標關節(jié)的向量。將兩個網(wǎng)絡的預測結果進行融合,有效地提升了識別精度。
Song 等[38]引入多輸入分支結構、瓶頸結構和殘差連接結構,提出了PA-ResGCN 網(wǎng)絡模型。多輸入分支結構包括骨架數(shù)據(jù)中的空間和時間信息,即關節(jié)位置、骨骼特征、運動速度3 個特征分支,在早期進行特征融合時保留信息輸入的豐富性。He 等[41]提出的瓶頸結構被應用到模型中,有效減少了參數(shù)量,加快模型的推理速度。
Chen 等[42]在Song 等[38]提出的多分支結構的基礎上額外引入姿勢信息,提出了PG-GCN 網(wǎng)絡模型。姿勢信息本身就包含了動作識別信息和判別線索,利用姿態(tài)數(shù)據(jù)作為更新網(wǎng)絡模型的指導信息,提高了模型性能。隨著研究者不斷對網(wǎng)絡模型進行創(chuàng)新,骨架信息以外的信息被引入模型,豐富了輸入信息的多樣性,為以后的工作提供了新的方向。Cai 等[43]認為僅僅依靠于骨架信息不能夠充分得到人體運動特征,導致現(xiàn)有模型無法對有細微運動差異的動作進行分類,因而聯(lián)合骨架信息和光流對準貼片(JFP)提出了一個新的雙流圖卷積網(wǎng)絡模型。在骨架數(shù)據(jù)中以每一個節(jié)點為中心的小范圍內提取出運動光流,把兩部分信息進行融合以此提高模型識別精度。
Zhang 等[44]提出了語義信息對于骨架動作識別的重要性,把關節(jié)點的類型和幀索引這兩種語義信息加入模型中,構建了基于語義引導的圖神經(jīng)網(wǎng)絡(SGN)。語義信息使該模型具有更強的可解釋性,與其他模型相比,該網(wǎng)絡在訓練參數(shù)較小的情況下,取得了具有競爭性的結果。
隨著研究人員對人體動作識別的不斷探索,大量與動作識別相關的數(shù)據(jù)集被創(chuàng)建,用于評估和檢測算法的性能。主流的開源數(shù)據(jù)集(表1)有Kinetics[45]、NTU RGB+D[46]、UT-Kinect[47]、SYSU[48]以及Florence 3D。本節(jié)將對目前應用最為廣泛的 Kinetics 和NTU RGB+D 數(shù)據(jù)集進行詳細介紹,其余數(shù)據(jù)集信息見表1。
表1 人體動作識別數(shù)據(jù)集匯總表Tab.1 List of human action recognition datasets
Kinetics 數(shù)據(jù)集是目前最大的無約束行為識別數(shù)據(jù)集。該數(shù)據(jù)集由Google 公司的deepmind 團隊提供,是從視頻網(wǎng)站YouTube 上剪輯的片段,一段視頻對應一個標簽,每段視頻大約持續(xù)10 s。行為主要有3 類:單人行為、人與物之間的行為、人與人之間的行為,其分為Kinetics 400/600/700,不同的數(shù)字代表不同的動作類別數(shù)。
NTU RGB+D 數(shù)據(jù)集是目前最大的室內動作捕獲三維關節(jié)的行為識別數(shù)據(jù)集,是三維骨架動作識別的標準測試數(shù)據(jù)集。該數(shù)據(jù)集是由南洋理工大學的RoseLab 實驗室提出的數(shù)據(jù)集。采用Kinect v2 傳感器從3 個不同角度拍攝,由40 個不同年齡的志愿者在室內采集得到。3D 骨架數(shù)據(jù)包含每幀25 個關節(jié)點的三維位置,每個片段保證最多有2 個人的人體骨架。該數(shù)據(jù)集包含兩個劃分規(guī)則,分別為按人物ID劃分(X-Sub)與按攝像頭視角劃分(X-View),其分為NTU RGB+D 60/120,不同的數(shù)字代表不同的動作類別。
在人體動作識別任務中,判斷一個算法的優(yōu)劣通常以動作識別準確率為標準。在Kinetics 數(shù)據(jù)集中采用top-1 和top-5 準確率進行表示。
式中:Ptop-1和 Ptop-5分別為top-1 和top-5 準確率,N 為總樣本數(shù),N1為正確分類的樣本數(shù),N2為正確標簽包含在前5 個分類概率中的個數(shù)。在其余數(shù)據(jù)集中均采用top-1 準確率進行表示,本文涉及的算法在各個數(shù)據(jù)集上的性能見表2。
表2 基于圖卷積人體動作識別算法性能比較Tab.2 Performance comparison of human action recognition algorithms based on graph convolution
由于ST-GCN 是第一個基于圖的動態(tài)骨骼建模方法,為后續(xù)網(wǎng)絡框架提供了指引,所以成為其他行為識別算法的基準。ST-GCN 在NTU RGB+D 數(shù)據(jù)集的兩個基準X-Sub 和X-View 上的識別準確率為81.5% 和 88.3% 。其他算法分別對圖構建方式(DGNN)、注意力機制(PA-ResGCN)、融合不同信息(SGN、JOLO-GCN)進行改進,使模型識別性能不斷提升。目前,聯(lián)合骨架數(shù)據(jù)與光流的動作識別網(wǎng)絡(JOLO-GCN)在NTU RGB+D 數(shù)據(jù)集和Kinetics 數(shù)據(jù)集上取得了最優(yōu)結果,準確率分別為 93.8%和98.1%。其原因是在提取骨架數(shù)據(jù)的基礎上,又引入了局部光流信息,兩種角度的信息更有助于計算機理解人體動作。此外,ResGCN-N51 網(wǎng)絡在參數(shù)量達到最小的同時,也能取得具有競爭力的結果,準確率分別為89.1%和93.5%。
隨著圖卷積神經(jīng)網(wǎng)絡在人體動作識別領域研究的不斷深入,分析現(xiàn)有模型,其發(fā)展方向主要有:
(1)圖卷積與圖池化[49-50]相結合。在模型中引入池化層可以增大節(jié)點間的差異性,減少過擬合的發(fā)生,使構建深度圖卷積模型成為可能。例如,Ying等[51]提出的Diffpool 池化方法應用在圖分類任務上提高了模型性能。未來,研究人員可以把圖卷積與圖池化相結合構建深度網(wǎng)絡模型。
(2)多特征融合方法。多特征融合是將不同模態(tài)的信息進行融合,其通常優(yōu)于單一數(shù)據(jù)特征方法的識別結果。在基于圖卷積網(wǎng)絡的人體動作識別中,除骨架數(shù)據(jù)外,可以考慮引入光流、RGB 圖像、語義等模態(tài)信息,如JOLO-GCN[43]、SGN 等[44]。這些改進有效地提升了模型精度,證明了多特征融合的必要性,但多特征融合的難點在于如何將多個模態(tài)的信息進行有效融合。此外,多模態(tài)特征融合增大了網(wǎng)絡模型的計算復雜度,所以對于模態(tài)的選擇和特征融合方法是未來該領域重要的研究方向。
(3)細粒度動作識別。隨著網(wǎng)絡模型在粗粒度數(shù)據(jù)集上的識別精度越來越高,動作識別正在由粗粒度向細粒度進行轉變,一些細粒度動作識別數(shù)據(jù)集已經(jīng)被提出,如Epic-Kitchens[52]、Jester、FineGym[53]。細粒度動作識別要求模型區(qū)分相似動作之間的微小差異,對模型提出了更高的要求。如何區(qū)分動作之間微小的差異是未來細粒度動作識別的主要研究方向。
(4)小樣本學習。傳統(tǒng)深度學習模型進行分類任務時往往需要標注大量的數(shù)據(jù)作為支撐,小樣本學習旨在利用先驗知識使模型快速適用于只包含少量帶有監(jiān)督信息的樣本任務中。在動作識別任務中,數(shù)據(jù)的收集成本昂貴,數(shù)據(jù)標注耗費大量人力物力,研究小樣本學習的意義不言而喻。此外,人體動作種類繁多,構建一個包含所有種類的動作識別數(shù)據(jù)集將面臨巨大困難,故小樣本學習研究受到了越來越多的關注。Cao 等[54]通過對齊視頻的幀,用最小路徑的代價衡量兩個視頻的相似度,從而實現(xiàn)動作分類。Ma等[55]同時使用基于秩最大化解耦的空間對齊和基于動態(tài)規(guī)劃思想最優(yōu)匹配的時序對齊,從空域和時域兩個角度進行動作識別。如何充分利用好先驗知識,是小樣本學習未來的研究方向。