王 晨,周 威,章世祥
(1.東南大學,交通學院,南京 211189;2.華設集團股份有限公司,南京 210014)
交通事故可能導致財產(chǎn)損失和人員傷亡,并且可能引發(fā)交通擁堵,給交通應急管理帶來極大的挑戰(zhàn)[1,2]。為了有效提高事故應急處置的響應速度,減少由于救援不及時導致的人員傷亡和交通擁堵,研究交通事故的快速檢測技術(shù)具有重要的現(xiàn)實意義。近年來,基于計算機視覺的交通事故檢測逐步得到了研究者的重視,其主要原理是通過識別視頻中的重要事故特征來實現(xiàn)對交通事故的自動檢測。該技術(shù)可以有效降低人力成本,并已經(jīng)取得了較高的檢測精度[3~5]。因此,基于視頻的事故檢測技術(shù)具有重要的研究價值。
現(xiàn)有研究主要根據(jù)捕捉視頻中的事故特征實現(xiàn)事故判別,該特征主要包括事故外觀特征和運動特征。事故外觀特征來源于事故發(fā)生后的車輛形變、非機動車或者行人摔倒等區(qū)別于正常行駛狀態(tài)下的特征;事故運動特征需要在一段時間內(nèi)連續(xù)觀測獲得,主要包括軌跡的交叉滯留、周圍行人的聚集等特征。研究方法按事故特征提取方式主要分為:基于運動特征的方法和基于特征融合的方法。
基于運動特征的方法主要利用傳統(tǒng)圖像處理方法(如背景減除法[3,6~8]、稠密光流[9]、光流梯度[10]等)或深度學習方法(目標檢測[11]、分割[12]等)實現(xiàn)車輛運行信息的提取(如加速度、位置、方向等),接著根據(jù)提取的運動信息設定事故判別規(guī)則,實現(xiàn)事故的檢測。該類方法僅使用了運動特征作為事故判別依據(jù),并未考慮事故外觀信息,因此事故檢測精度有限。近年來,基于特征融合的事故檢測方法逐漸成為主流。一些研究主要采用三維卷積網(wǎng)絡[13]、時空自編碼器[14]或者雙流神經(jīng)網(wǎng)絡[15]等同時捕捉事故外觀和運動特征,因而獲得了較高的檢測精度。另外一些研究[16]通過檢測異常的交通參與者(如摔倒的行人、側(cè)翻的車等),并根據(jù)其運動規(guī)律設定相應判別規(guī)則,進而實現(xiàn)事故檢測。然而,復雜的交通場景往往包含一些事故判別無關(guān)的外觀特征(如道路、路側(cè)房屋等,記作事故無關(guān)外觀特征),以及一些事故判別相關(guān)的外觀特征(如交通參與者位置與狀態(tài),記作事故相關(guān)外觀特征)。在不進行特征篩選的前提下,這些融合特征提取網(wǎng)絡因場景復雜、特征過多而難以收斂,并且這些模型因參數(shù)較多,難以保證事故檢測的速度。因此,如何設計一個有效平衡檢測精度與速度的事故檢測模型成了本文的主要研究問題。
針對該研究問題,本文提出了一個基于特征融合的雙階段事故檢測框架。該框架由外觀特征篩選網(wǎng)絡和融合特征提取網(wǎng)絡兩部分組成。其中,外觀特征篩選網(wǎng)絡使用殘差網(wǎng)絡來提高事故相關(guān)外觀特征的篩選速度。為了進一步提高殘差網(wǎng)絡對事故相關(guān)外觀特征的篩選能力,研究提出了一種事故注意力模塊,該模型由通道注意力模塊與空間注意力模塊并聯(lián)而成。融合特征提取網(wǎng)絡由輕巧的、按時序排列的Conv-LSTM 模塊構(gòu)成,實現(xiàn)外觀特征的微調(diào)和運動特征的提取。該檢測框架的提出有望在有限算力的條件下平衡視頻事故的檢測精度和速度,從而在實際中得以應用。
復雜交通場景下的一些事故無關(guān)外觀特征(如道路、路側(cè)房屋等)直接輸入到融合特征提取網(wǎng)絡中會產(chǎn)生冗余計算,從而導致模型難以收斂,因此,本文的基本思路是:先篩選事故相關(guān)外觀特征,再提取融合特征,進而加速模型收斂。如圖1所示,該網(wǎng)絡主要包含兩部分,分別為外觀特征篩選網(wǎng)絡和融合特征提取網(wǎng)絡。首先,研究提出了嵌入事故注意力模塊的外觀特征篩選網(wǎng)絡,并利用事故圖像數(shù)據(jù)集進行預訓練,使得訓練模型具備忽略事故無關(guān)外觀特征而側(cè)重事故相關(guān)外觀特征的能力。接著,事故相關(guān)外觀特征被輸入到按時間方向連接的Conv-LSTM 網(wǎng)絡中,實現(xiàn)外觀特征的微調(diào)和運動特征的提取(如車輛驟停、行人聚集等)。最終,研究基于提取的融合特征實現(xiàn)事故檢測。
圖1 基于特征融合的事故檢測模型框架
研究采用嵌入注意力模塊的殘差網(wǎng)絡為事故外觀特征篩選網(wǎng)絡。殘差網(wǎng)絡ResNet提出于2015年[17],采用殘差模塊(見圖2)進行堆疊,實現(xiàn)了更深的網(wǎng)絡結(jié)構(gòu)以及更強的表達能力。其中,殘差模塊使用跳躍連接結(jié)構(gòu),有效保證了信息傳輸?shù)耐暾?。? 展示了現(xiàn)有常見殘差網(wǎng)絡的運算參數(shù)與其在ImageNet數(shù)據(jù)集(驗證集)上錯誤率的對應關(guān)系。本文權(quán)衡模型大小和檢測精度,選擇了ResNet50作為基礎的事故外觀特征篩選網(wǎng)絡。
表1 常見殘差網(wǎng)絡的運算參數(shù)與其在ImageNet數(shù)據(jù)集(驗證集)上錯誤率的對應關(guān)系
圖2 殘差模塊結(jié)構(gòu)圖
目前,部分研究[18-19]表明視覺注意力機制能夠加強卷積神經(jīng)網(wǎng)絡的特征篩選能力。為了進一步增強殘差網(wǎng)絡的特征篩選能力,本研究基于注意力機制,創(chuàng)新性地提出了一種事故注意力模塊(圖3)。該模塊由兩個注意力分支構(gòu)成,分別為通道注意力分支與空間注意力分支。通道注意力[18]可以通過賦予事故特征高權(quán)重從而增強該類特征的識別能力;空間注意力[19]可以根據(jù)事故特征的空間分布實現(xiàn)快速定位能力。兩者的結(jié)合可以有效地提升模型對于事故相關(guān)外觀特征的篩選與定位能力。
圖3 事故注意力模塊
在特征圖中,每個通道代表了一類特征,通道注意力模塊能夠從輸入特征圖中學習到一種通道權(quán)重,這種通道權(quán)重將賦予特征圖中不同通道以不同的權(quán)重,因此具有特征選擇能力。具體地,通道注意力分支按通道維度采用全局平均池化操作,將輸入X轉(zhuǎn)換為U。接著將輸出U經(jīng)過一個權(quán)重為W的全連接層和一個softmax激活層(即圖上的K1),輸出注意力權(quán)重V。最后,將獲得的注意力權(quán)重V與原始輸入X按位相乘,調(diào)整輸入特征圖中各通道特征的權(quán)重,獲得特征輸出Y1。具體過程如下式所示:
式中:F1為全局平均池化;K1為全連接層和激活層;M1為按位相乘操作,“·”為矩陣點積運算;X為原始輸入;U為輸入通過全局平均池化后的輸出;V為通道注意力權(quán)重;Y1為通道注意力分支的特征輸出。
同理,空間注意力模塊能夠從輸入特征圖中學習到一種按空間分布的權(quán)重,這種權(quán)重能夠賦予不同空間位置以不同的權(quán)重,因此具有空間特征的定位能力。具體地,空間視覺注意力模塊先是沿著通道對輸入X進行最大池化和平均池化操作F2,獲得網(wǎng)絡輸出US,如下式所示:
式中:F2為最大池化和平均池化操作;US為輸入X進行最大池化和平均池化操作的輸出。
接著,使用1×1 卷積層(參數(shù)為Wc)將雙層特征圖US轉(zhuǎn)為單層特征圖,并使用softmax激活函數(shù)將獲得的單層特征圖轉(zhuǎn)為空間注意力權(quán)重VS,如下式所示:
式中:K2為1×1卷積(參數(shù)為W)和softmax激活運算;VS為獲得的空間注意力權(quán)重分布。
最后,空間注意力權(quán)重VS和輸入X進行加權(quán)求和,調(diào)整模型對輸入X不同空間位置的重視程度,如下式所示:
式中:M2為按位相乘運算函數(shù);“·”是矩陣點積運算;Y2為空間注意力分支的特征輸出。
通道注意力分支的特征輸出Y1和空間注意力分支的特征輸出Y2提取完畢后,模塊將這兩個輸出按照特征維度進行堆疊,形成該注意力模塊的最終輸出[Y1,Y2]??梢姡臻g注意力模塊賦予了圖片中不同區(qū)域不同權(quán)重,有望提升ResNet50 網(wǎng)絡快速定位事故發(fā)生區(qū)域的能力。
外觀特征篩選網(wǎng)絡利用賦予事故相關(guān)特征較大權(quán)重的方式實現(xiàn)相關(guān)特征的篩選。該篩選的事故相關(guān)外觀特征主要包括一些交通參與者(如機動車、非機動車、行人等)的位置信息及外觀信息(如車輛的形狀、是否受損等)。該相關(guān)特征作為后續(xù)融合特征提取網(wǎng)絡的輸入,可以有效降低該網(wǎng)絡因處理龐大的無關(guān)特征而造成訓練收斂等問題。本文選用卷積長短時間記憶網(wǎng)絡Conv-LSTM[20]作為融合特征提取網(wǎng)絡,該網(wǎng)絡能夠同時捕捉監(jiān)控視頻流中的事故外觀特征和運動特征。
Conv-LSTM 模塊是一種可以同時捕捉多維度特征的時空序列模型,其結(jié)構(gòu)如圖4所示。相比于傳統(tǒng)LSTM 網(wǎng)絡,該網(wǎng)絡無需對數(shù)據(jù)進行鋪平操作,有效地緩解因數(shù)據(jù)鋪平而導致外觀信息損失的問題。
圖4 Conv-LSTM模塊結(jié)構(gòu)圖
Conv-LSTM 模塊首先將輸入沿著通道維進行堆疊,并引入了一維卷積對堆疊后的輸入進行卷積運算,即:
式中:χt和Ht-1為Conv-LSTM 模塊的輸入;[χt,Ht-1]為輸入χt和Ht-1按通道維堆疊后的結(jié)果;函數(shù)F為1×1 卷積運算;[Yf,Yi,Yg,Yo]為輸入[χt,Ht-1]通過1×1卷積層的四個輸出的集合。
接著對[Yf,Yi,Yg,Yo]分別使用softmax激活函數(shù)得到[ft,it,gt,ot],即:
式中:σ(.)為softmax激活函數(shù);[ft,it,gt,ot]為[Yf,Yi,Yg,Yo]經(jīng)過softmax激活函數(shù)的輸出結(jié)果。
最后通過門控操作獲得時間步t時Conv-LSTM模塊的輸出,如式(7)和(8)所示:
式中:Ct-1為時間步t-1 時Conv-LSTM 模塊的輸出;Ct和Ht為時間步t時該模塊的輸出。
本研究的所有實驗均在單個計算機上進行。該計算機配置如下:采用Ubuntu 20.04 操作系統(tǒng);CPU 型號為Intel(R)Core(TM)i7-8700@3.20GHz;GPU 的型號為NVIDIA GeForce RTX 2070(8GB);事故檢測框架的代碼由Python=3.7.4 書寫,由Pytorch1.6 深度學習框架實現(xiàn)。為降低深度學習算法隨機性,本文所有實驗的結(jié)果為五次訓練取平均的結(jié)果。本文的代碼現(xiàn)已開源①代碼鏈接為:https://github.com/vvgoder/ResNet_ConvLSTM。
本研究借鑒以往研究中已經(jīng)開源的視頻事故數(shù)據(jù)庫[21],并通過網(wǎng)絡、交警部門等多方渠道進行數(shù)據(jù)收集。其中,開源數(shù)據(jù)集共包含1 416 段事故視頻段,平均每段視頻約包含366個視頻幀。鑒于事故視頻數(shù)量稀少且難以獲取,為了提高模型收斂速度,降低對視頻樣本數(shù)量需求,本研究先收集了一套圖片數(shù)據(jù)集進行外觀特征篩選網(wǎng)絡的預訓練,在此基礎上,額外收集了一套視頻數(shù)據(jù)集對總模型進行參數(shù)微調(diào)。其中,圖片數(shù)據(jù)集共包含5 061 張事故圖片和5 573 張非事故圖片。事故視頻數(shù)據(jù)集共包含了420 個事故視頻和432 個非事故視頻,每段視頻長度在20s 左右,所有視頻分辨率均縮放至640×640大小。
為加速提出模型在視頻數(shù)據(jù)集的訓練和收斂過程,使得模型具備忽略事故無關(guān)外觀特征,側(cè)重事故相關(guān)外觀特征的能力,研究首先基于圖片數(shù)據(jù)集預訓練外觀特征篩選網(wǎng)絡。訓練過程的一些技巧和超參數(shù)設定如下:(1)外觀特征提取網(wǎng)絡利用ImageNet預訓練權(quán)重進行初始化;(2)每批次同時處理32 張圖片(batch size=32);訓練輪次(epoch)設置為100;優(yōu)化器選擇Adam,遷移權(quán)重學習率設置為0.000 1,其他權(quán)重學習率設定為0.001,學習率每隔20輪降低為原來的一半。
同時,為了測試不同外觀特征篩選網(wǎng)絡的效果,研究以VGG16 網(wǎng)絡和ResNet50 網(wǎng)絡為基礎網(wǎng)絡,分別加入通道注意力模塊[18]、空間注意力模塊[19]以及事故注意力模塊獲得3 個拓展模型。其具體檢測精度如表2(T:判斷正確,F(xiàn):判斷錯誤,P:判斷為事故,N:判斷為非事故)所示。結(jié)果顯示,相比于傳統(tǒng)VGG 網(wǎng)絡和殘差網(wǎng)絡,加入注意力機制后,擴展模型獲得了更高精度。其中嵌入事故注意力模塊的ResNet 模型獲得了90.75%的準確率。
表2 外觀特征篩選網(wǎng)絡在測試集上的評估指標
為了測試提出的事故檢測框架的性能,本文主要從檢測精度和速度兩方面進行了模型比較,具體結(jié)果如下。
(1)模型檢測精度對比
為了提高模型收斂速度,本文將預訓練參數(shù)遷移至事故檢測框架中,并使用330個事故視頻和342 個非事故視頻進行訓練。為了測試提出框架的性能,本文引入了一個基于運行特征的經(jīng)典模型(模型1),并將該模型與其余三個模型(模型2~4)進行檢測精度比較。該經(jīng)典模型利用規(guī)則式方法對提取的車輛運動特征進行異常分析與事故判別。表3展示了所有模型的表現(xiàn)。
表3 各事故檢測模型測試集精度
相較于基于運行特征的經(jīng)典模型(模型1),特征融合模型能夠同時捕捉事故動作特征和外觀特征,因此精度明顯提升。模型2 雖然利用LSTM 網(wǎng)絡引入了事故的運動信息,但在數(shù)據(jù)輸入時需要鋪平特征圖而導致外觀信息的損失,檢測精度低于Conv-LSTM 類模型(模型3、4)。相比之下,Conv-LSTM 類模型(模型3、4)最大程度同時保留了事故的外觀和運動特征(融合特征),提高了事故檢測精度。模型4 中外觀特征篩選網(wǎng)絡嵌入了事故注意力模塊,提升了模型事故定位能力,因此檢測精度更高(88.89%)。
(2)速度對比與分析
為了測試提取框架的檢測速度,本研究在單個GTX1060顯卡(6GB,時鐘速度為1506~1708 MHz)的測試環(huán)境下展開了系列實驗。在檢測速度方面,本研究提出的框架明顯優(yōu)于基于運動特征判別的事故檢測模型(如表3 所示)?;谶\動特征的檢測模型通常利用目標檢測和目標追蹤模型來捕捉事故的運動特征,其在候選區(qū)域的選擇和分類上耗費大量時間,導致檢測速度無法很好地滿足實時性要求。本文提出的模型采用輕量化的網(wǎng)絡結(jié)構(gòu)進行設計,因此檢測速度更快(FPS>30)。
綜合檢測速度和精度,研究選取模型4作為最優(yōu)模型,并進一步與一種典型的基于特征融合的模型(即C3D[13]模型)進行對比。結(jié)果如表4 所示,C3D 模型存在過擬合問題,訓練準確率為99.85%,測試準確率為67.22%。原因是C3D模型比本文方法有更多的參數(shù)(超過10倍)。由于數(shù)據(jù)集有限,模型很容易被過擬合。在計算量FLOPS (Floating Point Operations)和檢測速度FPS(Frame Per Second)方面,本研究提出框架也明顯優(yōu)于C3D模型。
表4 本文提出框架與C3D模型的效果比較
研究使用Grad-CAM 算法對最優(yōu)模型(模型4)在部分視頻數(shù)據(jù)測試集上的事故定位效果進行可視化(這里截取部分視頻幀)。從圖5可以看出,模型4可以較為準確地定位事故發(fā)生的大致區(qū)域,并隨著事故發(fā)生位置的改變而動態(tài)變化。從事故3中紫紅色區(qū)域的變化規(guī)律中可以看出,車輛碰撞行人后造成行人的摔倒和位置變化均能夠被模型有效捕捉,體現(xiàn)了該模型在捕捉事故融合特征(外觀特征和運動特征)的優(yōu)勢。
圖5 動態(tài)可視化效果展示(模型4)
需要注意的是,該事故檢測模型仍然存在一些漏檢和誤報情況。如圖6所示,這些誤檢情況主要發(fā)生在擁堵場景和黑夜場景。首先,擁堵場景路況較為復雜且車輛重疊密集,導致?lián)矶颅h(huán)境下的事故與非事故存在較為相似的外觀特征,混淆模型判別。其次,黑夜條件下因光照不足,網(wǎng)絡難以捕捉交通參與者的位置,嚴重影響特征提取能力。
圖6 誤報和漏檢情況
基于視頻的交通事故快速檢測對于提升交通事故應急管理水平具有重要意義。目前多數(shù)事故檢測模型存在速度較慢或精度較低等問題,限制了其實際應用。為解決該問題,本論文提出了一種基于特征融合的雙階段事故快速檢測框架,以實現(xiàn)有限的算力成本下事故檢測精度和速度的平衡??偟膩碚f,本文的主要貢獻在于:
本文提出了一種基于特征融合的雙階段事故快速檢測模型。實驗結(jié)果表明,提出模型的檢測精度達到88.89%,檢測速度達到FPS>30(GTX1060 GPU)。相比傳統(tǒng)基于運動特征的方法,提出方法具有更高的精度。相比其他經(jīng)典特征融合模型(如C3D),提出方法在檢測速度上更快。另外,本文提出了一種新型事故注意力模塊,有效提高了殘差網(wǎng)絡特征選擇和事故定位能力。最后,本文引入了Conv-LSTM 模型用于事故外觀特征和運動特征的同步提取,實驗證明該模型相較于傳統(tǒng)LSTM方法效果更好。
當然,本文提出的方法仍存在一定的誤判和漏檢情況。在未來的研究中,可考慮利用細粒度分類方法以及圖像增強方法解決擁堵場景和黑夜場景的事故檢測,進一步提升事故檢測的精度和速度。