周嫻瑋,賴 堅,陳瑋濤,阮 樂,李振豐,余松森
(華南師范大學 軟件學院,廣東 佛山 528010)
人類運動動作質量評估(Action Quality Assessment,AQA)指的是評估一個特定動作的執(zhí)行情況,為該動作進行打分。動作質量評估在現(xiàn)實中具有巨大的應用價值,如運用在體育視頻分析[1-6]、外科醫(yī)生手術訓練[7-8],以及其他的一些技能評估中[9-10]。
動作質量評估相較于人類動作識別(Human Action Recognition,HAR)更具有挑戰(zhàn)性,因為HAR是識別不同類別的動作,其動作之間差別較大,然而在AQA領域中,處理對象基本上都是同一類別下的動作,其動作間的差別較為細微,難以區(qū)別。目前絕大部分的運動,其中運動員比賽的評分(如跳水[11]、滑冰[12]等),都是由相關領域的專家評委根據(jù)運動員的表現(xiàn)給出相應的分數(shù)。在現(xiàn)實生活中,一名合格的專家評委是非常稀少的,因為他們必須經過長期的訓練才能熟悉所有特定的動作,因此用自動評分系統(tǒng)取代教練評分是未來的一種趨勢,另一方面,自動評分系統(tǒng)某種程度來說比較公平公正能夠避免評分丑聞。
近幾年里在AQA領域提出了許多方法[13-15]試圖解決分數(shù)預測問題,文獻[16]通過對視頻中的運動員進行追蹤,只提取視頻中運動員有關的特征。這種方法雖然一定程度上降低了背景因素的干擾,但是對于跳水運動而言,水花濺起的大小和高度,也是決定最后分數(shù)的關鍵因素,因此不根據(jù)運動特性而去除背景因素是不太合理的。文獻[17]通過對比學習進行分數(shù)預測,在數(shù)據(jù)集中挑選部分視頻作為范例視頻,然后通過學習范例視頻與輸入視頻之間的相似性來預測輸入視頻最終的評分。這類方法學習的相似度,通常會存在較大的誤差,并且需要人工選擇范例視頻,這在某種程度上增加了預測的復雜度。文獻[11,18-20]中的方法都是通過端到端之間的模型進行分數(shù)預測。在此類方法中,文獻[11]通過增加卷積層的數(shù)量加強特征提取的效果,但是卷積層數(shù)的增加,會導致網絡出現(xiàn)了退化,有效特征丟失。文獻[21]使用LSTM作為特征聚合器,LSTM在卷積的頂層只能獲取高層次的動作而不能獲取關鍵的低層次動作,作為特征聚合器不能起到一個很好的效果。
現(xiàn)有的方法不能有效地執(zhí)行特征聚合,在AQA任務中需要一種簡單、有效的特征聚合機制。為解決上述問題,該文提出了一種端到端的RFC-Net(Residual Full Connection Network)模型用于預測視頻的分數(shù)。AQA模型由特征提取器和特征聚合器兩個部分組成,特征提取器是用于視頻特征提取的網絡,特征聚合器是用于特征聚合以進行分數(shù)回歸的網絡。3D Convolutional Networks (C3D)[22]因為能提取出視頻中物體信息、場景信息和動作信息的特征,不需要根據(jù)特定任務進行微調都可以取得不錯的效果,被廣泛用于動作質量評估領域。C3D看似更適合做視頻處理,但存在維度問題,經過8層卷積層到最后全連接層有4 096個輸出單元,這樣就會更難訓練,并且不能有效地將2D網絡的預訓練權重遷移到3D網絡。所以該文的特征提取器采用Two-Stream Inflated 3D ConvNets (I3D)[23],I3D主要依據(jù)最優(yōu)的圖像網絡架構實現(xiàn),對它們的卷積和池化核從2D擴展到3D,并選擇使用它們的參數(shù),最終得到了非常深的時空分類網絡,并且分別采用了不同幀組成的Clip。該文的特征聚合器由平均池化層和RFC Block組成,其中RFC Block參照殘差網絡(Residual Networks)的設計,卷積操作的接受域范圍有限,導致了長期依賴關系的損失,所以使用全連接層作為權重層,每層的全連接層之間加入激活函數(shù),最后再恒等映射(identity mapping)聚合所有特征進行輸出。
為進一步驗證模型在不同背景下、動作差異較大時的泛化能力,該文制作了一類羽毛球運動的數(shù)據(jù)集簡稱(BS dataset),其中大部分是從視頻媒體共享平臺收集而來的羽毛球運動的訓練視頻。把所收集到的視頻交由專業(yè)的羽毛球教練根據(jù)不同難度的動作標準進行評分,最后參照MTL-AQA數(shù)據(jù)集的格式對其進行標簽化操作。與現(xiàn)有的數(shù)據(jù)集相比,該數(shù)據(jù)集有著其他的一些特性。首先視頻是教學的視頻而不是比賽的視頻,在教學中動作會較為緩慢,能更清楚識別出動作;其次羽毛球運動是人使用長柄網狀球拍擊打羽毛球的體育項目,不僅僅是要考慮人的動作是否標準,球拍的位置和握拍的方式也會影響動作的分數(shù);最后該數(shù)據(jù)集包括了不同背景下(不僅僅有羽毛球球場背景,還有居家背景)的教練或學員打羽毛球的視頻,增加了背景因素的影響,加大了預測分數(shù)的難度。
RFC-Net方法在MTL-AQA數(shù)據(jù)集以及BS-AQA數(shù)據(jù)集上進行了測試。實驗結果驗證了該模型能夠提高視頻中的動作分數(shù)預測效果。該文的主要貢獻可以總結如下:
(1)針對動作質量評估中預測的分數(shù)誤差較大問題進行改進。
(2)提出了RFC Block用于視頻的特征聚合,消融實驗表明該模塊能夠提高特征聚合的效果。
(3)提出了一種基于殘差結構的RFC-Net模型,該模型由特征提取器和特征聚合器組成,模型在MTL-AQA數(shù)據(jù)集以及BS-AQA數(shù)據(jù)集中取得了較好的結果。
動作質量評估領域與動作識別領域方法相類似,這個領域幾乎所有的工作都將視頻中人類動作表現(xiàn)分數(shù)的問題作為一個回歸問題。文獻[24-25]對方法做了一個概括,該文按照不同的視頻處理對該領域的方法進行劃分,分為基于視頻的方法以及基于人體骨架的方法。
基于人體骨架的方法表現(xiàn)為,使用姿態(tài)估計算法對視頻中的人體骨架進行識別,通過對姿態(tài)的識別得到人體骨骼各個關鍵點的信息。因為是從視頻中識別而來的數(shù)據(jù),所以這些關鍵點的信息是一個個二維坐標,所得到的2D人體骨架信息大多數(shù)使用圖卷積神經網絡提取特征來訓練回歸器。
文獻[26]提出了一種新的時空金字塔圖卷積網絡(ST-PGN),用于人體動作質量評估和姿態(tài)估計,此方法能夠使用來自骨架特征層次的所有特征。作者的另外一篇文獻在此基礎上又提出了一種新的多任務框架,該框架利用圖卷積網絡主干把人類骨架關節(jié)之間的互聯(lián)特性嵌入到所提取的特征中,然后根據(jù)不同的任務需要進行不同的處理[27]。文獻[28]建立了可訓練的骨架關節(jié)關系圖,并分析了其中的關節(jié)運動,提出了兩個新的模塊,聯(lián)合共性模塊和聯(lián)合差異模塊,用于關節(jié)運動學習,此外還有文獻[29-31]也屬于這類方法。
雖然骨骼數(shù)據(jù)相比視頻數(shù)據(jù),可以去除視頻中背景因素的影響,專注于人體的動作姿態(tài),能夠針對于不同環(huán)境下的動作進行質量評估。但是一個動作往往和物品或環(huán)境有著交互的關系,對只關注于動作本身的骨架信息而言難以分辨出這其中的聯(lián)系。
基于視頻的方法表現(xiàn)為,直接把RGB視頻流作為輸入,使用特征提取網絡來提取視頻中的特征,這種特征包含人體的動作信息以及視頻中的環(huán)境信息。這也可以概括為使用模型來學習視頻和動作分數(shù)之間的直接映射,然后采用這種映射關系用于預測新的視頻中的動作分數(shù)。這些工作大多數(shù)使用三維卷積神經網絡來提取視頻特征,然后使用回歸方法來獲得預測分數(shù),不同的論文在分數(shù)回歸階段的處理方法也不盡相同。
隨著視頻分析領域的進展,動作質量評估領域采取更深層次的特征提取網絡對視頻中的特征進行提取,同時還用不同的方法進行分數(shù)的回歸。文獻[18]中把動作識別中的框架引入到動作質量評估中,使用C3D以及C3D-LSTM的方法對特征進行提取,最后使用SVM回歸預測分數(shù),效果相較于之前論文中的單獨C3D卷積有了一定的提高。此外,在文獻[13]中還發(fā)布了一個全新的多任務動作質量評估(MTL-AQA)數(shù)據(jù)集,使用了兩種不同的模型C3D-AVG,MSCADC驗證多任務對動作質量評估的影響。文獻[21]使用C3D提取特征序列,然后用多尺度卷積跳躍LSTM(M-LSTM)和自注意LSTM(S-LSTM)這兩個獨立模塊進行處理,對特征進行聚合,用于預測分數(shù)。文獻[32]引入了LDL(標簽分布學習)方法。在分數(shù)回歸階段設計了一種不確定性感知分數(shù)分布學習(USDL)方法來探索一個分數(shù)的組成,通過將給定的單個分數(shù)標簽轉移到高斯分布分數(shù)中進行學習,從而直接估計動作視頻的得分分布。文獻[33]中對其進行改進,解決了USDL不適用于具有連續(xù)標簽的數(shù)據(jù)集以及在訓練中需要固定的方差的問題,進一步開發(fā)了分布式自動編碼器(DAE),DAE同時具有回歸算法和標簽分布學習(LDL)的優(yōu)點。
除了直接進行分數(shù)回歸外,一些學者也把目光轉向了另一種解決方案:文獻[16]使用孿生網絡在給定的動作視頻與參考視頻之間進行比較,計算視頻之間的相似度,從而根據(jù)參考視頻的分數(shù)評估出給定視頻的分數(shù)。盡管對比回歸框架可以預測相對分數(shù),但是相對分數(shù)通常取值范圍很廣,因此文獻[34]提出一個群意識(group-aware)回歸樹將對比學習得到的相對分數(shù)做了更為細致的回歸,該方法是目前AQA領域的SOTA。
該文使用特征提取器進行視頻的特征提取,一個完整的視頻幀數(shù)量太多,不能夠一次輸入到特征提取器中,首先對視頻進行分割處理,然后把分割完的視頻片段分別輸入特征提取器,特征提取器提取的特征向量作為特征聚合器的輸入。為了使預測的結果更加接近真實評分,該文提出了一種由RFC Block和平均池化層構成的特征聚合器,聚合的結果將作為預測的分數(shù)結果。
在本章節(jié)將會對RCF-Net模型進行詳細的描述,其中內容包括RFC-Net網絡結構,如何對視頻特征進行提取以及RFC結構如何聚合視頻特征。
在進行特征聚合之前必須得對視頻的特征進行提取,對于特征提取網絡的選擇,之前大部分論文都是采取C3D作為特征提取器,但是一般3D網絡的深度較淺和參數(shù)過多,這樣影響了模型的表達能力和加大了訓練的難度。而I3D作為較為優(yōu)秀的一種特征提取架構被廣泛用于動作識別以及動作質量評估中。它以最新的圖片分類模型為基礎結構,將kernels膨脹(inflate)結合到3D Conv??梢詮囊曨l中學習到時空特征,同時成功把ImageNet中的預訓練權重擴展到視頻行為識別中,因此RCF-Net模型選取I3D網絡作為視頻的特征提取網絡。
該文所采用的I3D架構(見圖2)采用了4個卷積層、5個池化層以及Inception 模塊,除最后一個卷積層之外,在每一個卷積后面都加入了Batch Normalization層和激活層(ReLU)。
(1)
F(x)為視頻通過I3D網絡所提取的特征,輸出是一個1 024維的特征向量,隨后把F(x)作為特征聚合器的輸入。
在動作質量評估中,一個視頻中包含的動作的視頻幀數(shù)較少,一些模型試圖使用擴展更多的卷積進行更深層次特征提取。在一定程度上,網絡越深越大表達能力就越強,提取的不同層次的信息便越多。但是隨著特征提取網絡層數(shù)的增加,會帶來許多問題,網絡出現(xiàn)了退化,有效特征丟失,這便導致網絡的效果逐漸降低。在經過前面若干次卷積、激勵、池化后,模型會得到一個高質量的全連接層,因此該文不再增加卷積用于特征的提取,而是把提取到的特征進行有效的聚合以提高分數(shù)的預測效果。RFC Block網絡結構如圖3所示。
在接受特征提取器輸入的特征F(x)后,F(xiàn)(x)分別輸入到平均池化層以及RFC Block中。該文所提出的RFC Block,參照殘差網絡結構設計而成,由于卷積操作的接受域范圍有限,導致了長期依賴關系的損失,因此隱藏層由四層的全連接層組成,每層全連接層的特征值個數(shù)分別為{512,256,256,512},并且在每層之間加入激活函數(shù)GELU。由于隱藏層全部使用全連接層,會導致特征值數(shù)目過大,因此需要隨機刪除全連接中的部分特征值以減少參數(shù)量。Dropout通過將一些激活數(shù)乘于0來規(guī)范化模型,ReLu作為激活函數(shù)引入非線性,強化網絡的學習能力,而GELU可以看作Dropout和ReLu的結合,在后續(xù)的實驗部分RFC Block分別使用了這兩類激活函數(shù),驗證這兩類激活函數(shù)在本模型中的效果。GELU激活函數(shù)公式如下:
GELU(x)=xP(X≤x)=xφ(x),x~N(0,1)
(2)
其中,x是輸入值,X是具有零均值和單位方差的高斯隨機變量。P(X≤x)是X小于或等于給定值x的概率,φ(x)是指高斯正態(tài)分布的累積分布。全連接層是一維列向量,經過了隱藏層和激活后得到的特征可以與一開始輸入的特征進行聚合,RCF Block可以表示為:
FRFC(x)=F(x)⊙F(xl|wl)
(3)
其中,F(xiàn)(xl|wl)表示殘差塊中隱藏層中的輸出特征,xl為輸入隱藏層之前的特征,wl為隱藏層學習到的權重,其中l(wèi)為隱藏層的層數(shù)l?[1,4],RFC Block的輸出FRFC(x)為兩個通道數(shù)的合并,使得描述圖像的特征維度增加,而每一維度特征下的信息量不變,F(xiàn)(x)經過平均池化層得到的Favg特征值數(shù)為512。故整個特征聚合模塊的輸出為:
FV=FRFC⊕Favg
(4)
FV為RFC Block與平均池化層聚合的特征,采取對應元素位置相加的聚合方式,在維度不變的情況下使描述圖像的特征每一維下的信息量增多,顯然對最終的圖像的分類是有益的。最后FV進行回歸得到該視頻動作的預測分數(shù)。
損失函數(shù)用來評價模型的預測值和真實值不一樣的程度,不同的模型用的損失函數(shù)一般也不一樣。該文需要預測視頻中的動作質量分數(shù),這可以看作一個分數(shù)回歸的任務,給定帶有動作質量標簽的輸入視頻,基于輸入視頻預測動作質量:
(5)
(6)
該文采用MSE作為損失函數(shù),用于評估模型的效果,訓練過程中均方誤差越小則預測分數(shù)越接近真實得分。
3.1.1 MTL-AQA dataset
這是一個于2018年發(fā)布的AQA領域數(shù)據(jù)集。它包含了1 412個視頻樣本,是迄今為止該領域最大的AQA數(shù)據(jù)集。這個數(shù)據(jù)集關注跳水運動,所有的樣本都是來自于不同國際比賽中的跳水運動。這些視頻包含了103幀。它們有不同的視角和相機角度。該數(shù)據(jù)集包含男女運動員的樣本,個人和同步跳水、3米跳臺和10米跳臺跳水、奧運裁判的最終動作質量成績、任務難度水平、賽事的評論,以及細粒度的動作標簽。
3.1.2 BS-AQA dataset
為進一步驗證模型在不同背景下、動作差異較大時的泛化能力,該文制作了羽毛球視頻數(shù)據(jù)集,目前已經提出了一些AQA數(shù)據(jù)集,如AQA-7[35]、MTL-AQA[11]以及FD-10[12]數(shù)據(jù)集主要包含體操、跳水、滑冰的動作。由于球類運動的特殊性,與體操、跳水、滑冰等運動不一樣。在羽毛球等球類競技比賽中,對動作是否標準并無要求,只要擊敗對手即可,因此該文采用羽毛球運動訓練階段的視頻來進行動作質量評估。
視頻主要來源于各個視頻網站中的羽毛球訓練視頻,為每個視頻進行編號,并請羽毛球教練為每個視頻進行評分。BS-AQA數(shù)據(jù)集分數(shù)分布如圖4所示。
關于羽毛球運動數(shù)據(jù)集評分:
在羽毛球教練的建議下,把羽毛球運動分為四個階段,不同的階段在整個運動中所占的權重不一致。不同階段動作的評分進行加權求和從而得到總體的評分,這無疑比直接通過整個視頻的直接評分更加合理。并且為了降低教練評分的主觀性,邀請多位教練分階段對視頻進行評分,最后所得的分數(shù)為多位教練的評分取均值。用Stagei,i∈[1,4]表示教練對i階段的評分,各個階段的評分系數(shù)由教練根據(jù)經驗得出。
Scoreoverall=Stage1*0.4+Stage2*0.2+
Stage3*0.3+Stage4*0.1
(7)
(8)
在整個實驗中該文使用的是Pytorch框架,并采用在Kinetics Dataset上進行預訓練的I3D模型作為特征提取器,I3D中采用ReLU作為激活函數(shù),使用MSE損失函數(shù)以及Adam優(yōu)化器,學習率設置為1e-4。把每個視頻提取包含完整動作的96幀用作訓練模型,96幀被分為6個Clip 16個幀剪輯或3個Clip 32個幀剪輯。視頻幀較大直接輸入網絡會導致訓練速度過慢等問題,原始的視頻幀的大小被調整到171×128,隨后裁剪后的視頻幀大小為112*112。并且通過隨機水平翻轉來進行數(shù)據(jù)增強,最后將RGB圖像三通道的數(shù)值進行均值化、歸一化處理,3個通道中的數(shù)據(jù)整理理到[-1,1]區(qū)間,得到frames*112*112*3的輸入。通過上述步驟的處理,進一步降低了網絡訓練難度。
在RFC-Net中,該文設置了消融實驗用于驗證RFC Block的有效性,并且比較了不同的幀數(shù)的Clip對輸出結果的影響。
3.4.1 MTL-AQA實驗結果
(1)與其他公開模型的結果對比。
由于MTL-AQA數(shù)據(jù)集包含動作的難度,裁判將它們的分數(shù)與難度相乘得到最終分數(shù),該文選擇將最后輸出的分數(shù)與動作難度相乘。在MTL-AQA數(shù)據(jù)集中,把近兩年(2020-2021)文獻[19]、文獻[32]和文獻[34]所提出的四種模型(ResNet34_(2+1),MUSDL,USDL,CoRe)與該文提出的模型進行對比,結果如圖5所示。
(2)與SOTA(CoRe+GART模型)對比。
從表1中結果可知,除了文獻[34]中模型外,文中模型優(yōu)于之前的所有模型,在文獻[34]中把對比學習用于動作質量評估,通過比較兩個不同分數(shù)的視頻,學習視頻之間的差異,最后使用群感知回歸樹來回歸預測最終得分。該模型至今為止是MTL-AQA數(shù)據(jù)集中的SOTA。文中模型對比于SOTA模型,Spearman's rank correlation比文獻[34]較低,但是文獻[34]采用的是對比學習方法,預測視頻所需要對比的范例視頻需要手動進行選擇,這使得模型變得更加復雜并且降低了模型預測的效率。在結果相差不是很大的情況下,相比于對文獻[34]的方法,通過改進特征提取或特征聚合的方法進行端到端的學習更加簡便以及更加貼合應用場景。
在RFC-Net中,設置了消融實驗用于驗證RFC Block的有效性,并且比較了不同幀數(shù)的Clip 對輸出結果的影響。
(3)消融實驗結果對比。
為了進一步探究RFC模塊是否能提升特征的聚合結果,設置了消融實驗,即不加入RFC Block聚合特征而是直接對特征提取器提取的特征進行分數(shù)回歸。此外參照文獻[19]中的方法,在MTL-AQA數(shù)據(jù)集上測試了不同幀數(shù)的Clip對結果的影響,把Clip中的幀數(shù)分別設置為16與32,對比了Clip中不同幀數(shù)對實驗結果的影響。Spearman's rank correlation對比如圖6所示,可以看到在參數(shù)不變的情況下32幀比16幀的Clip效果相對較好一些。
RFC-Net消融實驗結果如表2所示。當Clip為16幀的時候,加入RFC Block的結果優(yōu)于沒有RFC Block的結果,這驗證了RFC Block能夠提升特征聚合的結果。文中模型在Clip為32幀的時候得到最優(yōu)的結果。
表2 RFC-Net消融實驗
3.4.2 BS-AQA數(shù)據(jù)集結果
為驗證模型在不同背景下、動作差異較大時模型的泛化能力,制作了羽毛球視頻數(shù)據(jù)集,挑選了文獻[11]和文獻[19]中的三種采用端到端的分數(shù)回歸方法模型(MSCADC,C3D-AVG,RestNet-34(2+1))與該文提出的RFC-Net方法進行對比。因為CoRe+GART模型需要人工挑選范例視頻,而范例視頻的挑選對實驗結果影響較大,故在BS-AQA數(shù)據(jù)集中沒有選擇當前的SOTA模型進行對比。
四種模型在測試集上的結果如圖7所示。散點為當前Epoch下的Spearman's rank correlation,數(shù)據(jù)集中的視頻背景復雜,動作差異較大,因此點的分布較為分散,為了找到一條線段來盡可能貼近地描述這些散點。該文使用非線性Gaussian函數(shù)對散點進行擬合,其中Gaussian函數(shù)有8種類型,選取其中基礎類型,其函數(shù)表達式為:
a*exp(c-((x-b)/c)2)
(9)
最后得到一條擬合線用于表示Spearman's rank correlation的回歸結果。可以看到在BS-AQA數(shù)據(jù)集中RFC-Net的Spearman's rank correlation普遍高于其他三種模型。
表3 BS-AQA數(shù)據(jù)集性能比較
表3給出了四種模型在BS-AQA數(shù)據(jù)集上的具體性能比較,比較結果顯示在主要的評價指標Spearman's rank correlation中。RFC-Net在四類模型中效果最優(yōu),而MSE略低于RestNet_34(2+1),這表明RFC-Net模型在不同的動作類別中仍然具備較好的結果,模型的泛化能力較強。
為了提高動作質量評分的準確性,提出了一種基于殘差結構的動作質量評估網絡模型。RFC-Net由特征提取器和特征聚合器組成,在特征聚合器中采用了RFC Block和平均池化層進行特征聚合,通過消融實驗表明,RFC Block能夠對提取的視頻特征進行有效的特征聚合,更加準確地預測動作的得分,RFC-Net模型在MTL-AQA數(shù)據(jù)集上取得了僅次于SOTA的結果。此外為了探究該模型的泛化能力而制作了BS-AQA數(shù)據(jù)集,實驗結果表明在羽毛球運動動作質量評估中,與其他端到端的模型相比,該模型仍然表現(xiàn)出了具備競爭力的結果。
該方法仍具備改進的空間,未來將在以下兩個方向進行研究:
(1)在特征提取器中進行改進,特征提取是提取視頻中所有的特征,但是和動作質量評估相關的特征在整個視頻特征中占據(jù)較小的部分,如何精確提取運動員的運動特征是未來的一個研究方向;
(2)如何在減少參數(shù)量的情況下提升其聚合效果也是未來的一個研究方向。