?

一種基于RGB—D相機的農機三維點云拼接方法

2016-12-21 13:06譚雅斯張建敏
電腦知識與技術 2016年28期
關鍵詞:對應點角點棋盤

譚雅斯+張建敏

摘要: RGB-D相機,例如微軟的Kinect是一種比較新的傳感器系統,它可以在得到RGB圖像的同時得到每個像素的深度信息。這篇文章利用RGB-D相機獲得的三維點云,提出一種基于投影圖像獲取匹配點加速ICP迭代的點云拼接的方法,解決由于計算機顯存的限制,普通PC機上不能一次性獲得較大模型的情況。并實驗證明了這種拼接算法的可能性。這些模型可以運用到農機的真實感三維交互,虛擬現實,增強現實三維模型逆向工程等多個領域。

關鍵詞:RGB-D傳感器;相機標定;KinectFusion;SURF;RANSAC

中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)28-0256-04

Abstract: RGB-D cameras are novel sensing systems that capture RGB images along with per-pixel depth information. In this paper we use RGB-D cameras to acquire 3D Point cloud model and propose a projected image based matching point searching method to accelerate ICP iteration in point clouds registration, and solved the GPU memory limitations which unable to get a large model point cloud model in one-time on an ordinary PC. The experimental results proved the possibility of this algorithm. These models can be applied to the agricultural realistic 3D model interaction, virtual reality, augmented reality and 3D model reverse engineering.

Key words: RGB-D sensor; Camera Calibration; KinectFusion; SURF; RANSAC; ICP

1 引言

1.1 RGB-D相機

沉浸式虛擬現實體驗很重要的一個任務就是建立豐富真實感的三維模型。RGB-D相機就是一種傳感器系統,它可以在得到RGB圖像的同時得到每個像素的深度信息。我們采用的kinect2.0[1]主要采用飛行時間[2.3]法獲得大量像素的深度值估計。近些年來廣泛被計算機視覺團隊用于研究使用,實際上RGB-D相機系統主要的發展動力與應用在于電腦游戲與家庭娛樂設備。

圖1,2,3顯示了RGB-D相機的采樣圖,它在三維重建里有幾個明顯的缺陷:深度圖距離有限制,(一般大于0.5m小于5m),估計的深度圖噪聲明顯,相比專業三維掃描儀的視角比較?。ㄐ∮?0°)。這篇文章中我們將介紹基于RGB-D相機獲得的三維點云,提出一種彩色點云拼接的方法。

1.2點云拼接

拼接方法中最廣泛應用的是由Paul.J.等人提出的迭代最近點(Iterative Closest Point-ICP)算法[4],由于它需要于一個初始位置,步驟將拼接分為粗拼接和精確拼接。對于比較大規模的點云,粗拼接一般用三點法或多點法獲得點云的初始位置,精確拼接則使用最短距離匹配對應點的ICP算法,迭代直至誤差范圍之內。實踐證明該算法一定程度上是解決拼接問題的有效方法,它通過迭代點的距離和變換使兩片點云之間的距離均方誤差最小。該算法的關鍵技術是快速查找最近點,較好的初始位置定位和求解變換。對點云建立KD樹的話,可以加快對應點對的查找,人工判斷若干個點也可以使得點云具有較好的初始位置?,F在的配準算法大多都是基于此基礎上進行改進的。ICP算法研究改進的主要目標是解決優化兩個問題:良好的初始值和在迭代過程的精確的對應關系。確立正確對應點,剔除噪聲點對也是改進的關鍵。此外,如何提高對應點對的搜索效率也很重要。

2 算法基礎

實時的三維重建算法是近幾年虛擬現實領域的研究熱點,在眾多算法中, NewCombe[5]和Izadi[6]提出的KinectFusion實現實時重建,提出利用截斷符號距離函數算法(TSDF)[7]來表達三維場景,其基本原理是首先利用傳感器采集得到的深度圖,彩色圖和深度相機標定的相機參數,用ICP[2]快速投影算法配準。KinectFusion算法有如下問題,(1)設定的三維網格的大小限制內存,從而影響場景的尺度。(2)大量的計算依賴于GPU(Graphic Processing Unit)并行計算。

本算法主要分成四個階段,第一階段:利用Kinecfusion獲取有重疊區域的兩次單幀三維點云,分別以此兩幀為起始幀移動kinect獲得更大模型,共計四個模型。第二階段:利用相機標定確定相機內參矩陣,使用內參矩陣投影兩次單幀三維點云成RGB圖像。第三階段:對二維圖像預處理,利用surf算法快速獲得兩次投影的二維圖像對應點,并利用改進的RANSAC剔除錯配。第四階段:利用二維圖像的對應信息返回投影之前三維點的對應信息,給ICP算法一個很好的初始值迭代求解最優變換矩陣應用到兩個大模型,從而得到拼接以后的模型。

2.1相機標定

為了標定相機,需要拍攝三維場景中坐標已知的一組。然后,必須確定這些點在圖像中的位置。顯然,為了得到精確的結果,我們需要觀察多個點。事實上為了求解方程需要至少五對對應點。來求解以下方程的內參與外參數:

一種方法是拍攝由許多已知點組成的場景。為了方便也可以從不同角度多次拍攝一組點。Opencv使用棋盤圖來生成一組三維點,每個點都位于方塊的角點處。由于這是平面圖案,我們可以假設棋盤位于Z=0的平面上,而X軸和Y軸與網絡對齊。標定的過程中,我們從不同視角展示棋盤圖案。Opencv提供自動檢測棋盤中角點的函數。需要提供一幅圖像以及棋盤的尺寸(水平方向及垂直方向內部角點的個數)該函數返回棋盤角點在圖像中的位置。同時有用于在棋盤圖像上繪制檢測到角點的函數,通過直線依次將他們相連,連接角點的直線展示了角點在向量中的順序。為了標定相機,我們需要同屬輸入圖像點以及對應的3D點。標定過程封裝在Camera Calibrator中。如前所述,只要我們將坐標系放置于棋盤上,那么角點的3D坐標可以輕易確定。利用這些對應關系可計算標定參數。10-20幅棋盤圖像便足夠,但是它們必須是不同距離不同視角進行拍攝。由于透鏡的影響實際上應考慮相機畸變參數,Opencv考慮到這種情況,也提供了校正畸變的函數。

2.2投影與特征匹配

我們利用獲得的參數與公式(2)得到二維的投影坐標(圖4),和每個像素的RGB值,農機三維模型投影成的二維圖片如(圖5)所示。為了提高圖像的質量,增加正確匹配特征點個數,我們使用了Telea在2004年提出的基于快速行進的修復算法[7]對圖像進行修補。并且使用surf[8]算法尋找圖像特征點(圖6),然后是使用RANSAC[9]剔除錯配。

成比例調整fx,fy可沿Z軸調整移動投影面。但并不是投影越大越好,因為讀入的是離散點云,點云總數確定,投影圖越大獲得的圖越稀疏,并不利于后面使用surf算法尋找圖像特征點。我們測試了垂直與光軸的幾個平行投影面的投影圖匹配效果如圖7所示。從左至右fx,fy依次減小。錯誤匹配是因為fx,fy太大造成修補算法插值過多,影響到圖片精度,隨著匹配點的減少正確率越來越高,但匹配點過少也不利于ICP迭代求解旋轉矩陣。通過優先尋找周圍四個像素,剔除空洞點的方法可以解決投影到二維圖像是亞像素級的問題。

2.3獲得良好ICP初始位置迭代求解

基于Paul.J.的ICP點云拼接改進算法是假設有兩片點云和P和Q具有相似重疊部分,通過之前步驟二維像素與三維點具有對應關系,所以P中的特征點可以直接對應到Q中的則m=n。對于P=RQ+T,優化問題即是求解非線性最小二乘問題:

步驟如下:

1) 初始化旋轉矩陣 為單位陣,平移矩陣 (為零矩陣。

2) 利用公式(4)(5)求出點集P、Q的質心。

3) 根據公式(6)(7)求出點集P、Q相對于各自質心的平移量,得到新點集、

4) 利用公式(8)求出兩個新點集的3x3協方差矩陣H.

5) 對H矩陣進行奇異值分解,其中矩陣D是一個對角矩陣,

6) 定義矩陣 如果rank(H)>1,則可以得到第j次迭代時,平移矩陣

7) 由于對應點的選取基于二維圖像對應點。誤差很小,因此大大減小的原始ICP迭代次數,很快使得誤差最小,迭代結束。實驗性拼接結果如圖8所示.

8) 性拼接結果如圖8所示。

3 結語

本文提供了一種彩色點云基于RGB信息投影至二維得以拼接的方法。速度的提高主要是相對于建立KD樹的方法加速了正確匹配點尋找過程。不過該算法也存在以下缺陷:1)模型必須帶有顏色;2)模型必須完整,否則投影照片大部分空;3)模型相交處紋理豐富,紋理信息的豐富程度主要取決于深度圖與彩色相機的合并對齊圖,如果該模型沒有紋理信息或者紋理信息比較單一(純白色的墻面),可能會影響拼接效果。硬件上深度相機的精度也影響到了模型的匹配的準確度。相信從軟硬件上同時提高,該算法的效果會更加魯棒。

參考文獻:

[1] Microsoft.http://www.xbox.com/en-US/kinect,2010.

[2] Canesta.http://www.canesta.com/.

[3] Mesa Imaging.http://www.mesa-imaging.ch/.

[4] P. J. Besl and N. D. McKay. A method for registration of 3D shapes. IEEE Trans. Pattern Anal. Mach. Intell., 14:239–256,February1992.

[5] S. Izadi, D. Kim, O. Hilliges, D. Molyneaux, R. A. Newcombe, P. Kohli, S. Shotton, J. Hodges, D. Freeman, A. J. Davison, and A. Fitzgibbon. KinectFusion: Real-time 3D reconstruction and inter action using a moving depth camera. In Symposiumon UserInterface Software and Technology (UIST), 2011.

[6] R. A. Newcombe et al. KinectFusion: Real-time dense surface mapping and tracking.

[7] An Image Inpainting Technique Based on the Fast Marching Method.《Journal of Graphics Tools》,2004,9(1):23-34

[8] H Bay,T Tuytelaars,LV Gool.SURF: Speeded Up Robust Features, Computer Vision & ImageUnderstanding》,2006,110(3):404-417.

[9] M. Fischler and R. Bolles, Random sample consensus: A paradigm for model fitting with application to image analysis and automated cartography, Comm. Assoc. Comp. Mach.24, 1981:381-395.

[10] 朱笑笑,曹其新,楊揚,等. 一種改進的KinectFusion三維重構算法[J].機器人,2014(2):129-136.

猜你喜歡
對應點角點棋盤
凸四邊形的若干翻折問題
三點定形找對應點
“一定一找”話旋轉
基于邊緣的角點分類和描述算法
比較大小有訣竅
基于圓環模板的改進Harris角點檢測算法
基于Harris角點和質量評價的圖像篡改檢測
棋盤疑案
棋盤游樂園
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合