劉 振 ,張 祎, 慕 迪
上海市城鄉(xiāng)建設(shè)和交通發(fā)展研究院
道路交叉口是城市交通網(wǎng)絡(luò)聯(lián)結(jié)的關(guān)鍵節(jié)點(diǎn),交叉口通行效率降低極易引起道路擁堵,排堵的關(guān)鍵是交叉口交通通行效率的提升。與路段交通流不同,交叉口各種車流、人流交匯、分散、相互交織,交通流不具有明顯的方向性和順序性,而交叉口的道路條件、周邊交通環(huán)境等因素都會影響其通行能力[1]。準(zhǔn)確的交叉口交通狀態(tài)預(yù)測可以給交警出警提供參考信息,從而更有效、更快速地將警力部署到最需要的地方,將交通指揮警力由“被動”轉(zhuǎn)化為“主動”,由“經(jīng)驗(yàn)”轉(zhuǎn)化為“先驗(yàn)”。
相關(guān)學(xué)者對于路段速度預(yù)測和路口通行效率已有了較多的深入研究。朱順應(yīng)等[3]探討了路段上小時(shí)間間隔里的交通預(yù)測ARIMA模型,并對參數(shù)進(jìn)行了標(biāo)定和檢驗(yàn);翁劍成等[4]基于北京快速路數(shù)據(jù),構(gòu)建了一種基于K近鄰的非參數(shù)回歸短時(shí)交通預(yù)測模型;吳志周等[5]對比了傳統(tǒng)灰色預(yù)測模型和反向(BP)神經(jīng)網(wǎng)絡(luò)預(yù)測模型的優(yōu)缺點(diǎn),并建立了灰色神經(jīng)網(wǎng)絡(luò)點(diǎn)速度預(yù)測模型,經(jīng)過實(shí)例分析,該預(yù)測模型具有更好的效果。傳統(tǒng)的預(yù)測方法,比如自回歸滑動平均(ARMA)模型、貝葉斯模型等對于異常交通狀態(tài)下的交通預(yù)測能力較差,無法挖掘數(shù)據(jù)深層的特征信息,而卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)模型具有更強(qiáng)的數(shù)據(jù)特征提取能力,能夠處理更為復(fù)雜的問題,因此本文擬采用CNN模型,對地面交叉口的速度進(jìn)行短時(shí)預(yù)測研究,構(gòu)建的預(yù)測系統(tǒng)已經(jīng)在實(shí)戰(zhàn)中進(jìn)行了應(yīng)用和實(shí)踐,效果良好。
人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)是一種模擬生物神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和功能的數(shù)學(xué)模型或計(jì)算模型,由大量神經(jīng)元通過相互連接而構(gòu)成的自適應(yīng)非限行動態(tài)網(wǎng)絡(luò)系統(tǒng)。卷積神經(jīng)網(wǎng)絡(luò)[6]是常用的深度學(xué)習(xí)模型之一。卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)由輸入層、卷積層、池化層、全連接層和輸出層構(gòu)成。卷積層和池化層可以取多個(gè),采用卷積層和池化層交替設(shè)置方式。卷積層輸出特征面的每個(gè)神經(jīng)元與其輸入進(jìn)行局部連接,并通過對應(yīng)的連接權(quán)值與局部輸入進(jìn)行加權(quán)求和,并加上偏置值,得到神經(jīng)元的輸入值。
在大數(shù)據(jù)和云計(jì)算支撐下,采用卷積神經(jīng)網(wǎng)絡(luò)開展交叉口的過車速度預(yù)測,發(fā)揮多層的人工神經(jīng)網(wǎng)絡(luò)所具有的優(yōu)異的特征學(xué)習(xí)能力,既可以快速準(zhǔn)確地挖掘出隱藏在交通大數(shù)據(jù)背后的數(shù)據(jù)關(guān)聯(lián)關(guān)系,又可以避免基于統(tǒng)計(jì)方法的預(yù)測算法存在的“突發(fā)、異?!眻鼍邦A(yù)測不準(zhǔn)的局限。
研究的數(shù)據(jù)基礎(chǔ)是浮動車實(shí)時(shí)軌跡數(shù)據(jù)、交通信號控制數(shù)據(jù)和高精度的道路基礎(chǔ)數(shù)據(jù)。浮動車軌跡數(shù)據(jù)包含過車車輛ID、時(shí)間、經(jīng)度、緯度、瞬時(shí)速度、行車方向等字段;交通信號控制數(shù)據(jù)主要是相位周期、相序、路口飽和度、綠信比、綠燈過車數(shù);高精度的道路基礎(chǔ)數(shù)據(jù)主要包括車道級的道路交通標(biāo)線、交通標(biāo)志、交通隔離、防撞設(shè)施、安全島、綠化帶、支撐桿、龍門架、天橋、減速壟、交通信號、公交專用道、公交車站、路側(cè)停車位等信息。高精度交通地圖數(shù)據(jù)見圖1。
圖1 高精度交通地圖數(shù)據(jù)
在算法設(shè)計(jì)時(shí),系統(tǒng)將獲取的基礎(chǔ)數(shù)據(jù)處理為包含特征的矩陣,基于卷積神經(jīng)網(wǎng)絡(luò)模型對道路交叉口的車速進(jìn)行預(yù)測。具體流程見圖2。
圖2 技術(shù)路線圖
本文采用MAE(Mean Absolute Error,平均絕對誤差)和MAPE(Mean Absolute Percentage Error,平均絕對百分比誤差)來衡量模型效果。設(shè)真實(shí)值為y={y1,y2,y3,…,yn},預(yù)測值為MAE和MAPE的計(jì)算公式如下:
研究中,系統(tǒng)基于上海市2萬輛浮動車的軌跡數(shù)據(jù)、信號控制數(shù)據(jù)和道路網(wǎng)交通基礎(chǔ)數(shù)據(jù),實(shí)時(shí)處理成時(shí)間周期為2分鐘的路段速度,速度數(shù)據(jù)記錄的字段主要包含路段編號、時(shí)間和速度(見表1)。
表1 路段速度數(shù)據(jù)樣例
基于道路網(wǎng)交通基礎(chǔ)數(shù)據(jù)和路段速度數(shù)據(jù),篩選交叉口及其相關(guān)聯(lián)的路段和交通組織信息,融合計(jì)算出綠燈時(shí)交叉口的過車車速。
數(shù)據(jù)具體處理步驟如下:
(1)選取上海市外環(huán)線以內(nèi)的中心城內(nèi)的6 915個(gè)道路路段,將路段按照地理位置和交通組織下的路段聯(lián)通關(guān)系,對交叉口進(jìn)行序列編號和速度標(biāo)定;
(2)以交叉口10個(gè)連續(xù)時(shí)間的車速記錄為一組,按照路段編號序列形成一個(gè)10*6 915的序列值,作為神經(jīng)網(wǎng)絡(luò)訓(xùn)練的一組特征值;
(3)以2分鐘為時(shí)間滑動窗口,預(yù)測30分鐘后對應(yīng)交叉口的過車車速。
實(shí)戰(zhàn)中,選取了徐家匯區(qū)域內(nèi)8個(gè)交叉口作為預(yù)測案例,用以指導(dǎo)交通疏解的排/派警。以6個(gè)月的數(shù)據(jù)作為訓(xùn)練樣本,按照以上方法將數(shù)據(jù)處理成720*180個(gè)特征和標(biāo)簽的數(shù)據(jù)對,隨機(jī)抽取其中的60%作為訓(xùn)練數(shù)據(jù),20%作為評估數(shù)據(jù),20%作為測試數(shù)據(jù)。如以徐匯區(qū)虹橋路/漕溪北路交叉口為例的輸入數(shù)據(jù)見表2。
表2 輸入數(shù)據(jù)樣例
CNN通過卷積操作來提取輸入的不同特征。若干個(gè)特征面組成了卷積層,而特征面則是由多個(gè)神經(jīng)元組成的,這些神經(jīng)元通過卷積核與上一層的特征面的局部區(qū)域連接。就第一層卷積conv1來說,采用16個(gè)1層4*4大小的卷積核,每個(gè)卷積核對應(yīng)輸出一個(gè)特征面:
式中:是輸出層特征面k中i行j列的值;xi,j是輸入層某個(gè)特征面中第i行j列的值;l,k分別是輸入和輸出層的特征面編號;w是卷積核,其中是第k卷積核的特征面l中第m行n列的卷積核參數(shù);b是偏置項(xiàng);是激活函數(shù),這里采用ReLU函數(shù)作為激活函數(shù):
池化層跟在卷積層之后,也可以說卷積層是池化層的輸入。池化層的作用是二次提取特征,每個(gè)神經(jīng)元對局部接受域進(jìn)行池化操作。本文采用最大池化層(MAXPOOL),池化層的維度和步長選擇根據(jù)輸入調(diào)整,原則上輸入數(shù)據(jù)的維度越大,相應(yīng)池化層的維度和步長也稍大。
為了防止模型的過擬合,提高泛化能力,可以通過丟失數(shù)據(jù)(Dropout)技術(shù)隨機(jī)忽略一定比例的節(jié)點(diǎn)響應(yīng)。這里采用50% Dropout。
CNN結(jié)構(gòu)中,在經(jīng)過若干個(gè)卷積層、池化層后,連接一個(gè)或者一個(gè)以上的全連接層。全連接層整合卷積層、池化層中的局部信息。本文在全鏈接層中使用SIGMOID函數(shù)作為激活函數(shù):
式中:表示第l層第i個(gè)神經(jīng)元的輸出值;θ為參數(shù);kl表示第l層的神經(jīng)元數(shù)目;特別地,=1 。
最后一層全連接層后面連接輸出層,這里采用SOFTMAX函數(shù)作為輸出層:
式中:vi表示第i個(gè)元素。
卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練目標(biāo)是最小化網(wǎng)絡(luò)的損失函數(shù),這里損失函數(shù)采用交叉熵函數(shù):
在實(shí)戰(zhàn)中,我們采用了6個(gè)卷積、池化層+2個(gè)全鏈接層+1個(gè)SOFTMAX層,共9層深度,另外,為了避免過擬合并提高模型的泛化能力,在其中嵌入若干個(gè)Dropout層。
卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖3。
圖3 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
最終得到預(yù)測數(shù)據(jù),即30分鐘后的交叉口的過車預(yù)測速度。輸出的記錄包含交叉口名稱、時(shí)間和預(yù)測速度,具體見表3示例。
表3 輸出層樣例數(shù)據(jù)示例
本文構(gòu)建的卷積神經(jīng)網(wǎng)絡(luò)道路交叉口的車速預(yù)測模型系統(tǒng),通過實(shí)戰(zhàn)應(yīng)用效果良好。從MAE和MAPE兩個(gè)指標(biāo)來看,預(yù)測模型評價(jià)指標(biāo)MAE平均值為2.06,MAPE平均值為10.57%,說明預(yù)測結(jié)果與真實(shí)值的偏差較小,模型的預(yù)測效果較好。卷積神經(jīng)網(wǎng)絡(luò)交叉口車速預(yù)測模型評價(jià)結(jié)果如表4。
表4 卷積神經(jīng)網(wǎng)絡(luò)模型評價(jià)指標(biāo)
由于道路交通容易受到極端天氣、交通事件等影響,為車速預(yù)測帶來了一定難度。若僅以統(tǒng)計(jì)學(xué)方法利用歷史數(shù)據(jù)來進(jìn)行預(yù)測,在發(fā)生突發(fā)事件時(shí),得到的結(jié)果往往與實(shí)際相差甚遠(yuǎn),而卷積神經(jīng)網(wǎng)絡(luò)可以較好地避免這一技術(shù)局限。以2020年7月15日暴雨日為例,宜山路/欽州路交叉口在暴雨時(shí)采用傳統(tǒng)統(tǒng)計(jì)學(xué)方法的預(yù)測結(jié)果與實(shí)際車速有較大的差距,而卷積神經(jīng)網(wǎng)絡(luò)模型良好地預(yù)測了暴雨下車速的變化。具體見圖4。當(dāng)然,卷積神經(jīng)網(wǎng)絡(luò)模型也有一定的不足:一是調(diào)參復(fù)雜,二是需要的樣本量較大。但基于其良好的預(yù)測效果,卷積神經(jīng)網(wǎng)絡(luò)模型仍是不錯(cuò)的選擇。
圖4 暴雨時(shí)車速預(yù)測精度及車速曲線圖
在智能交通系統(tǒng)中,通過交叉口的車輛速度更能體現(xiàn)道路交通的暢通情況。本文基于車輛軌跡數(shù)據(jù)、交通信號控制系統(tǒng)數(shù)據(jù)和高精度交通地圖數(shù)據(jù),構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)模型,實(shí)現(xiàn)了對道路交叉口車速的短時(shí)預(yù)測。經(jīng)過誤差分析,該模型可以較準(zhǔn)確地預(yù)測交叉口的過車速度,為交叉口警力提前部署提供依據(jù)??紤]到速度僅僅是車輛通過交叉口的效率指標(biāo),而非通行的效能指標(biāo),因此在未來的研究中,可以在車速預(yù)測的基礎(chǔ)上,結(jié)合預(yù)測交叉口的流量數(shù)據(jù),為提升交叉口通行效能和措施執(zhí)行力提供數(shù)據(jù)支撐。