王子儒,李振民
中南大學(xué) 自動化學(xué)院,長沙 410083
人體行為識別在眾多領(lǐng)域有著廣泛的應(yīng)用,例如基于內(nèi)容的視頻檢索、人機交互和視頻監(jiān)控。人體行為識別一開始專注于研究一些由簡單動作組成,視角特定的視頻中的行為,例如跳躍、走路或是揮手。然而,復(fù)雜行為的識別更具有應(yīng)用價值以及挑戰(zhàn)性。這類行為的特點包括背景雜亂、視角不固定、遮擋以及目標(biāo)的幾何和光照變化,并且存在較大的類內(nèi)差異[1]。
復(fù)雜行為識別最開始主流的方法都是基于手工特征。Dollar等人[2]提出了一種對每個檢測到的3D興趣點周圍的時空體積的三維立方體進行表征的方法。Wang等人[3]對視頻進行稠密采樣,并用四種不同的描述符表示每個跟蹤點。隨著基于深度學(xué)習(xí)的方法在圖像識別領(lǐng)域的發(fā)展,復(fù)雜行為識別的識別率得到了顯著的提高。大部分方法基于雙流網(wǎng)絡(luò)、3D時空網(wǎng)絡(luò)或是LSTM網(wǎng)絡(luò)。Zhang等人[4]用視頻中的運動矢量代替雙流網(wǎng)絡(luò)中的光流,在顯著提升了運算速度的同時保證了識別效果。Zhu等人[5]嘗試將光流序列的計算融合到網(wǎng)絡(luò)中,并將原始圖像與光流序列合并以表示人類行為。然而,深度神經(jīng)網(wǎng)絡(luò)需要大量的標(biāo)簽樣本訓(xùn)練模型,而收集這些標(biāo)簽樣本是費時費力的。眾多學(xué)者提出利用遷移學(xué)習(xí)的方法解決標(biāo)簽樣本數(shù)量不足的問題。這些方法在半監(jiān)督的情況下,依然能夠得到理想的識別效果。Xu等人[6]提出了利雙重多對一編碼器,將源域特征和目標(biāo)域特征映射到同一特征空間,提取廣義特征。Zhu等人[7]提出遷移字典(WSCDD)的方法,即利用源域的大量樣本輔助構(gòu)造目標(biāo)域字典,從而獲得目標(biāo)行為的稀疏表示。WSCDD優(yōu)于其他方法的結(jié)果驗證了方法的有效性。然而對于現(xiàn)實情況來說,半監(jiān)督學(xué)習(xí)下的復(fù)雜行為識別問題中,尋找與目標(biāo)行為屬于同一類的其他域的樣本也相當(dāng)困難。數(shù)據(jù)增強也是一種擴充數(shù)據(jù)集的方法,Goodfellow等人[8]提出的生成對抗網(wǎng)絡(luò)(GAN)成為了數(shù)據(jù)增強的重要模型。Masaki等人[9]提出時空生成對抗網(wǎng)絡(luò)(TGAN),通過學(xué)習(xí)未標(biāo)記視頻的語義信息,利用時間生成器和圖片生成器來合成視頻。然而,盡管GAN在圖像層面上的數(shù)據(jù)增強有著不錯的效果,但由于上采樣的過程中,GAN無法很好地結(jié)合背景與識別對象,導(dǎo)致當(dāng)背景并不是靜止時生成的視頻難以辨認(rèn),也無法有效地提高識別結(jié)果。
為解決上述問題,基于復(fù)雜行為都是由數(shù)個簡單行為組序列組成的思想,本文提出基于簡單行為構(gòu)造遷移字典幫助識別復(fù)雜行為。同時,在特征層面進行數(shù)據(jù)擴充,避免了GAN在上采樣過程融入的無關(guān)信息,通過大量的生成特征與真實特征訓(xùn)練出可靠的遷移字典。
其中,βj∈?S是第j類簡單行為的轉(zhuǎn)換子矩陣,每一個轉(zhuǎn)換子矩陣都將相應(yīng)的簡單行為的稀疏表示轉(zhuǎn)化為復(fù)雜行為的稀疏表示的一部分。那么全局轉(zhuǎn)換矩陣由所有類的子矩陣構(gòu)成:
通過這個正則化項,就能夠獲得包含簡單行為信息的復(fù)雜行為的稀疏表示了。例如,跳高由兩個簡單行為組成,分別是跑步和后空翻。因此相應(yīng)子矩陣βj的相應(yīng)位置被置為1,而其他子矩陣則都為0。則整個模型的目標(biāo)函數(shù)為:
由于目標(biāo)函數(shù)涉及多個變量,而傳統(tǒng)的迭代方法往往需要對目標(biāo)函數(shù)進行極為復(fù)雜的數(shù)學(xué)運算,對于多變量函數(shù)來說,這無疑會加劇優(yōu)化過程的計算量。因此,本文采用交替迭代的方法求解參數(shù),其思想是將多變量問題轉(zhuǎn)化為單變量問題,即在單次運算時,保持其他的變量固定不變,只求解一個變量,則函數(shù)變?yōu)橥购瘮?shù),能夠很方便地用梯度進行優(yōu)化求解。交替迭代法已經(jīng)成為優(yōu)化問題中常見的有效算法[10]。需要求解的參數(shù)包括X,Xj,D,Dj和β,優(yōu)化過程可以分為四步:(1)更新X,Xj和β,計算字典D,Dj;(2)固定稀疏表示和字典,更新β;(3)固定字典,β和X,更新簡單行為的稀疏表示Xj;(4)固定字典,β和Xj,更新復(fù)雜行為稀疏表示。
圖1 遷移字典的流程圖Fig.1 Flowchart of transfer dictionary
(1)給定X,Xj和β,求解復(fù)雜行為字典D,簡單行為字典Dj。
固定其他變量,復(fù)雜行為字典與簡單行為字典的字典原子(列數(shù))相同,則可將復(fù)雜行為字典與簡單行為字典合并[11],公式(3)重新表示為:
當(dāng)更新字典的第i列時,固定其他列,則固定,然后通過E的奇異值分解(SVD),可以得到:
其中,U(:,1)代表U的第一列,V(1,:)代表V的第一行。將按相應(yīng)維數(shù)分開,則可得到復(fù)雜行為字典原子以及簡單行為字典原子。
(2)給定字典和稀疏表示,更新β。
本文采用快速迭代收縮閾值算法(FISTA)[13]更新β,X,Xj。β,X,Xj的更新過程所涉及的函數(shù)為非光滑凸函數(shù),而FISTA作為更新非光滑凸函數(shù)的常用算法,是一種基于梯度的優(yōu)化求解算法,在保留了迭代收縮閾值算法(ISTA)的計算簡單性的同時,解決了ISTA收斂速度慢的問題。
FISTA的思想是,對于凸函數(shù)F(x)≡f(x)+g(x),其中g(shù)(x)是函數(shù)中非光滑部分,在點y處的二次近似函數(shù)為:
忽略常數(shù)項,該函數(shù)的最小值表示為:
與ISTA不同,F(xiàn)ISTA并不是直接令下一次迭代點xk=pL(xk-1),而是采用了Nesterov加速策略?;谔荻鹊母滤惴ㄖ校瑓?shù)的更新方向取決于當(dāng)前迭代點的梯度,然而這種更新方法可能會導(dǎo)致迭代方向來回振蕩從而無法在全局范圍內(nèi)朝最終目標(biāo)下降,使得迭代的次數(shù)大幅度的增加。文獻[14]動量法為了解決上述問題,令參數(shù)的更新方向不僅僅考慮當(dāng)前位置的梯度,還加入了上一次迭代的梯度以對本次更新的方向進行平滑,以避免迭代方向變化過快。而Nesterov加速策略在此基礎(chǔ)上,還加入了對本次迭代預(yù)測值的梯度,從而使梯度更加平滑,令本次更新矢量為Vk,迭代點為xk:
FISTA將Nesterov加速策略加入到ISTA中,用一種更聰明的辦法選擇近似函數(shù)的起始點:
在固定字典和稀疏表示之后,目標(biāo)函數(shù)可以改寫為:
因為存在l1范數(shù),公式(10)并不是一個光滑函數(shù)。將公式(11)分為兩個部分:
常見的停止標(biāo)準(zhǔn)一般為設(shè)置迭代次數(shù)或是兩次迭代之間損失的差值,由于設(shè)置固定的迭代次數(shù)并不能保證損失能達(dá)到期望值,因此使用兩次迭代之間損失的差值作為停止條件。迭代的停止條件設(shè)置為:
其中,ε是值差,文獻[13]對迭代的停止標(biāo)準(zhǔn)的選取進行了實驗,從圖2中可以看出,當(dāng)停止標(biāo)準(zhǔn)小于10-3時迭代次數(shù)會大幅增加,因此本文采用10-3作為停止標(biāo)準(zhǔn)。
(3),(4)同樣使用FISTA算法,與第(2)步相同。
圖2 值差與迭代次數(shù)的關(guān)系Fig.2 Relationship between value difference and number of iterations
冗余字典的學(xué)習(xí)需要大量的樣本,然而數(shù)據(jù)集本身的樣本數(shù)量并不足以訓(xùn)練好的字典,簡單行為的字典是否具有足夠的表征能力非常重要,因為它直接影響到復(fù)雜行為的稀疏表示從而影響識別結(jié)果。數(shù)據(jù)增強是一種新的獲取大量數(shù)據(jù)的方法,傳統(tǒng)的數(shù)據(jù)增強方法例如切割、縮放、添加噪聲并不適用于視頻數(shù)據(jù)。近年來,GAN在數(shù)據(jù)增強領(lǐng)域得到了廣泛的應(yīng)用。GAN最先由Goodfellow[8]提出,模型由生成器G和判別器D構(gòu)成。生成器以噪聲為輸入生成樣本,判別器以生成樣本和真實樣本為輸入并試圖區(qū)分兩者。生成器的目標(biāo)則是使生成的樣本難以被判別器區(qū)分。模型的目標(biāo)函數(shù)為:
其中,Pr是真實樣本的分布,Pz是噪聲分布。
利用GAN生成視頻的方法已經(jīng)有人提出[9,15],然而效果都不能令人滿意。為了訓(xùn)練字典,只需在特征層面上進行數(shù)據(jù)增強即可完成目標(biāo)。同時,GAN在訓(xùn)練過程中以真實數(shù)據(jù)作為判別模型的訓(xùn)練樣本,在模型訓(xùn)練完成之后生成器的確會生成足以以假亂真的數(shù)據(jù),然而這類數(shù)據(jù)卻并不一定可以用于數(shù)據(jù)增強,同時不含標(biāo)簽信息的數(shù)據(jù)也很難用于輔助訓(xùn)練分類器。利用CGAN[16]的框架,即可通過添加標(biāo)簽信息控制生成的特征。CGAN提出了一種帶條件約束的GAN,在生成模型和判別模型的訓(xùn)練過程中均引入條件變量y,使用額外信息y對模型增加條件,可以指導(dǎo)數(shù)據(jù)生成過程。這些條件變量y可以基于多種信息,例如類別標(biāo)簽。如果條件變量y是類別標(biāo)簽,可以看做CGAN是把純無監(jiān)督的GAN變成有監(jiān)督的模型的一種改進。帶有標(biāo)簽信息的特征可以為后續(xù)的字典學(xué)習(xí)的過程提供充足的樣本,這也是訓(xùn)練具有良好表征能力的字典所必須的。CGAN的目標(biāo)函數(shù)即為:
其中,Ys是真實樣本的標(biāo)簽分布。生成模型G由兩個相同的模塊組成,每個模塊分別由一個全連接層,一個BN層,一個dropout層以及另一個全連接層構(gòu)成。判別模型D則是一個淺層神經(jīng)網(wǎng)絡(luò),以sigmoid單元作為輸出層。不同于CGAN中使用交叉熵?fù)p失函數(shù),這里采用文獻[17]的思想,利用L2損失函數(shù)解決CGAN面臨的判別器飽和以及模型不穩(wěn)定的問題。訓(xùn)練具有表征力的字典需要盡可能多樣的樣本,生成大量的與真實數(shù)據(jù)幾乎完全相似的特征無益于字典學(xué)習(xí)。采用文獻[18]中的方法,將GAN的學(xué)習(xí)問題視作勢場,依據(jù)庫侖定律,將生成器中生成的特征視作具有相同符號的靜電荷,則同種電荷之間的斥力會迫使它們分散。因此,可以在生成器中添加正則化項——多樣性增強正則化項(DER):
其中,ai=G(z||yi),是生成器生成的特征。DER使生成器專注于在特征空間的稀疏區(qū)域生成更多的樣本,而不是在稠密區(qū)域浪費效果。與每一個特征維數(shù)直接最大化熵相比,庫侖力的最小化是軟正則化,因為庫侖力的強度取決于合成樣本的局部密度。通過加入DER項,生成的樣本仍然可以主要分布在實流形上,避免了許多無意義的變化。因此,本文認(rèn)為DER是增加生成樣本多樣性的理想正則化項。
本文利用稠密軌跡[3]提取數(shù)據(jù)集中視頻的特征,作為至今為止表現(xiàn)相對較好,并在各個實驗數(shù)據(jù)集上取得了不錯的識別結(jié)果的人工提取特征的方法,稠密軌跡能很好地表示視頻中的運動信息。稠密軌跡包含4種描述子,分別為軌跡描述子,梯度方向直方圖(HOG),光流方向直方圖(HOF),運動邊界直方圖(MBH)。通過PCA進行降維處理,利用Fisher Vector(FV)進行編碼。并將得到的稀疏編碼輸入到linear SVM中進行分類[19]。實驗平臺為一臺帶有4.60 GHz i7-8700K CPU和16 GB內(nèi)存的電腦。
實驗使用KTH數(shù)據(jù)集[20]和Weizmann數(shù)據(jù)集[21]作為簡單行為的數(shù)據(jù)集,這兩個數(shù)據(jù)集背景簡單且固定,視頻內(nèi)容都是由單人單個行為組成,視角固定,都是在受控條件下記錄的。KTH數(shù)據(jù)集包含拳擊、拍手、揮手、慢跑、跑步、走路6個動作,Weizmann數(shù)據(jù)集包含彎腰、開合跳、跳躍、原地跳、跑步、橫移、單腳跳、走路、單手揮、雙手揮10個動作。因此總共有14個簡單動作類別。基本所有類別的復(fù)雜行為都可以由這14個簡單行為的組合表示。例如跳高可以由跑步和跳躍組成。實驗使用HMDB51[22]和UCF101數(shù)據(jù)集[23]作為復(fù)雜行為數(shù)據(jù)集。這兩個數(shù)據(jù)集中的視頻片段來源于網(wǎng)絡(luò)。UCF101數(shù)據(jù)集從Youtube上收集了101類動作共13 320個視頻,HMDB51數(shù)據(jù)集從Prelinger檔案、Youtube、Google視頻上收集了51類動作共6 849個視頻片段,每個動作類別至少包含了101個視頻片段。這些視頻的背景雜亂且不固定,動作更加復(fù)雜并且更加貼近實際情況。大部分行為識別方法都在兩個數(shù)據(jù)集上進行實驗評估效果。最好的方法在UCF101數(shù)據(jù)集上已達(dá)到97.9%,而在HMDB51上達(dá)到了80.2%,這主要是由于數(shù)據(jù)量的差異導(dǎo)致識別率的變化[24]。
3.2.1 特征增強
為了驗證生成器G生成特征的質(zhì)量,本文利用TSNE對生成的特征以及真實樣本的特征進行降維處理,得到2維向量從而可以在圖中直觀展示真實樣本的特征與生成特征的差距。圖3中,雙色圖側(cè)藍(lán)色點代表真實樣本特征,紅色點代表生成特征。多色圖展示了不同類的行為的特征分布??梢钥吹?,生成的特征與真實的特征在同一特征空間且基本無法區(qū)分。類間結(jié)構(gòu)也與真實樣本相同。同時,將生成的特征輸入到由真實樣本訓(xùn)練好的linear SVM中,分類效果達(dá)到了95.2%,驗證了生成特征的質(zhì)量。同時,表1、2最后一行是遷移字典加特征增強后的識別準(zhǔn)確率,高于其他方法的準(zhǔn)確率驗證了特征增強的有效性。
3.2.2 遷移字典
盡管許多復(fù)雜行為識別方法包括基于手工特征的方法以及基于深度學(xué)習(xí)的方法在UCF101和HMDB51上都取得了出色的識別結(jié)果,然而在訓(xùn)練樣本大幅減少時,這些方法的識別效果也被大幅度地削弱了。為了驗證遷移字典在標(biāo)簽樣本很少的情況下的識別效果,本文采用了文獻[11]中的實驗辦法,隨機抽取了5%、10%、25%、50%的訓(xùn)練樣本進行實驗,并與WSCDD以及其他在當(dāng)前數(shù)據(jù)集上擁有最好的識別結(jié)果的方法進行對比。實驗結(jié)果顯示在標(biāo)簽樣本少于50%的情況下(見表1、2),遷移字典的識別效果明顯優(yōu)于現(xiàn)有的其他方法,同時特征增強對識別效果也有顯著的提高。
圖3 Weizmann數(shù)據(jù)集和KTH數(shù)據(jù)集的生成特征與真實特征的分布Fig.3 Distribution of generated features and real features of Weizmann dataset and KTH dataset
表1 本文方法與其他方法在UCF101數(shù)據(jù)集上的識別結(jié)果Table 1 Identification results of this method and other methods on UCF101 dataset %
表2 本文方法與其他方法在HMDB51數(shù)據(jù)集上的識別結(jié)果Table 2 Identification results of this method and other methods on HMDB51 dataset %
本文提出的方法利用簡單行為作為源域訓(xùn)練遷移字典,通過轉(zhuǎn)換矩陣獲得目標(biāo)行為的稀疏表示,并通過CGAN模型在特征層面上對簡單行為數(shù)據(jù)集進行數(shù)據(jù)增強,幫助模型訓(xùn)練更具有表征力的簡單行為字典,從而提高復(fù)雜行為的稀疏表示的判別力。在UCF101和HMDB51數(shù)據(jù)集上的實驗結(jié)果驗證了本文方法在標(biāo)簽樣本較少的情況下的有效性。未來將會進一步研究如何在小樣本數(shù)據(jù)集上提取更具表征力的特征和更有效的分類方法。