


摘 ?要:交通阻塞通常是由于城市路口實際通行能力不足造成的,針對這一現狀,設計了基于計算機視覺和深度學習的流量監控智能交通燈系統。近年來,計算機視覺以及神經網絡技術[1]越來越成熟,對車輛以及行人的識別與檢測[2]越來越準確。本文模擬實際的道路交通路口,使用樹莓派[3]為主要控制器搭建模擬路口場景,將攝像頭采集的數據通過圖像處理以及神經網絡,確定行車道路以及行人道路上的車輛數目和行人數目。通過數學建模確定交通燈的時延,動態設定交通燈亮滅的時長,徹底改變傳統的交通燈控制模式,從而有效地緩解交通阻塞。結果表明,本系統根據車輛和行人數目動態優化交通燈時延,達到了實現交通燈智能化的目的。
關鍵詞:圖像處理;神經網絡;樹莓派;目標識別
中圖分類號:TP391 ? ? 文獻標識碼:A
Design and Implementation of Intelligent Traffic Light System for
Traffic Monitoring based on Computer Vision
QIN Xiaohui
(School of Computer Engineer, Taiyuan institute of technology, Taiyuan 030008, China)
qinxh@tit.edu.cn
Abstract: Traffic jams are usually caused by insufficient actual traffic capacity at urban intersections. Aiming at this problem, this paper proposes to design an intelligent traffic light system for traffic monitoring based on computer vision and deep learning. In recent years, with the increasing maturity of computer vision and neural network technology[1], recognition and detection[2] of vehicles and pedestrians have become more and more accurate. Actual road traffic intersections are simulated in this paper, and Raspberry Pi[3] is used as the main controller to build the simulated intersection scene. Data collected by camera determines the number of vehicles and pedestrians on driving and pedestrian roads through image processing and neural network. Delay of the traffic light is determined through mathematical modeling and duration of traffic lights on and off is dynamically set. Thus, traditional traffic light control mode is completely changed, so to effectively alleviate traffic jams. Results show that the system dynamically optimizes traffic lights delay according to the number of vehicles and pedestrians, and achieves the goal of intellectualizing traffic lights.
Keywords: image processing; neural network; Raspberry Pi; target recognition
1 ? 引言(Introduction)
隨著經濟的快速發展,城市機動車數量迅速增加,交通擁堵問題日益嚴重,導致交通事故和環境污染等負面影響日益突出[4]。城市交通問題直接制約著城市的建設和經濟的發展,與人們的日常生活息息相關。如何有效緩解城市交通擁堵,合理地處理人與人、人與車的關系,在城市交通中已經是特別常見的問題。交通燈是交通系統的主要部分,在緩解交通擁堵方面起著至關重要的作用。如今,在車水馬龍的道路上交通燈隨處可見,但交通燈變更時間長、效率低,造成很多資源浪費[5]。從20世紀開始,隨著計算機視覺技術和網絡技術的進步,以及相關理論的不斷完善,智能交通系統迅速發展,出現了越來越多的智能控制方式來解決現實交通擁堵的問題。該系統通過對車輛和行人進行目標識別,根據識別到的車道上車輛的數量和人行道上行人的數量對交通信號燈進行實時控制,實現道路資源利用最大化,達到構建智能社會的目的。
2 ? 主要技術(Main techniques)
2.1 ? 神經網絡模型
目前流行的神經網絡有很多種,如CNN卷積神經網絡、RNN卷積神經網絡、FCN全連接神經網絡、SVM支持向量機等,還有很多成熟的網絡結構,如VGG網絡結構、SSD(Single Shot MultiBox Detector)網絡結構、YOLO網絡結構等。本系統采用SSD[6]目標檢測網絡實現對路口車輛和行人進行檢測和統計。SSD里的Single Shot是指SSD算法屬于one-stage方法,MultiBox是指SSD算法是基于多框檢測的一種算法。SSD采用的主干網絡是VGG 16網絡,但是SSD用到的VGG 16網絡相比普通的VGG 16網絡在神經網絡層上有一定的改進。
2.2 ? socket套接字網絡通信
本系統采用socket套接字進行網絡通信[7]。socket是一個網絡通信的套接字,一般由IP地址和端口號兩部分組成。
2.3 ? Raspberry Pi的GPIO控制
樹莓派的輸入輸出針腳編號有兩種,一種是BOARD編號,另一種是BCM編號。本系統采用的是BCM編號。在使用一個輸入輸出針腳的時候,要設置其是輸入還是輸出,通過電壓差點亮一個LED燈或者是驅動某些設備。當程序運行結束的時候,要將所有的GPIO引腳都設置為輸入端,防止GPIO引腳相互接觸導致短路而損壞樹莓派。
3 ? 方案設計(Schematic design)
3.1 ? 智能交通燈系統框架設計
本系統共有四個模塊:視頻采集模塊、圖像處理模塊、延時計算模塊以及網絡通信模塊。視頻采集模塊是用攝像頭實時采集道路上的車輛和行人的情況,實現數據采集;圖像處理模塊用神經網絡模型實現,實現車輛和行人數目的計算;延時計算模塊用于控制交通燈的亮滅;網絡通信模塊用于檢測車輛和行人的圖像處理器進行通信,如圖1所示。
3.2 ? 技術方案
本系統采用樹莓派做主要控制器,通過四個主控制器來控制交通燈系統,其中兩個主控制器分別控制東西方向和南北方向車行道上的交通燈,另外兩個主控制器分別控制東西方向和南北方向人行道上的交通燈。同時,使用工業攝像頭來進行數據的采集,將采集到的數據分別輸入四個主控制器,對路口車輛和行人進行預測,將預測出來的結果通過socket套接字輸入延時計算模型中計算出交通燈的時延,實現動態設定交通燈的時長。
車輛數目與交通燈時延的數學模型為c_model,詳見式(1):
(1)
其中,m為檢測到車輛的數目,k為每輛車的啟動時間,d為兩個行車交通燈系統的距離,B為每輛車的長度(只考慮小轎車),v是每輛車的行駛速度。
行人數目與交通燈時延的數學模型為p_model,詳見式(2):
(2)
其中,s為人行道的長度,w為人行道的寬度,n為行人的個數,v為行人的平均速度,a表示一個行人所占人行道的長度,b表示一個行人所占人行道的寬度,c為一個固定的時長,為1—3 s,系統的魯棒性最高。
圖2給出了該系統模擬實際十字路口的示意圖。圖中包括東西向、南北向的行車道和人行道、4 個車行道的智能交通燈和8 個人行道的智能交通燈,4 個車行道的交通燈用來監測車流量,1和7用于監測東西向的車流量,4和10用于監測南北向的車流量;8 個人行道的交通燈用來監測人流量,3、5、9、11用于監測東西向的人流量,2、6、8、12用于監測南北向的人流量。
3.3 ? 數據流圖
本文以東西方向上流通、南北方向上阻塞為例說明系統的詳細數據流圖,如圖3所示。當南北方向上的交通燈為綠色,東西方向上的交通燈為紅色的時候,東西方向上的攝像頭1、7、3、5、9、11開始采集數據,將依次采集到的數據命名為數據1、數據7、數據3、數據5、數據9、數據11。將數據1和數據7依次輸入神經網絡模型c_network進行車輛的監測與識別,并分別統計識別到的車輛數,數據1對應的車輛數記為CN1,數據7對應的車輛數記為CN7;將CN1和CN7輸入比較器獲得最大車輛數,最大車輛數記為CNmax;將CNmax作為車輛數輸入c_model中,通過c_model模型的計算,得到在行車道上通過所有的車輛所用的時間Tc。與此同時,數據3、數據5、數據9和數據11也會依次輸入神經網絡模型p_network進行行人的監測與識別,并分別統計識別到的行人數,數據3對應的行人數記為PN3,數據5對應的行人數記為PN5,數據9對應的行人數記為PN9,數據11對應的行人數記為PN11;將PN3、PN5、PN9和PN11輸入比較器獲得最大的行人數,最大行人數記為PNmax;將PNmax作為行人數輸入p_model中,通過p_model模型的計算,得到在人行道上通過所有行人所用的時間Tp。隨后,主控制器1和主控制器2利用網絡通信socket套接字計算行車道上所有車輛通過所用的時間Tc與人行道上所有行人通過所用的時間Tp的最大值,記為T。此時的T就對應東西向交通燈綠燈亮的時長和南北向交通燈紅燈亮的時長,最后將T輸入智能交通燈的控制系統實現交通燈的控制,從而控制東西向交通燈綠燈亮的時長,以及南北向交通燈紅燈亮的時長。在南北向交通燈為紅燈的時候,執行上述步驟,只需將圖3中的攝像頭1、7、3、5、9、11換成對應的工業攝像頭4、10、2、6、8、12,主控制器1和主控制器2換成對應的主控器3和主控制器4,就可以進行后續相同的操作。
3.4 ? 車輛和行人的預測
車輛和行人的預測結果如圖4所示。
經多次實驗證明,本文開發的基于計算機視覺的流量監控智能交通燈系統能夠實現較好的監測效果,但仍存在很大的改進空間。
首先,進一步優化神經網絡,調整網絡的層數,在保證識別準確度的前提下,盡量減少神經網絡結構的層數,減少內存的消耗[8]。其次,雖然本文構建的實物模型取得了較好的效果,但智能交通燈最后是要應用到現實的生活中,所以未來應該將該模型應用于實際交通路口場景中。
參考文獻(References)
[1] 李炳臻,劉克,顧佼佼,等.卷積神經網絡研究綜述[J].計算機時代,2021(04):8-12,17.
[2] 謝娟英,劉然.基于深度學習的目標檢測算法研究進展[J].陜西師范大學學報(自然科學版),2019,47(05):1-9.
[3] 張敏,孫寧,張涌.基于樹莓派的十字路口車輛調度系統[J].智能計算機與應用,2020,10(08):224-226,230.
[4] 繆茸.交通信號燈智能控制系統的研究[J].科學技術創新,2019(32):77-78.
[5] 王思甜,趙禹平,劉云飛.基于圖像處理的城市智能化交通系統設計[J].科技與創新,2019(09):42-44.
[6] LIU W, ANGUELOV D, ERHAN D, et al. SSD: Single shot multibox detector[J]. Computer Vision, 2016, 9905(12):21-37.
[7] 王璇,王亮,楊玻.Linux環境下基于Socket的數據傳輸軟件設計[J].數碼世界,2020(11):15-16.
[8] 吳進,錢雪忠.緊湊型深度卷積神經網絡在圖像識別中的應用[J].計算機科學與探索,2019,13(02):275-284.
作者簡介:
秦曉暉(1987-),女,碩士,講師.研究領域:中文信息處理,人工智能.