石祥濱,代海龍,張德園,劉翠微
1.沈陽航空航天大學(xué) 計算機學(xué)院,沈陽110136
2.遼寧大學(xué) 信息學(xué)院,沈陽110036
+通訊作者E-mail:sxb@sau.edu.cn
動作預(yù)測是在只給出部分觀測的視頻條件下預(yù)測正在進行的動作[1]。在分析視頻中人的動作的方法中,光流是常用并且有效的特征。
光流主要的優(yōu)勢在于:其一,光流可以有效反映動作信息,包括運動物體的外形特征、運動物體的運動方向以及運動物體運動的快慢;其二,光流具有表觀不變性,表現(xiàn)在視頻中人的服裝、外貌等不會影響光流的表現(xiàn)形式。
但是光流極易受外界環(huán)境的影響而引入無關(guān)的冗余信息。光流中的冗余信息主要可以分為三類:其一,背景中的冗余信息。無關(guān)背景區(qū)域的運動會引入冗余信息,例如背景中樹葉的晃動等。其二,相機的運動。在實際場景中,相機是無法保持絕對靜止的,相機的運動會給光流的計算帶來冗余信息。其三,視頻中人靜止的光流信息。很多人都沒有在意視頻中人靜止部分對動作分類的影響,在視頻中,人并不是時時刻刻處于運動狀態(tài),人靜止部分的光流數(shù)據(jù)對分類來說是一種冗余信息。
近年來出現(xiàn)了很多使用光流的深度學(xué)習(xí)方法[2-5],但是這些方法都沒有考慮光流中冗余信息的影響,而光流中的冗余信息會降低動作預(yù)測的精度,因此研究去除光流冗余信息的深度學(xué)習(xí)方法很有必要性。
本文的主要貢獻在于:
(1)提出了一種衡量光流中冗余信息的方法。
(2)檢測視頻中靜止的部分,去除視頻中靜止部分對動作預(yù)測的負面影響。
(3)通過選取運動區(qū)域去除光流中無關(guān)背景中的冗余信息。
(4)評估相機的運動,消除因相機的運動帶來的冗余信息。
(5)提出了一種基于深度學(xué)習(xí)的動作預(yù)測框架。
Ryoo提出了積分詞袋模型(integral bag-of-words,IBoW)和動態(tài)詞袋模型(dynamic bag-of-words,DBoW)來解決動作預(yù)測的問題。在他的方法中,首先提取視頻的時空特征,然后對這些時空特征建立詞袋模型并以概率的形式求解動作預(yù)測問題。在他的方法中使用Hof(histograms of oriented optical flow)作為視頻的時域特征,Hof特征是對光流方向進行加權(quán)統(tǒng)計,可以有效反映運動信息,但是Hof 特征忽略了光流的結(jié)構(gòu)性信息。Wang等人[6-7]在動作識別中引入了MBH(motion boundary histograms)作為分析視頻的特征描述子,MBH即為運動邊界直方圖,運動邊界是對光流的微分,MBH 是對光流微分的一種統(tǒng)計。Wang 等人的工作證明了MBH 特征在動作識別中的重要作用,類似于Hof特征,MBH是一種統(tǒng)計量而忽略了光流的結(jié)構(gòu)性信息。MBH反映的是光流圖中的邊緣信息的統(tǒng)計,CNN(convolutional neural networks)可以有效地檢測圖片中的邊緣等信息而不失其結(jié)構(gòu)信息,使用CNN 對光流圖片提取特征成為了近幾年的研究熱點。Simonyan 等人[2]在動作識別中首次使用了雙流CNN結(jié)構(gòu),其中一個CNN用來處理原始視頻序列,另一個CNN用來處理連續(xù)的光流圖片,最后融合兩個網(wǎng)絡(luò)的輸出結(jié)果作為動作的最終分類結(jié)果。由于結(jié)合了光流特征使得識別效果大為提升。Carreira 等人[8]提出Two-Stream I3D 在動作識別取得驚人的效果,值得注意的是,他們Flow-I3D的結(jié)果已經(jīng)非常接近Two-Stream I3D了,再次證明了光流在分析視頻中的動作的重要作用。Ke等人[3]提出了深度時間特征來解決動作預(yù)測的問題,僅使用光流作為分析動作的特征。在其文章中,通過CNN 提取光流的特征作為深度時間特征,該工作說明了光流特征對視頻中人的動作分析的準確性。
但是光流中存在冗余信息,而其他人的工作并沒有考慮光流中冗余信息對動作預(yù)測的影響,因此本文從去除光流中冗余信息的問題著手,從而達到更準確的動作預(yù)測的目的。
針對光流中的冗余信息,本文提出的框架如圖1所示。對于輸入的視頻序列,首先提取視頻序列的光流,然后去除光流中的冗余信息。針對去除冗余信息后的光流圖,首先使用空間卷積網(wǎng)絡(luò)提取光流圖的特征,然后融合多幀光流圖的空間特征作為時間卷積網(wǎng)絡(luò)的輸入,最后通過基于時間權(quán)重的多數(shù)表決法給出動作的預(yù)測結(jié)果。
Fig.1 Framework in this paper圖1 本文框架圖
傳統(tǒng)光流的計算是建立在兩點假設(shè)上的:
(1)相鄰圖片對應(yīng)像素點的位移很??;
(2)相鄰圖片對應(yīng)像素點亮度保持恒定。
光流的大小可以表示為:
其中,vx、vy表示光流x、y方向的速度分量。
光流的方向可以表示為:
為了更直觀地表示光流,可以用彩色光流圖來表示光流,如圖2(c)所示。每一個光流依據(jù)光流的方向和大?。ㄈ鐖D2(a))分配一個對應(yīng)的顏色(如圖2(b))。顏色代表光流的方向,飽和度代表光流的大小。本文采用Flownet2[9]提取視頻中的光流。
Fig.2 Instance of color flow image圖2 彩色光流圖示例
光流圖可以有效反映動作信息,但是光流圖中的冗余信息會對動作分類造成影響,為了評估光流圖中的冗余信息,本文提出了冗余信息率(redundant information ratio,RIR)來衡量光流圖中的冗余信息數(shù)據(jù)的含量。
其中,∑valid為光流圖中有效信息的區(qū)域,∑all為整張圖片的區(qū)域,1()為指示函數(shù),rx,y代表坐標為x、y光流的大小,thresh為閾值,當(dāng)rx,y>0時認為該點是具有信息的,在沒有任何冗余信息時RIR=0,RIR越大意味著冗余信息越多。
視頻中的人處于靜止狀態(tài)時,對應(yīng)的光流就成為了無效信息會降低動作分類的精度,視頻中靜止部分的光流可以看作光流數(shù)據(jù)在時間尺度上的冗余信息。雖然在實驗環(huán)境下,視頻數(shù)據(jù)大多是經(jīng)過處理過的,僅含有運動部分,但在實際應(yīng)用場景中,人不可能永遠處于運動狀態(tài),而其他文獻都還沒有對視頻中靜止部分的光流進行分析,本文對視頻中靜止的部分進行分析。首先檢測視頻中靜止的部分。視頻中靜止部分的光流由于其含有的有效信息近乎為零,因此冗余信息率接近1。當(dāng)光流圖的RIR大于threshRIR時,可以認為視頻為靜止的。通過統(tǒng)計視頻中靜止部分光流的冗余信息率,通過大量實驗,threshRIR設(shè)為0.9。
光流中背景帶來的冗余信息主要來源于背景區(qū)域存在的運動,例如背景中樹葉的晃動等引入的冗余信息,如圖3(1)右上角的深藍色區(qū)域。選取合理的運動區(qū)域可以有效去除背景帶來的冗余信息。理想情況下運動區(qū)域是人體的輪廓曲線,如圖3(2)中黑色曲線圍成的區(qū)域,但是在實際應(yīng)用中很難得到人體的輪廓曲線,因此可以用人體的外接矩形框來近似人體的輪廓曲線。本文采用Liu等人[10]的物體檢測框架首先檢測圖像中的人位置,由x1p:x2p,y1p:y2p構(gòu)成的矩形區(qū)域,如圖3(3)中的紅色矩形框,然后確定運動區(qū)域的范圍,如圖3(4)中的綠色矩形框,由xmin:xmax,ymin:ymax所構(gòu)成的矩形區(qū)域。其中:
選取運動區(qū)域可以消除無關(guān)的背景因素帶來的冗余信息,如圖3(5)選取運動區(qū)域后RIR=0.139 3,圖3(1)由于受到背景冗余信息的干擾RIR=0.267 5,說明選取運動區(qū)域可以去除背景中的冗余信息。
Fig.3 Selecting moving region圖3 運動區(qū)域選取示例
視頻在拍攝的過程中,相機難免會產(chǎn)生運動,相機的運動會產(chǎn)生全局的背景光流,因此會帶來額外的冗余信息。如圖4(a)所示,相機在外界干擾的情況下產(chǎn)生了運動。光流圖背景的藍色區(qū)域說明相機具有水平向左的運動,當(dāng)相機的運動方向與視頻中人的運動方向相反時,會削弱視頻中人的光流,此外還會引入額外的冗余信息。針對相機的運動帶來的干擾,首先評估相機的運動vc。相機的運動可以通過計算全局背景的光流得到。首先統(tǒng)計背景中的光流直方圖,當(dāng)時,其屬于直方圖b個bin,其中,B=360,相機運動的方向為θc=bmax,bmax表示最大的bin,相機運動速度大小為,rx,y為背景中坐標為x,y位置光流的大小,n為背景中像素點數(shù)。因此相機的運動vc方向為θc,大小為rc。在得到vc后,修正光流,消除相機運動,對每一像素點的光流進行修正,vi,j=vi,j-vc。
算法如下:
其中,height為圖像的高度,width為圖像的寬度,vi,j為對應(yīng)i、j位置的光流。如圖4(a)為相機有一個水平向左的運動的光流圖,圖4(b)為消除相機運動后的光流圖。
Fig.4 Result of removing camera motion圖4 去除相機運動效果圖
本文動作預(yù)測結(jié)構(gòu)如圖5 所示。卷積神經(jīng)網(wǎng)絡(luò)可以有效處理圖像識別的任務(wù),但是視頻不同于圖像,視頻除了具有空間上的維度還具有時間上的維度信息,因此2D卷積網(wǎng)絡(luò)無法很好地處理視頻序列,3D卷積網(wǎng)絡(luò)[11]是2D卷積網(wǎng)絡(luò)的延伸,可以有效處理視頻序列,但是3D卷積網(wǎng)絡(luò)參數(shù)量巨大,訓(xùn)練時容易出現(xiàn)過擬合的現(xiàn)象。針對這樣的問題,本文將3D卷積網(wǎng)絡(luò)分解為空間上的2D卷積和時間上的1D卷積,而空間上的2D卷積操作可以有效利用現(xiàn)有的大型圖片數(shù)據(jù)集如ImageNet 等預(yù)訓(xùn)練好的模型,這樣將大大減少模型需要訓(xùn)練的參數(shù)量,降低過擬合的風(fēng)險。本文方法如下,首先使用預(yù)訓(xùn)練的CNN模型作為空間卷積網(wǎng)絡(luò)提取光流圖的空間特征,然后堆疊K幀空間卷積網(wǎng)絡(luò)提取的特征作為時間卷積網(wǎng)絡(luò)的輸入。時間卷積網(wǎng)絡(luò)由兩層時間卷積,一個由512個單元的全連接層和一個Softmax層構(gòu)成(如表1所示)。時間卷積如圖6 所示,卷積核大小為1×3,卷積核個數(shù)為6。本文使用CNN-M-2048[12]作為空間卷積網(wǎng)絡(luò),網(wǎng)絡(luò)結(jié)構(gòu)如表2所示。
Fig.5 Structure of action prediction network圖5 動作預(yù)測網(wǎng)絡(luò)結(jié)構(gòu)
Table 1 Structure of temporal convolution network表1 時間卷積網(wǎng)絡(luò)結(jié)構(gòu)
視頻最終的時空特征采用堆疊多張光流圖的CNN特征,如式(8)所示。
其中,xi為預(yù)測網(wǎng)絡(luò)的輸入的時空特征,vi為第i張光流圖片的空間特征,k是光流圖片的張數(shù)。
在視頻中,處于不同時間階段的視頻片段對動作分類的重要性顯然是不同的,越接近動作完成時的視頻片段往往更能描述動作。因此本文提出基于時間權(quán)重的多數(shù)表決法來對動作預(yù)測,如式(9)所示。
Fig.6 Graphical representation of temporal convolution圖6 時間卷積圖示
Table 2 Structure of spatial convolution network表2 空間卷積網(wǎng)絡(luò)結(jié)構(gòu)
其中,c(x)表示對于輸入視頻x最終的預(yù)測結(jié)果,ωt為權(quán)重,ct(x)表示對于輸入視頻x第t幀的分類結(jié)果,1()為指示函數(shù),T表示視頻總幀數(shù),Z為規(guī)范化因子。
本文使用UT-Interaction[13]數(shù)據(jù)集來進行評估。UT-Interaction 被分成兩個數(shù)據(jù)集set1 和set2。每個數(shù)據(jù)集包含6種動作,分別是握手、擁抱、踢、指、拳擊和推。set1 是在一個停車場拍攝的,背景幾乎靜止,背景明亮,辨識度較高。set2 是在草坪上拍攝的,由于是在有風(fēng)的天氣下拍攝的,因此相機存在晃動,背景也比較陰暗,辨識度低,故set2 更具挑戰(zhàn)性。采用一折交叉驗證來評估本文的方法。本文將數(shù)據(jù)分成10 組,對于每組數(shù)據(jù),每類動作選取1 個視頻用來測試,剩下的9個視頻用來訓(xùn)練,每組數(shù)據(jù)由54個視頻作為訓(xùn)練數(shù)據(jù),剩下的6個視頻作為測試數(shù)據(jù)。實驗時,k設(shè)為5。本文采用SSD(single shot multibox detector)[10]來檢測圖像中人的位置。本文采用ILSVRC-2012 預(yù)訓(xùn)練的CNN-M-2048 來提取光流圖的特征。本文的動作預(yù)測網(wǎng)絡(luò)采用隨機梯度下降法訓(xùn)練,batchsize為128,動量為0.9,學(xué)習(xí)率為10-3。
測試時,每個視頻由0.1 到1.0 十個觀測率構(gòu)成,例如觀測率0.3 意味著從第1 幀到round(0.3×d)幀用來測試。其中d是測試視頻的總幀數(shù)。
7.2.1 冗余信息對預(yù)測精度對比實驗
圖7 為去除冗余信息與不去除冗余信息操作的實驗結(jié)果對比,在觀測率為0.5時,UT-Interaction set1會帶來6.67%的精確度提升,在觀測率為1.0 時會帶來6.67%的精確度提升。去除冗余信息的效果在UTInteraction set2上尤為顯著,在觀測率為0.5時,如圖8所示,UT-Interaction set2 會帶來10%的精確度提升,在觀測率為1.0時,提升的精度高達16.7%。set2精確度相對set1提升更為顯著有兩個原因:一是set2數(shù)據(jù)集的背景干擾因素更多;二是set2數(shù)據(jù)集相機運動更劇烈。
Fig.7 Comparison of experimental results of prediction accuracy with redundant information on UT-Interaction set1圖7 UT-Interaction set1冗余信息對預(yù)測精度對比實驗結(jié)果
7.2.2 本文框架有效性對比實驗
Fig.8 Comparison of experimental results of prediction accuracy with redundant information on UT-Interaction set2圖8 UT-Interaction set2冗余信息對預(yù)測精度對比實驗結(jié)果
為了證明本文框架的有效性,本文實驗結(jié)果與當(dāng)前主流方法進行了比較,包括Integral BoW、Dynamic BoW[1]、SC(sparse coding)、MSSC(multiple segments sparse coding)[14]、TGTW(temporally-weighted generalized time warping)[15]、MMPAM(max-margin action prediction machine)[16]、Ke[3]。
Fig.9 Experimental results of UT-Interaction set1圖9 UT-Interaction set1實驗結(jié)果
圖9 展示了在UT-interaction set1 數(shù)據(jù)集本文方法的實驗結(jié)果。在set1上,在觀測率為0.5時,本文方法達到了0.933 的正確率,在觀測率為1.0 時即完整的動作時,本文方法達到了0.967的正確率。對應(yīng)觀測率為0.5的混淆矩陣如圖10所示,從混淆矩陣中可以看出踢和拳擊這兩個動作在早期容易被分錯,可能是因為踢和拳擊這兩個動作需要更長的準備動作,視頻的初期信息還不足以判定出這兩個動作。set2的結(jié)果如圖11所示,在觀測率為0.5時,準確率為0.867,在觀測率為1.0時,正確率為0.917。相較于set1,set2的正確率有明顯的下降,其中的主要原因是set2的背景比較復(fù)雜,比較陰暗,其中set2 是在多風(fēng)的環(huán)境下拍攝的,因此存在相機的抖動。set2對應(yīng)觀測率為0.5的混淆矩陣如圖12所示,其中仍然是踢和拳擊的識別率較低,原因猜測如前面所講是踢和拳擊需要更長的準備時間,早期的信息還不足以識別動作。
Fig.10 Confusion matrix of UT-Interaction set1 at observation of 0.5圖10 觀測率為0.5時UT-Interaction set1混淆矩陣
Fig.11 Experimental results of UT-Interaction set2圖11 UT-Interaction set2實驗結(jié)果
Fig.12 Confusion matrix of UT-Interaction set2 at observation of 0.5圖12 觀測率為0.5時UT-Interaction set2混淆矩陣
光流中的冗余信息對分析視頻中人的動作有很大的影響。本文采取相應(yīng)措施去除了光流中的冗余信息,針對去除冗余信息的光流圖,本文提出的基于深度學(xué)習(xí)的動作預(yù)測框架具有參數(shù)量小,訓(xùn)練速度快,識別精度高的優(yōu)點。實驗結(jié)果表明了本文方法的有效性。