信寄遙 陳成軍 李東年



摘? ?要:為了低成本且高效的實現對機械零件的三維重建和參數測量,研究了利用RGB-D相機從6個角度拍攝機械零件,獲得零件不同角度的深度圖像與彩色圖像,通過坐標轉換將深度圖像轉換成點云數據。首先利用濾波算法去除點云噪聲,分割出機械零部件的點云數據,并利用PCA主成分分析法計算點云數據的法向量;使用最近點迭代算法(ICP)實現相鄰三視角點云數據的配準,得到正背面的點云,將正背面點云進行旋轉融合得到最終的目標點云數據;最后使用泊松重建算法得到完整閉合的零件三維模型。實驗結果表明本文的三維重建方法具有較好的魯棒性和準確性,重建得到的三維模型細節清晰,點云誤差較小。
關鍵詞:三維重建;點云配準;模型重構;最近點迭代算法;Kinect
中圖分類號:TP391.4? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻識別碼:A
3D Reconstruction of Mechanical Parts Using Multi-view RGB-D Images
XIN Ji-yao,CHEN Cheng-jun?,LI Dong-nian
(School of Mechanical & Automotive Engineering,Qingdao University of Technology,Qingdao,Shandong 266520,china)
Abstract:In order to realize the 3D reconstruction and measurement of surface parameters of mechanical parts with low cost and high efficiency,the mechanical parts are taken from 6 angles by RGB-D camera,and the depth and color images of different angles of mechanical part are obtained,and the depth image is converted to point cloud data by coordinate transformation. firstly,the filtering algorithm is used to remove the point cloud noise,and segment the point cloud data of the mechanical components. And Principal Component Analysis (PCA) is ued to calculate the normal vector of the point cloud data. Secondly,by the Iterative Closest Points(ICP)method,the registration of the adjacent three-point point cloud data is realized. So the point cloud on the back side,is rotated and fused to obtain the final target point cloud data. Finally,the Poisson reconstruction algorithm is used to obtain the 3D model. The experimental results show that the proposed 3D reconstruction method has better robustness and accuracy,and the reconstructed 3D model has clear details and less point cloud error.
Key words:3D reconstruction;point cloud registration;model reconstruction;iterative closest points;kinect
三維重建技術是指通過計算機數字化手段,建立客觀世界中的三維實體數學模型的過程,在虛擬現實、計算機視覺等領域具有很多的應用。三維重建技術通過計算機對采集到的物體點云數據進行數字化建模,將物體的三維信息存儲到計算機中,通過獲取的物體三維信息可以對物體進行精準測量和建模,為進行逆向工程或者三維建模提供數據支持[1]。利用激光掃描儀獲得目標物體的數據進行三維重建在古建筑、文物保護、工業零件測量等領域具有廣闊的應用前景[2-6]。但是現今的激光掃描儀或者TOF相機在價格上非常昂貴,對于工業上單一零件的測量成本過高,所以低成本且精確的三維掃描技術就有了應用的空間。
在三維重建方面,Nieβner[7]等實現了基于高效的存儲數據結構的大規模且精細的實時三維重建系統,提高了三維重建技術在大規模環境中應用的性能與質量;Izadi[8]等實現了實時的三維重建系統Kinect Fusion,但是該方法不能適應快速移動的應用場景,且會產生較大的噪聲;Fan[9]等改進了現有的深度神經網絡生成三維數據的方法,提出了一個條件形狀采樣器,能夠從輸入圖像預測多個合理的三維點云;Tatarchenko[10]等改進了編碼器-解碼器網絡構建三維結構的方法,建立了兩種分別執行圖像分類和檢索的替代方法,實現了較好的結果。
選用的三維重建示例為減速器箱體的上殼體,箱體類零件一般是指具有一個以上孔系,內部有一定型腔或空腔,在長寬高方向上有一定比例的零件。箱體類零件在機械、汽車、航空航天等行業受到了廣泛應? 用,例如汽車的發動機缸體、汽車減速器的箱體;各類機床的主軸箱等。箱體類零件將機器或部件中的軸、套、齒輪等有關零件組成一個整體,使他們之間保持正確的相互位置,并且按照一定的傳動關系協調的傳遞運動或者動力。因此,箱體的加工質量會直接影響整個機器或部件的精度、性能和壽命。
提出了一種低成本、高精度的機械零部件三維重建數字化方法。首先固定住RGB-D相機使其不能移動,按照一定角度(60°)旋轉箱體零件,通過RGB-D相機采集到的箱體零件在六個視角下的彩色和深度圖像,對采集到的圖像進行預處理得到六個視角下的點云數據,然后通過兩次配準和融合點云數據得到完整的零件點云。此外,對基于該三維重建方法得到的箱體點云進行泊松重建處理,得到箱體零件的三維模型。
1? ?基于RGB-D相機的重建流程
實現多視角機械零部件三維重建主要在于將多個視角分別配準為正面與背面點云然后進行二次配準,整體算法的流程圖如圖1所示。
利用RGB-D相機進行三維重建時,首先要獲取機械零部件每個視角的深度圖像與彩色圖像,然后轉換得到六個視角的三維點云數據;分別對三個視角的點云進行ICP配準得到正面以及背面點云,計算中心點進行旋轉融合得到零件點云;最后用泊松重建算法得到零件的三維模型。
1.1? ?實驗設備與信息采集
使用的RGB-D設備為Microsoft Kinect V2 3D體感攝像機,以齒輪減速器箱體為實驗對象,研究機械零部件的多視圖三維重建。
如圖2、3所示,使用Kinect V2攝像機對減速器箱體進行拍攝,距離約為70 cm,從6個角度對減速器箱體的點云數據采集完成后,按確定的順序手動旋轉放置減速器箱體的底座約60°,對減速器箱體的下一個角度進行采集,直到完成6個角度的點云數據采集。每個視角分別獲取5幀的深度圖像(424像素*512像素)與彩色圖像(1080像素*1920像素),處理得到點云數據
1.2? ?點云數據的獲取
1.2.1? ?采集范圍的設置
在利用Kinect傳感器采集點云數據之前利用PCL增加條件設置(add Comparison)過濾掉非條件設定范圍的點云,防止環境點云產生過多的干擾。Kinect傳感器拍攝視角的坐標軸如圖4所示。對于Z值范圍設置為:0.001 m 1.2.2? ?深度圖像轉換為三維點云 如圖4所示,深度圖像轉換為三維點云的過程就是圖像點m(u,v)映射到世界坐標系點M(xw,yw,zw)的過程,轉換公式表達如下: 其中u、v為圖像坐標系下的任意坐標點。u0、v0分別為圖像中的中心坐標。xw,yw,zw表示世界坐標系下的三維坐標點。zc表示相機坐標的Z軸值,即目標到相機的距離。R、T分別為外參矩陣的3*3旋轉矩陣和3*1平移矩陣。 由于世界坐標原點和相機原點是重合的,即不需要旋轉和平移,因此 由于相機坐標系和世界坐標系原點重合,因此相機坐標與世界坐標下的同一物體具有相同的深度,即zc = zw,所以由以上變換矩陣可以得到圖像點 [u,v]T到世界坐標點[xw,yw,zw]T的變換公式為: 由于Kinect傳感器自身噪聲和跳動的問題,導致同一視角采集到的深度圖像數據有不同程度的變化。在1 s內拍攝5幀彩色與深度圖像進行融合,可以有效地消除Kinect自身的噪聲和跳動問題,并且可以優化點云數據的處理效果。本文處理融合后的深度圖像得到的點云數據每幅約39000個點。 1.3? ?濾波處理及法向量計算 1.3.1? ?地面點云的去除 Kinect傳感器在采集點云數據的時候會將設定范圍內的地面連同減速器箱體及底座全部采集并生成點云,而在后續進行點云配準和融合的時候地面點云將會干擾法相計算以及配準,所以需要將地面點云提前去除掉。選用一種簡單有效地方法去除地面點云,即假設Kinect為水平放置,如圖5所示。先采集一張未放置減速器箱體及底座的點云,該點云即為地面點云。通過遍歷點云中點的三維信息,處理得到地面點云中的Y值(即縱軸)最大值YMax1,即Y值小于YMax1的點即可判定為地面點云中的點,大于YMax1的點可以判定為減速器箱體及底座點云中的點。使用該種方法能夠快速有效的去除地面點云。 1.3.2? ?處理底座與地面的點云 將底座放置在設定的目標區域內,采集得到底座和地面同時存在的點云,如圖6所示,同上對地面點云的處理一樣,假定Kinect傳感器為水平放置,通過遍歷該點云中每個點的三維信息,處理得到該點云中所有點Y值的最大值YMax2。由此可得,Y值小于YMax2且大于YMax1的點為底座的點云,Y值大于YMax2的點為減速器箱體的點云。在后續對多個視角的點云進行配準時會使用到YMax2的值。 1.3.3? ?離群點過濾 通過Kinect傳感器的測量誤差,獲得的點云數據集會產生稀疏的離群點,估計局部點云特征的運算很復雜,這些離群點會產生錯誤的數值,在后面進行搞得點云配準,本文采用條件濾波法:對每一個點的鄰域進行一個統計分析,并修剪掉那些不符合一定標準的點。該方法基于在輸入數據中對點到臨近點的距離分布的計算,對每個點計算它到它的所有臨近點的平均距離。假設得到的結果是一個高斯分布,其形狀由均值和標準差決定,平均距離在標準范圍(由全局距離平均值和方差定義)之外的點,可被定義為離群點并可以從數據集中去除掉。 [2]? ? 張瑞菊,王晏民,李德仁. 快速處理大數據量三維激光掃描數據的技術研究[J]. 測繪科學,2006,31(5):93-94. [3]? ? 金濤,陳建良,童水光. 逆向工程技術研究進展[J]. 中國機械工程,2002(16):1430-1436. [4]? ? 徐勝勇,盧昆,潘禮禮,等. 基于RGB-D相機的油菜分枝三維重構與角果識別定位[J]. 農業機械學報,2019,50(02):28-34. [5]? ? 翟瑞芳,張劍清. 基于激光掃描儀的點云模型的自動拼接[J]. 地理空間信息,2004,2(6):37-39 [6]? ? 曾月鵬. 基于三維圖像的逆向工程重構系統[J]. 現代電子技術,2018,41(20):176-179. [7]? ? NIEBNER M,ZOLLHOFER M,IZADI S,et al. Real-time 3D reconstruction at scale using voxel hashing[J]. ACM Transactions on Graphics,2013,32(6):1-11. [8]? ? IZADI S,KIM D,HILLIGES O,et al. Kinect fusion:real-time 3D reconstruction and interaction using a moving depth camera[C]//Proceedings of the 24th annual ACM symposium on User interface software and technology. ACM,2011:559-568. [9]? ? FAN H,SU H,GUIBAS L J. A point set generation network for 3d object reconstruction from a single image[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017:605-613. [10]? TATARCHENKO M,RICHTER S R,RANFTL R,et al. What do single-view 3D reconstruction networks learn[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019:3405-3414. [11]? BESL P J,MCKAY N D. A method for registration of 3-D shapes[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence,1992,14(2):239-256. [12]? BLAIS G,LEVINE,M.D. Registering multiview range data to create 3D computer objects[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,1995,17(8):820-824. [13]? KAZHDAN M,BOLITHO M,HOPPE H. Poisson surface reconstruction[C]//Proceedings of the fourth Eurographics symposium on Geometry processing,2006.