,,,,
(河北工業(yè)大學 控制科學與工程學院,天津 300130)
當今時代科技飛速發(fā)展,交通問題日趨嚴重,出行安全和出行效率與人們的生活息息相關。在一些以行人通行為主導的路口,行人很多,紅燈時間卻很長,引發(fā)了行人集體闖紅燈的“中國式過馬路”現(xiàn)象。
據(jù)公安部交管局部門統(tǒng)計,在每年的交通事故中,53%的死亡交通事故是由行人和非機動車闖紅燈引起的,全國每年因闖紅燈導致人員傷亡的道路交通事故有4227起,造成798人死亡,平均每天都有2人以上死于闖紅燈事故。普通紅綠燈不能智能調(diào)節(jié),而在所有路口投入警力又很浪費。
在近三年里的智能交通燈,例如盧東祥[2]基于云計算的研究,運用地磁線圈對車流量進行檢測,通過GPRS(GeneralPacket Radio Service)實現(xiàn)交通量數(shù)據(jù)的實時上傳,利用云計算機、STM32F103芯片等技術,實現(xiàn)交通流量與流向的實時反饋,最終達到智能控制交通燈的目的。但該研究未考慮行人因素,在學校、商場等行人聚集區(qū)并不通用,不能解決由行人帶來的交通擁堵問題。目前剛剛開始使用的還有按鈕式行人過街紅綠燈,但該設計僅將行人信息納入考慮范圍,卻不能識別交通現(xiàn)場的車流情況,不能進行合理的控制。
由此,本文提出了針對行人聚集區(qū)的智能交通燈系統(tǒng)。針對不同類型的路網(wǎng)結構,構建不同的數(shù)學模型,將數(shù)據(jù)用最優(yōu)化方案進行求解。利用由Raspberry Pi驅(qū)動的交通攝像頭采集交叉口當前狀態(tài)下的行人和車流的圖像,采用OpenCV圖像識別技術分別統(tǒng)計所采集到的圖像中的行人和車輛數(shù)目;同時由STM32驅(qū)動舵機帶動攝像頭旋轉,以采集不同角度的路況信息。
采集后將數(shù)值傳送到Raspberry Pi上,由Raspberry Pi通過預先設定好的算法進行紅綠燈時長的計算,繼而進行具體的紅綠燈信號控制,實現(xiàn)路權分配。從而達到對交叉口及其進出口道路的路況實時分析與人流、車流控制的目的。
本設計專門對惡劣天氣如霧霾、雨雪、強反光等狀態(tài)控制進行了優(yōu)化,在惡劣天氣條件下,攝像頭的檢測精度下降,系統(tǒng)因不能得到準確數(shù)據(jù)而陷入混亂的控制中。本設計會對得到的結果進行檢測,并與模型預測結果對比,當二者的數(shù)據(jù)誤差在允許范圍之內(nèi)時,認為監(jiān)測數(shù)據(jù)是準確的;當二者的數(shù)據(jù)誤差超出允許范圍時,則累計超出范圍的次數(shù),當連續(xù)多次超出時,則自動向監(jiān)視人員發(fā)出警告,進一步修改預測模型或維修攝像頭。
圖1 總體設計圖
本設計總體設計如圖1所示。通過OpenCV圖像識別技術利用攝像頭檢測并統(tǒng)計出行人數(shù)量和車流量,之后將數(shù)值傳送到Raspberry Pi上,再由Raspberry Pi內(nèi)部的智能控制算法計算得出行人與車輛的分配時間,再將決策傳遞到信號燈,完成一個周期內(nèi)路口的亮燈時間分配,同時STM32驅(qū)動舵機帶動攝像頭旋轉,使攝像頭采集數(shù)據(jù)的時間處在下一周期決策測定之前,從而完成對路口路況的實時控制。
圖2 GPIO引腳關系圖
1.1.1主控芯片
本設計主控芯片包括兩個主控芯片:STM32和Raspberry Pi。
STM32是ARM 32位的Cortex-M3芯片,負責控制舵機的角度以完成旋轉攝像頭的圖像采集。
Raspberry Pi是系統(tǒng)基于Linux系統(tǒng)的卡片式智能處理器系統(tǒng),負責驅(qū)動攝像頭、采集圖像及對圖像進行分析,并對分析結果(通過GPIO)進行具體的控制,即對12個LED燈代表的紅綠燈進行控制,模擬對交通路口的紅綠燈的控制。具體GPIO引腳關系見圖2。
1.1.2圖像采集模塊
本設計采用今貴PC CAMERA攝像頭,將攝像頭固定在舵機上使其跟隨舵機旋轉角度,同時將攝像頭的視頻線連接到Raspberry Pi的USB接口上,將舵機的控制線和電源線連到STM32的相應接口上,以進行相應的驅(qū)動和控制。
本設計在工作狀態(tài)下,通過STM32控制舵機進行攝像頭的旋轉,以采集不同區(qū)域相關信息。使用攝像頭進行識別既不會限制等待行人活動的區(qū)域,又降低了等待行人分散性對檢測的影響,識別算法采用OpenCV現(xiàn)有的分類器進行檢測,考慮到路口復雜多變的實際情況、現(xiàn)有的攝像頭檢測精度以及處理器的檢測時效問題,選取了fullbody.xml分類器進行行人數(shù)量的統(tǒng)計。
該分類器采用逐幀差的方法,對整個人的身體進行檢測,并將檢測結果用橢圓圈出,同時返回檢測到的行人數(shù)量,當檢測到采用model.xml分類器進行車輛數(shù)量的統(tǒng)計時,該分類器檢測攝像頭回傳視頻中車輛的正面及背面的特征,將檢測到的車輛數(shù)量以矩形標出,并將車輛數(shù)量返回主程序。
1.1.3舵機控制模塊
本設計采用盛輝MG995舵機,本模塊由主控制器Raspberry Pi與STM32和舵機配合使用,由主控制器Raspberry Pi向STM32傳遞信號,再由STM32控制舵機在固定的時間點旋轉固定的角度,以完成攝像頭對路口數(shù)據(jù)的采集。
舵機控制模塊整體過程的實現(xiàn)是Raspberry Pi在完成決策之后,在信號燈執(zhí)行該周期的任務時,將信號傳遞給STM32,STM32控制舵機在不同方位停留一定的時間以完成下一個周期數(shù)據(jù)的采集,并在該周期信號燈執(zhí)行完任務之前讓攝像頭將采集到的數(shù)據(jù)傳遞給Raspberry Pi,以完成對下一周期的決策。
本設計的智能決策的第一出發(fā)點是以人為本的理念,響應國家智慧城市和智慧生活的號召,提升行人在交通控制決策中的被關注度,切實提升行人的出行體驗。
第二是智能方案。將智能決策方案應用在交通路口,可以減少警察的工作量,降低人力投入,同時智能決策能使控制更加全面合理,出行將更加科學快速。
第三是惡劣天氣下的優(yōu)化控制方式。在雨雪、霧霾、強反光天氣條件下,攝像頭檢測精準度下降,設計內(nèi)部結合預測結果進行判斷是否進入優(yōu)化控制,即自動進入預先設定的根據(jù)實際情況提前模擬的時間模式,對紅綠燈進行控制,防止惡劣天氣下設備不工作而妨礙正常的交通秩序。
本設計的具體工作過程如圖3所示。
圖3 工作流程圖
在智能決策控制方案中,當Raspberry Pi接到圖像信號后,會首先對圖像中的行人數(shù)量和車輛數(shù)量進行檢測。根據(jù)行人數(shù)量檢測標準fullbody.xml、車輛數(shù)量檢測標準model.xml進行檢測,然后將檢測結果傳遞給時間算法,時間算法將收到的車輛和行人數(shù)量整合,經(jīng)過測算最終得出最佳決策,通過GPIO對紅綠燈進行控制,分配交通燈時間。將路權分配公平最大化,適應車流與人流的交通規(guī)律,從根本上解決中國式過馬路隱患,減少交通事故并提高交通運輸?shù)男省?/p>
在雨雪、霧霾、強反光天氣條件下,攝像頭的檢測精度會下降,會出現(xiàn)漏檢、誤檢等問題,系統(tǒng)將不能正常工作,此時返回值很小且基本不變化。模型預測與實時監(jiān)測結果二者的數(shù)據(jù)誤差在允許范圍之內(nèi)時,認為監(jiān)測數(shù)據(jù)是準確的;當二者的數(shù)據(jù)誤差超出允許范圍時,則累計超出范圍的次數(shù),當連續(xù)多次超出時,則自動向監(jiān)視人員發(fā)出警告,進一步修改預測模型或維修攝像頭。
在本設計的算法中,圖像識別技術、Fast-RCNN網(wǎng)絡和有限狀態(tài)自動機有效集成,引入行人過街橫向折減系數(shù)以適應不同的情況,并將檢測結果與預測結果進行比對修正,減小誤差的同時可以對下一步的控制進行預測,以達到最優(yōu)的控制效果。并與上述的惡劣天氣條件下的控制方法相配合,降低算法的錯誤率,完成多種情況的優(yōu)化控制。
Fast-RCNN網(wǎng)絡與有限狀態(tài)自動機能提高圖像識別技術的精確度,并有效地克服圖像識別技術偶然性大的缺點。引入行人過街橫向折減系數(shù),將行人數(shù)量作為一個相位的主要因素來確定信號燈的配時方法,由確定的周期公式來分配每個相位的綠燈時間,充分發(fā)揮行人在一個相位的主導權,將行人因素與汽車因素混合,充分考慮行人對交通帶來的影響,同時又不會過分計算行人的比重而導致車輛通行效率下降帶來的城市道路擁堵問題。
城市交通系統(tǒng)有時候表現(xiàn)出很強的混沌性,有限狀態(tài)機與行人過街橫向折減系數(shù)正好迎合了城市區(qū)域交通的這種特性,因此,能有效地解決區(qū)域交通控制配時優(yōu)化問題。
Fast-RCNN是一種基于區(qū)域的快速卷積神經(jīng)網(wǎng)絡。在實際的應用中,攝像頭監(jiān)測視頻中的環(huán)境很復雜,有時道路中被監(jiān)測的車輛會被遮擋,這時攝像頭監(jiān)測數(shù)據(jù)會出現(xiàn)誤差,傳統(tǒng)的方法又很難對車輛做出精準的判斷,因此采用改進Fast-RCNN網(wǎng)絡算法。
卷積神經(jīng)網(wǎng)絡在處理圖像時,可以挖掘圖像中深層語義特征。將視頻圖像輸入Fast-RCNN網(wǎng)絡中,每一幀圖像經(jīng)過卷積神經(jīng)網(wǎng)絡向前傳播至最后共享的卷積層,一方面得到特征圖作為區(qū)域提取網(wǎng)絡的輸入,另一方面得到的特征圖會繼續(xù)向前傳播至特有卷積層,從而產(chǎn)生更高維特征圖。
在區(qū)域提取網(wǎng)絡中提取到可能為車輛的2 000個感興趣區(qū)域以及對應的感興趣區(qū)域的得分,并對區(qū)域得分采用非極大值抑制,將輸出得分高的前300個區(qū)域建議框和圖像的高維特征圖一起輸入到感興趣的區(qū)域池化層,提取對應區(qū)域建議的特征。得到的區(qū)域建議特征再通過兩個全連接層后,輸出該車輛的可能性以及車輛在當前幀的位置。
Fast-RCNN由區(qū)域提取網(wǎng)絡和Fast-RCNN網(wǎng)絡構成,由于兩個網(wǎng)絡具有共享卷積層,所以采用交替訓練(Alternating training)方法進行訓練。
第一步,訓練區(qū)域提取網(wǎng)絡,該網(wǎng)絡用ImageNet預訓練的模型初始化,用于生成區(qū)域建議框。
第二步,將區(qū)域提取網(wǎng)絡生成的建議框作為輸入,由Fast-RCNN網(wǎng)絡訓練一個單獨的檢測網(wǎng)絡,判斷是否是車輛以及車輛的位置。用ImageNet預訓練的模型參數(shù)初始化Fast-RCNN網(wǎng)絡,此時區(qū)域提取網(wǎng)絡和檢測網(wǎng)絡還不存在共享卷積層。
第三步,用檢測網(wǎng)絡訓練得到的參數(shù)初始化區(qū)域提取網(wǎng)絡,固定共享的卷積層,只微調(diào)區(qū)域提取網(wǎng)絡獨有的層,由此得到兩個網(wǎng)絡的共享卷積層。
第四步,保持共享的卷積層固定,微調(diào)檢測網(wǎng)絡Fast-RCNN的全連接層,使得兩個網(wǎng)絡共享相同的卷積層,構成一個統(tǒng)一的網(wǎng)絡。
在訓練模型過程中,開始時模型損失為0.564 328,當?shù)螖?shù)達到300 000時,損失達到0.065 438 7,并趨于穩(wěn)定,此時認為訓練的檢測車輛模型收斂,即可以使用此模型對交通車輛進行檢測和數(shù)量統(tǒng)計。
在運動跟蹤獲取目標位置、速度的基礎上, 采用基于有限狀態(tài)自動機(Finite State Machine ,FSM)的方法對行人過街過程的運動狀態(tài)進行有效表達。有限狀態(tài)自動機是一個通過簡單化假設描述復雜系統(tǒng)的數(shù)學模型, 可以有效地支持各種復雜行為的建模。有限狀態(tài)自動機可以表示為M =(S , I , F),其具體內(nèi)容如下:有限狀態(tài)集合S =( s0, s1, …, sn)。
式中: si,0 ≤i ≤n為有限狀態(tài)集合中的一個狀態(tài)。有限輸入集合I ={x0, x1, … , xn}。式中:xj, 0 ≤j ≤n 為有限輸入集合中的一個輸入動作;對于任意輸入x ∈I,存在狀態(tài)轉換函數(shù)fx(sp)=sq。式中:sp, sq∈S ,F ={fxx ∈ I}, fx:S→S。
根據(jù)經(jīng)驗模型, 將行人運動過程劃分為走、跑、停3 種微觀狀態(tài)。利用運動狀態(tài)間的轉換與變化, 可以直接獲取加、減、不變速動作, 從而對其高層運動語義加以合理的解釋與推理, 實現(xiàn)行人的運動行為分析。
通過運動檢測與跟蹤,獲取行人過街運行軌跡與運動參數(shù),在此基礎上利用有限狀態(tài)自動機模型將行人運動過程表達為連續(xù)的微觀運動狀態(tài), 并對真實場景中的行人過街狀態(tài)進行了推理、分析, 歸納出3種符合實際的行人過街方式。從而更加準確地統(tǒng)計出行人數(shù)量,以減小監(jiān)測的誤差。
設置行人過街綠燈時間時,為了安全起見,要保證在行人綠燈時間結束之前,這一周期內(nèi)所有等待的行人都可順利通過,參考文獻[5]提出了一種計算方法:
(1)
式中,gp為行人過街綠燈時間,Qpmax為單位信號周期內(nèi)行人等待人數(shù),spr為綠燈期間人行橫道行人的飽和流率,d1為人行橫道寬度,b1為行人過街長度,vp為行人步行過街平均速度,一般為1.2~1.5 m/s[6],l1為行人損失時間即行人過街反應時間[7]。
每個路口都會在一個周期內(nèi)有最大交通通過量,參考文獻[8]提出一種路口實際通行能力的計算公式:
(2)
其中:qpr是人行橫道的綠燈小時實際通行能力(單位為人/h×m);Gp為行人過街綠燈時間長度(單位為s);參考文獻[9]給出γ1、γ2對行人干擾和人流達到不均勻折減系數(shù),γ3是行人、自行車等混合過街橫向影響折減系數(shù)。
(3)
式中gc為汽車過街綠燈時間,Qcmax為單位信號周期內(nèi)汽車等待數(shù)量,scr為綠燈期間汽車過街的飽和流率,d2為汽車通過路口寬度,b2為汽車過路口長度,vc為汽車過路口平均速度,一般為5.12~5.96 m/s[10],l2為汽車損失時間即汽車過路口反應時間[11]。
該算法中采用固定信號燈周期,在固定的周期內(nèi)進行汽車與行人的綠燈時長分配。
CP=gp+gc
(4)
短時車流量具有非線性和不確定性的特點,針對這些特點,預測模型采用灰色預測和ARIMA預測組合的方法。模型預測與實時監(jiān)測同時進行,當二者的數(shù)據(jù)誤差在允許范圍之內(nèi)時,認為監(jiān)測數(shù)據(jù)是準確的;當二者的數(shù)據(jù)誤差超出允許范圍時,則累計超出范圍的次數(shù),當連續(xù)多次超出時,則自動向監(jiān)視人員發(fā)出警告,進一步修改預測模型或維修攝像頭。
以河北工業(yè)大學東院門口為例,通過實際調(diào)查測量可知,行人平均通過路口的最短時間為20 s,其中包括行人反應時間,行人等待紅燈的最大忍耐時長為70 s[12];汽車平均通過路口的最短時間為15 s,其中包括司機反應時間、汽車啟動時間,汽車等待紅燈的最大忍耐時長為50 s。
基于以上假設,在以下的示例路口中進行上述算法的應用,并比對本設計中的算法與現(xiàn)行普通算法的控制效果。經(jīng)統(tǒng)計,通過該路口的車輛數(shù)為每分鐘25輛,行人為每分鐘10人,控制周期為行人30 s綠燈、車輛120 s綠燈?,F(xiàn)模擬十分鐘的交通流量進行比對。模擬路口控制效果如表1所列。
表1 模擬路口控制效果
等待行人數(shù)量、等待車輛數(shù)量由圖4可見,兩條曲線與坐標軸所圍成的面積分別代表各自的所有等待時間,二者之和即為此路口所有交通參與者的等待時間。普通信號燈、智能信號燈控制效果如圖4、圖5所示。
圖4 普通信號燈控制效果
圖5 智能信號燈控制效果
綜上所述,在該仿真條件下,算法可使所有交通參與者平均等待時間減少5 s,盡管仿真與實際情況存在一定的誤差,但仍可表明本文所提出的方法具有明顯的控制效果,提高了系統(tǒng)的可靠性和穩(wěn)定性,且可簡便、靈活地控制參數(shù),根據(jù)車流量和人流量對紅綠燈時間進行自適應調(diào)整,能達到“忙道長通,閑道短通”的目的,具有良好的實時性。
圖6 實物圖
更重要的是本系統(tǒng)在此過程中還很好地完成了對交通燈的故障檢測,有較強的實際應用價值,為降低交通堵塞,減少路口車輛延誤時間,提高交通路口通行能力,加強交通信號控制的智能性,提供了新的方法。對我國的道路安全、城市規(guī)劃、節(jié)能減排等具有非常重要的意義。
實物圖如圖6所示,安裝后路口沙盤模擬圖如圖7所示。
圖7 路口沙盤模擬圖