詹健浩,甘利鵬,畢永輝,曾鵬,李曉潮
(1.廈門大學 電子科學與技術(shù)學院,福建 廈門 361005;2.廈門市美亞柏科信息股份有限公司,福建 廈門 361016;3.廈門市公安局,福建 廈門 361104)
多模態(tài)融合是將多個模態(tài)網(wǎng)絡(luò)提取出的互補信息在特征或者預(yù)測分數(shù)層面進行融合,從而獲得比單一模態(tài)網(wǎng)絡(luò)更好的識別效果[1-2]。由于多模態(tài)數(shù)據(jù)是從不同來源或傳感器收集的異構(gòu)數(shù)據(jù),因此它們在提供的外觀、運動、幾何信息、光照、遮擋、背景變化等信息方面各有特點,如RGB 模態(tài)包含豐富的外觀信息,但對遮擋、環(huán)境變化或陰影的干擾敏感[3],而骨骼模態(tài)對視角、背景等變化不敏感但缺乏外觀信息。因此,不同模態(tài)的優(yōu)缺點可以互補[4]。如何融合多模態(tài)數(shù)據(jù)從而獲得更好的識別效果是多模態(tài)行為識別方法的關(guān)鍵技術(shù)[5]。
基于知識蒸餾的多模態(tài)融合方法不僅能夠充分利用多模態(tài)數(shù)據(jù)的互補優(yōu)勢,而且在推理階段只需要單個RGB 模態(tài)模型即可完成預(yù)測[6],從而降低模型復(fù)雜度并提高推理速度。知識蒸餾的關(guān)鍵是將教師網(wǎng)絡(luò)提取的其他模態(tài)特征信息及對動作預(yù)測結(jié)果的分布信息轉(zhuǎn)移到學生網(wǎng)絡(luò)中。MARS 網(wǎng)絡(luò)[7]將光流模態(tài)教師網(wǎng)絡(luò)和RGB 模態(tài)學生網(wǎng)絡(luò)的特征通過MSE 損失函數(shù)進行知識蒸餾,并將其和學生網(wǎng)絡(luò)的交叉熵損失函數(shù)線性組合進行訓練,從而將光流的運動特征信息轉(zhuǎn)移到RGB 學生網(wǎng)絡(luò)中。D3D 網(wǎng)絡(luò)[8]在光流模態(tài)教師網(wǎng)絡(luò)和RGB 模態(tài)學生網(wǎng)絡(luò)的預(yù)測分數(shù)上求MSE 損失函數(shù)進行知識蒸餾,并將其與學生網(wǎng)絡(luò)的交叉熵損失函數(shù)線性組合進行訓練,從而使學生網(wǎng)絡(luò)學習到光流網(wǎng)絡(luò)對動作預(yù)測結(jié)果的分布。多視角跨模態(tài)知識蒸餾網(wǎng)絡(luò)[6]在骨骼模態(tài)教師網(wǎng)絡(luò)與RGB 模態(tài)學生網(wǎng)絡(luò)的特征和預(yù)測分數(shù)上分別通過L1 損失函數(shù)和KL 散度進行知識蒸餾,并將其與學生網(wǎng)絡(luò)的交叉熵損失函數(shù)線性組合進行訓練,從而使學生網(wǎng)絡(luò)同時學習到其他模態(tài)的特征信息和教師網(wǎng)絡(luò)對動作預(yù)測結(jié)果的分布。這些方法都是利用單一的教師網(wǎng)絡(luò)進行知識蒸餾,分別通過特征或預(yù)測分數(shù)的知識蒸餾將其他模態(tài)的特征和對動作預(yù)測結(jié)果的分布信息轉(zhuǎn)移到學生網(wǎng)絡(luò)上。
采用多教師知識蒸餾結(jié)構(gòu)進行多模態(tài)融合可以將不同模態(tài)的信息同時轉(zhuǎn)移到RGB 模態(tài)學生網(wǎng)絡(luò)中,通過學習多個教師提取的互補模態(tài)信息,獲得比單一教師網(wǎng)絡(luò)知識蒸餾更好的效果[6]。PERF-Net[9]通過PoseNet[10]從RGB 圖像中提取骨骼信息,然后疊加在RGB 模態(tài)上作為姿勢模態(tài)數(shù)據(jù),將姿勢和光流模態(tài)網(wǎng)絡(luò)同時作為教師網(wǎng)絡(luò),在預(yù)測分數(shù)上分別與RGB 模態(tài)學生網(wǎng)絡(luò)的預(yù)測分數(shù)求MSE 損失函數(shù)進行多教師知識蒸餾。在基于壓縮視頻行為識別的研究中,文獻[11]分別利用壓縮視頻編碼中的I、P幀運動向量和P 幀殘差作為教師網(wǎng)絡(luò)的輸入進行知識蒸餾,探索了不同教師網(wǎng)絡(luò)組合對多教師知識蒸餾的影響,并通過實驗發(fā)現(xiàn)將I 幀作為學生網(wǎng)絡(luò)的輸入時單教師知識蒸餾比多教師知識蒸餾的識別準確率更高,而將P 幀運動向量或P 幀殘差作為學生網(wǎng)絡(luò)的輸入進行多教師知識蒸餾時可以獲得更高的識別準確率。
從上述研究中得到啟發(fā),本文在特征上采用MSE 損失函數(shù)、在預(yù)測分數(shù)上采用KL 散度進行知識蒸餾,并采用原始的骨骼模態(tài)和光流教師網(wǎng)絡(luò)的組合進行多模態(tài)融合。在與本文相似的研究中,多視角跨模態(tài)知識蒸餾網(wǎng)絡(luò)[6]提取單一的姿勢模態(tài)數(shù)據(jù)輸入教師網(wǎng)絡(luò),并與RGB 模態(tài)學生網(wǎng)絡(luò)在特征和預(yù)測分數(shù)上分別使用MAE 損失函數(shù)和KL 散度同時進行知識蒸餾,而本文進一步研究在特征和預(yù)測分數(shù)上分別采用不同損失函數(shù)進行知識蒸餾的效果,最后在特征上采用MSE 損失函數(shù)、在預(yù)測分數(shù)上采用KL 散度同時對學生網(wǎng)絡(luò)進行知識蒸餾。此外,本文將骨骼和光流模態(tài)網(wǎng)絡(luò)的組合同時作為教師網(wǎng)絡(luò)對RGB 模態(tài)學生網(wǎng)絡(luò)進行知識蒸餾。不同于PERF-Net[9],本文僅提取原始的骨骼模態(tài)信息進行知識蒸餾,且在預(yù)測分數(shù)上采用KL 散度、在特征上采用MSE 損失函數(shù),從而學習教師網(wǎng)絡(luò)提取的其他模態(tài)數(shù)據(jù)的特征,同時采用不同模態(tài)教師網(wǎng)絡(luò)包括光流、骨骼、紅外和深度模態(tài)教師網(wǎng)絡(luò)的不同組合對RGB 模態(tài)學生網(wǎng)絡(luò)進行多教師知識蒸餾。
本文提出的基于知識蒸餾的多模態(tài)融合行為識別方法如圖1 所示,其中,虛線框表示N個模態(tài)的教師網(wǎng)絡(luò)。各個模態(tài)教師網(wǎng)絡(luò)都提前采用不同模態(tài)的數(shù)據(jù)進行單獨訓練,知識蒸餾時,教師網(wǎng)絡(luò)的參數(shù)是固定的。對于多模態(tài)數(shù)據(jù)集D的訓練集和測試集分別為Dtrain和Dtest,訓練數(shù)據(jù)可表示為{(X0,X1,…,Xk,…,XN);y},其中,X0表示學生網(wǎng)絡(luò)對應(yīng)的模態(tài)數(shù)據(jù),Xk表示第k個教師網(wǎng)絡(luò)對應(yīng)的模態(tài)數(shù)據(jù),1≤k≤N,N表示模態(tài)數(shù)量,y表示樣本X的標簽。
圖1 基于知識蒸餾的多模態(tài)融合行為識別方法Fig.1 Action recognition method with multi-modality fusion based on knowledge distillation
圖1 中的教師網(wǎng)絡(luò)fteacher,k和學生網(wǎng)絡(luò)fstudent都采用3D ResNeXt-101 作為骨干網(wǎng)絡(luò),將RGB、光流、骨骼、深度、紅外等不同模態(tài)的數(shù)據(jù),通過3D CNN 提取時間和空間特征。為了實現(xiàn)語義信息的蒸餾,將4 個 Layer 的 3D ResNeXt-101 網(wǎng)絡(luò)分為fθ和fφ兩部分。例如:當特征知識蒸餾發(fā)生在網(wǎng)絡(luò)的Layer2層時,fθ包含了Layer1 和Layer2,fφ包含了Layer3、Layer4 和預(yù)測分數(shù)層;當特征知識蒸餾發(fā)生在網(wǎng)絡(luò)的Layer3層時,fθ包含了Layer1、Layer2 和Layer3,fφ包含了Layer4 和預(yù)測分數(shù)層;依此類推。
本文所提出的基于知識蒸餾的多模態(tài)融合行為識別方法將不同模態(tài)的樣本數(shù)據(jù)X1,X2,…,Xk,…,XN輸入模態(tài)k對應(yīng)的已單獨訓練好并凍結(jié)參數(shù)的教師網(wǎng)絡(luò)fteacher,k,并將X0輸入未訓練且可訓練的相同結(jié)構(gòu)的學生網(wǎng)絡(luò)fstudent對應(yīng)網(wǎng)絡(luò)的前面部分fteacher,k,θ和fstudent,θ,得到教師網(wǎng)絡(luò) 對應(yīng)的特征圖Fteacher,k,θ和Fstudent,θ,如式(1)和式(2)所示:
其中:X0為學生網(wǎng)絡(luò)的輸入模態(tài)數(shù)據(jù);Xk(1≤k≤N)為教師網(wǎng)絡(luò)的輸入模態(tài)數(shù)據(jù)。
得到教師網(wǎng)絡(luò)和學生網(wǎng)絡(luò)的特征圖Fteacher,1,θ,F(xiàn)teacher,2,θ,…,F(xiàn)teacher,N,θ和Fstudent,θ后,分別輸入網(wǎng)絡(luò)fteacher,1,φ,fteacher,2,φ,…,fteacher,N,φ和fstudent,φ后通過Softmax溫度激活函數(shù)(GSoftmax)得到對應(yīng)預(yù)測分數(shù)Pteacher,1,Pteacher,2,…,Pteacher,N和Pstudent,如 式(3)和 式(4)所示:
為了實現(xiàn)多模態(tài)數(shù)據(jù)的知識蒸餾,使用不同的蒸餾損失函數(shù)將教師特征信息和預(yù)測分布信息傳遞到學生網(wǎng)絡(luò)中。在特征知識蒸餾過程中,使用教師網(wǎng)絡(luò)構(gòu)建語義特征,并將這些特征作為知識轉(zhuǎn)移到學生網(wǎng)絡(luò)對應(yīng)網(wǎng)絡(luò)層,從而產(chǎn)生特征監(jiān)督信息。通過最小化MSE 損失函數(shù)將教師網(wǎng)絡(luò)和學生網(wǎng)絡(luò)對應(yīng)網(wǎng)絡(luò)層次提取到的語義特征進行知識蒸餾,從而更好地利用多模態(tài)數(shù)據(jù)的互補優(yōu)勢。第k個模態(tài)教師網(wǎng)絡(luò)與學生網(wǎng)絡(luò)之間的MSE 損失函數(shù)Lfeat,k如式(5)所示:
在預(yù)測分數(shù)上,通過KL 散度使學生網(wǎng)絡(luò)模仿學習多個教師網(wǎng)絡(luò)對行為預(yù)測結(jié)果的分布,第k個模態(tài)教師網(wǎng)絡(luò)與學生網(wǎng)絡(luò)之間的KL 散度LKLD,k如式(6)所示:
其中:Pteacher,k是第k個模態(tài)教師網(wǎng)絡(luò)通過Softmax 溫度激活函數(shù)后得到的軟標簽;Pstudent是學生網(wǎng)絡(luò)通過Softmax 溫度激活函數(shù)后得到的軟標簽。引入Softmax 溫度激活函數(shù)是為了使預(yù)測分數(shù)的概率分布更平滑[11],避免出現(xiàn)除正確類別之外其他類別預(yù)測概率都接近于零分布的情況,從而提供更多教師網(wǎng)絡(luò)預(yù)測結(jié)果中與正確類接近的類信息,改善知識蒸餾的KL 散度對齊效果。Softmax 溫度激活函數(shù)如式(7)所示[11]:
其中:n表示分類數(shù);zi表示Softmax 溫度激活函數(shù)前網(wǎng)絡(luò)對第i類行為的預(yù)測值;T為溫度系數(shù),T越大,輸出的類別分布越平滑。本文將Softmax 溫度激活函數(shù)的輸出Pi作為軟標簽與學生網(wǎng)絡(luò)對應(yīng)軟標簽進行知識蒸餾,使學生網(wǎng)絡(luò)預(yù)測結(jié)果的分布盡可能接近教師網(wǎng)絡(luò)對行為其他模態(tài)輸入預(yù)測結(jié)果的分布。
將學生網(wǎng)絡(luò)預(yù)測分數(shù)通過Softmax 溫度激活函數(shù)后作為q(x)與標簽p(x)求交叉熵損失函數(shù)Lcls,將交叉熵損失函數(shù)與學生網(wǎng)絡(luò)和所有教師網(wǎng)絡(luò)的MSE損失函數(shù)和KL 散度進行線性組合,構(gòu)成本文設(shè)計的基于知識蒸餾的多模態(tài)融合行為識別方法中總體的損失函數(shù)L,如式(8)所示:
其中:λfeat,k和λKLD,k是調(diào)節(jié)第k個模態(tài)教師網(wǎng)絡(luò)與學生網(wǎng)絡(luò)之間損失函數(shù)的權(quán)重系數(shù);λcls用于調(diào)整交叉熵損失函數(shù)的權(quán)重系數(shù),這些權(quán)重在實驗部分中的作用是平衡各損失函數(shù)值,使其基本保持一致
本文實驗采用的行為識別數(shù)據(jù)集包括多模態(tài)數(shù)據(jù) 集NTU RGB+D 60(NTU 60)[12]、UTD-MHAD[13]、Northwestern-UCLA Multiview Action 3D(N-UCLA)[14]以及常用的單模態(tài)數(shù)據(jù)集HMDB51[15]。
NTU 60[12]數(shù)據(jù)集由3 臺Microsoft Kinect v2 相機采集,包含60 類動作共56 880 個樣本,其中含有40 個受測者的RGB、深度、3D 骨骼和紅外模態(tài)數(shù)據(jù),包 含2 個性能評價標準:CS(Cross-Subject)和CV(Cross-View),CS 按人物來劃分訓練集和測試集,而CV 按相機來劃分訓練集和測試集。
UTD-MHAD[13]數(shù)據(jù)集由Kinect 攝像頭和可穿戴慣性傳感器在室內(nèi)環(huán)境中收集,包含27 類動作共861 個視頻樣本,8 名受試者各重復(fù)動作4次。在實驗中,來自受試者1、3、5、7 的樣本數(shù)據(jù)用于訓練,來自受試者2、4、6、8 的樣本數(shù)據(jù)用于測試。
N-UCLA[14]是一個多視角多模態(tài)數(shù)據(jù)集,由3 個Kinect 攝像頭同時捕捉并由10 名受試者執(zhí)行多次。N-UCLA 包含1 494 個視頻序列共10 個日常動作類別,包 含3 個視角(View1、View2 和View3)[16]的RGB、深度和3D 骨骼模態(tài)等3 種模態(tài)數(shù)據(jù),以視角劃分訓練集和測試集。
HMDB51[15]數(shù)據(jù)集主要來源于網(wǎng)站視頻或電影,共有51 類人體行為的6 849 個視頻,每個動作至少包含51 個視頻,視頻分辨率為320×240 像素,動作類型主要包括面部動作、肢體動作、交互動作等。
在網(wǎng)絡(luò)訓練階段,采用多教師知識蒸餾結(jié)構(gòu)[11]。首先分別輸入光流、骨骼、深度和紅外模態(tài)數(shù)據(jù)訓練對應(yīng)網(wǎng)絡(luò)作為教師網(wǎng)絡(luò),然后在知識蒸餾階段加載訓練好的教師網(wǎng)絡(luò)并將其參數(shù)凍結(jié),使知識蒸餾時不會更新教師網(wǎng)絡(luò)的參數(shù),并將教師網(wǎng)絡(luò)與學生網(wǎng)絡(luò)在特征和預(yù)測分數(shù)上分別求MSE 損失函數(shù)和KL 散度進行知識蒸餾。在網(wǎng)絡(luò)測試階段,僅需將RGB 模態(tài)數(shù)據(jù)輸入到訓練好的學生網(wǎng)絡(luò)中即可。
在多模態(tài)數(shù)據(jù)上,將RGB 模態(tài)作為學生網(wǎng)絡(luò)的輸入數(shù)據(jù)模態(tài),將光流、深度、紅外和骨骼模態(tài)作為教師網(wǎng)絡(luò)的輸入數(shù)據(jù)模態(tài)。在多模態(tài)行為識別數(shù)據(jù)集上通過將3D 骨骼模態(tài)的x、y軸的坐標按關(guān)節(jié)點之間的關(guān)系繪制成2D 圖像作為骨骼模態(tài),而在常用的單模態(tài)行為識別數(shù)據(jù)集HMDB51 上通過Openpose[17]將RGB 模態(tài)轉(zhuǎn)換成相應(yīng)的骨骼模態(tài)。
在知識蒸餾的 損失函數(shù)權(quán)重λfeat、λKLD和λcls的設(shè)置上,單教師網(wǎng)絡(luò)情況下通過調(diào)整這幾個權(quán)重使得MSE 損失函數(shù)、KL 散度和交叉熵損失函數(shù)基本相等,多教師網(wǎng)絡(luò)情況下通過調(diào)整這幾個權(quán)重使得多個教師網(wǎng)絡(luò)MSE 損失函數(shù)之和、KL 散度之和與交叉熵損失函數(shù)基本相等。T的設(shè)置與二階段教師學生網(wǎng)絡(luò)[6]相同,設(shè)為2,其他實驗設(shè)置均與骨干網(wǎng)絡(luò)[7]保持一致。
在消融實驗中,HMDB51 和N-UCLA 數(shù)據(jù)集分別采用最常用的指標,即HMDB51 數(shù)據(jù)集官方提供的第一個劃分Split1 和N-UCLA 的View3 指標進行實驗和對比,而NTU 60 采用最常用的CS 指標進行實驗。本文采用骨干網(wǎng)絡(luò)3D-ResNeXt-101[18]在各個數(shù)據(jù)集中單一模態(tài)網(wǎng)絡(luò)的識別準確率如表1 所示,文獻[19-20]方法在各數(shù)據(jù)集中單一模態(tài)網(wǎng)絡(luò)的識別準確率如表2 所示。將表1 中單一RGB 模態(tài)網(wǎng)絡(luò)作為基線與后續(xù)多模態(tài)融合的性能進行對比,而訓練好的光流、骨骼、紅外和深度模態(tài)在后續(xù)實驗作為教師網(wǎng)絡(luò)。由于HMDB51、UTD-MHAD 和N-UCLA沒有紅外模態(tài),同時HMDB51 沒有深度模態(tài)數(shù)據(jù),在此并沒有列出相關(guān)結(jié)果。表2 列出了其他多模態(tài)融合方法在各個數(shù)據(jù)集中單一模態(tài)網(wǎng)絡(luò)的識別準確率。
表1 本文方法在各數(shù)據(jù)集中單一模態(tài)網(wǎng)絡(luò)的識別準確率Table 1 Recognition accuracy of single modality network on each dataset by the method in this paper %
表2 其他方法在各數(shù)據(jù)集中單一模態(tài)網(wǎng)絡(luò)的識別準確率Table 2 Recognition accuracy of single modality network on each dataset by other methods %
2.3.1 知識蒸餾在網(wǎng)絡(luò)不同位置的影響
由于網(wǎng)絡(luò)的不同位置代表不同層次的語義信息,為了進一步探索在不同層次語義信息對應(yīng)的特征上進行知識蒸餾的效果,分別在骨干網(wǎng)絡(luò)的不同分層[7]的特征上對教師網(wǎng)絡(luò)和學生網(wǎng)絡(luò)進行知識蒸餾。本文的教師網(wǎng)絡(luò)和學生網(wǎng)絡(luò)采用相同的網(wǎng)絡(luò)結(jié)構(gòu)[7]來提取不同模態(tài)的特征信息,并在對應(yīng)特征上采用MSE 損失函數(shù)進行知識蒸餾,效果如表3所示。其中,Layer4、Layer3、Layer2 是3D-ResNeXt-101網(wǎng)絡(luò)的網(wǎng)絡(luò)分層[18],Layer4 對應(yīng)高層次語義信息,Layer2 對應(yīng)低層次語義信息,All 代表在上述所有分層中都進行了知識蒸餾。從表3 中可以看出,在網(wǎng)絡(luò)高層次語義信息Layer4 層的特征進行知識蒸餾的效果好于在網(wǎng)絡(luò)其他分層包括多個分層同時進行知識蒸餾的效果,同時,在Layer4 層進行知識蒸餾的效果還好于單獨在預(yù)測分數(shù)層進行知識蒸餾的效果。
表3 NTU 60 數(shù)據(jù)集中在網(wǎng)絡(luò)不同位置進行知識蒸餾的效果Table 3 Effect of knowledge distillation in different locations on the network on NTU 60 dataset %
知識蒸餾時式(1)中溫度系數(shù)T對知識蒸餾效果的影響如表4 所示。從表4 中可以看出,當溫度系數(shù)T=2時。在N-UCLA 和UTD-MHAD 數(shù)據(jù)集中效果最好,可以分別取得95.86%和94.88%的識別準確率。
表4 溫度系數(shù)對知識蒸餾效果的影響Table 4 The effect of temperature coefficient on knowledge distillation %
2.3.2 知識蒸餾的損失函數(shù)構(gòu)成
為了研究采用包括MAE、MSE、MMD、KL 散度等不同的損失函數(shù)將教師網(wǎng)絡(luò)提取的其他模態(tài)特征信息及對動作預(yù)測結(jié)果的分布信息轉(zhuǎn)移到學生網(wǎng)絡(luò)中的效果,比較在骨干網(wǎng)絡(luò)Layer4[18]輸出的特征上以及預(yù)測分數(shù)上采用不同損失函數(shù)進行知識蒸餾對識別性能的影響,結(jié)果如表5 所示。實驗采用光流作為教師網(wǎng)絡(luò)進行知識蒸餾,在特征上討論MAE 和MSE 損失函數(shù)、在預(yù)測分數(shù)上討論MSE、MMD 損失函數(shù)和KL 散度進行知識蒸餾的效果。從表5 中可以看出,在特征上采用MSE 損失函數(shù)進行知識蒸餾的效果較好,在預(yù)測分數(shù)上采用KL 散度進行知識蒸餾的效果較好,而同時在特征和預(yù)測分數(shù)上采用這2 種方法進行知識蒸餾的效果最好,因此,本文的設(shè)計同時在特征上采用MSE 損失函數(shù)、在預(yù)測分數(shù)上采用KL 散度進行知識蒸餾,使學生網(wǎng)絡(luò)學習不同模態(tài)的特征信息和教師網(wǎng)絡(luò)對動作預(yù)測結(jié)果的分布。
2.3.3 采用骨骼模態(tài)進行知識蒸餾的效果
不同于將骨骼信息疊加在RGB 模態(tài)上的姿勢模態(tài)[9],本文將原始骨骼信息作為骨骼模態(tài)并研究采用骨骼模態(tài)教師網(wǎng)絡(luò)對RGB 學生網(wǎng)絡(luò)進行知識蒸餾的效果,如表6 所示。其中,單一骨骼模態(tài)網(wǎng)絡(luò)的識別準確率僅為43.99%,遠低于單一姿勢模態(tài)網(wǎng)絡(luò)的71.96%,但采用骨骼模態(tài)作為單一教師網(wǎng)絡(luò)的輸入進行知識蒸餾的識別準確率達到了78.37%,高于姿勢模態(tài)對應(yīng)的77.52%,證明了原始的骨骼模態(tài)信息的有效性。
表6 姿勢和骨骼模態(tài)進行知識蒸餾的效果Table 6 Effect of pose and skeleton modalities on knowledge distillation %
2.3.4 多模態(tài)融合的效果
采用多教師結(jié)構(gòu)進行多模態(tài)融合相比于采用單一教師網(wǎng)絡(luò)進行多模態(tài)融合可以使識別準確率獲得進一步提升,但由于不同教師網(wǎng)絡(luò)的不同組合對多教師知識蒸餾的影響各不相同,因此進一步研究采用多教師知識蒸餾方法進行多模態(tài)融合的效果,包括不同模態(tài)單教師網(wǎng)絡(luò)與RGB 學生網(wǎng)絡(luò)進行多模態(tài)融合的效果以及采用光流、骨骼、紅外和深度4 個不同教師網(wǎng)絡(luò)的不同組合進行多模態(tài)融合的效果,如表7 所示,其中加粗表示最優(yōu)數(shù)據(jù)。
從表7 中可以看出:對于光流和骨骼模態(tài)而言,在所有4 個數(shù)據(jù)集中光流和骨骼模態(tài)作為教師網(wǎng)絡(luò)與RGB 模態(tài)通過知識蒸餾進行多模態(tài)融合都可以獲得很好的性能提升,并且當光流和骨骼模態(tài)同時作為教師網(wǎng)絡(luò)進行多模態(tài)融合時在所有數(shù)據(jù)集中都可以達到最好的效果;對于紅外模態(tài),在NTU 60 數(shù)據(jù)集中進行多模態(tài)融合獲得了一定的性能提升,但是由于其他數(shù)據(jù)集沒有提供紅外模態(tài),因此對于紅外模態(tài)的研究還需要進一步深入;對于深度模態(tài),采用單教師網(wǎng)絡(luò)進行知識蒸餾時,在NTU 60和N-UCLA數(shù)據(jù)集中效果較好,但在UTD-MHAD數(shù)據(jù)集中效果較差,而采用多教師知識蒸餾結(jié)構(gòu)時,在NTU 60 和N-UCLA 數(shù)據(jù)集中效果較差,在UTD-MHAD 數(shù)據(jù)集中準確率反而下降。實驗結(jié)果表明,光流和骨骼模態(tài)的組合作為教師網(wǎng)絡(luò)的輸入進行多教師知識蒸餾的效果最好,初步說明RGB、光流和骨骼3 個模態(tài)數(shù)據(jù)的互補性較好。同時,在表7 采用多模態(tài)知識蒸餾方法進行多模態(tài)融合的實驗結(jié)果中,當骨骼模態(tài)進一步作為教師網(wǎng)絡(luò)之一進行多模態(tài)知識蒸餾時行為識別準確率都得到了有效的提升,如RGB+光流+骨骼相比于RGB+光流在各數(shù)據(jù)集上分別提升1.29、0.26、0.24 和1.96 個百分點,RGB+骨骼+深度相比于RGB+深度在NTU 60、UTD-MHAD 和N-UCLA 上分別提升了0.08、0.23、0.24 和1.31 個百分點。
為了更好地分析本文提出的基于知識蒸餾的多模態(tài)融合行為識別方法的效果,對在RGB、光流、骨骼、紅外和深度每個模態(tài)上訓練的單一模型以及表7 中典型的幾個多教師知識蒸餾模型采用Grad-CAM[21]進行可視化,如圖2 所示,圖中F、S 和D 分別代表光流、骨骼和深度,P 代表模型對該動作的預(yù)測分數(shù),每個動作的第1 行是對應(yīng)模型的輸入,對于知識蒸餾模型,輸入為學生網(wǎng)絡(luò)對應(yīng)的RGB 模態(tài)數(shù)據(jù),第2 行是模型響應(yīng)的熱力圖??梢钥闯觯瑢Ω髂B(tài)單一模型,熱力圖覆蓋的區(qū)域都有所不同,說明對于不同模態(tài)數(shù)據(jù),網(wǎng)絡(luò)聚焦于不同的區(qū)域。對于圖中“讀書”動作,RGB 和深度模型對行為的預(yù)測分數(shù)分別為0.026 3 和0.043 7,產(chǎn)生了錯誤的預(yù)測,而光流、骨骼和紅外模型預(yù)測分數(shù)分別為0.579 5、0.788 3 和0.927 2,預(yù)測正確,在進行跨模態(tài)多教師知識蒸餾后,RGB+光流的預(yù)測分數(shù)為0.087 6,效果并未得到明顯的改善,而同時采用光流和骨骼進行知識蒸餾后預(yù)測分數(shù)達到了0.821 2,獲得了正確的預(yù)測;對于“刷牙”動作,RGB 和光流模型對行為產(chǎn)生了錯誤的預(yù)測,預(yù)測分數(shù)分別為0.003 3和0.092 7,進行跨模態(tài)多教師知識蒸餾后,RGB+光流的預(yù)測分數(shù)為0.093 9,效果并未得到明顯的改善,而同時采用光流和骨骼進行知識蒸餾后,預(yù)測分數(shù)達到0.582 9,獲得了正確的預(yù)測;在圖中“頭痛”動作中,單一的RGB、骨骼和紅外模型預(yù)測分數(shù)分別為0.314 2、0.193 6 和0.091 7,對行為產(chǎn)生了錯誤的預(yù)測,進行跨模態(tài)多教師知識蒸餾后,RGB+光流對該類的預(yù)測分數(shù)提升到了0.684 3,RGB+光流+骨骼對該類的預(yù)測分數(shù)提升到0.993 8,且熱力圖覆蓋效果較好??梢暬Y(jié)果表明,光流和骨骼模態(tài)的組合作為教師網(wǎng)絡(luò)進行多教師知識蒸餾的效果最好。
圖2 單模態(tài)模型與多模態(tài)知識蒸餾模型的可視化圖Fig.2 Visualization charts of single-modality models and multi-modality models based on knowledge distillation
結(jié)合上述消融實驗,本文提出的基于知識蒸餾的多模態(tài)融合行為識別方法采用MSE 損失函數(shù)在骨干網(wǎng)絡(luò)的Layer4 層輸出的特征上進行知識蒸餾,采用KL 散度在預(yù)測分數(shù)上進行知識蒸餾,同時采用光流和骨骼模態(tài)的組合作為多教師網(wǎng)絡(luò)對RGB 模態(tài)學生網(wǎng)絡(luò)進行多教師知識蒸餾。
實驗主要就本文提出的基于知識蒸餾的多模態(tài)融合行為識別方法在主流的多模態(tài)數(shù)據(jù)集NTU 60、UTD-MHAD 和N-UCLA 以及主流的單模態(tài)數(shù)據(jù)集HMDB51 中與其他多模態(tài)融合算法進行綜合實驗對比。其中,NTU 60 數(shù)據(jù)集中使用CS 和CV 指標,N-UCLA 數(shù)據(jù)集中使用最常用的View3 指標,HMDB51 數(shù)據(jù)集中使用3 個Split 的平均準確率指標。
基于NTU 60 數(shù)據(jù)集的多模態(tài)融合方法識別準確率對比如表8 所示,其中,第1 行3D-ResNeXt-101是RGB 單模態(tài)網(wǎng)絡(luò)的識別準確率,作為多模態(tài)識別準確率提升的對比基準。本文方法對應(yīng)的CS、CV指標分別為90.09%和94.00%,相比于基準分別提升3.49 和1.13 個百分點,與其他方法相比也達到了較高的識別準確率。值得注意的是,表格中對比的其他方法[19,22-25]都是采用多流融合的方法,即在測試階段同時輸入多個模態(tài)數(shù)據(jù),計算并融合多個模態(tài)網(wǎng)絡(luò)的特征或預(yù)測分數(shù),而本文所提出的基于知識蒸餾的多模態(tài)融合行為識別方法,在測試階段只需要使用RGB 模態(tài)數(shù)據(jù),不但降低了測試階段的計算復(fù)雜度,而且獲得了較高的識別準確率。準確率對比證明了本文提出的基于知識蒸餾的多模態(tài)融合行為識別方法能夠很好地將多模態(tài)特征的互補優(yōu)勢融合到RGB 模態(tài)網(wǎng)絡(luò)中。
表8 NTU 60 數(shù)據(jù)集上多模態(tài)融合方法識別準確率對比Table 8 Comparison of accuracy by the multi-modality fusion methods on NTU 60 dataset %
基于HMDB51 數(shù)據(jù)集的多模態(tài)融合方法識別準確率對比如表9 所示,其中,第1 行3D-ResNeXt-101是RGB 單模態(tài)網(wǎng)絡(luò)的識別準確率,第2 行LGD-3D[26]使用ResNet-101 作為骨干網(wǎng)絡(luò),并采用RGB 和光流融合的方法,它們作為多模態(tài)知識蒸餾方法實驗的對比基準。表格中的數(shù)據(jù)對比采用常用的3 個Split準確率的平均來表示,例如本文方法3 個Split 指標的準確率分別為80.39%、82.03%和81.37%,平均準確率為81.26%,相比于基準提升了7.34 個百分點。表9 中MARS[7]和D3D[8]網(wǎng)絡(luò)都是研究RGB 和光流的多模態(tài)融合,MARS[7]在特征上通過MSE損失函數(shù)進行知識蒸餾;D3D[8]在預(yù)測分數(shù)上通過MSE 損失函數(shù)進行知識蒸餾。本文方法同時在特征上使用MSE 損失函數(shù),在預(yù)測分數(shù)上使用KL 散度進行知識蒸餾,并取得了優(yōu)于MARS[7]和D3D[8]網(wǎng)絡(luò)的性能,準確率與之相比分別提升了1.96 和2.56 個百分點。本文方法在HMDB51 上通過Openpose[17]將RGB 模態(tài)轉(zhuǎn)換成相應(yīng)的骨骼模態(tài),而PERF-Net[9]通過PoseNet[10]從RGB 圖像中提取骨骼信息,然后疊加在RGB 模態(tài)上作為姿勢模態(tài)數(shù)據(jù),采用多教師知識蒸餾結(jié)構(gòu)將姿勢和光流模態(tài)同時作為教師網(wǎng)絡(luò),在預(yù)測分數(shù)上通過MSE 損失函數(shù)對RGB 學生網(wǎng)絡(luò)進行知識蒸餾。相比于使用的原始骨骼信息,姿勢模態(tài)保留了RGB 外觀信息,本文方法得到了與PERF-Net[9]相近的結(jié)果。
表9 HMDB51 數(shù)據(jù)集上多模態(tài)融合方法識別準確率對比Table 9 Comparison of recognition accuracy by the multi-modality fusion methods on HMBD51 dataset %
基于UTD-MHAD 和N-UCLA 數(shù)據(jù)集的多模態(tài)融合方法識別準確率對比如表10 和表11 所示,其中第1 行3D-ResNeXt-101 是RGB 單模態(tài)網(wǎng)絡(luò)的識別準確率,作為多模態(tài)識別準確率提升的對比基準。本文提出的基于知識蒸餾的多模態(tài)融合行為識別方法在UTD-MHAD 和N-UCLA 數(shù)據(jù)集上的識別準確率分別達到95.12%和97.82%,相比于基準提升了2.54 和3.21 個百分點。與表中的其他主流多模態(tài)融合方法相比,本文方法在UTD-MHAD 數(shù)據(jù)集上獲得了最高的準確率,在N-UCLA 數(shù)據(jù)集上獲得了第二高的準確率,僅次于Hierarchical[16]的98.92%。需要指出的是,Hierarchical[16]在測試階段需要同時輸入RGB 和骨骼2 種模態(tài)的數(shù)據(jù)進行推理。相對而言,本文采用基于知識蒸餾的多模態(tài)融合行為識別方法,通過知識蒸餾在訓練階段將其余模態(tài)知識轉(zhuǎn)移到RGB 模態(tài)網(wǎng)絡(luò)中,因此在推理階段僅需要提供RGB 模態(tài)數(shù)據(jù)。通過在UTD-MHAD 和N-UCLA 數(shù)據(jù)集上與近年來其他先進的多模態(tài)融合行為識別算法的對比,驗證了本文方法的有效性。
表10 UTD-MHAD 數(shù)據(jù)集上多模態(tài)融合方法識別準確率對比Table 10 Comparison of recognition accuracy by the multi-modality fusion methods on UTD-MHAD dataset%
表11 N-UCLA數(shù)據(jù)集上多模態(tài)融合方法識別準確率對比Table 11 Comparison of recognition accuracy by the multi-modality fusion methods on N-UCLA dataset %
本文提出一種基于知識蒸餾的多模態(tài)融合行為識別方法,通過實驗和可視化分析表明在特征上采用MSE 損失函數(shù)并在預(yù)測分數(shù)上采用KL 散度進行知識蒸餾可以有效提升行為識別準確率,此外,將骨骼和光流模態(tài)的組合同時作為教師網(wǎng)絡(luò)對RGB 模態(tài)學生網(wǎng)絡(luò)進行知識蒸餾可以獲得最高的行為識別準確率。在NTU RGB+D 60、UTD-MHAD 和Northwestern-UCLA Multiview Action 3D 以及HMDB51數(shù)據(jù)集上進行測試,結(jié)果表明,所提出的方法分別達到了90.09%、95.12%、97.82%和81.26%的識別準確率,其中UTD-MHAD 數(shù)據(jù)集上的識別準確率相比于單模態(tài)RGB 數(shù)據(jù)獲得了3.49、2.54、3.21 和7.34 個百分點的提升。后續(xù)研究可以考慮在知識蒸餾的過程中通過自注意力網(wǎng)絡(luò)將多模態(tài)教師網(wǎng)絡(luò)的特征語義信息與RGB 學生網(wǎng)絡(luò)的特征語義信息對齊,從而進一步優(yōu)化多模態(tài)融合的性能。