白忠玉,丁其川,徐紅麗,吳成東
東北大學機器人科學與工程學院,沈陽 110819
基于視覺的人體動作識別技術在安全監(jiān)控、智能監(jiān)護、人機交互及虛擬現(xiàn)實等領域有著廣泛的應用(冉憲宇 等,2018)?;诠趋赖膭幼髯R別方法首先從視頻或圖像中提取人體的關節(jié)點與骨骼連接數(shù)據(jù),然后用于動作識別,可以在動態(tài)環(huán)境、復雜背景和遮擋等情況下實現(xiàn)對運動的魯棒識別,已成為當前人體動作識別的主要途徑(Fernando等,2015)。
在實際應用中,從視頻或圖像中提取骨架數(shù)據(jù)會屏蔽圖像中與人交互的物體信息,僅保留人體關節(jié)點的連接及運動信息,而相似動作的關節(jié)運動特征差異較小,基于骨架的動作識別方法難以分辨,易導致識別混亂。例如,識別“喝水”和“吃東西”等相似動作時,僅能提取“嘴”和“手”等相關關節(jié)的運動特征,而缺乏“水杯”、“食物”等關鍵語義信息提示,僅利用關節(jié)/骨骼數(shù)據(jù)難以準確區(qū)分“喝水”和“吃東西”這類相似動作,為基于骨架的動作識別帶來了挑戰(zhàn)。
早期動作識別方法需要從骨架序列數(shù)據(jù)中手動提取特征,用于動作識別建模(Sánchez等,2013),但是這類方法操作煩瑣,提取的特征缺乏多樣性,泛化能力較差。得益于深度學習模型強大的特征自動提取能力,基于深度學習的方法已經成為目前動作識別的主流方法(成科揚 等,2021)。傳統(tǒng)深度學習方法通常將骨架數(shù)據(jù)構造為關節(jié)坐標向量或偽圖像,然后直接輸入到遞歸神經網絡(recurrent neural network,RNN)(Liu等,2016)或卷積神經網絡(convolutional neural network,CNN)(Ke 等,2017)進行動作分類。該類方法由于受歐氏數(shù)據(jù)結構的限制,會丟失骨架的空間結構信息,無法體現(xiàn)人體關節(jié)點之間的自然關聯(lián)性,對相似動作間關節(jié)運動特征的細微差異難以分辨。實際上,人體骨架更自然地構造為非歐氏空間中的圖結構。近年來,圖卷積網絡(graph convolutional network,GCN)將卷積操作從圖像推廣到圖結構,并成功應用到基于骨架的動作識別中,取得了良好的效果(Yan 等,2018)。目前,基于GCN 的動作識別方法普遍關注圖網絡拓撲結構的設計與改進,缺乏針對相似動作識別混亂問題的探討。
相似動作難以區(qū)分已成為影響模型動作識別效果的重要因素。Du 等人(2015)提出一種端到端分層RNN 網絡用于動作識別,發(fā)現(xiàn)錯誤分類主要發(fā)生在幾個非常相似的動作間。隨后,進一步發(fā)現(xiàn)錯誤分類動作具有相似的時空變化特征,并指出若不增加動作背景信息,僅依靠骨骼數(shù)據(jù)很難區(qū)分這些動作(Du 等,2016)。Lee 等人(2017)提出一種時間滑動長短時記憶網絡模型(temporal sliding long shortterm memory,TS-LSTM)進行動作分類,發(fā)現(xiàn)錯誤分類動作的骨骼序列在時空間存在高度重疊。Gao 等人(2019)提出一種基于圖回歸的動作識別方法(graph regression based graph convolutional network,GR-GCN),用于捕獲骨架數(shù)據(jù)的時空變化信息,但仍未解決高度相似動作的識別問題。Si等人(2019)提出一種注意力增強圖卷積LSTM 網絡用于動作識別,發(fā)現(xiàn)對相似動作的誤識別導致模型識別效果差,并提出有效區(qū)分細微動作是實現(xiàn)相似動作識別的關鍵。Liang 等人(2020)認為共享子動作(sub-actions sharing)是導致相似動作識別性能差的重要原因,并提出一種利用子動作關系,融合深度信息和骨骼特征的分段識別模式。然而,該方法的識別效果依賴于對子動作的劃分,難以區(qū)分子動作高度相似的動作類別。
為實現(xiàn)對相似動作的正確分類識別,本文結合圖像語義信息,提出一種基于顯著性圖像特征強化的中心連接圖卷積網絡(saliency image feature enhancement based center-connected graph convolutional network,SIFE-CGCN)。首先,針對相似動作中細微運動差異難以捕獲的問題,設計一種骨架中心連接拓撲結構,建立人體所有關節(jié)點到骨架中心的連接,以捕捉運動中所有關節(jié)間潛在的協(xié)同依賴關系,進而提取關節(jié)運動的細微差異特征;其次,針對圖像語義特征缺失問題,利用高斯混合背景建模法從運動視頻中提取顯著性圖像,再采用VGG-Net(Visual Geometry Group network)(Simonyan 和Zisserman,2014)提取圖像特征圖,并進行動作語義特征匹配分類;最后,將分類結果按照一定的融合比例對中心連接圖卷積網絡的識別結果強化修正,提高網絡對相似動作的識別能力。此外,提出了一種針對骨架數(shù)據(jù)的動作相似度計算方法,并據(jù)此建立相似動作數(shù)據(jù)集。實驗結果表明,本文方法可實現(xiàn)對相似動作的準確有效分類,且模型的整體識別性能及魯棒性也得以提升。
本文方法以圖卷積網絡為基礎,下面簡要介紹圖的構造、圖卷積網絡以及動作識別的具體實施。
基于骨架的動作識別方法通過深度傳感器或位姿估計算法提取每一幀圖像中人體的骨架數(shù)據(jù),并用矢量序列表示,其中每個關節(jié)的2D 或3D 坐標設置為對應的向量。本文使用時空圖來模擬關節(jié)沿著空間維度(spatial dimension)和時間維度(temporal dimension)的結構化信息(Yan 等,2018),定義時空圖G=(V,E),如圖1 所示,其中圖的節(jié)點表示人體關節(jié)點,定義節(jié)點集合V={vti|t=1,…,T,i=1,…,N},其中,t表示骨骼序列的幀數(shù),i表示關節(jié)點數(shù),T和N分別表示總幀數(shù)和總關節(jié)點數(shù)。人體骨骼自然連接可表示為空間邊緣ES(連接實線),而在時間維度上,兩個相鄰幀間的對應關節(jié)點連接表示為時間邊緣EF={vtiv(t+1)i}(虛線),ES和EF構成了圖的邊集合E。
圖1 骨架時空圖結構Fig.1 Skeleton spatiotemporal diagram structure
通常,每個關節(jié)點的特征向量只包含關節(jié)的2D或3D 坐標,可看做骨骼數(shù)據(jù)的1 階信息,而兩個關節(jié)點之間的骨骼長度和方向特征可看做骨骼數(shù)據(jù)的2 階信息,針對動作識別,2 階信息可以幫助模型更好地捕獲動作的多角度特征。本文參考Shi 等人(2019)的方法,提取骨骼的2 階信息。以3D 骨骼數(shù)據(jù)為例,人體骨架中心定義為人體腹部的關節(jié)點,每個骨骼都連接兩個關節(jié)點,靠近骨骼中心的關節(jié)為源關節(jié),遠離中心的關節(jié)是目標關節(jié)。每個骨骼表示為從源關節(jié)指向目標關節(jié)的向量。例如,給定源關節(jié)j1=(x1,y1,z1)與目標關節(jié)j2=(x2,y2,z2),則相應的骨骼矢量為=(x2-x1,y2-y1,z2-z1)。
圖卷積神經網絡(GCN)是處理圖結構化數(shù)據(jù)表示的有效框架。給定預定義的圖結構,則圖節(jié)點vi在空間維度上的圖卷積為
式中,fin(·)和fout(·)分別表示網絡訓練過程中節(jié)點的輸入與輸出特征值。B(vi)為節(jié)點vi的采樣區(qū)域,定義為人體骨架的物理連接中與關節(jié)點vi相鄰的節(jié)點區(qū)域集合。w(·)是權重函數(shù),用于提供權重向量。卷積的權重向量的數(shù)量是固定的,而鄰域中的關節(jié)點數(shù)量是變化的,按照映射策略設計對應的映射函數(shù)li(·),將采樣區(qū)域內的關節(jié)點分割到多個固定的子集中,每個子集都與一個唯一的權重向量相關聯(lián),因此,映射策略直接影響模型的特征提取效果。ST-GCN(spatio-temporal graph convolutional network)模型(Yan 等,2018)的映射策略如圖2 所示,以圖中黑色曲線中紅色的點為例,曲線所包圍的區(qū)域為該節(jié)點的采樣區(qū)域B。圖中“×”表示人體骨架重心。該策略按照骨骼物理連接結構將B分成3個子集:Si1是頂點本身(圈中紅色點);Si2是向心子集,包含比頂點本身更靠近重心的相鄰頂點(黃色點)集合;Si3是離心子集,包含離重心更遠的相鄰頂點(藍色點)集合。Zij表示包含vj的子集數(shù)量,用于平衡各個子集對輸出的貢獻。
圖2 映射策略示意圖Fig.2 Illustration of the mapping strategy
網絡的特征圖本質上是一個三維向量,即f∈RC×T×N,其中,N表示頂點的數(shù)量,T表示時間的長度,C表示特征圖的特征維度。通過鄰接矩陣Ak可以判斷關節(jié)是否連接。因此,為實現(xiàn)空間圖卷積,將式(1)轉化為
對于時間維度,骨骼序列中每一幀與前后兩幀相關聯(lián),因此每幀中節(jié)點相鄰的節(jié)點數(shù)固定為2,可以執(zhí)行類似于經典卷積來代替圖卷積。即對式(2)計算得到的輸出特征圖執(zhí)行Kt× 1 卷積,其中Kt為時間維度的卷積核大小。
經過上述空間和時間圖卷積操作提取高維特征后,通過池化層和softmax 分類器可實現(xiàn)對動作的分類識別。
人體運動需要多關節(jié)甚至是全部關節(jié)的協(xié)同參與。基于此,為更全面地捕捉動作中關節(jié)點的細微運動特征,設計了一種骨架中心連接拓撲結構(圖3),在人體關節(jié)點物理連接的基礎上添加了中心連接,將所有關節(jié)點與骨架中心建立連接(虛擬連接),以獲取所有關節(jié)點相對骨架中心的位移變化,增強模型對細微運動特征的捕捉能力。同時,進一步考慮到各關節(jié)點在不同動作中的作用不同(例如“喝水”動作,“手”、“肘”和“嘴”部關節(jié)點起到主要作用),模型添加了注意圖以重點關注主要運動關節(jié),具體為
圖3 骨架中心連接拓撲結構Fig.3 Illustration of the topology of skeleton-center connection
式中,鄰接矩陣Ak分為4 部分。Aroot、Aoff和Aen對應圖2 中的映射策略,分別代表根節(jié)點、離心和向心的鄰接矩陣,均為N×N,這3 個鄰接矩陣僅表達了人體關節(jié)的自然物理連接,但是對于動作而言,可能并非僅由物理連接的關節(jié)運動產生,比如“拍手”,雙手關節(jié)點沒有物理連接,但是需要協(xié)同運動。因此,為了更全面地描述運動中所有關節(jié)點的潛在協(xié)同依賴關系,在式(3)中添加了表征所有關節(jié)點與骨架中心連接的鄰接矩陣Acc∈RN×N。以人體腹部關節(jié)點作為中心節(jié)點,可以兼顧人體所有關節(jié)的動態(tài)特征,且該連接是虛擬的連接,可以克服因物理連接聯(lián)動干擾導致的關節(jié)點細微運動難以分辨問題,利于獲取相似動作間的細微運動差異。此外,Mk∈RN×N是可學習的注意力圖,它決定了關節(jié)點之間連接強度,可以使模型更關注主要運動關節(jié)點。⊙表示對應元素乘積操作。由于中心連接鄰接矩陣的添加,卷積核大小Kv=4。Wk(·)是參照式(1)中的w(·)引入的加權函數(shù)。
按照式(3)構建中心連接圖卷積網絡(CGCN)的空間圖卷積模塊,而時間圖卷積模型仍采用經典卷積的操作方式。一個基本的中心連接圖卷積單元包括一個空間圖卷積(Convs)、一個時間圖卷積(Convt)和一個丟失層(dropout),如圖4(a)所示。Convt和Convs之后都是批量歸一化層(batch normalization,BN)和ReLU(rectified linear unit)層。為了訓練穩(wěn)定,為每個單元添加殘差連接(residual connection)。
圖4 CGCN模型結構圖Fig.4 The structure of CGCN((a)graph convolutional unit;(b)graph convolutional network structure)
如圖4(b)所示,中心連接圖卷積網絡是由9 個中心連接圖卷積基本單元堆疊而成,每個單元輸出通道數(shù)分別為64、64、64、128、128、128、256、256 和256;在網絡開始處前添加BN層,使輸入的數(shù)據(jù)標準化,結尾處添加全局平均池化層,統(tǒng)一特征維度;最后,將處理的特征圖輸入softmax 分類器,獲得預測結果。
為充分利用骨架數(shù)據(jù)的1階和2階信息,提出的CGCN 總體框架如圖5 所示,J-CGCN(joint centerconnected graph convolutional network)和B-CGCN(bone center-connected graph convolutional network)分別代表關節(jié)點和骨骼矢量的圖網絡。對于給定的人體運動骨架數(shù)據(jù),首先通過計算得到1 階關節(jié)數(shù)據(jù)和2 階骨骼矢量,然后將關節(jié)數(shù)據(jù)和骨骼矢量分別輸送到J流和B流中,最后將兩個流的預測結果融合相加,通過softmax分類器獲得最終的預測結果。
圖5 基于CGCN的動作識別模型Fig.5 CGCN-based action recognition model
上述方法僅利用人體的骨架數(shù)據(jù)進行動作識別,如前所述,對于一些相似動作,其骨架數(shù)據(jù)特征的差異不明顯,而人體運動中涉及的交互物卻有顯著差異,比如“喝水”和“吃東西”兩種動作,骨架序列數(shù)據(jù)非常接近,但是“水杯”和“食物”的圖像語義特征有顯著性差異。因此,若能從視頻或圖像中提取有顯著差異的特征,用于強化CGCN 的識別結果,能夠進一步提升模型對相似動作的識別效果。
視頻幀間人體形態(tài)變化大的區(qū)域往往具有顯著的特征信息。對視頻中顯著性圖像的選取旨在提取視頻中運動區(qū)域的圖像信息,同時消除視頻中冗余背景信息。高斯混合模型背景建模法是一種基于像素的建模方法(蔡念 等,2011),可以表示多模分布的背景,將每一幀與實時更新的背景模型相比較,分割出顯著性變化的圖像區(qū)域,同時消除背景干擾,且具有存儲數(shù)據(jù)量小及自適應學習的優(yōu)點。本文利用該方法構造時空背景模型,以提取視頻中的顯著性圖像。
高斯混合模型以高斯分布為基礎,將每個像素點的取值建模為K個獨立的高斯分布,并對高斯分布的均值和方差在線更新。Xt表示像素點在t時刻的觀測值,一般為(R,G,B)顏色分量。t時刻視頻幀中像素點Xt的概率密度表示為
式中,K是高斯分布組元數(shù),本文取值為5;ωk,t為t時刻的第k個高斯分布的權重,μk,t為均值,Σk,t為協(xié)方差矩陣,η(·)為高斯概率密度函數(shù)。為了簡化計算,假設各個顏色通道獨立且具有相同的方差,即
式中,σk,t為標準差,I為單位陣。對于t+1 時刻視頻幀,將其中的每個像素值依次與K個高斯分布匹配檢驗,若滿足
則說明當前像素點Xt+1和該高斯分布相匹配,反之則不匹配。式中,λ為常量,本文取值為2.5。對于匹配的第k個高斯分布,更新為
式中,β為更新速率,本文取值為0.01;ρ為參數(shù)學習率。若匹配,Mk,t+1取1,否則取0。不匹配的高斯分布權重依舊按式(6)更新,但其均值和方差保持不變。若所有高斯分布均不匹配,則更新權值最小的高斯分布的均值和方差,并對所有權值作歸一化處理。
按ωk,t/σk,t由大到小的順序排列每個高斯分布,選擇上述序列中前L個高斯分布作為背景模型,則
式中,D為預定的權重閾值,本文取值為0.5。將每個像素值與背景模型匹配測試,若匹配,則該像素點為背景點,否則該像素點為前景點。具體流程圖如圖6所示。獲得所需前景、后景后,對圖像進行形態(tài)學運算,包括核為3 × 3的開運算去噪,以及核為8 × 3的閉運算,以連通相鄰區(qū)域。最后根據(jù)設定的像素閾值獲得需要的顯著性圖像。
圖6 顯著性圖像提取流程圖Fig.6 Saliency image extraction flowchart
從顯著性圖像中提取出語義特征圖是后續(xù)區(qū)分相似動作的關鍵。本文選用預訓練的VGG-Net作為特征圖提取網絡,前期研究已證實VGG-Net 能夠有效地從圖像中提取物體的空間結構特征(Simonyan和Zisserman,2014)。圖7 給出了特征圖提取過程,其中VGG-Net多次使用3 × 3小型卷積核和2 × 2的最大池化層,構建了16~19 層深的卷積神經網絡。特征圖尺寸(Wf×Hf)與原始圖像尺寸(W×H)及卷積層參數(shù)關系為
圖7 圖像特征提取過程Fig.7 The process of the image-feature extraction
式中,F(xiàn)為卷積核大小,P為網絡的填充數(shù),S為網絡移動步長。
如圖7 所示,每個卷積層后對應一個激活層(convolution+ReLU),激活層不改變圖像大小,所以原始圖像經過卷積層和激活層后的特征圖大小均不會改變。采用5 個最大池化層(maxPooling)對激活層輸出進行2 × 2 不重疊最大值降采樣,于是VGGNet 輸出的特征圖的長和寬都為原始輸入圖像長和寬的1/32,特征圖的維度為512。本文先利用VGG-19 預訓練模型對顯著性圖像特征提取,再采用神經元個數(shù)分別為25 088、4 096 和N(動作種類數(shù))的3 個全連接層(fully connected)對特征圖進行動作語義匹配分類。
應用SIFE-CGCN 模型進行動作識別的整體框架如圖8 所示,其中主體包括CGCN 網絡(上分支)和顯著性特征強化(SIFE)模塊(下分支)兩部分。針對動作視頻輸入,首先提取骨架數(shù)據(jù),構造關節(jié)點時空矢量圖,輸入CGCN 網絡,獲得基于骨架數(shù)據(jù)的動作預測結果,同時利用高斯混合模型背景建模法從視頻圖像幀中提取顯著性圖像,而后將顯著性圖像輸入VGG-Net 提取特征圖,再采用全連接網絡對特征圖進行動作語義匹配分類,最后將匹配結果與CGCN 預測結果按給定的比例α(0 ≤α≤1)融合,將融合結果輸入到softmax 分類器,獲得最終強化修正的動作識別結果,即
圖8 基于SIFE-CGCN的動作識別整體框架Fig.8 Overall framework of action recognition based on SIFE-CGCN
式中,fCGCN、fSIFT和fout分別為CGCN 網絡、SIFE 模塊和整體模型最終的輸出結果。
NTU RGB+D 60(Nanyang Technological University RGB+D 60 )是目前使用最廣泛的針對室內動作識別的視頻數(shù)據(jù)集(Shahroudy 等,2016),數(shù)據(jù)通過Microsoft Kinect v2 相機捕獲,是40 名10~35 歲的志愿者的動作視頻剪輯,共有56 880個視頻片段,涵蓋60 種動作類別,包括單人及雙人動作,其中單人動作包括“喝水”、“吃飯”等40 種日常動作。由Kinect v2 深度數(shù)據(jù),可以獲得人體的25 個關節(jié)點的3D 坐標,形成骨骼/關節(jié)數(shù)據(jù)。數(shù)據(jù)集采用cross-subject(X-Sub)和cross-view(X-View)兩種評估方式。在X-Sub評估中,訓練集包含來自20個動作類的40 320個視頻,其余的16 560 個視頻用于測試;在X-View評估中,從2號和3號相機捕獲的視頻(包含37 920個視頻)用于訓練,而從1 號相機捕獲的視頻(包含18 960個視頻)用于測試。實驗中,兩個基準都報告了Top-1的準確率。
NTU RGB+D 120(Liu等,2020)是目前最大的具有3D 關節(jié)標注的人體動作識別數(shù)據(jù)集,是NTU RGB+D 60 數(shù)據(jù)集的擴展。該數(shù)據(jù)集包含120 個動作類別,共有114 480 個動作樣本。樣本由106 名志愿者利用不同設置的3 個攝像頭拍攝采集。攝像頭的設置方式共有32 種,每種設置表示一個特定的位置和背景。該數(shù)據(jù)集包含兩種評估方式。其中,跨自愿者評估(X-Sub)共有106 個志愿者,分為訓練組和測試組,每組包括53 名志愿者。跨攝像頭設置評估(cross-setup,X-Set)的訓練數(shù)據(jù)來自設置標號為偶數(shù)的樣本,測試數(shù)據(jù)來自設置標號為奇數(shù)的樣本。
為了驗證提出的方法對相似動作識別的有效性,挑選關節(jié)點坐標相近的3 組動作構建相似動作數(shù)據(jù)集,用于實驗驗證。具體方法為:
首先,從每個動作的骨架序列中平均采樣20幀,計算每個動作后19幀中關節(jié)點坐標相對第1幀對應關節(jié)點坐標的歐氏距離,即
然后,計算兩個動作對應幀關節(jié)點位置變化值差的絕對值和,即
式中,Sact1-2是動作act1與動作act2的相似度指標,該值越小,說明這兩個動作差異越小,相似度越高。
利用式(15)和(16),選擇8 種動作,包括喝水(drink water)、吃飯(eat meal)、刷牙(brush teeth)、打電話(phone call)、讀書(reading)、寫字(writing)、穿鞋(put on a shoe)和脫鞋(take off a shoe),其中,前4種動作為第1組相似動作,“讀書”和“寫字”為第2組相似動作,“穿鞋”和“脫鞋”為第3組相似動作。
實驗均在同一實驗環(huán)境下完成,實驗平臺為一臺CPU 為英特爾i7-600K、GPU 為NVIDIA GeForce TITAN XP(顯存為12 GB)的計算機,操作系統(tǒng)為Ubuntu16.04。所有實驗均使用PyTorch深度學習框架。模型損失函數(shù)采用交叉熵(cross entropy)損失函數(shù),采用小批量隨機梯度下降法(stochastic gradient descent,SGD)訓練模型,動量為0.9。對于NTU RGB+D 60 數(shù)據(jù),初始學習率設為0.1,在第30、40、50 個epoch 除以10,共訓練60 個epoch。對于NTU RGB+D 120 數(shù)據(jù),初始學習率設為0.1,在第60、70、80 個epoch 除以10,共訓練100 個epoch。數(shù)據(jù)的批量大小均為64。
為了防止顯著性圖像特征提取過程中出現(xiàn)過擬合,對圖像進行預處理,將圖像尺寸統(tǒng)一裁剪為224 × 224 像素,并進行平移、旋轉和歸一化處理。對骨架數(shù)據(jù)的預處理包括基于骨架標識符的骨架對齊、基于骨架置信度過濾誤檢的物體、坐標歸一化和視角歸一化。
首先,測試CGCN 模型中的注意力圖和雙流框架的有效性。對于注意力圖,缺少注意力圖的CGCN 模型(CGCN(without attention))與添加了注意力圖的CGCN 模型在相似動作數(shù)據(jù)集上的識別精度如表1 所示。對比的方法包括ST-GCN(spatiotemporal graph convolutional network)(Yan等,2018)、2s-AGCN(two-stream adaptive graph convolutional network)(Shi 等,2019)以 及JB-AAGCN(joints and bones attention-enhanced adaptive graph convolutional network)(Shi等,2020)算法??梢钥闯觯砑恿俗⒁饬D后,模型的識別精度在X-Sub 和X-View 基準上分別提升了1.4%和0.8%。表明注意力圖的添加能夠增加模型的靈活性,自適應關注重點運動的關節(jié)點,提高對細微動作的識別性能。對于CGCN 模型中的雙流網絡,表1 中的CGCN(J)、CGCN(B)和CGCN(J+B)分別代表CGCN 模型利用關節(jié)點流、骨骼流和雙流數(shù)據(jù)在相似動作數(shù)據(jù)集X-Sub和X-View兩個基準上的動作識別準確率??梢钥闯觯秒p流數(shù)據(jù)的模型識別精度均高于僅利用單流數(shù)據(jù)的模型識別精度。其中,CGCN(J+B)達到了最高的識別精度,在不同的基準上,精度達到了76.1%(X-Sub)和86.8%(X-View),較次優(yōu)的單流模型CGCN(B)分別提升了2.8%和1.1%。表明雙流網絡能夠通過充分利用骨架數(shù)據(jù)的多角度特征,提高模型的識別能力。
表1 相似動作數(shù)據(jù)集上與其他方法的識別精度對比Table 1 Comparison of accuracy with other methods on the similar action dataset/%
圖9 顯示了“喝水”動作在不同網絡層中注意力圖,其中紅色圓點的大小代表關節(jié)的運動參與度,點越大,參與度高??梢钥闯?,在第1 層網絡(layer1)中,模型對關節(jié)點的關注較均勻,在四肢處均有較高的關注度。隨著網絡層數(shù)的增加(layer3—layer9),模型更加關注手部、肘部及頸部關節(jié)點,說明這些關節(jié)主要參與執(zhí)行了“喝水”動作,與事實相符;另外,重點關注手部、肘部等關節(jié)運動,也利于網絡捕捉與“喝水”相似的動作間的運動特征差異。表明本文采用的可學習注意力圖在低層網絡能夠提取人體全身關節(jié)的運動特征,而隨著網絡層數(shù)的增加,使模型更關注主要參與運動的關節(jié)點,捕獲主要關節(jié)點的運動特征,也有助于提高對相似動作的分辨能力。
圖9 針對“喝水”動作的可學習注意力圖變化Fig.9 Changes of learnable attention map for the action of drinking water
其次,測試顯著性圖像的提取效果。表2 列出了隨機幀圖像和顯著性圖像在X-Sub和X-View兩種基準上的實驗結果。在表2 顯示的利用4 種預訓練模型提取特征圖計算分類精度的結果中,Google-Net模型(Szegedy 等,2015)提取特征的分類精度最低,該模型采用大量1 × 1卷積核降維,會丟失較多低維信息,特征提取效果較差;Restnet50 模型(He 等,2016)設計了一種殘差模塊以訓練更深層的網絡,其特征提取效果優(yōu)于Google-Net,但較多的網絡層引入更多參數(shù),易產生過擬合,導致特征提取的一致性差;VGG-Net 包含5 組卷積,模型深度適中,每組卷積都使用了3 × 3 卷積核,保證網絡的感受視野,同時增強對低維信息的捕獲能力,由該網絡提取的特征圖的匹配分類精度較高,其中,本文采用的VGG-19 模型提取的特征圖,在X-Sub 和X-View 上的分類精度分別達到58.11%和60.03%,比采用VGG-16模型獲得的精度提高了1.95%和1.54%??梢钥闯?,對于4 種不同的預訓練模型,顯著性圖像的語義匹配分類結果均高于隨機幀圖像。表明提出的顯著性圖像提取方法能夠有效捕獲圖像中的動態(tài)信息,增強動作相關的語義特征。
表2 利用4種模型提取特征圖計算的分類精度Table 2 Matching classification accuracy by using the feature maps extracted by four models/%
進一步,將提出的SIFE-CGCN 與隨機幀圖像特征強化的中心連接圖卷積網絡(random-frame enhancement based CGCN,RF-CGCN)對 比,其 中RF-CGCN 從視頻中隨機選擇圖像幀,提取特征圖,其余部分與提出的方法完全一致。這兩種模型的相似動作識別結果也列于表1,其中SIFE-CGCN 在X-sub 和X-View 兩個基準上識別精度分別達到80.3%和92.1%,比RF-CGCN 的識別精度分別高了1.4%和1.8%??梢?,利用高斯混合模型得到的顯著性圖像特征對識別結果強化修正效果更優(yōu)越,能更好地區(qū)分相似動作。
圖10 顯示了CGCN 和SIFE-CGCN 模型在X-Sub評估基準下,針對相似動作數(shù)據(jù)集的動作識別精度對比圖??梢钥闯?,使用顯著性圖像特征強化修正后,模型對相似動作的識別精度均有了一定的提升。其中對第2 組動作的識別精度提高最明顯,準確率分別提高了12%和17%。對第3 組動作識別精度提升效果較差,準確率僅提高了4%和2%??梢?,對于顯著性圖像特征差異明顯的動作,識別精度提升更顯著;而對于如“穿鞋”和“脫鞋”等有相同顯著性圖像特征(“鞋”)的動作,識別精度提升減小。
圖10 CGCN模型和SIFE-CGCN模型在相似動作數(shù)據(jù)集X-Sub基準上的識別精度對比圖Fig.10 Comparison of recognition accuracy between CGCN model and SIFE-CGCN model on the X-Sub benchmark of similar action datasets
利用SIFE-CGCN 進行動作識別,式(14)中的融合比例α是一個重要參數(shù)。為了驗證不同融合方法的效果,圖11 給出了使用不同α時模型的動作識別精度。由于視頻圖像中存在背景干擾,且并非所有圖像特征信息對動作識別結果都有正向強化修正作用,需要按照一定的融合比例α對識別結果強化修正。實驗中將α從0~1 每次遞增0.1,從圖中可以看出,α值為0.4 時,識別準確率最高,兩個基準的折線均達到峰值,因此本文融合比例α值設為0.4。在峰值兩側隨著α值的變化,識別精度均下降。α值在0.1~1之間均得到了比α=0(僅使用CGCN模型)更高的識別精度,可見,顯著性圖像特征能夠對CGCN模型的識別結果強化修正,提升動作識別精度。
圖11 NTU RGB+D 60 數(shù)據(jù)集上顯著性圖像特征融合比例實驗折線圖Fig.11 Changes of learnable attention map for the action of drinking water on NTU RGB+D 60 dataset
最后,將提出的算法與現(xiàn)有方法進行比較。表1 顯示了本文方法與現(xiàn)有方法在相似動作數(shù)據(jù)集上的識別精度對比,由于對比方法沒有結合圖像語義,無法有效提取相似動作中的細微語義特征,識別精度較低。提出的SIFE-CGCN獲得的識別準確率最高,在兩個基準上比僅采用局部關節(jié)連接的JBAAGCN(雙流網絡)分別提高了4.6%和6.0%,比僅采用物理連接的ST-GCN 分別提升了14.8% 和15.3%??梢姡@著性語義強化以及骨架中心連接結構能夠使模型更好地學習相似動作間的關節(jié)運動細微差異,一定程度上提升對相似動作的識別能力。
表3 顯示了本文方法與現(xiàn)有方法在NTU RGB+D 60 數(shù)據(jù)集上對60 種動作識別的結果對比。用于比較的方法包括基于手工特征的方法、基于RNN 的方法、基于CNN的方法和基于GCN的方法。
表3 NTU RGB+D 60數(shù)據(jù)集上與其他方法識別精度對比Table 3 Comparison of accuracy with other methods on the NTU RGB+D 60 dataset/%
由表3 可見,基于手工特征的方法提取特征單一,無法體現(xiàn)動作的多樣性特點,識別精度較低;基于深度學習的方法可以自動提取相對豐富的動作特征信息,用于動作識別整體效果較好,其中基于RNN 的方法側重于對時間域中的動作特征提取,但忽略了空間域中的特征;基于CNN 的方法受限于歐氏數(shù)據(jù),對骨骼的空間連接結構提取較差;兩種方法在X-Sub 基準上的識別精度未超過85%,在X-View基準上的識別精度未超過93%。傳統(tǒng)基于GCN 的方法,采用連接的鄰接矩陣進行空間特征提取,而CGCN 在空間域中增加了骨架中心連接,在空間域的特征提取能力更強。本文提出的SIFE-CGCN 模型結合了顯著性圖像特征,能夠實現(xiàn)對動作識別的修正優(yōu)化,識別精度在兩個基準上較次優(yōu)模型FGCN(feedback graph convdutional network)分別提高了1.4%和0.6%,證明了本文方法的優(yōu)越性。圖12 顯示了SIFE-CGCN 模型在NTURGB+D 60 數(shù)據(jù)集上的識別精度混淆矩陣??梢钥闯?,模型的識別精度總體較高,僅相似動作中的吃飯、穿鞋、讀書和寫字4 個動作類別識別準確率低于80%。這些動作的骨架序列與其他動作相似且圖像語義特征不顯著,導致識別過程中易出現(xiàn)誤識別。
圖12 SIFE-CGCN模型在NTU RGB+D 60數(shù)據(jù)集上的識別精度混淆矩陣Fig.12 Confusion matrix of recognition accuracy of SIFE-CGCN model on NTU RGB+D 60 dataset
NTU RGB+D 120 數(shù)據(jù)集涉及更多動作樣本和類別,因此更具挑戰(zhàn)性。表4 顯示了本文方法與目前先進的方法在NTU RGB+D 120 數(shù)據(jù)集上的比較結果。比較方法包括基于手工特征的方法(Hu 等,2015)、基于RNN 的方法(Liu等,2018)、基于CNN 的方法(Ke等,2017)以及當前效果最好的基于GCN 的方法??梢钥闯?,本文模型在X-Sub 和X-Set 基準分別達到了87.1% 和88.5%。相較次優(yōu)的FGCN(Yang 等,2022)分別提高了1.7%和1.1%。由此可見,結合圖像語義特征后,模型的整體識別性能及魯棒性也得以提升。
表4 NTU RGB+D 120 數(shù)據(jù)集上與其他方法識別精度對比Table 4 Comparison of accuracy with other methods on the NTU RGB+D 120 dataset/%
針對基于骨架的動作識別方法在識別相似動作時容易出現(xiàn)識別混亂的問題,本文提出一種基于顯著性圖像語義特征強化的動作識別方法。通過建模人體所有關節(jié)與骨架中心的特征依賴,使模型能夠更好地學習相似動作間的細微差異;通過高斯混合背景建模法獲取顯著性圖像,采用VGG-19 模型提取圖像中動作語義特征,用于優(yōu)化動作識別結果,提升模型對相似動作的識別能力。在相似動作數(shù)據(jù)集和NTU RGB+D60/120 數(shù)據(jù)集上與最新的方法進行比較,實驗結果表明,本文算法提高了相似動作識別的準確性,識別準確率高于現(xiàn)有的方法,具有一定的優(yōu)勢性。但是,從實驗結果來看,盡管本文提出的模型取得了更高的識別精度,誤識別情況仍然存在,而這些動作具有相似圖像語義的動作。因此,后續(xù)的工作會繼續(xù)優(yōu)化顯著性語義特征提取流程,融合多類型數(shù)據(jù)進行動作識別,進一步提高對相似動作中顯著差異特征的提取能力。另外,本文實驗部分僅使用了室內數(shù)據(jù)集,將提出的模型應用于戶外復雜場景中的動作識別也是未來的主要研究工作。