文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2012)02-0088-03
本文所設(shè)計的黑線提取及抗干擾算法是針對采用視覺導(dǎo)航的智能車系統(tǒng),系統(tǒng)要求能在室內(nèi)規(guī)定的封閉道路上自主循跡行駛。路面寬度為50 cm,鋪設(shè)2.5 cm寬的黑色膠帶在路面中間作為路徑導(dǎo)航線。
圖像信號采集單元作為視覺導(dǎo)航智能車控制系統(tǒng)的信號輸入單元,其優(yōu)劣程度影響到智能車的快速性和穩(wěn)定性。為有效地采樣到視頻信號,首先就要能夠分辨出信號的行同步脈沖、場同步脈沖、像素同步脈沖等。否則,單片機將無法識別出接收到的信號具體是在哪一場,更無法識別出視頻信號是在第幾行。
1 圖像采集算法
圖像采集模塊選用OV7620,該模塊是數(shù)字?jǐn)z像頭,返回的是8 bit數(shù)字信號。OV7620的分辨率為240×360,但是由于MC9S12XS128 MCU的RAM僅有8 KB,不可能每一行的圖像都采集,必須有選擇地選取圖像行,采用隔行采集的思想來壓縮圖像數(shù)據(jù)??紤]賽道的黑線線寬為25 mm,為了保證起跑線的檢測,圖像縱向至少精度要達(dá)到25 mm。因此,根據(jù)攝像頭的原始圖像,計算行距,確定采集的行數(shù),采集圖像信息。
采集的圖像數(shù)據(jù)范圍是120×40,經(jīng)試驗?zāi)苓m用于小車的行駛控制,但由于采集回來的圖像是畸變的,采用加權(quán)不均衡思想,用數(shù)組進(jìn)行選擇采集,所采集的行數(shù)為:
hang[40]={20,22,24,26,28,30,32,34,36,38,40,43,46,
49,52,55,58,61,64,67, 72,77,83,89,95,101,
107,113,119,125,133,141,150,159,170,181,
193,205,217,230};
2 抗干擾路徑提取算法
一般情況下系統(tǒng)所獲取到的圖像信息并不是十分準(zhǔn)確,大量的圖像信息中含有各種各樣的噪聲和畸變。室內(nèi)外光線情況以及路面上的雜質(zhì)點都會造成一些干擾,以及在傳輸過程中也會一些誤差等,這樣就會降低圖像的質(zhì)量,致使智能車出現(xiàn)誤判等情況,干擾到車輛的正常運行。通過對二值化分割算法、邊緣檢測算法、動態(tài)閾值算法的特點及優(yōu)缺點的分析,針對本智能車系統(tǒng)的特點,將這幾種算法結(jié)合,得到較好的抗干擾效果。
2.1 圖像局部閾值分割抗干擾算法
采用單一的固定閾值分割算法雖然比較簡單,但對于不同光線環(huán)境和雜質(zhì)等會出現(xiàn)相同的物體的圖像分割閾值較大,不易分割且容易出現(xiàn)干擾信息,抗干擾性能較差,如果每場信號都對閾值進(jìn)行更新也會造成較大的誤差甚至誤判;使用動態(tài)閾值方法又會造成大量的運算,耗費大量系統(tǒng)資源,不利于系統(tǒng)的實時性操作。
經(jīng)過分析,圖像雖然隨光線灰度值變化較大,但是將圖像分為若干模塊段時無論外界光線如何變化,對于每個小段內(nèi)閾值變化范圍也不會太大,因此采取局部閾值分割的方法,對圖像的遠(yuǎn)、中、近各分幾段進(jìn)行閾值分配,通過大量測試可以獲取一個位置相對較為適當(dāng)?shù)拈撝担@樣可以很好地實現(xiàn)圖像的二值化分割。
2.2 混合掃描方式抗干擾提取導(dǎo)航黑線
對比前面介紹的幾種路徑提取方法,充分利用二值化閾值分割、邊緣跟蹤檢測算法的特點,使用混合掃描方式提取圖像信息。對車體前端幾行數(shù)據(jù)進(jìn)行全行掃描,根據(jù)試驗采集到的數(shù)據(jù)設(shè)置好前端數(shù)據(jù)的局部閾值,比較后提取出路徑位置,若前端幾行沒有提取出有效路徑,則認(rèn)為本場圖像無效,可以排除偶然因素導(dǎo)致的錯誤圖像干擾信息提取。對于這幾行之后的數(shù)據(jù)采用邊緣跟蹤法,在前幾行全掃描提取的路徑周圍設(shè)置一個范圍對后續(xù)行進(jìn)行跟蹤,這樣可以大大減少掃描的范圍和節(jié)約系統(tǒng)資源。對于邊緣跟蹤檢測算法的搜索范圍也采用適當(dāng)?shù)膭討B(tài)方法進(jìn)行配置,如果能夠判斷出前段已提取出的路徑是比較直的路線,路徑中心坐標(biāo)的偏差較小,在進(jìn)行后續(xù)跟蹤掃描時就可以適當(dāng)縮小搜索范圍,反之則擴大搜索區(qū)域。如遇特殊情況,如中間有一行沒有提取出有效信息,則后面進(jìn)行邊緣跟蹤時就使用再上一次已正確提取出路徑信息時的位置相應(yīng)地擴大搜索區(qū)域,這樣就可占用很少的系統(tǒng)資源實現(xiàn)路徑信息的正確提取?;旌蠏呙柢浖绦蛄鞒倘鐖D1所示。
實際測試時發(fā)現(xiàn):攝像頭返回的數(shù)據(jù),在近端比較清楚,即使在不同光線下,變化也不是太大,于是對前3行設(shè)定了固定的灰度值和跳變值,并對其近端行進(jìn)行全行掃描,直到找到黑線行為止,并且提取左右的黑線邊緣。
在前6行確定的情況下,將6行中的最穩(wěn)定值作為后34行的基準(zhǔn)值,在對后34行進(jìn)行邊沿搜索時,依照前兩行的黑線的斜率,若斜率為負(fù),黑線的變化趨勢就是向右的,此時便采取從左向右搜索;若斜率為正,黑線的變化趨勢就是向左的,此時便采取從右向左搜索,但為了排除十字差的干擾,如果前一行基準(zhǔn)值過大,采取從右向左搜索,如過小則是從左向右搜,搜索范圍會根據(jù)黑線的遠(yuǎn)近端以及前一行是否丟失黑線來確定。
若前6行沒有搜索到黑線,則認(rèn)為黑線丟失,黑線丟失標(biāo)志置1,即退出搜索,黑線提取完畢,有效行在退出前要再次進(jìn)行更新。
2.3 防黑線提取錯誤濾波算法
要保證小車不跑出跑道,必須確保采集的數(shù)據(jù)和提取的黑線是正確的。小車跑出賽道的情況,一般是黑線提取算法出錯。因此對于黑線的提取,必須采用一些特殊的濾波算法來確保黑線提取的正確性。在防止黑線提取出錯中,采用了限幅濾波與缺省行插值算法相結(jié)合的思想,具體程序流程如圖2所示。
通過無線收發(fā)的方式提取黑線數(shù)據(jù),然后通過Matlab恢復(fù)出所提取的黑線,通過分析可知在何時何種賽道提取黑線出錯,進(jìn)一步再通過串口去查看靜態(tài)數(shù)據(jù)。以下是在幾種比較典型賽道上的測試,通過反饋數(shù)據(jù)恢復(fù)出的圖像,分別出現(xiàn)以下幾種情況時,說明黑線提取正確,濾波算法動態(tài)效果如圖3所示。
3 測試結(jié)果分析
本設(shè)計采用串口示波器加無線組合工具進(jìn)行測試。采用串口示波器,完成返回黑線數(shù)據(jù)的檢測、查看攝像頭采集數(shù)據(jù)情況以及黑線提取情況,用于黑線提取算法的分析,是完成黑線提取算法的關(guān)鍵性調(diào)試工具,可以準(zhǔn)確進(jìn)行黑線提取正確與否的判斷及修改。圖4和圖5給出了黑線提取情況的對比分析。針對出現(xiàn)的S形和十字叉道路,只要采集到的原始數(shù)據(jù)正確,提取到的黑線也正確。
圖4和圖5中,數(shù)字1代表采集到的圖像灰度值在100以下的數(shù)據(jù),數(shù)字2表示灰度值在200以上的數(shù)據(jù),數(shù)據(jù)0表示數(shù)據(jù)在100~200之間的灰度值;M代表當(dāng)前行提取到的黑線位置,從左到右是從第0個點到第119個點,N代表當(dāng)前行所給定的掃描范圍。
測試結(jié)果說明所采用的抗干擾路徑提取算法是有效的,小車在道路上行駛時,在復(fù)雜路段有時會出現(xiàn)抖動的現(xiàn)象,但不會出現(xiàn)黑線識別出錯的情況,小車不會跑出賽道。
參考文獻(xiàn)
[1] 黃開勝,金華民,蔣狄南.韓國智能模型車技術(shù)方案分析[J].電子產(chǎn)品世界,2006(5):150-152.
[2] 趙甘露,李小民,江濤.一種新型噪聲檢測中值濾波算法[J].計算機工程與科學(xué),2006,28(11):30-32.
[3] 宋養(yǎng)鸼.競賽用智能汽車控制系統(tǒng)的研究[D].甘肅:蘭州 理工大學(xué),2009.
[4] 邱迎.道路自動識別與控制的智能車系統(tǒng)的研究[D].重慶:重慶大學(xué),2010.