尤小泉,彭映杰
(1.成都工業(yè)學院 通信工程系,四川 成都 610031;2.成都信息工程學院 科技處,四川 成都 610225)
近年來,圖像處理與機器視覺已經(jīng)成為車輛自動駕駛和計算機輔助駕駛系統(tǒng)的重要研究內(nèi)容,即采用圖像處理和計算機視覺技術(shù)檢測道路交通標志、其他車輛及行人等道路環(huán)境狀況,以保證車輛的行駛安全,并能對駕駛異常行為做出有效的處理和告警[1]。實現(xiàn)這類系統(tǒng)面臨的首要關(guān)鍵問題就是實現(xiàn)快速準確地從車載視頻圖像中檢測到車道線[2]。為了提高車道線檢測可靠性和魯棒性,人們將變形模板和遺傳算法、局部奇異值向量和BP神經(jīng)網(wǎng)絡(luò)分類器、蟻群算法、粒子濾波、圖切割和聚類算法、道路譜等應(yīng)用于道路檢測和識別中,并取得了較好的識別效果[3]。由于受車載計算機的計算能力和經(jīng)濟成本的限制,這些智能算法目前還都處于仿真實驗階段,所以車道線檢測的快速算法已經(jīng)成為目前的研究熱點。
Hough變換具有良好的抗噪聲性能及對部分遮擋現(xiàn)象的不敏感等特性,使其在計算機視覺和模式識別領(lǐng)域中得到廣泛的應(yīng)用[4-6],也是目前車道線檢測的重要方法[2,7-8]。
為了降低Hough變換的計算復(fù)雜度,本文利用Hough變換計算復(fù)雜度與圖像長寬的乘積成正比這一關(guān)系,提出了一種分塊Hough變換,并且利用車輛行駛過程中行駛方向具連貫性這一特點,圖像中車道線也具有運動方向的一致性,所以可以充分地利用行車輔助系統(tǒng)中的視頻編碼得到的運動矢量對車道線進行有效跟蹤。這樣極大程度地降低了此類問題計算復(fù)雜度,使車載計算機實現(xiàn)車道線的實時識別與跟蹤成為了可能。
車道線的檢測主要分為圖像邊緣提取和車道線檢測兩個步驟。實現(xiàn)圖像邊緣提取的方法有很多,比如基于小波分析的圖像邊緣提取、基于模板的圖像邊緣提取等方法??紤]到實際應(yīng)用的實時性要求,通常采用Sobel邊緣提取技術(shù),如圖1所示。
圖1 Sobel邊緣提取示意圖
邊緣提取的結(jié)果是一幅二值圖像,車道檢測是在該二值圖像中檢測車道線。Hough變換具有良好的抗噪聲性能和對部分遮擋現(xiàn)象不敏感等特性,非常適合用來實現(xiàn)車道線的檢測。Hough變換從本質(zhì)上來講是一種參數(shù)變換,其原理如下:
設(shè)二值圖像XOY平面上一條直線l,這條直線可以用如下參數(shù)化方程描述
式中:x、y為直線上一點在圖像平面中的坐標;ρ為原點到直線l的距離;θ為直線l的法線與x軸正向的夾角,如圖2所示。
圖2 直線Hough變換的參數(shù)定義
根據(jù)幾何理論,通過平面中任意一點的直線有無窮多條,在參數(shù)ρ-θ平面就對應(yīng)著一簇曲線,直線l上所有點在參數(shù)ρ-θ平面都相交于P點(ρ0,θ0),ρ0和θ0就是直線l到坐標原點的距離和法線與x軸的夾角,圖2的變換結(jié)果如圖3所示。
圖3 Hough變換的結(jié)果
在實際中,Hough變換利用表決方法,即曲線上的每一點可以表決若干參數(shù)組合,贏得多數(shù)表決的參數(shù)就是勝者。在這種方法中,常把參數(shù)平面設(shè)計成一個累加器陣列,表示離散參數(shù)值。依照變換方程,由圖像平面中的邊緣點數(shù)據(jù)區(qū)計算Hough空間中的參考點的可能軌跡,并在一個累加器中統(tǒng)計出的參考點數(shù),最后選出峰值。圖像中的每一個點可以表決幾個參數(shù),而參數(shù)平面(或累加器陣列)的峰值就是表征一條直線的參數(shù)[6],根據(jù)這種方法,圖3中的P點對應(yīng)的就圖2中的直線l。利用Hough變換可以檢測出圖1中的直線,如圖4所示。
圖4 車道圖像Hough變換的結(jié)果
根據(jù)Hough變換參數(shù)空間和圖像空間的對應(yīng)原理,在參數(shù)ρ-θ平面的極大值點都代表著一條直線,如圖4中左右兩邊的高亮處各有一個極值點,這兩個極值點分別表示左右兩個車道,如圖5將車道標出。
圖5 車道線的檢測結(jié)果
根據(jù)前面Hough變換的基本原理,Hough變換的計算復(fù)雜度0(n)與圖像的長p、寬q、直線l可能斜率的個數(shù)m的乘積成正比[5],即
對于數(shù)字圖像而言,可能的斜率就是圖像長寬像素點之和,所以式(2)可以改寫為
如圖1所示,圖像長704個像素,寬576個像素,那么處理完這幅圖像就需要處理約5億次計算,經(jīng)實驗,目前TI公司主流的DSP的處理速度約為1 f/s(幀/秒),所以,整幀實時Hough變換是非常困難實現(xiàn)的。
另一方面,考察車道線的跟蹤方法,目前流行的有多種方法,如AURORA的自適應(yīng)的模板相關(guān)法、LOIS的變形模板法、Kalman濾波法等,其中性能較好的是Kalman濾波法[9]。Kalman濾波的核心思想是根據(jù)目標的運動軌跡模型,給出一個預(yù)測值,利用測量數(shù)據(jù)得到一個測量值,根據(jù)預(yù)測值的可信度和測量值的可信度加權(quán)平均得到目標的估計值,然后再循環(huán)并更新預(yù)測值和模型的可信度及測量的可信度[10]。對于車道線的跟蹤是用Hough變換的方法在圖像序列的各幀中提取車道線的參數(shù)(ρθ),然后利用Kalman濾波來一幀一幀地依次跟蹤這些參數(shù),這樣就將車道線的跟蹤轉(zhuǎn)化成車道線參數(shù)的跟蹤。Kalman跟蹤方法的引入,提高了跟蹤的準確度[9]。據(jù)文獻[9]和文獻[10]的研究,Kalman預(yù)測是對矢量方程的迭代求解,其計算量也是相當可觀的。
綜合上述兩點,實現(xiàn)實時車道檢測與跟蹤的最大難點在于Hough變換的計算量和車道跟蹤的計算復(fù)雜度。
考慮到Hough變換的計算復(fù)雜度,可以將一幅圖像分成若干小塊,對每一塊單獨進行Hough變換,其計算量將大大降低。將圖1長寬分別作二等分,根據(jù)式(3),所有小塊計算復(fù)雜度之和為
所有小塊的計算量之和為原計算量的50%,并且可以推廣到長寬n等分的情況,其總計算量為
經(jīng)實驗證明,隨著n的增大,Hough變換的計算量有所減少,但是,其直線檢測的精度也會隨之下降,一般塊的大小取64×64像素比較合適,即把一幅704×576的圖像分割成了11×9個子塊,每個子塊的計算量約為52.5萬次,所有子塊計算量之和為5 200萬次,約為整幀Hough變換的10.5%,可見計算量的降低是非常可觀的,其車道檢測的結(jié)果如圖6所示,該精度也能滿足車道檢測的需要。
圖6 分塊Hough變換的結(jié)果
一般對于輔助行車系統(tǒng)而言,都需要將道路的視頻圖像壓縮后保存,目前主流的壓縮算法都是基于圖像塊的運動估計壓縮方式,如MPEG-4和H.264等視頻壓縮標準。在這些壓縮算法中就會得到圖像塊相對于參考幀的運動矢量MV(如圖7所示)和其對應(yīng)的絕對誤差和SAD。
圖7 運動矢量示意圖
圖7中的第i幀就是參考幀,其虛線塊標注的SAD按式(6)計算,即當前幀與參考幀對應(yīng)像素之差的絕對值之和
可見,MV表征了圖像中物體的水平移動距離和垂直移動距離,可以利用該MV來跟蹤車道線,并且可以利用SAD值來衡量這種跟蹤的置信度,如果SAD值小,那么跟蹤的置信度高;如果SAD值大,那么跟蹤的置信度低,預(yù)示著當前塊應(yīng)該重新進行Hough變換。對于SAD門限值的設(shè)定經(jīng)實驗測得64×64的塊的SAD值為1 000~5 000為佳,實驗結(jié)果如圖8所示。
圖8 運動估計跟蹤車道線結(jié)果
本文算法利用前端視頻壓縮中得到的運動矢量和絕對誤差和用于車道線的跟蹤的這種方法幾乎沒有產(chǎn)生額外的計算開銷,并且結(jié)果能夠滿足實際需要。根據(jù)實驗,在TI公司的DM6446 DSP上能實現(xiàn)25 f/s的車道線的實時檢測與跟蹤。本文方法有效降低了算法的復(fù)雜度,為車載計算機實現(xiàn)實時車道檢測提供了可能。
另一方面,本文算法由于是基于塊的車道線檢測與跟蹤,在塊邊緣還存在檢測和跟蹤結(jié)果不夠光滑,需要采用相應(yīng)的平滑方法,這也是下一步工作的內(nèi)容。
[1] KIM Z W.Robust lane detection and tracking in challenging scenarios[J].IEEE Trans.Intelligent Transportation Systems,2008,9(1):16-26.
[2] 王松波.一種車道線檢測與跟蹤方法[J].計算機工程與應(yīng)用,2011,47(3):244-248.
[3] 黃海波,蔣偉榮,劉勇,等.基于SOPC的智能車輛道路識別與跟蹤[J].儀器儀表學報,2012,33(2):83-88.
[4] 孫豐榮,劉積仁.快速霍夫變換算法[J].計算機學報,2001,24(10):1102-1109.
[5]CHUTATAPE O,GUO L F.A modified Hough transform for line detection and its performance[J].Pattern Recognition,1999(32):181-192.
[6] 陳震,高滿屯,楊聲云.基于Hough變換的直線跟蹤方法[J].計算機應(yīng)用,2003,23(10):30-32.
[7] 余天洪,王榮本,顧柏園,等.基于機器視覺的智能車輛前方道路邊界及車道標識識別方法綜述[J].公路交通科技,2006,23(1):143-146.
[8] 朱彤,韓文濤,王波.改進Hough變換方法在車道檢測中的應(yīng)用[J].北京汽車,2005(6):25-28.
[9] 王松波.一種車道線檢測與跟蹤方法[J].計算機工程與應(yīng)用,2011,47(3):248-252.
[10] 尤小泉,彭映杰.一種基于指令預(yù)測的目標跟蹤方法[J].電視技術(shù),2010,34(2):81-84.
[11] 尤小泉,蔣建國,齊美彬,等.H.264中分塊運動檢測的應(yīng)用[J].電視技術(shù),2006,30(S1):114-115.