黃 晨,劉 澤,羅禹貢,王永勝
(1.江蘇大學(xué)汽車與交通工程學(xué)院,鎮(zhèn)江 212013; 2.清華大學(xué),汽車安全與節(jié)能國家重點(diǎn)實(shí)驗(yàn)室,北京 100084)
伴隨著智能駕駛技術(shù)的興起,汽車變得更加安全和智能,其中,自動(dòng)泊車功能因其實(shí)用性,具有很高的研究?jī)r(jià)值。自動(dòng)泊車系統(tǒng)分為基于超聲波和基于圖像的自動(dòng)泊車兩種[1-3],基于超聲波的自動(dòng)泊車受限于車位兩側(cè)必須有參照車輛,且對(duì)車位兩側(cè)車輛的停放位置角度都有嚴(yán)格要求,而基于視覺的自動(dòng)泊車可較好地解決這些問題,且定位的精度更高。但圖像識(shí)別容易受到光照不均勻的影響,當(dāng)圖像中的環(huán)境信息較為復(fù)雜時(shí),會(huì)極大地干擾車位識(shí)別。針對(duì)上述問題,本文中提出了一種基于背景光照去除和連通區(qū)域提取的車位檢測(cè)定位方法,可在很大程度上降低光照不均勻的影響,并可將車位從具有復(fù)雜環(huán)境信息的圖像中提取出來,最終實(shí)現(xiàn)車位的準(zhǔn)確定位。
本文中使用魚眼相機(jī)進(jìn)行圖像采集,魚眼相機(jī)模型描述如圖1所示。
圖1 魚眼相機(jī)模型和坐標(biāo)系
該模型中,從世界坐標(biāo)到成像面坐標(biāo)的投影系為一個(gè)包含相機(jī)畸變參數(shù)的非線性投影函數(shù),用泰勒級(jí)數(shù)展開多項(xiàng)式表示為
用 Rt=[r1,r2,r3,t]來表示世界坐標(biāo)到攝像機(jī)坐標(biāo)的旋轉(zhuǎn)平移矩陣,則世界坐標(biāo)系中的一點(diǎn)P(x,y,z)到其成像點(diǎn)的投影關(guān)系為
成像點(diǎn)的坐標(biāo)與圖像上的像素坐標(biāo)存在如下的仿射變換關(guān)系:
本文中使用4個(gè)魚眼相機(jī)進(jìn)行圖像采集,并通過畸變校正等處理得到車輛周圍的全景鳥瞰圖,將其作為系統(tǒng)的輸入。車位的識(shí)別定位流程如圖2所示。
2.1.1 灰度化
圖2 圖像識(shí)別流程圖
像素點(diǎn)的顏色可由式(4)來表示,任何顏色都可表示為3個(gè)基矢量的線性和。改變像素點(diǎn)的顏色,只需改變R,G和B 3個(gè)顏色通道的值即可。
由于輸入的鳥瞰圖是未經(jīng)處理的彩色RGB圖像,需要對(duì)RGB 3個(gè)分量分別進(jìn)行處理,大大增加了圖像處理的計(jì)算量,故需將RGB圖像轉(zhuǎn)換為灰度化圖,以降低計(jì)算量?;叶然侵竿ㄟ^一定的方法來改變像素點(diǎn)顏色矩陣的3個(gè)基矢量R,G和B的值,使其相等,即R=G=B,常用的灰度化方法主要有最大值灰度化法、平均值灰度化法和加權(quán)平均值灰度化法。加權(quán)平均值法細(xì)節(jié)保留較好,并且較好地控制了過亮的情況,所以本文中選擇采用加權(quán)平均值法進(jìn)行灰度化處理:
2.1.2 圖像增強(qiáng)
由于灰度圖中存在噪聲,會(huì)嚴(yán)重干擾車位的識(shí)別,為了弱化噪聲的干擾,對(duì)圖像中感興趣區(qū)域進(jìn)行突出強(qiáng)化,提高識(shí)別的準(zhǔn)確性,也就是最大化地保留圖像的細(xì)節(jié),同時(shí)盡可能地抑制圖像噪聲,需要進(jìn)行濾波操作,濾波的效果直接影響后續(xù)的處理和識(shí)別效果。圖像增強(qiáng)方法主要有空間域增強(qiáng)和頻率域增強(qiáng)兩類,本文中選擇了更加適合車位檢測(cè)的空間域增強(qiáng),空間域?yàn)V波經(jīng)常使用的有3種,包括平均值濾波、中值濾波和高斯濾波。本文中選擇了使用較多的高斯濾波方法。
在進(jìn)行車位識(shí)別之前,需要將圖像進(jìn)行二值化處理[4],最基本的二值化方法是全局二值化,計(jì)算得到整張圖的全局灰度閾值thresh,將高于這個(gè)thresh的像素點(diǎn)設(shè)置為255,低于這個(gè)thresh的像素點(diǎn)設(shè)置為0,這里采用最大類間方差法OSTU[5]計(jì)算最佳閾值thresh。全局二值化方法對(duì)于光照均勻且畫面信息簡(jiǎn)單的圖像處理效果較好,但是當(dāng)圖像中光照不均勻或畫面信息復(fù)雜時(shí),該方法的處理效果就會(huì)很差。為了解決這個(gè)問題,本文中通過去除背景光照來進(jìn)行處理。圖3展示的是光照不均勻的原始圖像三維可視化效果,圖4展示的是通過形態(tài)學(xué)開運(yùn)算[6]得到原圖像的背景光照三維可視化結(jié)果,將背景光照從原圖像中去除,所獲得的圖象三維可視化效果如圖5所示。最后,在去除背景光照后的圖像基礎(chǔ)上應(yīng)用前文所述的全局二值化方法。
圖3 原圖像的三維可視化效果
圖4 背景光照的三維可視化效果
圖5 去除背景光照后的三維可視化效果
為了減少無關(guān)直線的干擾,同時(shí)降低直線檢測(cè)的工作量,本文中設(shè)計(jì)了一種基于連通區(qū)域的方法進(jìn)行車位的提取,首先對(duì)圖像中的封閉空洞區(qū)域進(jìn)行填充處理[7],再提取出圖像中的連通區(qū)域。連通性指的是一種區(qū)域概念,它基于像素點(diǎn)的鄰接性,假定某像素點(diǎn)X的垂直和水平相鄰的4個(gè)像素點(diǎn)(x,y-1),(x,y+1),(x-1,y)和(x+1,y)用 M4(X)表示,像素點(diǎn)X的對(duì)角相鄰的4個(gè)像素(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個(gè)像素點(diǎn)的灰度值與中心點(diǎn)X的灰度值相等,則稱為4鄰接,同理可以定義8鄰接。若像素點(diǎn)A和像素點(diǎn)B是4鄰接的關(guān)系,則稱A像素點(diǎn)和B像素點(diǎn)連通,再假定像素點(diǎn)B和像素點(diǎn)C也是4鄰接關(guān)系,則A與C也連通,彼此4連通的像素點(diǎn)一起組成一個(gè)區(qū)塊,將其稱之為4連通區(qū)域,同理可以定義8連通區(qū)域。
獲取的聯(lián)通區(qū)域常包含細(xì)小的邊角毛刺等無關(guān)區(qū)域,這里采用形態(tài)學(xué)處理中的開運(yùn)算進(jìn)行解決,開運(yùn)算是腐蝕運(yùn)算和膨脹運(yùn)算的組合,即對(duì)圖像先進(jìn)行腐蝕運(yùn)算,再使用相同大小的結(jié)構(gòu)元素對(duì)腐蝕后的圖像進(jìn)行膨脹操作[8]。腐蝕運(yùn)算利用特定的結(jié)構(gòu)元素對(duì)物體的邊緣進(jìn)行侵蝕,本文中采用的是3×3大小的矩形作為腐蝕運(yùn)算結(jié)構(gòu)元素,若圖像中含有比結(jié)構(gòu)元素大的區(qū)域,則腐蝕之后的結(jié)果是使該區(qū)域縮小一圈,但若圖像含有小于結(jié)構(gòu)元素的區(qū)域,則該區(qū)域在經(jīng)過腐蝕操作以后會(huì)斷裂或消失,腐蝕運(yùn)算公式為
式中:(x,y)為像素點(diǎn)坐標(biāo);?為腐蝕運(yùn)算符號(hào);A為待處理的區(qū)域;B為進(jìn)行腐蝕運(yùn)算的結(jié)構(gòu)元素。
進(jìn)行完腐蝕運(yùn)算操作之后,連通區(qū)域中的細(xì)小毛刺將會(huì)被腐蝕掉,但同時(shí),整個(gè)區(qū)域輪廓也隨之縮小一圈,接下來需要使用與腐蝕運(yùn)算相同的結(jié)構(gòu)元素通過膨脹運(yùn)算讓腐蝕后的主體區(qū)域恢復(fù)原來的大小,膨脹運(yùn)算公式為
式中:(x,y)為像素點(diǎn)坐標(biāo);⊕為膨脹運(yùn)算符號(hào);A為待處理的區(qū)域;B為進(jìn)行膨脹運(yùn)算的結(jié)構(gòu)元素。
車位最重要的信息是它的4條邊,因此需要對(duì)所獲取的符合特定要求的區(qū)域進(jìn)行邊緣提取。常用的邊緣檢測(cè)算子[9]有梯度算子、高斯 拉普拉斯算子、Canny算子[10]等,由于梯度算子和高斯 拉普拉斯算子只有在沒有噪聲干擾的情況下才能正常作用,而Canny算子的抗噪聲干擾能力較好,正是因?yàn)槠湓谶吘夁B接方面和抗噪聲干擾方面具有較好的效果,故本文中采用該方法。
對(duì)所獲得的邊緣進(jìn)行直線檢測(cè),這里采用的是一種改進(jìn)的Hough變換方法。Hough變換是將直線檢測(cè)問題轉(zhuǎn)化為極坐標(biāo)系中的點(diǎn)檢測(cè)問題的一種方法[11],直角坐標(biāo)系和極坐標(biāo)系可進(jìn)行轉(zhuǎn)換,直角坐標(biāo)系下的一條直線對(duì)應(yīng)于極坐標(biāo)系下的一個(gè)點(diǎn)(ρ,θ)。如圖6所示,經(jīng)過直角坐標(biāo)系中的一點(diǎn)(x1,y1)的直線有無數(shù)條,而每一條直線對(duì)應(yīng)于極坐標(biāo)系中的一個(gè)點(diǎn),將這些直線全部轉(zhuǎn)換成極坐標(biāo)形式,就對(duì)應(yīng)了極坐標(biāo)系中的一條正弦曲線 ρ1=x1cosθ+y1sinθ,同理,經(jīng)過直角坐標(biāo)系下的一點(diǎn)(x2,y2)的所有直線對(duì)應(yīng)于極坐標(biāo)系下的另一條正弦曲線ρ2=x2cosθ+y2sinθ,這兩條曲線有一個(gè)交點(diǎn)(ρ0,θ0),這個(gè)點(diǎn)代表的是同時(shí)經(jīng)過(x1,y1)和(x2,y2)的直線。對(duì)整個(gè)圖像的每個(gè)像素點(diǎn)進(jìn)行遍歷之后,極坐標(biāo)系的曲線會(huì)產(chǎn)生很多的重合點(diǎn),通過對(duì)重合點(diǎn)的數(shù)量進(jìn)行累加,最終統(tǒng)計(jì)出每條直線經(jīng)過的像素點(diǎn)數(shù)量,從而完成直線的檢測(cè)。
圖6 Hough變換示意圖
實(shí)驗(yàn)以清華大學(xué)汽車研究院的一輛日產(chǎn)逍客實(shí)驗(yàn)用車為平臺(tái),如圖7所示。利用4個(gè)廣角為180°的魚眼攝像頭設(shè)計(jì)了一個(gè)360°全景環(huán)視系統(tǒng),用該系統(tǒng)對(duì)車輛周圍的畫面進(jìn)行拍攝,攝像頭分別固定在車輛的左右后視鏡側(cè)邊,車頭的車標(biāo)和后備箱的車標(biāo)下方。經(jīng)由圖像采集卡對(duì)攝像頭的原始畫面進(jìn)行獲取。
圖7 實(shí)驗(yàn)用車
由于魚眼相機(jī)所獲得的圖像帶有較大畸變,需要通過畸變校正[12-13]、逆透視變換和裁剪拼接處理[14],最終得到全景鳥瞰圖,如圖8所示。
圖8 全景鳥瞰圖
圖9 為使用加權(quán)平均值法灰度化和高斯濾波預(yù)處理操作以后的圖像??梢钥吹剑?xì)節(jié)保留較好,且較好地控制了過亮的情況,圖像噪點(diǎn)明顯減少的同時(shí),車位等細(xì)節(jié)信息得以較好的保留。由于圖9光照不均勻且包含了大量干擾信息,如多個(gè)無關(guān)車輛等,環(huán)境信息較為復(fù)雜,圖10為其全局二值化處理結(jié)果??梢园l(fā)現(xiàn),二值化后車位線消失。圖11為本文中采用的去除背景光照的方法得到的二值化結(jié)果,與圖10的二值化結(jié)果進(jìn)行對(duì)比可知,車位被完整地處理出來,可用于后續(xù)的車位檢測(cè)定位。
圖9 預(yù)處理后的圖像
圖10 光照不均勻且背景復(fù)雜的圖像的全局二值化處理
圖12 為空洞填充后的圖像,從空洞填充后的圖像中共提取出134個(gè)4連通區(qū)域,同時(shí)對(duì)每塊區(qū)域做標(biāo)記,并記錄每塊區(qū)域的像素點(diǎn)數(shù),從這些區(qū)域中找出面積合適的連通區(qū)域,沒有大小合適的區(qū)域則直接判定無停車位,若有符合面積大小要求的區(qū)域,則將該區(qū)域提取出來進(jìn)行進(jìn)一步的處理和檢測(cè),本示例圖像中有一處滿足泊車面積要求的連通區(qū)域,如圖13所示。進(jìn)行過腐蝕運(yùn)算和膨脹運(yùn)算后,可將預(yù)選車位的細(xì)小無關(guān)區(qū)域腐蝕掉。之后進(jìn)行Canny邊緣檢測(cè)得到的連通區(qū)域邊緣,如圖14所示。
圖11 去除背景光照后的二值化結(jié)果
圖12 空洞填充操作
圖13 面積合適的連通區(qū)域
圖14 Canny邊緣檢測(cè)后的圖像
為了降低計(jì)算量,本文中限定了Hough直線檢測(cè)角度θ的范圍,將θ限定在-23°~23°之間,最終檢測(cè)到車位的上下兩邊Line1和Line2,如圖15所示,同理可得另外兩條邊Line3和Line4。最后通過4條邊計(jì)算交點(diǎn),即可獲得車位的頂點(diǎn)坐標(biāo),通過4個(gè)頂點(diǎn)的幾何關(guān)系最終判斷所提取的連通區(qū)域是否為停車位。圖16展示了通過計(jì)算得到的4個(gè)頂點(diǎn)坐標(biāo)在真實(shí)圖像中的位置,可以發(fā)現(xiàn),定位準(zhǔn)確,滿足自動(dòng)泊車系統(tǒng)的車位定位要求。
圖15 車位的上下兩邊
圖16 交點(diǎn)坐標(biāo)在原始圖像中的顯示
本文中采用魚眼攝像頭對(duì)車輛周圍的環(huán)境進(jìn)行實(shí)時(shí)拍攝,將4個(gè)角度的攝像頭畫面進(jìn)行處理得到全景鳥瞰圖,并將所獲全景鳥瞰圖作為系統(tǒng)原始圖像輸入,通過從原圖像中去除背景光照解決了全局二值化無法處理光照不均勻或背景復(fù)雜圖像的問題,同時(shí)本文中使用了一種基于連通區(qū)域的方法來提取預(yù)選車位,簡(jiǎn)化了車位的提取,排除了無關(guān)區(qū)域的干擾,最終實(shí)現(xiàn)車位的識(shí)別與定位。實(shí)驗(yàn)結(jié)果表明,本文中所設(shè)計(jì)的識(shí)別方法可在光照不均勻或背景復(fù)雜的情況下完成對(duì)車位的處理和識(shí)別,定位準(zhǔn)確。