魏權(quán)利 賀 晨
(青島科技大學(xué)信息科學(xué)技術(shù)學(xué)院,山東 青島266000)
隨著電子技術(shù)和智能控制技術(shù)的發(fā)展,智能車已經(jīng)成為自動(dòng)控制領(lǐng)域內(nèi)的一個(gè)研究熱點(diǎn)。自動(dòng)循跡運(yùn)輸車作為一種移動(dòng)機(jī)器人,主要應(yīng)用于機(jī)場(chǎng)、倉(cāng)庫(kù)以及其他需要搬運(yùn)設(shè)備的工況中。本智能車通過CMOS攝像頭獲取目標(biāo)道路信息。同時(shí)結(jié)合當(dāng)前的行駛狀態(tài)智能地做出決策,對(duì)其行駛方向進(jìn)行調(diào)整,從而實(shí)現(xiàn)準(zhǔn)確快速跟蹤道路的目的。設(shè)計(jì)要求運(yùn)輸車能自動(dòng)地沿著一條任意給定的彩色帶狀引導(dǎo)線行駛,要求引導(dǎo)線顏色與地面顏色有明顯的差距。
智能循跡車結(jié)構(gòu)框圖如圖1所示,采用S3C6410開發(fā)板作為系統(tǒng)的控制核心。S3C6410開發(fā)板搭載Linux3.0.1操作系統(tǒng),移植了video4linux2(V4L2)視頻設(shè)備驅(qū)動(dòng)。由CMOS攝像頭采集路徑視頻信號(hào),將采集到的圖片轉(zhuǎn)換為HSI模型,在HSI模型下結(jié)合飽和度S分量對(duì)色調(diào)H分量進(jìn)行OTSU算法處理,得到由引導(dǎo)線和地面背景組成的二值化圖像;然后選取合適的點(diǎn),采用最小二乘法擬合成一條直線,計(jì)算出運(yùn)輸車與引導(dǎo)線的夾角和偏移距離;最后將運(yùn)輸車與引導(dǎo)線的夾角和偏移距離這倆個(gè)參數(shù)通過串口傳遞給STM32運(yùn)輸車控制板,運(yùn)輸車控制板進(jìn)行相應(yīng)的計(jì)算,調(diào)整運(yùn)輸車的運(yùn)行軌跡,實(shí)現(xiàn)自動(dòng)循跡功能[1]。
對(duì)引導(dǎo)線的判斷正確與否決定了運(yùn)輸車能否實(shí)現(xiàn)自動(dòng)循跡功能,因此選擇恰當(dāng)?shù)膱D像處理算法就至關(guān)重要,下面將分析三種圖像處理算法。
對(duì)灰度圖進(jìn)行圖像處理的算法主要有基于特征值的二值化,邊緣檢測(cè)等方法。這類方法要求地面顏色比較干凈,前景和背景差距較大。但實(shí)際路面會(huì)無(wú)規(guī)律的泛白或者泛黑,對(duì)這種情況采取將彩色圖轉(zhuǎn)化成灰度圖,再進(jìn)行處理的方法顯然是不可取的。
2.2.1 介紹HSI模型。
HSI(Hue saturation intensity)顏色模型[2]把彩色信息表示為3種屬性,分別是:色調(diào),表示顏色的類型;飽和度,表示顏色的純度;強(qiáng)度,表示亮度信息。從人的視覺系統(tǒng)看,人眼看到的任一色彩都是這3個(gè)屬性的結(jié)合。HSI顏色模型中圍繞軸的角度是色調(diào)H,用0度到360度表示,影響著人類的視覺判斷;離開長(zhǎng)軸的距離為飽和度S,即顏色的純度,從0%到完全飽和100%;長(zhǎng)軸表示亮度I,從黑0%到白100%,體現(xiàn)了光線的明暗程度。HSI顏色空間具有與知覺一致的獨(dú)立通道,能較好反映人對(duì)顏色的感知和鑒別能力[3]。
2.2.2 最大類間方差法(OTSU)。
OTSU的原理:通過自適應(yīng)閥值,將圖像分為前景和背景倆部分。當(dāng)取最佳閥值時(shí),前景和背景的差異應(yīng)該是最大的。記前景與背景的分割閥值為t,前景所占比例為w0,平均灰度為u0;背景所占比例為w1,平均灰度為u1。則圖像平均灰度值為:u=u0*w0+u1*w1。前景和背景圖象的方差為:g=w0*(u0-u)*(u0-u)+w1*(u1-u)*(u1-u)=w0*w1*(u0-u1)*(u0-u1),當(dāng)方差g最大時(shí),前景和背景差異最大,此時(shí)選擇的閥值就是最佳閥值。采用得到的閥值對(duì)圖像進(jìn)行二值化處理,灰度值大于該閥值的像素點(diǎn)設(shè)置為全白,灰度值小于該閥值的像素點(diǎn)設(shè)置為全黑[4]。
實(shí)際情況中,路面的某些區(qū)域顏色呈現(xiàn)出來(lái)是非彩色的,即飽和度S分量特別低。這種情形下,它的H分量可能是任意值,有可能會(huì)與引導(dǎo)線的H分量相近。因此,直接對(duì)H分量進(jìn)行OTSU算法處理效果不佳。
考慮到需要消去飽和度S分量過低的路面部分對(duì)引導(dǎo)線的干擾,因此需要將色調(diào)H分量和飽和度S分量進(jìn)行綜合考慮。本設(shè)計(jì)首先排除飽和度S分量過低的部分,然后再對(duì)其它部分的色調(diào)H分量進(jìn)行OTSU算法處理,最終得到了滿意的處理效果。
本系統(tǒng)軟件流程圖如圖2所示。
圖2 系統(tǒng)軟件流程圖
Video4Linux2(簡(jiǎn)稱V4L2),是Linux中關(guān)于視頻設(shè)備的內(nèi)核驅(qū)動(dòng)。本系統(tǒng)使用V4L2驅(qū)動(dòng),得到一幅RGB565格式的圖片,圖片的分辨率為320*240。
因?yàn)槲覀円贖SI模型下進(jìn)行圖像處理,所以首先要將RGB格式的圖片轉(zhuǎn)換為HSI模型。
采集到的圖像不可避免的會(huì)受到噪聲干擾,所以有必要對(duì)采集到的圖像進(jìn)行預(yù)處理。常用的濾波算法主要有時(shí)域?yàn)V波和頻率濾波倆種,頻率濾波對(duì)本設(shè)計(jì)使用的處理器來(lái)說,運(yùn)算量太大,考慮到系統(tǒng)性能,并不適用。所以采用時(shí)域?yàn)V波的方式。中值濾波是一種局部平均平滑技術(shù),它依靠模板來(lái)實(shí)現(xiàn),中值濾波的主要功能是將周圍像素灰度值的差比較大的像素改為與周圍像素值接近的值,所以采用中值濾波可以有效的消除孤立的噪聲點(diǎn)。
首先排除圖片中飽和度S分量過低的部分,然后對(duì)圖片的色調(diào)H分量進(jìn)行OTSU處理,得到一幅二值化圖像,前景為引導(dǎo)線,背景為地面。
考慮到系統(tǒng)的處理速度,對(duì)連續(xù)的前景區(qū)域,每隔10行取中點(diǎn),然后通過最小二乘法將所有得到的點(diǎn)進(jìn)行直線擬合,得到的圖像就是引導(dǎo)線的中心線。
上述步驟中,已經(jīng)得到了引導(dǎo)線的中心線,根據(jù)幾何關(guān)系,引導(dǎo)線的中心線與圖像Y軸的夾角就是運(yùn)輸車與引導(dǎo)線的夾角。中心線中點(diǎn)與它所在行的中點(diǎn)的距離就是運(yùn)輸車的偏移距離。S3C6410主控板通過串口將這倆個(gè)數(shù)據(jù)傳遞給運(yùn)輸車控制板。
運(yùn)輸車控制板接受到轉(zhuǎn)角和偏移距離后,進(jìn)行相應(yīng)的計(jì)算,調(diào)整運(yùn)輸車的運(yùn)行軌跡,實(shí)現(xiàn)自動(dòng)循跡功能。
將本文提到的三種圖像處理方法進(jìn)行對(duì)比,結(jié)果如圖3所示。
圖3 圖像處理效果對(duì)比
圖3(a)為原圖,圖3(b)是將圖3(a)轉(zhuǎn)灰度圖后,對(duì)灰度圖進(jìn)行OTSU算法處理得到的效果圖。圖3(c)是在HSI模型下對(duì)圖3(a)的色調(diào)H分量直接進(jìn)行OTSU算法處理得到的效果圖。圖3(d)是在HSI模型下結(jié)合飽和度S分量對(duì)圖3(a)色調(diào)H分量進(jìn)行OTSU算法處理得到的效果圖。
圖3(b)有大量的噪聲點(diǎn),處理效果非常不理想。圖3(c)比圖3(b)的效果略好,但仍有大量的噪聲點(diǎn)。本文采用的圖3(d)方法,能夠很好的分割出引導(dǎo)線和無(wú)效背景倆部分,得到清晰的處理效果。
本文介紹了基于HSI模型的智能循跡車的設(shè)計(jì)方案,系統(tǒng)在HSI模型下結(jié)合飽和度S分量對(duì)色調(diào)H分量進(jìn)行OTSU算法分割圖像以提取路徑引導(dǎo)線。實(shí)驗(yàn)結(jié)果表明,設(shè)計(jì)的系統(tǒng)能夠在任意彩色導(dǎo)引線上穩(wěn)定、可靠地運(yùn)行;能快速流暢地實(shí)現(xiàn)自主循跡;系統(tǒng)運(yùn)行穩(wěn)定、可靠,可以應(yīng)用到智能機(jī)器人、自動(dòng)化作業(yè)平臺(tái)等領(lǐng)域,具有一定的實(shí)用性。
[1]王子輝,葉云岳.基于CMOS傳感器的智能循跡小車圖像識(shí)別技術(shù)研究[J].傳感技術(shù)學(xué)報(bào),2009,22(4):484-488.
[2]章毓晉.圖像處理與分析[M].北京:清華大學(xué)出版社,1999.