王 晨,周 威,章世祥
(1.東南大學,交通學院,南京 211189;2.華設集團股份有限公司,南京 210014)
交通事故可能導致財產損失和人員傷亡,并且可能引發交通擁堵,給交通應急管理帶來極大的挑戰[1,2]。為了有效提高事故應急處置的響應速度,減少由于救援不及時導致的人員傷亡和交通擁堵,研究交通事故的快速檢測技術具有重要的現實意義。近年來,基于計算機視覺的交通事故檢測逐步得到了研究者的重視,其主要原理是通過識別視頻中的重要事故特征來實現對交通事故的自動檢測。該技術可以有效降低人力成本,并已經取得了較高的檢測精度[3~5]。因此,基于視頻的事故檢測技術具有重要的研究價值。
現有研究主要根據捕捉視頻中的事故特征實現事故判別,該特征主要包括事故外觀特征和運動特征。事故外觀特征來源于事故發生后的車輛形變、非機動車或者行人摔倒等區別于正常行駛狀態下的特征;事故運動特征需要在一段時間內連續觀測獲得,主要包括軌跡的交叉滯留、周圍行人的聚集等特征。研究方法按事故特征提取方式主要分為:基于運動特征的方法和基于特征融合的方法。
基于運動特征的方法主要利用傳統圖像處理方法(如背景減除法[3,6~8]、稠密光流[9]、光流梯度[10]等)或深度學習方法(目標檢測[11]、分割[12]等)實現車輛運行信息的提?。ㄈ缂铀俣?、位置、方向等),接著根據提取的運動信息設定事故判別規則,實現事故的檢測。該類方法僅使用了運動特征作為事故判別依據,并未考慮事故外觀信息,因此事故檢測精度有限。近年來,基于特征融合的事故檢測方法逐漸成為主流。一些研究主要采用三維卷積網絡[13]、時空自編碼器[14]或者雙流神經網絡[15]等同時捕捉事故外觀和運動特征,因而獲得了較高的檢測精度。另外一些研究[16]通過檢測異常的交通參與者(如摔倒的行人、側翻的車等),并根據其運動規律設定相應判別規則,進而實現事故檢測。然而,復雜的交通場景往往包含一些事故判別無關的外觀特征(如道路、路側房屋等,記作事故無關外觀特征),以及一些事故判別相關的外觀特征(如交通參與者位置與狀態,記作事故相關外觀特征)。在不進行特征篩選的前提下,這些融合特征提取網絡因場景復雜、特征過多而難以收斂,并且這些模型因參數較多,難以保證事故檢測的速度。因此,如何設計一個有效平衡檢測精度與速度的事故檢測模型成了本文的主要研究問題。
針對該研究問題,本文提出了一個基于特征融合的雙階段事故檢測框架。該框架由外觀特征篩選網絡和融合特征提取網絡兩部分組成。其中,外觀特征篩選網絡使用殘差網絡來提高事故相關外觀特征的篩選速度。為了進一步提高殘差網絡對事故相關外觀特征的篩選能力,研究提出了一種事故注意力模塊,該模型由通道注意力模塊與空間注意力模塊并聯而成。融合特征提取網絡由輕巧的、按時序排列的Conv-LSTM 模塊構成,實現外觀特征的微調和運動特征的提取。該檢測框架的提出有望在有限算力的條件下平衡視頻事故的檢測精度和速度,從而在實際中得以應用。
復雜交通場景下的一些事故無關外觀特征(如道路、路側房屋等)直接輸入到融合特征提取網絡中會產生冗余計算,從而導致模型難以收斂,因此,本文的基本思路是:先篩選事故相關外觀特征,再提取融合特征,進而加速模型收斂。如圖1所示,該網絡主要包含兩部分,分別為外觀特征篩選網絡和融合特征提取網絡。首先,研究提出了嵌入事故注意力模塊的外觀特征篩選網絡,并利用事故圖像數據集進行預訓練,使得訓練模型具備忽略事故無關外觀特征而側重事故相關外觀特征的能力。接著,事故相關外觀特征被輸入到按時間方向連接的Conv-LSTM 網絡中,實現外觀特征的微調和運動特征的提?。ㄈ畿囕v驟停、行人聚集等)。最終,研究基于提取的融合特征實現事故檢測。

圖1 基于特征融合的事故檢測模型框架
研究采用嵌入注意力模塊的殘差網絡為事故外觀特征篩選網絡。殘差網絡ResNet提出于2015年[17],采用殘差模塊(見圖2)進行堆疊,實現了更深的網絡結構以及更強的表達能力。其中,殘差模塊使用跳躍連接結構,有效保證了信息傳輸的完整性。表1 展示了現有常見殘差網絡的運算參數與其在ImageNet數據集(驗證集)上錯誤率的對應關系。本文權衡模型大小和檢測精度,選擇了ResNet50作為基礎的事故外觀特征篩選網絡。

表1 常見殘差網絡的運算參數與其在ImageNet數據集(驗證集)上錯誤率的對應關系

圖2 殘差模塊結構圖
目前,部分研究[18-19]表明視覺注意力機制能夠加強卷積神經網絡的特征篩選能力。為了進一步增強殘差網絡的特征篩選能力,本研究基于注意力機制,創新性地提出了一種事故注意力模塊(圖3)。該模塊由兩個注意力分支構成,分別為通道注意力分支與空間注意力分支。通道注意力[18]可以通過賦予事故特征高權重從而增強該類特征的識別能力;空間注意力[19]可以根據事故特征的空間分布實現快速定位能力。兩者的結合可以有效地提升模型對于事故相關外觀特征的篩選與定位能力。

圖3 事故注意力模塊
在特征圖中,每個通道代表了一類特征,通道注意力模塊能夠從輸入特征圖中學習到一種通道權重,這種通道權重將賦予特征圖中不同通道以不同的權重,因此具有特征選擇能力。具體地,通道注意力分支按通道維度采用全局平均池化操作,將輸入X轉換為U。接著將輸出U經過一個權重為W的全連接層和一個softmax激活層(即圖上的K1),輸出注意力權重V。最后,將獲得的注意力權重V與原始輸入X按位相乘,調整輸入特征圖中各通道特征的權重,獲得特征輸出Y1。具體過程如下式所示:

式中:F1為全局平均池化;K1為全連接層和激活層;M1為按位相乘操作,“·”為矩陣點積運算;X為原始輸入;U為輸入通過全局平均池化后的輸出;V為通道注意力權重;Y1為通道注意力分支的特征輸出。
同理,空間注意力模塊能夠從輸入特征圖中學習到一種按空間分布的權重,這種權重能夠賦予不同空間位置以不同的權重,因此具有空間特征的定位能力。具體地,空間視覺注意力模塊先是沿著通道對輸入X進行最大池化和平均池化操作F2,獲得網絡輸出US,如下式所示:

式中:F2為最大池化和平均池化操作;US為輸入X進行最大池化和平均池化操作的輸出。
接著,使用1×1 卷積層(參數為Wc)將雙層特征圖US轉為單層特征圖,并使用softmax激活函數將獲得的單層特征圖轉為空間注意力權重VS,如下式所示:

式中:K2為1×1卷積(參數為W)和softmax激活運算;VS為獲得的空間注意力權重分布。
最后,空間注意力權重VS和輸入X進行加權求和,調整模型對輸入X不同空間位置的重視程度,如下式所示:

式中:M2為按位相乘運算函數;“·”是矩陣點積運算;Y2為空間注意力分支的特征輸出。
通道注意力分支的特征輸出Y1和空間注意力分支的特征輸出Y2提取完畢后,模塊將這兩個輸出按照特征維度進行堆疊,形成該注意力模塊的最終輸出[Y1,Y2]??梢?,空間注意力模塊賦予了圖片中不同區域不同權重,有望提升ResNet50 網絡快速定位事故發生區域的能力。
外觀特征篩選網絡利用賦予事故相關特征較大權重的方式實現相關特征的篩選。該篩選的事故相關外觀特征主要包括一些交通參與者(如機動車、非機動車、行人等)的位置信息及外觀信息(如車輛的形狀、是否受損等)。該相關特征作為后續融合特征提取網絡的輸入,可以有效降低該網絡因處理龐大的無關特征而造成訓練收斂等問題。本文選用卷積長短時間記憶網絡Conv-LSTM[20]作為融合特征提取網絡,該網絡能夠同時捕捉監控視頻流中的事故外觀特征和運動特征。
Conv-LSTM 模塊是一種可以同時捕捉多維度特征的時空序列模型,其結構如圖4所示。相比于傳統LSTM 網絡,該網絡無需對數據進行鋪平操作,有效地緩解因數據鋪平而導致外觀信息損失的問題。

圖4 Conv-LSTM模塊結構圖
Conv-LSTM 模塊首先將輸入沿著通道維進行堆疊,并引入了一維卷積對堆疊后的輸入進行卷積運算,即:

式中:χt和Ht-1為Conv-LSTM 模塊的輸入;[χt,Ht-1]為輸入χt和Ht-1按通道維堆疊后的結果;函數F為1×1 卷積運算;[Yf,Yi,Yg,Yo]為輸入[χt,Ht-1]通過1×1卷積層的四個輸出的集合。
接著對[Yf,Yi,Yg,Yo]分別使用softmax激活函數得到[ft,it,gt,ot],即:

式中:σ(.)為softmax激活函數;[ft,it,gt,ot]為[Yf,Yi,Yg,Yo]經過softmax激活函數的輸出結果。
最后通過門控操作獲得時間步t時Conv-LSTM模塊的輸出,如式(7)和(8)所示:

式中:Ct-1為時間步t-1 時Conv-LSTM 模塊的輸出;Ct和Ht為時間步t時該模塊的輸出。
本研究的所有實驗均在單個計算機上進行。該計算機配置如下:采用Ubuntu 20.04 操作系統;CPU 型號為Intel(R)Core(TM)i7-8700@3.20GHz;GPU 的型號為NVIDIA GeForce RTX 2070(8GB);事故檢測框架的代碼由Python=3.7.4 書寫,由Pytorch1.6 深度學習框架實現。為降低深度學習算法隨機性,本文所有實驗的結果為五次訓練取平均的結果。本文的代碼現已開源①代碼鏈接為:https://github.com/vvgoder/ResNet_ConvLSTM。
本研究借鑒以往研究中已經開源的視頻事故數據庫[21],并通過網絡、交警部門等多方渠道進行數據收集。其中,開源數據集共包含1 416 段事故視頻段,平均每段視頻約包含366個視頻幀。鑒于事故視頻數量稀少且難以獲取,為了提高模型收斂速度,降低對視頻樣本數量需求,本研究先收集了一套圖片數據集進行外觀特征篩選網絡的預訓練,在此基礎上,額外收集了一套視頻數據集對總模型進行參數微調。其中,圖片數據集共包含5 061 張事故圖片和5 573 張非事故圖片。事故視頻數據集共包含了420 個事故視頻和432 個非事故視頻,每段視頻長度在20s 左右,所有視頻分辨率均縮放至640×640大小。
為加速提出模型在視頻數據集的訓練和收斂過程,使得模型具備忽略事故無關外觀特征,側重事故相關外觀特征的能力,研究首先基于圖片數據集預訓練外觀特征篩選網絡。訓練過程的一些技巧和超參數設定如下:(1)外觀特征提取網絡利用ImageNet預訓練權重進行初始化;(2)每批次同時處理32 張圖片(batch size=32);訓練輪次(epoch)設置為100;優化器選擇Adam,遷移權重學習率設置為0.000 1,其他權重學習率設定為0.001,學習率每隔20輪降低為原來的一半。
同時,為了測試不同外觀特征篩選網絡的效果,研究以VGG16 網絡和ResNet50 網絡為基礎網絡,分別加入通道注意力模塊[18]、空間注意力模塊[19]以及事故注意力模塊獲得3 個拓展模型。其具體檢測精度如表2(T:判斷正確,F:判斷錯誤,P:判斷為事故,N:判斷為非事故)所示。結果顯示,相比于傳統VGG 網絡和殘差網絡,加入注意力機制后,擴展模型獲得了更高精度。其中嵌入事故注意力模塊的ResNet 模型獲得了90.75%的準確率。

表2 外觀特征篩選網絡在測試集上的評估指標
為了測試提出的事故檢測框架的性能,本文主要從檢測精度和速度兩方面進行了模型比較,具體結果如下。
(1)模型檢測精度對比
為了提高模型收斂速度,本文將預訓練參數遷移至事故檢測框架中,并使用330個事故視頻和342 個非事故視頻進行訓練。為了測試提出框架的性能,本文引入了一個基于運行特征的經典模型(模型1),并將該模型與其余三個模型(模型2~4)進行檢測精度比較。該經典模型利用規則式方法對提取的車輛運動特征進行異常分析與事故判別。表3展示了所有模型的表現。

表3 各事故檢測模型測試集精度
相較于基于運行特征的經典模型(模型1),特征融合模型能夠同時捕捉事故動作特征和外觀特征,因此精度明顯提升。模型2 雖然利用LSTM 網絡引入了事故的運動信息,但在數據輸入時需要鋪平特征圖而導致外觀信息的損失,檢測精度低于Conv-LSTM 類模型(模型3、4)。相比之下,Conv-LSTM 類模型(模型3、4)最大程度同時保留了事故的外觀和運動特征(融合特征),提高了事故檢測精度。模型4 中外觀特征篩選網絡嵌入了事故注意力模塊,提升了模型事故定位能力,因此檢測精度更高(88.89%)。
(2)速度對比與分析
為了測試提取框架的檢測速度,本研究在單個GTX1060顯卡(6GB,時鐘速度為1506~1708 MHz)的測試環境下展開了系列實驗。在檢測速度方面,本研究提出的框架明顯優于基于運動特征判別的事故檢測模型(如表3 所示)。基于運動特征的檢測模型通常利用目標檢測和目標追蹤模型來捕捉事故的運動特征,其在候選區域的選擇和分類上耗費大量時間,導致檢測速度無法很好地滿足實時性要求。本文提出的模型采用輕量化的網絡結構進行設計,因此檢測速度更快(FPS>30)。
綜合檢測速度和精度,研究選取模型4作為最優模型,并進一步與一種典型的基于特征融合的模型(即C3D[13]模型)進行對比。結果如表4 所示,C3D 模型存在過擬合問題,訓練準確率為99.85%,測試準確率為67.22%。原因是C3D模型比本文方法有更多的參數(超過10倍)。由于數據集有限,模型很容易被過擬合。在計算量FLOPS (Floating Point Operations)和檢測速度FPS(Frame Per Second)方面,本研究提出框架也明顯優于C3D模型。

表4 本文提出框架與C3D模型的效果比較
研究使用Grad-CAM 算法對最優模型(模型4)在部分視頻數據測試集上的事故定位效果進行可視化(這里截取部分視頻幀)。從圖5可以看出,模型4可以較為準確地定位事故發生的大致區域,并隨著事故發生位置的改變而動態變化。從事故3中紫紅色區域的變化規律中可以看出,車輛碰撞行人后造成行人的摔倒和位置變化均能夠被模型有效捕捉,體現了該模型在捕捉事故融合特征(外觀特征和運動特征)的優勢。

圖5 動態可視化效果展示(模型4)
需要注意的是,該事故檢測模型仍然存在一些漏檢和誤報情況。如圖6所示,這些誤檢情況主要發生在擁堵場景和黑夜場景。首先,擁堵場景路況較為復雜且車輛重疊密集,導致擁堵環境下的事故與非事故存在較為相似的外觀特征,混淆模型判別。其次,黑夜條件下因光照不足,網絡難以捕捉交通參與者的位置,嚴重影響特征提取能力。

圖6 誤報和漏檢情況
基于視頻的交通事故快速檢測對于提升交通事故應急管理水平具有重要意義。目前多數事故檢測模型存在速度較慢或精度較低等問題,限制了其實際應用。為解決該問題,本論文提出了一種基于特征融合的雙階段事故快速檢測框架,以實現有限的算力成本下事故檢測精度和速度的平衡??偟膩碚f,本文的主要貢獻在于:
本文提出了一種基于特征融合的雙階段事故快速檢測模型。實驗結果表明,提出模型的檢測精度達到88.89%,檢測速度達到FPS>30(GTX1060 GPU)。相比傳統基于運動特征的方法,提出方法具有更高的精度。相比其他經典特征融合模型(如C3D),提出方法在檢測速度上更快。另外,本文提出了一種新型事故注意力模塊,有效提高了殘差網絡特征選擇和事故定位能力。最后,本文引入了Conv-LSTM 模型用于事故外觀特征和運動特征的同步提取,實驗證明該模型相較于傳統LSTM方法效果更好。
當然,本文提出的方法仍存在一定的誤判和漏檢情況。在未來的研究中,可考慮利用細粒度分類方法以及圖像增強方法解決擁堵場景和黑夜場景的事故檢測,進一步提升事故檢測的精度和速度。