金曉磊,陳 苗,劉喜慶
(1.西安工程大學電子信息學院,西安710600;2.國網新疆電力公司五家渠市供電公司,新疆五家渠 831300)
隨著城市生活節奏的加快,交通出行在現代經濟與社會發展的進程中占據著更加重要的位置。當今的交通信號燈基本都是定時控制,在某些時段、特殊情況下很難進行動態控制,會造成交通擁堵、尾氣排放增加等。為克服傳統交通燈的定時式控制的缺陷,設計智能的交通控制系統來提高交通效率,顯得尤為重要。智能交通燈控制系統是一種把各種先進控制技術結合在一起的綜合控制系統,各個時期的典型交通信號系統在不斷變化,控制技術也從以前的人工變為后來的計算機控制,整個控制系統領域朝著更高效、智能的方向發展[1]。神經網絡在智能交通控制系統中的應用涉及到交通模式分析、交通流量預測、交通控制方式選擇等各個方面[2-5]。其中,誤差反向傳播(Back Propagation, BP)神經網絡是目前應用最廣泛的神經網絡。胡立偉等[6]進行了基于BP神經網絡的擁塞環境下車輛運行風險識別研究,建立的神經網絡模型能準確識別車輛運行風險的關鍵因素并對其進行評估,為規避城市道路擁的車輛運行風險及擁塞治理提供了參考。孫德鑫[7]利用BP 神經網絡構建了一種公路流量預測模型,使用MATLAB軟件對交通數據進行研究和模擬,證明該預測模型實時性很好。陳鵬[8]提出了一種基于BP 神經網絡的公交智能實時調度模型研究及系統實現,將BP 神經網絡技術應用于智能公交的實時調度規劃,驗證智能公交的智能實時交通算法的可行性。
基于現有研究背景,在此設計一個把神經網絡應用在城市交通信號燈配時控制中的智能決策系統。通過確定輸入變量、訓練BP 神經網絡、設計GUI 來完成。利用訓練得到的神經網絡模型,結合當前交叉口車輛動態情況決策出交叉口的適宜綠燈時間,以更有力地保證道路的暢通,提高交通效率。
在進行交通燈時間決策時,需要知道選取哪些因素才能有效地反映綠燈時間長短。交通燈決策指標的選取原則主要包含全面性、明確性和實用性三方面。全面性原則是指交通狀態相對復雜,很難用一個指標來清楚地描述。為了避免僅從單個方面研究交通狀態而導致錯誤判斷,指標的選擇應盡可能全面。明確性原則是指指標應含義明確,易于理解,可以清楚地衡量交通狀況。實用性原則是指選擇的指標應易于使用,并為使用它們的人所理解和接受。基于以上三項原則,本設計算法選取交通流的三個相關參數:車速、車流量和車輛密度,作為決策指標。
車速就是所謂的車輛行駛速度,國際上使用的單位是km/h。通過測量駛過道路上的車輛速度可以判斷道路的通行狀態,車速較快代表道路比較順暢,不堵車;車速慢就代表道路比較堵塞。通過各種類型的車速測試儀可以快速地獲取車速,該參數數據比較容易獲取。
車流量是指在一定時間內通過一定道路或馬路的車輛數量。車輛交通流量大,說明道路暢通;車輛交通流量小,說明道路堵塞。通過車流量傳感器檢測[9]、車載衛星[10]、射頻模塊[11]或是由視頻圖像檢測[12]等來獲得這一數據都是現實可行的。
車輛密度指在某個時刻某段道路上車輛數與該路段長度的比值[13]。一般來說,單位長度的路段上停滯的車輛少,表明交通系統運行良好。如果某時刻某路段的車輛密度檢測值接近于該路段的最大車輛密度值,那么該路段極大可能處于擁堵狀態。因此,通過觀測車輛密度可以掌握一定的路段交通狀態。而如今利用車聯網、定點檢測器、航空拍攝等技術即可得到需要的車輛密度,技術手段的成熟讓數據更準確、更全面。
人工神經網絡(Artificial Neural Network, ANN)是模擬生物神經網絡進行信息處理的一種數學模型,在眾多的領域都有不同的應用,如模式識別、系統識別、智能控制等。神經網絡的一個重要特征是其自學能力,尤其是在智能控制領域,可以幫助人們解決控制器的適應性問題。為了掃除阻礙ANN 發展的障礙,完全消除對多層感官網絡的懷疑,Rumelhart和 McClelland 于1986 年提出多層前饋網絡的誤差反向傳播(Error Back Propagation)學習算法,簡稱BP算法。到目前為止,BP 算法已經成為應用最廣泛、研究最多、發展最快的算法。在智能交通系統中,因為在正常的交通條件下有隨機和非線性的特點,使用一般的方法識別是很難實現的,而且精度也很低,此時正適合于用BP 神經網絡來實現。與傳統的模型技術相比,BP 神經網絡的優點是:① 有自適應能力;②有自學功能;③在非線性中映射能力更強;④處理系統輸入、輸出的效率更高。
BP 網絡的設計主要包括網絡層數、各層神經元個數及學習方法的確定。綜合考慮決策系統的復雜度,此處擬用三層的 BP 網絡,即一層輸入層、一層隱含層、一層輸出層。在BP 網絡中,可以自行確定各層的神經元數量。本系統決策指標選取了三個參數,因此輸入層的節點數為三個,輸出層的節點數為一個(控制當前通行方向的綠燈時間)。該網絡模型只有一個隱含層,可以通過增加隱含層神經元的數量來提升精度,此方法要比增加網絡系統的隱含層更加簡單方便。
一般情況下,隱含層神經元個數的計算式如下式所示:

其中,n 為輸入層神經元數量,m 為輸出層神經元數量,a 表示的是1~10 之間的任一常數。由式(1)可以計算得到隱含層神經元數量的范圍是[3,12],模型最終確定隱含層神經元節點數為9。
本設計使用MATLAB R2016b 進行編程,調用工具箱中的一些相關函數,創建、訓練BP 神經網絡模型。訓練中使用的數據為某地區的觀測交通數據,包括車速(km/h)、車流量(輛)、交通密度和與它們對應的交通燈綠燈時間(s)。
使用newff 函數創建神經網絡,其中performFcn設置為“mse”,也就是誤差使用均方根誤差;trainFcn設置為“trainlm”,也就是訓練算法選用Levenberg-Marquadt 反傳算法,它是速度最快的一種訓練算法。在訓練前還需對參數進行設定,迭代最大次數設定為70 次,訓練目標設為0.005,也就是均方根誤差小于0.005 訓練才會結束。學習率設定為0.01。
模型訓練完成后,使用三十個樣本進行測試,判斷其性能。評價指標選擇決定系數,其計算公式如下式所示:

測試樣本的決策結果對比如圖1 所示。圖中直觀展示了真實值與決策值之間的誤差大小。可以看到三十個測試樣本中,絕大多數樣本的決策值都與真實值非常接近。決定系數為0.97945,非常接近于1,表明模型的性能很好,能很好地根據輸入的車速、車流量和交通密度決策出最佳的交通燈時間。

圖1 決策結果對比圖
因為本設計中訓練集和測試集是從調研數據中隨機分配產生的,所以會因訓練集的不完全相同導致訓練出的模型有細微差別。但這種細微差別對模型的功能實現是沒有影響的,訓練出來的神經網絡模型都能很好地進行決策。表1 列出了連續九次隨機生成訓練集和測試集后,訓練出模型的決定系數。從中我們可以看出,雖然每次訓練出的模型不完全相同,但決定系數都較高,都能很好地根據輸入的車速、車流量和交通密度決策出最佳的綠燈時間。
基于神經網絡的交通燈智能決策模型訓練好以后,就可以用它來根據實時觀測的車速、車流量和交通密度數據決策當前最佳綠燈時間。設計一個圖形用戶界面(GUI),如圖2 所示,來更直觀地展示本設計中的智能決策系統。

圖2 交通智能決策系統GUI 操作界面
在制作好的GUI 界面中輸入車速、車流量和交通密度數據,點擊決策按鈕,神經網絡模型決策出的結果會輸出到最佳交通燈時間文本框中。用以下兩種情況下的實測案例來驗證本設計能否完成最初設定的系統功能:
1) 當車速處于極大時
在車速、車流量和交通密度可編輯文本中分別輸入數字55,23,20,點擊決策按鈕,輸出的最佳交通時間顯示為30s。通過數據可以看出此時的路口車速較高且車流不大,因此將當前路口綠燈時間設定為30s 是合理的。與訓練數據作比較,此時的數據也比較符合實際。
2) 當車速處于極小時
在車速、車流量和交通密度可編輯文本中分別輸入數字4,84,81,點擊決策按鈕,輸出的最佳交通時間顯示為90s。通過數據可以看出:此時的路口車速相當小,且車流量相當大,因此將當前路口綠燈時間設定90s 比較合理。
通過模型訓練結果分析和上述測試,可以看出本設計中的決策模型能很好地根據觀測到的當前車速、車流量和交通密度數據決策出最佳綠燈時間。當前路口車速越快,車流量越小,相應交通密度也越小,決策出的綠燈時長越短;車速越慢,車流量越大,交通密度也越大,決策出的綠燈時長越長。交通燈可根據實時路況信息進行動態調整,以此能夠改善交通運輸的效率,提升交通的智能化。
時代發展迅速,交通壓力增大,道路嚴重堵車的情況普遍可見,因此根據當前道路交通情況智能決策綠燈時間顯得尤為重要。本設計利用神經網絡來控制交通燈,實現城市交通燈的智能控制。利用已知的交通流數據進行神經網絡的訓練,并設計GUI進行仿真。仿真結果證明了BP 神經網絡可以很有效地決策出適宜的綠燈時間。本設計選取的決策變量主要是各種交通流參數(交通速度、交通流量、交通密度等),皆屬于便于處理的外部因素,在進一步的研究中,考慮可將交通參與者的主觀感受和駕駛員各種微觀行為納入決策指標中。