王力超 羅建 劉丙友 張崢崢 李興 趙子祥 范保程
摘 要:針對(duì)智能小車(chē)在跑道行駛過(guò)程中方向控制與速度控制不理想問(wèn)題,對(duì)跑道進(jìn)行圖像處理,簡(jiǎn)化并提取跑道邊界線(xiàn),擬合出跑道方程,采用模糊PID算法對(duì)小車(chē)方向及速度進(jìn)行控制.該方案能夠快速有效分析小車(chē)路徑,計(jì)算小車(chē)的方向和速度.
關(guān)鍵詞:機(jī)器視覺(jué);智能小車(chē);導(dǎo)航
[中圖分類(lèi)號(hào)]TP242.6 [文獻(xiàn)標(biāo)志碼]A
Research on Intelligent Vehicle Navigation System based on Machine Vision
WANG Lichao,LUO Jian, LIU Bingyou,ZHANG Zhengzheng,LI Xing,ZHAO Zixiang,F(xiàn)AN Baocheng
(Anhui Polytechnic University College of Electrical Engineering,Wuhu 241000,China)
Abstract:Aiming at the unsatisfactory problem of direction control and speed control of intelligent car in the course of running on the runway, image processing is carried out on the runway to simplify and extract the boundary line of the runway, and the runway equation is fitted. FuzzyPID algorithm is used to control the direction and speed of the car. This scheme can quickly and effectively analyze the car path and calculate the direction and speed of the car.
Key words:machine vision; intelligent car; navigation
智能小車(chē)作為智能車(chē)輛的微縮模型,是一個(gè)集行為控制與執(zhí)行、動(dòng)態(tài)路徑規(guī)劃與決策以及環(huán)境感知的智能系統(tǒng).它能檢驗(yàn)智能車(chē)輛的控制算法,模擬小車(chē)在道路上行駛時(shí)遇到的問(wèn)題并予以解決.模擬真車(chē)行駛狀態(tài),對(duì)于未來(lái)智能車(chē)輛的研究有很大的幫助.智能小車(chē)紅外線(xiàn)導(dǎo)航電路設(shè)計(jì)簡(jiǎn)單,處理速度快,易于控制,但其獲得的道路信息較少,檢測(cè)的前方距離有限,易受環(huán)境干擾,精度比較低.電磁導(dǎo)航結(jié)構(gòu)簡(jiǎn)單,實(shí)現(xiàn)容易,誤差不隨時(shí)間積累,但靈敏度不高,精度不高,易受環(huán)境影響.機(jī)器視覺(jué)導(dǎo)航視野廣,可以獲取大量的道路信息,掌握完整全面的道路信息;前瞻性好,能更早地預(yù)知道路的變化并迅速做出反應(yīng);魯棒性高,不易受環(huán)境的干擾,具有更快的圖像處理速度和更好的控制實(shí)時(shí)性,具有廣闊的應(yīng)用前景和應(yīng)用的可行性,是現(xiàn)階段智能車(chē)輛最常用的導(dǎo)航方式.[1]
機(jī)器視覺(jué)導(dǎo)航利用圖像傳感器采集路徑信息,將獲得的路徑圖像信息傳輸?shù)教幚砥髦羞M(jìn)行處理,控制智能車(chē)進(jìn)行路徑識(shí)別,然后對(duì)信息圖像進(jìn)行二值化、去噪等處理,達(dá)到簡(jiǎn)化視覺(jué)導(dǎo)航電路、提高智能小車(chē)的實(shí)時(shí)性、簡(jiǎn)化算法的目的.本文主要研究智能車(chē)在結(jié)構(gòu)化跑道中道路的檢測(cè)識(shí)別算法,提出一種基于區(qū)域生長(zhǎng)的導(dǎo)航算法.
1 圖像處理
第一步,對(duì)攝像頭采集回來(lái)的圖像信息進(jìn)行預(yù)處理,從而得到低噪聲的跑道信息;第二步,通過(guò)本文提出的圖像提取算法將跑道邊界線(xiàn)提取出來(lái),判斷跑道的走向趨勢(shì);第三步,擬合跑道邊界線(xiàn)方程.
1.1 圖像濾波處理
目前常用到的平滑化處理的方法有方框?yàn)V波—BoxBlur、均值濾波—Blur、高斯濾波—GaussianBlur、中值濾波—medianBlur、雙邊濾波—bilateralFilter.
方框?yàn)V波是將圖像封裝在boxblur中,使用方框?yàn)V波器模糊一張圖片,從src輸入,從dst輸出.BoxFilter()函數(shù)方框?yàn)V波核表示為:
其中,
a1ksize.width*ksize.height 當(dāng)mormalize=ture時(shí),1當(dāng)mormalize=false時(shí).
均值濾波利用Blur對(duì)輸入的圖像src進(jìn)行均值濾波處理后用dst輸出.是非常常見(jiàn)的一種濾波操作,其缺點(diǎn)是不能很好地保護(hù)圖像細(xì)節(jié),容易破壞圖像的細(xì)節(jié)部分,圖像清晰度不理想,去噪效果不能滿(mǎn)足要求.
高斯濾波對(duì)抑制服從正態(tài)分布的噪聲有較好的處理效果,因此常用于圖像的減噪過(guò)程.
中值濾波是非線(xiàn)性濾波技術(shù),該方法在去除噪聲的同時(shí)能保留圖形的邊緣細(xì)節(jié),是一種處理平滑噪聲效果較好的方法.
雙邊濾波是非線(xiàn)性的濾波方法,對(duì)低頻信息有較好的濾波效果.
其中定義域核為
值域核為
(6)式和(7)式相乘后,產(chǎn)生依賴(lài)于數(shù)據(jù)的雙邊濾波權(quán)重函數(shù)
利用以上五種濾波方法,對(duì)跑道圖像進(jìn)行跑道濾波處理.
五種濾波方法比較結(jié)果表明,中值濾波最適合本研究,它的處理圖像能夠使圖像的細(xì)節(jié)清晰地展現(xiàn)出來(lái),且對(duì)濾除脈沖干擾及圖像掃描噪聲非常有效,還能夠使跑道邊界線(xiàn)清楚地展現(xiàn)出來(lái),為接下來(lái)的研究提供了方便.
1.2 圖像二值化處理
研究選取攝像頭灰度變化為0255,含有256個(gè)灰度級(jí),為了提高系統(tǒng)的處理速度,對(duì)原始圖像進(jìn)行二值化處理.[2]采用閾值對(duì)圖像進(jìn)行二值化處理[3],固定閾值二值化處理算法為:
g(x,y)=255 f(x,y)≥T 0 f(x,y) (9)式中,g(x,y)是二值化處理后像素點(diǎn)的灰度值,T是所選的固定閾值,f(x,y)是原始圖像像素點(diǎn)的灰度值.自適應(yīng)閾值、int類(lèi)型的thresholdType、閾值類(lèi)型,取值必須為T(mén)HRESH_BINARY,THRESH_BINARY_TNV之一.當(dāng)“閾值類(lèi)型”thresholdType取值為T(mén)HRESH_BINARY時(shí),自適應(yīng)閾值處理算法為: dst(x,y)=max Value ifsrc(x,y)>T(x,y) 0 otherwise.(10) 當(dāng)“閾值類(lèi)型”thresoldType取值為T(mén)HRESH_BINARY_TNV時(shí),自適應(yīng)閾值的處理算法為: dst(x,y)= 0 ifsrc(x,y)>T(x,y)maxValue otherwise.(11) (11)式中,T(x,y)為單獨(dú)像素的閾值. 二值化處理結(jié)果見(jiàn)圖1圖2.從圖中可以看出,原始圖像灰度值主要分布在50及200周?chē)?,灰度值?0左右的是區(qū)域跑道的邊界黑線(xiàn),灰度值在200左右的是跑道的白色部分,故選擇150作為固定閾值,可以最大程度降低干擾. 1.3 圖像去噪處理 對(duì)原始圖像進(jìn)行二值化處理后,在圖像中會(huì)出現(xiàn)一些干擾點(diǎn),為了后期處理方便,需要消除這些干擾點(diǎn).選用膨脹腐蝕算法[4]對(duì)二值化后的圖像進(jìn)行去噪處理,數(shù)學(xué)表達(dá)式為: dst(x,y)=min src(x+x',y+y')(x',y'):element(x',y')≠0.(12) dst(x,y)=max src(x+x',y+y')(x',y'):element(x',y')≠0.(13) 利用矩陣1 1 1和111對(duì)二值化后的圖像進(jìn)行去噪處理,效果見(jiàn)圖3圖4所示.去噪處理消除了圖像的干擾點(diǎn),為后面的圖像分割處理提供了方便. 1.4 分割算法 采用基于邊緣檢測(cè)的分割算法對(duì)二值化及去噪處理后的圖像分割處理.對(duì)圖像進(jìn)行邊緣檢測(cè)是基于邊緣檢測(cè)分割算法的關(guān)鍵,本文采用sobel作為邊緣檢測(cè)的算子[6],處理后的效果見(jiàn)圖5.通過(guò)分割算法的處理,將跑道邊界線(xiàn)清晰地提取出來(lái),從而準(zhǔn)確地判斷出跑道的走向趨勢(shì). 2 跑道邊界線(xiàn)的提取 跑道邊界線(xiàn)的提取是智能車(chē)視頻導(dǎo)航的關(guān)鍵.跑道區(qū)域和背景區(qū)域有明顯的分界線(xiàn),將跑道從圖像中分割出來(lái),利用黑線(xiàn)進(jìn)行道路提取,可以降低算法的復(fù)雜程度.為使小車(chē)能夠一直在跑道上行駛,設(shè)跑道寬度為d,小車(chē)到左右兩邊線(xiàn)的距離為d1和d2,小車(chē)攝像頭高度為h. 0<|d1-d2| 建立小車(chē)位置空間直角坐標(biāo)系(圖6),跑道邊界線(xiàn)位于空間直角坐標(biāo)系xoy面中.作跑道邊界線(xiàn)某點(diǎn)切線(xiàn),斜率為k,取跑道該點(diǎn)兩側(cè)距離相近的兩點(diǎn)a點(diǎn)與b點(diǎn),a點(diǎn)坐標(biāo)為(x1,y1,0),b點(diǎn)坐標(biāo)(x2,y2,k0).用a點(diǎn)與b點(diǎn)近似表示k. k≈y2-y1x2-x1.(15) 由于左右兩條邊界線(xiàn)走線(xiàn)一致,故只需要分析其中一條線(xiàn)的斜率即可.小車(chē)在行駛過(guò)程中不斷選取邊界上的點(diǎn),即可還原整個(gè)跑道.這里使用最小二乘法進(jìn)行跑道邊界線(xiàn)的擬合,通過(guò)計(jì)算 ∑ni=1(kxi+b-yi)2, 擬合直線(xiàn)為: y=kx+b.(16) 如果跑道是彎道,需要對(duì)跑道進(jìn)一步曲線(xiàn)擬合,并求出方程. 3 控制算法 控制算法采用模糊PID算法.模糊PID控制器是在PID控制器的基礎(chǔ)上,通過(guò)對(duì)PID控制器的三個(gè)參數(shù)進(jìn)行調(diào)整,以獲得更高控制效果的一種控制手段. 智能小車(chē)在跑道上行駛時(shí),舵機(jī)的方向改變角度必須保證小車(chē)穩(wěn)定在跑道上行駛而不會(huì)沖出跑道,且使因轉(zhuǎn)向而產(chǎn)生的震蕩不會(huì)對(duì)小車(chē)的行駛狀況產(chǎn)生較大影響.[7]由于PID參數(shù)積分I只是用于消除靜態(tài)誤差,本文轉(zhuǎn)向控制去掉積分環(huán)節(jié).[8]結(jié)構(gòu)如圖7所示.E,EC分別為路徑的偏差及偏差變化率,u為路徑輸出控制量.P,D為參數(shù).每一組P,D參數(shù)對(duì)應(yīng)著u的值,保證智能小車(chē)在跑道上穩(wěn)定的行駛. 采用模糊控制算法對(duì)小車(chē)速度進(jìn)行控制.圖8為小車(chē)速度模糊控制器結(jié)構(gòu)圖.小車(chē)行駛過(guò)程中,系統(tǒng)檢測(cè)出小車(chē)速度及與期望值之間的偏差,傳送信號(hào)給電機(jī)執(zhí)行.系統(tǒng)實(shí)時(shí)監(jiān)測(cè)小車(chē)速度并不斷修正,以達(dá)到小車(chē)在跑道上穩(wěn)定快速行駛的效果. 4 結(jié)束語(yǔ) 研究了一種基于視覺(jué)導(dǎo)航的智能小車(chē)導(dǎo)航系統(tǒng),前瞻性好,能夠更早地預(yù)知道路的變化,并迅速做出反應(yīng);魯棒性高,受環(huán)境的干擾程度小.導(dǎo)航系統(tǒng)將獲得的信息傳輸?shù)教幚砥髦羞M(jìn)行處理,得到有用信息后,控制智能車(chē)進(jìn)行路徑識(shí)別,對(duì)圖像進(jìn)行二值化處理,擬合出跑道曲線(xiàn)方程.采取模糊—PID控制器控制方法對(duì)小車(chē)的方向及速度進(jìn)行控制,使小車(chē)能夠穩(wěn)定快速的在跑道上行駛.該方法達(dá)到了簡(jiǎn)化視覺(jué)導(dǎo)航電路和簡(jiǎn)化算法的目的,提高了智能小車(chē)的實(shí)時(shí)性和魯棒性. 參考文獻(xiàn) [1] 周龍旗, 劉建平. 智能車(chē)視覺(jué)導(dǎo)航系統(tǒng)[J]. 計(jì)算技術(shù)與自動(dòng)化, 1989, 13(2):1218. [2] Dickmanns E D, Behringer R,Dickmanns D,et al. The seeing passenger car 'VaMoRsP'[C].Intelligent Vehicles '94 Symposium,Proceedings of the.IEEE Xplore,1994:6873. [3] 陳麗敏. 一種自動(dòng)提取閾值的方法[J]. 牡丹江師范學(xué)院學(xué)報(bào):自然科學(xué)版,2005(2):67. [4] Luong Q T, Weber J, Koller D, et al. An integrated stereobased approach to automatic vehicle guidance[C].International Conference on Computer Vision, 1995. Proceedings. IEEE, 1995:5257. [5] Bertozzi M, Broggi A. GOLD: a parallel realtime stereo vision system for generic obstacle and lane detection.[J]. IEEE Transactions on Image Processing A Publication of the IEEE Signal Processing Society, 1998, 7(1):62. [6] 鮑義東,熊馨.基于Canny算子的棉花異性纖維檢測(cè)算法的研究[J].牡丹江師范學(xué)院學(xué)報(bào):自然科學(xué)版,2009(1):1112. [7] 張家驊,徐連強(qiáng),吳迎春.智能小車(chē)模糊PID控制調(diào)速系統(tǒng)設(shè)計(jì)[J].信息技術(shù),2012(10):181183. [8] 葉金鑫.基于模糊PID的智能小車(chē)控制算法研究[J].實(shí)驗(yàn)科學(xué)與技術(shù),2016,14(1):4647. 編輯:琳莉