黃 晨,劉 澤,羅禹貢,王永勝
(1.江蘇大學汽車與交通工程學院,鎮江 212013; 2.清華大學,汽車安全與節能國家重點實驗室,北京 100084)
伴隨著智能駕駛技術的興起,汽車變得更加安全和智能,其中,自動泊車功能因其實用性,具有很高的研究價值。自動泊車系統分為基于超聲波和基于圖像的自動泊車兩種[1-3],基于超聲波的自動泊車受限于車位兩側必須有參照車輛,且對車位兩側車輛的停放位置角度都有嚴格要求,而基于視覺的自動泊車可較好地解決這些問題,且定位的精度更高。但圖像識別容易受到光照不均勻的影響,當圖像中的環境信息較為復雜時,會極大地干擾車位識別。針對上述問題,本文中提出了一種基于背景光照去除和連通區域提取的車位檢測定位方法,可在很大程度上降低光照不均勻的影響,并可將車位從具有復雜環境信息的圖像中提取出來,最終實現車位的準確定位。
本文中使用魚眼相機進行圖像采集,魚眼相機模型描述如圖1所示。

圖1 魚眼相機模型和坐標系
該模型中,從世界坐標到成像面坐標的投影系為一個包含相機畸變參數的非線性投影函數,用泰勒級數展開多項式表示為

用 Rt=[r1,r2,r3,t]來表示世界坐標到攝像機坐標的旋轉平移矩陣,則世界坐標系中的一點P(x,y,z)到其成像點的投影關系為

成像點的坐標與圖像上的像素坐標存在如下的仿射變換關系:

本文中使用4個魚眼相機進行圖像采集,并通過畸變校正等處理得到車輛周圍的全景鳥瞰圖,將其作為系統的輸入。車位的識別定位流程如圖2所示。
2.1.1 灰度化

圖2 圖像識別流程圖
像素點的顏色可由式(4)來表示,任何顏色都可表示為3個基矢量的線性和。改變像素點的顏色,只需改變R,G和B 3個顏色通道的值即可。

由于輸入的鳥瞰圖是未經處理的彩色RGB圖像,需要對RGB 3個分量分別進行處理,大大增加了圖像處理的計算量,故需將RGB圖像轉換為灰度化圖,以降低計算量。灰度化是指通過一定的方法來改變像素點顏色矩陣的3個基矢量R,G和B的值,使其相等,即R=G=B,常用的灰度化方法主要有最大值灰度化法、平均值灰度化法和加權平均值灰度化法。加權平均值法細節保留較好,并且較好地控制了過亮的情況,所以本文中選擇采用加權平均值法進行灰度化處理:

2.1.2 圖像增強
由于灰度圖中存在噪聲,會嚴重干擾車位的識別,為了弱化噪聲的干擾,對圖像中感興趣區域進行突出強化,提高識別的準確性,也就是最大化地保留圖像的細節,同時盡可能地抑制圖像噪聲,需要進行濾波操作,濾波的效果直接影響后續的處理和識別效果。圖像增強方法主要有空間域增強和頻率域增強兩類,本文中選擇了更加適合車位檢測的空間域增強,空間域濾波經常使用的有3種,包括平均值濾波、中值濾波和高斯濾波。本文中選擇了使用較多的高斯濾波方法。
在進行車位識別之前,需要將圖像進行二值化處理[4],最基本的二值化方法是全局二值化,計算得到整張圖的全局灰度閾值thresh,將高于這個thresh的像素點設置為255,低于這個thresh的像素點設置為0,這里采用最大類間方差法OSTU[5]計算最佳閾值thresh。全局二值化方法對于光照均勻且畫面信息簡單的圖像處理效果較好,但是當圖像中光照不均勻或畫面信息復雜時,該方法的處理效果就會很差。為了解決這個問題,本文中通過去除背景光照來進行處理。圖3展示的是光照不均勻的原始圖像三維可視化效果,圖4展示的是通過形態學開運算[6]得到原圖像的背景光照三維可視化結果,將背景光照從原圖像中去除,所獲得的圖象三維可視化效果如圖5所示。最后,在去除背景光照后的圖像基礎上應用前文所述的全局二值化方法。

圖3 原圖像的三維可視化效果

圖4 背景光照的三維可視化效果

圖5 去除背景光照后的三維可視化效果
為了減少無關直線的干擾,同時降低直線檢測的工作量,本文中設計了一種基于連通區域的方法進行車位的提取,首先對圖像中的封閉空洞區域進行填充處理[7],再提取出圖像中的連通區域。連通性指的是一種區域概念,它基于像素點的鄰接性,假定某像素點X的垂直和水平相鄰的4個像素點(x,y-1),(x,y+1),(x-1,y)和(x+1,y)用 M4(X)表示,像素點X的對角相鄰的4個像素(x+1,y+1),(x+1,y-1),(x-1,y+1)和(x-1,y-1)用 MD(X)表示,則M4(X)表示4鄰域,M4(X)與 MD(X)的并集稱為 8鄰域,如果4鄰域中4個像素點的灰度值與中心點X的灰度值相等,則稱為4鄰接,同理可以定義8鄰接。若像素點A和像素點B是4鄰接的關系,則稱A像素點和B像素點連通,再假定像素點B和像素點C也是4鄰接關系,則A與C也連通,彼此4連通的像素點一起組成一個區塊,將其稱之為4連通區域,同理可以定義8連通區域。
獲取的聯通區域常包含細小的邊角毛刺等無關區域,這里采用形態學處理中的開運算進行解決,開運算是腐蝕運算和膨脹運算的組合,即對圖像先進行腐蝕運算,再使用相同大小的結構元素對腐蝕后的圖像進行膨脹操作[8]。腐蝕運算利用特定的結構元素對物體的邊緣進行侵蝕,本文中采用的是3×3大小的矩形作為腐蝕運算結構元素,若圖像中含有比結構元素大的區域,則腐蝕之后的結果是使該區域縮小一圈,但若圖像含有小于結構元素的區域,則該區域在經過腐蝕操作以后會斷裂或消失,腐蝕運算公式為

式中:(x,y)為像素點坐標;?為腐蝕運算符號;A為待處理的區域;B為進行腐蝕運算的結構元素。
進行完腐蝕運算操作之后,連通區域中的細小毛刺將會被腐蝕掉,但同時,整個區域輪廓也隨之縮小一圈,接下來需要使用與腐蝕運算相同的結構元素通過膨脹運算讓腐蝕后的主體區域恢復原來的大小,膨脹運算公式為

式中:(x,y)為像素點坐標;⊕為膨脹運算符號;A為待處理的區域;B為進行膨脹運算的結構元素。
車位最重要的信息是它的4條邊,因此需要對所獲取的符合特定要求的區域進行邊緣提取。常用的邊緣檢測算子[9]有梯度算子、高斯 拉普拉斯算子、Canny算子[10]等,由于梯度算子和高斯 拉普拉斯算子只有在沒有噪聲干擾的情況下才能正常作用,而Canny算子的抗噪聲干擾能力較好,正是因為其在邊緣連接方面和抗噪聲干擾方面具有較好的效果,故本文中采用該方法。
對所獲得的邊緣進行直線檢測,這里采用的是一種改進的Hough變換方法。Hough變換是將直線檢測問題轉化為極坐標系中的點檢測問題的一種方法[11],直角坐標系和極坐標系可進行轉換,直角坐標系下的一條直線對應于極坐標系下的一個點(ρ,θ)。如圖6所示,經過直角坐標系中的一點(x1,y1)的直線有無數條,而每一條直線對應于極坐標系中的一個點,將這些直線全部轉換成極坐標形式,就對應了極坐標系中的一條正弦曲線 ρ1=x1cosθ+y1sinθ,同理,經過直角坐標系下的一點(x2,y2)的所有直線對應于極坐標系下的另一條正弦曲線ρ2=x2cosθ+y2sinθ,這兩條曲線有一個交點(ρ0,θ0),這個點代表的是同時經過(x1,y1)和(x2,y2)的直線。對整個圖像的每個像素點進行遍歷之后,極坐標系的曲線會產生很多的重合點,通過對重合點的數量進行累加,最終統計出每條直線經過的像素點數量,從而完成直線的檢測。

圖6 Hough變換示意圖
實驗以清華大學汽車研究院的一輛日產逍客實驗用車為平臺,如圖7所示。利用4個廣角為180°的魚眼攝像頭設計了一個360°全景環視系統,用該系統對車輛周圍的畫面進行拍攝,攝像頭分別固定在車輛的左右后視鏡側邊,車頭的車標和后備箱的車標下方。經由圖像采集卡對攝像頭的原始畫面進行獲取。

圖7 實驗用車
由于魚眼相機所獲得的圖像帶有較大畸變,需要通過畸變校正[12-13]、逆透視變換和裁剪拼接處理[14],最終得到全景鳥瞰圖,如圖8所示。

圖8 全景鳥瞰圖
圖9 為使用加權平均值法灰度化和高斯濾波預處理操作以后的圖像。可以看到,細節保留較好,且較好地控制了過亮的情況,圖像噪點明顯減少的同時,車位等細節信息得以較好的保留。由于圖9光照不均勻且包含了大量干擾信息,如多個無關車輛等,環境信息較為復雜,圖10為其全局二值化處理結果。可以發現,二值化后車位線消失。圖11為本文中采用的去除背景光照的方法得到的二值化結果,與圖10的二值化結果進行對比可知,車位被完整地處理出來,可用于后續的車位檢測定位。

圖9 預處理后的圖像

圖10 光照不均勻且背景復雜的圖像的全局二值化處理
圖12 為空洞填充后的圖像,從空洞填充后的圖像中共提取出134個4連通區域,同時對每塊區域做標記,并記錄每塊區域的像素點數,從這些區域中找出面積合適的連通區域,沒有大小合適的區域則直接判定無停車位,若有符合面積大小要求的區域,則將該區域提取出來進行進一步的處理和檢測,本示例圖像中有一處滿足泊車面積要求的連通區域,如圖13所示。進行過腐蝕運算和膨脹運算后,可將預選車位的細小無關區域腐蝕掉。之后進行Canny邊緣檢測得到的連通區域邊緣,如圖14所示。

圖11 去除背景光照后的二值化結果

圖12 空洞填充操作

圖13 面積合適的連通區域

圖14 Canny邊緣檢測后的圖像
為了降低計算量,本文中限定了Hough直線檢測角度θ的范圍,將θ限定在-23°~23°之間,最終檢測到車位的上下兩邊Line1和Line2,如圖15所示,同理可得另外兩條邊Line3和Line4。最后通過4條邊計算交點,即可獲得車位的頂點坐標,通過4個頂點的幾何關系最終判斷所提取的連通區域是否為停車位。圖16展示了通過計算得到的4個頂點坐標在真實圖像中的位置,可以發現,定位準確,滿足自動泊車系統的車位定位要求。

圖15 車位的上下兩邊

圖16 交點坐標在原始圖像中的顯示
本文中采用魚眼攝像頭對車輛周圍的環境進行實時拍攝,將4個角度的攝像頭畫面進行處理得到全景鳥瞰圖,并將所獲全景鳥瞰圖作為系統原始圖像輸入,通過從原圖像中去除背景光照解決了全局二值化無法處理光照不均勻或背景復雜圖像的問題,同時本文中使用了一種基于連通區域的方法來提取預選車位,簡化了車位的提取,排除了無關區域的干擾,最終實現車位的識別與定位。實驗結果表明,本文中所設計的識別方法可在光照不均勻或背景復雜的情況下完成對車位的處理和識別,定位準確。