NO.1
引言
基于現(xiàn)實(shí)世界是一個(gè)三維空間,所以對計(jì)算機(jī)視覺的研究也應(yīng)該是在三維空間中進(jìn)行的。 在自動(dòng)駕駛過程中的首要任務(wù)就是道路識別 [1] ,主要是圖像特征法和模型匹配法來進(jìn)行識別。 行駛過程中需要進(jìn)行障礙物檢測 [2] 和路標(biāo)路牌識別等,此時(shí)車輛上的信息采集便可以運(yùn)用單目視覺或者多目視覺。 相比之下,運(yùn)用多目視覺更具優(yōu)勢,獲取的圖像信息可構(gòu)建成三維空間,物體運(yùn)動(dòng)以及遮擋等問題對其影響較小。目前有很多智能小車的研究都是基于室內(nèi)環(huán)境的研究,本文基于室外環(huán)境,采用雙目攝像機(jī)模型 [3] ,考慮光照、路面材質(zhì)等問題,采用分水嶺算法 [4] 對智能車的區(qū)域進(jìn)行定位,以及在行駛區(qū)域中采用多閾值 canny 算法來進(jìn)行障礙物的檢測,進(jìn)而計(jì)算出障礙物大小位置等信息。
NO.2
分水嶺算法
定義極小值點(diǎn),本質(zhì)上的意義就是定義道路和圖像中其他區(qū)域的極小值點(diǎn),使道路與圖像中的其他區(qū)域劃分開。 接著對極小值點(diǎn)的相鄰像素按照等級進(jìn)行逐級劃分,等級是按照極小值點(diǎn)與相鄰像素的距離劃分的,而這里的距離是指兩個(gè)像素點(diǎn)之間灰度值的差值。 從定義的極小值點(diǎn)開始逐步擴(kuò)展形成集水盆。 從最小等級開始,對與集水盆相鄰的像素點(diǎn)進(jìn)行擴(kuò)展。 如果當(dāng)前要擴(kuò)展的像素點(diǎn)只與一個(gè)集水盆相連,則把該點(diǎn)標(biāo)記為相近集水盆的標(biāo)記;如果當(dāng)前要擴(kuò)展的像素點(diǎn) 2個(gè)或多個(gè)集水盆相連,則把該點(diǎn)標(biāo)記為分水線或者分水嶺。 在進(jìn)行擴(kuò)展的過程中,只有當(dāng)前等級的所有像素被劃分完畢后,才能對下一個(gè)等級的像素進(jìn)行劃分。
NO.3
基于多閾值 canny 的障礙物檢測
由于室外環(huán)境下,陰影、光照、雨水等天氣原因都會(huì)對圖像的拍攝造成影響,所以采用的是雙目攝像頭模型,可以有效地減輕外界因素對圖像的干擾。
Canny 邊緣檢測 [5] 算法閾值的不同,會(huì)導(dǎo)致所獲得的邊緣信息不同,本文中利用 2 個(gè)不同的閾值將點(diǎn)分為 3 類:強(qiáng)邊緣點(diǎn)、弱邊緣點(diǎn)、弱紋理點(diǎn);其中弱邊緣點(diǎn)是利用閾值較小的算子檢測,除去通過閾值較大的算子得到的強(qiáng)邊緣點(diǎn)所剩下的點(diǎn);剩余的其他像素點(diǎn)則為弱紋理點(diǎn)。 再根據(jù)各點(diǎn)特征分配匹配窗口大小,強(qiáng)邊緣點(diǎn)主要是位于邊界和視差不連續(xù)點(diǎn),其支持窗口應(yīng)該越小越好;而弱紋理點(diǎn)周圍的梯度變化不明顯,窗口應(yīng)足夠大,包含更多的圖像信息進(jìn)來;而弱邊緣點(diǎn)特征介于強(qiáng)邊緣點(diǎn)與弱紋理點(diǎn)之間,處于 2 個(gè)以上的弱紋理交界處,兼有邊緣與弱紋理的特征,所以窗口介于兩者之間。 在本文算法中,強(qiáng)邊緣點(diǎn)分配的是 1 ×3 窗口,弱邊緣點(diǎn)分配的是 5 ×5 窗口,弱紋理點(diǎn)分配的是 11 ×11 窗口。
分配好所有點(diǎn)的窗口大小后,則需要進(jìn)行最關(guān)鍵的一步———立體匹配 [6] 。 本文采用的是SAD 來作為匹配測度函數(shù),如式(1)。 算法中假設(shè)以右圖為參考圖,令為匹配測度,d 為滑動(dòng)窗口位移量,Wr 為匹配窗口,Ir (x,y)和 Ii(x+d,y) 分別為左圖和右圖中匹配窗口中心像素的灰度值。
最后可得到一幅初始視差圖,圖像的灰度深淺即表示了前方物體離攝像機(jī)的遠(yuǎn)近。
NO.4
障礙物判別
在得到初始視差圖后,需要進(jìn)一步判別障礙物的遠(yuǎn)近及大小,所以這里引入 V-視差和 U-視差理論 [7] 。 V-視差圖是在初始視差圖的基礎(chǔ)上,累加視差圖像每一行上具有相同視差值 dv 的像素個(gè)數(shù),以像素的個(gè)數(shù)作為像素坐標(biāo)(dv,y)的灰度值,為 0 到 255。 V-視差圖的高度與原圖像是相同的,但是寬度只有 256 [8] 。 同理,U-視差圖是累加視差圖像每一列上具有相同視差值 du 的像素個(gè)數(shù),高度為 256。
根據(jù) V-視差圖的原理,每一行中的視差值相同點(diǎn)的個(gè)數(shù)會(huì)被投影成一條直線,所以在 V-視差圖中路面是一條斜線,障礙物是一條看似與斜線垂直的線段,可以通過該線段求出障礙物的高度 。 同理,可通過 U-視差圖計(jì)算出障礙物的寬度。 根據(jù)初始視差圖中包含的視差值,由式(2)可以計(jì)算出每個(gè)障礙物的距離,其中攝像機(jī)的焦距 f 和 2 個(gè)攝像機(jī)基線距離 b 均是固定并且是已知的。
NO.5
實(shí)驗(yàn)結(jié)果
4. 1 道路識別結(jié)果該算法基于 VC 平臺(tái)實(shí)現(xiàn)的,輸入的圖片是由攝像機(jī)所拍攝的普通道路圖片,實(shí)驗(yàn)結(jié)果如圖1 所示。
4. 2 障礙物檢測結(jié)果
輸入的原始圖片是由雙目攝像機(jī)所拍攝的左右圖像(圖 2)。
實(shí)驗(yàn)采用的是平行的攝像機(jī)模型,以右攝像機(jī)拍攝的圖像為參考圖像進(jìn)行 Canny 邊緣檢測。 圖 3為對參考圖像進(jìn)行不同閾值的邊緣檢測。
在求得每個(gè)點(diǎn)的最佳視差值之后,用該點(diǎn)的視差值來表示該點(diǎn)的像素值,形成圖像的初始視差圖,并且進(jìn)行中值濾波后期處理,效果如圖 4。
得到的初始視差圖,利用 V-視差圖和 U-視差圖后根據(jù)圖中信息計(jì)算障礙物的大小與位置。 輸入 V-視差圖和 U-視差圖后,分別計(jì)算出了高度和寬度。 如圖 5 所示。
實(shí)驗(yàn)中攝像機(jī)的焦距 30 mm,攝像機(jī)之間的基線距離為 200 mm,即可計(jì)算出障礙物所在位置離攝像機(jī)的距離。 算法數(shù)據(jù)與實(shí)際數(shù)據(jù)對比結(jié)果如表 1 所示。
NO.6
總結(jié)
本論文中主要研究了基于雙目視覺的自動(dòng)駕駛,包括了道路識別算法、基于多閾值 Canny 的障礙物檢測和判別。
算法的處理效果比較理想,運(yùn)行處理速度在背景復(fù)雜的情況下偏慢。 研究了基于雙目視覺的自動(dòng)駕駛中障礙物識別問題。 該算法實(shí)驗(yàn)效果較好,但由于水平方向的信息較少使得障礙物的寬度檢測結(jié)果存在一些誤差。 在后續(xù)的深入研究中,應(yīng)該把動(dòng)態(tài)障礙物檢測加入。
參考文獻(xiàn):
[1] 董瑞先,王玉林,張魯鄒,等. 基于分水嶺算法的道路識別[J]. 農(nóng)業(yè)裝備與車輛工程,2009(8):10 -12.
[2] 陳雪,張衛(wèi)彬,程廣濤. 基于雙目立體視覺的障礙物檢測方法[J]. 軟件導(dǎo)刊,2012 (11):146 -148.
[3] 白明,莊嚴(yán),王偉. 雙目立體匹配算法的研究與進(jìn)展[J]. 控制與決策,2008(7):721 -729.
[4] 徐奕奕,劉智琦,劉琦. 基于改進(jìn)的分水嶺算法圖像分割方法研究[J]. 計(jì)算機(jī)仿真,2011(9):272 -274.
[5] 陳志波,李聲. 基于雙目視覺的邊緣檢測算法[J].光學(xué)與光電技術(shù),2008(8):71 -74.
[6] Comsweet T N. Visual perception[M]. New York:Aca-demic Press,1971.
[7] 王榮本,李琳輝,金立生,等. 基于雙目視覺的智能車輛障礙物探測技術(shù)研究[J]. 中國圖象圖形學(xué)報(bào),2007(12): 2158 -2163.
[8] 魏怡,李宇,胡舒姝. 面向復(fù)雜背景中彩色立體圖像的障礙物檢測[J]. 自動(dòng)化技術(shù)與應(yīng)用,2007 (26):23 -27.
來源江西省科學(xué)院,作者王懌超 ,徐 正,徐 昕 ,尹 鋼 ,程 浩 ,徐 濤 ,鄧海波 ,余嘉禾,中國無人駕駛網(wǎng)整理。
聯(lián)系客服