甘向昕 邊蓓蓓 李德勝
摘? 要:利用雙目視差原理,使用雙目攝像頭實(shí)現(xiàn)指定位置的距離計(jì)算,采用SGBM雙目匹配算法提高識(shí)別精確度,在自動(dòng)泊車系統(tǒng)的障礙物距離計(jì)算及車位相對(duì)距離的計(jì)算上有著重大意義,解決了超聲波測(cè)距和激光雷達(dá)等方法識(shí)別車位的局限性。
關(guān)鍵詞:雙目測(cè)距;雙目相機(jī)標(biāo)定;SGBM算法;自動(dòng)泊車
中圖分類號(hào):TP391.41? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2020)01-0052-02
Abstract:Based on the principle of binocular parallax,a binocular camera is used to calculate the distance of the designated position,and SGBM is used to improve the recognition accuracy. This is of great significance in the calculation of obstacle distance and relative distance of parking spaces in automatic parking system,and solves the limitations of ultrasonic ranging and lidar in identifying parking spaces.
Keywords:binocular ranging;binocular camera calibration;SGBM algorithm;automatic parking
0? 引? 言
隨著人均車輛擁有量逐年上升,在有限的城市空間中,停車也成了出行難題,自動(dòng)泊車系統(tǒng)應(yīng)運(yùn)而生。
自動(dòng)泊車系統(tǒng)需要對(duì)車位的距離進(jìn)行測(cè)量,利用超聲波傳感器、視覺相機(jī)包括激光雷達(dá)等工業(yè)器件對(duì)目標(biāo)車位進(jìn)行測(cè)距,但是超聲波傳感器對(duì)測(cè)量距離有局限性,單目相機(jī)難以獲取場(chǎng)景深度信息,激光雷達(dá)成本較高,相比之下,利用雙目相機(jī),可以降低成本,同時(shí)能夠獲取豐富的環(huán)境信息。
SGM是一種計(jì)算雙目視覺中視差的半全局匹配算法,在OpenCV中叫作半全局塊匹配算法(Semi-global Block Matching,SGBM),在視差效果好的同時(shí)效率更高。
1? 雙目測(cè)距的實(shí)現(xiàn)
雙目測(cè)距的原理是利用兩個(gè)攝像機(jī)系統(tǒng),從兩個(gè)視角獲取同一個(gè)目標(biāo)的不同信息,通過三角測(cè)量原理計(jì)算出像素之間的偏移來獲取一個(gè)點(diǎn)的三維空間位置信息。采用張正友教授提出的單平面棋盤格的攝像機(jī)標(biāo)定方法。此方法克服了傳統(tǒng)標(biāo)定法需要的高精度標(biāo)定物的局限性,僅需使用一個(gè)打印出來的棋盤格就可以完成。同時(shí)相對(duì)于自標(biāo)定而言,提高了精度,便于操作,因此張氏標(biāo)定法被廣泛應(yīng)用于計(jì)算機(jī)視覺方面。平行雙目結(jié)構(gòu)具有幾何關(guān)系和計(jì)算過程簡(jiǎn)單的特點(diǎn),本系統(tǒng)使用平行雙目結(jié)構(gòu),再使用張氏標(biāo)定法的棋盤格作為標(biāo)定參照物。雙目測(cè)距原理如圖1所示。
其中T為左右相機(jī)的距離,f為焦距,Z為距離,xl和xr分別為目標(biāo)點(diǎn)P在左右相機(jī)所成的圖像投影點(diǎn)的橫坐標(biāo),由圖1的成像關(guān)系和相似三角形原理,可得到式(1),因此,求出距離Z的條件是得到xl-xr的值:
1.1? 雙目圖像的采集
如圖2所示,攝像頭為OV9732模塊雙目同步攝像頭,控制系統(tǒng)為樹莓派3B+。使用目標(biāo)雙目攝像頭采集左右攝像頭的同一幀圖片,需要拍攝的為9×7黑白相間的方格標(biāo)定板,且需要多角度拍攝,以便使得標(biāo)定數(shù)據(jù)更準(zhǔn)確。將左右攝像頭的圖像分別按順序命名(如:L1.jpg、R1.jpg),并分別存儲(chǔ)。
1.2? 雙目相機(jī)標(biāo)定與校準(zhǔn)
雙目相機(jī)由于光學(xué)透鏡的不同,在生產(chǎn)和裝配時(shí),會(huì)存在一定的缺陷,導(dǎo)致目標(biāo)物體在線性模型下的位置和實(shí)際平面上的成像位置有差距,這就是相機(jī)的畸變。雙目視覺的測(cè)距是在理想的環(huán)境和配置中得到的,而在實(shí)際應(yīng)用中的結(jié)果會(huì)由于相機(jī)畸變而產(chǎn)生一定的誤差,為了盡可能減小誤差,需要去掉相機(jī)畸變。當(dāng)把圖像投射到同一個(gè)平面上時(shí),要求同一個(gè)像素投射到兩個(gè)圖像上時(shí),應(yīng)該處于兩個(gè)坐標(biāo)系的同一個(gè)水平位置。矯正的過程是將標(biāo)定板打印平鋪在硬板上,使用平行固定的兩個(gè)攝像機(jī)同時(shí)采集同一幀不同角度的標(biāo)定板圖像。使用MATLAB標(biāo)定工具箱,分別輸入左右相機(jī)的圖片,進(jìn)行左右相機(jī)的單目標(biāo)定,得到左右相機(jī)各自的內(nèi)部參數(shù)值,并將該內(nèi)部參數(shù)值作為雙目標(biāo)定的初始值傳入,完成雙目標(biāo)定。將左右攝像頭采集的圖像分別導(dǎo)入MATLAB軟件的Stereo Camera Calibrator應(yīng)用程序,并設(shè)置標(biāo)定板方格寬度。導(dǎo)入完成后程序會(huì)自動(dòng)識(shí)別板上標(biāo)點(diǎn),如圖3所示,通過調(diào)整和去除偏差過大的圖片組能夠提高數(shù)據(jù)校正的準(zhǔn)確度。
將數(shù)據(jù)保存并輸出后可以獲得相機(jī)的內(nèi)外參數(shù),將參數(shù)添加到程序的參數(shù)配置文件中,使用stereoParams.Camera Parameters1.IntrinsicMatrix,寫出左攝像頭的矩陣和右攝像頭的矩陣,如圖4所示,用于SGBM雙目立體匹配算法的計(jì)算參數(shù)。
1.3? 立體匹配與定位測(cè)距
半全局匹配算法計(jì)算局部范圍的視差值,計(jì)算復(fù)雜度較低,多應(yīng)用在立體匹配算法中。SGM算法在OpenCV中實(shí)現(xiàn)為SGBM算法,本系統(tǒng)采用SGBM雙目立體匹配算法。SGBM采用水平Sobel算子,對(duì)圖像進(jìn)行處理,將雙目上的兩個(gè)圖像在水平方向上進(jìn)行匹配,經(jīng)過處理后將兩個(gè)圖像映射成一個(gè)新的圖像,這就是立體匹配的預(yù)處理,經(jīng)過該處理會(huì)得到圖像的梯度信息。
將預(yù)處理圖像的梯度信息經(jīng)過基于采樣的方法得到梯度代價(jià),這是代價(jià)計(jì)算的一部分,還需將原圖像經(jīng)過基于采樣的方法得到SAD代價(jià),上述兩個(gè)代價(jià)都會(huì)在SAD窗口內(nèi)進(jìn)行計(jì)算。在SGBM匹配算法中通過調(diào)節(jié)blocksize和numDisparities兩個(gè)參數(shù)來獲得最佳的視差效果圖。其中SAD窗口大小的值一般應(yīng)該在5×5到21×21之間,且其必須為奇數(shù)。在程序中通過左右攝像頭圖像在同一位置的不同像素點(diǎn)計(jì)算出距離值。
2? 測(cè)量數(shù)據(jù)
為了驗(yàn)證本系統(tǒng)的準(zhǔn)確性,采用本文所述SGBM算法進(jìn)行使目標(biāo)物體在不同距離中進(jìn)行檢測(cè),數(shù)據(jù)如表1所示,結(jié)果顯示距離越近,誤差比例越小,200 mm到5000 mm距離范圍內(nèi)的誤差在0.50%~1.64%之間。
3? 結(jié)? 論
雙目測(cè)距算法可應(yīng)用于工業(yè)上的非接觸式距離測(cè)量,以及無人駕駛領(lǐng)域中跟車距離的測(cè)量和車前障礙物距離測(cè)量,該雙目測(cè)距方式解決了超聲波測(cè)距的測(cè)量距離限制和單目相機(jī)對(duì)獲取場(chǎng)景深度信息的限制,在未來,該技術(shù)還將會(huì)廣泛地應(yīng)用于人工智能領(lǐng)域以解決無接觸式的距離測(cè)量問題。雖然該測(cè)距系統(tǒng)在測(cè)距精度和局限性方面都有較優(yōu)的表現(xiàn),但由于是通過視覺方式實(shí)現(xiàn),還是會(huì)受到環(huán)境光線的影響,例如被測(cè)物體上的強(qiáng)烈反光會(huì)對(duì)測(cè)距誤差造成影響,在該方面還需要改進(jìn)。
參考文獻(xiàn):
[1] ZHANG Z. A flexible new technique for camera calibration [J]. Pattern Analysis and Machine Intelligence,IEEE Transactions on,2000,2(11):1330-1334.
[2] 許威,丁學(xué)文,宋蘭草,等.基于MATLAB和OpenCV的雙目視覺測(cè)距系統(tǒng)的實(shí)現(xiàn) [J].天津職業(yè)技術(shù)師范大學(xué)學(xué)報(bào),2017,27(4):47-52.
[3] 方博文,張曉東,陳敬義,等.基于雙目視覺的行車中障礙距離檢測(cè)方法研究 [J].機(jī)械設(shè)計(jì)與制造,2019(4):94-98.
作者簡(jiǎn)介:甘向昕(1998-),男,壯族,廣西貴港人,本科,研究方向:計(jì)算機(jī)嵌入式;通訊作者:邊蓓蓓(1982-),女,漢族,黑龍江哈爾濱人,講師,碩士,研究方向:計(jì)算機(jī)嵌入式、圖像識(shí)別。