李錦慧 吳烽云 鄒湘軍 司徒偉明 陳明猷
關(guān)鍵詞: 圖像預(yù)處理; 三維點云; 雙目視覺; 半全局立體匹配; 點云配準(zhǔn); 復(fù)雜形狀目標(biāo)
中圖分類號: TN911?34; TP391 ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識碼: A ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2019)04?0112?05
Complete target point cloud acquisition method based on binocular vision
LI Jinhui1, WU Fengyun2, ZOU Xiangjun1, SITU Weiming1, CHEN Mingyou1
(1. School of Engineering, South China Agricultural University, Guangzhou 510642, China;
2. Guangzhou Institute of Energy Conversion, Chinese Academy of Sciences, Guangzhou 510642, China)
Abstract: The key technology and difficulty lie in the current intelligent detection and robot recognition and positioning are quick acquisition of the complete 3D point cloud of the complex shape target, and reconstruction of the 3D model of the target. Therefore, a method of image preprocessing and optimization of semi?global stereo matching process is proposed based on the stereoscopic vision. In the method, the image preprocessing algorithm is designed, which is cooperatively used with the semi?global stereo matching and point cloud registration algorithm, so as to obtain the complete 3D point clouds of complex shaped targets. A hardware experimental platform and a rotating worktable are set up to obtain the left and right image pairs of the target under multiple angles. A point cloud acquisition system based on the binocular vision is developed on this platform. The system was tested taking the complex shaped gear as the experimental object. The test results show that the object generated by using this method has a good 3D point cloud effect, the method can provide methodology and theories for 3D reconstruction of the target, and has a strong practicability, and the system has a fast operation speed and feasible algorithm processing process.
Keywords: image preprocessing; 3D point cloud; binocular vision; semi?global stereo matching; point cloud registration; complex shaped target
三維點云是用來描述物體三維信息數(shù)據(jù)點的集合。其在目標(biāo)識別、三維重構(gòu)、地理信息系統(tǒng)(GIS)構(gòu)建、醫(yī)療輔助、古文物修復(fù)等各領(lǐng)域都有廣泛應(yīng)用[1?5]。如何快速獲取復(fù)雜形狀目標(biāo)的完整三維點云,重構(gòu)目標(biāo)的三維模型是目前在線智能檢測和智能機(jī)器人識別與定位的關(guān)鍵技術(shù)和難點。獲取三維點云的方式主要可分為兩類[6]: 通過一些機(jī)械接觸來進(jìn)行獲取的接觸式測量(例如:三坐標(biāo)測量機(jī)測量);不需要通過機(jī)械接觸來獲取的非接觸式測量(例如:基于機(jī)器視覺技術(shù)的測量[7?11])。其中三維掃描是獲取三維點云的有效手段,現(xiàn)國內(nèi)使用的高精度掃描儀多依賴于進(jìn)口,例如激光掃描,精度高的同時成本也很高。工廠中基于視覺的掃描多采用對物體表面進(jìn)行噴涂或進(jìn)行特定光照射的工作模式?;诖?,本文提出一種基于雙目視覺獲取復(fù)雜形狀目標(biāo)三維點云的方法,通過算法對雙目視覺系統(tǒng)采集的物體圖像進(jìn)行處理,然后使用立體匹配算法計算視差,并將視差與重投影矩陣運算得到目標(biāo)單一視角下的三維點云。同時,由于雙目視覺檢測范圍有限,為了節(jié)省視覺硬件成本,設(shè)計了旋轉(zhuǎn)平臺使待檢測目標(biāo)旋轉(zhuǎn)一定的角度,對待配準(zhǔn)點云進(jìn)行特征描述與對應(yīng)關(guān)系估計后,使用迭代最近點算法得到目標(biāo)的完整點云。這種方法為獲取復(fù)雜目標(biāo)物體的完整三維點云提供了一種低成本、高效率的有效途徑。
本方法獲取目標(biāo)物體的三維點云要經(jīng)過如圖1所示的處理過程,具體步驟如下:
1) 對雙目相機(jī)采集的左右圖像分別進(jìn)行預(yù)處理,將目標(biāo)物體從圖像中分割出來;
2) 自動截取目標(biāo)所在的矩形區(qū)域,并對其進(jìn)行立體匹配得到被測物體視差;
3) 將處理后的視差與雙目標(biāo)定得到的重投影矩陣進(jìn)行運算,得到物體某一角度下的三維點云;
4) 通過對不同角度下經(jīng)步驟1)~步驟3)得到的點云進(jìn)行配準(zhǔn)獲得目標(biāo)物體完整的三維點云。
1.1 ?圖像預(yù)處理
圖像分割是機(jī)器視覺圖像處理中的一個基本問題,是圖像預(yù)處理的方法之一,目的是把感興趣的目標(biāo)區(qū)域從圖像背景中提取出來[12]。本文使用最大類間方差法(OTSU)對左右圖像的灰度圖進(jìn)行閾值分割二值化處理,然后分別與原灰度圖像進(jìn)行疊加,得到目標(biāo)圖像。運算過程如下:
[Rx,y=Bx,y+Ix,y] (1)
式中:I表示原圖像灰度圖;B表示I經(jīng)OTSU閾值分割后的圖像;R表示目標(biāo)圖像;[Bx,y],[Ix,y],[Rx,y]分別表示各圖像任意點[x,y]的灰度值。
圖像灰度值取值范圍為0~255,而在式(1)中,[Rx,y]的運算值可能存在大于255的情況,因此需要對[Rx,y]做進(jìn)一步處理,如下:
[Rx,y=255 , ? ? ? ?Rx,y≥255Rx,y , Rx,y<255] ? (2)
預(yù)處理后的目標(biāo)圖像R變成了原灰度圖像的目標(biāo)區(qū)域,背景為純白色的圖像,目標(biāo)物體被分割出來。分割效果如圖2所示。
由于圖像的大小是影響立體匹配消耗時間的主要因素。本文獲取的圖像大小為1 600×1 200,直接進(jìn)行立體匹配將耗時過長。為了提高效率,在不影響目標(biāo)區(qū)域的立體匹配結(jié)果的前提下,本文設(shè)計算法對圖像進(jìn)行匹配前處理:在左右目標(biāo)圖像中分別自動截取包含目標(biāo)物體的矩形區(qū)域圖像以減少匹配的計算量。具體過程如下:對經(jīng)圖像預(yù)處理后的左右圖像R使用最小矩形自動包圍目標(biāo)物體的算法,用Rect_L(Xl,Yl,Wl,Hl)表示左圖像最小矩形框,用Rect_R(Xr,Yr,Wr,Hr)表示右圖像最小矩形框。其中X,Y表示矩形框左上角在圖像中的橫、縱坐標(biāo),W和H表示矩形框的寬度和高度。
立體匹配時,待配準(zhǔn)圖像(右圖像)的有效匹配區(qū)域從第numDisparites列開始,所以待匹配圖像目標(biāo)物體左側(cè)需空出numDisparites列。用Rect_ROI(Xroi,Yroi,Wroi, Hroi)表示算法自動截取的區(qū)域,各變量的數(shù)值計算如下:
[Xroi=Xr-numDisparites] ?(3)
[Yroi=Yl] ?(4)
[Wroi=Xl+Wl-Xroi] (5)
[Hroi=Hl] ? (6)
自動截取下來的左右圖像背景區(qū)域都是純白色,此時若直接進(jìn)行立體匹配會產(chǎn)生較大誤匹配,且大部分是背景與背景的誤匹配(純白背景無紋理特征)以及背景與目標(biāo)物體的誤匹配,后續(xù)得到的三維點云也會存在許多噪點。因此需要對截取的左右圖像進(jìn)行算法處理:將其中一張圖像背景灰度值為255的像素點全賦值為0(背景由白變黑),以此減小背景之間的誤匹配。通過實驗發(fā)現(xiàn)僅改變右圖像背景得到較少的誤匹配,得到的圖像如圖3所示。
1.2 ?立體匹配及視差處理
本文使用OpenCV庫中的半全局塊匹配(Semi?global block matching,SGBM)算法對經(jīng)過預(yù)處理的左右圖像進(jìn)行立體匹配得到視差。經(jīng)SGBM立體匹配后的視差圖如圖4a)所示,圖中灰度越大(顏色越白),表示視差值越大,該點距離相機(jī)越近,從圖中可以看到因左右相機(jī)視角不同導(dǎo)致邊緣處產(chǎn)生誤匹配,使目標(biāo)物體部分邊緣出現(xiàn)灰度突變嚴(yán)重的情況。
因為生成的視差是以左圖像為基礎(chǔ)獲得的,為消除邊緣處部分誤匹配,以左圖像為基礎(chǔ)修改視差矩陣,修改視差值:
[Dx,y=0 , ? ? ? ? ? ? ?Lx,y=255Dx,y , Lx,y≠255] ? ?(7)
式中:[Lx,y]表示左圖像任意點[x,y]的灰度值;[Dx,y]表示視差矩陣任意點[x,y]的視差值。從圖4b)中可以發(fā)現(xiàn)處理后得到的視差圖灰度突變的情況減少了,為后續(xù)生成低噪點三維點云打下很好的基礎(chǔ)。
1.3 ?單一角度下目標(biāo)三維點云獲取
三維點云中各點的坐標(biāo)是通過將立體匹配得到的視差與雙目標(biāo)定得到的重投影矩陣進(jìn)行運算所得。本文所采用的重投影矩陣[13]為:
[Q=100-cx010-cy000f00-1Tx0] ? ? ? ? ?(8)
式中:cx表示主點在左圖像中的x坐標(biāo);cy表示主點在左圖像中的y坐標(biāo);f表示立體標(biāo)定后計算得到的焦距;Tx表示兩相機(jī)的基線距離。給定一個二維齊次點(x,y)和其關(guān)聯(lián)的視差d,可以將該點投影到三維中,如下:
[Qxyd1=XYZW] ? ? ? ? ? ? ?(9)
該點的三維坐標(biāo)為([XW,YW,ZW])。
本文通過自動截取圖像得到的視差矩陣,不能直接用來計算三維坐標(biāo)。因此要先將視差矩陣還原到與原圖像一樣大小的矩陣的對應(yīng)位置上再進(jìn)行運算方可得到圖像所有點的三維坐標(biāo)。
本文對各角度下采集到的圖像分別進(jìn)行單一角度下的三維點云獲取,設(shè)計不對背景進(jìn)行預(yù)處理和視差做后處理的對比試驗,生成的點云圖效果對比如圖5所示。因為篇幅有限,同一角度下任意選取2組效果圖作為對比,由此可得出結(jié)論:直接對原圖進(jìn)行立體匹配,不對視差進(jìn)行處理,得到的點云有很多噪點,如圖5a)所示;而使用本文方法得到的三維點云噪點較少,目標(biāo)物體表面的點云分布均勻,無明顯的點云缺失,質(zhì)量較高,如圖5b)所示。說明該方法得到的點云可使用性較高。
1.4 ?目標(biāo)完整三維點云獲取
為了得到目標(biāo)完整的三維點云,需要對不同角度獲取的點云進(jìn)行配準(zhǔn),本文采用的是算法過程簡單并且配準(zhǔn)精度較高的迭代最近點算法(Iterative Closest Point,ICP)[14]。ICP算法完成配準(zhǔn)的流程如下:
1) 讀取模型點云X和目標(biāo)點P,點集中點的個數(shù)分別為NX,NP;
2) 在模型點云X中尋找與目標(biāo)點云P中每一點pi最近的對應(yīng)點xi,并組成新的點集[X],其中[X∈X];
3) 分別計算模型點云子集[X]、目標(biāo)點云P的重心μP,μX,兩點云的協(xié)方差矩陣[CovXP];
4) 由點集[X],P的協(xié)方差矩陣[CovXP]構(gòu)造4×4的對稱矩陣[Q(CovXP)];
5) 計算矩陣[Q(CovXP)]的特征向量,其中最大特征值所對應(yīng)的特征向量即為用單位四元數(shù)表示的最優(yōu)旋轉(zhuǎn)向量[qR],進(jìn)而計算最優(yōu)平移向量[qT];
6) 將流程5)中的剛體變換矩陣[qR],[qT]作用于目標(biāo)點云[X]得到變換后的新點云集和[Xk],計算新位置的目標(biāo)點云[Xk]與模型點云[P]的平均歐氏距離平方和[dk];
7) 若目標(biāo)點云[Xk]與模型點云[P]的差異[dk]的變化小于給定閾值[τ],即[dk]<[τ],終止迭代,否則返回流程2),直至滿足[dk]<[τ]。
在對點云進(jìn)行ICP兩兩配準(zhǔn)之前最重要的是提取點云關(guān)鍵點和對關(guān)鍵點進(jìn)行特征描述,然后在兩片點云中尋找相似特征,確定重疊部分并估計對應(yīng)點對。本文對待配準(zhǔn)點云使用PCL提供的有關(guān)點特征直方圖(PFH)描述子的算法[15]進(jìn)行點云特征描述與提取,使用kd?tree最近鄰搜索法進(jìn)行對應(yīng)估計。
本文對特征描述與對應(yīng)估計得到的點集對使用ICP方法計算兩個點集之間的旋轉(zhuǎn)平移來對原點云進(jìn)行拼接,將拼接好的點云作為新的點云,與下一片點云使用同樣的方法進(jìn)行拼接,最后獲得目標(biāo)物體完整的三維點云。完成ICP配準(zhǔn)后獲取的物體完整三維點云經(jīng)點云下采樣后的效果如圖6所示。
本文搭建的實驗平臺如圖7所示。該平臺主要包括兩個高分辨率的CCD工業(yè)相機(jī)(分辨率:1 600×1 200,鏡頭焦距為8 mm)、臺式電腦(嵌入以Visual Studio 2013為編程環(huán)境的軟件系統(tǒng))、供圖像采集的目標(biāo)物體、承載目標(biāo)的可旋轉(zhuǎn)轉(zhuǎn)臺、背景擋板。本文設(shè)計的算法被開發(fā)成完整的軟件系統(tǒng),構(gòu)建了人機(jī)交互界面將算法封裝,系統(tǒng)界面如圖8所示。
本文以有復(fù)雜形狀的機(jī)械零件齒輪為例,通過旋轉(zhuǎn)轉(zhuǎn)臺采集目標(biāo)物面對相機(jī)0°~360°以30°為角度間隔的12對圖像對,通過本文算法處理獲得的點云效果良好,具有實用性。隨著角度的增多,獲取點云時間將增加,因此可根據(jù)實際中對時間和點云質(zhì)量的不同要求采集多角度圖像對。
三維點云的獲取在各領(lǐng)域都有比較深刻的意義:以工業(yè)生產(chǎn)中視覺機(jī)器人抓取工件為例,工件的三維點云數(shù)據(jù)為獲得工件準(zhǔn)確的三維位置以及姿態(tài),并指導(dǎo)機(jī)器人抓取工件提供依據(jù);該技術(shù)在智能檢測和逆向工程中也是重點和難點。本文從搭建平臺到可實現(xiàn)算法的研究,實驗證明本文方法能夠較快獲取復(fù)雜形狀目標(biāo)的完整三維點云,為三維定位、姿態(tài)估計以及三維重構(gòu)的研究打下良好基礎(chǔ)。本文自主搭建的實驗平臺可采集的圖像范圍有限,暫時只適用于小目標(biāo)作為對象的情況,但目標(biāo)形狀復(fù)雜,有一定代表性和拓展性,可參考其原理擴(kuò)大搭建平臺或在生產(chǎn)線上使用。如何對獲取的三維點云進(jìn)行進(jìn)一步有效處理是下一步研究工作的重點。
注:本文通訊作者為鄒湘軍。
參考文獻(xiàn)
[1] 汪漢云.高分辨率三維點云目標(biāo)識別技術(shù)研究[D].長沙:國防科技大學(xué),2015.
WANG Hanyun. Research on object detection for high resolution 3D point cloud [D]. Changsha: National University of Defense Technology, 2015.
[2] MAI C Y, ZHENG L H, LI M Z. Rapid 3D reconstruction of fruit tree based on point cloud registration [J]. Transactions of the Chinese Society of Agricultural Engineering, 2015, 31(S2): 137?144.
[3] HOSSEINYALAMDARY S, BALAZADEGAN Y, TOTH C K. Tracking 3D moving objects based on GPS/IMU navigation solution, laser scanner point cloud and GIS data [J]. International journal of geo?information, 2015, 4(3): 1301?1316.
[4] 賈高杰,邱崧,蔡茗名,等.三維點云重構(gòu)和體顯示在醫(yī)學(xué)輔助診斷中的應(yīng)用[J].中國醫(yī)學(xué)物理學(xué)雜志,2016,33(6):593?598.
JIA Gaojie, QIU Song, CAI Mingming, et al. Application of three?dimensional point cloud reconstruction and swept volume display in medical assistant diagnosis [J]. Chinese journal of medical physics, 2016, 33(6): 593?598.
[5] 李文怡,張蜓,楊潔.三維掃描及快速成型技術(shù)在文物修復(fù)中的應(yīng)用[J].文博,2012(6):78?81.
LI Wenyi, ZHANG Ting, YANG Jie. Application of three?dimensional scanning and rapid prototyping in the restoration of cultural relics [J]. Relics and museology, 2012(6): 78?81.
[6] 周勇飛,徐昱琳,呂曉夢,等.基于雙目的三維點云數(shù)據(jù)的獲取與預(yù)處理[J].計算機(jī)技術(shù)與發(fā)展,2014,24(3):22?25.
ZHOU Yongfei, XU Yulin, L? Xiaomeng, et al. Three?dimensional point cloud data acquisition and pre?processing based on binocular [J]. Computer technology and development, 2014, 24(3): 22?25.
[7] KUMAR A N, PHEIFFER T S, SIMPSON A L, et al. Phantom?based comparison of the accuracy of point clouds extracted from stereo cameras and laser range scanner [J]. Proceedings of the SPIE, 2013, 8671(2): 25?37.
[8] ZOU X J, ZOU H X, LU J. Virtual manipulator?based binocular stereo vision positioning system and errors modeling [J]. Machine vision and applications, 2012, 23(1): 43?63.
[9] LUO L, TANG Y, ZOU X, et al. Vision?based extraction of spatial information in grape clusters for harvesting robots [J]. Biosystems engineering, 2016, 151: 90?104.
[10] 葉敏,鄒湘軍,羅陸鋒,等.荔枝采摘機(jī)器人雙目視覺的動態(tài)定位誤差分析[J].農(nóng)業(yè)工程學(xué)報,2016,32(5):50?56.
YE Min, ZOU Xiangjun, LUO Lufeng, et al. Error analysis of dynamic localization tests based on binocular stereo vision on litchi harvesting manipulator [J]. Transactions of the Chinese Society of Agricultural Engineering, 2016, 32(5): 50?56.
[11] WANG C, ZOU X, TANG Y, et al. Localisation of litchi in an unstructured environment using binocular stereo vision [J]. Biosystems engineering, 2016, 145: 39?51.
[12] 李洪艷,曹建榮,談文婷,等.圖像分割技術(shù)綜述[J].山東建筑大學(xué)學(xué)報,2010,25(1):85?89.
LI Hongyan, CAO Jianrong, TAN Wenting, et al. Review of image segmentation technology [J]. Journal of Shandong Jianzhu University, 2010, 25(1): 85?89.
[13] 布拉德斯基,克勒.學(xué)習(xí)OpenCV[M].于仕琪,劉瑞禎,譯.北京:清華大學(xué)出版社,2009.
BRADSKI G, KAEHLER A. Learning OpenCV [M]. YU Shiqi, LIU Ruizhen, translation. Beijing: Tsinghua University Press, 2009.
[14] 王欣,張明明,于曉,等.應(yīng)用改進(jìn)迭代最近點方法的點云數(shù)據(jù)配準(zhǔn)[J].光學(xué)精密工程,2012,20(9):2068?2077.
WANG Xin, ZHANG Mingming, YU Xiao, et al. Point cloud registration based on improved iterative closet point method [J]. Optics and precision engineering, 2012, 20(9): 2068?2077.
[15] RUSU R B, BLODOW N, MARTON Z C, et al. Aligning point cloud views using persistent feature histograms [C]// Proceedings of International Conference on Intelligent Robots and Systems. Nice: IEEE, 2008: 3384?3391.