程宇陽 周丙濤* 施成熙
(湖北民族大學 新材料與機電工程學院,湖北 恩施 445000)
隨著我國人民日常出行水平的不斷提高,最近幾年我國汽車銷量總體呈現大幅度上升趨勢。機動車數量急劇增長,帶來交通擁堵、交通事故、尾氣排放增加和能耗增多等一系列影響,因此交通擁堵成為了一個日漸嚴重的問題,尤其是城市多向交通路口的擁堵,綠時延誤嚴重,降低了人們的出行效率且浪費資源。顯然智能交通系統(Intelligent Traffic System,ITS)是未來解決城市交通擁堵等問題的有效手段。城市交叉口信號燈的合理配時是ITS系統的核心,為交通智能控制、解決城市交通路網的通行能力等提供了重要保障。
傳統的信號燈控制方式可分為兩類,定時控制和分時段控制,而缺點就是造成某些方向綠時浪費而有些方向上車輛延誤嚴重。由于交通系統的復雜性,很難建立精確的控制模型,而模糊控制的特點就是不需要對被控對象建立模型就可以精確控制,許多學者都將模糊控制應用于交通信號控制[1-16]。文獻[17]對機動車、非機動車及行人流的自身特點進行分析的基礎上,以排隊車輛、延誤為優化目標,提出混合交叉口交通信號配時優化方法,并基于實測數據運用交通流仿真軟件對優化方案進行校驗,但在時間延誤方面上有待提高。文獻[18]提出一種基于四相位的交通信號模糊控制方法,下一綠燈相位,由當前紅燈相位交通強度決定,采用可變相位順序。利用一種改進的遺傳算法對模糊控制系統進行優化,自適應地調整交叉與變異算子,采用人工編寫的仿真程序來驗證控制方法。文獻[19]提出了一種基于差分進化算法和狀態空間模型遺傳算法的兩階段混合優化算法,建立以車輛平均等待時間最小為目標的數學模型進行優化。文獻[20]提出一種基于經驗的模糊交通控制方案,在交通流量較大時,該方法控制效果較好,但其模糊規則依賴于交警的經驗。
本文提出一種基于長短期記憶人工神經網絡(LSTM)的交通燈信號模糊控制方法。模糊控制系統采用四相位定相序,并利用LSTM的隸屬度函數和模糊規則進行優化。現有的仿真實驗大多在MATLAB或人工編寫的仿真環境下進行模糊控制方法的驗證,但這種仿真環境與實際路網情況有較大差距,局限性較強。綜上,本文采用SUMO仿真軟件作為仿真實驗環境,通過對SUMO仿真軟件的二次開發,實現本文中的模糊控制方法,由此可獲得更加貼合路網實際情況的仿真過程和實驗數據。
SUMO軟件具有強大的生成路口、車輛、行人等功能,是一個開源的、微觀的、多模式交通仿真軟件包。并且軟件有自帶Python接口,可以進行Python二次開發,整體功能靈活強大。模擬是時間離散和空間連續的,并且在內部描述每個車輛的位置,即所在的車道和從起點開始的距離。SUMO交通建模定義區域的交通群體總數,計算該群體的移動性愿望并作為交通模擬器的輸入,使用Dijkstra路由算法計算在交通網絡中的路線。SUMO的車輛和駕駛員模型采用Gipps模型的擴展型。它能夠顯示交通的主要特征,如自由流和擁擠流。在每個時間步驟,車輛的速度適應于前車的速度,避免在隨后的步驟中產生碰撞。該模型是無碰撞的,所以模擬中不允許模型的不完整造成的變異出現。
我們選擇的路口模型如圖1、2所示,東、南、西、北4個進道口均存在左轉、直行、2個方向交通流。信號配時圖代表了信號配時方案,本文采取四相位信號配時圖。從第一相位開始路口依次設置成L1到L8,設置相關的參數并且導入地圖,相位順序逆時針方向,從第一相位到第四相位依次放行,一個逆時針放行完成為一個周期。

圖1 四相位順序圖

圖2 SUMO仿真平臺
本文所設計的路口包含每條路口延伸的100米,相應的后續介紹的算法中,對于路口車流量的監控范圍也是100米。車輛跟馳模型選用的是“SL2015”,該模型能夠貼合實際模擬出車輛的換道、超車等動作。
經過長時間的模擬,本文得到了15000組數據,用以下一步輸入神經網絡進行訓練。本文采用Python接口控制SUMO軟件完成仿真模擬,每一次模擬分為三步:
2.2.1 記錄路口狀況
設置每條路徑上的來車數量為0-100之間的隨機數,把交通路口交通燈的狀態全部設置為紅燈。當車輛全部到達路口形成等待狀態后,第一相位變為綠燈,將其狀態命名為S1,經過10s后記錄交通路口的狀態,即每個相位上的車輛等待數。
2.2.2 實時計算特征函數
對于整個路口的狀態評價,我們采用實時記錄的與通行能力、平均等待時間、和損失時間相關的特征函數Fitness,它的公式如下:

特征函數有三個部分組成,分別乘以相應的系數:?。
特征函數Fitness能夠從三個方面反映出相位配時對于路口通行效率的影響,根據不同需求,可以相應調整權重系數?,得到相應所需要的值。
2.2.3 計算最優特征函數值以及配時值
根據路口的相位變化,前一相位對于后一相位的影響是最嚴重的,例如前一相位的長期保持勢必會使得后一相位發生排隊擁堵。在此實驗中,我們簡化研究對象,僅僅以第一相位的交通燈變化作為研究對象,將第一相位的時間設置為100s,然后計算每一秒的特征函數值,在次實驗中我們選擇?1,?2,?3都為1,如圖3所示是典型的函數值。

圖3 特征函數曲線圖
由圖可知,特征函數先上升,分析原因是通行車輛的增加,通行能力增強。達到最高后下降,此時等待時間和時間損失增加影響了特征函數值,所以最優點Fitnessmax綜合了通行能力和下一相位等待時間。
數據集的生成是基于以上描述的一個模擬周期,產生了一組輸入:路口相位車輛狀況;一組輸出Fitnessmax。經過試驗,一次模擬大概需要0.5 s。
LSTM(Long Short-Term Memory)是長短期記憶網絡,一種特殊的RNN網絡結構,適用于處理和預測時間序列中間隔和延遲相對較長的重要事件。LSTM已經在科技領域有了多方面應用。基于LSTM的系統不僅可以解決長期依賴性問題,還能夠解決神經網絡中的梯度爆炸及梯度消失等問題,在處理序列數據方面具有非常顯著的效果。
本文設計的LSTM結構如圖4所示,輸入的維度是4×1,由4個相位上的車輛數組成,按照相位時間的分布進行排列,符合LSTM的設計理念,形成了在時間上的遞歸。

圖4 LSTM結構圖
連接輸入的是兩層LSTM層,神經元數量分別為50和100。LSTM后,連接的是兩層Dense層,隱含層的神經元數量為100,激活函數選用的是Relu函數,公式如下:

是分段線性函數,把所有的負值都變為0,而正值不變,這種操作被稱為單側抑制,使得神經網絡中的神經元也具有了稀疏激活性。
網絡的損失函數選擇的是mae(均方誤差),公式如下:

表示預測值和實際值之間絕對誤差。
實驗所使用的數據集包含15000組數據,將數據按9:1的比例分為訓練集和測試集。學習率選用0.001,每個批次batch size=10,訓練1000個epochs,訓練5次后取平均值。我們記錄了模型在訓練過程中loss(train_loss)的變化。圖5顯示了train_loss曲線,圖6顯示了val_loss的曲線。試驗平臺選用Python,使用的工具箱為Tensorflow2.0。

圖5 train_loss曲線

圖6 val_loss曲線
由圖可知,訓練loss值在訓練初期迅速下降,到后來收斂趨于穩定。為了評價本文的算法,同時為了進行對比,我們建立了兩組對比實驗,一組采用傳統的固定配時,每組紅燈時間都為20s,一組為模糊算法配時,采用5個模糊子集{很少,少,適中,多,很多}來描述相位上的車輛信息,同時建立相應模糊規則,使得固定配時在10s-50s之間進行選擇。評價的基準我們選擇通行能力、平均等待時間和損失時間,整個實驗持續200s,實驗共進行5次,求五次的平均值。表1是實驗結果。

表1 結果對比
經對比分析可知,本文方法在降低平均等待時間和損失時間上有著明顯的優勢,而在通行能力上,模糊控制優于本文算法,綜合分析,本文算法兼顧了通行能力和其余車輛等待狀況,是更科學的方法。
本文基于兩車道的十字路口,提出一種基于長短期記憶人工神經網絡與SUMO仿真的交通信號燈配時優化方法。首先利用了SUMO仿真軟件,通過建立特征方程,將車道信息和車輛通行狀態進行數字化表征,生成了一組大數量的數據集。后建立了LSTM網絡,以路口狀態為輸入,最佳車輛通行狀態相位配時為輸出,經過訓練,損失函數收斂。后通過對比實驗可知,本文方法和固定配時、模糊控制相比在兼顧通行能力和其余車輛等待狀況上有著明顯優勢。