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