劉蘭蘭+羅念+張遠(yuǎn)念
摘要:為了實(shí)現(xiàn)智能車(chē)路徑自主識(shí)別,設(shè)計(jì)一種路徑識(shí)別系統(tǒng),對(duì)智能車(chē)道路信息提取及處理算法和控制決策算法進(jìn)行了研究。本研究以MK60DN512ZLVQ100(K60)作為核心控制器,系統(tǒng)中硬件設(shè)計(jì)通過(guò)CMOS動(dòng)態(tài)集成模擬攝像頭OV7620作為圖像傳感器對(duì)賽道進(jìn)行檢測(cè)并拍攝賽道圖像,輸出圖像到K60微處理器進(jìn)行處理,利用自適應(yīng)動(dòng)態(tài)閾值圖像處理算法對(duì)采集的信息進(jìn)行還原、濾波,計(jì)算出最佳路徑。
關(guān)鍵詞:飛思卡爾;OV7620;動(dòng)態(tài)閾值;控制算法
1、引言
智能車(chē)集中運(yùn)用了自動(dòng)控制、多傳感器信息融合、導(dǎo)航技術(shù)、無(wú)線通信技術(shù)以及人工智能算法等高新技術(shù)[1]。在傳統(tǒng)智能車(chē)比賽中經(jīng)常應(yīng)用CCD傳感器作為圖像數(shù)據(jù)的路徑識(shí)別模塊,但CCD傳感器的前瞻較小且延伸調(diào)節(jié)不方便,其能獲取到的有效數(shù)據(jù)局限于有限的幾點(diǎn),因此在多變的賽道環(huán)境中的適應(yīng)性較差。而CMOS OV7620動(dòng)態(tài)集成模擬攝像頭[2]的前瞻較遠(yuǎn)且可調(diào)節(jié)性較強(qiáng),能及早捕捉和提取循跡軌道信息以便做出加速、減速等處理。圖像數(shù)據(jù)二值化處理的好壞決定著路徑識(shí)別模塊處理的穩(wěn)定性能和處理結(jié)果正確性。以嵌入式單片機(jī)K60為核心控制器,利用其強(qiáng)大的數(shù)據(jù)處理能力和豐富的外設(shè)接口設(shè)計(jì),來(lái)實(shí)現(xiàn)攝像頭圖像數(shù)據(jù)處理。
2、系統(tǒng)硬件設(shè)計(jì)
2.1核心控制器模塊
本系統(tǒng)采用Freescale32位K60系統(tǒng)微控制器作為系統(tǒng)核心控制處理器,根據(jù)其技術(shù)手冊(cè),K60微控制器具有豐富的模擬、通信、定時(shí)和控制外設(shè),內(nèi)含256KB Flash。另外,其特有的DSP指令和單精度浮點(diǎn)運(yùn)算具備直接訪問(wèn)(DMA)控制器與復(fù)用器功能,最高時(shí)頻可達(dá)180MHz。
2.2圖像采集模塊
本系統(tǒng)采用OV7620圖像傳感器,OV7620內(nèi)置10位雙通道A/D轉(zhuǎn)換器,輸出8位圖像數(shù)據(jù),因此直接將攝像頭的圖像灰度信息輸出連接至K60的GPIO端口,K60微控制器使用3.3V電壓作為工作電壓,而OV7620端口輸出電壓為5V,為了防止單片機(jī)長(zhǎng)時(shí)間過(guò)壓,需要將OV7620的輸出信號(hào)在不改變其包含信息前提下做相應(yīng)的轉(zhuǎn)換,從而實(shí)現(xiàn)系統(tǒng)的穩(wěn)定運(yùn)行。
3、系統(tǒng)軟件設(shè)計(jì)
高效的軟件程序是小車(chē)高速、平穩(wěn)自動(dòng)循跡的基礎(chǔ),系統(tǒng)軟件采用C語(yǔ)言編程[3],主要由初始化、圖像采集與處理兩個(gè)模塊組成,軟件流程如圖1所示。其中圖像采集與處理模塊[4]是軟件核心部分,包括動(dòng)態(tài)閾值二值化、引導(dǎo)線提取等。主控模塊通過(guò)循環(huán)調(diào)用圖像采集與處理對(duì)采集到的圖像進(jìn)行處理。
3.1攝像頭視頻信息采集
K60首先捕捉OV7620VSYN中斷,進(jìn)入場(chǎng)中斷,然后捕捉HERF,進(jìn)入行中斷,讀取GPIO端口圖像灰度數(shù)據(jù)存入圖像數(shù)據(jù)數(shù)組。
攝像頭采用俯視角度采集路徑信息,由于其視野角度比較小,因此所拍攝的畫(huà)面會(huì)呈倒梯形,如圖2所示。
3.2路徑圖像信息提取
1.圖像分割
圖像分割算法大概可以分為邊緣檢測(cè)分割和閾值分割兩類(lèi)。
圖像邊緣是指圖像中周?chē)袼鼗叶扔须A躍變化或屋頂變化的像素點(diǎn),而邊緣檢測(cè)的主要依據(jù)是圖像一階導(dǎo)數(shù)和二階導(dǎo)數(shù),但是進(jìn)行圖像邊緣檢測(cè)的前提是首先要對(duì)圖像進(jìn)行濾波,過(guò)程復(fù)雜,大量浪費(fèi)單片機(jī)的CPU。
閾值分割是基于區(qū)域的圖像分割方法,適用于物體與背景區(qū)域具有強(qiáng)烈對(duì)比的圖像,而且計(jì)算簡(jiǎn)單。閾值分割算法的關(guān)鍵在于閾值的確定,由于智能車(chē)輛識(shí)別路徑過(guò)程中,受時(shí)間和空間變化影響較大,必須采用動(dòng)態(tài)閾值分割算法。
2.動(dòng)態(tài)閾值算法
動(dòng)態(tài)閾值分割算法主要有實(shí)驗(yàn)法、灰度直方圖法、迭代選擇閾值法、最小均方誤差發(fā)、最大類(lèi)間方差法等。
由于本系統(tǒng)測(cè)試試驗(yàn)中的路徑信息只有黑白信息,比較單一,在采用根據(jù)直方圖谷底確定閾值的測(cè)試中,受外界光線影響,有嚴(yán)重的噪聲,因此采用一種動(dòng)態(tài)閾值檢測(cè)方法,設(shè)計(jì)步驟如下:
(1)讀取當(dāng)前圖像的灰度值,并存入數(shù)組Buffer[row][column];
(2)遍歷數(shù)組中所有的數(shù)值,采用最優(yōu)二叉尋找樹(shù)方法尋找數(shù)組中的最大和最小灰度值,并確定閾值初值;
(3)根據(jù)閾值將圖像分割成前景和背景兩部分,求出兩部分的平均灰度值;
(4)求出新閾值;
(5)將新閾值保存進(jìn)行其他操作,返回第(1)步。
3.黑線提取算法
(1)用檢測(cè)跳變的方法提取出前十行中每行的兩個(gè)跳變點(diǎn);
(2)然后多次求平均值就可以得到前十行的黑線位置;
(3)之后每十行進(jìn)行同樣操作即可提取全部黑線。
4、結(jié)果分析
在線測(cè)試的結(jié)果表明了自適應(yīng)動(dòng)態(tài)閾值圖像處理算法在智能車(chē)路徑識(shí)別中具有明顯的優(yōu)勢(shì),通過(guò)該算法對(duì)圖像進(jìn)行有效的處理,可以增加智能車(chē)對(duì)路徑的跟隨性能。
5、總結(jié)
本設(shè)計(jì)結(jié)合全國(guó)大學(xué)生“飛思卡爾”杯智能汽車(chē)競(jìng)賽,采用OV7620攝像頭采集道路信息,通過(guò)對(duì)采集圖像運(yùn)用自適應(yīng)動(dòng)態(tài)閾值圖像處理算法對(duì)圖像進(jìn)行有效的處理,可以增加智能車(chē)對(duì)路徑的跟隨性能。實(shí)驗(yàn)測(cè)試結(jié)果表明,本文給出的方法對(duì)智能車(chē)道路信息的采集具有明顯優(yōu)勢(shì),且系統(tǒng)運(yùn)行穩(wěn)定。
[參考文獻(xiàn)]
[1]程亞龍,周怡君.基于CMOS傳感器的智能車(chē)路徑識(shí)別研究[J].機(jī)械制造與自動(dòng)化,2007(5).
[2]王超藝,王宜懷.基于紅外傳感器的自循跡小車(chē)控制系統(tǒng)的設(shè)計(jì)[J].電子工程師,2008,34(11).
[3]郭天祥.新概念51單片機(jī)C語(yǔ)言教程:入門(mén)、提高、開(kāi)發(fā)、拓展全攻略[M].北京:電子工業(yè)出版社,2012.
[4]王琴慧.數(shù)字圖像處理[M].北京:北京郵電大學(xué)出版社,2006.
(作者單位:湖北民族學(xué)院 信息工程學(xué)院,湖北 恩施 445000)endprint