毛 琳,陳思宇,楊大偉,張汝波
(大連民族大學 機電工程學院,遼寧 大連 116605)
動作分類是行為識別研究方向中一項重要的基礎任務,對動作時序提名[1]、動作時序定位[2]、視頻密集事件描述[3]等技術都有一定的貢獻,大部分基于視頻數據的學習任務都需要以動作分類技術[4]為基礎進一步研究。當前動作分類方法主要有三種:運用視頻信息與對應光流信息作為輸入數據的雙流網絡;僅運用視頻信息作為輸入數據的3D卷積神經網絡[5-6];運用視頻中人體骨骼關鍵點信息作為輸入數據的卷積神經網絡。本文提出的時域屬性校正法針對僅運用視頻信息作為輸入數據的3D卷積神經網絡展開。
動作視頻中包含著多種屬性:時域動作屬性、靜態空間屬性、行人與背景的關聯性、運動者自身的特點(衣著、身高、被遮擋與否)等。諸多學者發現,卷積神經網絡(Convolutional Neural Networks,CNNs)中的卷積運算結構擁有的平移不變性特點為其帶來優異的空間屬性學習能力,卻降低了網絡模型對其他屬性的注意力,限制模型對時域屬性的學習能力[7]并影響動作特征中的時域穩健性。文獻[8]指出訓練完成的CNNs在對動作視頻分類時,約半數的分類沒有依據真實的運動軌跡,僅運用了視頻中的空間信息來完成分類判決,該實驗反映出CNNs在訓練時對時域屬性的注意力存在不足。文獻[9]為了使網絡模型不受限于視頻中局部的空間外貌特征,針對視頻數據設計了非局部網絡結構,使模型對局部與非局部信息進行區分,學習到全局的動作信息,但網絡結構的復雜性使得其模型參數量大幅度增加,不利于應用。文獻[10]設計了4D卷積結構對長距離時空表示進行建模,并利用殘差結構保存三維時空特征,作為視頻級網絡,其性能較為優異,但該結構的參數量與計算成本都較為龐大,在后續應用中還需優化。
為了突破CNNs的局限性,改進該網絡在動作分類中的表現,本文針對CNNs所捕獲的特征中時域屬性信息的穩健性不足問題,提出一種時域屬性校正法提升模型對該屬性信息的學習能力。基于3D卷積神經網絡結構,抽象模型所學特征的屬性信息,對比各動作特征間的時域屬性偏差,校正偏差過大的特征,強化網絡模型對時域動作規律的學習,提升CNNs的性能。本文基于文獻[11]對各種熱門卷積網絡的實驗結果,選取其中表現最好的ResNext-101模型作為仿真對象,經本方法改進后,該網絡模型的Top-1與Top-5準確率在兩個常用的動作分類數據集中都有一定的提升,其預訓練模型的仿真結果也能夠得到優化。
時域屬性校正法主要分為屬性抽象與校正反饋兩個部分。
樣本數據空間關系如圖1。基于詞類比等自然語言處理領域相關應用的研究成果[12-13],當不同詞匯樣本間具備某種一致屬性時,它們的特征將擁有一致的屬性空間映射關系,如圖1a。本文由此創新性地推論,具備時間維度的各視頻樣本雖包含多種屬性,但其擁有的時域屬性能使它們保持一定的時域空間關聯特性,由于三維卷積神經網絡模型在訓練時所學到的特征信息x也具備時間維度[14],上述推論能夠應用于擁有時域屬性的特征信息x,不同的特征信息存在如圖1b所示的空間關系。

圖1 樣本數據空間關系
在動作分類任務中,神經網絡能否準確分辨動作信息,主要依據該網絡模型能否辨別不同環境、不同行人的一致動作軌跡規律。真實視頻圖像與其對應的差值信息如圖2,上行為原始視頻的連續幀圖像,下行為上行圖像運用幀差法獲取的差值圖像。圖中可以看出差值圖像能夠包含非常完整的動作軌跡信息,且圖中與動作軌跡無關的噪點信息也較少,由此將動態差值圖像定義為視頻數據的時域動作屬性信息。
屬性映射法假設原始信息與屬性信息之間的映射關系能夠代表該屬性本身,設定任意擁有時間維度的數據X與對應時域動態信息Y之間存在穩健的時域映射f(·),本設定存在公式表達:
f(X)=Y。
(1)
當時域屬性由時域映射關系f(·)代表時,具備一致時域屬性且擁有時間維度的各個網絡特征信息組x也應具備一致的時域映射關系f(·)。由圖1b可推論,不同的特征信息x具備一定的時域空間關聯特性,那么任意兩組特征數據x與其對應的時域動態信息y之間應存在如圖1c所示的空間關系。屬性映射法的核心邏輯是透過對映射關系的求解,完成時域屬性的抽象。
屬性抽象的計算環節分為兩步:第一步,指定時域映射f的函數形式;第二步,利用已知的特征數據x與對應時域動態信息y,根據指定時域映射f的函數形式設計對應的算法,得出f的未知系數。透過對未知系數的求解,完整的f即為特征數據時域屬性的抽象結果。
不同的函數形式會對抽象結果擁有不同的影響,在應用時可以根據實際需求指定不同的函數作為時域映射f的具體形式。在此以一元一次函數作為計算示例,指定的時域映射f存在函數形式:
f(x)=ax+b=y。
(2)
式中,a、b為當前指定形式中的未知系數。

圖2 視頻圖像與幀差法獲取的差值圖像
通過已知的x與y,可得出一種估計結果:將x與y的商與余數作為a、b的解,存在算式:
(3)
(4)
由于上述方法只能得出當a為最大值時的解,得出的未知系數解集并不完整,在實際應用時可添加額外的計算(如收束a值的倍率并得出對應的b值),得到更完整的解集,將解集的期望值作為最終的系數解,完善抽象結果f。
根據圖1展示出的樣本數據空間關系,可以得出約束條件:具備一致時域屬性的不同特征間應具備一致的時域映射關系f(·)。當分類模型對各場景動作視頻中時域屬性的學習成效不佳,導致同一中間層內特征的時域穩健性不足時,可以通過對映射關系的一致化校正來改善特征數據中所包含的時域屬性。本方法利用上述約束條件并基于三維網絡中擁有時間維度的特征數據,對比模型內各特征組的時域映射關系f(·),將對比得出的屬性偏差值作為約束,反饋到模型的再訓練過程。當屬性偏差值較大時,反饋再訓練的過程可以通過該偏差校正模型所學特征的時域屬性,提升對應屬性信息的穩健性;當屬性偏差值較小時,即認為該組特征具備穩健的時域一致性,不用加以校正。
繼續以一元一次函數作為示例,利用從模型訓練過程中選取的特征數據x,得出對應的時域動態信息y。通過x與y計算出時域映射f(·)中的未知系數a、b,由于特征數據x為包含時間維度的三維數據,得出的未知系數解將構成參數集合A與參數集合B,可表示為:
A={a1,a2,a3,…,au};B={b1,b2,b3,…,bu}。
(5)
式中,u的大小取決于被計算特征數據中圖像幀的數量。在此基礎上,將不同特征組的參數集合A與參數集合B的線性差值整合為分歧集合A與B,以分歧集合的標準差作為時域屬性映射的分歧參數Dt,存在計算公式:
(6)
用不同參數集合的差值代表不同特征之間時域映射f(·)的偏差,以該偏差作為各組特征間時域屬性的分歧,將分歧參數Dt與原始的損失函數l′[15]整合,使分歧參與到模型的反向傳播中。模型的損失函數直接影響網絡模型的反向傳播過程[16],添加分歧參數Dt后的損失函數:
L=l′+φDt。
(7)


(8)
本方法以增強3D CNNs的時域屬性學習成效為目的,解決卷積運算容易忽略視頻數據中時域信息的問題,改進卷積神經網絡在視頻動作分類任務中的局限性。
運用網絡模型在訓練過程中捕獲到的特征信息,通過獨創的屬性映射法抽象出時域屬性,對比各特征信息中的時域屬性偏差,將偏差反饋到模型的訓練中,使時域屬性的偏差作為一項訓練約束,直接影響神經網絡模型的反向傳播。在優化訓練約束的同時,逐漸降低時域屬性偏差,提升3D CNNs所學特征的時域屬性一致性。使用時域屬性校正法的網絡模型訓練邏輯圖如圖3。

圖3 改進后網絡模型的訓練邏輯圖
圖3虛線框選部分為方法的運算流程,結合反饋部分后本方法共計四個步驟。
步驟1:在模型訓練過程中,選取指定網絡中間層的特征數據。中間層的指定可以完全隨機,或默認優先指定較淺中間層(以10層網絡為例,1~3層為較淺層)或較深中間層(7~10層為較深層),可根據不同網絡模型、訓練結果對指定層進行調整,以達到更好的校正效果。
步驟2:運用屬性映射法抽象所選取特征數據的時域屬性。通過幀差法計算選取特征數據x的時域動態信息y,具體計算過程可表示為
yi=xi+2-xi,1≤i≤n-2 。
(9)
式中:i代表幀數;n代表一個特征數據集合X的總幀數;x為特征數據X的單幀二維圖像,計算時逐兩幀作差。x的圖像大小受到網絡模型訓練時既定輸入數據大小與指定中間層位置的影響,特征數據集合X與時域動態信息集合Y存在公式表達:
X=[x1,x2,x3,…,xn] ;
(10)
Y=[y1,y2,y3,…,yn-2] 。
(11)
剩余步驟如本文1.1章節所示,后續仿真對時域映射f(·)的指定形式為一元一次函數。運算過程中,集合X為復數,根據網絡模型訓練時既定的批量尺寸數s存在對應數量的集合X所構成的集合組X,出于對算法實時性的考慮,直接采用向量化(逐幀逐像素對應)計算得出f(·)的未知系數解。假設x的大小為(28,28),得出的一組集合的未知系數解A與B的大小為(n-2,28,28),完整未知系數解A與B的大小為(s,n-2,28,28)。
步驟3:對比各組特征數據的時域屬性,得出量化的屬性偏差值。從s組參數集合中隨機選取一組參數集合A'、B'為對照組,其他所有組為被對照組,計算時需得出所有對照組與被對照組的差值,將得出的s-1組差值求和并取期望值,以此作為屬性偏差值Dt,其中的公式化表達詳見本文1.2章節。
步驟4:將屬性偏差值反饋添加到損失函數中,成為一項訓練約束,使模型的再訓練過程受到特征數據時域屬性偏差的影響,具體公式細節詳見本文1.2章節。
為了驗證有效性,本文在兩個常用的動作分類數據集UCF-101[17]與HMDB-51[18]上進行仿真驗證,根據文獻[11]的實驗結果,選擇了其中準確率最高的ResNext-101網絡作為仿真模型,運用時域屬性校正法對該模型進行改進。
仿真使用4張英偉達1080ti顯卡對分類模型訓練,基于python3.6構建仿真程序,運用了pytorch深度學習框架(版本為0.4.0)。網絡模型未經任何預訓練,各中間層均為3D結構,訓練時使用批量歸一化與隨機角點裁剪處理輸入數據,并結合基于驗證集的自適應學習率調整模塊,其他詳細參數見表1。

表1 仿真相關參數設置
屬性偏差值Dt在網絡模型訓練過程中的變化曲線如圖4。根據圖像結果可知,網絡模型在對兩個數據集進行訓練時,經校正后的特征數據時域屬性偏差值都基本低于模型校正前,表明本方法有效校正了分類模型所學動作特征的時域屬性偏差,優化了特征的時域屬性穩健性。曲線優化前后的波動較為一致,說明本方法作為一個輔助部分,不會使網絡模型的訓練進程產生本質上的偏移,結合方法無需更改模型結構的特點,時域屬性校正法擁有較強的可適用性,在不多加調試的情況下也能夠直接與動作分類卷積神經網絡模型相結合。

a)UCF-101 b)HMDB-51
校正前后的ResNeXt-101網絡在兩個數據集上的測試準確率見表2,最終結果從三組測試數據中取均值后得出。可以發現經改進后的ResNeXt-101-R模型在兩個數據集上均有不同程度的提升。其中,在UCF-101數據集上的性能改善較為明顯,分別在Top-1和Top-5準確率上提升3.5%與2.3%,在HMDB-51數據集上的測試結果僅提升了1%的Top-1準確率與0.9%的Top-5準確率。同時,兩組測試結果都是Top-1準確率的提升大于Top-5準確率的提升,可以得出推論:在未經其他預訓練的情況下,改進后的網絡模型提升了對動作樣本的精確度。

表2 對不同數據集的測試準確率/%
選取兩個數據集中的樣本進行實例演示,模型獨立判別視頻內每5幀數據內容的動作分類結果如圖5,一個樣本的上下兩行圖像別為ResNeXt-101與ResNeXt-101-R網絡訓練后所得模型的分類結果,每張圖片的左上角顯示了模型的分類結果,右上角注明了分類結果的正確與否,“×”代表分類錯誤,“〇”代表分類正確。經本方法校正后的模型能夠有效對錯誤的實時分類情況進行修正。

圖5 分類實例演示
在驗證了方法的有效性后,通過使用預訓練模型的仿真實驗檢驗先進性。預訓練模型在仿真時的相關參數與表1不完全相同,批量尺寸為64,學習率0.001,權重衰減率0.000 01,未使用自適應學習率調整模塊。使用預訓練模型后所得出的測試結果見表3。

表3 預訓練模型在不同數據集上的測試準確率
表中動作分類網絡模型的預訓練都在Kinetics數據集[20]上進行,該數據集擁有400個動作類,共計300 000個動作實例樣本,是當前常用于動作分類模型預訓練的數據集之一。表3中引用網絡模型的輸入數據都為僅包含RGB原始圖像或光流數據的單類數據,多類輸入數據組的仿真結果不在對比范圍內。通過準確率結果的對比可以發現,本方法所帶來的校正優化效果在預訓練模型中也具有成效,括號內為Top-5準確率,雖然優化后模型在HMDB-51數據集上的top-1準確率沒有變化,但top-5準確率有一定的提升,體現出本方法對模型泛化能力的加強。相較于其他經過Kinetics數據集預訓練、僅單類輸入數據的動作分類模型結構,本方法的優化結果擁有更佳的性能表現。
本文提出利用時域屬性校正法改進3D卷積神經網絡模型對時域屬性學習成效不足的問題,直接對模型所學特征的屬性信息進行抽象并校正,增強特征的時域一致性。本方法在應用時無需修改模型結構,耗費的時間成本較低,擁有較高的實用性,改進后的ResNeXt-101在不同動作分類數據集上的性能都有所提升。后續工作將對不同網絡模型、數據集進行嘗試,驗證本方法是否擁有更廣泛的應用空間。