緱新科 王 凱 吳宣言
(1.蘭州理工大學 蘭州 730050)(2.甘肅省工業過程先進控制重點實驗室 蘭州 730050)
早期的人體行為識別研究通常使用方向梯度直方圖HOG(Histogram of Oriented Gradients)[1]計算圖像中人體局部外形的方向梯度次數來描述行為特征,使用光流直方圖HOF(Histograms of Oriented Optical Flow)[2]以及稠密軌跡特征提取等方法描述相鄰視頻幀之間的局部時空特征變換。傳統行為識別算法之一的稠密軌跡特征采樣DT(Dense Trajectories)[3]通過在空間尺度對圖像特征進行劃分、采樣以及跟蹤之后形成特征軌跡,然后對特征進行編碼和表達,最近采用分類器對行為特征進行分類。改進稠密軌跡采樣IDT(Improved Dense Trajectories)[4]在稠密軌跡的基礎上對背景區域的光流軌跡進行了優化,以此消除背景帶來的干擾,并且將特征歸一化方式由L2 改成L1 后再對特征的每個維度開平方,進一步提升了識別準確率,該算法在深度學習出來之前被廣泛的應用。
隨著深度學習在計算機視覺領域應用逐漸廣泛,機器可以自動進行特征學習。應用卷積神經網絡CNN(Convolutional Neural Networks)[5~6]在行為識別研究方向上,能夠提取圖像中行為特征的語義信息,許多識別網絡都在CNN 的基礎上進行改進,并且在前者的基礎上取得了更好的驗證效果。為了提升網絡對長序列特征的表達能力,文獻[7]提出LRCN(Long-term Recurrent Convolutional Networks),首先使用CNN 提取和學習空間域特征信息,然后經過長短期記憶LSTM(Long Short Term Memory)網絡對行為特征進行分類。為了提取更多復雜序列的動態時序特征,提高行為識別精度,文獻[8]提出了長短期記憶網絡LSTM+RNN(Recurrent Neural Networks)模型,經過驗證效果顯著。文獻[9]提出了具有恒等快速連接特征的Resnet(Residue Neural Networks)卷積網絡,能夠較好地規避在神經網絡訓練時出現難以訓練的問題,對提升識別精度具有重要的作用。為了能夠關聯更多相鄰視頻幀之間的特征關系,文獻[10]提出雙流卷積融合(Two-Stream Neural Networks)模型,旨在學習相鄰視頻幀之間的光流特征,獲得關聯特征信息后與RGB 視頻幀的特征信息進行融合與分類,進一步提升了行為識別的精度。文獻[11]等提出基于TSN(Time Segment Neural Networks)片段的Inception 網絡,通過并列延伸不同網絡分支達到多尺度特征維度的提取和融合的目的,使得提取到的特征信息更加全面,有利于提升識別效果。文獻[12]等提出的注意力機制網絡SE-Net(Squeeze and Excitation Neural Networks)能夠更好地捕捉到底層行為特征信息。
為了進一步掌握具有連續時空性質的人體行為特征關系,文獻[13]系統性的將時間維度與二位空間維度進行融合,以此實現對連續視頻幀的特征提取作用,提出了三維卷積神經網絡C3D(Three Dimensional Convolutional Neural Networks)。此外,Tran 等在三維卷積的基礎上對網絡模型進一步進行結構改造和優化,提出了3D-Resnet 網絡,再一次提升了網絡的識別精度。文獻[14]通過維度擴展給卷積核與池化核增加時間維度,并且將其應用到一個新的模型I3D(Three Inception Dimensional Convolutional Neural Networks),使得網絡性能得到了巨大提升。但是三維卷積網絡的層數加深并不會一直增加識別精度,反而由于參數量的增加容易使得訓練網絡難以收斂。文獻[15]基于3D-Resnet網絡提出了先對網絡進行維度分解,再合并的P3D(Three Dimensional Pseudo Convolutional Neural Networks)網絡模型,通過在空間網絡維度上增加時間維度,不僅減少模型的參數計算量,同時也對網絡模型的空間表達能力起到了較好的優化作用。
本文采用基于雙流P3D-Resnet(Three Dimensional Pseudo Residual Neural Networks)網絡的行為識別模型,將RGB視頻幀和光流幀分別輸入到P3D網絡中,并且在網絡的底層加入注意力機制。提取更多的人體行為特征,在減少網絡模型參數量的情況下,提高網絡計算能力。在UCF101 數據集上進行訓練與驗證,取得較高的識別精度。
光流(Optical flow)由Horn,Schunck[16]等提出,它是指空間運動物體在觀察平面上相對背景產生的像素位移變化。近年來的光流計算方法主要有Lucas-kanade、TV-L1[17]以及基于深度學習的Flownet2.0[18],通常用平均角誤差和平均端點誤差作為衡量算法性能的標準。本文假設像素點在運動時保持亮度不發生變化的前提下通過光流提取人體運動過程中的動態信息。考慮到用TV-L1 算法計算得到的平均角誤差?aae和平均端點誤差?eea所花費的時間較短,且效果理想。本文選用TV-L1算法進行光流幀的計算,其光流模型:

設I(x,y,t)表示圖像中的某一個像素點,當其產生位移時,即從時刻t→t+Δt時,產生位移為(x+Δx,y+Δy),假設亮度保持恒定,則有:

將公式的右邊進行泰勒展開,得到式(3):

消除I(x,y,t),并且忽略高階項Θ(Δt2)。式(3)兩邊同時對Δt求導,得到光流的約束方程,其中:

上式(u,v)即為I(x,y,t)的光流。
在卷積計算過程中,卷積層中連續層之間的特征map結合多組相鄰的視頻幀之后,對其連續的運動特征信息進行表達[19]。三維卷積的運算模塊被描述為C(n,m,d),可表示成輸入尺寸n×n×n的卷積層與d個尺寸為m×m×m的特征圖。三維卷積計算公式如式(1)所示,計算第i個卷積層里面第j個特征圖中(α,β,γ)位置處的輸出形式:
無論是PBL教學法、TBL教學法、虛擬現實教學法還是標準化病人教學法,都有著優勢與不足。但是即使教學模式產生了巨大變化,它的根本目的也不會改變,就是讓學生在最少的時間里最大程度的掌握醫學知識和臨床實踐技能。為了達到這種目的,教師在課堂上也可以嘗試將幾種教學方法相結合,實現優勢互補。

式中,f表示在第i-1層與第i層第j張特征圖相連的特征圖數量。是第(p,q,r)個特征內核的權重,bij為對應特征映射圖的偏置,tanh 為卷積網絡的激活函數,通過網絡訓練可得到網絡權重以及偏置。
在三維殘差網絡結構的基礎上,將殘差網絡維度先分解為空間維度,后與時間維度相合并,即P3D(Three Dimensional Pseudo Convolutional Neural Networks)網絡,P3D 網絡不僅能夠減少模型參數計算量,同時能夠提升網絡的優化能力。如圖1所示的三種網絡結構P3D-A、P3D-B、P3D-C。在訓練網絡時,將這三種結構進行串聯連接。

圖1 P3D-Resnet三種網絡結構圖
為了表達建模特征通道間的關系,通過自主學習的方式獲知每個特征通道的重要程度。本文將注意力機制引入到卷積神經網絡中。SE-Net(Squeeze and Excitation Neural Networks)嵌 入Resnet網絡的結構中,如圖2所示。

圖2 SE-Net注意力機制網絡結構圖
在殘差模塊之后建立分支,使用global average pooling 對特征通道進行Squeeze 操作提取全局信息,然后將兩個全連接層組成一個Bottleneck 結構去建模通道間的相關性,保持輸出特征權重的數目與輸入相同[12]。對網絡進行特征降維,將特征維度降低到輸入的,c表示該網絡層特征維度,s表示該網絡層的降低倍數。

式(7)中,H、W分別代表圖像的高和寬,uc(i,j)代表在(i,j)處的特征。同理我們可以得出在三維卷積神經網絡中的Squeeze操作表達式:

式(8)中,H、W、L分別代表圖像的高和寬以及時間維度,uc(i,j,k)則代表在(i,j,k)處的特征。網絡經過Relu 激活后通過一個全連接層進行特征升維,升回到網絡的原維度,并通過一個Sigmoid的門操作獲得0-1 之間歸一化權重,具體公式如式(9)所示,σ和δ分別表示Relu和Sigmoid激活函數。


本文采用基于雙流P3D-Resnet 網絡的人體行為識別框架。整體網絡結構如圖3所示,將RGB視頻幀與Flow 光流幀作為輸入,分別輸入到P3D-Resnet 網絡中訓練,將P3D 網絡與注意力機制在底層相結合,獲取更多的底層空間維度的特征信息。以Resnet50 殘差網絡為網絡基礎,包括5 個卷積層,1 個全連接層,以及一個對視頻中行為進行分類的Softmax 層,卷積層后面有一個歸一化層和Relu 激活層。本文采用最大值池化方法,其卷積核大小為3×3×3,步數為2。在網絡的前30 層加入注意力機制。將雙流網絡分類的結果進行Softmax 融合,并使用交叉熵函數計算模型的損失函數。

圖3 基于雙流P3D-Resnet網絡算法框圖
對于不同結構的P3D-ResNet,在空間尺寸大小為182×242 的視頻幀中隨機裁剪大小不重疊的16幀作為輸入視頻幀,即16×160×160,并且通過隨機水平翻轉的方式對輸入視頻幀進行數據增強。如 表1 所 示,將3D-Resnet50、P3D-Resnet50、P3D-Resnet50+SE三種網絡結構進行比較。

表1 3D-Resnet50、P3D-Resnet50、P3D-Resnet50+SE三種網絡結構
本文使用公開數據集UCF101[20],樣本來自Youtube 視頻網站。此數據集包括有101 種行為類別共13320 個視頻樣本,每個視頻大約有150 個視頻幀,視頻幀的空間分辨率在320×240。選取樣本中70%作為此次實驗的訓練集,選取剩余30%作為驗證集。行為類別可以分為4 種類型:1)人和人互動;2)體育活動;3)演奏樂器;4)人與物體互動。在使用數據集時,將視頻幀進行水平翻轉、縮放以及整體旋轉等操作擴展數據集,防止網絡過擬合。
1)計算機系統:Windows10 專業版,8G 內存;2)CPU 型號:AMD A8-6500 APU with Radeon HD Graphics;3)GPU 版 本:Nvidia GeForce GTX1080,8G 顯存;4)網絡框架:Tensorflow,Tensorflow-Gpu版本:1.14.0,Opencv-python版本:3.4.2;5)Cuda版本:10.0.130,Cudnn版本:7.6.4。
將視頻幀及其x,y方向上的光流幀灰度圖像輸入訓練網絡,由于光流幀與視頻幀的通道數不同,在訓練前分別對卷積網絡通道進行調整。網絡訓練采用SGD 小批量隨機梯度下降法,權值衰減率weight decay 為0.0005,dropout 層的丟失率設置為0.5,初始學習率learning rate 為0.001,每訓練5 個epoch 后學習下降5 倍,SE-net 注意力機制網絡的維度下降倍數S設置為16,epoch設置為25。
圖4 展示了本文模型在UCF101 數據集上的訓練與驗證結果,accurary 為本次實驗的訓練精度,val_accurary 為驗證精度。本文驗證精度達到了94.3%,能夠對人體行為識別起到提高作用。圖5展示了本文模型訓練的損失函數,損失函數下降比較明顯,體現出了本文網絡能夠有利于進行人體行為識別。

圖4 雙流P3D-Resnet卷積網絡識別結果

圖5 雙流P3D-Resnet卷積網絡損失函數
通過表1,可得到三種網絡性能的對比,并得到模型大小。如表2 所示,P3D-Resnet+SE 網絡的參數量較3D-Resnet 網絡的參數量小,較P3D-Resnet 網絡的參數多。在實際訓練中,P3D-Resnet+SE 網絡能夠提取到更多的底層特征,提高卷積神經網絡的識別能力,其實驗結果較3D-Resnet、P3D-Resnet好,有較好的識別能力。

表2 3D-Resnet、P3D-Resnet以及P3D-Resnet+SE三種網絡性能對比
表3 顯示本文網絡與當前一些主流網絡進行對比。本文結合Two-stream P3D Resnet實驗,將注意力機制加入到Resnet50 網絡的底層網絡。獲得了較好的實驗效果。下一步將會將注意力機制與整個Resnet神經網絡進行結合,在擴充網絡結構的基礎上,避免網絡產生更多的模型參數。不斷進行實驗,得到更高效的識別結果。

表3 本文模型與其他主流網絡識別結果對比 單位:%
本文提出的對雙流P3D-Resnet 網絡進行網絡改進并在UCF101 數據上進行訓練,旨在學習深度網絡的時空特征表示。將三維殘差卷積神經網絡用一個二維卷積網絡和一個一維卷積網絡替換,并且在網絡中加入注意力機制,使網絡能夠學習到更多的底層特征,提高網絡的準確率。本文分別將RGB 視頻幀與Optical flow 光流幀輸入到網絡進行學習,將雙流網絡識別結果進行融合后得到更好的結果。通過與其他的網絡模型進行對比得出結論,將注意力機制與P3D-Resnet 網絡結合對卷積網絡人體行為識別效率有提高作用。下一步,將在更深層的卷積神經網絡中進行實驗。