于洪
摘 要:本文以智能車攝像頭所拍下的圖像,利用霍夫變換在圖像識別中的應(yīng)用求出直線和彎道,并求出彎道的半徑和圓心,進(jìn)而控制小車速度,以最佳速度通過賽道。
關(guān)鍵詞:霍夫變換;智能車;測圓半徑
飛思卡爾杯全國大學(xué)生智能車競賽從2008年起被教育部批準(zhǔn)列入國家教學(xué)質(zhì)量與教學(xué)改革工程資助項目中科技人文競賽之一(教高函[2007]30號文)。對于智能車的控制,現(xiàn)在主要有電磁、光電和攝像頭三種,其中基于攝像頭的控制最有實用性和發(fā)展性。當(dāng)智能車的攝像頭獲取一幅圖像之后,需要對圖像數(shù)據(jù)進(jìn)行處理,然后對圖像的內(nèi)容進(jìn)行分析、理解并從中抽取對智能車有用的信息。一般直線問題不大,關(guān)鍵是在彎道部位小車的速度控制。我們希望能有一種控制方法,讓小車能以彎道允許的最大速度通過。本文提出一種基于邊緣檢測和Hough變換的彎道檢測辦法,只要求出彎道半徑后,其最大允許速度也就可以求出。圖像中會存在大量的干擾,我們可采用空間域中的中值濾波法濾除脈沖干擾及圖像掃描噪聲,但又不會引起圖像細(xì)節(jié)模糊。
1 工作原理
霍夫變換是我們在數(shù)字圖像處理中從圖像中識別基本幾何形狀的方法,應(yīng)用很廣泛,也有很多改進(jìn)算法。Hough變換于1962年由Paul Hough提出,并在美國作為專利被發(fā)表。它實現(xiàn)的是一種從圖像空間到參數(shù)空間的映射關(guān)系。由于具有一些明顯優(yōu)點和可貴性質(zhì),它引起了外學(xué)者和工程技術(shù)人員的普遍關(guān)注。例如,它可以根據(jù)局部度量來計算圖像的全面參數(shù),所以對于圖形邊界被噪聲干擾或被其他目標(biāo)遮蓋而引起邊界發(fā)生間斷的情況,它具有很好的容錯性和兼容性。多年來,專家們對Hough變換的理論性質(zhì)和應(yīng)用方法進(jìn)行了深入而廣泛的研究, 取得了許多成績。
Hough基于點—線的對偶性,即在圖像空間(原空間)中同一條直線上的點對應(yīng)在參數(shù)空間(變換空間)中是相交的直線。反過來,在參數(shù)空間中相交于同一點的所有直線,在圖像空間中都要有共線的點與之相對應(yīng)。
通過霍夫變換,可以將圖像空間中直線的檢測問題轉(zhuǎn)化為參數(shù)空間中點的檢測問題。而參數(shù)空間中點的檢測只要進(jìn)行簡單的累加統(tǒng)計就可以完成。這樣我們就可以方便地求出一條直線的方程。
如圖:
在實際應(yīng)用中,y=k*x+b這種直線方程不能夠表示x=c形式的直線(因為這時直線的斜率為無窮大)。所以實際應(yīng)用中,是采用極坐標(biāo)方程p=x*cos( )+y*sin( )。這樣,圖像平面上的一個點就對應(yīng)到參數(shù)p--- 平面上的一條曲線上,效果還是一樣。
當(dāng)我們要檢測某一未知半徑的圓的時候,我們選擇與原圖像空間同樣的空間作為參數(shù)空間??梢钥醋魇怯腥齻€參數(shù)的圓的檢測,中心和半徑。這個時候原理仍然相同,只是參數(shù)空間的維數(shù)升高,計算量增大。圖像空間中的任意一個點都對應(yīng)了參數(shù)空間中的一簇圓曲線。其實是一個圓錐型。參數(shù)空間中的任意一個點對應(yīng)了圖像空間中的一個圓。
(a)圖像空間 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(b)參數(shù)空間
圖1 圖像空間和參數(shù)空間
2 軟件設(shè)計
下面是我們利用極坐標(biāo)表示圓的一種算法流程。將小車攝像頭所報圖像灰度化,二值化(注意:二值化的結(jié)果對檢測結(jié)果有很大影響,所以常要求做去噪處理,常用的有SOBEL算子)檢測圖像的邊緣點,并保存其坐標(biāo)。設(shè)置角度 的變化范圍和步長及半徑R的變換范圍和步長。
利用公式x=a+Rcos( ? ),y=b+Rsin( ? )求出a和b的值。(注意:x和y為實際的圖像空間某個邊緣點的坐標(biāo),而a和b為其對應(yīng)的參數(shù)空間的坐標(biāo)),如果a和b的值在合理的范圍之類,則對該位置進(jìn)行累加。
該算法通過a = x-R*cos( ? ),b = y-R*sin( ? )將圓圖像中的邊緣點映射到參數(shù)空間(a,b,R)中,由于是數(shù)字圖像且采取極坐標(biāo), ?和R都取一定的范圍和步長,這樣通過兩重循環(huán)( ?循環(huán)和R循環(huán))即可將原圖像空間的點映射到參數(shù)空間中,再在參數(shù)空間(即由許多小立方體組成的大立方體)中尋找圓心,然后求出半徑坐標(biāo)。
下面是我們用Matlab寫的程序:
其中TX:二值圖像; step_R:檢測的圓半徑步長 ?; step_ ? ? :角度步長,單位為弧度;R_min:最小圓半徑 ;R_max:最大圓半徑; p:以p*hough_space的最大值為閾值,p取0,1之間的數(shù)
圖2程序圖
3 實驗結(jié)果
圖3原圖 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖4二值化后的圖
圖5邊緣檢測后 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖6檢測結(jié)果
檢測結(jié)果:CenteR 62 59 Radius 52
4 結(jié)語
此程序經(jīng)實際運用可以比較可靠的得到圓的半徑,只要再將半徑和小車車輪轉(zhuǎn)彎角度聯(lián)系起來,就可以以比較快速的速度通過轉(zhuǎn)彎區(qū)域。
參考文獻(xiàn):
[1] 曾接賢,王斌斌,陳志良.基于距離約束的隨機Hough變換直線檢測算法[J].南昌航空大學(xué)學(xué)報: 自然科學(xué)版.2011(03):7-11.
[2] 王明佳,張旭光,王延杰.利用廣義霍夫變換對相交目標(biāo)進(jìn)行軌跡預(yù)測[J].光學(xué)技術(shù).2006(03):428-430.
[3] 王志明,唐冬梅,袁晶,等.童車變形量圖象處理中的霍夫變換的優(yōu)化[J].機械設(shè)計與制造.2012(07):76-78.
[4] 謝季峰.基于霍夫變換的劃痕檢測算法應(yīng)用[J].電腦知識與技術(shù).
2012(20):4957-4958.
[5] 曹毓,馮瑩,楊云濤,等.RANSAC直線估計方法在路面三維點云優(yōu)化中的應(yīng)用[J].紅外與激光工程.2012(11):3108-3112.
[6] 夏奇,周明才,汪宏昇,等.高精度自動貼片機視覺對準(zhǔn)系統(tǒng)及其圖像處理[J].光學(xué)技術(shù).2004(02):146-149.
[7] 林蓁蓁,李慶,梁艷菊,等.一種基于路徑規(guī)劃的自動平行泊車算法[J].計算機應(yīng)用研究.2012(05):1713-1715.
[8] 葉煒垚,王春香,楊明,等.基于虛擬障礙物的移動機器人路徑規(guī)劃方法[J].機器人.2011(03):273-278.
[9] 高德芝,段建民,楊磊,等.應(yīng)用多階動態(tài)規(guī)劃的車道線識別方法[J].機械工程學(xué)報.2011(08):141-145.
[10] 王道斌,梁華為,楊妮娜,等.兩種自主泊車路徑規(guī)劃方法的對比研究[J].電子測量技術(shù).2011(01):27-30.
[11] 林國余,陳旭,張為公.基于多信息融合優(yōu)化的魯棒性車道檢測算法[J].東南大學(xué)學(xué)報: 自然科學(xué)版.2010(04):771-777.
[12] 劉富強,張姍姍,朱文紅,等.一種基于視覺的車道線檢測與跟蹤算法[J].同濟大學(xué)學(xué)報: 自然科學(xué)版.2010(02):223-229.
[13] 任孝平,蔡自興.基于阿克曼原理的車式移動機器人運動學(xué)建模[J].智能系統(tǒng)學(xué)報.2009(06):534-537.
[14] 張巧榮,顧國昌,肖會敏.視覺選擇性注意計算模型[J].機器人.
2009(06):574-580.
[15] 郭磊,李克強,王建強,等.應(yīng)用方向可調(diào)濾波器的車道線識別方法[J].機械工程學(xué)報.2008(08):214-218.
本文系基金:海南省自然科學(xué)基金(60097),研究成果。