王亞琪?k陳成軍++李希彬++李全寶
摘要:使用Kinect采集的深度數(shù)據(jù),進行了軸類零件三維重建算法的研究。首先借助Kinect獲取深度和彩色數(shù)據(jù),通過坐標轉(zhuǎn)換將深度信息轉(zhuǎn)換成三維點云數(shù)據(jù);其次提取出感興趣目標的點云數(shù)據(jù),根據(jù)點云數(shù)據(jù)的噪聲特點,并對其進行濾波降噪處理;然后進行點云分割獲得點云集,最后對各點云集進行結(jié)構(gòu)參數(shù)化分析。實驗結(jié)果表明,本文算法能夠精確、高效地實現(xiàn)軸類零件的重建。
關(guān)鍵詞:Kinect;三維重建;三維點云;點云分割
中圖分類號:TP391文獻標識碼:A
1引言
三維重建技術(shù)是指通過計算機數(shù)字化手段,對客觀世界中的三維實體建立數(shù)學(xué)模型的過程,它是計算機視覺、人工智能、虛擬現(xiàn)實等前沿領(lǐng)域的熱點和難點。隨著立體視覺技術(shù)的發(fā)展,激光雷達和三維掃描儀等設(shè)備逐漸出現(xiàn),常見有手持激光系統(tǒng)和TOF相機,手持激光系統(tǒng)發(fā)射激光感測距離值,需多次掃描獲取數(shù)據(jù),且通常需要搭配額外裝置。TOF相機通過時間換算得到深度數(shù)據(jù),但價格昂貴、數(shù)據(jù)計算量過大。
微軟推出的Kinect[1]深度傳感器采用光編碼技術(shù)通過紅外定位獲取物體的RGBD信息,由于其擁有廣泛的應(yīng)用潛力而在近兩年備受人們關(guān)注,許多學(xué)者利用Kinect對三維重建技術(shù)展開了深入研究。2011年微軟官方驅(qū)動Kinect for Windows SDK1.7[2]中引入了Kinect Fusion[3-4]功能,在支持GPU加速的開發(fā)環(huán)境中,該技術(shù)可以對物體進行三維建模,實時性強。通過手持Kinect對物體環(huán)繞一周掃描,幾秒鐘后就能創(chuàng)建足夠平滑的重建的靜態(tài)場景,產(chǎn)生點陣云以及3D表面模型。Chatterjee[5]創(chuàng)建了一個基于Kinect的幾何一致的三維模型系統(tǒng),首先利用雙邊濾波器平滑深度圖,采用ICP全局配準實現(xiàn)對視角數(shù)據(jù)的拼接,最后求解符號距離函數(shù)完成完整的三維模型。2013年,Daniela[6]提出了重建3D數(shù)字化模型的解決方案,利用Kinect獲取數(shù)據(jù),基于HIS的顏色分析算法分割數(shù)據(jù),基于數(shù)據(jù)的形狀特征與組件庫里的虛擬元件比較識別3D對象,從而創(chuàng)建一個可靠地3D模型。在國內(nèi),劉鑫[7]等人提出了一種基于Kinect并借助GPU的全自動快速物體重建方法。葉日藏[8]利用Kinect對數(shù)據(jù)獲取、預(yù)處理、多視角配準、點云融合進行了理論分析,完成了對日常生活物品的數(shù)字化重建。然而,由于Kinect本身獲取數(shù)據(jù)的精度不高,噪聲大,質(zhì)量低,其數(shù)據(jù)的不完整性和二義性往往不能滿足機械類零件重建的要求。
本文通過 Kinect 深度傳感器采集深度信息,并將其應(yīng)用于機械軸類零件掃描重建,針對過程中出現(xiàn)的數(shù)據(jù)噪聲問題,本文采用一種快速雙邊濾波器將其對二維圖像處理擴展到對三維點云數(shù)據(jù)進行去噪操作。針對聚類分割不適于具有相似形狀的軸類零件,點云分割誤差大這一不足,本文通過計算點云數(shù)據(jù)的法向矢量及曲率,對聚類分割算法進行改進,將軸類零件點云數(shù)據(jù)分割成不同點云集,提高了算法性能并使結(jié)果更加精確。針對Kinect的精度問題,本文對分割后的各個點云集進行結(jié)構(gòu)參數(shù)化分析與識別,從而重建出完整的三維模型。
2總體設(shè)計方案
本文利用Kinect深度傳感器作為輸入設(shè)備,對三維重建流程中的數(shù)據(jù)獲取、預(yù)處理、點云分割、結(jié)構(gòu)分析進行了研究及理論分析,提出了一個基于Kinect深度傳感器的三維重建方案:首先,借助 Kinect 獲取深度和彩色數(shù)據(jù),通過坐標轉(zhuǎn)換獲得目標物體表面每個點的三維空間坐標,以此形成一個點的集合—點云。其次,根據(jù)圖像內(nèi)容的屬性和特點,將圖像分割成各個區(qū)域,并提取出感興趣目標的點云數(shù)據(jù)。并根據(jù)深度數(shù)據(jù)的噪聲特點,分析比較幾種濾波算法,優(yōu)化選擇一種雙邊濾波算法對三維點云數(shù)據(jù)進行降噪平滑處理。然后,估計過濾后點云的表面法線并計算每個點云的曲率,進而實現(xiàn)基于法線和曲率的點云分割。最后對軸類零件的各個點云集進行結(jié)構(gòu)參數(shù)化分析并顯示。三維重建流程如下圖:
3三維點云數(shù)據(jù)獲取與預(yù)處理
3.1深度圖像與彩色圖像的獲取
Kinect傳感器通過發(fā)射紅外光利用彩色和深度攝像頭采集原始數(shù)據(jù),兩種數(shù)據(jù)結(jié)合生成三維數(shù)據(jù)。由于Kinect內(nèi)部已對深度攝像頭和彩色攝像頭進行了徑向畸變的矯正處理,則可以將捕捉的深度數(shù)據(jù)和彩色信息直接應(yīng)用于生成三維點云數(shù)據(jù)。從深度攝像頭獲取的紅外數(shù)據(jù),分別代表深度圖像坐標系統(tǒng)的 X、Y、Z 坐標,Z坐標值表示某點到鏡頭的深度值。圖2顯示由 Kinect 獲取的彩色圖像和原始深度圖像。
由于深度攝像頭和彩色攝像頭在Kinect中的位置不同,兩者采集數(shù)據(jù)的角度不同,得到的原始數(shù)據(jù)的坐標在水平方向存在一定的偏差。通過 OpenNI 的校正函數(shù)可修正兩個相機產(chǎn)生的視差問題,使得目標物兩種圖像對齊到相同的位置,為后續(xù)的點云處理提供可靠數(shù)據(jù)。校準后的兩圖像視角一致,如圖3所示:
通過與之前未校準的結(jié)果相比,可以發(fā)現(xiàn)校準后的結(jié)果周圍的黑邊明顯比較大,同時也有一些幾何上的修正(四邊有稍微內(nèi)凹),這是因為將深度攝像頭的視角調(diào)整為彩色攝像頭的視角,這樣兩幅圖像的內(nèi)容就完全一致,沒有偏差。
6實驗結(jié)果與分析
本文使用c++編程對聚類分割進行了改進,實現(xiàn)了基于法線和曲率特征的分割算法,比較兩種算法的實驗結(jié)果圖9和圖11可知,在處理具有相似特征的大數(shù)據(jù)時,聚類分割算法粗糙,分割結(jié)果誤差大。本文算法通過對點云數(shù)據(jù)的法線估計與曲率計算,將軸類零件精確分割成四部分如圖11(a)(b)(c)(d),本文算法在分割性能與精度上遠遠優(yōu)于原始聚類分割算法。針對分割后的零件各點云集,本文對其分別進行結(jié)構(gòu)參數(shù)分析,結(jié)果如下:
由表1結(jié)果看出,與軸類零件實際測量結(jié)果相比,本文算法得到的實驗結(jié)果誤差在毫米級,與實際偏差很小,尚在允許范圍內(nèi),滿足工業(yè)需求。至此本文將軸類零件分割成4個點云集,并識別其模型類型和參數(shù)計算,準確進行了結(jié)構(gòu)分析,將最初采集的單視角、噪聲大、誤差大的不完整數(shù)據(jù)轉(zhuǎn)化為平滑且高質(zhì)量的完整的點云數(shù)據(jù),為后續(xù)三維重建提供可靠保證的點云集。
7結(jié)論
本文利用kinect實現(xiàn)了軸類零件的三維重建技術(shù)。由于kinect自身技術(shù)原因,采集的三維點云數(shù)據(jù)精度低噪聲大且不完整。首先利用雙邊濾波算法對數(shù)據(jù)進行降噪平滑處理,然后針對現(xiàn)有的聚類分割,提出了一種改進的分割算法。新算法分析了點云的法線和曲率特征,結(jié)合聚類思想將零件數(shù)據(jù)精確分割為4個點云集。實驗表明新算法的分割性能遠遠優(yōu)于原始聚類分割算法。最后本文對各部件進行結(jié)構(gòu)參數(shù)化分析與識別,提高了數(shù)據(jù)質(zhì)量和精度,從而重建出完整可靠地軸類零件。
參考文獻
[1]Microsoft Kinect[EB/OL].http://www.xbox.com /en-us/kinect.
[2]Introducing Kinect for Windows[EB/OL]. (2013)[2013-8-20].http:// www.k4w.cn/.
[3]Newcombe R A,Izadi S,Hilliges O,et al. KinectFusion: Real-time dense surface mapping and tracking:Proceedings of the 2011 10th IEEE International Symposium on Mixed and Augmented Reality,2011[C].IEEE Computer Society.
[4]余濤.Kinect應(yīng)用開發(fā)實戰(zhàn)用最自然的方式與機器對話[M].北京: 機械工業(yè)出版社, 2013.
[5]Chatterjee A,Jain S,Govindu V M.A pipeline for building 3D models using depth cameras:Proceedings of the Eighth Indian Conference on Computer Vision,Graphics and Image Processing,Mumbai,India,2012[C].ACM.
[6]Daniela Alexandra,Esteves Gil Borges.3D Object Reconstruction Using Kinect[J].2013.
[7]劉鑫,許華榮,胡占義.基于GPU和Kinect的快速物體重建[J].自動化學(xué)報,2012(08);1288-1297.
[8]葉日藏.基于Kinect深度傳感器的三維重建技術(shù)應(yīng)用研究[D].廣州:華南理工大學(xué), 2013.
[9]TOMASIC,MANDUCHI R.Bilateral filtering for gray and color image[C]//Proc of the 6th International Conference on Computer Vision.1998:839-846.
[10]Rusu R.Semantic 3D Object Maps for Everyday Manipulation in Human Living Environments[J].KI-Kunstliche Intelligenz,2010,24(4):345-348.
[11]R.I.Hartley and A.Zisserman.Multiple View Geometry in Computer Vision[C].Cambridge University Press,second edition,2004.ISBN 0521540518.