陳 熹,張娜娜
(昆明理工大學 信息工程與自動化學院,云南 昆明 650500)
隨著當前科學技術發(fā)展速度的加快,智能汽車作為智能產品的代表,已經成為一項研究重點。隨著國民經濟的迅速提高以及汽車工業(yè)發(fā)展的逐步完善,我國的汽車數量也在迅速增加,隨之而來的是,道路上的交通事故數量也在逐年上升,對人們的出行安全造成了嚴重的威脅。為了盡量避免由于違法違規(guī)駕駛而造成的交通事故的發(fā)生,無人駕駛技術[1]以及車道偏離預警系統[2]逐步得到開發(fā)。車道線檢測技術[3]是這些系統的核心技術。車道線檢測是否正確,直接決定駕駛員行車是否安全。對此,當前國內外研究人員已經做了大量的研究。文獻[4]所描述的GOLD系統主要是將車道線的寬度認為是恒定的,采用形態(tài)學以及圖像增強的方法相互結合進行車道線的增強;文獻[5]引入了邊緣分布函數,尋找與司機視野相近的車道線的方向,之后采用方向濾波的方法進行車道線的增強;文獻[6]將車道線圖像進行相應的區(qū)域劃分,主要分為天空區(qū)域、遠視野區(qū)以及近視野區(qū),首先排除了天空區(qū)域中的信息干擾,之后對剩下的兩個區(qū)域采用不同的方法進行相應區(qū)域車道線的增強和檢測;文獻[7]針對夜間車道線的光照不均勻以及圖像整體色調較暗的特點,將canny算子與Hough變換進行相應的結合,較好地檢測出了夜間的車道線;文獻[8]使用差分算子以及Hough變換的方法實現了車道線的提取,實驗結果表明上述方法在復雜的環(huán)境下表現出良好的檢測效果。
本文所提的方法首先將拍攝得到的車道線圖片進行灰度化處理,之后使用中值濾波的方法對灰度圖進行去噪操作,然后利用Hessian矩陣對車道線增強,實現車道線的有效提取。得到增強圖像之后,進行二值化處理,提取出感興趣的區(qū)域,最終得到相應的車道線。
中值濾波[9]的濾波方式是選定一個模板,在這個模板中進行相應的操作。首先對模板中的像素值進行排序,選擇序列中的像素中值作為模板中心的像素值,這樣能夠去除圖像中與周邊像素差異較大的噪聲點,從而達到去噪的效果。濾波模板的選擇是多樣的,可以是正方形、長方形的矩陣,也可以是圓形或者十字形的。中值濾波的公式為:
g(x,y)=medf { f′(x-k,y-l)},(k,l∈w) (1)式中:f′(x,y)是含有噪聲的原始圖像,g(x,y)是經過濾波后的圖像,w表示選擇的濾波窗口。
中值濾波在噪聲相對不密集時能表現出較好的去噪效果,但是在噪聲密集時,去噪效果就比較差,并且在去噪的過程中會模糊圖像的細節(jié)以及邊緣信息。文獻[10]針對脈沖噪聲的特點進行分析,首先根據實際情況選擇合適的閾值,標記出可能是噪聲點的空間位置,再利用相鄰像素點之間的相關性精準確定噪聲的位置,之后利用中值濾波對噪聲進行處理,去除相應的噪聲。本方法根據實際的噪聲特點,選用的是傳統的中值濾波技術。
Hessian矩陣[11-12]是由圖像中每個像素點的二階偏導數Ixx,Ixy,Iyx,Iyy所組成的,具體表達如下:

根據Hessian矩陣的兩個特征值的大小關系,可以檢測出圖像中的不同特征結構。假設λ1,λ2為圖像中某像素點Hessian矩陣的兩個特征值大小,且|λ1|≤|λ2|,則根據兩個特征值之間的大小關系可以進行表1中對應結構的檢測。其中L表示low,H表示high,-/+表示特征值的符號。

表1 常見的幾何結構對應的Hessian矩陣特征值大小
由于車道線在相機拍攝時受到客觀因素的影響,導致不同位置的車道線寬度存在大小不一的情況,不適合使用單一尺度的濾波器進行識別。因此本文采用將Hessian矩陣的差分運算與高斯函數進行結合的方式,以得到不同尺度下的線性濾波 效果[13]。
根據高斯函數的卷積性質,尺度空間導數Iab由下式所得[14]:

式中:σ表示高斯函數的標準差,即引入的空間尺度因子。
因為識別的是在暗背景下明亮的車道線邊緣,屬于車道線邊緣的像素點的H特征值應該符合|λ1|≤|λ2|。根據特征值λ1,λ2進行線性濾波器的設計,重新定義每個特征值為:

同時引入一個輔助特征值λ3,使λ3=λ2,將其正則化為:

式中:τ為控制均勻性的參數,大小為[0,1]。根據文獻[15],改進其增強濾波器設計為:

由上述公式可以看出,可以根據圖像像素點x處的Hessian矩陣特征值的關系進行濾波器的設計。根據文獻[16],在識別車道線部分時,當公式所含的尺度因子σ與車道線的實際寬度最相符時,上述濾波器的輸出值最大,也就是對車道線的識別效 果最好。
車道線都是以線狀的形態(tài)出現,因此本文主要研究線狀增強濾波器[17]。結合中值濾波與Hessian矩陣的方法進行濾波器的設計進行車道線的檢測。使用上述方法進行檢測,識別的結果疊加在原始數據上,并檢驗所提方法的可行性和準確性。該算法的識別流程如圖1所示。

圖1 算法流程圖
步驟一:圖像灰度化。彩色圖像中的信息較多并且比較復雜,但是其中大多數信息在車道線檢測時是不需要的,會產生一定的干擾,因此將原始圖像進行灰度化處理,實現三維RGB圖像向二維圖像的轉換[18],能夠提高車道線的檢測效率。本文采用的是文獻[19]的方法進行圖像的灰度化處理,對R,G,B三個通道的色彩分量進行權重的賦值,分別為0.299∶0.144∶0.587,這樣得到的灰度圖更符合人眼的視覺感知,有利于后續(xù)的車道線 檢測。
步驟二:數據歸一化。由于圖像在拍攝過程中容易受到各種客觀因素的影響,使得圖像的強度不均勻,同時為了減少后續(xù)的變換函數在操作時對圖像數據帶來的影響,對圖像進行歸一化。使用圖像的像素最大值和像素最小值來對圖像進行操作,把像素強度歸一化到[0,1]區(qū)間。
步驟三:濾波去噪。由于所拍攝的原始圖像對比度較低,并且其中伴隨大量的隨機噪聲,會影響后期的特征提取,所以需要對圖像進行去噪處理。本次實驗采用能夠很好地去除噪聲,并且保護圖像邊緣特性的中值濾波進行圖像的預處理操作。通過對圖2(b)和圖2(c)進行比較,可以觀察到經過雙邊濾波后的圖像噪聲點明顯被平滑。
步驟四:多尺度線性濾波器的構造。通過對圖2(c)中車道線特點的觀察分析,可以得出車道線在圖像中呈現的是線性的結構,因此可以利用Hessian矩陣不同特征值之間的大小關系來判斷圖像中屬于線性的車道線區(qū)域的像素點。因此,從這個角度出發(fā),可以將Hessian矩陣的特征值應用到線性濾波器的設計中。車道線在拍攝圖片中受到相機的影響得到不同位置的寬度是不一樣的結構,據此進行多尺度構造線性濾波器的設計。本文采用Hessian矩陣的差分運算與高斯函數結合,利用改變高斯函數的標準偏移量的方式來獲得多尺度濾波器,σ的范圍設置為[1.5,2],以包含車道線不同位置的寬度,同時設置迭代步長為0.1,參數τ設置為0.5,如式(6)所示進行處理,得到迭代的最大值進行輸出。如圖2(d)所示,可以觀察到能夠很好識別出其中線性的車道線結構。
步驟五:感興趣區(qū)域的選取。對圖像進行感興趣部分的選取,將注意力放在需要關注的地方,突出顯示所要檢測的目標,減少無關內容對非感興趣部分的干擾。根據對圖像的分析,能夠明顯地觀察到車道線通常處在圖像的下方1/2的部分,在圖像上方1/2的部分不包含相關的車道線信息,因此首先將識別圖像進行二值化,二值化閾值選擇為0.7,之后將識別圖像中上方1/2的圖像點的像素值設為0,從而突出下方的車道線信息。
通過以上操作,可以觀察到最終能夠很好地將車道線完整地識別出來,識別效果如圖2所示。

圖2 車道線檢測過程
為了進一步驗證本文方法的適用性,在不同的場景下進行車道線的檢測,檢測結果如圖3所示。

圖3 不同環(huán)境下的車道線檢測過程
上述實驗結果表明,基于Hessian矩陣的車道線檢測方法能夠適應不同場景以及天氣,并且提高了檢測的準確性。
通過對車道線特點進行分析,本文提出了一種基于Hessian矩陣的車道線檢測方法。首先對圖像進行灰度化處理,將三通道的彩色圖像處理成二維灰度圖,之后使用中值濾波來消去圖片中的噪聲,之后將Hessian矩陣與高斯函數進行相互結合,構造多尺度線性濾波器對圖像中的線性車道線的邊緣進行檢測,使得線性的車道線的邊緣能夠被完整地識別出來,接著選取車道線所在的感興趣的區(qū)域進行車道線的標識。檢測結果表明,本文提出的方法在車道線檢測上具有較好的效果,在不同場景中獲得的圖像都能夠完整地識別出公路上的車道線的邊緣。但是該方法仍存在一定的不足之處,即在識別時,仍然沒有去除全部的干擾因素,比如道路兩端的隔離欄,但是并不影響車道線的準確定位,這是下一步需要繼續(xù)改進研究的部分。