更快更強(qiáng)!視頻理解模型PP-TSM重磅發(fā)布:速度比SlowFast快4.5倍
隨著多媒體、網(wǎng)絡(luò)和存儲技術(shù)的快速發(fā)展,視頻數(shù)據(jù)量呈現(xiàn)爆炸式增長。面對如此龐大的視頻數(shù)據(jù),無論是處理還是監(jiān)管都成了難題!剪輯人員希望從比賽錄像中便捷地提取比賽集錦,上網(wǎng)課的老師希望隨時了解電腦攝像頭前的學(xué)生是否在安心聽講,短視頻網(wǎng)站希望能迅速給每個新作品打上標(biāo)簽并推送給合適的用戶,監(jiān)管部門也希望能精準(zhǔn)發(fā)現(xiàn)不合規(guī)的視頻內(nèi)容等等。但是人力有窮時,都靠人來做肯定是不現(xiàn)實的,人搞不定,人工智能行不行呢?這個真可以有!

在深度學(xué)習(xí)的CV領(lǐng)域中,有個重要的研究方向就是視頻理解,簡而言之,就是通過AI技術(shù)讓機(jī)器可以理解視頻內(nèi)容,如今在短視頻、推薦、搜索、廣告,安防等領(lǐng)域有著廣泛的應(yīng)用和研究價值,像下面這種視頻打標(biāo)簽、視頻內(nèi)容分析之類的任務(wù)都可以通過視頻理解技術(shù)搞定!


視頻相較于圖像,具有額外的時間維度信息,因此如何更好的利用視頻中的時序信息是視頻領(lǐng)域研究的重點(diǎn)。目前常用的方法有三類:
使用RNN對視頻特征做時序建模,如AttentionLSTM模型。這類模型的輸入是視頻特征,而不是原始視頻,因此往往用作后處理模塊。
使用3D網(wǎng)絡(luò)提取時序信息。如SlowFast模型,創(chuàng)新性的使用Slow和Fast兩個網(wǎng)絡(luò)分支分別捕獲視頻中的表觀信息和運(yùn)動信息。這一方法在很大程度上是受到靈長類視覺系統(tǒng)中視網(wǎng)膜神經(jīng)節(jié)細(xì)胞的生物學(xué)研究所啟發(fā)。
研究發(fā)現(xiàn),在靈長類的視覺系統(tǒng)中,約80%為是P細(xì)胞,15-20%是M細(xì)胞。M細(xì)胞以較高的頻率工作,對時間變化更加敏感;P細(xì)胞則提供良好的空間細(xì)節(jié)和顏色感知。相應(yīng)的,SlowFast模型的Slow分支類似于P細(xì)胞,感知空間信息;Fast分支類似于M細(xì)胞,對時間變化敏感。該模型在視頻分類任務(wù)上取得了SOTA的效果,同時也是AVA 視頻檢測挑戰(zhàn)賽的冠軍模型。
使用2D網(wǎng)絡(luò)提取時序信息,如經(jīng)典的TSN和TSM模型。相較于TSN模型,TSM模型使用時序位移模塊對時序信息建模,在不增加計算量的前提下提升網(wǎng)絡(luò)的精度,非常適合工業(yè)落地。

3D網(wǎng)絡(luò)在精度方面很有優(yōu)勢,但由于3D卷積計算量大,訓(xùn)練和推理耗時較大,難以用于產(chǎn)業(yè)實踐;而2D網(wǎng)絡(luò)雖然計算量較小,訓(xùn)練和預(yù)測速度快,但對時序信息的建模能力相對不足,精度普遍偏低。依托豐富的視覺領(lǐng)域模型優(yōu)化經(jīng)驗,飛槳視頻理解團(tuán)隊基于TSM模型打造了一個非常適用于產(chǎn)業(yè)實踐的高效行為識別模型PP-TSM,并在相關(guān)應(yīng)用場景取得顯著收益。在基本不增加計算量的前提下,PP-TSM使用Kinetics-400數(shù)據(jù)集訓(xùn)練的精度可以提升到76.16%,超過同等Backbone下的3D模型SlowFast,且推理速度提升了4.5倍,具有顯著的性能優(yōu)勢。


源碼鏈接:
https://github.com/PaddlePaddle/PaddleVideo
那PP-TSM到底采用了哪些優(yōu)化策略呢?下面咱們帶領(lǐng)大家一起來深入剖析一下飛槳團(tuán)隊算法優(yōu)化的 “內(nèi)功心法”。
1.數(shù)據(jù)增強(qiáng)Video Mix-up
Mix-up是圖像領(lǐng)域常用的數(shù)據(jù)增廣方法,它將兩幅圖像以一定的權(quán)值疊加構(gòu)成新的輸入圖像。對于視頻Mix-up,即是將兩個視頻以一定的權(quán)值疊加構(gòu)成新的輸入視頻。相較于圖像,視頻由于多了時間維度,混合的方式可以有更多的選擇。實驗中,我們對每個視頻,首先抽取固定數(shù)量的幀,并給每一幀賦予相同的權(quán)重,然后與另一個視頻疊加作為新的輸入視頻。結(jié)果表明,這種Mix-up方式能有效提升網(wǎng)絡(luò)在時空上的抗干擾能力。

2.更優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu)
Better Backbone:骨干網(wǎng)絡(luò)可以說是一個模型的基礎(chǔ),一個優(yōu)秀的骨干網(wǎng)絡(luò)會給模型的性能帶來極大的提升。針對TSM,飛槳研發(fā)人員使用更加優(yōu)異的ResNet50_vd作為模型的骨干網(wǎng)絡(luò),在保持原有參數(shù)量的同時提升了模型精度。
ResNet50_vd是指擁有50個卷積層的ResNet-D網(wǎng)絡(luò)。如下圖所示,ResNet系列網(wǎng)絡(luò)在被提出后經(jīng)過了B、C、D三個版本的改進(jìn)。ResNet-B將Path A中1*1卷積的stride由2改為1,避免了信息丟失;ResNet-C將第一個7*7的卷積核調(diào)整為3個3*3卷積核,減少計算量的同時增加了網(wǎng)絡(luò)非線性;ResNet-D進(jìn)一步將Path B中1*1卷積的stride由2改為1,并添加了平均池化層,保留了更多的信息。

Feature aggregation:對TSM模型,在骨干網(wǎng)絡(luò)提取特征后,還需要使用分類器做特征分類。實驗表明,在特征平均之后分類,可以減少frame-level特征的干擾,獲得更高的精度。假設(shè)輸入視頻抽取的幀數(shù)為N,則經(jīng)過骨干網(wǎng)絡(luò)后,可以得到N個frame-level特征。分類器有兩種實現(xiàn)方式:第一種是先對N個幀級特征進(jìn)行平均,得到視頻級特征后,再用全連接層進(jìn)行分類;另一種方式是先接全連接層,得到N個權(quán)重后進(jìn)行平均。飛槳開發(fā)人員經(jīng)過大量實驗驗證發(fā)現(xiàn),采用第1種方式有更好的精度收益。

3.更穩(wěn)定的訓(xùn)練策略
Cosine decay LR:在使用梯度下降算法優(yōu)化目標(biāo)函數(shù)時,我們使用余弦退火策略調(diào)整學(xué)習(xí)率。假設(shè)共有T個step,在第t個step時學(xué)習(xí)率按以下公式更新。同時使用Warm-up策略,在模型訓(xùn)練之初選用較小的學(xué)習(xí)率,訓(xùn)練一段時間之后再使用預(yù)設(shè)的學(xué)習(xí)率訓(xùn)練,這使得收斂過程更加快速平滑。

Scale fc learning rate:在訓(xùn)練過程中,我們給全連接層設(shè)置的學(xué)習(xí)率為其它層的5倍。實驗結(jié)果表明,通過給分類器層設(shè)置更大的學(xué)習(xí)率,有助于網(wǎng)絡(luò)更好的學(xué)習(xí)收斂,提升模型精度。
4.Label smooth
標(biāo)簽平滑是一種對分類器層進(jìn)行正則化的機(jī)制,通過在真實的分類標(biāo)簽one-hot編碼中真實類別的1上減去一個小量,非真實標(biāo)簽的0上加上一個小量,將硬標(biāo)簽變成一個軟標(biāo)簽,達(dá)到正則化的作用,防止過擬合,提升模型泛化能力。
5.Precise BN
假定訓(xùn)練數(shù)據(jù)的分布和測試數(shù)據(jù)的分布是一致的,對于Batch Normalization層,通常在訓(xùn)練過程中會計算滑動均值和滑動方差,供測試時使用?;瑒泳档挠嬎惴绞饺缦?

但滑動均值并不等于真實的均值,因此測試時的精度仍會受到一定影響。為了獲取更加精確的均值和方差供BN層在測試時使用,在實驗中,我們會在網(wǎng)絡(luò)訓(xùn)練完一個Epoch后,固定住網(wǎng)絡(luò)中的參數(shù)不動,然后將訓(xùn)練數(shù)據(jù)輸入網(wǎng)絡(luò)做前向計算,保存下來每個step的均值和方差,最終得到所有訓(xùn)練樣本精確的均值和方差,提升測試精度。
6、知識蒸餾方案:
Two Stages Knowledge Distillation
我們使用兩階段知識蒸餾方案提升模型精度。第一階段使用半監(jiān)督標(biāo)簽知識蒸餾方法對圖像分類模型進(jìn)行蒸餾,以獲得具有更好分類效果的pretrain模型。第二階段使用更高精度的視頻分類模型作為教師模型進(jìn)行蒸餾,以進(jìn)一步提升模型精度。實驗中,將以ResNet152為Backbone的CSN模型作為第二階段蒸餾的教師模型,在uniform和dense評估策略下,精度均可以提升大約0.6個點(diǎn)。最終PP-TSM精度達(dá)到76.16,超過同等Backbone下的SlowFast模型。
PP-TSM在實際業(yè)務(wù)中表現(xiàn)如何呢?以足球動作定位項目FootballAction為例,該項目可以提取出足球比賽的關(guān)鍵集錦,例如進(jìn)球、角球、任意球等。在基礎(chǔ)特征提取階段,使用TSM模型替換TSN模型,精度由84%提升到90%,使用PP-TSM模型,分類精度能達(dá)到94%。FootballAction最終的precision和recall均有大幅提升,F(xiàn)1-score從0.57提升到了0.82。

PP-TSM所應(yīng)用的這套優(yōu)化策略其實也可以嘗試應(yīng)用于該系列的其它模型上(如TSN模型),歡迎廣大產(chǎn)業(yè)開發(fā)者或者科研人員展開進(jìn)一步的探索。
如果您覺得PP-TSM對您帶來了一些啟發(fā)或者確實實用話,也歡迎您可以給PaddleVideo項目點(diǎn)亮Star。
PaddleVideo項目鏈接:
https://github.com/PaddlePaddle/PaddleVideo

點(diǎn)擊文末“閱讀原文”,為PaddleVideo獻(xiàn)上您寶貴的Star吧!
感興趣的同學(xué)歡迎加入PaddleVideo微信群,與我們一起交流和技術(shù)探討。
