楊澤鑫,程效軍,2,丁 瓊,程小龍
(1. 同濟(jì)大學(xué)測繪與地理信息學(xué)院,上海 200092; 2. 現(xiàn)代工程測量國家測繪地理信息局重點(diǎn)實(shí)驗(yàn)室,上海 200092; 3. 廣東工業(yè)大學(xué)測繪工程系,廣東 廣州 510006)
?
面向室內(nèi)場景點(diǎn)云的對象重建
楊澤鑫1,程效軍1,2,丁 瓊3,程小龍1
(1. 同濟(jì)大學(xué)測繪與地理信息學(xué)院,上海 200092; 2. 現(xiàn)代工程測量國家測繪地理信息局重點(diǎn)實(shí)驗(yàn)室,上海 200092; 3. 廣東工業(yè)大學(xué)測繪工程系,廣東 廣州 510006)
針對當(dāng)前逆向工程中對象提取及模型重建效率較低的問題,提出了一種面向室內(nèi)場景點(diǎn)云的對象重建方法。首先構(gòu)建直通濾波器,采用改進(jìn)的RANSAC算法剔除非對象點(diǎn)云,然后根據(jù)歐氏聚類提取算法分割出各個(gè)對象點(diǎn)云,最后基于α-shape理論批量重建出對象模型。試驗(yàn)結(jié)果表明,該方法能夠從散亂的室內(nèi)場景點(diǎn)云中快速、自動地重建出代表真實(shí)對象的三維模型,具有較高的實(shí)用價(jià)值。
室內(nèi)場景點(diǎn)云處理技術(shù);點(diǎn)云分割;三維重建
虛擬現(xiàn)實(shí)技術(shù)及室內(nèi)導(dǎo)航定位技術(shù)的迅猛發(fā)展,使得對于室內(nèi)場景對象的提取及模型重建的要求也逐漸提高。目前,基于點(diǎn)云重建場景對象的三維模型仍主要依靠建模軟件(如Geomagic、3ds Max等)進(jìn)行手動構(gòu)建[1-4],代價(jià)高昂、效率較低。龔珍等直接對散亂的場景點(diǎn)云進(jìn)行三角化建模[5-6],提高了建模效率,但是建模效果不理想,并且不支持對場景中的單個(gè)實(shí)體對象進(jìn)行交互,靈活性低;SHAO T等將分割后的點(diǎn)云與模型數(shù)據(jù)庫進(jìn)行匹配以完成室內(nèi)場景語義重建[7-10],重建效果較好,但無法還原真實(shí)場景。本文提出了一種面向室內(nèi)場景點(diǎn)云的對象重建方法,旨在剔除室內(nèi)場景固有實(shí)體點(diǎn)云(如墻壁、窗戶、門等),提取獨(dú)立的對象點(diǎn)云(獨(dú)立桌、椅等家具)并進(jìn)行批量三維模型重建。
室內(nèi)場景對象的重建方法主要包括非對象點(diǎn)云剔除、對象點(diǎn)云分割以及三維模型重建,主要流程如圖1所示。
圖1 室內(nèi)場景對象的重建流程
1.1 非對象點(diǎn)云剔除
1.1.1 直通濾波器
為了提取室內(nèi)場景中的實(shí)體對象,必須先剔除非對象點(diǎn)云以避免其干擾。若天花板與地板點(diǎn)云嚴(yán)格垂直于Z軸分布,則給定范圍值[Zsc,Zsf]后,可根據(jù)式(1)構(gòu)建直通濾波器,快速過濾天花板點(diǎn)云Pc與地板點(diǎn)云Pf=Pf1;若天花板與地板點(diǎn)云近似垂直于Z軸分布,為保證家具的完整性,此處只能根據(jù)式(1)剔除天花板點(diǎn)云Pc與部分地板點(diǎn)云Pf1。
(1)
1.1.2 改進(jìn)的隨機(jī)采樣一致性算法
剩余的非對象點(diǎn)云(墻壁和殘余地板)可用平面模型表示,故可采用基于平面模型的隨機(jī)采樣一致性算法(random sample consensus,RANSAC)[11]來剔除該部分點(diǎn)云。采用傳統(tǒng)的RANSAC算法剔除Ppt中剩余的非對象點(diǎn)云,因其在Ppt中隨機(jī)采樣確定種子點(diǎn),這會產(chǎn)生點(diǎn)云過分割及循環(huán)次數(shù)增大的問題。針對非對象點(diǎn)云的分布特點(diǎn),本文基于給定精確種子點(diǎn)集的思想改進(jìn)RANSAC算法,以達(dá)到更精準(zhǔn)、快速地剔除非對象點(diǎn)云的目的。改進(jìn)后的算法步驟如下:
(1) 將輸入點(diǎn)云Ppt按Z值大小升序排列,根據(jù)給定的種子點(diǎn)集厚度值ts,按式(2)構(gòu)建殘余地板種子點(diǎn)集Psf。
Psf={psf},psf={X,Y,Zsf},Zsf∈[Zmin,Zmin+ts]
(2)
(2) 從Psf中隨機(jī)選取3個(gè)滿足式(3)的種子點(diǎn){pa,pb,pc},構(gòu)建初始平面L0:A0x+B0y+C0z+D0=0;然后計(jì)算所有數(shù)據(jù)點(diǎn)pi∈Psf至該初始模型的距離di,將符合距離閾值0≤|di|≤|ds|的點(diǎn)存入數(shù)據(jù)集Pin,統(tǒng)計(jì)Pin所含點(diǎn)數(shù)n并使用Pin重新估計(jì)平面模型;根據(jù)循環(huán)次數(shù)閾值重復(fù)執(zhí)行上述步驟,每次估計(jì)得到的平面模型均與現(xiàn)有模型進(jìn)行點(diǎn)數(shù)對比,取點(diǎn)數(shù)較大者為最優(yōu)模型;最終,算法將分割出殘余地板點(diǎn)云Pf2及其平面模型L:Ax+By+Cz+D=0。
(3)
(3) 合并兩部分地板點(diǎn)云Pf1+Pf2=Pf,采用主成分分析法(principal component analysis,PCA)[12]估計(jì)Pf表面法線{nf},并計(jì)算{nf}的平均法線nz。同理,按式(4)對剩余點(diǎn)云Pb=Ppt-Pf2進(jìn)行法線估計(jì)得到{nb},剔除{nb}中不滿足式(5)的法向量后,采用RANSAC算法估計(jì)兩條平均法線nx和ny。
(4)
nb·nz=0
(5)
(4) 按式(6)將點(diǎn)云坐標(biāo)轉(zhuǎn)換到以O(shè)(0,0,0)為坐標(biāo)原點(diǎn),nx為X*軸,ny為Y*軸,nz為Z*軸的O-X*Y*Z*坐標(biāo)系中
(6)
式中,旋轉(zhuǎn)矩陣R由9個(gè)方向余弦組成,即兩坐標(biāo)系各軸間夾角的余弦值。
(7)
1.2 對象點(diǎn)云分割
為了實(shí)現(xiàn)用戶對單個(gè)實(shí)體對象進(jìn)行交互的需求,采用歐氏聚類提取算法(euclidean cluster extraction)[13]分割多對象點(diǎn)云Pλ。該算法先將Pλ中的數(shù)據(jù)點(diǎn)分為若干初始類,然后合并具有最小距離的兩類,重新計(jì)算類與類間的距離,重復(fù)上述步驟,迭代至任意兩類間距大于給定距離閾值de為止,存儲聚類作為分割結(jié)果。即當(dāng)式(8)成立時(shí),可以稱Si={pi∈Pλ}與Sj={pj∈Pλ}是兩個(gè)獨(dú)立的點(diǎn)云聚類。
(8)
1.3 三維模型重建
在取得代表各個(gè)實(shí)體的點(diǎn)云子集后,采用基于三維Delaunay的α-shape[14-15]算法對其進(jìn)行批量重建,構(gòu)建具備形體的表面網(wǎng)格模型。該算法基于給定點(diǎn)云S,采用翻邊算法實(shí)現(xiàn)三維Delaunay四面體剖分,得到符合空球特性的四面體凸包(convex hull);然后將凸包中每一個(gè)四面體的外接球半徑ri與給定的α值作對比,剔除ri>α的四面體,留下的三維單純復(fù)形(3-simplicial complex)即為α-shape。其中,當(dāng)α=+∞時(shí),α-shape為凸包;當(dāng)α∈(0,+∞)時(shí),隨著α值的減小,α-shape先逐漸貼近模型表面,突破臨界值后又逐漸破裂;當(dāng)α=0時(shí),α-shape則退化為點(diǎn)云S本身。圖2為Stanford Bunny點(diǎn)云的α-shape效果圖,從左往右α值從+∞逐漸遞減至0。
圖2 Stanford Bunny點(diǎn)云的α-shape效果圖
為了快速獲取實(shí)景三維數(shù)據(jù),本文選用Structure Sensor作為試驗(yàn)儀器。Structure Sensor作為一款搭載于移動設(shè)備之上的便攜掃描儀,能夠快速采集三維數(shù)據(jù)并實(shí)時(shí)完成數(shù)據(jù)拼接,擁有較高的性價(jià)比。而相對于專業(yè)級三維激光掃描儀,Structure Sensor仍存在掃描距離短(0.3~5 m)、對光線要求高、數(shù)據(jù)精度低等缺陷。圖3為搭載于iPad上的Structure Sensor掃描儀。
圖3 Structure Sensor掃描儀
本文選取某教室為試驗(yàn)對象,試驗(yàn)人員在場景中央以人工手持儀器大約呈球形旋轉(zhuǎn)的方式采集數(shù)據(jù)。掃描時(shí),盡量控制起始幀正對墻壁,以獲取天花板與地板近似垂直于Z軸分布的數(shù)據(jù)。經(jīng)數(shù)據(jù)格式轉(zhuǎn)換后,獲取點(diǎn)云數(shù)量為212 112的試驗(yàn)樣本,如圖4所示。
本文在配置為CPU 2.53 GHz、內(nèi)存4 GB、Windows 10系統(tǒng)的計(jì)算機(jī)上,基于PCL庫和C++進(jìn)行算法測試。根據(jù)試驗(yàn)數(shù)據(jù)在Z軸上的分布情況,構(gòu)建Z值范圍為[2.0,4.65]的直通濾波器,剔除天花板與地板點(diǎn)云,并以白色表達(dá)剔除的非對象點(diǎn)云,結(jié)果如圖5(a)所示;考慮試驗(yàn)點(diǎn)云密度較小,精度較低,且場景中有一面墻體內(nèi)嵌多扇窗戶等因素,設(shè)置種子點(diǎn)集厚度為5 cm,距離閾值為3 cm,循環(huán)次數(shù)為100,點(diǎn)數(shù)閾值為10 000,采用改進(jìn)的RANSAC算法剔除剩余非對象點(diǎn)云,并以隨機(jī)顏色表達(dá)剔除的非對象點(diǎn)云,結(jié)果如圖5(b)所示;獲得由多個(gè)對象組成的點(diǎn)云后,設(shè)置距離閾值為5 cm,基于歐氏聚類提取算法分割出代表各個(gè)實(shí)體的點(diǎn)云子集,并以隨機(jī)顏色表達(dá)各個(gè)對象點(diǎn)云,結(jié)果如圖6所示;最后,設(shè)置α值為150,批量重建各點(diǎn)云子集,并以隨機(jī)顏色表達(dá)各個(gè)對象模型,結(jié)果如圖7所示。
圖4 原始點(diǎn)云
圖5 非對象點(diǎn)云剔除
圖6 對象點(diǎn)云分割
為了驗(yàn)證算法的有效性,采用Geomagic Studio軟件對原始點(diǎn)云進(jìn)行對象提取及三維重建,將其結(jié)果與算法成果進(jìn)行對比。在Geomagic Studio中,需要采用人工目視的方式來識別散亂點(diǎn)云所代表的實(shí)體對象,再勾選出每一個(gè)桌面和椅子,最后另存為獨(dú)立文件后再逐個(gè)進(jìn)行建模,十分煩瑣,耗時(shí)很長。由表1可以看出,本文算法與人工操作的最大點(diǎn)數(shù)差值僅為35,點(diǎn)數(shù)差值與對象點(diǎn)數(shù)的最大比值僅為1.66%,表明采用本文算法提取室內(nèi)場景的實(shí)體對象與人為操作商業(yè)軟件所得結(jié)果質(zhì)量相當(dāng)。圖8為人工操作與本文方法分別重建的部分具有代表性的對象模型,從圖中可以看出,采用本文方法的重建結(jié)果與軟件的重建結(jié)果基本一致,特別是在重建椅子時(shí),錯誤率更少,效果更好。表2列出了兩種方法的耗時(shí)對比,本文算法耗時(shí)僅為人工操作耗時(shí)的6‰。
圖7 室內(nèi)對象三維模型
圖8 人工操作與本文算法分別重建的對象模型
類型編號人工提取點(diǎn)數(shù)本文算法提取點(diǎn)數(shù)本文算法與人工提取的點(diǎn)數(shù)差值點(diǎn)數(shù)差值占比/(%)桌面141594194+350.84243304328-020.05342894286-030.07422252223-020.09526602665+050.19椅子(部分)112181225+070.57214161414-020.14317971801+040.22419831991+080.40520332067+341.66
本文提出了一種面向室內(nèi)場景點(diǎn)云的對象重建方法。該方法首先構(gòu)建直通濾波器,采用改進(jìn)的RANSAC算法剔除非對象點(diǎn)云,然后根據(jù)歐氏聚類提取算法分割出各個(gè)對象點(diǎn)云,最后基于α-shape理論批量重建出對象模型。試驗(yàn)結(jié)果表明,本文方法可以從散亂的室內(nèi)場景點(diǎn)云中快速、自動地提取并重建出代表真實(shí)對象的三維模型,且模型質(zhì)量與成熟的商業(yè)軟件相當(dāng)。該方法解決了當(dāng)前逆向工程中對象提取及重建效率較低的問題,具有較高的實(shí)用價(jià)值。
表2 人工操作與本文算法耗時(shí)對比 s
[1] 閆陽陽, 李永強(qiáng), 王英杰, 等. 三維激光點(diǎn)云聯(lián)合無人機(jī)影像的三維場景重建研究[J]. 測繪通報(bào), 2016(1): 84-87.
[2] 化蕾, 黃洪宇, 陳崇成, 等. 基于激光點(diǎn)云數(shù)據(jù)的客家土樓三維建模[J]. 遙感技術(shù)與應(yīng)用, 2015, 30(1): 115-122.
[3] 龔躍健, 毛文博, 畢建濤, 等. 基于移動LiDAR點(diǎn)云數(shù)據(jù)的室內(nèi)全要素三維重建[J]. 測繪工程, 2015, 24(11): 33-38.
[4] 盧小平, 王玉鵬, 盧遙, 等. 齊云塔激光點(diǎn)云三維重建[J]. 測繪通報(bào), 2011(9): 11-14.
[5] 龔珍, 胡友健, 董恒, 等. 無序三維點(diǎn)云重建技術(shù)研究[J]. 測繪通報(bào), 2016(9): 17-19.
[6] 劉佳, 張愛武, 楊麗萍. 室內(nèi)場景激光點(diǎn)云數(shù)據(jù)的三維建模[C]∥《測繪通報(bào)》測繪科學(xué)前沿技術(shù)論壇摘要集. 南京: 測繪出版社, 2008.
[7] SHAO T, XU W, ZHOU K, et al. An Interactive Approach to Semantic Modeling of Indoor Scenes with an RGBD Camera[J]. ACM Transactions on Graphics, 2012, 31(6): 136-142.
[8] NAN L, XIE K, SHARF A. A Search-classify Approach for Cluttered Indoor Scene Understanding[J]. ACM Transactions on Graphics, 2012, 31(6):1-10.
[9] KIM Y M, MITRA N J, YAN D, et al. Acquiring 3DX Indoor Environments with Variability and Repetition[J]. ACM Transactions on Graphics, 2012, 31(6):138.
[10] CHEN K,LAI Y,WU Y,et al.Automatic Semantic Modeling of Indoor Scenes from Low-quality RGB-D Data Using Contextual Information[J]. ACM Transactions on Graphics, 2014, 33(6): 208.
[11] FISCHLER M A, BOLLES R C. Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography[J]. Communications of the ACM, 1981, 24(6):381-395.
[12] RUSU R B,MARTON Z C,BLODOW N,et al. Towards 3D Point Cloud Based Object Maps for Household Environments[J]. Robotics & Autonomous Systems, 2008, 56(11): 927-941.
[13] RUSU R B. Semantic 3D Object Maps for Everyday Manipulation in Human Living Environments[J]. KI-Künstliche Intelligenz,2010,24(4):345-348.
[14] EDELSBRUNNER H, KIRKPATRICK D, SEIDEL R. On the Shape of a Set of Points in the Plane[J]. IEEE Transactions on Information Theory, 1983, 29 (4): 551-559.
[15] EDELSBRUNNER H, MüCKE E P. Three-dimensional Alpha Shapes[J]. ACM Transactions on Graphics, 1994, 13(1): 43-72.
Objects Reconstruction Oriented to Indoor Scene Point Cloud
YANG Zexin1,CHENG Xiaojun1,2,DING Qiong3,CHENG Xiaolong1
(1. College of Surveying and Geo-Informatics, Tongji University, Shanghai 200092, China; 2. Key Laboratory of Advanced Engineering Surveying of NASMG, Shanghai 200092, China; 3. Department of Surveying and Mapping, Guangdong University of Technology, Guangzhou 510006, China)
This paper presents an algorithm of reconstructing objects from indoor scene point cloud for solving the low efficiency problem of object extraction and reconstruction in reverse engineering. The steps of this approach are as follows: firstly, the non-object clouds are removed by using pass-through filter and the improved RANSAC algorithm; then the object clouds are segmented according to Euclidean Cluster Extraction algorithm; finally, the object models are reconstructed based on theα-shape theory. The experimental result shows that the proposed method, which is of high practical value, can quickly and automatically reconstruct the 3D models representing real objects from unorganized indoor scene point clouds.
indoor scene point cloud processing technology; point cloud segmentation; 3D reconstruction
楊澤鑫,程效軍,丁瓊,等.面向室內(nèi)場景點(diǎn)云的對象重建[J].測繪通報(bào),2017(6):45-48.
10.13474/j.cnki.11-2246.2017.0187.
2016-11-15;
2017-01-23m
國家自然科學(xué)基金(41671449)m
楊澤鑫(1994—),男,碩士生,主要研究方向?yàn)辄c(diǎn)云處理及三維建模。E-mail: zxyang15@163.com
P208
A
0494-0911(2017)06-0045-04