戴玉艷,朱燦焰,季愛明,毛凌鋒
(蘇州大學(xué) 城市軌道交通學(xué)院,江蘇 蘇州 215006)
障礙物檢測是智能車輛不可缺少的重要功能,是車輛安全行駛的保證。機(jī)器視覺能夠利用圖像和圖像序列來識(shí)別和認(rèn)知三維世界,使計(jì)算機(jī)實(shí)現(xiàn)人的視覺系統(tǒng)的某些功能。機(jī)器視覺具有信息量大,空間覆蓋廣,不增加環(huán)境噪聲等優(yōu)點(diǎn),因此機(jī)器視覺已成為目前智能車輛及自動(dòng)駕駛中信息獲取的主要途徑。利用機(jī)器視覺進(jìn)行障礙物檢測具有解決實(shí)際困難和探索全自動(dòng)駕駛的雙重意義,正受到國內(nèi)外的關(guān)注,其中雙目視覺檢測更是研究的熱點(diǎn)[1-2]。
雙目視覺一般由兩個(gè)平行放置的攝像機(jī)從不同角度同時(shí)獲取周圍景物的信息。基于雙目視覺的障礙物檢測一般有一下幾步:雙目視頻的同步;攝像機(jī)定標(biāo);對(duì)障礙物目標(biāo)區(qū)域圖像對(duì)進(jìn)行特征點(diǎn)檢測和匹配,得到障礙物目標(biāo)的空間信息。在智能車輛的應(yīng)用中是對(duì)運(yùn)動(dòng)中的物體障礙物進(jìn)行檢測,首先應(yīng)對(duì)兩個(gè)攝像頭的視頻校準(zhǔn),否則將影響立體匹配結(jié)果。
本文從圖像處理的角度提出了對(duì)于運(yùn)動(dòng)視頻的校準(zhǔn)算法。首先對(duì)雙目攝像機(jī)得到的圖像建立敏感區(qū)域,然后用圖像分割識(shí)別的方法檢測目標(biāo)物,用動(dòng)目標(biāo)與固定物體的距離校準(zhǔn)雙目視頻,最后對(duì)室外真實(shí)場景進(jìn)行實(shí)驗(yàn)以驗(yàn)證算法的有效性。
行駛在道路上的車輛有一定的位置特征,當(dāng)前車輛始終在同一車道內(nèi)行駛,該車道以外的障礙物并不影響當(dāng)前車輛的行駛安全。本文研究的對(duì)象限于當(dāng)前車道內(nèi)的前方車輛,為了降低處理難度和提高檢測速度,對(duì)道路做了一定的假設(shè),如圖1所示。
圖1 敏感區(qū)域Fig.1 Area of interest
1)假設(shè)特定敏感區(qū)域。在確定系統(tǒng)中,道路在圖像中的位置相對(duì)固定,因此搜索障礙物的區(qū)域可由整個(gè)圖像縮小為兩條車道線所組成的區(qū)域。只對(duì)圖像中特定區(qū)域的敏感區(qū)域進(jìn)行處理,從而降低算法的復(fù)雜度,縮短處理時(shí)間,提高處理速度。
2)假設(shè)道路等寬。假設(shè)道路的寬度基本不變或變化很小,兩條路邊可以認(rèn)為是平行的。
目標(biāo)物的檢測主要運(yùn)用了圖像分割的方法,就是要從圖像中提取信息,本文主要用了聚類分析、邊緣檢測及形態(tài)學(xué)操作。
聚類分析是一種無監(jiān)督模式的識(shí)別方法,它從初始聚類中心根據(jù)相似性和相鄰性構(gòu)造分類器,從而將給定的數(shù)據(jù)分割為若干不同的類[3]。聚類后數(shù)據(jù)集的類內(nèi)對(duì)象高度相關(guān),類間對(duì)象差別較大。利用聚類方法對(duì)圖像進(jìn)行分割識(shí)別具有直觀、易于實(shí)現(xiàn)的特點(diǎn)。常見的聚類分析算法有減法聚類、層次聚類和動(dòng)態(tài)聚類算法等。本文采用-均值聚類算法對(duì)雙目圖像進(jìn)行分割識(shí)別。
k-均值聚類算法的核心思想是通過不斷迭代,把每個(gè)對(duì)象劃分到且只劃分到一個(gè)類中[4]。在滿足非線性目標(biāo)函數(shù),即公式(1)最小化的條件下,把 n 個(gè)對(duì)象 Xj(j=1,…,n)構(gòu)成的數(shù)據(jù)集分成 k 個(gè)類 Gi(i=1,…,k)。k-均值聚類算法步驟:1)確定需要分的類數(shù)k;2)從數(shù)據(jù)集Xj中選取k個(gè)對(duì)象作為類Gi的初始聚類中心 Gi(i=1,…,k);
3)依次計(jì)算對(duì)象Xj與這k個(gè)聚類中心Ci的距離d(Xj,Ci),并按就近原則將對(duì)象劃分到距離最小的類中;
4)分別計(jì)算新生成的類Gi中所有對(duì)象的樣本均值,更新聚類中心;
5)采用誤差平方和準(zhǔn)則函數(shù)判斷聚類是否合理,當(dāng)誤差函數(shù)很小時(shí)結(jié)束聚類,否則重復(fù)步驟3)-4),直至達(dá)到算法終止條件。
k-均值聚類是一個(gè)持續(xù)迭代的過程,影響聚類結(jié)果的主要因素是劃分的類數(shù)k、初始聚類中心Ci和對(duì)象間的距離d(Xj,Ci)。從k-均值算法流程看,如果選取滿足以下兩個(gè)條件的初始聚類中心,就能很好地實(shí)現(xiàn)聚類:
1)每個(gè)類中有且僅有一個(gè)聚類中心;
2)選擇的初始聚類中心應(yīng)盡可能靠近類的中心。
本文對(duì)圖像的灰度進(jìn)行聚類,則分別根據(jù)兩通道圖像的灰度直方圖選擇滿足上述條件的初始聚類中心。
一般來講,提取目標(biāo)物就是要提取目標(biāo)和背景的邊界線,將目標(biāo)和背景區(qū)分開。圖像中,邊緣是指其周圍像素灰度值有階躍變化或有拋物線變化的像素點(diǎn)的集合,它是灰度值不連續(xù)的結(jié)果。邊緣檢測是一種削弱邊緣以外圖像區(qū)域,突出圖像邊緣輪廓的方法,故可采用邊緣檢測算法提取目標(biāo)和背景的邊界線。
最簡單的邊緣檢測方法是邊緣檢測算子,它利用相鄰區(qū)域的像素值不連續(xù)的性質(zhì),采用一階或二階導(dǎo)數(shù)來檢測邊緣點(diǎn)。算子是一階微分算子,它采用加權(quán)平均濾波,對(duì)噪聲具有一定的抑制能力,且計(jì)算簡單,運(yùn)算速度快,故本文采用算子進(jìn)行目標(biāo)物邊緣檢測[5-6]。Sobel是一組方向算子,從不同的方向檢測邊緣,加強(qiáng)了中心像素上下左右4個(gè)方向像素的權(quán)重。圖像中每個(gè)像素點(diǎn)都用式(2)兩個(gè)模板作卷積,第一個(gè)模板對(duì)水平邊緣影響最大,第二個(gè)模板對(duì)垂直邊緣影響最大。然后利用式(3)計(jì)算梯度大小,即得到像素的邊界強(qiáng)度,利用式(4)計(jì)算梯度方向。
Sobel算子差分計(jì)算公式:
其中,Gx(i,j)和 Gy(i,j)為模板 Gx,Gy在像素(i,j)處的卷積值。
數(shù)學(xué)形態(tài)學(xué)是由一組形態(tài)學(xué)的代數(shù)運(yùn)算子組成的,其基本運(yùn)算是膨脹和腐蝕[8]。膨脹定義為集合運(yùn)算,圖像集合A用結(jié)構(gòu)元素B來膨脹,記作A⊕B,其定義為:
腐蝕的數(shù)學(xué)定義與膨脹類似,A用結(jié)構(gòu)元素B來腐蝕AΘB,記作,其定義為:
腐蝕的具體操作是:用一個(gè)結(jié)構(gòu)元素掃描圖像中的每一個(gè)像素,用結(jié)構(gòu)元素中的每一個(gè)像素與其覆蓋的像素做“與”操作,如果都為1,則該像素為1,否則為0。
膨脹的作用是把圖像周圍的背景合并到物體中,對(duì)填補(bǔ)圖像分割后物體中的空洞很有用。腐蝕是消除物體邊界點(diǎn),把小于結(jié)構(gòu)元素的物體去除。如果兩個(gè)物體之間有細(xì)小的連通,當(dāng)結(jié)構(gòu)元素足夠大時(shí),通過腐蝕可以將兩個(gè)物體分開。這種形態(tài)學(xué)操作可以有效地去除一定尺寸的雜波,同時(shí)保證圖像的內(nèi)部結(jié)構(gòu)不變。
在形態(tài)學(xué)處理中,除了膨脹和腐蝕兩種基本運(yùn)算外,還有兩種由膨脹和腐蝕定義的運(yùn)算,即開運(yùn)算和閉運(yùn)算[7]。開運(yùn)算是對(duì)圖像先腐蝕再膨脹的過程,圖像集合A用結(jié)構(gòu)元素B來作開運(yùn)算,記作A?B,其定義為:
閉運(yùn)算是對(duì)圖像先膨脹再腐蝕的過程,A用結(jié)構(gòu)元素B來作閉運(yùn)算,記作A·B,其定義為:
開運(yùn)算可去除毛刺和小的連通區(qū)域,平滑較大物體的邊界。閉運(yùn)算可以填充物體的細(xì)小空洞、連接鄰近物體、平滑其邊緣。兩種形態(tài)學(xué)操作都可以起到平滑目標(biāo)邊界且不明顯改變其尺寸的效果。
為了驗(yàn)證所提出雙目視覺校準(zhǔn)算法的有效性,本文進(jìn)行了真實(shí)的室外場景實(shí)驗(yàn)。采用2個(gè)KaiCong-423C型攝像頭進(jìn)行道路視頻采集,兩攝像頭平行放置,距地面高度H=1 m,間距B=63 cm,鏡頭焦距3.6 mm。為了方便,這里將攝像頭固定,在道路中運(yùn)動(dòng)的汽車作為障礙物,來模擬實(shí)際情況中攝像頭運(yùn)動(dòng),障礙物固定的情形。采集視頻時(shí)為晴天,將采集的雙目視頻以文件格式(AVI)存儲(chǔ),利用保存的視頻進(jìn)行校準(zhǔn)算法研究。
校準(zhǔn)算法分為兩步,第一步:粗校準(zhǔn)。時(shí)間是絕對(duì)的,先根據(jù)得到的雙路視頻上顯示的時(shí)間將兩個(gè)視頻定位到同一時(shí)刻。第二步:細(xì)校準(zhǔn)。在粗定位的基礎(chǔ)上,利用上述算法根據(jù)兩幅圖像中運(yùn)動(dòng)的汽車與攝像頭的距離進(jìn)行校準(zhǔn)。圖2是粗校準(zhǔn)得到的時(shí)間顯示為同一時(shí)刻的雙通道圖像。
圖2 粗校準(zhǔn)后兩通道圖像Fig.2 The stereo image pairs after rough calibration
利用k-均值聚類算法,對(duì)圖2的灰度圖像進(jìn)行處理,這里根據(jù)兩幅幀圖像的灰度直方圖,如圖3所示,選擇3個(gè)初始聚類中心,結(jié)束聚類后的聚類中心如表1所示。
表1 聚類中心Tab.1 Clustering centers
聚類后圖像中的背景物體過濾掉一部分,如圖4(a)所示,但干擾依然存在。作為目標(biāo)物的汽車被提取出來的區(qū)域相對(duì)比較連續(xù)、規(guī)整,利用這一特征將線長較小的部分濾掉,并進(jìn)行邊緣檢測,得到其二值圖像,從而去除了絕大部分的噪聲,如圖4(b)所示。再對(duì)得到的二值圖像進(jìn)行1次膨脹和腐蝕處理,即開運(yùn)算,并刪除目標(biāo)區(qū)域上的空洞,得到目標(biāo)提取結(jié)果圖像,如圖 4(c)所示。
圖3 灰度直方圖Fig.3 Gray histogram
圖4 目標(biāo)提取結(jié)果Fig.4 Object extraction results
對(duì)于直線行駛的汽車道路在圖像中的位置是固定的,本文利用道路中心線與汽車的相對(duì)位置關(guān)系,確定車輛與攝像頭的距離。本文處理時(shí),先固定通道1視頻的幀圖像,然后粗校準(zhǔn)通道2視頻,在顯示為同一時(shí)間幀圖像前后搜索,將兩幅圖像中汽車與攝像頭的實(shí)際距離最小的幀圖像作為校準(zhǔn)結(jié)果,過程如圖5所示,圖中第4幀則為校準(zhǔn)后幀圖像。
為了驗(yàn)證校準(zhǔn)算法的有效性,對(duì)本文校準(zhǔn)后的視頻進(jìn)行立體匹配,結(jié)果如圖6(a)所示;若不進(jìn)行校準(zhǔn),從視頻起點(diǎn)匹配結(jié)果如圖 6(b)所示。
從圖6可以看出,盡管兩個(gè)匹配結(jié)果均不太理想,但是相比較而言,校準(zhǔn)后的匹配結(jié)果(圖6(a))較好。匹配結(jié)果不理想,可能是由攝像頭像素不高,兩個(gè)攝像頭沒有嚴(yán)格平行放置等客觀原因,以及匹配算法的適用性等原因引起的,這將在后續(xù)的算法中研究。
圖5 校準(zhǔn)搜索結(jié)果Fig.5 Carlibration results
圖6 匹配結(jié)果Fig.6 Stereo matching results
本文根據(jù)雙目立體視覺技術(shù)在道路障礙物檢測中的應(yīng)用,基于搜索的思想提出了一種用圖像處理校準(zhǔn)雙目視覺的算法。該算法比較簡單,易于實(shí)現(xiàn)。首先為了縮短處理時(shí)間,對(duì)視頻幀圖像進(jìn)行預(yù)處理,建立校準(zhǔn)的敏感區(qū)域。然后利用聚類算法,邊緣檢測及形態(tài)學(xué)處理檢測道路中的目標(biāo)物,最后根據(jù)得到的動(dòng)目標(biāo)與固定物的距離來搜索匹配的視頻幀。實(shí)驗(yàn)證明,該算法可以校準(zhǔn)雙目視覺,從而使立體匹配更精準(zhǔn)。
[1]Wei J,Rovira-Mas F,Reid J F.Obstacle detection using stereo vision to enhance safety of autonomous machines[J].Transactions of the ASAE,2005,48(6):2389-2397.
[2]王葵,徐照勝,顏普,等.基于激光測距雷達(dá)和機(jī)器視覺的障礙物檢測[J].儀表技術(shù),2012(8):25-28.WANG Kui,XU Zhao-sheng,YAN Pu,et al.Obstacles detection based on laser ranging radarand machine vision[J].Instrumentation Technology,2012(8):25-28.
[3]Huang Z.Extensions to the K-means algorithm for clustering large data sets with categorical value[J].Data Ming and Knowledge Discovery,1998,2(3):283-304.
[4]李全鑫,魏海平.基于聚類分類法的信息過濾技術(shù)研究[J].電子設(shè)計(jì)工程,2014(20):14-16.LI Quan-xin,WEI Hai-ping.Research of the information filter based on clustering launched classification[J].Electronic Engineering Design,2014(20):14-16.
[5]Rajab M I,Woolfson M S,Morgan S P.Application of region based segmentation and neural network edge detection to skin lesions[J].Computerized Medical Imaging and Graphics,2004,28(12):61-68.
[6]何春華,張雪飛,胡迎春.基于改進(jìn)Sobel算子的邊緣檢測算法的研究[J].光學(xué)技術(shù),2012,38(3):323-327.HE Chun-hua,ZHANG Xue-fei,HU Ying-chun.A study on the improved algorithm for Sobel on image edge detection[J].Optical Technique,2012,38(3):323-327.
[7]Rafael C.Gonzalez,Richard E.Woods.數(shù)字圖像處理 [M].2版.阮秋琦,阮宇智,譯.北京:電子工業(yè)出版社,2011.