摘? 要:基于雙目立體視覺與圖像處理,文章提出一種對于長方體體積測量的方案。首先對雙目相機進行標定,拍攝目標物體得到左右兩張圖像,通過半全局匹配算法進行圖像匹配,從而得到視差以及深度信息。將圖片的深度信息轉(zhuǎn)化為灰度信息并對灰度圖進行處理,提取出目標的上表面外接矩形面積以及相對于地面的高度信息,從而得到目標物體積。實驗結(jié)果表明,提出的體積測量方法在一定范圍內(nèi)達到了精度標準。
關(guān)鍵詞:雙目立體視覺;立體匹配;圖像處理;體積測量
中圖分類號:TP391.41? ? ? ?文獻標識碼:A 文章編號:2096-4706(2020)18-0112-04
Abstract:This paper presents a scheme for cuboid volume measurement based on binocular stereo vision and image processing. First,the binocular camera was calibrated,and the target was photographed to obtain the left image and right image. Semi-global matching algorithm was used for image matching to obtain the disparity and depth information. The depth information of the image is converted into gray information. The gray image is processed to extract the upper surface area of the target and the height information relative to the ground,and the volume of the target can be get. The experiments show that this volume measurement method can be effect within a certain range.
Keywords:binocular stereo vision;stereo matching;image processing;volume measurement
0? 引? 言
近些年由于相關(guān)算法的發(fā)展,利用相機對實際物體相關(guān)數(shù)據(jù)三維重建的研究大量涌現(xiàn)[1],主要因為視覺測量方法有著非接觸、精度高的特點,能夠自動、高效地獲取目標信息。類似于各種手機自帶的測距儀功能,就是利用手機攝像頭對物體進行長度和面積的測量。其中,與人類雙眼類似的雙目視覺系統(tǒng)得到了很高的關(guān)注度[2],其在實際應(yīng)用方面也有著非常廣闊的前景。基于實驗室對雙目視覺的研究,為了實現(xiàn)雙目立體視覺的功能性應(yīng)用,將進行關(guān)于雙目立體視覺測量效果的簡單實驗。
由相機拍攝左右兩張照片,對兩張照片的局部信息進行特征匹配,利用雙目三角測距原理[3],實現(xiàn)對實際物體與相機相對距離的測量。針對規(guī)則的長方體,通過雙目立體視覺測得深度信息,對比樣例,結(jié)合根據(jù)物體圖像中上表面外接矩形的像素占比計算得出的上表面面積,得到實際體積的參數(shù)。
1? 相機標定
1.1? 坐標系轉(zhuǎn)換
兩臺相機測量目標三維信息的原理,理想的小孔成像如圖1所示。
P(x,y,z)是空間中某一點,左右視圖是相機的兩個前置的成像平面,Ol(a,0,0)、Ol(0,0,0)、Or(a,0,0)是左右兩臺相機的光心,Xl(xl,yl,zl)、Xr(xr,yr,zr)是P點映射到左右成像平面上的兩點。OlF線段為焦距f。根據(jù)相似三角可得:
從而可以得出:
上述參與計算的部分參數(shù)需要對兩臺相機進行標定,在標定結(jié)果的內(nèi)、外參數(shù)以及畸變參數(shù)當中獲取。
標定相機的目的是需要確定世界空間中物體某點位置與圖像當中的像素點的一一對應(yīng)關(guān)系,建立成像的幾何模型,其中的工作也就是將世界坐標系轉(zhuǎn)化為攝像機坐標系,再轉(zhuǎn)化為圖像坐標系,最后轉(zhuǎn)化為像素坐標系[4]。世界坐標系中一點(X,Y,Z)T與像素坐標系中對應(yīng)點(u,v)T的關(guān)系為:
其中,s為尺度因子;M1是相機內(nèi)參矩陣;,,dx、dy是每個像素在x、y軸方向上的物理尺寸;(u0,v0)為圖像坐標系的原點在像素坐標系的坐標;M2為外部參數(shù)矩陣;攝像機坐標系和世界坐標系的位置關(guān)系由旋轉(zhuǎn)矩陣R和平移向量? 決定。
1.2? 畸變校正
相機內(nèi)參包含畸變參數(shù),一般分為徑向畸變以及切向畸變。徑向畸變表現(xiàn)為光線在越靠近邊緣的地方彎曲得越明顯,光學(xué)中心的畸變?yōu)?,隨著向邊緣的推移,畸變越來越嚴重;切向畸變的產(chǎn)生原因是制造缺陷等因素導(dǎo)致的透鏡與成像平面不平行,所以內(nèi)參還需要計算相機的畸變參數(shù)。畸變校正后的點(x1,y1)與校正前點(x0,y0)的數(shù)學(xué)關(guān)系為:
其中,k1、k2、k3為徑向畸變參數(shù),p1、p2為切向畸變參數(shù),r為點(x0,y0)與成像中心的距離。
1.3? 標定結(jié)果
左右相機標定結(jié)果如下:
其中,Ml、Mr為左右相機的內(nèi)參;Dl、Dr為左右相機的畸變參數(shù);R為左右相機間的旋轉(zhuǎn)矩陣;Rl、Rr為左右相機各自的旋轉(zhuǎn)矩陣;為平移向量。確定了相機的內(nèi)外參數(shù)矩陣以及對圖像進行畸變矯正之后,也就可以順利計算出圖像上每一點對應(yīng)于世界坐標系的三維坐標,從而實現(xiàn)文章目標——物體體積的計算。
2? 立體匹配
立體匹配的目標就是找到左右兩張圖片中對應(yīng)世界坐標系同一點的像素點。Semi-Global Matching(SGM)是一種較為常用的計算視差的半全局匹配算法[5],在OpenCV中的實現(xiàn)為Semi-Global Block Matching(SGBM),沒有實現(xiàn)基于互信息的匹配代價計算,而是采用BT算法[6]。整個SGBM算法主要分為四個步驟:
(1)圖像預(yù)處理:采用水平Sobel算子[7]對原圖進行水平梯度濾波,得到圖像梯度信息。
(2)匹配代價計算:將原圖與其梯度信息分別進行基于采樣的代價計算[8],并將兩種代價相融合作為每個像素的初始代價。為了提高匹配的魯棒性,再利用每個像素周圍像素的代價和來代表每個像素的最終代價。
(3)設(shè)置能量函數(shù):通過選取每個像素點視差,設(shè)置一個與其相關(guān)的能量函數(shù)[8],在能量函數(shù)最小化的情況下,將二維圖像問題轉(zhuǎn)化為多個方向上的一維問題,利用動態(tài)規(guī)劃求取最優(yōu)解。
(4)去除錯誤匹配:初始匹配一般在右圖中搜尋左圖每個像素的匹配點;之后右圖點匹配左圖點,若兩次匹配結(jié)果不同,則去除。
3? 體積測量實現(xiàn)
本次的實驗測試采用小覓雙目相機在Visual Studio 2017平臺上利用OpenCV 4.1.2進行左右圖像的采集,再進行后續(xù)圖像信息處理與物體體積的計算。
3.1? 測量步驟
將相機放置于固定高度H,拍攝放置在地面位置的物體圖像,之后通過SGBM算法計算出圖像的視差信息,結(jié)合內(nèi)外參數(shù)得到的深度圖。之后對深度圖進行以下步驟處理:
(1)將深度圖片轉(zhuǎn)化為灰度圖片,去除邊緣10%的區(qū)域,減少干擾。
(2)根據(jù)相機距地高度H,刪除數(shù)值在(H±2) cm范圍的圖像信息,即刪除地面的圖像信息,只留下需要測量的目標信息。
(3)求取圖像中深度值不為0點的區(qū)域深度平均值A(chǔ)ve,同時測出其最小外接矩形在圖像中所占像素點個數(shù),即其最小外接矩形的面積S1。
(4)實際測量一個目標的上平面的面積Sr,將其作為樣例,同時再按照上述(1)~(3)步驟測出另一目標的最小外接矩形面積S1。
(5)此目標的體積V為:
圖2所示為相機拍攝樣例的左圖和右圖,圖3所示為深度圖像和提取出最小外接白色虛線矩形框內(nèi)的樣例目標。樣例實際測量長34.5 cm,寬24.8 cm,高11.5 cm,實際體積9 839.40 cm3,相機距地高度100.0 cm。系統(tǒng)測試外接矩形占22 487個像素,樣例上表面深度平均值A(chǔ)ve為88.5 cm,即測試高度(H-Ave)為11.5 cm。
3.2? 測量結(jié)果
結(jié)合樣例數(shù)據(jù)測試其他8組不同體積物體數(shù)據(jù),結(jié)果如表1所示。體積誤差主要由高度與上表面面積共同決定,根據(jù)表1的測量結(jié)果對比可知,總體體積測量誤差在±4%以內(nèi),測量體積較小的物體誤差會偏大。
5? 結(jié)? 論
本文主要研究利用雙目視覺的方法提取圖像深度信息,在Visual Studio 2017平臺上利用OpenCV通過SGBM算法計算出圖片深度后,在深度圖片中提取出目標的深度信息和上表面外接矩形面積。先測試樣例,之后依據(jù)案例得到實際體積與目標所占像素的比例,測試其他不同目標體積。實驗結(jié)果的誤差達到了實驗要求,但是通過深度圖片與原始圖片的對比,發(fā)現(xiàn)方案對于反光處的處理存在一定缺陷,后續(xù)工作將會在光線處理的部分開展研究。
參考文獻:
[1] 佟帥,徐曉剛,易成濤,等.基于視覺的三維重建技術(shù)綜述 [J].計算機應(yīng)用研究,2011,28(7):2411-2417.
[2] 隋婧,金偉其.雙目立體視覺技術(shù)的實現(xiàn)及其進展 [J].電子技術(shù)應(yīng)用,2004(10):4-6+12.
[3] 王玉翰,金 波.基于雙目立體視覺的深度信息測量 [J].機電工程技術(shù),2015(3):34-38+49.
[4] 曲學(xué)軍,張璐,張凌云.基于新的成像模型的攝像機標定與三維重建 [J].儀器儀表學(xué)報,2011,32(8):1830-1836.
[5] HIRSCHM?LLER H. Accurate and efficient stereo processing by semi-global matching and mutual information [J].2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition(CVPR05).San Diego:IEEE,2005:807-814.
[6] BIRCHFIELD S,TOMASI C. Depth Discontinuities by Pixel-to-Pixel Stereo [J].International Journal of Computer Vision,1999,35(3):269-293.
[7] 王月新,劉明君.sobel算子與prewitt算子分析與研究 [J].計算機與數(shù)字工程,2016,44(10):2029-2031+2042.
[8] 牛穎,李麗宏.基于雙目視覺的人臉追蹤方法 [J].科學(xué)技術(shù)與工程,2019,19(27):224-229.
作者簡介:吳琪波(1995—),男,漢族,安徽桐城人,本科,研究方向:圖像處理。