基于圖像處理的交通燈智能控制
引 言
隨著人民生活水平的不斷提高,城市車輛越來越多,擁堵不斷加劇,環(huán)境污染持續(xù)加重。如何解決不斷增加的車輛與有限的城市空間之間的矛盾,實現(xiàn)智能化交通是各國政府、學術(shù)科研院所、企業(yè)等關(guān)注的焦點。不同的國家提出了不同的解決方案,如限時出行、交通引導、車聯(lián)網(wǎng)、綠色出行、交通燈智能調(diào)整等。智能交通是一個復雜的綜合性問題,交通燈是車輛和行人的指示牌,在智能交通中起關(guān)鍵作用[1,2]。
目前城市交通燈的控制采用以下幾種形式:
固定模式,即一段時間內(nèi)紅綠燈時間固定不變;
變化模式,將一天分為交通高峰期和普通時段,不同時段紅綠燈時間不同;
交警參與,在特定時段交警用遙控控制紅綠燈持續(xù)時間或直接由交警手勢控制車輛行駛。
十字路口環(huán)境復雜,不同時段車流量不同,擁堵情況不同, 且道路上有機動車輛、非機動車輛、行人、特殊車輛等不同種類車輛,同時十字路口的擁堵情況受周圍環(huán)境變化的影響較大,如雨雪天氣等。幾種控制模式都無法滿足十字路口復雜的環(huán)境需求。
1 交通燈硬件設(shè)計
以十字路口為研究對象,假定十字路口分為東西南北四個方向,一個紅綠燈系統(tǒng)由東、西、南、北四個紅綠燈子系統(tǒng)構(gòu)成, 每個紅綠燈子系統(tǒng)由紅綠燈顯示裝置、檢測裝置、微處理器、傳輸模塊等構(gòu)成嵌入式系統(tǒng)。
紅綠燈顯示裝置主要由 AT89C51單片機和數(shù)碼管等組成[3],顯示紅綠燈時間,屬被控裝置;
檢測裝置主要使用攝像頭實時采集十字路口的圖像視頻;
微處理器是子系統(tǒng)的核心,采用ARMCortexA5處理器作為微處理器,在該處理器上移植 Linux操作系統(tǒng),方便驅(qū)動程序和應用編寫,利用圖像處理與分析技術(shù)對采集到的圖像進行處理和分析,并計算交通參數(shù),同時向紅綠燈顯示裝置發(fā)送紅綠燈配時方案的控制命令,屬主控裝置 ;
無線傳輸模塊采用nRF905無線收發(fā)器完成數(shù)據(jù)的傳輸,通過 SPI接口與ARMCortexA5連接。nRF905是挪威 Nordic公司推出的射頻發(fā)射芯片, 工作于ISM頻道, 在Linux下完成 nRF905無線收發(fā)器的驅(qū)動程序,在微處理器的控制下完成數(shù)據(jù)傳輸。
在東西南北四個方向分別放置一個子系統(tǒng),設(shè)定其中一個方向的子系統(tǒng)為主系統(tǒng),其他方向為從系統(tǒng)。每個方向子系統(tǒng)的檢測裝置實時采集該方向的圖像并通過圖像處理和分析得出該方向的交通參數(shù),通過nRF905 無線收發(fā)器將交通參數(shù)傳輸?shù)街飨到y(tǒng)匯總,主系統(tǒng)根據(jù)東西南北四個方向的交通參數(shù),得出紅綠燈配時方案,將配時方案通過nRF905 無線收發(fā)器發(fā)送到其他子系統(tǒng),各子系統(tǒng)的微處理器作為主控裝置分別發(fā)送紅綠燈配時方案給各自的紅綠燈顯示模塊,紅綠燈顯示模塊根據(jù)配時方案顯示紅綠燈時間,當微處理器不發(fā)送配時方案時,紅綠燈顯示模塊則顯示默認的配時方案。
2 交通參數(shù)的計算
交通參數(shù)是描述和反映交通流性質(zhì)的物理量,包括交通量、車速、密度、排除長度和通行能力等,它從不同角度說明了交通流的性質(zhì)。交通流性質(zhì)能夠通過交通參數(shù)在數(shù)值上的變化來反映。其中交通量、車速和密度反映了交通流的基本性質(zhì),稱為基本交通參數(shù)。交通量,即車流量指一段時間內(nèi)通過某個區(qū)域的車輛數(shù)目[1,5]。
計算交通參數(shù)通常需要車輛檢測和分析計算兩個過程,車輛檢測是計算交通參數(shù)的基礎(chǔ),目前車輛檢測技術(shù)包括感應線圈、基于視頻的車輛檢測、基于RFID 的車輛檢測等,采用基于視頻的車輛檢測常見方法有背景差分法、幀差法、光流法、VIBE 等。幀間差分法將兩幀或三幀相減后做二值化處理,即可得到前景,但該方法無法檢測靜止的對象,且所選擇的兩幀或多幀的間隔對結(jié)果的影響較大。光流法計算量較大,不適合嵌入式領(lǐng)域[1,2,5]。
背景差分法是將當前幀與背景幀相減后做二值化處理, 得到前景。設(shè)當前幀、背景、前景、閾值分別為 I(x,y),B(x, y),F(xiàn)(x,y),T,則:
該方法的關(guān)鍵點在于背景幀的建模及更新策略,優(yōu)點在于能檢測到靜止的對象,缺點是對背景幀的依賴比較大[5]。
為了減少計算量,采用基于車道劃分的背景差分法檢測車輛,在背景差分之前根據(jù)實際路面情況,將路面劃分成直行、左轉(zhuǎn)等車道,并劃分離路口遠近不同的區(qū)域。通常離路口近的區(qū)域車輛多寡對紅綠燈時間影響較大,劃分車道使計算的區(qū)域限定在劃分的車道內(nèi),并且能夠有針對性地計算出不同區(qū)域的車輛密度。為了簡化問題,此處僅劃分直行車道,得到車道的掩碼為 M(x,y),在將當前幀與背景幀相減之前,先分別將其與車道掩碼進行按位與操作,得 P(x,y)=I(x,y))&M(x, y)–B(x,y)&M(x,y),則:
此方法可將圖像感興趣區(qū)域(ROI)定位在劃分的車道上, 有效減小計算量,具有針對性。
使用Matlab進行仿真,得到的效果如圖 1所示,其中(a) 為劃分車道,(b)為背景圖像,(c)為當前灰度圖像,(d)為背景差分得到的前景。根據(jù)劃分的車道,計算車道面積 SR, 當檢測出車輛后,計算車輛的面積 SC,車輛密度 d=SR/SC,此時 SR=94 427 px,SC=29 172 px,車輛密度 d=30.9%,車輛密集。車輛密度作為一個交通參數(shù),可代表車輛的多寡。
(a)劃分車道(b)背景圖像
(c)當前灰度圖像(d)背景差分得到的前景
圖1 基于車道劃分的背景差分法效果
3 紅綠燈配時方案
在中國,右轉(zhuǎn)在不影響其他車輛通行的情況下,不受紅綠燈的控制。為此紅綠燈可分為 4 種相位(:1)南北相直行(;2)南向西左轉(zhuǎn),同時北向東左轉(zhuǎn);(3)東西相直行;(4)東向南左轉(zhuǎn),同時西向北左轉(zhuǎn)。在要求直行和左轉(zhuǎn)的紅綠燈下(,1)(2)合并為一個相位,(3)(4)合并為一個相位 [3,4,6,8]。紅綠燈配時方案根據(jù)采集到的路況信息進行調(diào)整,考慮到駕駛員的適應情況,不能立即、隨意調(diào)整紅綠燈的時間,應利用模糊控制的思想[5-7],根據(jù)燈時車輛滯留情況來調(diào)整。車輛滯留情況使用紅燈時的車輛密度表示,考慮到攝像頭采集圖像、ARM 處理圖像以及處理結(jié)果需要通過nRF905 無線收發(fā)器傳輸,存在的一定處理時延,需提前采集圖像并檢測車輛,計算車輛密度。
假定系統(tǒng)運行按照南北方向先直行,再左轉(zhuǎn),然后東西方向直行,再左轉(zhuǎn)的順序進行。初始化時,系統(tǒng)進入默認模式(固定模式),南北直行和東西直行時間為 30s,左轉(zhuǎn)時間為 20s。背景差分法檢測車輛時,背景圖像需從第一幀圖像開始更新, 逐步更新為正確的背景。設(shè)定系統(tǒng)運行前 3min采用固定模式,這段時間背景差分法不斷更新背景,之后進入自動調(diào)整模式。先考慮南北直行紅綠燈時間的調(diào)整,可在紅燈結(jié)束倒數(shù) 3s時采集圖像,計算出直行車道車輛密度,記為 Ds,此綠燈時間記為 Ys。若 Ds∈ [0,5%),設(shè)置 Ys=10;若 Ds∈ [5%, 10% ),設(shè)置 Ys=20;若 Ds∈ [10%,15% ),設(shè)置 Ys=30;若 Ds∈ [15%,25% ),設(shè)置 Ys=40;若 Ds∈ [25%,30% ),設(shè)置Ys=50;若Ds>30%,設(shè)置Ys=60。南北方向左轉(zhuǎn)的紅綠燈調(diào)整,車輛直行后將左轉(zhuǎn),在直行倒數(shù) 3秒時采集圖像,計算出左轉(zhuǎn)車道車輛密度,記 Dl,左轉(zhuǎn)綠燈時間記為 Yl。如果 Ds∈ [0, 5% ),設(shè)置 Yl=8;如果 Ds∈ [5%,10% ),設(shè)置 Yl=12;如果 Dl<10%,設(shè)置 Yl=12;如果 Dl∈ [10%,15% ),設(shè)置 Yl=25;如果 Dl>15%,設(shè)置 Yl=35。東西方向直行和東西方向左轉(zhuǎn)的調(diào)整與上述類似。此外,對于直行和左轉(zhuǎn)同時可通行的路口, 仍可參照以上方案,綠燈時間疊加即可。
此配時方案對固定模式進行了優(yōu)化,通過調(diào)整各相位的的紅綠時間來調(diào)整綠信比。當直行車道上車輛較少時,紅綠燈直行時間設(shè)為 10 s,當左轉(zhuǎn)車道上的車輛較少時,左轉(zhuǎn)時間設(shè)為 8 s,避免某一方向車輛較少,而綠燈時間較長的情況出現(xiàn)[8],大大減少了另一方向的車輛空等時間,有效提高了通行效率。
4 結(jié) 語
本文設(shè)計了一種交通燈智能控制系統(tǒng),該系統(tǒng)由微處理器、檢測裝置、顯示裝置及無線傳輸模塊組成,采用基于車道劃分的車輛檢測技術(shù)處理車輛圖像,大幅減少了計算量, 根據(jù)檢測出的車輛分析計算出車輛密度,利用模糊控制的思想,根據(jù)車輛密度控制交通燈時間,有效避免了車輛空等, 大大提高了車輛的通行效率。