余世干,張廉潔,張旭東,戎強強
(阜陽師范學(xué)院 信息工程學(xué)院,安徽 阜陽 236041)
自動循跡的智能車相當(dāng)于移動的智能機(jī)器人,現(xiàn)在主要應(yīng)用于餐廳餐盤的接送、倉庫以及其他需要搬運設(shè)備的工作中,而線性CCD相當(dāng)于智能機(jī)器人眼睛,小車通過傳感器獲取路徑信息,并按一定的精度要求正確沿路徑行駛.
本設(shè)計中,要求智能汽車模型在規(guī)定45cm寬度的白色KT板,兩邊均為2cm黑色引導(dǎo)線的跑道上自動行駛,并可根據(jù)變化的形狀,按行駛要求自主導(dǎo)航.這就要求智能車車具備較強的自適應(yīng)能力.智能車在行駛的過程中還需要快速和穩(wěn)定性的要求,因此,設(shè)計方案必須考慮傳感器信號采集處理,陀螺儀和加速度計的調(diào)整,和電機(jī)差速控制策略的設(shè)計等因素.整個系統(tǒng)包括圖像信息采集和處理,智能車的直立控制,電機(jī)差速的轉(zhuǎn)向控制和速度的反饋,系統(tǒng)組成結(jié)構(gòu)如圖1所示,系統(tǒng)組成實物如圖2所示.
圖1 系統(tǒng)組成結(jié)構(gòu)圖
圖2 系統(tǒng)組成實物圖
對跑道形狀的識別正確與否決定了智能車車能否實現(xiàn)自動循跡功能.雖然當(dāng)今圖像處理算法已經(jīng)有很多成熟的算法和應(yīng)用,但如何有效地采用符合具體實際使用的算法則需要經(jīng)過實際測試才能確認(rèn),圖像處理包括對線性CCD信息采集,跑道狀況的提取,路徑的計算等.一般的設(shè)計流程包括圖像信息采集,圖像信息的處理,跑道信息的計算和行駛路線的優(yōu)化這4個部分.
圖像信息采集時,單片機(jī)的端口與CCD的圖像灰度信息輸出引腳相連,線性CCD是單行采集圖像的,并且采集回來的數(shù)據(jù)是灰度值,我們需要對灰度值進(jìn)行二值化和濾波處理,最終確定跑道的路況情況.
在智能小車中常用的閾值提取方法有固定閾值法;取平均電壓值作閾值與計算max與min的均值作閾值,通過對比分析得出本系統(tǒng)采用大津算法求閾值法.
2.2.1 固定閾值主要思想
在黑白電壓值較穩(wěn)定,浮動范圍很小的情況下,如白色路面的電壓始終在170上下極小的范圍內(nèi)浮動,黑色路面電壓在50左右穩(wěn)定,此時閾值可選范圍很大,隨機(jī)取一個100或120都是沒問題的.但很多CCD存在畸變,視野兩側(cè)的電壓始終很低,而且有時考慮到CCD視角的變化(如更改前瞻,焦距),圖像的波動可能也會較大,用以下兩種方法可能更實用.
2.2.2 取平均電壓值作閾值法
計算出128個像素點電壓的平均值,取此值作為圖像二值化的閾值,可以增強環(huán)境的適應(yīng)性,由于實際的黑白電壓的門限不斷變化且有一定的波動,或者外界光線亮暗略有不均,此方法依然能夠適用.
2.2.3 計算max與min的均值作閾值法
需要對128個像素點做排序,取出電壓最大與最小的兩個像素點的電壓值,取二者的平均值作閾值,通過實踐測試,這種方法具有一定的效果,但是考慮到比賽賽場上的光線過強,加上CCD畸變的影響,即使加上偏振片,得到的圖像可能仍不理想.
2.2.4 大津算法求閾值
由于比賽場館的光線分布式不均勻的,如果采用固定的閾值會影響圖像處理的效果,所以采用了大津算法動態(tài)求閾值.大津算法(OTSU)是一種確定圖像二值化分割閾值的重要算法,這是由日本學(xué)者大津于1979年提出,從大津的原理上來講,該方法又稱作最大類間方差法,因為按照大津法求得的閾值進(jìn)行圖像二值化分割后,前景與背景圖像的類間方差最大.
圖3 直方圖
原理:對于圖像I(x,y),前景(即目標(biāo))和背景的分割閾值記作T,屬于前景的像素點數(shù)占整幅圖像的比例記為ω0,其平均灰度μ0;背景像素點數(shù)占整幅圖像的比例為ω1,其平均灰度為μ1.圖像的總平均灰度記為μ,類間方差記為g.假設(shè)圖像的背景較暗,并且圖像的大小為M×N,圖像中像素的灰度值小于閾值T的像素個數(shù)記作N0,像素灰度大于閾值T的像素個數(shù)記作N1,則有:
將式(5)代入式(6),得到等價公式:
g=ω0ω1(μ0-μ1)^2(7)(這是類間方差)
采用遍歷的方法得到使類間方差g最大的閾值T,即為所求.
大津算法的形象理解:
對于直方圖有兩個峰值的圖像,大津法求得的T近似等于兩個峰值之間的低谷.圖3為圖像的直方圖,使大津法求得的T=0.5294,轉(zhuǎn)換在[0,255]之間為134.9970,只好是兩個峰值之間低谷的位置.
圖像處理的濾波算法較多,主要分為平均值濾波,中值濾波,限值濾波,滑動平均值濾波等.考慮到其他的濾波運算量大,需要占用大量內(nèi)存,故采用了中值濾波和滑動平均值濾波相結(jié)合的算法.中值濾波的優(yōu)點是能夠有效克服因偶然因素引起的波動干擾,滑動平均濾波的優(yōu)點是對周期性干擾有良好的抑制作用.
在實際處理中,每次取一行中3個相鄰列的灰度值,先判斷這3個值是否有相同的灰度值,若灰度值相同則采用滑動平均值濾波,取平均值,并將第二個值修改為該平均值;若灰度值不同則采用中值濾波,并對這3個值進(jìn)行排序,將第二個值修改為3個數(shù)值的中間值.該算法對一個像素點的過濾儀用到r相鄰兩個像素點的灰度值,計算量不大,占用內(nèi)存不多,適合單片機(jī)的計算,且該算法相對來說較簡單,時間復(fù)雜度不高,滿足了小車對快速控制系統(tǒng)的要求.濾波前后圖像對比如圖4所示.
圖4 濾波前后圖像對比圖
在濾波后的圖像中,白色為小車的行駛范圍,黑線為小車需要行駛的軌跡,因此,軌跡線的提取即為黑線,所以采用跟蹤引線的黑線提取算法.假設(shè)某時刻找到某行的黑線中心位置m,則下一時刻在下一行的m附近搜尋黑線的左右邊緣,然后計算該行的中心位置.該方法的特點是始終在前一行的引線中心位置附近尋找下一行的引線位置,故稱為“跟蹤”引線的黑線提取算法.該算法的優(yōu)點是在首行引線檢測正確的前提下具有較強的抗干擾性,能更有效地消除十字垂直交叉黑色引線的干擾以及引線外黑色噪點的影響,始終跟蹤目標(biāo)引導(dǎo)線.
在試驗過程中,發(fā)現(xiàn)該算法有一定的不足.由于是在連續(xù)鄰域上跟蹤引導(dǎo)線,因此,若第一行引線的檢測位置和實際導(dǎo)引線偏差較大,將產(chǎn)生一連串的錯誤,甚至造成小車失穩(wěn).為防止這種現(xiàn)象的發(fā)生,可利用前面兩行的引線中心位置來確定下一行的黑線位置.因為前兩行同時出錯的概率遠(yuǎn)遠(yuǎn)小于一行出錯的概率,所以采用這種方法造成丟失引線的幾率會大大減小.
此外,針對每行中的孤立噪點,采用計數(shù)法排除.如果連續(xù)黑點數(shù)小于某個閾值時,認(rèn)為是噪聲影響,而非實際的黑線,從而可以減少誤判概率.
對于道路形狀的判斷,可以采用曲率法.找到每行黑線的中心位置后,再進(jìn)行道路曲率信息的計算,即可得出道路的類型.簡單的曲率計算公式如下所示:
式中:x1,x2和x3為3個實際距離相等的行的黑線位置.
行駛路徑類型可以分為直道、曲率小的s彎、曲率大的S彎和普通彎道4類.u型彎道和0型彎道可以認(rèn)為是多個同方向普通彎道連接在一起,因此,都可以被認(rèn)為是普通彎道.若計算出來的曲率q接近0,則說明該段道路為直道或者小S彎;若曲率q比較大,則說明該段道路為普通彎道;若計算出來的曲率q非常大,則說明該段彎道為大S彎.
在計算得到各段道路的具體類型之后,就可以進(jìn)行小車行駛路徑的優(yōu)化.通常情況下,直道和小s彎道按照直線行駛通過;對于普通彎道,一般將小車行駛路線的曲率比道路彎曲程度大一點,盡量以微內(nèi)圈的線路通過;對于大S彎道,需要將小車的行駛路線曲率比道路彎曲程度小一點,在不跑出道路的情況下盡量少走彎路,這樣小車看到的彎道類型始終是大s彎道,即可以連續(xù)地走“小彎”路線通過,這樣既節(jié)約時間,且行駛速度不會因為拐彎太大而過于減小,并保持勻速行駛.
優(yōu)化前后路徑如圖5所示,虛線代表實際道路形狀,帶箭頭的實線代表優(yōu)化后的路徑形狀.
(2)小S彎道
(3)大S彎道
采用線性CCD檢測的循跡智能車系統(tǒng)的設(shè)計涵蓋了多個學(xué)科交叉知識,利用K60芯片作為核心控制器,CCD作為路線探測器,本文針對智能車系統(tǒng)的具體實際的圖像處理方案設(shè)計過程,具體包括圖像信息處理,閾值提取方法,系統(tǒng)圖像處理過程跑道軌跡提取,軌跡曲率處理等過程.經(jīng)過實際檢測,按照本文所設(shè)計的智能汽車模型能夠在規(guī)定的直行、S型、十字交叉路口、斜坡、直角彎等賽道上自助導(dǎo)航行使,速度能達(dá)到2m/s的速度,滿足實際需求.另外基于本文所研究思想,可以在其他自動控制領(lǐng)域發(fā)揮作用,這也是文章的另外一個目的.
〔1〕卓晴,黃開勝,邵貝貝.學(xué)做智能車[M].北京:北航出版社,2007.
〔2〕趙春燕,鄭永果,王向葵.基于直方圖的圖像模糊增強算法[J].計算機(jī)工程,2005.
〔3〕李忠海.圖像直方圖局部極值算法及其在邊界檢測中的應(yīng)用[J].吉林大學(xué)學(xué)報,2003.
〔4〕岡菩薩雷.數(shù)字圖像處理[M].北京:電子工業(yè)出版社,2002.
〔5〕吳懷宇.大學(xué)生智能汽車設(shè)計基礎(chǔ)與實踐[M].北京:電子工業(yè)出版社,2008.