2222
(1.蕪湖安普機器人產業技術研究院有限公司 研發部,安徽 蕪湖 241007;2.蕪湖安普機器人產業技術研究院有限公司 院士工作站,安徽 蕪湖 241007;3.安徽工程大學 機械與汽車工程學院,安徽 蕪湖 241000)
GPS與慣性導航技術一直是室外移動機器人的重要導航方式之一。但是,在不使用RTK技術時,民用GPS的定位精度通常最高只能做到動態誤差1米左右,靜態誤差1.5米左右,在很多工況下,這種精度并不夠;同時,當周圍建筑物較多的室外環境下,GPS信號容易受遮擋并丟失信號,造成GPS定位不準或者根本不能定位;當失去GPS信號后,如果以純慣性導航模式工作時,其誤差將隨著導航時間增加而累積[1],所以很難依賴純慣導模式單獨工作。為彌補GPS與慣性導航組合不足之處。提出采用機器視覺識別車道線作為輔助定位技術手段。當前,車道線檢測廣泛應用于汽車的無人駕駛過程,常用于車道偏離報警、高級輔助駕駛等。通過識別路面車道線,對是移動機器人GPS+慣性導航進行補充修正,提高移動機器人室外導航的可靠性及穩定性。
路面車道線檢測基本流程可以分解為以下幾個步驟[2]:系統讀取圖像信息,對讀取到的圖像信息做灰度處理,對圖像做二值化處理,提取圖像的邊緣特征并進行濾波處理,霍夫變換,最后計算移動機器人相對車道線的偏轉角度和偏離距離。
因為攝像頭采集的是彩色圖像,而彩色圖像信息量非常大,為了不影響系統處理的實時性,需要先對圖像做灰度處理?;叶忍幚砗笮畔⒘枯^少但是能非常好的讀取R、G、B三方位的信息量[3]。因為移動機器人測試的路面主要集中在柏油路面,道路的背景色偏黑色,同時獲取的路面車道線信息主要是白色和黃色兩種,所以在對路面圖像灰度化處理中給予G方位信息較大權重,從而將車道線信息從路面背景圖像中突顯出來。
灰度處理可表示為:
f(i,j)=a×R(i,j)+b×G(i,j)+c×B(i,j)
(1)
其中:f(i,j)為處理后的灰度圖,R(i,j)、G(i,j)、B(i,j)分別表示R、G、B三方位的信息量。根據以往經驗,a=0.3,b=0.59,c=0.11。
車道路面圖像信息主要是加性干擾噪聲,由于受到天氣、周圍環境以及傳感器自身的電子噪聲干擾影響,圖像信息在傳輸過程中,會受噪聲信號影響而失真。為了降低噪聲對后續處理過程的影響,需要消除噪聲信號。
為了提高圖像處理的實時性,采用空域濾波器進行降噪處理。常見的空域濾波器分為線性濾波器和非線性濾波器。線性濾波器在使用過程中,會使得圖像中的車道線邊緣和輪轂信息變得模糊,在后續處理過程中,降低車道線信息的識別率,為了既能有效降低圖像噪聲提高圖像質量,又不會使車道線信息過分丟失,采用非線性濾波器對圖像進行降噪處理。
中值濾波器是一種常見的非線性濾波器,具有算法簡單,實時性好的優點。其基本原理是將讀取到的圖像中某一像素鄰域的像素值按照大小進行降序排列,并將獲取到的中間值作為這個像素點的灰度值。
中值濾波器的表達式可表示為:
f(i,j)=median{Sf(i,j)}
(2)
上述公式(2)中:{Sf(i,j)}是像素點f(i,j)的領域。
在進行車道線檢測的過程中,通常圖像的上半部分是天空或者其它背景部分,而路面車道線等關鍵信息則主要出現在圖像的下下半部分。為了提高系統工作的準確性以及實時性,濾出圖像中其它無關信息的干擾,需要系統只對感興趣的區域進行搜索,這樣就需要對圖像的感興趣區域進行劃分。
假設從視覺攝像頭上獲得的原始路面圖像信息是Im×n,m和n分別表示圖像Im×n的行數以及列數。在視覺攝像頭固定到移動機器人車體上后,路面車道線圖像感興趣區域的下部分邊界就處于車體前部的某一個固定區域,車道線圖像感興趣區域的上半部分位于兩條車道的交匯處,這個交匯區域也基本是固定的。因此,路面車道線圖像感興趣區域就位于下半部分邊界區域以及上半部分邊界車道線交匯區域內。

k1和k2與原始圖像Im×n的關系可以表示為:

(3)
上述公式(3)中m1和m2分別是上邊界和下邊界在原始圖像中像素點的行數,k1和k2分別是上邊界與下邊界與原始圖像之間比值,且根據實際測量結果,令k1=0.6,k2=0.2。
在對采集到的車道線視頻圖像做灰度處理后,為了使車道線輪廓更突顯,剔除更多干擾信息,提高系統的魯棒性及實時性,還需要對圖像作二值化處理。文章采用Otsu算法對圖像做二值化處理[4]。
Otsu算法又稱為最大類間方差法或大律法,其基本思路是按照圖像灰度特性(某個閥值T)分割 的圖像像素點兩部分(車道線像素和背景像素集)的最大類間方差σ2。類間方差σ2越大,車道線像素集和背景像素的差異就越大,二值化效果就越好[5]。Otsu算法的二值化閥值確定如下:
σ2(t)=ω1(t)(μ1(t)-μ)2+ω2(μ2(t)-μ)2
(4)
其中:t為某個時刻閥值,t1為被背景像素集,ω1灰度平均值,μ2為車道線像素集,ω2灰度平均值,μ為整幅圖像的平均灰度值。t∈{0,1,2,3,…,L,…,255},arg表示求反函數。
二值化處理過程如下式(3):

(5)
其中:g(i,j)L為二值化處理后圖像,g(i,j)為處理前的灰度圖。
圖像邊沿特征提取是對圖像劇烈變化或者不連續的像素點的集合,如灰度值突變、顏色突變、結構突變的像素點等。圖像的邊沿特征提取是車道線檢測的一個重要環節,邊緣特征信息提取的準確性對系統的檢測效果有著重要影響。常用的邊緣檢測算子有Canny檢測算子、LOG檢測算子、Soble檢測算子。由于Canny檢測算子具有檢測精度高、檢測速度快的特點,因而應用較為廣泛。
傳統的Canny檢測算子邊緣特征提取可分為以下幾個步驟[6]:
1)采用高斯濾波器對圖像進行平滑處理;
2)計算梯度的幅值方向;
3)非極大值抑制;
4)采用雙閥值算法對邊緣作檢測和連接。
上述第一步的高斯濾波器,傳統方法是采用二維高斯函數下式(7)來構造濾波函數,過程是先對原始圖像按行和列作平滑處理,σ是高斯函數的標準差,決定了函數的平滑程度;然后采用下式(7)計算I在(i,j)處垂直和水平方向上的偏導數;之后根據下式(8)分別計算出I在(i,j)處的梯度模和梯度方向;若圖像I在(i,j)處的像素點梯度模大于或等于沿梯度方向兩個相近像素點的梯度模,則說明這個當前的像素點可能是邊緣點;最后使用雙閥值算法對邊緣作檢測及連接。
(6)
(7)
上述公式(7)中:Gx[x,y]為水平方向偏導數,Gy[x,y]為垂直方向偏導數。
(8)
上述公式(8)中:M(i,j)為梯度模,θ(i,j)為梯度方向。
傳統的Canny算子邊沿特征提取算法因為首先使用高斯低通濾波器對圖像作平滑處理,但是高斯濾波器存在對圖像的過度平滑問題[7],為了改善邊沿特征提取效果,提出一種改進型的小波閥值算法代替高斯濾波器對圖像進行平滑處理,取得了較好的效果。
常見的小波閥值函數分為軟閥值函數和硬閥值函數兩種[8],文章采用一種新的小波閥值函數如下:
(9)
當參數m=1時,改進型閥值函數與軟閥值函數的曲線幾乎重合;當m>1時,函數的曲線逐漸接近于硬閥值函數。
使用改進型小波函數與Canny算子邊緣檢測的相融合的算法處理過程如下:
1)對原始含噪圖像f(i,j)使用Canny算子作邊緣檢測,并得到處理后的邊緣圖像fe(i,j);
2)對原始圖像f(i,j)和處理后的圖像fe(i,j)作3層小波分解,分別得到小波域圖像Wf(i,j)和Wfe(i,j);

4)對圖像的對應像素使用公式(10)作加權處理,其中加權系數r∈(0,1);
(10)
第五步:對雙閥值處理得到的圖像W作小波變換,得到最終的重構圖像。
下圖分別是傳統Canny算子邊緣提取算法和改進型算法的效果對比:可以看出相對于傳統Canny算法,改進型算法通過選擇合適的小波閾值參數m值,圖像邊緣的細節特征保留更好,車道線的輪廓清晰;傳統的Canny算法由于高斯濾波器對圖像的過渡平滑而造成車道線的邊緣模糊且有不同程度的信息丟失[9]。

圖1 原圖像的邊沿特征提取 圖2 傳統Canny算子邊沿特征提取

圖3 改進型Canny算子邊沿特征提取
為了定性分析實驗結果,使用方差、平均梯度、信息熵作為評價指標。方差評價灰度值的分散程度;平均梯度評價圖像清晰程度,也就是圖像邊緣細節的保留程度,這是分析的關鍵指標;信息熵評價圖像灰度值的一致性。
根據表1可知,從平均梯度值來看,使用改進的小波閥值函數與canny算子融合,相對于傳統的高斯濾波器與canny算子融合,前者的平均梯度值較大,說明改進型算法在保留邊緣細節信息上效果較為明顯,也就是邊沿特征提取的效果更好。從信息熵來看,改進的小波閥值函數與canny算子融合算法的值比傳統算法值大,則說明改進型算法保持灰度的一致性效果更好。綜上,改進的小波閥值函數與canny算子融合算法相對于傳統高斯濾波器與canny算子融合算法有優勢。
最后采用霍夫變換,識別圖像中感興趣區域的中的直線?;舴蜃儞Q是一種用于機器視覺、圖像分析處理、數字圖像處理等的一種圖像特征提取技術。常用于檢測圖像中的直線特征集合點。在一個直角坐標系中,過其中點A(x1,y1)的直線可以描述為:y1=kx1+b,過其中另一點B(x1,y2)的直線描述為:y2=kx2+b。如果把上述兩組方程視作(k,b)參數空間表達式,那么上述兩個方程的解即通過點A(x1,y1)和點B(x1,y2)的直線。

表1 兩種算法參數評價
之后把原直角坐標系的點轉換到極坐標系,則兩點A(x1,y1)和B(x1,y2)在參數空間(ρ,θ)表示為兩條曲線。A和B在極坐標系內的交點就是二者在直角坐標系中經過A.B的直線,這時ρ就是直線到原點之間的距離,θ就是直線與x軸之間的夾角[10]。即說明當直角坐標系中的任意一點轉換到極坐標下時,則表達為一條正弦或余弦曲線,而當任意兩條曲線在極坐標系(ρi,θi)處有交點,則說明這條曲線在直角坐標系中相應的處于斜率-截距的參數空間(ki,θi)上。
具體轉換關系如圖4所示。

圖4 霍夫變換原理圖
由霍夫變換的原理可得知,在極坐標空間中曲線可由任意兩點構成,曲線的交點在參數(ki,bi)確定的直線上。由此,我們可以確定在原圖中是否存在該直線。
在使用霍夫變換時,通常采用投票方式對圖像中的直線進行統計。預先設定閾值η,當處于(ki,bi)上的點的數量大于閾值η,則可以認定確實有一條直線y=kix+bi存在于圖像中。在直角坐標系中的參數(k,b)和極坐標系中的參數(ρ,θ)是相互對應的,其關系如下所示:
(11)
上述公式(11)中:ρ為直線與原點間的距離,θ為直角坐標系下直線與橫坐標之間的夾角。
通過霍夫變換之后,直角坐標系(x,y)平面內的直線就被映射到了極坐標系平面。統計處于極坐標系參數(ρi,θi)上點的數量,當其中的點數量達到預先設定的閾值η時,則可以確定其中的一條直線[12]。
在實際測試過程中,為了方便編程,采用如下方法獲取交點:設某圖像的對角線為n,ρ∈[0,n],θ∈[-π/2,π/2],使用二維數組Hough[ρ][θ]用來統計處于(ρ,θ)參數空間中的交點數,其中θ將1°作為基本增量單位,ρ將1作為基本增量單位,增量單位愈小則計算愈精確。
將視覺攝像頭安裝于機器人前方,記錄攝像頭的安裝高度h和俯角θ,參數h和θ在機器人移動期間為固定參數。因此,機器人的位置可以由偏轉角度β和到車道線的偏離距離d決定[13]。系統模型如圖5所示。

圖5 系統模型
將攝像頭作為坐標原點O,并建立空間坐標系,將攝像頭朝向定義為Z軸,和路面相交于D點,OQ為攝像頭的高度h,∠ODQ為攝像俯角θ。
在ODQ平面內,離z相較于圖像尺寸u、v很大時,其變換關系可由下式(12)過O點作OD垂線與路面相交于E點,OE定義為y軸,過O點作ZOY平面的垂線,定義為x軸。從而xyz構成了一組空間直角坐標系。同時,在圖像平面建立一組二維坐標系,圖中的點O′作為原點,其橫坐標分別為u、v。當成像距)表示:
(12)
其中:f定義為成像系統焦距。
在移動機器人與車道線停放夾角為β=45°情況下,通過下式(13)推導出來:
(13)
其中:θ為攝像頭俯角,n0和m0分別是每一幀車道線的直線方程參數。
根據攝像頭的高度h、俯角θ和測算得到的f,可以計算出移動機器人的偏轉角β和相對車道線的偏離距離d。取車道線上的任意一點P,其在空間坐標系xyz中的坐標為(a,b,c),P′為其在拍攝圖像中的對應的像素點,可以推導出以下兩個表達式:
ncosθcosβ+fsinθcosβ-mfsinβ=0
(14)
mhsinθsinβ+mdcosθ-hcosβ=0
(15)
根據上式(14)和(15)可以計算出偏轉角β和偏離距離d。
(16)
(17)
其中:f定義為成像系統焦距,h為攝像頭高度值,θ為攝像頭的俯角[12]。
為了模擬移動機器人在普通路面上移動的情況,采用在公路上的5段行車記錄儀視頻作為模擬,對每段行車視頻采樣2400幀圖片,并對最終采集到的車道線視頻圖像通過matlab仿真軟件進行計算。下圖6和圖7是任意兩張從系統中截取的實時圖像信息,藍線部分及為系統識別到的車道線信息。

圖6 第1幀圖片

圖7 第1280幀圖片
表2是圖6和圖7對應的偏轉角度β和偏離距離d。采用3.2節的偏離車道線參數計算方法,實時獲取到了當前偏轉角度β和偏離距離d。系統實時識別了當前第1幀圖像中的偏轉角度β=4.922379°,偏離距離d=1.13754 m,第1280幀圖像中偏轉角度β=7.138246°,偏離距離d=0.870839 m。實驗達到了預期效果。
文章在GPS與慣性導航基礎上增加了視覺檢測車道線作輔助定位手段。提出了一種改進型邊沿特征提取算法,使用改進型小波閥值算法代替傳統的高斯濾波器,對圖像進行平滑及降噪處理,并取得了較好的效果。最后對視頻進行車道線檢測,采樣了12 000幀圖像,分別實時獲得了每幀車道線圖像的偏轉角度β和偏離距離d。實驗發現12 000幀圖像中有僅有892幀圖像檢測失敗,成功率達到92.6%,取得了較好的效果。模擬仿真實驗對下一步進行移動機器人自主導航測試打下了良好基礎。

表2 偏轉角度和偏離距離值實驗數據表