王 碩, 王巖松, 王孝蘭
(上海工程技術(shù)大學(xué) 機(jī)械與汽車工程學(xué)院, 上海 201620)
隨著汽車行業(yè)科學(xué)技術(shù)的發(fā)展,智能車輛成為未來(lái)汽車行業(yè)發(fā)展的必然趨勢(shì)[1]。自動(dòng)駕駛作為智能車輛的關(guān)鍵技術(shù),引起了研究者的廣泛關(guān)注。其中,環(huán)境感知技術(shù)通過(guò)傳感器探測(cè)車輛周圍環(huán)境,為智能車決策部分提供信息,是自動(dòng)駕駛技術(shù)的重要前提。車輛作為道路環(huán)境的主體,其行為姿態(tài)的識(shí)別對(duì)自身車輛周圍環(huán)境理解具有重要影響[2]。
車輛行為的分類主要采用隱馬爾科夫模型(Hidden Markov Model,HMM)、貝葉斯網(wǎng)絡(luò)、BP神經(jīng)網(wǎng)絡(luò)等方法。文獻(xiàn)[3]采用貝葉斯網(wǎng)絡(luò)對(duì)每個(gè)典型的軌跡建模進(jìn)行分類。Regine等人[4]將當(dāng)前場(chǎng)景與數(shù)據(jù)庫(kù)中場(chǎng)景進(jìn)行對(duì)比,選出最相似場(chǎng)景的基于案件推理的在線學(xué)習(xí)行為預(yù)測(cè)方法。黃慧玲等人[5]提出一種基于前方車輛行為識(shí)別的碰撞預(yù)警系統(tǒng),通過(guò)梯度方向直方圖和支持向量機(jī)來(lái)訓(xùn)練前方車輛檢測(cè)模型,并結(jié)合Kalman濾波對(duì)車輛進(jìn)行跟蹤,最后通過(guò) HMM算法建立車輛行為識(shí)別模型,完成前方車輛行為的識(shí)別。傳統(tǒng)方法多存在檢測(cè)和識(shí)別精度低的問(wèn)題,并且傳統(tǒng)方法的使用場(chǎng)景多是環(huán)境簡(jiǎn)單的道路路口或高速車道等固定場(chǎng)景,無(wú)法滿足實(shí)際需求。
隨著深度學(xué)習(xí)技術(shù)的發(fā)展,循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)[6]被用于處理行為識(shí)別問(wèn)題。但RNN存在梯度消失和梯度爆炸等問(wèn)題,標(biāo)準(zhǔn)的RNN網(wǎng)絡(luò)對(duì)長(zhǎng)序列的學(xué)習(xí)效果不佳。Hochreiter等人[7]對(duì)RNN進(jìn)行改進(jìn),在1997 年提出長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM),在長(zhǎng)序列的處理上表現(xiàn)更好。Donahue等人[8]提出一種長(zhǎng)效遞歸卷積神經(jīng)網(wǎng)絡(luò)(LRCN),初次將CNN與LSTM結(jié)合,用于視頻識(shí)別、分類等領(lǐng)域。隨后越來(lái)越多的研究者采用這種方式對(duì)人體行為進(jìn)行識(shí)別,通過(guò)CNN模型提取特征,并采用LSTM進(jìn)行訓(xùn)練分類[9-10]。文獻(xiàn)[11]通過(guò)雙卷積網(wǎng)絡(luò)并行對(duì)關(guān)鍵幀的特征信息提取,利用LSTM網(wǎng)絡(luò)建立序列模型,完成車輛行為動(dòng)態(tài)識(shí)別,但存在實(shí)時(shí)性差與不能識(shí)別多臺(tái)車輛行為的問(wèn)題。車輛在實(shí)際行駛中會(huì)遇到陰影、光斑、畸變等因素影響,導(dǎo)致傳統(tǒng)方法的車輛檢測(cè)誤檢率高、目標(biāo)偏差大與定位誤差大的問(wèn)題,基于深度學(xué)習(xí)的方法對(duì)硬件要求較高,實(shí)時(shí)性低。同時(shí)車輛之間的遮擋也會(huì)導(dǎo)致跟蹤丟失目標(biāo),使得車輛軌跡難以跟蹤,參數(shù)獲取缺乏完整性和準(zhǔn)確性,影響最后的行為識(shí)別精度。
本文針對(duì)上述情況提出一種基于CNN和LSTM混合模型的車輛行為檢測(cè)方法,分別選擇基于YOLOv3[12]的車輛識(shí)別方法,采用Kalman[13]濾波器跟蹤車輛融合LSTM網(wǎng)絡(luò)構(gòu)建車輛行為識(shí)別模型。通過(guò)試驗(yàn),驗(yàn)證本文提出方法的有效性和準(zhǔn)確性。
YOLO算法將目標(biāo)檢測(cè)問(wèn)題作為回歸問(wèn)題處理,一步完成分類與定位任務(wù),直接預(yù)測(cè)目標(biāo)的類別與位置,減少檢測(cè)時(shí)間的同時(shí)提升了目標(biāo)檢測(cè)精度。YOLOv3算法是在YOLO的基礎(chǔ)上進(jìn)行改進(jìn),增加到3種檢測(cè)尺度,有效地增加了算法對(duì)不同尺寸物體的檢測(cè)精度,同時(shí)采用多尺度訓(xùn)練的方式增強(qiáng)了魯棒性,并在DarkNet19基礎(chǔ)上引入殘差網(wǎng)絡(luò)提出來(lái)新的特征提取網(wǎng)絡(luò)DarkNet53。其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,DarkNet53主要由一系列1×1和3×3的卷積層組成,每個(gè)卷積層后跟一個(gè)Batch Normalization層和一個(gè)LeakyReLU層,進(jìn)行5次下采樣提取特征,采用FPN的思想,利用多尺度的特征增加特征豐富度,從而達(dá)到對(duì)不同尺寸目標(biāo)的精確檢測(cè)。

圖1 YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)
在目標(biāo)檢測(cè)階段,YOLOv3首先將圖片縮放到416×416的大小,并劃分為S×S的等大單元格。當(dāng)待檢測(cè)目標(biāo)中心落入單元格內(nèi),該單元格預(yù)測(cè)目標(biāo)B個(gè)候選框的位置信息以及目標(biāo)類別的條件概率,即中心坐標(biāo)(x,y)和目標(biāo)的寬w和高h(yuǎn),記為tx,ty,tw,th。目標(biāo)中心所在單元格相對(duì)圖像左上角有偏移(cx,cy),pw和ph代表該單元格對(duì)應(yīng)候選框的寬高,計(jì)算出候選框的坐標(biāo)如下:
bx=σ(tx)+cx,
(1)
by=σ(ty)+cy,
(2)
bw=pwetw,
(3)
bh=pheth.
(4)
當(dāng)多個(gè)候選框檢測(cè)到相同目標(biāo)時(shí),通過(guò)對(duì)置信度設(shè)定閾值篩選出高分的候選框,并利用非極大值抑制處理得到最終的預(yù)測(cè)結(jié)果。
復(fù)雜環(huán)境下的車輛檢測(cè)會(huì)受到遮擋影響,導(dǎo)致跟蹤丟失目標(biāo),使得車輛軌跡難以跟蹤,參數(shù)獲取缺乏完整性和準(zhǔn)確性,影響最后的行為識(shí)別精度。針對(duì)上述情況,利用Kalman濾波器對(duì)檢測(cè)到的車輛目標(biāo)大小(w,h)、位置(x,y)等確切信息進(jìn)行跟蹤預(yù)測(cè)。
Kalman 濾波具體的原理和過(guò)程分析如下:
(5)
Pk|k-1=APk-1|k-1AT+Q,
(6)
Kk=Pk|k-1HT(R+HPk|k-1HT),
(7)
(8)
Pk|k=Pk|k-1-KkHPk|k-1.
(9)
其中,A、B表示系統(tǒng)參數(shù);H表示觀測(cè)系統(tǒng)參數(shù);Q、R分別為系統(tǒng)噪聲和觀測(cè)系統(tǒng)噪聲的方差。


圖2 前方車輛運(yùn)動(dòng)軌跡
循環(huán)神經(jīng)網(wǎng)絡(luò)具有強(qiáng)烈的時(shí)間序列性,其當(dāng)前時(shí)刻的輸出由之前時(shí)刻的狀態(tài)和當(dāng)前時(shí)刻的輸入決定,保留了時(shí)間維度上的信息。LSTM是循環(huán)神經(jīng)網(wǎng)絡(luò)的一種,為了解決一般循環(huán)神經(jīng)網(wǎng)絡(luò)梯度消失只能對(duì)短時(shí)間序列建模的問(wèn)題,LSTM引入輸入門、遺忘門、輸出門三個(gè)部分更新系統(tǒng)狀態(tài),可以有效處理時(shí)間序列中間隔和延遲較長(zhǎng)的信息。其網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。

圖3 LSTM原理圖
LSTM通過(guò)輸入門it、遺忘門ft、輸出門ot丟棄時(shí)間序列中的無(wú)用的信息并傳遞后續(xù)時(shí)刻所需信息。其中,it和ot控制信息的流入和流出,ft代表遺忘門的輸出,具體公式為:
ft=sigmoid(Wf·[ht-1,xt]+bf),
(10)
it=sigmoid(Wi·[ht-1,xt]+bi),
(11)
(12)
(13)
ot=sigmoid(Wo·[ht-1,xt]+bo),
(14)
ht=ot*tanh(Ct).
(15)
其中,xt,ht表示當(dāng)前時(shí)刻單元的輸入和輸出;Ct表示更新后的單元;Wi,Wf,Wc,Wo與bi,bf,bc,bo分別表示加權(quán)項(xiàng)與偏置項(xiàng)。
利用YOLOv3目標(biāo)檢測(cè)算法與Kalman濾波對(duì)前方車輛視頻中的車輛目標(biāo)進(jìn)行實(shí)時(shí)檢測(cè)與跟蹤,結(jié)合LSTM網(wǎng)絡(luò)構(gòu)建前方車輛行為識(shí)別模型。
本文網(wǎng)絡(luò)結(jié)構(gòu)模型如圖4所示。首先,對(duì)輸入的視頻利用訓(xùn)練的YOLOv3車輛檢測(cè)模型逐幀檢測(cè),提取前方車輛目標(biāo),得到目標(biāo)類別、檢測(cè)框尺寸和目標(biāo)中心點(diǎn)坐標(biāo);其次,結(jié)合kalman濾波對(duì)前方車輛視頻中的車輛目標(biāo)進(jìn)行實(shí)時(shí)檢測(cè)與跟蹤,獲取目標(biāo)大小、位置、軌跡等信息,獲取準(zhǔn)確的車輛運(yùn)動(dòng)軌跡特征;再次,將車輛運(yùn)動(dòng)軌跡特征輸入到 LSTM 網(wǎng)絡(luò)框架中,建立時(shí)間序列模型,分析序列間特征,最終識(shí)別前方車輛的行為。

圖4 前方車輛行為識(shí)別模型
實(shí)驗(yàn)平臺(tái)配置:Windows 10操作系統(tǒng),CPU為Inter Core i5-8400,內(nèi)存為16 GB,GPU為NVIDIA GeForce GTX1070Ti,深度學(xué)習(xí)框架為Tensorflow。
本文采用自行搭建的車載試驗(yàn)平臺(tái)所采集的視頻數(shù)據(jù)集,數(shù)據(jù)采集設(shè)備固定于車輛前擋風(fēng)玻璃正前方,在自身車輛不變道的情況下,采集前方車輛的行駛行為。數(shù)據(jù)集包含城區(qū)、高速、鄉(xiāng)村和學(xué)校等場(chǎng)景采集的真實(shí)視頻數(shù)據(jù),每段視頻中包含車輛、行人和電動(dòng)車等各種目標(biāo),還包括光照變化、樹(shù)木陰影和目標(biāo)被各種程度的遮擋與截?cái)嗟惹闆r。根據(jù)實(shí)際應(yīng)用場(chǎng)景,車輛視頻數(shù)據(jù)分為7類別,分別為直行、左轉(zhuǎn)、右轉(zhuǎn)、左變道、右變道、左切入和右切入。車輛行為數(shù)據(jù)集如圖5所示,本文選取300個(gè)視頻作為實(shí)驗(yàn)數(shù)據(jù),其中80%作為訓(xùn)練集,20%作為驗(yàn)證集。
經(jīng)過(guò)訓(xùn)練得到前車行為識(shí)別網(wǎng)絡(luò)模型,其實(shí)驗(yàn)結(jié)果見(jiàn)如下。
圖6為車輛行為識(shí)別結(jié)果。圖6(a)中靠近本車的車輛在接下來(lái)的5 s向右側(cè)變道,遠(yuǎn)方車輛保持直行,采用本文方法識(shí)別出2臺(tái)目標(biāo)車輛,并進(jìn)行軌跡跟蹤。識(shí)別結(jié)果顯示,正確地識(shí)別出了不同車輛的右變道與直行行為。圖6(b)識(shí)別出3臺(tái)目標(biāo)車輛并進(jìn)行跟蹤,采用本文方法正確識(shí)別出3輛車的直行行為。

圖5 車輛行為數(shù)據(jù)集

(a)場(chǎng)景一

(b) 場(chǎng)景二
表1為前車直行、左轉(zhuǎn)、右轉(zhuǎn)、左變道、右變道、左切入和右切入行為識(shí)別結(jié)果統(tǒng)計(jì)表。由表1分析可得, 直行行為的識(shí)別正確率較高,而右轉(zhuǎn)和右變道行為識(shí)別的正確率略低,主要原因是車輛變道與轉(zhuǎn)向操作前期軌跡特征相似,易誤檢為前車左轉(zhuǎn)和右轉(zhuǎn)行為,對(duì)于左切入和右切入兩種行為,本文方法可以做到有效識(shí)別。

表1 車輛行為識(shí)別結(jié)果
本文提出一種基于CNN和LSTM混合模型的車輛行為檢測(cè)方法,首先訓(xùn)練YOLOv3網(wǎng)絡(luò)模型進(jìn)行前方車輛識(shí)別,然后使用Kalman濾波跟蹤檢測(cè)車輛;最后訓(xùn)練LSTM網(wǎng)絡(luò)模型對(duì)車輛行為進(jìn)行建模,完成前方車輛行為識(shí)別。實(shí)驗(yàn)結(jié)果表明,根據(jù)前方車輛運(yùn)動(dòng)軌跡可在復(fù)雜環(huán)境下識(shí)別多車行為。但是,本文的研究存在自身車輛保持直行的局限性,下一步的重點(diǎn)應(yīng)放在自身車輛行為變化的情況下識(shí)別前方車輛行為上。