摘 ?要:交通阻塞通常是由于城市路口實際通行能力不足造成的,針對這一現(xiàn)狀,設計了基于計算機視覺和深度學習的流量監(jiān)控智能交通燈系統(tǒng)。近年來,計算機視覺以及神經(jīng)網(wǎng)絡技術(shù)[1]越來越成熟,對車輛以及行人的識別與檢測[2]越來越準確。本文模擬實際的道路交通路口,使用樹莓派[3]為主要控制器搭建模擬路口場景,將攝像頭采集的數(shù)據(jù)通過圖像處理以及神經(jīng)網(wǎng)絡,確定行車道路以及行人道路上的車輛數(shù)目和行人數(shù)目。通過數(shù)學建模確定交通燈的時延,動態(tài)設定交通燈亮滅的時長,徹底改變傳統(tǒng)的交通燈控制模式,從而有效地緩解交通阻塞。結(jié)果表明,本系統(tǒng)根據(jù)車輛和行人數(shù)目動態(tài)優(yōu)化交通燈時延,達到了實現(xiàn)交通燈智能化的目的。
關(guān)鍵詞:圖像處理;神經(jīng)網(wǎng)絡;樹莓派;目標識別
中圖分類號: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)
隨著經(jīng)濟的快速發(fā)展,城市機動車數(shù)量迅速增加,交通擁堵問題日益嚴重,導致交通事故和環(huán)境污染等負面影響日益突出[4]。城市交通問題直接制約著城市的建設和經(jīng)濟的發(fā)展,與人們的日常生活息息相關(guān)。如何有效緩解城市交通擁堵,合理地處理人與人、人與車的關(guān)系,在城市交通中已經(jīng)是特別常見的問題。交通燈是交通系統(tǒng)的主要部分,在緩解交通擁堵方面起著至關(guān)重要的作用。如今,在車水馬龍的道路上交通燈隨處可見,但交通燈變更時間長、效率低,造成很多資源浪費[5]。從20世紀開始,隨著計算機視覺技術(shù)和網(wǎng)絡技術(shù)的進步,以及相關(guān)理論的不斷完善,智能交通系統(tǒng)迅速發(fā)展,出現(xiàn)了越來越多的智能控制方式來解決現(xiàn)實交通擁堵的問題。該系統(tǒng)通過對車輛和行人進行目標識別,根據(jù)識別到的車道上車輛的數(shù)量和人行道上行人的數(shù)量對交通信號燈進行實時控制,實現(xiàn)道路資源利用最大化,達到構(gòu)建智能社會的目的。
2 ? 主要技術(shù)(Main techniques)
2.1 ? 神經(jīng)網(wǎng)絡模型
目前流行的神經(jīng)網(wǎng)絡有很多種,如CNN卷積神經(jīng)網(wǎng)絡、RNN卷積神經(jīng)網(wǎng)絡、FCN全連接神經(jīng)網(wǎng)絡、SVM支持向量機等,還有很多成熟的網(wǎng)絡結(jié)構(gòu),如VGG網(wǎng)絡結(jié)構(gòu)、SSD(Single Shot MultiBox Detector)網(wǎng)絡結(jié)構(gòu)、YOLO網(wǎng)絡結(jié)構(gòu)等。本系統(tǒng)采用SSD[6]目標檢測網(wǎng)絡實現(xiàn)對路口車輛和行人進行檢測和統(tǒng)計。SSD里的Single Shot是指SSD算法屬于one-stage方法,MultiBox是指SSD算法是基于多框檢測的一種算法。SSD采用的主干網(wǎng)絡是VGG 16網(wǎng)絡,但是SSD用到的VGG 16網(wǎng)絡相比普通的VGG 16網(wǎng)絡在神經(jīng)網(wǎng)絡層上有一定的改進。
2.2 ? socket套接字網(wǎng)絡通信
本系統(tǒng)采用socket套接字進行網(wǎng)絡通信[7]。socket是一個網(wǎng)絡通信的套接字,一般由IP地址和端口號兩部分組成。
2.3 ? Raspberry Pi的GPIO控制
樹莓派的輸入輸出針腳編號有兩種,一種是BOARD編號,另一種是BCM編號。本系統(tǒng)采用的是BCM編號。在使用一個輸入輸出針腳的時候,要設置其是輸入還是輸出,通過電壓差點亮一個LED燈或者是驅(qū)動某些設備。當程序運行結(jié)束的時候,要將所有的GPIO引腳都設置為輸入端,防止GPIO引腳相互接觸導致短路而損壞樹莓派。
3 ? 方案設計(Schematic design)
3.1 ? 智能交通燈系統(tǒng)框架設計
本系統(tǒng)共有四個模塊:視頻采集模塊、圖像處理模塊、延時計算模塊以及網(wǎng)絡通信模塊。視頻采集模塊是用攝像頭實時采集道路上的車輛和行人的情況,實現(xiàn)數(shù)據(jù)采集;圖像處理模塊用神經(jīng)網(wǎng)絡模型實現(xiàn),實現(xiàn)車輛和行人數(shù)目的計算;延時計算模塊用于控制交通燈的亮滅;網(wǎng)絡通信模塊用于檢測車輛和行人的圖像處理器進行通信,如圖1所示。
3.2 ? 技術(shù)方案
本系統(tǒng)采用樹莓派做主要控制器,通過四個主控制器來控制交通燈系統(tǒng),其中兩個主控制器分別控制東西方向和南北方向車行道上的交通燈,另外兩個主控制器分別控制東西方向和南北方向人行道上的交通燈。同時,使用工業(yè)攝像頭來進行數(shù)據(jù)的采集,將采集到的數(shù)據(jù)分別輸入四個主控制器,對路口車輛和行人進行預測,將預測出來的結(jié)果通過socket套接字輸入延時計算模型中計算出交通燈的時延,實現(xiàn)動態(tài)設定交通燈的時長。
車輛數(shù)目與交通燈時延的數(shù)學模型為c_model,詳見式(1):
(1)
其中,m為檢測到車輛的數(shù)目,k為每輛車的啟動時間,d為兩個行車交通燈系統(tǒng)的距離,B為每輛車的長度(只考慮小轎車),v是每輛車的行駛速度。
行人數(shù)目與交通燈時延的數(shù)學模型為p_model,詳見式(2):
(2)
其中,s為人行道的長度,w為人行道的寬度,n為行人的個數(shù),v為行人的平均速度,a表示一個行人所占人行道的長度,b表示一個行人所占人行道的寬度,c為一個固定的時長,為1—3 s,系統(tǒng)的魯棒性最高。
圖2給出了該系統(tǒng)模擬實際十字路口的示意圖。圖中包括東西向、南北向的行車道和人行道、4 個車行道的智能交通燈和8 個人行道的智能交通燈,4 個車行道的交通燈用來監(jiān)測車流量,1和7用于監(jiān)測東西向的車流量,4和10用于監(jiān)測南北向的車流量;8 個人行道的交通燈用來監(jiān)測人流量,3、5、9、11用于監(jiān)測東西向的人流量,2、6、8、12用于監(jiān)測南北向的人流量。
3.3 ? 數(shù)據(jù)流圖
本文以東西方向上流通、南北方向上阻塞為例說明系統(tǒng)的詳細數(shù)據(jù)流圖,如圖3所示。當南北方向上的交通燈為綠色,東西方向上的交通燈為紅色的時候,東西方向上的攝像頭1、7、3、5、9、11開始采集數(shù)據(jù),將依次采集到的數(shù)據(jù)命名為數(shù)據(jù)1、數(shù)據(jù)7、數(shù)據(jù)3、數(shù)據(jù)5、數(shù)據(jù)9、數(shù)據(jù)11。將數(shù)據(jù)1和數(shù)據(jù)7依次輸入神經(jīng)網(wǎng)絡模型c_network進行車輛的監(jiān)測與識別,并分別統(tǒng)計識別到的車輛數(shù),數(shù)據(jù)1對應的車輛數(shù)記為CN1,數(shù)據(jù)7對應的車輛數(shù)記為CN7;將CN1和CN7輸入比較器獲得最大車輛數(shù),最大車輛數(shù)記為CNmax;將CNmax作為車輛數(shù)輸入c_model中,通過c_model模型的計算,得到在行車道上通過所有的車輛所用的時間Tc。與此同時,數(shù)據(jù)3、數(shù)據(jù)5、數(shù)據(jù)9和數(shù)據(jù)11也會依次輸入神經(jīng)網(wǎng)絡模型p_network進行行人的監(jiān)測與識別,并分別統(tǒng)計識別到的行人數(shù),數(shù)據(jù)3對應的行人數(shù)記為PN3,數(shù)據(jù)5對應的行人數(shù)記為PN5,數(shù)據(jù)9對應的行人數(shù)記為PN9,數(shù)據(jù)11對應的行人數(shù)記為PN11;將PN3、PN5、PN9和PN11輸入比較器獲得最大的行人數(shù),最大行人數(shù)記為PNmax;將PNmax作為行人數(shù)輸入p_model中,通過p_model模型的計算,得到在人行道上通過所有行人所用的時間Tp。隨后,主控制器1和主控制器2利用網(wǎng)絡通信socket套接字計算行車道上所有車輛通過所用的時間Tc與人行道上所有行人通過所用的時間Tp的最大值,記為T。此時的T就對應東西向交通燈綠燈亮的時長和南北向交通燈紅燈亮的時長,最后將T輸入智能交通燈的控制系統(tǒng)實現(xiàn)交通燈的控制,從而控制東西向交通燈綠燈亮的時長,以及南北向交通燈紅燈亮的時長。在南北向交通燈為紅燈的時候,執(zhí)行上述步驟,只需將圖3中的攝像頭1、7、3、5、9、11換成對應的工業(yè)攝像頭4、10、2、6、8、12,主控制器1和主控制器2換成對應的主控器3和主控制器4,就可以進行后續(xù)相同的操作。
3.4 ? 車輛和行人的預測
車輛和行人的預測結(jié)果如圖4所示。
經(jīng)多次實驗證明,本文開發(fā)的基于計算機視覺的流量監(jiān)控智能交通燈系統(tǒng)能夠?qū)崿F(xiàn)較好的監(jiān)測效果,但仍存在很大的改進空間。
首先,進一步優(yōu)化神經(jīng)網(wǎng)絡,調(diào)整網(wǎng)絡的層數(shù),在保證識別準確度的前提下,盡量減少神經(jīng)網(wǎng)絡結(jié)構(gòu)的層數(shù),減少內(nèi)存的消耗[8]。其次,雖然本文構(gòu)建的實物模型取得了較好的效果,但智能交通燈最后是要應用到現(xiàn)實的生活中,所以未來應該將該模型應用于實際交通路口場景中。
參考文獻(References)
[1] 李炳臻,劉克,顧佼佼,等.卷積神經(jīng)網(wǎng)絡研究綜述[J].計算機時代,2021(04):8-12,17.
[2] 謝娟英,劉然.基于深度學習的目標檢測算法研究進展[J].陜西師范大學學報(自然科學版),2019,47(05):1-9.
[3] 張敏,孫寧,張涌.基于樹莓派的十字路口車輛調(diào)度系統(tǒng)[J].智能計算機與應用,2020,10(08):224-226,230.
[4] 繆茸.交通信號燈智能控制系統(tǒng)的研究[J].科學技術(shù)創(chuàng)新,2019(32):77-78.
[5] 王思甜,趙禹平,劉云飛.基于圖像處理的城市智能化交通系統(tǒng)設計[J].科技與創(chuàng)新,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環(huán)境下基于Socket的數(shù)據(jù)傳輸軟件設計[J].數(shù)碼世界,2020(11):15-16.
[8] 吳進,錢雪忠.緊湊型深度卷積神經(jīng)網(wǎng)絡在圖像識別中的應用[J].計算機科學與探索,2019,13(02):275-284.
作者簡介:
秦曉暉(1987-),女,碩士,講師.研究領(lǐng)域:中文信息處理,人工智能.