陳鵬展,余杰杰
(華東交通大學(xué) 電氣與自動(dòng)化工程學(xué)院,江西 南昌 330013)
隨著經(jīng)濟(jì)的不斷發(fā)展、城市化進(jìn)程的推進(jìn),交通擁堵問題逐漸突顯出來(lái),關(guān)于交通擁堵的研究也逐漸受到重視。劉夢(mèng)涵等[1]采用Wald檢驗(yàn)對(duì)行程速度、停車時(shí)間、停車次數(shù)、延誤比和出入口密度這5個(gè)代表道路運(yùn)行狀態(tài)的自變量進(jìn)行了篩選,并最終確定以行程速度為自變量,設(shè)計(jì)了基于累積Logistic回歸的道路交通擁堵強(qiáng)度評(píng)價(jià)模型。He等[2]利用由平均行駛速度和最大允許道路行駛速度組成的速度性能指標(biāo)將交通狀況分為4種情況,再引入路段和道路網(wǎng)擁堵指標(biāo),對(duì)北京高速公路在春夏秋冬、工作日和休息日、上午和下午等各個(gè)時(shí)段的擁堵案例進(jìn)行了分析。Zhang等[3]以城市主干道的交通流量、交通流密度和交通流速度作為基本屬性來(lái)判別聚類優(yōu)先級(jí),提出了灰色關(guān)聯(lián)隸屬等級(jí)聚類算法,來(lái)分析城市交通擁堵情況。Khan等[4]提出了CVT-AI方法,通過將聯(lián)網(wǎng)車輛技術(shù)(Connected Vehicle Technology,CVT)和人工智能(Artificial Intelligence,AI)結(jié)合,計(jì)算道路網(wǎng)絡(luò)的交通密度,進(jìn)而評(píng)估交通狀況。Wang等[5]首先提出了一種擁堵定義,然后將交通擁堵分析作為回歸問題處理,并構(gòu)建了由20個(gè)不同場(chǎng)景構(gòu)成的數(shù)據(jù)集,利用低級(jí)紋理特征和核回歸來(lái)檢測(cè)交通擁堵程度,同時(shí)通過局部約束距離度量學(xué)習(xí)來(lái)減少不同場(chǎng)景之間的影響。雷斌等[6]設(shè)計(jì)了一種基于改進(jìn)的K近鄰(K-Nearest Neighbor,KNN)非參數(shù)和小波神經(jīng)網(wǎng)絡(luò)加權(quán)組合模型,以交通流量、車道占有率和平均車速等作為主要特征參數(shù),來(lái)預(yù)測(cè)短時(shí)交通流。Kan等[7]提出了一種在彎道處檢測(cè)交通擁堵的方法,對(duì)出租車的GPS軌跡有效數(shù)據(jù)進(jìn)行分析,將擁堵劃分為了3個(gè)等級(jí),通過聚類方法判別各個(gè)轉(zhuǎn)彎方向上的擁堵事件,并以武漢道路交叉口為例,對(duì)其發(fā)生擁堵的時(shí)間和各個(gè)轉(zhuǎn)彎方向上的排隊(duì)長(zhǎng)度進(jìn)行了探索和分析。
文獻(xiàn)[1]~文獻(xiàn)[7]對(duì)道路交通擁堵分析做出了極大貢獻(xiàn),但仍存在以下問題。
① 需要監(jiān)測(cè)道路交通流量和平均車速等交通要素,檢測(cè)設(shè)備成本較高。
② 研究對(duì)象是一段時(shí)間內(nèi)的道路交通情況,實(shí)時(shí)性較差。
③ 從道路段、道路網(wǎng)的角度分析和預(yù)測(cè)道路交通情況,對(duì)用戶當(dāng)前所處的道路點(diǎn)的交通情況無(wú)法做出分析,不能為車輛實(shí)時(shí)操作(加速、減速等)提供參考依據(jù)。
針對(duì)這些問題,本文首先提出用戶當(dāng)前所處道路的擁堵評(píng)價(jià)指標(biāo),同時(shí),提出了一種基于用戶視角、車載視頻圖像作為輸入,結(jié)合視頻圖像中車輛車距、車道信息等交通要素和LSTM(Long Short-Term Memory,長(zhǎng)短期記憶)網(wǎng)絡(luò)的道路擁堵分析模型。該模型能夠?qū)崟r(shí)分析用戶視角的交通要素,實(shí)時(shí)性較高,檢測(cè)成本較低,可以為無(wú)人駕駛汽車[8]和車輛駕駛員提供交通要素分析結(jié)果。最后用訓(xùn)練好的模型在多種場(chǎng)景組成的樣本中進(jìn)行了測(cè)試,并達(dá)到了較好的效果。
隨著深度學(xué)習(xí)的不斷發(fā)展,許多目標(biāo)檢測(cè)算法相繼被提出,其中YOLO(You Only Look Once)系列[9-11]的性能尤為突出。其網(wǎng)絡(luò)結(jié)構(gòu)比較簡(jiǎn)單,具有45~90 f/s的檢測(cè)速度,能夠?qū)σ曨l中的車輛目標(biāo)進(jìn)行檢測(cè),符合實(shí)時(shí)性的基本要求。YOLO是一種基于回歸的目標(biāo)檢測(cè)算法,對(duì)于一張測(cè)試圖片,最終輸出目標(biāo)邊框的5個(gè)參數(shù)分別為x、y、w、h、C。目標(biāo)邊框的置信度為C,中心點(diǎn)的橫縱坐標(biāo)為x、y,寬和高分別為w、h。通過輸出的目標(biāo)框參數(shù)可知,車輛底線縱坐標(biāo)為
yb=y+h/2
(1)
本文的車輛檢測(cè)模型采用最新的YOLOv3網(wǎng)絡(luò)架構(gòu),相比于YOLO和YOLOv2,其在保持檢測(cè)速度的同時(shí)進(jìn)一步提升了目標(biāo)檢測(cè)的準(zhǔn)確性。數(shù)據(jù)集為KITTI目標(biāo)檢測(cè)數(shù)據(jù)集,首先將其格式轉(zhuǎn)化適合YOLOv3網(wǎng)絡(luò)架構(gòu)的Pascal VOC(Visual Object Classes)數(shù)據(jù)集格式,并對(duì)目標(biāo)類別進(jìn)行簡(jiǎn)化統(tǒng)一,轉(zhuǎn)換后的數(shù)據(jù)集標(biāo)簽為車、行人和騎自行車的人3類。選取數(shù)據(jù)集中5984張圖片為訓(xùn)練集,749張圖片為測(cè)試集;然后設(shè)置配置文件,類別數(shù)改為3,學(xué)習(xí)率為0.01,最大迭代次數(shù)為4000;最后加載預(yù)訓(xùn)練卷積權(quán)重文件進(jìn)行訓(xùn)練,完成訓(xùn)練后測(cè)試準(zhǔn)確率為89.96%,基本可以滿足道路上車輛檢測(cè)的要求。
為簡(jiǎn)化實(shí)驗(yàn)?zāi)P?,本文使用一種建立約束區(qū)域的Hough變換方法[12],根據(jù)攝像頭參數(shù),選取約束值n,約束區(qū)域即為圖像下方的1/n。Hough變換只在選取的約束區(qū)域內(nèi)進(jìn)行,計(jì)算量相對(duì)減小、符合實(shí)時(shí)性基本要求,同時(shí)根據(jù)車道車分布的特性,減少了其他非車道線區(qū)域的干擾,提升了準(zhǔn)確率。車道線檢測(cè)流程圖如圖1所示。
圖1 車道線檢測(cè)流程圖
其中,圖1(a)彩色原圖經(jīng)過濾波降噪得到圖1(b)灰度圖,然后由Canny邊緣檢測(cè)區(qū)域選擇得到圖1(c),約束域選擇結(jié)果如圖1(d)所示,再經(jīng)車道擬合得到圖1(e),最終車道檢測(cè)結(jié)果圖如圖1(f)所示。檢測(cè)到的車道線分別以直線方程L1、L2表示,兩直線交點(diǎn)即車道消失點(diǎn)用坐標(biāo)點(diǎn)(xh,yh)表示。
由于本文模型在估測(cè)車距后會(huì)做優(yōu)化處理,因此采用文獻(xiàn)[13]提到的簡(jiǎn)易測(cè)距方法,攝像頭與前方目標(biāo)車輛幾何位置關(guān)系如圖2所示,從圖2中幾何關(guān)系可求得攝像頭與前車的距離為
圖2 利用針孔攝像機(jī)幾何結(jié)構(gòu)估算圖像中車輛位置距離
(2)
式中,F(xiàn)c為攝像頭焦距;Hc為攝像頭高度;θ為攝像頭與水平方向的俯仰角;yb為車輛底線縱坐標(biāo);yh為車道線消失點(diǎn)的縱坐標(biāo)。當(dāng)攝像頭俯仰角θ較小時(shí),式(2)可化簡(jiǎn)為
(3)
而實(shí)際情況中車載攝像頭的俯仰角θ非常小,因此在攝像頭Fc和Hc相關(guān)參數(shù)不變的情況下,目標(biāo)車輛距離可以通過車道線消失點(diǎn)的縱坐標(biāo)yh和車輛底線縱坐標(biāo)yb推導(dǎo)得出。目標(biāo)位置中間點(diǎn)(x,y)可以作為車輛等效位置像素點(diǎn)O,結(jié)合車道線L1、L2,點(diǎn)O與L1、L2的相對(duì)位置可以通過幾何關(guān)系求得,進(jìn)而判斷出目標(biāo)車輛與車道的位置關(guān)系。
根據(jù)車輛與車道之間的相對(duì)位置關(guān)系,結(jié)合估測(cè)的車距,形成車距矩陣。對(duì)于車道數(shù)為N的場(chǎng)景,與之對(duì)應(yīng)的車距矩陣為N維。假設(shè)20為單車道車輛數(shù)最大值,車輛數(shù)不足20時(shí)補(bǔ)零處理,則3行20列的車距矩陣示例為需要說明的是,當(dāng)前車與測(cè)試車輛在不同車道時(shí),二者間垂直距離用測(cè)得的直線距離代替(垂直距離僅估算即可),其中非零元素代表前方車輛車距,主車道M0上,測(cè)試車與前車車距依次為2.74,7.55,16.93,24.36,25.24 m;側(cè)車道M1上,測(cè)試車與前車車距為4.16 m;側(cè)車道M2上,測(cè)試車與前車車距為1.76 m。對(duì)應(yīng)測(cè)試樣本圖如圖3所示。
圖3 測(cè)試樣本
圖3中的車輛上方對(duì)應(yīng)的數(shù)字是距車載攝像頭的直線距離,在實(shí)際的駕駛環(huán)境中,基于當(dāng)前用戶視角下,前方車輛會(huì)出現(xiàn)被遮擋的情況,被遮擋的車輛無(wú)法被車載攝像頭檢測(cè)到。僅通過檢測(cè)到的車輛來(lái)判斷道路擁堵情況,與實(shí)際情況相差較大。因此,本文對(duì)車距矩陣進(jìn)行均值優(yōu)化后,再進(jìn)行補(bǔ)零處理。
① 記兩車之間車距的平均值為davg。
② 對(duì)于第N行第i個(gè)車距值,記d0=0,若di-di-1>2·davg,則在di前面插入數(shù)值(di-1+davg)。
③ 插入數(shù)值后,更新第N行,如果第N行元素個(gè)數(shù)少于20,或插入的數(shù)值小于100時(shí),重復(fù)操作②。
④ 完成插值后,元素個(gè)數(shù)不足20補(bǔ)零處理,其他行元素優(yōu)化處理同上,直到完成優(yōu)化為止。
上述測(cè)試樣本圖3對(duì)應(yīng)的車距矩陣經(jīng)過優(yōu)化后,如表1所示。與經(jīng)圖像測(cè)得的初始車距矩陣相比,經(jīng)過優(yōu)化的車距矩陣在保留測(cè)得的車距信息的同時(shí),更符合實(shí)際的道路車輛分布。
表1 優(yōu)化后的車距矩陣 單位:m
當(dāng)前提出的道路擁堵評(píng)估模型,沒有統(tǒng)一的評(píng)價(jià)指標(biāo)。本文提出了基于用戶視角的對(duì)當(dāng)前道路場(chǎng)景的擁堵評(píng)價(jià)指標(biāo)。
2.1.1 車輛間擁堵
根據(jù)查閱的相關(guān)文獻(xiàn),天氣情況、道路類型、行車速度和加速度等諸多因素都會(huì)影響安全車距。為了簡(jiǎn)化模型,車輛行駛速度低于40 km/h時(shí),記安全車距為30 m,可認(rèn)為存在一定程度的道路擁堵;對(duì)于前方相鄰兩輛車,若二者之間車距小于駕駛舒適車距,則此情況造成一定程度的擁堵,相反則不會(huì)影響交通擁堵情況。對(duì)于前方相鄰兩車,擁堵指標(biāo)如下:
s=λsd
(4)
(5)
式中,λ為舒適系數(shù);sd為低速行車時(shí)的安全車距,這里取30;s為駕駛舒適車距;cn為前方第n輛車造成的擁堵程度;dn為第n輛車與用戶間距離,當(dāng)n=0時(shí),dn=0。
2.1.2 單車道擁堵指標(biāo)
在前方總計(jì)N輛車的單車道上,所有車輛累積所造成道路擁堵計(jì)算公式為
(6)
式中,an為車距影響系數(shù),與車距dn成反比?;诋?dāng)前用戶視角來(lái)說,前方車輛距離越遠(yuǎn),其車輛間擁堵指數(shù)對(duì)當(dāng)前用戶使用車道影響作用越小,對(duì)應(yīng)的an值也越小。
2.1.3 多車道擁堵
在實(shí)際道路行駛中,用戶是否處于擁堵場(chǎng)景,主要取決于同向行駛的車輛分布,因此,本文模型的檢測(cè)對(duì)象為前方同向行駛的車輛。在多車道場(chǎng)景行駛情況下,當(dāng)前用戶車輛的車道為主車道,其他為次車道,各個(gè)車道擁堵指數(shù)同單車道擁堵方式計(jì)算,當(dāng)車道數(shù)為m時(shí),當(dāng)前道路擁堵指數(shù)為
(7)
式中,C0、Ci分別為主車道、次車道擁堵指數(shù);b0、bi分別為對(duì)應(yīng)車道的車道影響系數(shù),且b0>bi,各系數(shù)之和為1,即b0+b1+bi+…+bm-1=1。
假設(shè)最擁堵情況是每條道路20輛車在100 m內(nèi)均勻分布,依據(jù)本文提出得道路擁堵指標(biāo),可得最大擁堵指數(shù)Cmax。本文將道路擁堵情況分為5個(gè)級(jí)別,分別是非常暢通、暢通、擁堵、比較擁堵和嚴(yán)重?fù)矶?,如?所示。
表2 擁堵等級(jí)劃分
根據(jù)擁堵指數(shù)比值C/Cmax,當(dāng)前道路擁堵情況可分為5個(gè)級(jí)別;當(dāng)C/Cmax>1,即當(dāng)前道路擁堵指數(shù)C大于最大擁堵指數(shù)Cmax時(shí),屬于嚴(yán)重的道路擁堵情況。
經(jīng)過多個(gè)分類模型的對(duì)比實(shí)驗(yàn)分析,本文選擇了效果較好的LSTM 網(wǎng)絡(luò)。LSTM網(wǎng)絡(luò)由Hochreiter等[14]提出,以解決循環(huán)神經(jīng)網(wǎng)絡(luò)長(zhǎng)期依賴的問題,LSTM網(wǎng)絡(luò)模塊示意圖如圖4所示。
圖4 LSTM網(wǎng)絡(luò)模塊示意圖
在LSTM網(wǎng)絡(luò)模型中,記憶單元的輸出通過以下公式迭代計(jì)算:
ft=σ(Wf·(ht,xt)+bf)
(8)
it=σ(Wi·(ht-1,xt)+bi)
(9)
(10)
(11)
ot=σ(Wo·(ht-1,xt)+bo)
(12)
ht=ot·tanh(Ct)
(13)
本文依據(jù)提出擁堵的指標(biāo)構(gòu)建了單車道、雙車道和三車道三類道路交通場(chǎng)景的矩陣數(shù)據(jù)集,其包含了非常暢通、暢通、擁堵、比較擁堵和嚴(yán)重?fù)矶?種交通情況,其各種交通情況由多類道路交通場(chǎng)景多個(gè)矩陣表示,共有矩陣7000個(gè)。實(shí)驗(yàn)基于Window 7系統(tǒng)(雙核1.6 GHz CPU,12 GB內(nèi)存)、以Python編程語(yǔ)言完成訓(xùn)練。
依據(jù)文中擁堵評(píng)價(jià)指標(biāo),道路擁堵情況被分為多個(gè)等級(jí),道路擁堵研究由分析問題最終轉(zhuǎn)變成分類問題。本文基于用戶視角,利用LSTM分類網(wǎng)絡(luò)搭建了道路擁堵分析模型,如圖5所示。
圖5 道路擁堵分類流程圖
首先,視頻圖像輸入到訓(xùn)練好的YOLOv3車輛檢測(cè)網(wǎng)絡(luò),同時(shí)利用建立約束區(qū)域的Hough變換檢測(cè)車道線,可獲得車輛位置、車道線和車道線消失點(diǎn);然后依據(jù)車距估測(cè)方法獲得相關(guān)車距信息,同時(shí)根據(jù)車輛、車道線圖像坐標(biāo)關(guān)系可判斷出車輛與車道的位置關(guān)系;接著根據(jù)車距、車輛與車道線位置關(guān)系,可以組合得到車距矩陣;最后將車距矩陣作為訓(xùn)練好的LSTM分類網(wǎng)絡(luò)的輸入,可輸出當(dāng)前道路情況擁堵分類結(jié)果。
為了驗(yàn)證本文提出的判斷道路交通擁堵的方法,測(cè)試樣本選取了12段車道線比較明顯的車載視頻,并且與傳統(tǒng)的KNN算法、SVM分類模型進(jìn)行對(duì)比分析。其中,5個(gè)道路擁堵等級(jí)的待測(cè)試樣本各占400份,部分測(cè)試樣本如圖6所示。
圖6 部分實(shí)驗(yàn)測(cè)試圖片
采用傳統(tǒng)的KNN算法和SVM(Support Vector Machine,支持向量機(jī))分類模型對(duì)5類道路擁堵等級(jí)進(jìn)行試驗(yàn),結(jié)果分別如表3、表4所示。本文提出的基于LSTM道路擁堵分類模型的測(cè)試結(jié)果如表5所示,其對(duì)5類道路擁堵準(zhǔn)確判斷數(shù)分別為367、323、324、362、384,分類效果較好。
表4 SVM分類模型
表5 LSTM分類模型
根據(jù)傳統(tǒng)的KNN算法和SVM分類模型分類結(jié)果可知,這兩種分類算法對(duì)非常暢通和嚴(yán)重?fù)矶路诸愋Ч鄬?duì)較好,分類準(zhǔn)確率相對(duì)較高;對(duì)處于中間擁堵等級(jí)的分類,錯(cuò)誤類別較多,錯(cuò)誤數(shù)較高,分類效果相對(duì)較差。
將表5與表3、表4測(cè)試結(jié)果綜合對(duì)比可知,本文提出的基于LSTM網(wǎng)絡(luò)的道路擁堵分析模型對(duì)各個(gè)擁堵等級(jí)的分類正確數(shù)都相對(duì)較高,并且對(duì)處于中間較難區(qū)分的道路擁堵等級(jí)也有相對(duì)較好的分類效果。匯總KNN算法、SVM分類模型和本文模型對(duì)道路擁堵識(shí)別率,如表6所示。
表6 擁堵等級(jí)識(shí)別率匯總
根據(jù)表6可知,在5個(gè)擁堵等級(jí)的樣本測(cè)試結(jié)果中,本文模型識(shí)別準(zhǔn)確率均為最高,平均識(shí)別率達(dá)到了88%,平均識(shí)別率比傳統(tǒng)KNN算法提高了10.35%,比SVM分類模型提高了20.95%。與傳統(tǒng)KNN算法和SVM分類模相比,本文模型對(duì)處于中間較難區(qū)分的道路擁堵等級(jí),也有相對(duì)較好的識(shí)別率。該測(cè)試結(jié)果說明,相比于傳統(tǒng)KNN算法和SVM分類模型,基于LSTM分類模型更適合作為道路擁堵分類模型。
本文提出了基于用戶視角道路擁堵評(píng)價(jià)指標(biāo),采用了基于用戶視角分解道路交通要素和LSTM網(wǎng)絡(luò)相結(jié)合的道路擁堵分析模型。本文模型基于用戶視角在當(dāng)前時(shí)刻進(jìn)行道路擁堵分析,解決了傳統(tǒng)方法分析一段時(shí)間內(nèi)道路網(wǎng)交通要素實(shí)時(shí)性差的問題。將本文模型在測(cè)試樣本圖中進(jìn)行測(cè)試,識(shí)別率達(dá)到了88%,驗(yàn)證了基于用戶視角分解道路交通要素和LSTM網(wǎng)絡(luò)相結(jié)合的模型在道路擁堵分析上有較好的效果。在今后的研究中,道路交通要素分解的優(yōu)化將成為筆者研究工作的重點(diǎn),將盡力從實(shí)時(shí)視頻中實(shí)現(xiàn)用戶視角分析當(dāng)前道路擁堵情況,進(jìn)一步改善實(shí)時(shí)性的問題。