摘 要:據(jù)統(tǒng)計約有50%的汽車交通事故是因為汽車偏離正常的行駛車道引起的,如果在駕駛員無意識偏離原車道時提前預(yù)警,則可以大大減少因車道偏離引發(fā)的碰撞事故。因此,本文以TI公司推出的達芬奇系列多媒體圖像處理器TMS320DM6437為核心,設(shè)計了一套嵌入式車道偏離預(yù)警系統(tǒng)。本文給出了車道偏離預(yù)警系統(tǒng)的結(jié)構(gòu)及工作原理,闡述了硬件設(shè)計和軟件設(shè)計實現(xiàn)方法。實驗證明,該系統(tǒng)具有較好的實時性和較高的車道偏離預(yù)警準確率,能夠滿足車道偏離預(yù)警要求。
關(guān)鍵詞:車道偏離報警;TMS320DM6437;機器視覺
1 引言
汽車交通技術(shù)的發(fā)展?jié)M足人類需求的同時,也帶來了新的問題——交通事故,因此,汽車的安全性問題己經(jīng)成為人們所關(guān)注的焦點。近年來高速公路上由于駕駛員過度疲勞、疏忽或突發(fā)疾病,使車輛偏離車道造成重大交通事故的比例逐年增長。因此研究車道偏離預(yù)警系統(tǒng)輔助駕駛員在單調(diào)駕駛環(huán)境如高速公路中保持車輛在車道內(nèi)行駛,成為國內(nèi)外的研究重點[1]。在過去的幾十年中,國內(nèi)外專家和學(xué)者都在積極開展有關(guān)車道偏離預(yù)警系統(tǒng)的研究工作[2-5]。但這些研究中存在的主要缺點是設(shè)備成本高和體積大,不具有實用性。在滿足低成本、小體積的條件下,選擇合適的嵌入式硬件裝置,并以此設(shè)計出滿足系統(tǒng)性能要求的算法軟件成為汽車車道偏離報警系統(tǒng)的研究趨勢。
本文采用基于機器視覺技術(shù)的車道偏離預(yù)警檢測方法,并通過DSP系統(tǒng)應(yīng)用技術(shù)與數(shù)字圖像處理技術(shù)相結(jié)合,設(shè)計了一套嵌入式車道偏離預(yù)警系統(tǒng),具有較好的實時性和較高的車道偏離預(yù)警準確率,有著廣闊的應(yīng)用前景。
2 系統(tǒng)總體設(shè)計
本系統(tǒng)選擇TI公司推出的達芬奇系列多媒體處理器TMS320DM6437(簡稱DM6437)作為視頻處理器。該處理器采用具有超長指令字結(jié)構(gòu)的C64+內(nèi)核,內(nèi)核工作頻率可達到600MHz,處理能力達4800MPIS,同時軟件與C64x系列DSP完全兼容,便于不同平臺之間的軟件移植,同時還具有網(wǎng)絡(luò)、CAN總線等多種設(shè)備通信接口,非常適合于汽車視覺系統(tǒng)。同時,DM6437還提供了強大的視頻處理子系統(tǒng)(VPSS),其包括提供數(shù)字視頻輸入及預(yù)處理的視頻處理前端(VPFE)和提供數(shù)字視頻輸出及驅(qū)動顯示設(shè)備的視頻處理后端(VPBE)。這一子系統(tǒng)提供的各種接口為視頻的采集和顯示處理提供了極大的便利。
本系由CCD攝像頭、視頻編碼芯片、視頻處理器模塊、LCD顯示器組成,系統(tǒng)的整體硬件框圖如圖1所示:
CCD攝像頭負責(zé)采集車輛前方道路信息,將采集到的視頻圖像傳送給視頻解碼芯片TVP5150。視頻解碼芯片負責(zé)將模擬圖像數(shù)據(jù)轉(zhuǎn)換成YCbCr422形式的數(shù)字圖像數(shù)據(jù),送給視頻處理器。主處理器DM6437接收到該數(shù)據(jù)后,負責(zé)對數(shù)字圖像數(shù)據(jù)進行處理,進行車道線提取和車道偏離判別,將判別結(jié)果通過LCD顯示出來。DDR2為DM6437的數(shù)據(jù)存儲器擴展,負責(zé)圖像處理數(shù)據(jù)的存儲,F(xiàn)LASH為DM6437的程序存儲器擴展,負責(zé)存儲算法的程序。
3 系統(tǒng)硬件設(shè)計
視頻解碼芯片選擇TI公司的TVP5150芯片,TVP5150是超低功耗、支持NTSC、PAL、SECAM的高性能視頻解碼器。它可以接收2路復(fù)合視頻信號(CVBS)或1路S-Video信號。TVP5150把復(fù)合視頻轉(zhuǎn)換成標準8位的ITU-RBI.656格式的數(shù)字信號傳輸?shù)紻M6437。
視頻輸出顯示功能主要通過DM6437的VPBE模塊以及外圍接口電路來實現(xiàn)。DM6437的視頻編碼器VENC模塊,主要是將數(shù)字視頻信號編碼成NTSC或PAL電視標準的視頻格式,在DM6437經(jīng)過片內(nèi)集成的DA轉(zhuǎn)換器轉(zhuǎn)換后的輸出模擬信號DAC_IOUT_A等,無法在顯示設(shè)備上顯示,因此,需要對DAC_IOUT_A~D引腳輸出的這些模擬信號進行放大處理。本系統(tǒng)中選擇了TI公司的高速3V視頻放大器OPA361,適用于3V應(yīng)用的混合視頻輸出。
視頻圖像的處理,涉及的數(shù)據(jù)量較大,DSP的片內(nèi)資源遠遠不夠,因此必須擴展外部高速存儲設(shè)備。根據(jù)DM6437對DDR2設(shè)備的存儲容量以及DM6437對數(shù)據(jù)存取速度的要求,本系統(tǒng)選用兩片美國美光公司(Micron)的16位數(shù)據(jù)總線的高速DDR2存儲器MT47H64M16BT芯片通過行、列地址分時復(fù)用的方式尋址64MB存儲空間(兩片共128MB)。
本系統(tǒng)擴展異步存儲器主要用于存儲執(zhí)行代碼和自啟動代碼,因此我們選擇了SPANSION公司的56引腳TSOP封裝的SG29GL256N NOR Flash芯片。該芯片容量為32MB,內(nèi)部劃分為256段,每段128KB空間,在進行擦除操作時,以段為單位。
4 系統(tǒng)軟件設(shè)計
車道偏離預(yù)警系統(tǒng)的核心算法集中在兩個方面:一是車道識別算法,二是車道偏離決策。在進行車道線提取之前,需要對獲取的前方道路圖像進行預(yù)處理。
(1) 圖像預(yù)處理
在進行道路邊界識別之前,要對獲取的前方道路圖像進行預(yù)處理,主要包括濾波、邊緣增強和二值化。本文采用如式(1)所示的中值濾波器對圖像進行濾波。
f(x,y)=median{Sf(x,y)} (1)
式中,Sf(x,y)是像素點f(x,y)附近的一個小區(qū)域。
對經(jīng)過中值濾波的圖像采用Sobel算子進行邊緣增強。針對車道線檢測,基于一階導(dǎo)數(shù)的Sobel算子能夠發(fā)揮更好的效果,由于需要判別的有效車道線是近似于垂直方向的,算法只使用了Sobel算子的水平梯度進行處理,這樣做的另一個好處就是減小了算法的耗時。
經(jīng)過Sobel算子增強后,道路圖像仍然包括大量無用信息,為了減小這些無用信息的影響和便于運算,要對圖像進行二值化處理。在圖像二值化處理中,閾值的選擇是關(guān)鍵,其直接影響著識別的效果。固定閾值的二值化方法通過選取固定的閾值,針對亮度固定的圖像具有較好的處理效果。但由于LDWS算法所要處理的圖像是不同的路段圖像,不同光照情況下,其亮度變化較大,所以不適合使用固定閾值法。迭代法二值化算法通過對于圖像整幅亮度進行分析,自動確定閾值,克服了固定閾值二值化的缺點。逐行迭代法二值化,針對圖像每行的像素進行亮度分析,確定每行像素的分割閾值,從而排除了整幅圖像對于車道線識別的干擾。而且其時間復(fù)雜度與迭代法二值化相比,相差不多,所以算法中采用逐行迭代法二值化算法。
(2) 車道線提取
在路況及光照情況都比較理想時,經(jīng)過二值化后的兩車道線之間是不含噪聲點的黑色區(qū)域。確定道路候選邊界點的方法是:在每一行掃描線上,以圖像中心線為起始位置,分別向左和向右進行搜索,當(dāng)搜索到第一個白點(像素值為255)時,即停止在本行當(dāng)前方向的搜索,并將此點作為該行的候選邊界點。但當(dāng)兩車道線之間含有較多的噪聲點時,用此算法提取道路邊界候選點對于后續(xù)車道線識別干擾較大。因此,在上述道路邊界候選點提取算法的基礎(chǔ)上,加上了直線模板的二次判定,加入直線模板的道路邊界候選點提取算法[4]。這種算法對于車道線的噪聲點能夠起到很好的抑制作用。
Hough變換是根據(jù)局部度量來計算全面描述函數(shù),對局部信息缺損不敏感,對隨機噪聲具有較好的魯棒性[5]。Hough變換的主要瓶頸是它要求較大的存儲空間和較長的計算時間,這很難滿足道路識別的實時性要求。而針對道路邊界候選點進行Hough變換,使得存儲空間和運算時間大大地縮減。因此,本系統(tǒng)采用針對道路邊界候選點進行Hough變換提取車道線。
(3) 車道偏離決策
車道偏離報警策略就是根據(jù)車輛運行狀態(tài)和當(dāng)前位置,判斷或預(yù)測車輛是否會偏離當(dāng)前車道。系統(tǒng)中主要用到了空間報警算法CCP,時間報警算法TLC。當(dāng)左右車道線均存在時采用時間報警算法TLC,當(dāng)僅存在一條車道線時,采用空間報警算法CCP。
時間報警模式的基本思想就是預(yù)測車輛偏離當(dāng)前車道的時間間隔,即TLC(Time to Lane Crossing),以TLC的值作為評價偏離可能性的指標,基于直線模型的判斷方法為:
式中,ts為車輛前輪瞬態(tài)偏離時間。
當(dāng)ts≤Tt時,即偏離時間小于閾值,車輛即將發(fā)生偏離;
當(dāng)ts>Tt時,即偏離時間大于閾值,車輛不會發(fā)生偏離。
其中,Tt為設(shè)定的時間閾值。
空間報警算法CCP是根據(jù)車輛的左、右前輪在車道中的位置判斷車輛是否偏離。其判斷方法為:
若△yl≤Td或△yr≤Td,表示車輛已偏離,Td為設(shè)定的偏離位置閾值,當(dāng)yw固定時,Td可取0或根據(jù)駕駛習(xí)慣取值。
空間報警算法檢測車輛離車道線的最近距離,當(dāng)發(fā)現(xiàn)前輪與車道線的距離達到一定閾值時,觸發(fā)報警。
5 試驗及結(jié)果
為了檢驗算法的效果,在奇瑞試驗車上進行道路試驗。硬件采用自己設(shè)計的DM6437電路板,主頻594MHz、DDR2工作速率135MHz;視頻輸入采用CCD攝像頭、NTSC格式、復(fù)合視頻輸入;視頻輸出采用LCD液晶屏、NTSC格式、復(fù)合視頻輸出。
(a)車輛位于車道線中央
(b)車輛向左偏離
(c)車輛向右偏離
試驗道路為蕪湖經(jīng)濟技術(shù)開發(fā)區(qū)泰山路西的一段測試公路上。測試結(jié)果如圖2所示。圖中(a)是車輛位于車道線中央沒有出現(xiàn)車道偏離現(xiàn)象,在LCD上只顯示出所識別的車道線;圖中(b)是在沒有打左轉(zhuǎn)向時車輛出現(xiàn)了車輛向左偏離的現(xiàn)象,除了有語音報警提示外,在LCD上將左側(cè)車道線標紅,提示駕駛員注意。圖中(c)是在沒有打右轉(zhuǎn)向時車輛出現(xiàn)了車輛向右偏離的現(xiàn)象,除了有語音報警提示外,在LCD上將右側(cè)車道線標紅,提示駕駛員注意。
從道路試驗可以看出,當(dāng)車輛在車道內(nèi)正常行駛時,本系統(tǒng)具有較高的車道線識別率和偏離報警準確率,實時性可達到25幀/秒,系統(tǒng)滿足實時性要求。但在大雨天和彎道弧度較大時,本系統(tǒng)會出現(xiàn)道路邊界識別的準確率降低的現(xiàn)象。如何在保證系統(tǒng)實時性的前提下提高在復(fù)雜路況及彎道下道路邊界識別的準確率是下一步的主要研究方向。
6 結(jié)論
本文以TMS320DM6437為核心,設(shè)計了一套嵌入式車道偏離預(yù)警系統(tǒng)。本文首先給出了系統(tǒng)的總體設(shè)計方案和工作原理,然后闡述了硬件設(shè)計和軟件設(shè)計實現(xiàn)方法。硬件部分詳細介紹了系統(tǒng)的電源電路、視頻解碼電路、存儲器擴展電路和視頻輸出放大電路;軟件部分詳細介紹了本系統(tǒng)所用的圖像預(yù)處理算法、車道線提取算法和車道偏離決策算法。道路試驗結(jié)果表明,該系統(tǒng)具有較好的實時性和較高的車道偏離預(yù)警準確率,能夠滿足車道偏離預(yù)警要求。
參考文獻
[1]王榮本,余天洪,郭烈,等.基于機器視覺的車道偏離警告系統(tǒng)研究綜述[J].汽車工程,2005,27(4):463-466.
[2]李旭,張為公.基于視覺的車道偏離報警系統(tǒng)的研究[J].儀器儀表學(xué)報,2008,29(7):1554-1558.
[3]林廣宇,魏朗,蹇小平.基于嵌入式的車道偏離預(yù)警系統(tǒng)研究[J].電子設(shè)計工程,2010,18(8):26-28.
[4]陳軍,徐友春,趙明,等.基于隨機Hough變換的道路邊界識別算法研究[J].中國圖象圖形學(xué)報,2009,14(5):905-911.
[5]于兵,張為公,龔宗洋.基于機器視覺的車道偏離報警系統(tǒng)[J].東南大學(xué)學(xué)報(自然科學(xué)版),2009,39(5):928-932.