潘陳聽(tīng)
摘? ?要:快速有效地識(shí)別出視頻中的人體動(dòng)作,具有極其廣泛的應(yīng)用前景及潛在的經(jīng)濟(jì)價(jià)值,深度學(xué)習(xí)的火熱給視頻動(dòng)作自動(dòng)識(shí)別帶來(lái)了巨大的發(fā)展。提出了一種基于深度學(xué)習(xí)和非局域平均法的自注意時(shí)間段網(wǎng)絡(luò),作用于剪切好的視頻片段。通過(guò)構(gòu)造非局域模塊并將其加入到以ResNet為基本模型的時(shí)間段網(wǎng)絡(luò),可以得到新模型。經(jīng)過(guò)在TDAP數(shù)據(jù)集上驗(yàn)證,該模型可較為精確地識(shí)別出人體動(dòng)作,與原有模型相比在不增加時(shí)間復(fù)雜度的前提下有一定程度的提升。
關(guān)鍵詞:動(dòng)作識(shí)別;非局域模塊;時(shí)間段網(wǎng)絡(luò)
中圖分類(lèi)號(hào):TP391.4? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
Application of Deep Learning in Video Action Recognition
PAN Chen-ting
(Collegeof Computer Science and Technology,Nanjing University of Aeronautics and Astronautics,Nanjing,Jiangsu 211106,China)
Abstract:Recognizing human actions in videos quickly and effectively,has broad application prospects and potential economic value. Deep learning has been widely used for action recognition. We proposed self-attention temporal segment networks,whose inputs are clipped video clips. This network is based on deep networks and non-local means. By adding non-local modules to temporal segment networks with ResNet as the basic model,we can get our new model. Verified on TDAP dataset,our new model can recognize human actions more accurately than the original model,without increasing much time complexity.
Key words:action recognition;non-local module;temporal segment network
視頻動(dòng)作識(shí)別在計(jì)算機(jī)視覺(jué)領(lǐng)域占據(jù)著重要的一席之地,由于廣泛的應(yīng)用場(chǎng)景,近年來(lái)其吸引了大量的目光。隨著人工智能的迅速發(fā)展,特別是隨著對(duì)機(jī)器學(xué)習(xí)與深度學(xué)習(xí)的深入研究分析,激發(fā)了國(guó)內(nèi)外研究學(xué)者對(duì)人體動(dòng)作識(shí)別問(wèn)題的研究,已經(jīng)有了大量的研究成果?;诰矸e神經(jīng)網(wǎng)絡(luò)的方法在圖像分類(lèi)上取得了很大的成就而且相比視頻數(shù)據(jù)集有更多的圖像數(shù)據(jù)集可用于訓(xùn)練網(wǎng)絡(luò)?;谝陨蟽牲c(diǎn),目前出現(xiàn)的很多視頻分類(lèi)方法都是基于原有的圖像分類(lèi)方法。然而視頻不僅包含大量與目標(biāo)動(dòng)作無(wú)關(guān)的無(wú)關(guān)信息而且在幀之間還隱含著大量重要的時(shí)序信息。
為了解決上述問(wèn)題,提出了自注意時(shí)間段網(wǎng)絡(luò)。該方法將圖像處理中經(jīng)典的非局域平均法引入時(shí)間段網(wǎng)絡(luò)。我們的工作類(lèi)似于機(jī)器翻譯領(lǐng)域的自注意力(self-attention)方法[1]。自注意力模塊關(guān)注特征圖中所有位置并在嵌入空間中計(jì)算它們的加權(quán)平均以此得到序列中某個(gè)位置的響應(yīng)。正如接下來(lái)討論的,自注意力可以被視為一種非局域平均[2]。使用非局域方法有幾個(gè)優(yōu)點(diǎn)[3]:(a)與卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)的先進(jìn)效果相比,非局域方法通過(guò)直接計(jì)算任意兩個(gè)點(diǎn)的聯(lián)系來(lái)獲取長(zhǎng)遠(yuǎn)依賴(lài)關(guān)系;(b)就像實(shí)驗(yàn)中展示的,非局域方法效果很好并且在網(wǎng)絡(luò)層數(shù)相近的情況下達(dá)到了較好的結(jié)果;(c)最后,非局域方法支持不同的輸入規(guī)模并且能輕易地與其它方法相結(jié)合。
1? ?相關(guān)工作
1.1? ?基于手工設(shè)計(jì)特征的人體動(dòng)作識(shí)別
在深度學(xué)習(xí)出現(xiàn)前數(shù)十年已經(jīng)出現(xiàn)了許多動(dòng)作識(shí)別技術(shù)。這些方法大多關(guān)注的是是局部時(shí)空特征的有效表示,例如HOG3D[4],SIFT3D[5],HOF[6]和MBH[7]等,而前幾年提出的IDT[8]則是在這之中最先進(jìn)的手工特征。盡管有著不錯(cuò)的表現(xiàn),但手工特征有幾個(gè)不可避免的缺陷,例如計(jì)算復(fù)雜度高,很難獲取語(yǔ)義信息以及缺少判別能力和擴(kuò)展性。因此這類(lèi)方法逐漸失去了吸引力或只是作為深度方法的補(bǔ)充。
1.2? ?基于深度學(xué)習(xí)的人體動(dòng)作識(shí)別
自2012年深度網(wǎng)絡(luò)開(kāi)始火熱,用于圖像表示的架構(gòu)取得了極大的進(jìn)展,然而目前仍然沒(méi)有視頻領(lǐng)域的權(quán)威架構(gòu)。目前視頻架構(gòu)之間主要有以下區(qū)別:網(wǎng)絡(luò)的輸入只包含RGB視頻還是包含了預(yù)處理的光流,卷積核是采用2d(基于圖像)還是3d(基于視頻),以及在2d網(wǎng)絡(luò)的基礎(chǔ)上幀間信息如何整合。
雙流神經(jīng)網(wǎng)絡(luò)(Two-Stream ConvNet)[9]在動(dòng)作識(shí)別領(lǐng)域是一類(lèi)很常用的方法,該方法簡(jiǎn)單卻有相當(dāng)優(yōu)異的效果。雙流網(wǎng)絡(luò)顧名思義由時(shí)間流與空間流兩路網(wǎng)絡(luò)組成,空間流網(wǎng)絡(luò)將視頻單幀或堆疊幀輸入卷積網(wǎng)絡(luò)學(xué)習(xí)空間域上的視頻信息,時(shí)間流網(wǎng)絡(luò)將光流圖以多通道的形式輸入卷積網(wǎng)絡(luò)學(xué)習(xí)時(shí)間域上的視頻信息。兩路網(wǎng)絡(luò)各自對(duì)視頻輸出屬于各類(lèi)的概率,最后平均兩個(gè)概率向量得到最終的分類(lèi)結(jié)果。
3D神經(jīng)網(wǎng)絡(luò)[10]是另一類(lèi)很常用的方法。隨著近年來(lái)計(jì)算力的進(jìn)一步提升以及數(shù)據(jù)集規(guī)模的進(jìn)一步增加,3D神經(jīng)網(wǎng)絡(luò)發(fā)展迅速,從最開(kāi)始的不如傳統(tǒng)方法到如今與雙流網(wǎng)絡(luò)并駕齊驅(qū)。3D網(wǎng)絡(luò)在設(shè)計(jì)之初就是一種端到端的網(wǎng)絡(luò)架構(gòu),它可以直接將視頻作為輸入,并輸出最終分類(lèi)類(lèi)別。由于網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,3D網(wǎng)絡(luò)需要很大的數(shù)據(jù)集才能得到較好的結(jié)果,并且網(wǎng)絡(luò)層數(shù)不能過(guò)深。
RNN可以處理時(shí)域信息,因此將CNN與RNN相結(jié)合也可以學(xué)習(xí)視頻中時(shí)間維度的信息。LSTM(Long Short-Term Memory)[11]和GRU(Gated Recurrent Unit)[12]是RNN中兩類(lèi)常用的變種架構(gòu)。它的基本思想是用RNN對(duì)CNN最后一層在時(shí)間軸上進(jìn)行整合。這里,它沒(méi)有用CNN全連接層后的最后特征進(jìn)行融合,是因?yàn)槿B接層后的高層特征進(jìn)行池化已經(jīng)丟失了空間特征在時(shí)間軸上的信息。目前效果最好的此類(lèi)方法為長(zhǎng)時(shí)遞歸卷積神經(jīng)網(wǎng)絡(luò)(Long-term recurrent convolutional network,LRCN)[13]。
2? ?網(wǎng)絡(luò)模型
將詳細(xì)介紹非局域時(shí)間段網(wǎng)絡(luò)的設(shè)計(jì)原理和實(shí)現(xiàn)細(xì)節(jié),具體地展示該網(wǎng)絡(luò)模型如何對(duì)視頻動(dòng)作進(jìn)行有效識(shí)別。
2.1? ?非局域方法
類(lèi)似非局域平均法,定義了一種在深度網(wǎng)絡(luò)中更通用的非局域方法:
yi = ■■f(xi,xj)g(xj)? ? ? (1)
這里i是需要計(jì)算響應(yīng)的輸出位的索引,j是枚舉了所有可能位置的索引。x是輸入信息(圖像,序列,視頻;通常是他們的特征圖),y是x的同等規(guī)模的輸出信息。匹配函數(shù)f計(jì)算i和所有j之間的標(biāo)量。一元函數(shù)g計(jì)算位置j的輸入信息的表示。最后再將所得通過(guò)因子C(x)歸一化。
公式(1)中的非局域方法是基于考慮了所有位置j的事實(shí)。作為對(duì)比,卷積方法在某個(gè)區(qū)域計(jì)算了加權(quán)輸入,循環(huán)方法在t時(shí)刻通常只考慮當(dāng)前以及接下來(lái)的一段時(shí)間。非局域方法與全連接層也不同。公式(1)計(jì)算了不同位置間基于關(guān)系的響應(yīng),然而全連接層使用學(xué)會(huì)的權(quán)重。換句話(huà)說(shuō),全連接層中xi和xj間的關(guān)系不是輸入數(shù)據(jù)的函數(shù),不像在非局域?qū)又?。另外,公式?)支持不同規(guī)模的輸入,并維持對(duì)應(yīng)規(guī)模的輸出。相反,一個(gè)全連接層需要固定規(guī)模的輸入/輸出。
非局域方法是一個(gè)很靈活的構(gòu)造模塊并且可以與卷積/循環(huán)層很簡(jiǎn)單地一起使用。它可以被添加到深度網(wǎng)絡(luò)的底層中而不像全連接層只能添加到頂層??梢詷?gòu)造同時(shí)包含非局域和局域信息的更深層網(wǎng)絡(luò)。
2.2? ?非局域模塊
把公式(1)中的非局域方法嵌入到非局域模塊就可以使之成為許多現(xiàn)有的網(wǎng)絡(luò)的一部分。如下定義非局域模塊:
zi = Wz yi + xi? ? ? (2)
yi由公式(1)給出,而“+”表示殘差連接。殘差連接允許把一個(gè)新的非局域模塊插入任何預(yù)訓(xùn)練過(guò)的模型。圖1為非局域模塊的一個(gè)例子。
當(dāng)用于高層次采樣的特征圖時(shí),非局域模塊的匹配運(yùn)算是很輕量的。舉個(gè)例子,圖1中傳統(tǒng)參數(shù)為T(mén)=4,H=W=14或7。由矩陣相乘實(shí)現(xiàn)的匹配計(jì)算相當(dāng)于基礎(chǔ)網(wǎng)絡(luò)中傳統(tǒng)的卷積層。另外采取了以下措施使之更高效。
將以Wg,Wθ和W?準(zhǔn)表示的通道數(shù)設(shè)置為 的通道數(shù)的一半。這里使用了瓶頸設(shè)計(jì)并把一個(gè)模塊的計(jì)算量減少了一半。還采用了一個(gè)次采樣技巧來(lái)減少計(jì)算量。將公式(1)修改為yi = ■■f(xi,■j)
g(■j),■是x的次采樣(如通過(guò)池化)。在空間域?qū)崿F(xiàn)可將匹配運(yùn)算的計(jì)算量減少到1/4。這個(gè)技巧不會(huì)改變非局域操作,但可以使計(jì)算更稀疏。它可以通過(guò)在圖1的?準(zhǔn)和g函數(shù)后添加一個(gè)最大池化層實(shí)現(xiàn)。
考慮將f函數(shù)設(shè)置為嵌入高斯函數(shù):
f(xi,xj) = e■? ? ? (3)
這里θ(xi) = Wθ xi以及φ(xj) = Wφ xj是兩個(gè)嵌入。再設(shè)置C(x) =■f(xi,xj)。
注意到最近機(jī)器翻譯領(lǐng)域的自注意力模型是非局域方法在嵌入高斯函數(shù)下的一個(gè)特殊情況??梢钥吹浇o定I,就是對(duì)于維度j的softmax運(yùn)算。所以有y = soft max(xT WθTWφ x)g(x),即自注意力的形式。同樣,揭示了自注意力模型與計(jì)算機(jī)視覺(jué)領(lǐng)域傳統(tǒng)的非局域均值法的內(nèi)在聯(lián)系,并且將序列自注意力網(wǎng)絡(luò)拓展為計(jì)算機(jī)視覺(jué)中視頻動(dòng)作識(shí)別的更通用的時(shí)空非局域網(wǎng)絡(luò)。
2.3? ?非局域時(shí)間段網(wǎng)絡(luò)
雙流神經(jīng)網(wǎng)絡(luò)的一個(gè)很明顯的問(wèn)題是其現(xiàn)有形式在建模長(zhǎng)期時(shí)序結(jié)構(gòu)的羸弱能力。這主要?dú)w咎于其對(duì)時(shí)序上下文的處理方法有限,因?yàn)樗旧硎菫閱螏臻g域網(wǎng)絡(luò))或一小段時(shí)間內(nèi)的堆疊幀(時(shí)間域網(wǎng)絡(luò))而設(shè)計(jì)。然而復(fù)雜行為例如運(yùn)動(dòng)包含相當(dāng)長(zhǎng)時(shí)間內(nèi)的多個(gè)階段。如若無(wú)法將利用這些動(dòng)作的長(zhǎng)期時(shí)序結(jié)構(gòu)訓(xùn)練卷積網(wǎng)絡(luò),那將產(chǎn)生相當(dāng)大的損失。為了處理這個(gè)情況,使用時(shí)間段網(wǎng)絡(luò),一個(gè)視頻級(jí)別的框架,可建模整個(gè)視頻的動(dòng)態(tài)變化,如圖2所示。
特別地,時(shí)間段網(wǎng)絡(luò)是為了利用整個(gè)視頻的時(shí)序信息來(lái)進(jìn)行視頻級(jí)別的預(yù)測(cè)。它也是由空間流卷積網(wǎng)絡(luò)和時(shí)間流卷積網(wǎng)絡(luò)組成。并非處理單幀和堆疊幀,時(shí)間段網(wǎng)絡(luò)處理從整個(gè)視頻中進(jìn)行稀疏采樣所得的切片序列。序列的每個(gè)切片會(huì)對(duì)動(dòng)作類(lèi)進(jìn)行初步預(yù)測(cè),然后對(duì)這些預(yù)測(cè)進(jìn)行整合得到整個(gè)視頻級(jí)的預(yù)測(cè)。在訓(xùn)練過(guò)程中,迭代優(yōu)化視頻級(jí)預(yù)測(cè)的損失值,而不是切片級(jí)的預(yù)測(cè)。
給定一個(gè)視頻V,把它分成相同時(shí)間的K段{S1,S2,1,SK},然后時(shí)間段網(wǎng)絡(luò)將對(duì)序列切片進(jìn)行如下建模:
TSN(T1,T2,L,TK) =
H(G(F(T1;W),F(xiàn)(T2;W),L,F(xiàn)(TK;W)))
(4)
這里(T1,T2,1,TK)是切片序列。每個(gè)切片在其對(duì)應(yīng)時(shí)間段SK內(nèi)隨機(jī)采樣得到。F(Tk;W)是以參數(shù)W表示的處理切片TK并生成每類(lèi)的分?jǐn)?shù)的網(wǎng)絡(luò)函數(shù)。段融合函數(shù)G整合所有切片的輸出并取得其類(lèi)別假設(shè)?;诖巳诤?,預(yù)測(cè)函數(shù)H對(duì)整個(gè)視頻預(yù)測(cè)其對(duì)每個(gè)動(dòng)作類(lèi)別的可能性。這里選擇選擇廣泛使用的softmax函數(shù)。與基礎(chǔ)的類(lèi)交叉熵?fù)p失相結(jié)合,最后關(guān)于段融合的損失函數(shù)為:
L(y,G) = -■yiGi - log■exp Gj? ? ? (5)
C為動(dòng)作類(lèi)別的數(shù)量而yi為關(guān)于類(lèi)Ⅰ的真實(shí)標(biāo)簽。融合函數(shù)G的形式仍是個(gè)問(wèn)題,使用最簡(jiǎn)單的形式,Gi = g(Fi(T1),…,F(xiàn)i(TK))。這里類(lèi)別分Gi由對(duì)所有切片關(guān)于同一類(lèi)的分?jǐn)?shù)采用聚合函數(shù)g所得。評(píng)估了幾種不同形式的聚合函數(shù)g,包括平均法,最大值法以及加權(quán)平均。在以上方法中,平均法取得了最好的結(jié)果。
以ResNet-50[14]作為基準(zhǔn)模型,此模型可以在ImageNet上進(jìn)行預(yù)訓(xùn)練,唯一包含時(shí)間域的操作是池化層。換句話(huà)說(shuō),此基準(zhǔn)簡(jiǎn)單地融合了時(shí)序信息。將非局域模塊插入ResNet使之成為非局域網(wǎng)絡(luò)并嘗試了增加1,2,4或8個(gè)模塊。
3? ?實(shí)驗(yàn)及結(jié)果分析
3.1? ?數(shù)據(jù)集和實(shí)現(xiàn)細(xì)節(jié)
為了驗(yàn)證模型的性能,在TDAP數(shù)據(jù)集進(jìn)行了實(shí)驗(yàn)。TDAP數(shù)據(jù)集包含6個(gè)手勢(shì)動(dòng)作類(lèi)別以及684個(gè)剪切好的視頻片段。使用隨機(jī)梯度下降(SGD)算法來(lái)更新網(wǎng)絡(luò)參數(shù),批大?。╞atchsize)設(shè)置為16。網(wǎng)絡(luò)在ImageNet上進(jìn)行預(yù)訓(xùn)練。空間流網(wǎng)絡(luò)的學(xué)習(xí)率初始值為0.001,每迭代100次減小到原來(lái)的1/10,整個(gè)訓(xùn)練過(guò)程迭代250次。時(shí)間流網(wǎng)絡(luò)的學(xué)習(xí)率初始值為0.001,每迭代150次減小到原來(lái)的1/10,整個(gè)訓(xùn)練過(guò)程迭代350次。也使用了抖動(dòng),水平翻轉(zhuǎn),角裁剪等技術(shù)進(jìn)行數(shù)據(jù)增廣。采用了TVL1算法進(jìn)行光流圖像抽取。在預(yù)訓(xùn)練后,凍結(jié)所有批正則化層的均值方差參數(shù)。
3.2? ?對(duì)比實(shí)驗(yàn)
表1比較了將非局域模塊加入ResNet的不同階段的效果。非局域模塊被插入到某個(gè)階段的最后一個(gè)殘差塊之前。從表2中可以看出,插入res2,res3以及res4的效果是相似的,而插入res5的效果偏低??赡艿慕忉屖莚es5的空間規(guī)模很小所以它提供的空間信息不充分。
表2比較了添加更多非局域模塊的結(jié)果。分別嘗試在ResNet-50網(wǎng)絡(luò)中添加1個(gè)模塊(res4),2個(gè)模塊(res3和res4),4個(gè)模塊(每層1個(gè))以及8個(gè)模塊(每層2個(gè))。在ResNet-101中也將其添加到相應(yīng)的殘差塊。從表3可以看出并不是添加越多的非局域模塊越好,可能的解釋是數(shù)據(jù)量太少以及網(wǎng)絡(luò)結(jié)構(gòu)過(guò)深導(dǎo)致其過(guò)擬合。
4? ?結(jié)? ?論
針對(duì)近幾年來(lái)提出的視頻動(dòng)作自動(dòng)識(shí)別問(wèn)題,引入了計(jì)算機(jī)視覺(jué)中經(jīng)典的非局域均值法,提出了自注意時(shí)間段網(wǎng)絡(luò),并分析了其與機(jī)器翻譯領(lǐng)域先進(jìn)的自注意力方法的內(nèi)在聯(lián)系。為了驗(yàn)證模型的性能,在TDAP數(shù)據(jù)集上進(jìn)行了相關(guān)實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明本模型擁有較好的性能并且產(chǎn)生極少的額外訓(xùn)練時(shí)間。
參考文獻(xiàn)
[1]? ? XU K,BA J,KIROS R,et al. Show,attend and tell:neural image caption generation with visual attention[C]// Proceedings of the International Conference on Machine Learning. 2015:2048-2057.
[2]? ? BUADES A,COLL B,MOREL J M. A non-local algorithm for image denoising[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.2005,2:60-65.
[3]? ? WANG X,GIRSHICK R,GUPTA A,et al. Non-local neural networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018:7794-7803.
[4]? ? KLASER A,MARSZALEK M,SCHMID C. A spatio-temporal descriptor based on 3D-gradients[C]//Proceedings of the British Machine Vision Conference. 2008:275:1-10.
[5]? ? SCVANNER P,ALI S,SHAH M. A 3-dimensional sift descriptor and its application to action recognition[C]// Proceedings of the 15th ACM international conference on multimedia. 2007:357-360.
[6]? ? CHAUDHRY R,RAVICHANDRAN A,HAGER G,et al. Histograms of oriented optical flow and binet-cauchy kernels on nonlinear dynamical systems for the recognition of human actions[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2009:1932-1939.
[7]? ? WANG H,KLASER A,SCHMID C,et al. Dense trajectories and motion boundary descriptors for action recognition[J].? International Journal of Computer Vision,2013,103(1):60-79.
[8]? ? WANG H,SCHMID C. Action recognition with improved trajectories[C]//Proceedings of the IEEE conference on Computer Vision and Pattern Recognition. 2013:3551-3558.
[9]? ? SIMONYAN K,ZISSERMAN A. Two-stream convolutional networks for action recognition in videos[C]//Advances in Neural Information Processing Systems. 2014:568-576.
[10]? TRAN D,BOURDEV L,F(xiàn)ERGUS R,et al. Learning spatiotemporal features with 3d convolutional networks[C]//Proceedings of the IEEE International Conference on Computer Vision. 2015:4489-4497.
[11]? HOCHREITER S,SCHMIDHUBER J. Long short-term memory[J].? Neural Computation,1997,9(8):1735-1780.
[12]? CHUNG J,GULCEHRE C,CHO K H,et al. Empirical evaluation of gated recurrent neural networks on sequence modeling[J].? arXiv preprint arXiv:1412.3555,2014.
[13]? DONAHUE J,ANNE HENDRICKS L,GUADARRAMA S,et al. Long-term recurrent convolutional networks for visual recognition and description[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2015:2625-2634.
[14]? WANG L,XIONG Y,WANG Z,et al. Temporal segment networks:towards good practices for deep action recognition[C]//Proceedings of the European Conference on Computer Vision,2016:20-36.
[15]? HE K,ZHANG X,REN S,et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2016:770-778.
計(jì)算技術(shù)與自動(dòng)化2020年4期