李歲纏,陳 鋒
(中國科學技術(shù)大學 信息科學技術(shù)學院,安徽 合肥 230027)
近年來,基于視頻的車輛檢測在自動駕駛和交通視頻監(jiān)控領域得到了廣泛的應用。另一方面,基于深度學習的靜態(tài)圖像目標檢測也取得了重要的進展和突破。基于深度學習的圖像目標檢測算法可以分為兩類:基于單階段的算法[1-3]和兩階段的算法[4-6]。相比于兩階段算法,單階段算法具有更快的處理速度,因此更適合實時的應用,比如視頻車輛檢測。但是,將這些基于靜態(tài)圖像的目標檢測算法直接應用于視頻目標檢測,即將視頻幀進行獨立的處理時,并不能取得好的檢測結(jié)果。因為針對視頻進行目標檢測時,總會遇到運動模糊、視頻失焦等問題,而基于靜態(tài)圖像的目標檢測算法容易受這些問題的影響,得到比較差的檢測結(jié)果。
視頻中通常包含著目標的時間維度的信息,這些信息對視頻目標檢測具有非常重要的作用,而基于靜態(tài)圖像目標的檢測算法忽略了這些信息。如果能夠有效利用視頻包含的時間維度的信息,則可以有效解決運動模糊與視頻失焦等問題。比如,如果當前視頻幀中的目標出現(xiàn)模糊,那么就可以利用其鄰近幀的目標信息幫助對當前幀的檢測。因此,如何提取目標運動信息則是最關鍵的。最近,循環(huán)神經(jīng)網(wǎng)絡LSTM[7]由于其強大的記憶能力以及可以有效克服訓練神經(jīng)網(wǎng)絡時出現(xiàn)的梯度消失問題的優(yōu)點,被大量應用于解決時間序列問題,比如機器翻譯[8],并且取得了比較好的效果。
本文提出一種基于LSTM的單階段視頻車輛檢測算法,稱為M-DETNet。該算法將視頻看做一系列視頻幀的時間序列,通過LSTM去提取視頻中目標的時間維度信息。該模型可以直接進行端到端的訓練,不需要進行多階段的訓練方式[4-5]。利用DETRAC車輛檢測數(shù)據(jù)集[9]訓練該算法并進行驗證和測試,實驗結(jié)果表明該算法可以有效提升視頻車輛檢測的準確率。同時,將M-DETNet與其他典型的目標檢測算法進行了對比,實驗結(jié)果表明M-DETNet 具有更好的檢測準確率。
LSTM(Long Short-Term Memory)[7]屬于循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network, RNN),其最大特點是引入了門控單元(Gated Unit)和記憶單元(Memory Cell)。LSTM網(wǎng)絡單元如圖1所示。
圖1 LSTM單元示意圖
LSTM循環(huán)網(wǎng)絡除了外部的RNN循環(huán)外,其內(nèi)部也有自循環(huán)單元,即記憶單元。由圖1可以看出,LSTM具有3個門控單元,分別是輸入門g、忘記門f和輸出門q。門控單元和記憶單元s的更新公式如下:
(1)
(2)
(3)
(4)
其中,x(t)是當前網(wǎng)絡輸入向量,h(t)是當前隱藏層向量,b是偏置向量,U、W是權(quán)重向量,⊙表示逐元素相乘。
將普通RNN神經(jīng)網(wǎng)絡中的神經(jīng)元替換為LSTM單元,則構(gòu)成了LSTM網(wǎng)絡。
本文提出的模型M-DETNet如圖2所示。從圖2可以看出,M-DETNet由3個子模塊組成,分別為ConvNet模塊、LSTMNet模塊和FCNet模塊。設算法輸入視頻幀個數(shù)為K。ConvNet模塊首先對K個視頻幀分別處理,提取空間特征;空間特征作為LSTMNet的輸入,得到時間維度的特征信息;FCNet預測輸出最終的結(jié)果。
圖2 M-DETNet結(jié)構(gòu)圖
DarkNet-19[2]是一個應用廣泛的分類卷積神經(jīng)網(wǎng)絡,其包含有19個卷積層和5個池化層;相比于其他被廣泛應用的卷積網(wǎng)絡,如VGG-16[10], DarkNet-19的特點是需要學習的參數(shù)更少,并且執(zhí)行速度也更快。使用ImageNet數(shù)據(jù)集[11]訓練DarkNet-19,可以達到72.9%的top-1準確率和93.3%的top-5準確率。本文使用經(jīng)過在ImageNet上預訓練的DarkNet-19網(wǎng)絡,并去掉最后一個卷積層,作為空間特征提取主干網(wǎng)絡,稱為ConvNet。ConvNet對K個輸入視頻幀分別處理,提取豐富的空間特征。
LSTM模塊的主要作用是接收ConvNet產(chǎn)生的空間特征作為輸入,得到連續(xù)幀之間包含的時間維度的特征信息。由圖2可以看到該模塊由兩層雙向LSTM網(wǎng)絡組成,使用雙向LSTM的原因是便于使用當前幀對應的前序幀和后序幀的信息。普通的LSTM網(wǎng)絡的輸入通常為向量,而本文模型的LSTM網(wǎng)絡的輸入為特征圖。
普通的卷積分類網(wǎng)絡使用全連接網(wǎng)絡預測輸出,而本文模型的FCNet由全卷積網(wǎng)絡組成,即使用全卷積網(wǎng)絡產(chǎn)生最后的輸出,包括車輛的類別概率和矩形框的坐標。FCNet由3個卷積層組成,前兩個卷積層包含1 024個特征圖,卷積核的大小為3×3;最后一個卷積層的卷積核大小為1×1。
仿照YOLO[2],網(wǎng)絡不直接預測輸出包含有車輛的真實矩形框的坐標,而是預測真實矩形框相對于參考矩形框的偏移值,并參數(shù)化如下:
bx=σ(tx)+cx
(5)
by=σ(ty)+cy
(6)
bw=pwetw
(7)
bh=pheth
(8)
bc=σ(tc)
(9)
其中,(cx,cy)為參考矩形框所在特征圖單元(cell)的坐標;(pw,ph)為參考矩形框的寬和高;σ(·)為激活函數(shù),取值范圍為[0,1];(bx,by,bw,bh,bc) 是最終的結(jié)果。
使用帶動量項(momentum)的隨機梯度下降(Stochastic Gradient Descent,SGD)優(yōu)化方法訓練本文模型,動量項設置為0.9,訓練循環(huán)總次數(shù)(epoch)設置為80次。對于學習率,前60次循環(huán)時設置為0.001,之后將學習率降低為0.000 1。同時,為了增強模型的泛化能力,本文也做了數(shù)據(jù)增廣,包括隨機的裁剪和水平翻轉(zhuǎn)。訓練的batch大小設置為32。
由于內(nèi)存的限制,在訓練時選擇3個視頻幀作為網(wǎng)絡的輸入,即K=3。在相對于當前幀的偏移為[-10,10]的范圍內(nèi),隨機選擇前序幀和后序幀。對于第一幀和最后一幀,簡單地重復當前幀代表其前序幀或后序幀。
使用DETRAC車輛檢測數(shù)據(jù)集[9]驗證本文模型。該數(shù)據(jù)集包含有4種天氣場景(晴天、陰天、雨天和夜晚)下的視頻數(shù)據(jù),總計有14萬視頻幀,包含的車輛總計為8 250輛。為了驗證模型的有效性,設置了兩組實驗。第一組實驗在驗證集上比較了本文模型與YOLO[2],以說明本文提出的LSTM模塊的有效性;第二組實驗在測試集上將本文模型與其他典型的方法進行了比較。
如果本文模型去除LSTM模塊,則網(wǎng)絡結(jié)構(gòu)與YOLO[2]的結(jié)構(gòu)基本一致。為了驗證本文模型中LSTM模塊的有效性,在驗證集上對比了本文模型和YOLO。實驗結(jié)果如表1所示。
表1 M-DETNet與YOLO的比較結(jié)果 (%)
由表1可知,本文模型不管在4種天氣場景下的性能,還是平均性能均優(yōu)于YOLO。同時,在雨天和夜晚兩種場景下,本文算法性能相對于YOLO具有更大的提升,從數(shù)據(jù)集中可發(fā)現(xiàn)在雨天和夜晚,視頻幀更容易出現(xiàn)視頻模糊等問題。這些結(jié)果表明本文提出的LSTM模塊具有獲取時間維度特征的能力,能夠提升車輛檢測的準確率。
將M-DETNet與其他典型的算法在測試集上進行了比較,實驗結(jié)果如表2所示。由表2可知,相比于其他算法,本文模型在測試集上的平均準確率最高,達到了52.28%;本文模型在不同難易程度下均具有更好的檢測準確率。同時還可發(fā)現(xiàn),在夜晚和雨天,本文算法相對于其他算法的準確率提升比在晴天和陰天的提升更大。
表2 M-DETNet與其他算法的比較結(jié)果 (%)
在檢測速度方面,本文算法在GPU(1080Ti)上的檢測速度可以達到29 f/s,相比其他算法有很大的優(yōu)勢。
本文提出一種基于LSTM的視頻車輛檢測算法,該算法通過LSTM模塊提取視頻幀序列中包含目標的時間維度的信息,這些信息可以有助于克服視頻模糊等問題,進而提升檢測準確率。將本文模型與其他典型的算法進行了比較,實驗結(jié)果表明本文模型不僅具有更好的檢測準確率,而且有更快的檢測速度。為了更好地對模型進行測試,未來工作將在實際的應用中對模型進行測試和驗證。