李錦慧 吳烽云 鄒湘軍 司徒偉明 陳明猷



關鍵詞: 圖像預處理; 三維點云; 雙目視覺; 半全局立體匹配; 點云配準; 復雜形狀目標
中圖分類號: TN911?34; TP391 ? ? ? ? ? ? ? ? 文獻標識碼: 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
三維點云是用來描述物體三維信息數據點的集合。其在目標識別、三維重構、地理信息系統(GIS)構建、醫療輔助、古文物修復等各領域都有廣泛應用[1?5]。如何快速獲取復雜形狀目標的完整三維點云,重構目標的三維模型是目前在線智能檢測和智能機器人識別與定位的關鍵技術和難點。獲取三維點云的方式主要可分為兩類[6]: 通過一些機械接觸來進行獲取的接觸式測量(例如:三坐標測量機測量);不需要通過機械接觸來獲取的非接觸式測量(例如:基于機器視覺技術的測量[7?11])。其中三維掃描是獲取三維點云的有效手段,現國內使用的高精度掃描儀多依賴于進口,例如激光掃描,精度高的同時成本也很高。工廠中基于視覺的掃描多采用對物體表面進行噴涂或進行特定光照射的工作模式。基于此,本文提出一種基于雙目視覺獲取復雜形狀目標三維點云的方法,通過算法對雙目視覺系統采集的物體圖像進行處理,然后使用立體匹配算法計算視差,并將視差與重投影矩陣運算得到目標單一視角下的三維點云。同時,由于雙目視覺檢測范圍有限,為了節省視覺硬件成本,設計了旋轉平臺使待檢測目標旋轉一定的角度,對待配準點云進行特征描述與對應關系估計后,使用迭代最近點算法得到目標的完整點云。這種方法為獲取復雜目標物體的完整三維點云提供了一種低成本、高效率的有效途徑。
本方法獲取目標物體的三維點云要經過如圖1所示的處理過程,具體步驟如下:
1) 對雙目相機采集的左右圖像分別進行預處理,將目標物體從圖像中分割出來;
2) 自動截取目標所在的矩形區域,并對其進行立體匹配得到被測物體視差;
3) 將處理后的視差與雙目標定得到的重投影矩陣進行運算,得到物體某一角度下的三維點云;
4) 通過對不同角度下經步驟1)~步驟3)得到的點云進行配準獲得目標物體完整的三維點云。
1.1 ?圖像預處理
圖像分割是機器視覺圖像處理中的一個基本問題,是圖像預處理的方法之一,目的是把感興趣的目標區域從圖像背景中提取出來[12]。本文使用最大類間方差法(OTSU)對左右圖像的灰度圖進行閾值分割二值化處理,然后分別與原灰度圖像進行疊加,得到目標圖像。運算過程如下:
[Rx,y=Bx,y+Ix,y] (1)
式中:I表示原圖像灰度圖;B表示I經OTSU閾值分割后的圖像;R表示目標圖像;[Bx,y],[Ix,y],[Rx,y]分別表示各圖像任意點[x,y]的灰度值。
圖像灰度值取值范圍為0~255,而在式(1)中,[Rx,y]的運算值可能存在大于255的情況,因此需要對[Rx,y]做進一步處理,如下:
[Rx,y=255 , ? ? ? ?Rx,y≥255Rx,y , Rx,y<255] ? (2)
預處理后的目標圖像R變成了原灰度圖像的目標區域,背景為純白色的圖像,目標物體被分割出來。分割效果如圖2所示。

由于圖像的大小是影響立體匹配消耗時間的主要因素。本文獲取的圖像大小為1 600×1 200,直接進行立體匹配將耗時過長。為了提高效率,在不影響目標區域的立體匹配結果的前提下,本文設計算法對圖像進行匹配前處理:在左右目標圖像中分別自動截取包含目標物體的矩形區域圖像以減少匹配的計算量。具體過程如下:對經圖像預處理后的左右圖像R使用最小矩形自動包圍目標物體的算法,用Rect_L(Xl,Yl,Wl,Hl)表示左圖像最小矩形框,用Rect_R(Xr,Yr,Wr,Hr)表示右圖像最小矩形框。其中X,Y表示矩形框左上角在圖像中的橫、縱坐標,W和H表示矩形框的寬度和高度。

立體匹配時,待配準圖像(右圖像)的有效匹配區域從第numDisparites列開始,所以待匹配圖像目標物體左側需空出numDisparites列。用Rect_ROI(Xroi,Yroi,Wroi, Hroi)表示算法自動截取的區域,各變量的數值計算如下:
[Xroi=Xr-numDisparites] ?(3)
[Yroi=Yl] ?(4)
[Wroi=Xl+Wl-Xroi] (5)
[Hroi=Hl] ? (6)
自動截取下來的左右圖像背景區域都是純白色,此時若直接進行立體匹配會產生較大誤匹配,且大部分是背景與背景的誤匹配(純白背景無紋理特征)以及背景與目標物體的誤匹配,后續得到的三維點云也會存在許多噪點。因此需要對截取的左右圖像進行算法處理:將其中一張圖像背景灰度值為255的像素點全賦值為0(背景由白變黑),以此減小背景之間的誤匹配。通過實驗發現僅改變右圖像背景得到較少的誤匹配,得到的圖像如圖3所示。

1.2 ?立體匹配及視差處理
本文使用OpenCV庫中的半全局塊匹配(Semi?global block matching,SGBM)算法對經過預處理的左右圖像進行立體匹配得到視差。經SGBM立體匹配后的視差圖如圖4a)所示,圖中灰度越大(顏色越白),表示視差值越大,該點距離相機越近,從圖中可以看到因左右相機視角不同導致邊緣處產生誤匹配,使目標物體部分邊緣出現灰度突變嚴重的情況。

因為生成的視差是以左圖像為基礎獲得的,為消除邊緣處部分誤匹配,以左圖像為基礎修改視差矩陣,修改視差值:
[Dx,y=0 , ? ? ? ? ? ? ?Lx,y=255Dx,y , Lx,y≠255] ? ?(7)
式中:[Lx,y]表示左圖像任意點[x,y]的灰度值;[Dx,y]表示視差矩陣任意點[x,y]的視差值。從圖4b)中可以發現處理后得到的視差圖灰度突變的情況減少了,為后續生成低噪點三維點云打下很好的基礎。
1.3 ?單一角度下目標三維點云獲取
三維點云中各點的坐標是通過將立體匹配得到的視差與雙目標定得到的重投影矩陣進行運算所得。本文所采用的重投影矩陣[13]為:
[Q=100-cx010-cy000f00-1Tx0] ? ? ? ? ?(8)
式中:cx表示主點在左圖像中的x坐標;cy表示主點在左圖像中的y坐標;f表示立體標定后計算得到的焦距;Tx表示兩相機的基線距離。給定一個二維齊次點(x,y)和其關聯的視差d,可以將該點投影到三維中,如下:
[Qxyd1=XYZW] ? ? ? ? ? ? ?(9)
該點的三維坐標為([XW,YW,ZW])。
本文通過自動截取圖像得到的視差矩陣,不能直接用來計算三維坐標。因此要先將視差矩陣還原到與原圖像一樣大小的矩陣的對應位置上再進行運算方可得到圖像所有點的三維坐標。
本文對各角度下采集到的圖像分別進行單一角度下的三維點云獲取,設計不對背景進行預處理和視差做后處理的對比試驗,生成的點云圖效果對比如圖5所示。因為篇幅有限,同一角度下任意選取2組效果圖作為對比,由此可得出結論:直接對原圖進行立體匹配,不對視差進行處理,得到的點云有很多噪點,如圖5a)所示;而使用本文方法得到的三維點云噪點較少,目標物體表面的點云分布均勻,無明顯的點云缺失,質量較高,如圖5b)所示。說明該方法得到的點云可使用性較高。

1.4 ?目標完整三維點云獲取
為了得到目標完整的三維點云,需要對不同角度獲取的點云進行配準,本文采用的是算法過程簡單并且配準精度較高的迭代最近點算法(Iterative Closest Point,ICP)[14]。ICP算法完成配準的流程如下:
1) 讀取模型點云X和目標點P,點集中點的個數分別為NX,NP;
2) 在模型點云X中尋找與目標點云P中每一點pi最近的對應點xi,并組成新的點集[X],其中[X∈X];
3) 分別計算模型點云子集[X]、目標點云P的重心μP,μX,兩點云的協方差矩陣[CovXP];
4) 由點集[X],P的協方差矩陣[CovXP]構造4×4的對稱矩陣[Q(CovXP)];
5) 計算矩陣[Q(CovXP)]的特征向量,其中最大特征值所對應的特征向量即為用單位四元數表示的最優旋轉向量[qR],進而計算最優平移向量[qT];
6) 將流程5)中的剛體變換矩陣[qR],[qT]作用于目標點云[X]得到變換后的新點云集和[Xk],計算新位置的目標點云[Xk]與模型點云[P]的平均歐氏距離平方和[dk];
7) 若目標點云[Xk]與模型點云[P]的差異[dk]的變化小于給定閾值[τ],即[dk]<[τ],終止迭代,否則返回流程2),直至滿足[dk]<[τ]。
在對點云進行ICP兩兩配準之前最重要的是提取點云關鍵點和對關鍵點進行特征描述,然后在兩片點云中尋找相似特征,確定重疊部分并估計對應點對。本文對待配準點云使用PCL提供的有關點特征直方圖(PFH)描述子的算法[15]進行點云特征描述與提取,使用kd?tree最近鄰搜索法進行對應估計。
本文對特征描述與對應估計得到的點集對使用ICP方法計算兩個點集之間的旋轉平移來對原點云進行拼接,將拼接好的點云作為新的點云,與下一片點云使用同樣的方法進行拼接,最后獲得目標物體完整的三維點云。完成ICP配準后獲取的物體完整三維點云經點云下采樣后的效果如圖6所示。

本文搭建的實驗平臺如圖7所示。該平臺主要包括兩個高分辨率的CCD工業相機(分辨率:1 600×1 200,鏡頭焦距為8 mm)、臺式電腦(嵌入以Visual Studio 2013為編程環境的軟件系統)、供圖像采集的目標物體、承載目標的可旋轉轉臺、背景擋板。本文設計的算法被開發成完整的軟件系統,構建了人機交互界面將算法封裝,系統界面如圖8所示。

本文以有復雜形狀的機械零件齒輪為例,通過旋轉轉臺采集目標物面對相機0°~360°以30°為角度間隔的12對圖像對,通過本文算法處理獲得的點云效果良好,具有實用性。隨著角度的增多,獲取點云時間將增加,因此可根據實際中對時間和點云質量的不同要求采集多角度圖像對。

三維點云的獲取在各領域都有比較深刻的意義:以工業生產中視覺機器人抓取工件為例,工件的三維點云數據為獲得工件準確的三維位置以及姿態,并指導機器人抓取工件提供依據;該技術在智能檢測和逆向工程中也是重點和難點。本文從搭建平臺到可實現算法的研究,實驗證明本文方法能夠較快獲取復雜形狀目標的完整三維點云,為三維定位、姿態估計以及三維重構的研究打下良好基礎。本文自主搭建的實驗平臺可采集的圖像范圍有限,暫時只適用于小目標作為對象的情況,但目標形狀復雜,有一定代表性和拓展性,可參考其原理擴大搭建平臺或在生產線上使用。如何對獲取的三維點云進行進一步有效處理是下一步研究工作的重點。
注:本文通訊作者為鄒湘軍。
參考文獻
[1] 汪漢云.高分辨率三維點云目標識別技術研究[D].長沙:國防科技大學,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] 賈高杰,邱崧,蔡茗名,等.三維點云重構和體顯示在醫學輔助診斷中的應用[J].中國醫學物理學雜志,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] 李文怡,張蜓,楊潔.三維掃描及快速成型技術在文物修復中的應用[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] 周勇飛,徐昱琳,呂曉夢,等.基于雙目的三維點云數據的獲取與預處理[J].計算機技術與發展,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].農業工程學報,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] 李洪艷,曹建榮,談文婷,等.圖像分割技術綜述[J].山東建筑大學學報,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] 布拉德斯基,克勒.學習OpenCV[M].于仕琪,劉瑞禎,譯.北京:清華大學出版社,2009.
BRADSKI G, KAEHLER A. Learning OpenCV [M]. YU Shiqi, LIU Ruizhen, translation. Beijing: Tsinghua University Press, 2009.
[14] 王欣,張明明,于曉,等.應用改進迭代最近點方法的點云數據配準[J].光學精密工程,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.