文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2017.04.004
中文引用格式: 趙午峰,喬瑞萍,孫賀. 基于TMS320DM6437的車道線檢測與跟蹤[J].電子技術(shù)應(yīng)用,2017,43(4):17-20.
英文引用格式: Zhao Wufeng,Qiao Ruiping,Sun He. Lane detection and tracking on TMS320DM6437[J].Application of Electronic Technique,2017,43(4):17-20.
0 引言
高級駕駛輔助系統(tǒng)(ADAS)已成為當(dāng)前世界交通領(lǐng)域的研究熱點之一,基于視覺的車道線檢測技術(shù)是高級駕駛輔助系統(tǒng)的重要部分。
針對車道線檢測的實時性,本文在低成本高性能DSP處理器TMS320DM6437平臺上,通過兩級Hough變換進(jìn)行車道線的檢測然后利用視頻幀與幀之間的相關(guān)性對車道線進(jìn)行跟蹤。將算法移植后,根據(jù)DSP的特點,對算法在數(shù)據(jù)處理、算法結(jié)構(gòu)以及流程等方面再次進(jìn)行優(yōu)化。
1 硬件結(jié)構(gòu)
TMS320DM6437是TI公司的32位定點DSP達(dá)芬奇技術(shù)的處理器,主頻最高可達(dá)700 MHz,具有32 bit、256 MB尋址空間的DDR2存儲器接口和8 bit、64 MB尋址空間的異步存儲器接口, 片上集成了視頻處理子系統(tǒng)VPSS,支持汽車上用于電子設(shè)備通信的CAN總線,因此TMS320DM6437非常適合車載視頻設(shè)備的開發(fā)應(yīng)用[1]。系統(tǒng)所用板卡結(jié)構(gòu)圖如圖1所示。
硬件系統(tǒng)主要組成部分有:視頻輸入模塊、外圍存儲模塊、視頻輸出模塊、通信接口和電源。
視頻輸入模塊:系統(tǒng)采用的是TVP5146視頻解碼芯片,該芯片對CCD鏡頭采集來視頻信息進(jìn)行模數(shù)轉(zhuǎn)換以及編碼后送到TMS320DM6437進(jìn)行處理。
外圍存儲模塊:系統(tǒng)外擴了2 GB的DDR2,和128 KB的Flash。
視頻輸出模塊:TMS320DM6437用4個輸出DAC來接口多種標(biāo)準(zhǔn)輸出,通過編程,DAC的輸出支持復(fù)合視頻,分量視頻或RGB視頻。
通信接口:系統(tǒng)通過JTAG接口對程序進(jìn)行調(diào)試,預(yù)留了可以連接汽車OBD接口的CAN總線。
2 算法設(shè)計
本文中車道線檢測與跟蹤算法的流程圖如圖2所示。
本文算法總流程共分為兩大部分:車道線檢測與車道線跟蹤。
(1)車道線檢測
本文通過兩級Hough變換進(jìn)行車道線檢測。
Step1.擴大角度步長,進(jìn)行第一級Hough變換。
Step2.利用Step1檢測結(jié)果,約束范圍,進(jìn)行第二級Hough變換,精確檢測車道線。
(2)車道線跟蹤
利用視頻幀之間的相關(guān)性,以上一幀圖像車道線檢測結(jié)果為基礎(chǔ),對參數(shù)進(jìn)行區(qū)間約束,進(jìn)行Hough變換,便可以跟蹤檢測后續(xù)幀的車道線。
2.1 兩級Hough變換檢測車道線
Hough變換[2,4]是經(jīng)典的直線檢測模型,車道線的檢測問題,經(jīng)過Hough變換,變成了直線參數(shù)的求取過程。
Hough變換的基本原理可以用式(1)表示:
本文提出的兩級Hough變換檢測車道線的具體過程可以用仿真實驗中以下2步來說明:
第一級Hough變換:以10°為角度步長檢測車道線。
第二級Hough變換:在第一級Hough變換檢測結(jié)果周圍以一定的區(qū)域作為約束區(qū)間,進(jìn)行第二級Hough變換,得到精確的車道線參數(shù)。
兩級Hough變換的檢測結(jié)果如表1所示。
一次基本Hough變換如式(1),即為一次乘加運算。Hough變換中計算量最大的部分為坐標(biāo)空間變換部分,假設(shè)二值圖像中非零像素數(shù)為N。
按照傳統(tǒng)Hough變換,則一幀圖像在坐標(biāo)空間變換部分計算量為:
不同步長下計算量如表2所示。
計算量相比結(jié)果為該步長下計算量與傳統(tǒng)Hough變換計算量相比的結(jié)果,從表中可以看出步長越大優(yōu)化效果越好。經(jīng)過大量實驗測試,當(dāng)步長超過10°,檢測準(zhǔn)確性將不能保證,所以將步長限定在10°以內(nèi)。
檢測結(jié)果示意圖如圖3所示。
2.2 車道線跟蹤
車道線跟蹤是依據(jù)相鄰視頻幀之間的相關(guān)性更加快速地檢測車道線,下一幀圖像的車道線參數(shù)可以以上一幀圖像車道線參數(shù)為基礎(chǔ)限定范圍進(jìn)行得到約束區(qū)間,在約束區(qū)間內(nèi)可以快速地檢測到車道線。以三幀圖像為例:
(1)前一幀圖形的車道線參數(shù)為(ρ1,i-1,θ1,i-1)和(ρ2,i-1,θ2,i-1),對前一幀參數(shù)進(jìn)行約束就能夠得到目前幀的感興趣區(qū)域。
(2)在感興趣區(qū)域進(jìn)行Hough變換得到目前幀的車道線參數(shù)(ρ1,i,θ1,i)和(ρ2,i,θ2,i),得到當(dāng)前幀的參數(shù)之后可以確定下一幀圖像的感興趣區(qū)域;
(3)在下一幀圖像的感興趣區(qū)域內(nèi)進(jìn)行Hough變換得到車道線參數(shù),重復(fù)(1)和(2),便可得到視頻流的車道線跟蹤。
3 算法移植優(yōu)化
本文在算法移植階段使用的是CCS3.3集成開發(fā)環(huán)境,以及DSP/BIOS操作系統(tǒng)和數(shù)字視頻軟件開發(fā)包DVSDK,充分利用了TI提供的的Vlib和IMGLIB函數(shù)庫。算法在TMS320DM6437平臺實現(xiàn)過程中,本文對算法進(jìn)行了優(yōu)化,進(jìn)一步提高了運算效率。
(1)根據(jù)DSP特點進(jìn)行數(shù)據(jù)處理
TMS320C64x+DSP每個指令周期可以完成一次short*short運算,但是一個int*int運算需要5個指令周期,所以數(shù)據(jù)盡量采用了short型進(jìn)行存儲。而且因為像素數(shù)據(jù)大小在0~255之間,所以像素數(shù)據(jù)以及部分其他數(shù)據(jù)均可以使用short型存儲。
DSP中整數(shù)乘除運算指令的計算量遠(yuǎn)遠(yuǎn)超過邏輯移位指令的計算量,所以算法中的乘除運算,盡量使用移位運算。
(2)循環(huán)部分優(yōu)化。盡量將循環(huán)展開,減少循環(huán)嵌套層數(shù),并且減少循環(huán)內(nèi)部計算。
(3)對于車道線的驗證部分,由每一行都進(jìn)行驗證,縮減為隔行驗證。
(4)將算法中的“與、或”條件語句展開。
(5)對車道線驗證過程再次進(jìn)行優(yōu)化。傳統(tǒng)算法的驗證過程為將像素坐標(biāo)以及車道線參數(shù)帶入Hough變換進(jìn)行驗證,本文提出利用像素之間的位置關(guān)系進(jìn)行驗證,示意圖如圖4所示。
假設(shè)圖像高度為h,該車道線參數(shù)為(ρ0,θ0),則對于第一行有:
所以對于待檢測像素(x,y),符合式(8):
(6)CCS3.3編譯選項中Opt Level優(yōu)化控制。Opt Level能夠控制優(yōu)化級別,其中-o后面的數(shù)字代表優(yōu)化程度,數(shù)字越高優(yōu)化越明顯,-o3為最高優(yōu)化程度。
以上各個優(yōu)化過程對應(yīng)計算量如表3所示。
4 結(jié)果及分析
4.1 算法仿真結(jié)果
本文在算法仿真階段中所用圖庫為加利福尼亞理工學(xué)院的Caltech Lanes dataset。該圖庫一共1 330張道路圖片,分別為科爾多瓦和華盛頓兩個城市的道路圖片。Caltech Lanes dataset樣圖如圖5所示,對應(yīng)檢測結(jié)果圖片如圖6所示。
經(jīng)過實驗該方法正確率為79.8%。出現(xiàn)檢測錯誤的圖片全部是不存在車道線或者車道線較遠(yuǎn)不可檢測的圖片,示意圖如圖7所示。
從時間消耗來看,經(jīng)過對不同尺寸的共計3 000幅圖片進(jìn)行測試,運用本文中算法與傳統(tǒng)Hough變換算法相比較,本文中算法時間消耗比傳統(tǒng)算法時間消耗少50%。
4.2 系統(tǒng)測試結(jié)果
在室外搭建了實驗平臺對系統(tǒng)進(jìn)行測試。經(jīng)過測試,系統(tǒng)對車道線檢測與跟蹤達(dá)到了實時性要求,測試平臺每幀圖像大小為720×480,最終檢測速度為一幀圖像33 ms,幀率可以達(dá)到30 幀/s,并且可以在一定程度上克服行人等障礙物的影響。DM6437平臺上結(jié)果截圖如圖8所示。
5 結(jié)論
針對車道線檢測的實時性要求,本文在TMS320DM6437平臺上實現(xiàn)了車道線實時檢測與跟蹤。本文通過兩級Hough變換進(jìn)行車道線的檢測,然后利用視頻幀與幀之間的相關(guān)性,對車道線進(jìn)行跟蹤。將算法移植到TMS320DM6437平臺上后,根據(jù)DSP特點,對算法在結(jié)構(gòu)以及流程等方面再次進(jìn)行優(yōu)化。該方法減少了車道線檢測與跟蹤的計算量,提高了算法效率,達(dá)到了車道線檢測的實時性要求,并且保證了檢測結(jié)果的正確性。本文車道線檢測與跟蹤可以應(yīng)用在車輛防碰撞預(yù)警,車輛檢測以及自動駕駛等系統(tǒng)中,對ADAS有很高的應(yīng)用價值。
參考文獻(xiàn)
[1] 周猛,喬瑞萍,王效鵬,等.基于DaVinciTM的360°全景泊車影像系統(tǒng)的設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,2014,40(10):20-22,26.
[2] LI X,WU Q X,KOU Y,et al.Lane detection based on spiking neural network and hough transform[C]//2015 8th International Congress on Image and Signal Processing(CISP),Shenyang,China,2015:626-630.
[3] 申長安,段新濤,焦曉君,等.基于同態(tài)濾波的車道線檢測技術(shù)[J].公路,2015(11):22-25.
[4] 段建民,劉冠宇,鄭榜貴.基于整體最優(yōu)閾值的車道線快速識別方法[J].北京工業(yè)大學(xué)學(xué)報,2015,41(1):42-47.
作者信息:
趙午峰,喬瑞萍,孫 賀
(西安交通大學(xué) 電子與信息工程學(xué)院,陜西 西安710049)