張傳雷,武大碩,向啟懷,陳 佳,劉麗欣
(天津科技大學(xué)人工智能學(xué)院,天津 300457)
基于視頻的人體行為識(shí)別技術(shù)作為計(jì)算機(jī)視覺(jué)領(lǐng)域研究熱點(diǎn)之一,具有較高的科學(xué)研究?jī)r(jià)值和應(yīng)用價(jià)值,包括對(duì)視頻中圖像序列自動(dòng)進(jìn)行人體行為檢測(cè)、識(shí)別和理解等相關(guān)內(nèi)容.目前而言,關(guān)于人體行為識(shí)別的研究較多,但很少涉及辦公領(lǐng)域.通過(guò)對(duì)辦公大廳內(nèi)的監(jiān)控視頻進(jìn)行分析,能夠有效了解辦公人員工作狀態(tài)、工作習(xí)慣等,從而可以制定合理規(guī)章制度,督促人員合理安排工作時(shí)間,提高工作效率和服務(wù)質(zhì)量.因此,進(jìn)行基于視頻分析的辦公人員行為識(shí)別研究具有重要的應(yīng)用價(jià)值.
關(guān)于人體行為識(shí)別的研究最早開(kāi)始于 19世紀(jì)70年代左右,科學(xué)家在動(dòng)物行為方面展開(kāi)了機(jī)械學(xué)研究,但是由于當(dāng)時(shí)計(jì)算機(jī)發(fā)展水平較低,計(jì)算資源有限,無(wú)法支持大量的科學(xué)計(jì)算,人體行為分析沒(méi)有得到相應(yīng)的重視[1].到了 20世紀(jì) 90年代,為了對(duì)戰(zhàn)場(chǎng)以及日常民用視頻監(jiān)控等場(chǎng)景下的視頻進(jìn)行分析和理解,美國(guó)國(guó)防部高級(jí)研究計(jì)劃局、麻省理工學(xué)院和卡內(nèi)基梅隆大學(xué)等多所高校參與了視覺(jué)監(jiān)控系統(tǒng)研究.在法國(guó),由國(guó)家信息與自動(dòng)化研究所成立WILLOW 小組,主要致力于研究分析人體行為的分類(lèi)和復(fù)雜場(chǎng)景識(shí)別等,而其成立的 PRIMA小組主要研究單個(gè)個(gè)體或者人群的行為識(shí)別.歐盟也設(shè)立了ADVISER項(xiàng)目,致力于研究智能交通管理系統(tǒng)、人機(jī)交互和人體行為分析與理解等[1].國(guó)內(nèi)也有很多高校和研究機(jī)構(gòu)進(jìn)行人體行為識(shí)別的相關(guān)研究,包括清華大學(xué)、北京大學(xué)、中科院自動(dòng)化模式識(shí)別國(guó)家重點(diǎn)實(shí)驗(yàn)室、北京航空航天大學(xué)等[2].
在深度學(xué)習(xí)應(yīng)用到行為識(shí)別領(lǐng)域前,國(guó)內(nèi)外研究學(xué)者對(duì)基于手工特征的行為識(shí)別方法進(jìn)行了廣泛研究.Bobick等[3]提出基于輪廓剪影進(jìn)行特征提取,通過(guò)輪廓剪影建立運(yùn)動(dòng)能量圖來(lái)描述人體步態(tài)動(dòng)作.這種方法在簡(jiǎn)單背景下的描述能力較強(qiáng),但在背景相對(duì)較復(fù)雜的情況下效果不佳.Peng等[4]提出基于時(shí)間序列引入對(duì)背景光流和軌跡的消除方法——iDT方法,使特征更加集中于人體運(yùn)動(dòng)的描述.iDT方法是深度學(xué)習(xí)進(jìn)入該領(lǐng)域前效果、穩(wěn)定性、可靠性最高的方法,不過(guò)算法復(fù)雜度很高.傳統(tǒng)的行為識(shí)別方法不具有普適性,基于深度學(xué)習(xí)從數(shù)據(jù)中自動(dòng)學(xué)習(xí)特征的方法效果更優(yōu).
近年來(lái),基于計(jì)算機(jī)深度學(xué)習(xí)模型的特征學(xué)習(xí)引起研究人員的廣泛關(guān)注,基于深度學(xué)習(xí)模型的特征提取也成為一個(gè)重點(diǎn)的研究對(duì)象.在傳統(tǒng)的機(jī)器學(xué)習(xí)中,往往是通過(guò)傳統(tǒng)算法提取特征,這樣會(huì)使結(jié)果更偏向于局部特征的表現(xiàn),忽略了全局特征,從而造成局部特征提取對(duì)縮放、角度變換等因素不敏感.近幾年,作為深度學(xué)習(xí)模型之一的卷積神經(jīng)網(wǎng)絡(luò)(convolution neural network,CNN)在圖像識(shí)別、語(yǔ)音識(shí)別、視頻處理等領(lǐng)域取得了巨大成功,基于卷積神經(jīng)網(wǎng)絡(luò)的特征提取,可直接以圖像矩陣作為模型的輸入,避免了像傳統(tǒng)機(jī)器學(xué)習(xí)那樣前期對(duì)圖像數(shù)據(jù)的各種復(fù)雜的預(yù)處理,實(shí)現(xiàn)了監(jiān)督式的學(xué)習(xí),由局部到全局、由低級(jí)到高級(jí)的特征提取.CNN一般由輸入層、輸出層和多個(gè)隱藏層組成,隱藏層一般包括卷積層、池化層、激活層和全連層.
CNN在視頻中應(yīng)用的一個(gè)方法是對(duì)每一幀用CNN進(jìn)行識(shí)別,但這種方法只考慮到了空間上的視覺(jué)效果,沒(méi)有考慮到行為運(yùn)動(dòng)是一個(gè)序列,在時(shí)間維度上還有關(guān)聯(lián),連續(xù)幀之間有一定耦合,是相互關(guān)聯(lián)的[5].因此,Simonyan等[6]提出了Two-Stream結(jié)構(gòu)的CNN,此網(wǎng)絡(luò)不僅包括空間維度還包括時(shí)間維度,空間流處理靜止的圖像幀,得到形狀特征;而時(shí)間流處理連續(xù)數(shù)幀稠密光流[7],可以提取動(dòng)作信息,利用多任務(wù)訓(xùn)練的方法把這兩個(gè)數(shù)據(jù)集結(jié)合起來(lái),但是兩個(gè)流都是2D卷積操作,不能很好地提取時(shí)間特征.
針對(duì) 2D卷積不能很好地提取時(shí)間特征,Tran等[8]提出了一個(gè)比較經(jīng)典的 C3D網(wǎng)絡(luò)來(lái)提取視頻的空間特征和時(shí)域特征.這是首次提出 3D卷積網(wǎng)絡(luò),讓3D卷積網(wǎng)絡(luò)逐漸成為研究熱點(diǎn).相比于2D卷積網(wǎng)絡(luò),3D卷積網(wǎng)絡(luò)能夠更好地提取空間特征和時(shí)間特征,而且只需要配合簡(jiǎn)單的分類(lèi)器就能有很好的表現(xiàn).其使用 3×3×3的卷積核在實(shí)驗(yàn)中比其他幾個(gè)結(jié)構(gòu)都要好,得出的結(jié)構(gòu)特征通過(guò)線(xiàn)性分類(lèi)器后,幾乎可以達(dá)到當(dāng)時(shí)最好的精度.3D卷積雖然能很好擬合時(shí)間域和空間域上的特征,但在時(shí)空兩個(gè)維度同時(shí)反向傳播進(jìn)行權(quán)重修正時(shí),也很容易造成兩個(gè)維度上一定程度的特征提取混亂.同時(shí),3D卷積網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)的參量和運(yùn)算成本相對(duì)于 2D卷積網(wǎng)絡(luò)而言要大的多.
Carreira等[9]提出了 I3D 網(wǎng)絡(luò),I3D 用于圖像分類(lèi)的 2D卷積網(wǎng)絡(luò)變形成可以提取時(shí)空特征的特征提取器,彌補(bǔ)了 3D卷積網(wǎng)絡(luò)參數(shù)多以及需要從零開(kāi)始訓(xùn)練的不足,相較于 C3D網(wǎng)絡(luò)有顯著提升.Donahue等[10]提出長(zhǎng)時(shí)循環(huán)卷積神經(jīng)網(wǎng)絡(luò)(longterm recurrent convolutional network,LRCN),其將CNN與LSTM相結(jié)合,通過(guò)CNN提取單幀圖像的卷積特征并將其按時(shí)間順序輸入 LSTM 中,最終得到視頻數(shù)據(jù)的行為特征.
本文針對(duì)視頻分析中空間和時(shí)間兩個(gè)維度的特征,提出一種卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)和注意力模型的融合模型(ResNet-LSTM-Attention).對(duì)于空間維度,將單幀圖像輸入 ResNet模型,提取空間維度特征;對(duì)于時(shí)間維度,將多幀疊加后的空間維度特征作為輸入,輸入到循環(huán)神經(jīng)網(wǎng)絡(luò)(LSTM)和注意力(Attention)模型的融合網(wǎng)絡(luò)模型;然后將 ResNet-LSTM-Attention模型的輸出經(jīng)過(guò) Softmax輸出作為結(jié)果,得到一個(gè)多模型融合的視頻人體行為識(shí)別的網(wǎng)絡(luò)模型.最后將本文網(wǎng)絡(luò)模型結(jié)構(gòu)應(yīng)用到辦公領(lǐng)域人員行為視頻分析.本文提出網(wǎng)絡(luò)模型優(yōu)勢(shì)在于將空間域和時(shí)間域的特征分開(kāi)提取.首先在靜止的圖片上提取特征,隨后在時(shí)間序列上分別進(jìn)行擬合.該模型的兩層神經(jīng)網(wǎng)絡(luò)相互獨(dú)立,訓(xùn)練過(guò)程分開(kāi)進(jìn)行,所以提取時(shí)間域的 LSTM 的反向傳播不會(huì)貫穿到ResNet,從而一定程度上避免造成時(shí)間域和空間域上特征提取的混淆.
深度卷積神經(jīng)網(wǎng)絡(luò)(deep convolutional neural networks,DCNN)在數(shù)據(jù)分類(lèi)領(lǐng)域應(yīng)用廣泛并且取得了巨大的突破,例如語(yǔ)音和文字、視頻和圖像方面,這是因?yàn)镈CNN具有3個(gè)重要特征:局部區(qū)域感知、時(shí)空域上采樣和權(quán)重共享.但是深度卷積神經(jīng)網(wǎng)絡(luò)也存在 3個(gè)問(wèn)題:(1)常規(guī)的網(wǎng)絡(luò)并不是隨著網(wǎng)絡(luò)層數(shù)增加,堆疊效果會(huì)更好;(2)網(wǎng)絡(luò)層數(shù)越深,會(huì)出現(xiàn)梯度消失問(wèn)題,使得訓(xùn)練效果不會(huì)很好;(3)層數(shù)較淺的網(wǎng)絡(luò)通常不會(huì)使識(shí)別效果明顯提升[11].
為了解決上述 3個(gè)問(wèn)題,He等[12]提出了殘差網(wǎng)絡(luò)ResNet,引入了殘差塊(residual block)構(gòu)建深層網(wǎng)絡(luò),殘差塊結(jié)構(gòu)如圖 1所示.其中 x為輸入,H(x)為輸出,F(xiàn)(x)為殘差映射函數(shù),weight layer為卷積層.
圖1 ResNet殘差塊結(jié)構(gòu)Fig. 1 Residual block structure of ResNet
構(gòu)建深層網(wǎng)絡(luò)的基本約束條件,使堆疊后的網(wǎng)絡(luò)模型誤差應(yīng)比基礎(chǔ)的淺層模型更低,因此在實(shí)際中采用恒等映射的方法構(gòu)建深層模型,即用 H(x)=x作為最佳解映射.當(dāng)層數(shù)較深時(shí),模型難以直接擬合實(shí)際映射 H(x),因此 ResNet引入了“shortcut”快捷連接,這就使問(wèn)題轉(zhuǎn)換為擬合殘差映射F(x),此時(shí)實(shí)際映射 H(x)表示為 H(x)=F(x)+x.當(dāng) F(x)=0時(shí),就構(gòu)成了一個(gè)恒等映射 H(x)=x,模型只需最小化殘差函數(shù) F(x)=H(x)-x來(lái)逼近實(shí)際映射以解決網(wǎng)絡(luò)層堆疊的性能退化問(wèn)題[13].
現(xiàn)假設(shè)有共計(jì) L層殘差塊連接,x(l)表示第 l個(gè)殘差塊的輸入,x(l+1)表示該殘差塊的輸出,也是第l+1個(gè)殘差塊的輸入.可得第l個(gè)殘差塊的輸出為
由式(1)可見(jiàn),每層殘差網(wǎng)絡(luò)都在累積上層的殘差特征,保證了 l+1層始終比 l層擁有更多的特征信息,第 L層始終擁有最多信息.在反向傳播過(guò)程中,根據(jù)鏈?zhǔn)角髮?dǎo)法則,誤差損失項(xiàng) loss對(duì)于網(wǎng)絡(luò)前端的第l個(gè)殘差塊的梯度計(jì)算式為
本文針對(duì)視頻分析中空間維度的特征,采用ResNet模型.
在深度學(xué)習(xí)中能良好表達(dá)時(shí)序的網(wǎng)絡(luò)結(jié)構(gòu)是循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN),其中表現(xiàn)最優(yōu)的是LSTM.由于LSTM是對(duì)序列進(jìn)行操作,多層的 LSTM 堆疊可使輸入的抽象級(jí)別增加,當(dāng)時(shí)間增大即可分塊觀察,或在不同的時(shí)間尺度上表示問(wèn)題,使得網(wǎng)絡(luò)能提取出更加抽象的特征,所以本文通過(guò)堆疊多層 LSTM 進(jìn)行時(shí)間域的特征提取.本文所研究的辦公人員視頻分析問(wèn)題是典型的時(shí)序問(wèn)題,即某一個(gè)時(shí)刻的值受前一個(gè)時(shí)刻或幾個(gè)時(shí)刻的影響[14],因此選擇LSTM模型.
LSTM屬于時(shí)序卷積神經(jīng)網(wǎng)絡(luò),是由循環(huán)神經(jīng)網(wǎng)絡(luò)衍生而來(lái)的,通過(guò)引入門(mén)函數(shù),可以挖掘時(shí)間序列中相對(duì)較長(zhǎng)間隔和延遲等的時(shí)序變化規(guī)律[7].圖2為L(zhǎng)STM 內(nèi)部結(jié)構(gòu).圖中:xt為第 t個(gè)輸入序列元素值;c為細(xì)胞狀態(tài)或稱(chēng)為記憶單元,控制信息的傳遞,也是網(wǎng)絡(luò)的核心;i為輸入門(mén),它決定了當(dāng)前xt保留多少信息給當(dāng)前狀態(tài)ct;f為遺忘門(mén),它決定保存多少前一時(shí)刻的細(xì)胞狀態(tài)ct?1至當(dāng)前的ct;o為輸出門(mén),它決定ct傳遞多少至當(dāng)前狀態(tài)的輸出ht;ht?1指代在t-1時(shí)刻的隱藏層狀態(tài)[15].
圖2 LSTM內(nèi)部結(jié)構(gòu)圖Fig. 2 LSTM internal structure diagram
上述過(guò)程對(duì)應(yīng)式(3)—式(8).
輸入門(mén)it、遺忘門(mén) ft和輸出門(mén)ot的結(jié)果均為當(dāng)前輸入序列xt和前一狀態(tài)輸出ht?1乘以相對(duì)應(yīng)權(quán)重加上對(duì)應(yīng)偏移量,最后經(jīng)過(guò) sigmoid激活函數(shù)所得.而當(dāng)前時(shí)刻單元的即時(shí)狀態(tài)則使用 tanh激活函數(shù)激活,見(jiàn)式(6).
而新的單元狀態(tài)ct則由當(dāng)前記憶和長(zhǎng)期記憶ct-1結(jié)合而成,按式(7)計(jì)算.
則LSTM單元的輸出ht的計(jì)算式為
上述公式中,Wxi、Wxf、Wxo、Wxc分別是輸入層到輸入門(mén)、遺忘門(mén)、輸出門(mén)與細(xì)胞狀態(tài)的權(quán)重向量;而Whi、Who、Whf、Whc分別是隱藏層到輸入門(mén)、輸出門(mén)、遺忘門(mén)與細(xì)胞狀態(tài)的權(quán)重向量;bi、bo、bf、bc分別是遺忘門(mén)、輸入門(mén)、輸出門(mén)與細(xì)胞狀態(tài)的偏移量;σ(·)為sigmoid激活函數(shù);tanh為雙曲正切激活函數(shù);·表示向量元素乘.
圖3為L(zhǎng)STM分類(lèi)模型.
圖3 LSTM分類(lèi)模型Fig. 3 LSTM classification model
圖3中的輸入層是對(duì)應(yīng)的視頻幀特征向量,在輸入層上層是正向的 LSTM 層,由一系列的 LSTM 單元構(gòu)成.再將全部時(shí)刻的 LSTM 輸出進(jìn)行加權(quán)平均操作后的結(jié)果作為上層的表示.最后通過(guò) softmax層,進(jìn)行全連接的操作,最終可以得到預(yù)測(cè)結(jié)果的類(lèi)別 y[16].
Attention機(jī)制即注意力機(jī)制,通常被運(yùn)用在圖像處理和自然語(yǔ)言處理領(lǐng)域.學(xué)者們提出了不同種類(lèi)的注意力機(jī)制,識(shí)別效果比較明顯.針對(duì)辦公人員行為識(shí)別問(wèn)題,本文對(duì)LSTM模型引入了注意力機(jī)制,它能對(duì)輸入序列提取特征信息,尋找特征信息之間的時(shí)序內(nèi)在聯(lián)系,并通過(guò)加權(quán)平均方式給出識(shí)別結(jié)果,從而提高模型的識(shí)別準(zhǔn)確度.對(duì)于一系列權(quán)重參數(shù),Attention機(jī)制主旨思想是從序列中學(xué)習(xí)到每一個(gè)元素的重要程度,并按其重要程度將元素合并.加入Attention機(jī)制可以使模型的性能得到顯著提升;另外,使用 Attention機(jī)制也可以觀察到輸入序列中的信息是怎樣影響最后的輸出序列,有助于更好地理解模型的內(nèi)部運(yùn)作機(jī)制,更便于對(duì)一些預(yù)設(shè)的輸入與輸出進(jìn)行參數(shù)調(diào)試.因此,在模型構(gòu)建中本文在 LSTM后接入一層 Attention網(wǎng)絡(luò)進(jìn)行時(shí)序特征提取.圖 4為L(zhǎng)STM-Attention分類(lèi)模型.
圖4 LSTM-Attention分類(lèi)模型Fig. 4 LSTM-Attention classification model
圖 4中輸入序列 x0,x1,x2,…,xt表示視頻幀空間特征的向量,將輸入依次傳入到 LSTM 單元后,得到對(duì)應(yīng)隱藏層的輸出 h0,h1,h2,…,ht.同時(shí),在隱藏層中引入 Attention機(jī)制,計(jì)算每個(gè)輸入分配的注意力概率分布值α0,α1,α2,…,αt,其思想是計(jì)算該時(shí)刻的隱藏層輸出與視頻幀空間特征向量的匹配得分占總體得分的比重[17],設(shè)hi為第i個(gè)時(shí)刻隱藏層的輸出狀態(tài),為比視頻幀高一級(jí)的特征表示向量.將進(jìn)行隨機(jī)初始化,作為一個(gè)參數(shù)在訓(xùn)練過(guò)程中逐步更新,αi, i ∈ [ 0 , t]的計(jì)算式[18]為
其中:βi表示第i個(gè)隱藏層輸出hi在視頻幀表示向量中所占的分值,βi越大,說(shuō)明這個(gè)時(shí)刻的輸入在整體中的注意力越大,它的計(jì)算公式為
式中:V、W、U為權(quán)值矩陣;b為偏置量;tanh為非線(xiàn)性激活函數(shù).
各個(gè)時(shí)刻的注意力概率分布值經(jīng)計(jì)算得出后,再計(jì)算包含特征信息的特征向量ε,公式為
最后,經(jīng)softmax分類(lèi)函數(shù)后可得預(yù)測(cè)類(lèi)別y,計(jì)算式為
本文訓(xùn)練模型的迭代方法采用梯度下降法,通過(guò)計(jì)算損失函數(shù)的梯度并更新模型的參數(shù),最終到達(dá)收斂.為了使目標(biāo)函數(shù)更加平穩(wěn)地收斂,同時(shí)也為了提高算法的效率,每次只取小批量樣本進(jìn)行訓(xùn)練.模型使用的損失函數(shù)為交叉熵,計(jì)算式為
2.1.1 數(shù)據(jù)獲取
本文所用的包括訓(xùn)練集、測(cè)試集和驗(yàn)證集數(shù)據(jù)均是實(shí)驗(yàn)室自行采集.獲取數(shù)據(jù)的步驟:(1)將所有動(dòng)作錄制成視頻;(2)將視頻每10幀抽1幀,即每秒抽取約 3幀圖片;(3)將圖片中主要表現(xiàn)的人體行為部分進(jìn)行裁剪.
所采集的視頻數(shù)據(jù)共分為 8類(lèi),分別是打電話(huà)、吃東西、離崗、玩手機(jī)、睡覺(jué)、抽煙、工作和交流,數(shù)據(jù)集示例圖片如圖5所示.
為了充分利用計(jì)算資源,本文將所有數(shù)據(jù)集做成了隊(duì)列的形式,分批讀入內(nèi)存緩沖區(qū),訓(xùn)練數(shù)據(jù)依次從緩沖區(qū)里讀取,使用的方法為 TFRecord,它是TensorFlow提供的一種數(shù)據(jù)存儲(chǔ)辦法.TFRecord理論上可以保存任何格式的信息,可以將任何類(lèi)型數(shù)據(jù)轉(zhuǎn)化為T(mén)ensorflow所支持的格式,這種方法可以讓數(shù)據(jù)集和網(wǎng)絡(luò)模型更容易相互適應(yīng)匹配,此外利用TFRecord可以很方便實(shí)現(xiàn)隊(duì)列.
圖5 數(shù)據(jù)集圖片F(xiàn)ig. 5 Dataset image
2.1.2 數(shù)據(jù)增強(qiáng)及預(yù)處理
首先對(duì)圖片進(jìn)行了分類(lèi),將截取下來(lái)的圖片進(jìn)行了手工標(biāo)注,標(biāo)注為同一動(dòng)作的圖片序列歸于同一文件夾中.隨后,對(duì)圖片進(jìn)行了分組.將現(xiàn)有數(shù)據(jù)集分為兩組,其中一組從中抽取部分有代表性的關(guān)鍵幀進(jìn)行 CNN網(wǎng)絡(luò)訓(xùn)練,訓(xùn)練集每個(gè)動(dòng)作抽取 1000張圖片,驗(yàn)證集每個(gè)動(dòng)作抽取 200張圖片,共計(jì) 9600張圖片,并使用 OpenCV進(jìn)行圖片的預(yù)處理以固定圖片大小為 283×240,在訓(xùn)練的時(shí)候進(jìn)行隨機(jī)裁剪和圖片增強(qiáng).另一組數(shù)據(jù)集每 16幀為一組,每個(gè)動(dòng)作分出若干組序列幀,將圖片統(tǒng)一大小為224×224.由于本組圖片直接用于已經(jīng)訓(xùn)練好的CNN模型提取概率特征,隨后進(jìn)一步提取時(shí)間特征,所以不需要隨機(jī)裁剪.這樣共有 7066組訓(xùn)練集,1347組驗(yàn)證集,共計(jì)134608張圖片.
此外針對(duì)C3D模型的訓(xùn)練,將圖片每16幀分為一組,每張圖片裁剪為 171×128,在訓(xùn)練的時(shí)候進(jìn)行隨機(jī)裁剪和增強(qiáng),同樣也得到 7066組訓(xùn)練集與1347組驗(yàn)證集.
最后,對(duì)數(shù)據(jù)集進(jìn)行增強(qiáng)與歸一化處理.在實(shí)際的訓(xùn)練過(guò)程中,數(shù)據(jù)集偏少,所以使用在線(xiàn)增強(qiáng)數(shù)據(jù)集的方式來(lái)擴(kuò)充訓(xùn)練數(shù)據(jù),即應(yīng)用模型進(jìn)行訓(xùn)練時(shí),首先獲得一個(gè) batch數(shù)據(jù),然后對(duì)這個(gè) batch的數(shù)據(jù)進(jìn)行隨機(jī)增強(qiáng),同時(shí)通過(guò)GPU優(yōu)化計(jì)算.此外,由于圖像數(shù)據(jù)是0~255的uint數(shù)據(jù),本文對(duì)圖像進(jìn)行歸一化處理,使圖像數(shù)據(jù)轉(zhuǎn)化為介于 0~1之間分布的數(shù)據(jù),若原始圖像數(shù)據(jù)為x,則本文使用最常用的最大最小值歸一化方法按式(14)計(jì)算.
其中:xi表示圖像像素點(diǎn)的值;xmax和 xmin分別表示圖像像素的最大值和最小值.通過(guò)歸一化的方法,可以有效防止仿射變換的影響,減小集合變換的影響,同時(shí)加快梯度下降求最優(yōu)解的速度[19].
本文設(shè)計(jì)的ResNet-LSTM-Attention網(wǎng)絡(luò)模型的網(wǎng)絡(luò)結(jié)構(gòu)共兩層,分別為圖像特征提取層和時(shí)序特征提取層,圖像特征提取層提取圖片在二維空間上的特征,時(shí)序特征提取層提取圖像序列之間的時(shí)序特征.
2.2.1 圖像特征提取層
圖像特征提取層本文使用的殘差網(wǎng)絡(luò)(ResNet),該網(wǎng)絡(luò)結(jié)構(gòu)能很好地解決CNN增加深度會(huì)造成梯度彌散或者梯度爆炸的問(wèn)題.本文在網(wǎng)絡(luò)模型構(gòu)建中使用的為50層的ResNet網(wǎng)絡(luò),其結(jié)構(gòu)參數(shù)和數(shù)據(jù)流圖如圖6所示.
圖6 殘差網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)和數(shù)據(jù)流圖Fig. 6 Residual network structure parameters and data flow diagram
網(wǎng)絡(luò)分為 5個(gè)隱藏層,分別為 conv1、conv2_x、conv3_x、conv4_x和 conv5_x.ResNet-50首先輸入7×7×64的卷積,隨后經(jīng)過(guò) 3+4+6+3=16個(gè)building block,每個(gè) block為 3層,即有 16×3=48層,最后連接全連接層,所以共 1+48+1=50層(這里僅僅指的是卷積層或者全連接層,激活層或池化層并沒(méi)有計(jì)算在內(nèi)).
本文輸入圖片的大小為 224×224×3,首先經(jīng)過(guò)第一個(gè)卷積核為7×7,步長(zhǎng)為2的卷積層,圖片降維度到 112×112×64,然后經(jīng)過(guò)一個(gè)核為 3×3,步長(zhǎng)為 2的最大池化層,之后依次進(jìn)入 block1、block2、block3、block4這 4個(gè)殘差塊,每個(gè)殘差塊有 3層卷積層,輸出 7×7×2048的向量,隨后連接上一層平均池化層,輸出 1×1×2048的特征向量,最后連接一層全連接層,輸出得分向量(未歸一化的概率向量).由于本文一共進(jìn)行 8類(lèi)動(dòng)作的分類(lèi),所以最終圖像特征提取層的輸出為8個(gè)概率特征向量.
2.2.2 時(shí)序特征提取層
時(shí)序特征提取是在已有的概率特征向量序列上進(jìn)行時(shí)域上的特征提取,包括輸入層(in)、LSTM層、Attention層和輸出層(out),下面將結(jié)合圖 7的LSTM-Attention數(shù)據(jù)流圖逐層進(jìn)行闡述.
圖7 LSTM-Attention數(shù)據(jù)流圖Fig. 7 LSTM-Attention data flow diagram
in層的輸入是圖像特征提取層的輸出,目的在于對(duì)圖像概率特征向量進(jìn)行放大處理.隨后為兩層具有 128個(gè)單元的 LSTM,第一層 LSTM 的輸出作為第二層 LSTM 的輸入,即LSTM 層后緊跟Attention網(wǎng)絡(luò),通過(guò)引入 Attention對(duì)序列進(jìn)行權(quán)重分配.網(wǎng)絡(luò)模型的最后為 out層,Attention層輸出為加權(quán)后的得分向量,輸出每個(gè)元素的維度為 1*128,最后再連接 out層,對(duì)得分向量進(jìn)行降維,最后的輸出為 1*8的未歸一化的概率向量.即最開(kāi)始輸入時(shí)序提取層的維度為batch_size*16*8,至輸出層輸出的維度為batch_size*8.
本文對(duì)于圖像特征提取層和時(shí)序特征提取層的具體步驟總結(jié)如下:
(1)截取視頻中動(dòng)作的關(guān)鍵幀,訓(xùn)練出準(zhǔn)確率較高的 ResNet模型,從而使得每幀圖片的行為類(lèi)別的可能性體現(xiàn)在最后的得分向量中.
(2)整理序列幀,將序列中每一幀分別輸入訓(xùn)練好的ResNet模型,得到logits序列,即未歸一化的概率序列.
(3)對(duì)每幀的得分向量進(jìn)行特征放大,隨后進(jìn)入時(shí)序提取層,通過(guò)連接輸出層將softmax概率歸一化.
將數(shù)據(jù)進(jìn)行預(yù)處理后,對(duì) ResNet-LSTM-Attention模型與 C3D模型進(jìn)行實(shí)驗(yàn)結(jié)果分析和對(duì)比.本文代碼基于 TensorFlow實(shí)現(xiàn),運(yùn)行環(huán)境:操作系統(tǒng)Windows 10,Python 版本 Python3.6,TensorFlow 版本 Tensorflow-1.11.0,GPU驅(qū)動(dòng)為 CUDA9.0與CUDNN7.1.
實(shí)驗(yàn)步驟分為定義階段、訓(xùn)練階段和評(píng)估階段.其中:定義階段包括對(duì)于模型結(jié)構(gòu)、損失函數(shù)及優(yōu)化器等的定義[20],具體定義指標(biāo)見(jiàn)表 1,其中Dropout參數(shù)取的是0.8,L2正則化lambda值取的是0.005,最大 batch值為 200000,收斂閾值為 0.01,即當(dāng)訓(xùn)練集損失低于 0.01時(shí)視為完全收斂,并記錄此時(shí)模型收斂時(shí)間與batch數(shù).訓(xùn)練階段使用3個(gè)模型對(duì)相同的數(shù)據(jù)進(jìn)行訓(xùn)練與測(cè)試,本文提出的 ResNet-LSTM-Attention模型作為實(shí)驗(yàn)組,C3D和沒(méi)有Attention機(jī)制的ResNet-LSTM模型作為對(duì)照組.
表1 模型定義指標(biāo)Tab. 1 Model parameters
首先將數(shù)據(jù)訓(xùn)練 C3D模型,C3D模型損失率及準(zhǔn)確率變化如圖 8所示,其中橙色的線(xiàn)代表訓(xùn)練操作,藍(lán)色的線(xiàn)代表驗(yàn)證操作.在 C3D模型中,大約經(jīng)過(guò)3000個(gè)batch后模型開(kāi)始收斂,準(zhǔn)確率逐漸上升,損失逐漸下降.經(jīng)過(guò) 130000個(gè) batch后,訓(xùn)練集的損失收斂到 0.007左右,準(zhǔn)確率達(dá)到 1;驗(yàn)證集的損失收斂在1~3,準(zhǔn)確率達(dá)到0.55左右.
然后,使用 ResNet-LSTM 模型對(duì)同一數(shù)據(jù)集進(jìn)行訓(xùn)練和驗(yàn)證.ResNet-LSTM 模型損失率和準(zhǔn)確率變化如圖 9所示.在大約 2000個(gè) batch后開(kāi)始收斂,準(zhǔn)確率逐漸上升,損失逐漸下降.經(jīng)過(guò)200000個(gè)batch后,訓(xùn)練集的損失收斂到0.002左右,準(zhǔn)確率達(dá)到 1;驗(yàn)證集的損失收斂在 1.56左右,準(zhǔn)確率達(dá)到0.73左右.
最后,將同樣的數(shù)據(jù)驗(yàn)證本文提出的 ResNet-LSTM-Attention模型,由于Attention機(jī)制的引入,將圖像特征提取層和時(shí)序特征提取層分開(kāi)來(lái)看.圖像特征提取層損失率和準(zhǔn)確率變化如圖10所示.
圖8 C3D模型的損失率和準(zhǔn)確率變化Fig. 8 Loss change and accuracy change in C3D model
圖9 ResNet-LSTM模型的損失率和準(zhǔn)確率變化Fig. 9 Loss change and accuracy change in ResNet-LSTM model
在圖像特征提取層中,大約經(jīng)過(guò) 2000個(gè) batch后模型開(kāi)始收斂,準(zhǔn)確率逐漸上升,損失逐漸下降.經(jīng)過(guò)全部 200000個(gè) batch后,訓(xùn)練集的損失收斂到0.008左右,準(zhǔn)確率達(dá)到1,即對(duì)訓(xùn)練集的分類(lèi)全部正確;而對(duì)驗(yàn)證集的損失收斂到 1左右,準(zhǔn)確率達(dá)到0.75左右.
圖10 本文模型圖像特征提取層損失率和準(zhǔn)確率變化Fig. 10 Loss change and accuracy change in image feature extraction layer of the new model
經(jīng)過(guò)時(shí)序特征提取層后,損失率和準(zhǔn)確率變化如圖 11所示.在時(shí)序特征提取層,約經(jīng)過(guò) 7000個(gè)batch后模型開(kāi)始收斂,準(zhǔn)確率逐漸上升,損失逐漸下降.經(jīng)過(guò)200000個(gè)batch,訓(xùn)練集的損失收斂到0.09左右,準(zhǔn)確率達(dá)到0.96左右;對(duì)驗(yàn)證集的損失收斂到1左右,準(zhǔn)確率達(dá)到0.8左右.
上述實(shí)驗(yàn)結(jié)果表明ResNet-LSTM-Attention的網(wǎng)絡(luò)結(jié)構(gòu)最終對(duì)驗(yàn)證集可以達(dá)到0.8左右的準(zhǔn)確率,高于無(wú) Attention機(jī)制的模型 7個(gè)百分點(diǎn),并且遠(yuǎn)遠(yuǎn)高于經(jīng)典的 C3D模型,證明了本文提出方法的可行性.無(wú) Attention機(jī)制的模型相較于本文提出模型,雖然在訓(xùn)練集的損失較低,精度較高,但驗(yàn)證集卻全面落后,證明了其稍微出現(xiàn)過(guò)擬合現(xiàn)象,而本文模型由于Attention機(jī)制的加入,能夠更好提取重點(diǎn)特征,魯棒性加強(qiáng),驗(yàn)證集精度為所有模型中最高,表現(xiàn)最好.
從計(jì)算速度方面看,C3D 用時(shí) 348min,遠(yuǎn)高于ResNet-LSTM 模型(294min)和 ResNet-LSTMAttention模型(266min),后兩個(gè)模型雖同為2D卷積模型,但本文提出的具有注意力機(jī)制的模型用時(shí)比無(wú)注意力機(jī)制的模型少28min.
圖11 本文模型時(shí)序特征提取層損失率和準(zhǔn)確率變化Fig. 11 Loss change and accuracy change in time series feature extraction layer of the new model
本文提出了一種基于ResNet-LSTM-Attention網(wǎng)絡(luò)結(jié)構(gòu)的辦公人員行為智能識(shí)別方法,并通過(guò)實(shí)驗(yàn)對(duì)比證明了使用2D卷積神經(jīng)網(wǎng)絡(luò)ResNet結(jié)合LSTM進(jìn)行時(shí)序分類(lèi)要比 3D模型用時(shí)少,精度高;而注意力機(jī)制的加入使得模型魯棒性增強(qiáng),減少過(guò)擬合程度,并且訓(xùn)練用時(shí)和精度都有提升,論證了本文提出的方法具備一定的意義與價(jià)值.在后續(xù)的研究中,本文將針對(duì)復(fù)雜環(huán)境下(如光線(xiàn)不良、有遮擋等)的視頻數(shù)據(jù)進(jìn)一步提升方法的性能,可以通過(guò)在多種復(fù)雜環(huán)境下采集數(shù)據(jù)集用以擴(kuò)張訓(xùn)練集,同時(shí)通過(guò)對(duì)訓(xùn)練集進(jìn)行圖片增強(qiáng)的方式嘗試解決泛化能力不足的問(wèn)題.