劉昱崗,王卓君,劉艷芳,張祖濤,徐 宏
(1.西南交通大學(xué) 交通運(yùn)輸與物流學(xué)院,四川 成都 610031; 2.西南交通大學(xué) 綜合交通運(yùn)輸智能化國家地方聯(lián)合工程實(shí)驗(yàn)室,四川 成都 610031; 3.西南交通大學(xué) 機(jī)械工程學(xué)院,四川 成都 610031;4.中國電子科技集團(tuán)第三十二研究所,上海 201808)
隨著汽車的日益普及,道路和停車場(chǎng)越來越擁擠,駕駛員視野受限,穿行、掉頭、倒車等常規(guī)操作所引發(fā)的碰撞和拖掛時(shí)常發(fā)生,其中尤以倒車事故最為嚴(yán)重和突出,駕駛員倒車誤操作已成為城市交通事故的重要原因之一。根據(jù)英國Accident Exchange事故統(tǒng)計(jì)機(jī)構(gòu)2011年研究,英國每年約有4萬起嚴(yán)重交通事故,其中有較大的部分是由司機(jī)的倒車過失引起的。在中國,由于倒車引起的交通事故,在事故總數(shù)、發(fā)生率和造成的后果的嚴(yán)重性上,遠(yuǎn)遠(yuǎn)高于國外[1]。因此,如何有效地檢測(cè)倒車環(huán)境,成功區(qū)分出障礙物或行人,成為目前倒車安全領(lǐng)域的研究重點(diǎn)之一。
目前的汽車環(huán)境感知技術(shù)主要是利用傳感器對(duì)車外環(huán)境進(jìn)行檢測(cè),然后將信息反饋給汽車或者駕駛員,進(jìn)而對(duì)汽車進(jìn)行輔助的控制。雙目立體視覺技術(shù)由于其獲取信息豐富、信息準(zhǔn)確,失真小、對(duì)近距離障礙物的關(guān)注度高等優(yōu)點(diǎn),成為近年來倒車領(lǐng)域備受關(guān)注的環(huán)境感知技術(shù)之一。魏娟[2]研究了雙目視覺系統(tǒng)在自動(dòng)倒車系統(tǒng)中的應(yīng)用,詳細(xì)論述了雙目立體視覺的雙目標(biāo)定、特征提取、雙目匹配3個(gè)方面的內(nèi)容,表明了雙目立體視覺對(duì)于倒車環(huán)境感知的可用性。但是雙目視差獲取(雙目匹配)一直以來計(jì)算機(jī)視覺中最關(guān)鍵、最困難的一步。盡管國內(nèi)外許多學(xué)者已經(jīng)提出了很多相關(guān)理論如灰度相關(guān)性匹配、極限約束、特征點(diǎn)匹配等[3-4],但誤匹配現(xiàn)象仍然存在,并會(huì)大大影響接下來的障礙物檢測(cè)等工作,劉雨婷[5]采用隨機(jī)采樣一致性(RANSAC)方法來消除偽匹配點(diǎn)。
引入圖像形態(tài)學(xué)的膨脹、腐蝕操作來使視差圖中屬于同一障礙物的不連通區(qū)域連通,消除誤匹配,同時(shí)消除一些噪聲,以利于接下來的檢測(cè)工作。在倒車過程中,駕駛員或汽車往往更關(guān)注車后更近一些的障礙物。遠(yuǎn)距離的障礙物對(duì)倒車安全沒有實(shí)際意義且需要大量計(jì)算時(shí)間。鑒于此,筆者采用基于距離的障礙物檢測(cè)算法,選擇合適的視差值作為障礙物檢測(cè)距離的閾值對(duì)視差圖進(jìn)行二值化處理,將距離較近的障礙物作為檢測(cè)的主要目標(biāo),使得駕駛員或汽車能夠更多的關(guān)注到距離較近的障礙物。接著,使用區(qū)域標(biāo)記算法對(duì)各個(gè)連通進(jìn)行標(biāo)記,計(jì)算各區(qū)域的面積大小,并將面積較小的區(qū)域作為噪聲去除。最后提取出余下面積較大的連通區(qū)域作為最終障礙物檢測(cè)的結(jié)果。實(shí)驗(yàn)結(jié)果表明筆者提出的基于雙目視覺圖像的倒車障礙物檢測(cè)方法能夠有效檢測(cè)出車后的障礙物區(qū)域。并可對(duì)以后基于雙目視覺的倒車障礙物跟蹤與車輛安全控制研究提供前期基礎(chǔ)和一定的借鑒意義。
基于雙目視覺圖像的倒車障礙物檢測(cè)方法流程主要包括膨脹和腐蝕、視差圖二值化、障礙物提取3個(gè)步驟,如圖1。
針對(duì)雙目圖像匹配時(shí)容易產(chǎn)生誤匹配,使得視差灰度圖不清晰這一問題,首先采用膨脹和腐蝕算法來消除誤匹配并去除一部分噪聲;然后采用合適的閾值對(duì)視差圖像進(jìn)行二值化,將一定距離內(nèi)想要檢測(cè)到的障礙物劃分出來;接著利用區(qū)域標(biāo)記算法將二值化后的視差圖像中的連通區(qū)域進(jìn)行標(biāo)記,最后通過面積控制將面積過小的區(qū)域作為噪點(diǎn)去除,將面積較大的區(qū)域作為障礙物提取出來,實(shí)現(xiàn)倒車環(huán)境下的障礙物檢測(cè)。
圖1 障礙物檢測(cè)方法系統(tǒng)流程Fig. 1 System flowchart of obstacle detection method
雙目匹配一直以來都是計(jì)算機(jī)視覺領(lǐng)域中的重點(diǎn)和難點(diǎn),且由此產(chǎn)生的誤匹配現(xiàn)象尚未得到很好的解決。誤匹配會(huì)使同一障礙物區(qū)域的視差值不一致,進(jìn)而造成同一障礙物區(qū)域的視差灰度圖不連通,最終將影響到障礙物的檢測(cè)。因此,如何減小誤匹配對(duì)障礙物檢測(cè)的影響是實(shí)現(xiàn)雙目視覺圖像檢測(cè)的關(guān)鍵步驟。
膨脹和腐蝕是數(shù)字圖像處理中常見的形態(tài)學(xué)操作[6-10],主要用于圖像的噪聲抑制,邊緣提取,圖像分割,紋理分析,圖像重建等。其區(qū)域連通作用可去除雙目視差灰度圖中小區(qū)域的誤匹配。接下來筆者將介紹一些基本的數(shù)學(xué)集合的相互關(guān)系和常見的集合運(yùn)算的概念,再介紹在此基礎(chǔ)上定義的膨脹、腐蝕操作。常用的數(shù)學(xué)集合的相互關(guān)系包括:包含,相交,不包含。常用的集合運(yùn)算包括:非運(yùn)算,交運(yùn)算,并運(yùn)算,差運(yùn)算。圖2和圖3分別顯示了3種集合間相互關(guān)系的示意圖和4種集合運(yùn)算的示意圖。其中A和B分別表示兩個(gè)數(shù)學(xué)集合。圖4中陰影部分為運(yùn)算結(jié)果。
圖2 集合間相互關(guān)系Fig. 2 Correlation of each set
圖3 常見的集合運(yùn)算Fig. 3 Common set operation
膨脹定義:設(shè)被膨脹圖像為集合X,把集合B(在形態(tài)學(xué)操作中,一般將集合B稱為結(jié)構(gòu)元素)平移a(x,y)后獲得Ba,如果Ba擊中或被包含于X,記下a點(diǎn),此時(shí),所有滿足上述條件的a點(diǎn)的集合稱為X被B膨脹的結(jié)果??梢杂萌绻?1)描述X和B的關(guān)系:
X⊕B=E{a|(Ba∩X)≠?}
(1)
式中:⊕為膨脹運(yùn)算符;?為空集。
在形態(tài)學(xué)操作中,一般將集合B稱為結(jié)構(gòu)元素。圖4顯示了一個(gè)簡(jiǎn)單的膨脹操作示意圖:
圖4 圖像膨脹操作示意Fig. 4 Image dilation operation
另外,根據(jù)結(jié)構(gòu)元素B的不同,膨脹效果也會(huì)不同,如圖5:
圖5 不同結(jié)構(gòu)元素下的膨脹操作Fig. 5 Dilation operation under different structural elements
通過膨脹操作,可以使視差圖中同一目標(biāo)的不連續(xù)匹配區(qū)域連通起來,減少誤匹配帶來的影響。
腐蝕可以看作是膨脹的對(duì)偶運(yùn)算,定義為:設(shè)被腐蝕圖像為X,把結(jié)構(gòu)元素B平移a(x,y)后獲得Ba,如果Ba包含于X,記下a點(diǎn),此時(shí),所有滿足上述條件的a點(diǎn)的集合稱為X被B腐蝕的結(jié)果。可以用如公式(2)描述X和B的關(guān)系:
XΘB=E{a|Ba?X≠?}
(2)
式中:Θ為腐蝕運(yùn)算符。
圖6為腐蝕示例:
圖6 圖像腐蝕操作示意Fig. 6 Image erosion operation
與膨脹操作一樣,結(jié)構(gòu)元素B的不同,腐蝕效果也會(huì)有不同,如圖7:
圖7 不同結(jié)構(gòu)元素下的腐蝕操作Fig. 7 Erosion operation under different structural elements
腐蝕操作的目的主要用于去除雙目視差獲取時(shí)誤匹配產(chǎn)生的細(xì)小噪點(diǎn)。在完成膨脹腐蝕操作后,雙目視差圖像會(huì)變得更加清晰。
在現(xiàn)實(shí)倒車環(huán)境中,距離車后較近的障礙物才會(huì)對(duì)駕駛員的操作或是車輛的自動(dòng)控制系統(tǒng)產(chǎn)生影響。因此,在檢測(cè)過程中只檢測(cè)車后一定距離D內(nèi)的障礙物而將遠(yuǎn)距離的障礙物忽略,既能減少計(jì)算量,也符合實(shí)際的倒車需要。視差值d與障礙物距車輛的距離Z有如式(3)所示的關(guān)系。
(3)
由式(3)可知視差值d與距離Z是一一對(duì)應(yīng)的關(guān)系,且距離車輛較近的障礙物視差灰度值較高,距離車輛較遠(yuǎn)的障礙物視差灰度值較低?,F(xiàn)設(shè)定一個(gè)安全距離L,若想要檢測(cè)L以內(nèi)的障礙物,則可以通過式(3)反解出相應(yīng)的視差dL。為了便于接下來對(duì)障礙物的標(biāo)記處理,通過使用dL對(duì)視差圖進(jìn)行二值化可將距離在L之內(nèi)的障礙物區(qū)域灰度值設(shè)置為1,將其余非障礙物區(qū)域或較遠(yuǎn)的障礙物區(qū)域的灰度值設(shè)置為0。
在對(duì)視差灰度圖進(jìn)行去誤匹配和二值化處理之后,圖像中只包含了灰度值1的前景障礙物區(qū)域和灰度值為0的背景區(qū)域。利用區(qū)域標(biāo)記算法對(duì)二值化視差圖中每一個(gè)連通區(qū)域進(jìn)行標(biāo)記,一個(gè)連通區(qū)域即是一個(gè)障礙物。對(duì)一些被當(dāng)作障礙物標(biāo)記出來的小范圍噪點(diǎn),可運(yùn)用閾值化處理,將面積過小的障礙物作為噪聲去除,將剩余面積較大的區(qū)域作為障礙物提取出來。這樣便可得到想要檢測(cè)的障礙物。
結(jié)合倒車圖像的實(shí)際情況和膨脹腐蝕操作所帶來的問題,筆者將四連通的區(qū)域作為連通區(qū)域,采用基于行程的連通區(qū)域標(biāo)記法對(duì)連通區(qū)域進(jìn)行標(biāo)記,具體實(shí)現(xiàn)步驟如圖8。
1)逐行對(duì)圖像進(jìn)行掃描,對(duì)每一行中出現(xiàn)的白色像素序列進(jìn)行記錄,記下它們的起點(diǎn)位置,終點(diǎn)位置和對(duì)應(yīng)的行號(hào)。
2)對(duì)這些白色序列進(jìn)行標(biāo)號(hào),從第1行第1個(gè)序列依次往下遞增;但如果當(dāng)前白色序列與上1行有重合的區(qū)域,就將上1行有重合區(qū)域的那個(gè)序列的標(biāo)號(hào)賦給當(dāng)前的白色序列;如果有2個(gè)以上重合,就賦值給最小的那個(gè)標(biāo)號(hào),同時(shí)將上1行存在重合區(qū)域的白色序列的標(biāo)號(hào)寫入等價(jià)對(duì),說明他們是等價(jià)的。
3)將等價(jià)對(duì)轉(zhuǎn)換為等價(jià)序列(可以通過深度優(yōu)先搜索算法),從1開始,為每個(gè)等價(jià)序列附上相同標(biāo)號(hào)。
4)遍歷白色像素序列開始標(biāo)記,查找等價(jià)序列,并附上新的標(biāo)號(hào)。
5)將每個(gè)白色序列的標(biāo)號(hào)填入標(biāo)記圖像中。
6)根據(jù)不同的應(yīng)用,計(jì)算質(zhì)心,面積等。
結(jié)合圖8的簡(jiǎn)單示例,對(duì)圖像進(jìn)行標(biāo)記。
圖8 區(qū)域標(biāo)記簡(jiǎn)單示例Fig. 8 A sample of region labelling algorithm
掃描第1行:有2個(gè)白色像素序列,記為(2,2)和(6,7)分別賦予標(biāo)號(hào)1,2。
掃描第2行:同樣有2個(gè)白色像素序列,記為(2,4)和(6,6),但是這2個(gè)序列和第1行都有重疊部分,所以將(2,4)賦予標(biāo)號(hào)1,將(6,6)賦予標(biāo)號(hào)2。
掃描第3行:有1個(gè)白色像素序列,記為(4,6),它與上1行兩個(gè)序列都有重合,所以取上1行所有與它重疊的白色像素序列中最小的標(biāo)號(hào)賦予,同時(shí)將標(biāo)號(hào)1和2計(jì)入等價(jià)對(duì)。
掃描第4行:有1個(gè)白色像素序列,記為(1,2),因?yàn)樯?行沒有與它重疊的,所以將這1行的(1,2)賦予標(biāo)號(hào)3。
接著將等價(jià)對(duì)轉(zhuǎn)換成等價(jià)序列。由于此例較為簡(jiǎn)單,其等價(jià)對(duì)只有1對(duì),即1和2,所以等價(jià)序列也只有1和2。此時(shí)將等價(jià)序列1和2重新標(biāo)號(hào)為1,將單獨(dú)的標(biāo)號(hào)為3的白色像素序列改為2。再次掃描圖像,遍歷白色像素序列開始標(biāo)記,標(biāo)上新的標(biāo)號(hào)。標(biāo)記結(jié)果如圖9。
圖9 區(qū)域標(biāo)記結(jié)果Fig. 9 Results of region labelling algorithm
在標(biāo)記完每個(gè)連通區(qū)域之后,可以計(jì)算出每個(gè)連通區(qū)域的面積,將面積過小的區(qū)域作為噪點(diǎn)去除,將剩余的面積較大的連通區(qū)域作為障礙物區(qū)域提取出來。
為驗(yàn)證該方法有效性,采用圖10所示的雙目攝像頭采集的樣圖對(duì)筆者提出的基于雙目視覺圖像的倒車障礙物檢測(cè)方法進(jìn)行驗(yàn)證。圖11(a)為圖10雙目圖像所對(duì)應(yīng)的視差灰度圖??梢杂^察到,圖內(nèi)線框中存在大量的屬于同一物體但不連通的區(qū)域。與此同時(shí),由圖11(a)局部放大后的圖11(b)還可看出視差灰度圖中還存在許多白色噪點(diǎn)。
圖10 雙目攝像頭采集樣圖Fig. 10 Sample picture collected by binocular-cameras
圖11 視差圖像Fig. 11 Disparity map
為了解決這兩個(gè)問題,通過膨脹和腐蝕來連通區(qū)域和去除部分噪點(diǎn),其處理效果如圖12。
圖12 膨脹腐蝕結(jié)果Fig. 12 Results of dilation and erosion operation
可以看出經(jīng)過膨脹腐蝕之后的視差圖的不連通區(qū)域已經(jīng)連通了。接著對(duì)圖像進(jìn)行二值化處理,將遠(yuǎn)距離障礙物和近距離障礙物通過視差關(guān)系區(qū)分,二值化結(jié)果如圖13。
圖13 二值化視差圖Fig. 13 Binary disparity map
然后使用區(qū)域標(biāo)記算法,對(duì)不同區(qū)域加以標(biāo)記,如圖14。
圖14 區(qū)域標(biāo)記Fig. 14 Region labelling
區(qū)域標(biāo)記后測(cè)量各個(gè)圖像塊的面積,將面積過小的噪聲點(diǎn)去除,如圖15。
圖15 面積控制去除小噪聲點(diǎn)Fig. 15 De-noising effect of area control
最后,將標(biāo)記結(jié)果記錄并顯示在左右攝像頭采集的圖片中。左右攝像頭目標(biāo)定位如圖16。
使用不同的距離L,可計(jì)算出不同的dL來對(duì)視差灰度圖進(jìn)行二值化,進(jìn)而可檢測(cè)到不同范圍內(nèi)的障礙物。假如設(shè)置了較大的檢測(cè)距離L,則可以檢測(cè)到更遠(yuǎn)的障礙物,如圖17。
圖17 較大距離內(nèi)的障礙物Fig. 17 Obstacle existing in a longer distance
為驗(yàn)證檢測(cè)有效性,運(yùn)用基于雙目視覺圖像的倒車障礙物檢測(cè)方法對(duì)一些標(biāo)準(zhǔn)數(shù)據(jù)庫進(jìn)行了檢測(cè)率統(tǒng)計(jì)分析,正確檢測(cè)率達(dá)94%以上,如表1。證明了方法的可行性。除了對(duì)這些知名學(xué)者提供的標(biāo)準(zhǔn)數(shù)據(jù)進(jìn)行實(shí)驗(yàn)驗(yàn)證之外,本次實(shí)驗(yàn)還對(duì)實(shí)際采集的倒車現(xiàn)場(chǎng)視頻進(jìn)行了檢測(cè),采集場(chǎng)景為西南交通大學(xué)九里校區(qū)逸夫館。圖18顯示了視頻中隨機(jī)抽取的4幀圖片的檢測(cè)結(jié)果,可以看出本方法對(duì)實(shí)測(cè)倒車視頻也有很好的檢測(cè)效果。
表1 標(biāo)準(zhǔn)數(shù)據(jù)檢測(cè)和誤檢統(tǒng)計(jì)Table 1 Standard data detection and misdiagnosis statistics
圖18 實(shí)測(cè)倒車環(huán)境障礙物檢測(cè)Fig. 18 Obstacle detection in the actual reversing environment
提出了一種基于雙目視覺圖像的倒車障礙物檢測(cè)方法。該方法首先使用膨脹和腐蝕算法對(duì)圖像進(jìn)行處理,這樣可以有效降低雙目視差圖像中誤匹配和噪點(diǎn)的影響;然后利用安全距離使圖像二值化,去除圖像背景區(qū)域,分離出目標(biāo)前景;接著,運(yùn)用區(qū)域標(biāo)記算法,標(biāo)記出二值化視差圖中的連通區(qū)域,為障礙物檢測(cè)做準(zhǔn)備;然后對(duì)連通區(qū)域進(jìn)行面積控制,提取出障礙物區(qū)域。最后,筆者提供的標(biāo)準(zhǔn)數(shù)據(jù)和現(xiàn)場(chǎng)視頻采集數(shù)據(jù),實(shí)驗(yàn)證明了提出的基于雙目視覺的倒車障礙物檢測(cè)方法的有效性。
[1]劉華軍.面向智能車輛的道路環(huán)境理解技術(shù)研究[D].南京:南京理工大學(xué),2007.
LIU Huajun.ResearchonRoadSceneInterruptionTechniquesforIntelligentVehicles[D]. Nanjing: Nanjing University of Science & Technology, 2007.
[2]魏娟.雙目視覺在自動(dòng)倒車系統(tǒng)中的應(yīng)用研究[D].哈爾濱:哈爾濱工程大學(xué),2009.
WEI Juan.TheApplicationResearchofBinocularVisioninAutomaticReversingSystem[D]. Harbin: Harbin Engineering University, 2009.
[3]金偉偉.基于雙目視覺的運(yùn)動(dòng)小目標(biāo)三維測(cè)量的研究與實(shí)現(xiàn)[D].杭州:浙江大學(xué),2010.
JIN Weiwei.ResearchandRealizationonBinocularStereoVisionSysteminDistanceMeasurementofDynamicObject[D]. Hangzhou: Zhejiang University, 2010.
[4]白明,莊嚴(yán),王偉.雙目立體匹配算法的研究與進(jìn)展[J].控制與決策,2008,23(7):721-729.
BAI Ming, ZHUANG Yan, WANG Wei. Progress in binocular stereo matching algorithms[J].ControlandDecision, 2008, 23(7): 721-729.
[5]劉雨婷.基于雙目立體視覺的圖像匹配算法研究[D].昆明:昆明理工大學(xué),2014.
LIU Yuting.ResearchonBinocularStereoVisioninImageMatchingAlgorithm[D]. Kunming: Kunming University of Science and Technology, 2014.
[6]孫繼平,吳冰,劉曉陽.基于膨脹/腐蝕運(yùn)算的神經(jīng)網(wǎng)絡(luò)圖像預(yù)處理方法及其應(yīng)用研究[J].計(jì)算機(jī)學(xué)報(bào),2005,28(6):985-990.
SUN Jiping, WU Bing, LIU Xiaoyang. Cellular neural network application manner in pre processing image[J].ChineseJournalofComputers, 2005, 28(6): 985-990.
[7] ANSAR A, CASTANO A, MATTHIES L. et al. Enhanced real-time stereo using bilateral filtering[C]//3D Data Processing, Visualization and Transmission, 2004. 3DPVT 2004. Proceedings. 2nd International Symposium on. IEEE, 2004: 455-462.
[8] ESS A, LEIBE B, SCHINDLER K, et al. Robust multi-person tracking from a mobile platform[J].IEEETransactionsonPatternAnalysis&MachineIntelligence, 2009, 31(10): 1831-1846.
[9]陳武,王安麟,魏俊華.基于CCD的待車數(shù)傳感器研究——等待車輛圖像的腐蝕-膨脹識(shí)別算法[J].機(jī)械科學(xué)與技術(shù),2004,21(6):20-23.
CHEN Wu, WANG Anlin, WEI Junhua. Study on sensors for quantity of waiting vehicles based on CCD-corrosion-expansion identifying method for image of waiting vehicles[J].JournalofMachineDesign, 2004, 21(6): 20-23.
[10]陳武.基于CCD圖像的等待車輛數(shù)傳感器的研究——等待車輛圖像的腐蝕-膨脹識(shí)別算法[D].上海:上海交通大學(xué),2004.
CHEN Wu.StudyonSensorsforQuantityofWaitingVehiclesbasedonCCD-Corrosion-ExpansionIdentifyingMethodforImageofWaitingVehicles[D]. Shanghai: Shanghai Jiaotong University, 2004.
[11]陳誠.基于雙目視覺的運(yùn)動(dòng)目標(biāo)跟蹤算法研究與應(yīng)用[D].哈爾濱:哈爾濱工程大學(xué),2014.
CHEN Cheng.ResearchandApplicationonMovingObjectsTrackingAlgorithmBasedonBinocularVision[D]. Harbin: Harbin Engineering University, 2014.