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