文獻標(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ù)字攝像頭,,返回的是8 bit數(shù)字信號,。OV7620的分辨率為240×360,但是由于MC9S12XS128 MCU的RAM僅有8 KB,不可能每一行的圖像都采集,,必須有選擇地選取圖像行,,采用隔行采集的思想來壓縮圖像數(shù)據(jù),。考慮賽道的黑線線寬為25 mm,,為了保證起跑線的檢測,,圖像縱向至少精度要達到25 mm。因此,,根據(jù)攝像頭的原始圖像,,計算行距,確定采集的行數(shù),,采集圖像信息,。
采集的圖像數(shù)據(jù)范圍是120×40,經(jīng)試驗?zāi)苓m用于小車的行駛控制,,但由于采集回來的圖像是畸變的,,采用加權(quán)不均衡思想,用數(shù)組進行選擇采集,,所采集的行數(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)干擾信息,,抗干擾性能較差,如果每場信號都對閾值進行更新也會造成較大的誤差甚至誤判,;使用動態(tài)閾值方法又會造成大量的運算,,耗費大量系統(tǒng)資源,不利于系統(tǒng)的實時性操作,。
經(jīng)過分析,,圖像雖然隨光線灰度值變化較大,但是將圖像分為若干模塊段時無論外界光線如何變化,,對于每個小段內(nèi)閾值變化范圍也不會太大,,因此采取局部閾值分割的方法,,對圖像的遠、中,、近各分幾段進行閾值分配,,通過大量測試可以獲取一個位置相對較為適當(dāng)?shù)拈撝担@樣可以很好地實現(xiàn)圖像的二值化分割,。
2.2 混合掃描方式抗干擾提取導(dǎo)航黑線
對比前面介紹的幾種路徑提取方法,,充分利用二值化閾值分割、邊緣跟蹤檢測算法的特點,,使用混合掃描方式提取圖像信息,。對車體前端幾行數(shù)據(jù)進行全行掃描,根據(jù)試驗采集到的數(shù)據(jù)設(shè)置好前端數(shù)據(jù)的局部閾值,,比較后提取出路徑位置,,若前端幾行沒有提取出有效路徑,則認為本場圖像無效,,可以排除偶然因素導(dǎo)致的錯誤圖像干擾信息提取,。對于這幾行之后的數(shù)據(jù)采用邊緣跟蹤法,在前幾行全掃描提取的路徑周圍設(shè)置一個范圍對后續(xù)行進行跟蹤,,這樣可以大大減少掃描的范圍和節(jié)約系統(tǒng)資源,。對于邊緣跟蹤檢測算法的搜索范圍也采用適當(dāng)?shù)膭討B(tài)方法進行配置,如果能夠判斷出前段已提取出的路徑是比較直的路線,,路徑中心坐標(biāo)的偏差較小,,在進行后續(xù)跟蹤掃描時就可以適當(dāng)縮小搜索范圍,反之則擴大搜索區(qū)域,。如遇特殊情況,,如中間有一行沒有提取出有效信息,則后面進行邊緣跟蹤時就使用再上一次已正確提取出路徑信息時的位置相應(yīng)地擴大搜索區(qū)域,,這樣就可占用很少的系統(tǒng)資源實現(xiàn)路徑信息的正確提取,。混合掃描軟件程序流程如圖1所示,。
實際測試時發(fā)現(xiàn):攝像頭返回的數(shù)據(jù),,在近端比較清楚,,即使在不同光線下,,變化也不是太大,于是對前3行設(shè)定了固定的灰度值和跳變值,,并對其近端行進行全行掃描,,直到找到黑線行為止,并且提取左右的黑線邊緣,。
在前6行確定的情況下,,將6行中的最穩(wěn)定值作為后34行的基準(zhǔn)值,,在對后34行進行邊沿搜索時,依照前兩行的黑線的斜率,,若斜率為負,,黑線的變化趨勢就是向右的,此時便采取從左向右搜索,;若斜率為正,,黑線的變化趨勢就是向左的,此時便采取從右向左搜索,,但為了排除十字差的干擾,,如果前一行基準(zhǔn)值過大,采取從右向左搜索,,如過小則是從左向右搜,,搜索范圍會根據(jù)黑線的遠近端以及前一行是否丟失黑線來確定。
若前6行沒有搜索到黑線,,則認為黑線丟失,,黑線丟失標(biāo)志置1,即退出搜索,,黑線提取完畢,,有效行在退出前要再次進行更新。
2.3 防黑線提取錯誤濾波算法
要保證小車不跑出跑道,,必須確保采集的數(shù)據(jù)和提取的黑線是正確的,。小車跑出賽道的情況,一般是黑線提取算法出錯,。因此對于黑線的提取,,必須采用一些特殊的濾波算法來確保黑線提取的正確性。在防止黑線提取出錯中,,采用了限幅濾波與缺省行插值算法相結(jié)合的思想,,具體程序流程如圖2所示。
通過無線收發(fā)的方式提取黑線數(shù)據(jù),,然后通過Matlab恢復(fù)出所提取的黑線,,通過分析可知在何時何種賽道提取黑線出錯,進一步再通過串口去查看靜態(tài)數(shù)據(jù),。以下是在幾種比較典型賽道上的測試,,通過反饋數(shù)據(jù)恢復(fù)出的圖像,分別出現(xiàn)以下幾種情況時,,說明黑線提取正確,,濾波算法動態(tài)效果如圖3所示。
3 測試結(jié)果分析
本設(shè)計采用串口示波器加無線組合工具進行測試。采用串口示波器,,完成返回黑線數(shù)據(jù)的檢測,、查看攝像頭采集數(shù)據(jù)情況以及黑線提取情況,用于黑線提取算法的分析,,是完成黑線提取算法的關(guān)鍵性調(diào)試工具,,可以準(zhǔ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)黑線識別出錯的情況,小車不會跑出賽道,。
參考文獻
[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.