王力超 羅建 劉丙友 張崢崢 李興 趙子祥 范保程
摘 要:針對智能小車在跑道行駛過程中方向控制與速度控制不理想問題,對跑道進行圖像處理,簡化并提取跑道邊界線,擬合出跑道方程,采用模糊PID算法對小車方向及速度進行控制.該方案能夠快速有效分析小車路徑,計算小車的方向和速度.
關鍵詞:機器視覺;智能小車;導航
[中圖分類號]TP242.6 [文獻標志碼]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
智能小車作為智能車輛的微縮模型,是一個集行為控制與執(zhí)行、動態(tài)路徑規(guī)劃與決策以及環(huán)境感知的智能系統(tǒng).它能檢驗智能車輛的控制算法,模擬小車在道路上行駛時遇到的問題并予以解決.模擬真車行駛狀態(tài),對于未來智能車輛的研究有很大的幫助.智能小車紅外線導航電路設計簡單,處理速度快,易于控制,但其獲得的道路信息較少,檢測的前方距離有限,易受環(huán)境干擾,精度比較低.電磁導航結構簡單,實現(xiàn)容易,誤差不隨時間積累,但靈敏度不高,精度不高,易受環(huán)境影響.機器視覺導航視野廣,可以獲取大量的道路信息,掌握完整全面的道路信息;前瞻性好,能更早地預知道路的變化并迅速做出反應;魯棒性高,不易受環(huán)境的干擾,具有更快的圖像處理速度和更好的控制實時性,具有廣闊的應用前景和應用的可行性,是現(xiàn)階段智能車輛最常用的導航方式.[1]
機器視覺導航利用圖像傳感器采集路徑信息,將獲得的路徑圖像信息傳輸?shù)教幚砥髦羞M行處理,控制智能車進行路徑識別,然后對信息圖像進行二值化、去噪等處理,達到簡化視覺導航電路、提高智能小車的實時性、簡化算法的目的.本文主要研究智能車在結構化跑道中道路的檢測識別算法,提出一種基于區(qū)域生長的導航算法.
1 圖像處理
第一步,對攝像頭采集回來的圖像信息進行預處理,從而得到低噪聲的跑道信息;第二步,通過本文提出的圖像提取算法將跑道邊界線提取出來,判斷跑道的走向趨勢;第三步,擬合跑道邊界線方程.
1.1 圖像濾波處理
目前常用到的平滑化處理的方法有方框濾波—BoxBlur、均值濾波—Blur、高斯濾波—GaussianBlur、中值濾波—medianBlur、雙邊濾波—bilateralFilter.
方框濾波是將圖像封裝在boxblur中,使用方框濾波器模糊一張圖片,從src輸入,從dst輸出.BoxFilter()函數(shù)方框濾波核表示為:
其中,
a1ksize.width*ksize.height 當mormalize=ture時,1當mormalize=false時.
均值濾波利用Blur對輸入的圖像src進行均值濾波處理后用dst輸出.是非常常見的一種濾波操作,其缺點是不能很好地保護圖像細節(jié),容易破壞圖像的細節(jié)部分,圖像清晰度不理想,去噪效果不能滿足要求.
高斯濾波對抑制服從正態(tài)分布的噪聲有較好的處理效果,因此常用于圖像的減噪過程.
中值濾波是非線性濾波技術,該方法在去除噪聲的同時能保留圖形的邊緣細節(jié),是一種處理平滑噪聲效果較好的方法.
雙邊濾波是非線性的濾波方法,對低頻信息有較好的濾波效果.
其中定義域核為
值域核為
(6)式和(7)式相乘后,產(chǎn)生依賴于數(shù)據(jù)的雙邊濾波權重函數(shù)
利用以上五種濾波方法,對跑道圖像進行跑道濾波處理.
五種濾波方法比較結果表明,中值濾波最適合本研究,它的處理圖像能夠使圖像的細節(jié)清晰地展現(xiàn)出來,且對濾除脈沖干擾及圖像掃描噪聲非常有效,還能夠使跑道邊界線清楚地展現(xiàn)出來,為接下來的研究提供了方便.
1.2 圖像二值化處理
研究選取攝像頭灰度變化為0255,含有256個灰度級,為了提高系統(tǒng)的處理速度,對原始圖像進行二值化處理.[2]采用閾值對圖像進行二值化處理[3],固定閾值二值化處理算法為:
g(x,y)=255 f(x,y)≥T 0 f(x,y) (9)式中,g(x,y)是二值化處理后像素點的灰度值,T是所選的固定閾值,f(x,y)是原始圖像像素點的灰度值.自適應閾值、int類型的thresholdType、閾值類型,取值必須為THRESH_BINARY,THRESH_BINARY_TNV之一.當“閾值類型”thresholdType取值為THRESH_BINARY時,自適應閾值處理算法為: dst(x,y)=max Value ifsrc(x,y)>T(x,y) 0 otherwise.(10) 當“閾值類型”thresoldType取值為THRESH_BINARY_TNV時,自適應閾值的處理算法為: dst(x,y)= 0 ifsrc(x,y)>T(x,y)maxValue otherwise.(11) (11)式中,T(x,y)為單獨像素的閾值. 二值化處理結果見圖1圖2.從圖中可以看出,原始圖像灰度值主要分布在50及200周圍,灰度值在50左右的是區(qū)域跑道的邊界黑線,灰度值在200左右的是跑道的白色部分,故選擇150作為固定閾值,可以最大程度降低干擾. 1.3 圖像去噪處理 對原始圖像進行二值化處理后,在圖像中會出現(xiàn)一些干擾點,為了后期處理方便,需要消除這些干擾點.選用膨脹腐蝕算法[4]對二值化后的圖像進行去噪處理,數(shù)學表達式為: 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對二值化后的圖像進行去噪處理,效果見圖3圖4所示.去噪處理消除了圖像的干擾點,為后面的圖像分割處理提供了方便. 1.4 分割算法 采用基于邊緣檢測的分割算法對二值化及去噪處理后的圖像分割處理.對圖像進行邊緣檢測是基于邊緣檢測分割算法的關鍵,本文采用sobel作為邊緣檢測的算子[6],處理后的效果見圖5.通過分割算法的處理,將跑道邊界線清晰地提取出來,從而準確地判斷出跑道的走向趨勢. 2 跑道邊界線的提取 跑道邊界線的提取是智能車視頻導航的關鍵.跑道區(qū)域和背景區(qū)域有明顯的分界線,將跑道從圖像中分割出來,利用黑線進行道路提取,可以降低算法的復雜程度.為使小車能夠一直在跑道上行駛,設跑道寬度為d,小車到左右兩邊線的距離為d1和d2,小車攝像頭高度為h. 0<|d1-d2| 建立小車位置空間直角坐標系(圖6),跑道邊界線位于空間直角坐標系xoy面中.作跑道邊界線某點切線,斜率為k,取跑道該點兩側距離相近的兩點a點與b點,a點坐標為(x1,y1,0),b點坐標(x2,y2,k0).用a點與b點近似表示k. k≈y2-y1x2-x1.(15) 由于左右兩條邊界線走線一致,故只需要分析其中一條線的斜率即可.小車在行駛過程中不斷選取邊界上的點,即可還原整個跑道.這里使用最小二乘法進行跑道邊界線的擬合,通過計算 ∑ni=1(kxi+b-yi)2, 擬合直線為: y=kx+b.(16) 如果跑道是彎道,需要對跑道進一步曲線擬合,并求出方程. 3 控制算法 控制算法采用模糊PID算法.模糊PID控制器是在PID控制器的基礎上,通過對PID控制器的三個參數(shù)進行調(diào)整,以獲得更高控制效果的一種控制手段. 智能小車在跑道上行駛時,舵機的方向改變角度必須保證小車穩(wěn)定在跑道上行駛而不會沖出跑道,且使因轉向而產(chǎn)生的震蕩不會對小車的行駛狀況產(chǎn)生較大影響.[7]由于PID參數(shù)積分I只是用于消除靜態(tài)誤差,本文轉向控制去掉積分環(huán)節(jié).[8]結構如圖7所示.E,EC分別為路徑的偏差及偏差變化率,u為路徑輸出控制量.P,D為參數(shù).每一組P,D參數(shù)對應著u的值,保證智能小車在跑道上穩(wěn)定的行駛. 采用模糊控制算法對小車速度進行控制.圖8為小車速度模糊控制器結構圖.小車行駛過程中,系統(tǒng)檢測出小車速度及與期望值之間的偏差,傳送信號給電機執(zhí)行.系統(tǒng)實時監(jiān)測小車速度并不斷修正,以達到小車在跑道上穩(wěn)定快速行駛的效果. 4 結束語 研究了一種基于視覺導航的智能小車導航系統(tǒng),前瞻性好,能夠更早地預知道路的變化,并迅速做出反應;魯棒性高,受環(huán)境的干擾程度小.導航系統(tǒng)將獲得的信息傳輸?shù)教幚砥髦羞M行處理,得到有用信息后,控制智能車進行路徑識別,對圖像進行二值化處理,擬合出跑道曲線方程.采取模糊—PID控制器控制方法對小車的方向及速度進行控制,使小車能夠穩(wěn)定快速的在跑道上行駛.該方法達到了簡化視覺導航電路和簡化算法的目的,提高了智能小車的實時性和魯棒性. 參考文獻 [1] 周龍旗, 劉建平. 智能車視覺導航系統(tǒng)[J]. 計算技術與自動化, 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] 陳麗敏. 一種自動提取閾值的方法[J]. 牡丹江師范學院學報:自然科學版,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算子的棉花異性纖維檢測算法的研究[J].牡丹江師范學院學報:自然科學版,2009(1):1112. [7] 張家驊,徐連強,吳迎春.智能小車模糊PID控制調(diào)速系統(tǒng)設計[J].信息技術,2012(10):181183. [8] 葉金鑫.基于模糊PID的智能小車控制算法研究[J].實驗科學與技術,2016,14(1):4647. 編輯:琳莉