竇雪婷
(上海工程技術大學 上海 201600)
隨著汽車數量的增加及交通事故的頻發,汽車輔助駕駛系統得到廣泛關注,行人作為交通道路的重要參與者,正確理解車輛前方行人行為動作并做出相應的預警措施,可保護行人安全,減少交通事故的發生[1~2]。行人行為識別技術已成為車輛輔助駕駛及自動駕駛系統進行判別危險、決策駕駛的重要依據,通過分析判斷行人動作做出不同的應對措施,對交通道路安全的改善及交通行駛效率的提高具有重要意義[3]。因此,建立快速、有效的行人行為識別算法滿足車輛輔助駕駛系統的技術需求刻不容緩。
行人行為識別方法主要有傳統行為識別方法和基于深度學習的識別方法兩種[4]。傳統行為識別方法分為基于時空興趣點和基于人體幾何特征兩種,但僅適用于簡單場景下的動作分類。目前的主流識別方法為基于深度學習的行為識別方法。由于卷積神經網絡在語音及圖像識別方面的成功運用,近幾年提出了眾多基于卷積神經網絡的行人行為識別的方法研究。Alex Krizhevsky等[5~8]分別利用卷積神經網絡模型AlexNet、GoogLeNet、VGGNet、ResNet對圖像及視頻進行分類,取得較好的效果。但由于僅考慮卷積神經網絡會忽視圖像幀的連續性問題,在基于深度學習的識別方法中,一般采用循環神經網絡中的長短時記憶網絡解決視頻中連續幀間的關聯性問題,Zhu等[9]提出一種端到端全連接的長短時記憶網絡用于基于人的行為識別技術;Donahue等[10]初次將卷積神經網絡與長短時記憶網絡進行結合并應用于視頻識別技術;Du W等[11]將兩種網絡結合并采用雙流網絡分別提取時間及空間兩個維度的特征進行人的行為識別,達到很好的識別效果。但大多數行為識別方法忽視了對視頻流運動目標預處理的重要性,其在一定程度上可提高行為識別的精度。
綜上所述,基于卷積神經網絡與循環神經網絡相結合進行行為識別的方法,本文利用基于光流處理的ResNet-LSTM網絡模型進行行人行為識別。為得到行人的運動信息,對視頻幀進行稠密光流處理得到堆疊光流圖像數據后,利用ResNet神經網絡提取圖像特征并做矢量化處理,獲得相應維度的特征序列數據后輸入長短時記憶網絡進行時間序列分析。將原始視頻中的圖像連續幀數據輸入融合模型中進行訓練,獲得訓練模型及權重,并用于行人的行為識別分類。
本文識別模型的前期視頻流的預處理采用稠密光流處理,殘差網絡為ResNet50結構,在對圖片序列幀進行特征提取的基礎上刪除其全連接層并加入LSTM網絡對特征做時序分析,最終利用Softmax分類器進行分類識別。圖1為本文流程結構圖。

圖1 整體流程結構圖
本文利用幀間的光流作為視頻分類的特征,光流是空間運動物體在觀察成像平面上的像素運動的瞬時速度,利用圖像序列中的像素在時間域上的變化以及相鄰幀間的相關性得到上一幀與當前幀之間的對應關系,進而計算出相鄰幀間物體的運動信息。光流是由于場景中前景目標本身的移動、相機的運動或兩者共同運動而產生,利用圖像序列中的像素強度的時域變化和相關性確定各像素位置的“運動”,其目的為從圖片序列中得到近似運動場[12]。本文采用稠密光流TV-L1獲取行人動作的有序光流圖,并將視頻序列幀尺寸擴充為224×224的像素大小,稠密光流TV-L1能夠計算出相鄰幀圖像上所有點的光流,解決稀疏光流易受背景運動影響以及精度不高的問題,獲取更精準的結果。圖2為某行走動作連續序列幀經過稠密光流處理后的特征圖。

圖2 行走動作經光流處理的特征圖
卷積神經網絡由輸入層、卷積層、池化層、全連接層及輸出層組成,其中卷積層是卷積神經網絡的重要組成部分,對輸入的圖像數據進行特征提取,卷積層中每個節點的輸入為上一層神經網絡的一部分;池化層對卷積層輸出的特征圖進行特征選擇和信息過濾;全連接層位于卷積神經網絡的最后部分,主要實現分類功能。本文采用的卷積神經網絡為ResNet 50結構,其加入的殘差學習思想,一定程度上解決了傳統卷積神經網絡信息丟失、損耗的問題,直接將輸入信息繞道傳入輸出,在確保信息完整的前提下簡化學習難度。殘差模塊如圖3所示。

圖3 ResNet 50網絡的殘差學習模塊
圖3中,F=W2σ(W1X),其中σ代表非線性函數Relu,W代表權重。最終輸出y:y=F(X,{Wi})+X。圖4為某跑步動作連續序列幀經過ResNet 50網絡處理后的特征圖。

圖4 ResNet 50網絡處理后的特征圖
該網絡模型能夠逐層更深地表征更多方面的特征并簡化深層模型,加入的直連通道既不會產生額外的參數也不會增加計算的復雜度,將各輸出添加到疊加層輸出。為加快計算速度,優化殘差塊,將兩個3×3的卷積層替換為1×1+3×3+1×1,如表1所示。替換結構中的3×3卷積層首先在一個降維1×1卷積層下減少運算,然后在另一個1×1的卷積層下進行還原,達到精度不變的前提下減少計算量,該網絡的輸入數據為利用稠密光流法得到的有序光流圖,表1為網絡結構。

表1 Resnet 50網絡結構
傳統的循環神經網絡[13~14]由于存在梯度消失和梯度爆炸問題,對持續時間較長的行為無法做到準確識別。而LSTM作為循環神經網絡的一種,通過使用門機制有效解決了此問題,在連續序列的預測方面應用廣泛。將前期經過ResNet網絡處理后得到的矢量特征輸入到LSTM中,把前期信息與當前任務連接,利用之前時刻視頻幀的狀態判斷當前幀的行為,能夠在更長的時間尺度上建立關聯信息間的依賴關系。長短時記憶單元為關鍵部分,包括輸入門、輸出門、遺忘門,其記憶單元如圖5所示。對于序列幀長度為N的特征序列δ=(δ1,δ2,…,δn),標準LSTM單元按時間順序從t=1-n進行計算[15]。

圖5 記憶單元
其計算公式如式(1)~(6)所示。
遺忘門決定細胞單元中需要遺忘的信息,并將一個0~1之間的數值輸入到輸入門,計算公式為

式中,ht-1為上一個細胞的輸入;δ為ResNet的輸出即LSTM當前細胞的輸入;tanh為神經元的激活函數;σ為sigmoid函數;ω為權重系數;δ表示當前層的輸入;b為偏置向量。
細胞單元中存放的信息由輸入門決定,分為三步,計算公式為

LSTM的最終輸出為輸出門,先利用σ決定更新再與tanh確定的新候選值相乘獲得最終輸出,計算公式為

將數據集中的視頻數據剪輯為視頻序列幀,在對各幀圖片進行光流處理后把尺寸由180×144擴充為224×224,再將序列幀圖片輸入融合模型中,其卷積網絡的輸入數據規模為50×224×224×3。50為輸入視頻序列長度,224×224為單張圖片大小,3為圖片通道數。
融合模型的卷積神經網絡部分由五個卷積層組成。第一個卷積層的尺寸為7×7,步長為2;第二個卷積層尺寸分別為1×1、3×3、1×1,步長為2,池化層尺寸為3×3;個數分別為3;第三、四、五個卷積塊的卷積層尺寸分別為1×1、3×3、1×1,步長為2;個數分別為4,6,3。為了保證模型的非線性,每個卷積層后面都有一個非線性激活函數Relu,本模型的最后由于刪去了全連接層,最終的輸出特征維度為長×寬×特征圖數量,是一個立方體特征,故利用展開層將其化為矢量特征后才能輸入進LSTM網絡中[16]。數據經處理后輸入LSTM中,LSTM按時序做遞歸運算,每次遞歸運算的結果是前面所有特征和當前特征的融合。
將提取出的長段視頻圖片數據剪輯為多幀的序列長度后,進行稠密光流處理再擴充像素尺寸等預處理,將預處理數據輸入到卷積神經網絡中得到矢量化特征后輸入長短時記憶網絡中進行分析,最終Softmax分類器將連續各幀訓練得到的預測標簽進行概率平均處理,Softmax用于多分類過程中,它將多個神經元的輸出,映射到(0,1)區間內,從而進行多分類,用于最終的人體行為識別任務。
Weizmann數據庫包含了十個動作,每個動作有九個不同的樣本,其視頻的視角固定,符合實際場景。本文主要針對交通環境過程中行人的常見行為即行走、奔跑、彎腰、和揮手進行有效識別,所有視頻都是由分布在水平視角上靜止的攝像機拍攝,分辨率為180×144。原始視頻數據經過前期預處理后分為訓練集和測試集兩部分。其中,訓練集用于建立模型和調整參數,測試集用于測試模型的識別精度。圖6~圖9分別為各動作的連續視頻幀。

圖6 彎腰動作視頻幀

圖7 揮手動作視頻幀

圖8 奔跑動作視頻幀

圖9 行走動作視頻幀
對四種行為動作進行圖像幀的提取后,隨機選取各動作樣本連續的50幀圖像作為后續處理的基礎,進行稠密光流處理后,將圖片尺寸統一調整為224×224像素大小,訓練過程中七個樣本的動作數據作為訓練數據,剩余兩個樣本的動作數據作為驗證數據。
深度學習模型主要選擇的參數有優化方法、學習率、激活函數、損失函數等。優化方法主要從Adam、SGD、RMSprop等函數中選擇、學習率的取值主要從0.0001,0.001,0.01,0.1等數值中選擇、激活函數主要從relu,tanh等函數進行實驗選取,其余參數為默認值,其中損失函數采用交叉熵損失函數,通過多組實驗對比得到,最終模型中參數的選擇如表2所示,可確保模型效果達到最佳。

表2 模型參數選擇
為驗證本文模型的有效性,采用在相同的實驗環境下,相同的數據集以及相同的數據量,對測試集中的動作視頻隨機選取連續的50幀進行測試,并分別對CNN-LSTM模型、ResNet模型、未經光流處理的ResNet-LSTM融合模型以及本文的基于光流處理的ResNet-LSTM融合模型進行行為識別的對比實驗。對比實驗采用相同的圖像數據作為輸入,對比結果如圖10和表3所示。

表3 與其他模型算法準確率對比

圖10 各網絡模型訓練損失圖
圖10為損失變化圖,從對比圖中可清晰直觀地比較各個模型的損失與精度之間的差異。損失函數為交叉熵損失函數,主要用于相互排斥的分類任務中,從圖10中可以看出,在訓練過程中基于光流處理的ResNet-LSTM融合模型在迭代100次左右已趨向穩定,趨于穩定的速度明顯優于其他模型,且其損失值比其他三種模型更小。CNN-LSTM模型在訓練過程中的損失較大且趨于穩定的速度明顯慢于其他模型且穩定后波動較大;其余三種模型損失下降過程中波動較小。
表3為對Weizmann數據集進行行為識別的準確率與其他模型的識別準確率對比表,經過訓練以后,利用得到的訓練權重對測試集數據進行預測,根據表3中看出識別準確率由低到高依次為ResNet、CNN-LSTM、ResNet-LSTM、本文基于光流處理的ResNet-LSTM融合模型。基于光流處理的ResNet-LSTM算法的網絡模型識別準確率要高于其他三種類型,主要原因是對特征進行了前期光流處理以及LSTM網絡對視頻進行的時間序列分析,故基于光流處理的ResNet-LSTM算法模型有效提高了行為識別的準確率。
通過基于光流處理的ResNet-LSTM網絡模型進行行人過街行為識別。在對視頻幀進行稠密光流處理后,利用卷積神經網絡提取圖像特征,采用長短時記憶網絡對行人過街行為分析時間序列,最終進行行人的行為識別分類,模型表現出較好的識別效果。為評估新模型的性能,分別在不同模型上利用Weizmann數據集進行訓練與測試,結果表明基于光流處理的ResNet-LSTM算法模型的測試識別率達到99.46%并優于其他三個模型。但由于本文未對實際交通環境下的行人過街行為進行對比測試,下一步將對復雜環境下的多人場景進行行人過街行為識別。