面向室内场景点云的对象重建
2017-07-05杨泽鑫程效军程小龙
杨泽鑫,程效军,2,丁 琼,程小龙
(1. 同济大学测绘与地理信息学院,上海 200092; 2. 现代工程测量国家测绘地理信息局重点实验室,上海 200092; 3. 广东工业大学测绘工程系,广东 广州 510006)
面向室内场景点云的对象重建
杨泽鑫1,程效军1,2,丁 琼3,程小龙1
(1. 同济大学测绘与地理信息学院,上海 200092; 2. 现代工程测量国家测绘地理信息局重点实验室,上海 200092; 3. 广东工业大学测绘工程系,广东 广州 510006)
针对当前逆向工程中对象提取及模型重建效率较低的问题,提出了一种面向室内场景点云的对象重建方法。首先构建直通滤波器,采用改进的RANSAC算法剔除非对象点云,然后根据欧氏聚类提取算法分割出各个对象点云,最后基于α-shape理论批量重建出对象模型。试验结果表明,该方法能够从散乱的室内场景点云中快速、自动地重建出代表真实对象的三维模型,具有较高的实用价值。
室内场景点云处理技术;点云分割;三维重建
虚拟现实技术及室内导航定位技术的迅猛发展,使得对于室内场景对象的提取及模型重建的要求也逐渐提高。目前,基于点云重建场景对象的三维模型仍主要依靠建模软件(如Geomagic、3ds Max等)进行手动构建[1-4],代价高昂、效率较低。龚珍等直接对散乱的场景点云进行三角化建模[5-6],提高了建模效率,但是建模效果不理想,并且不支持对场景中的单个实体对象进行交互,灵活性低;SHAO T等将分割后的点云与模型数据库进行匹配以完成室内场景语义重建[7-10],重建效果较好,但无法还原真实场景。本文提出了一种面向室内场景点云的对象重建方法,旨在剔除室内场景固有实体点云(如墙壁、窗户、门等),提取独立的对象点云(独立桌、椅等家具)并进行批量三维模型重建。
1 室内场景对象的重建方法
室内场景对象的重建方法主要包括非对象点云剔除、对象点云分割以及三维模型重建,主要流程如图1所示。
图1 室内场景对象的重建流程
1.1 非对象点云剔除
1.1.1 直通滤波器
为了提取室内场景中的实体对象,必须先剔除非对象点云以避免其干扰。若天花板与地板点云严格垂直于Z轴分布,则给定范围值[Zsc,Zsf]后,可根据式(1)构建直通滤波器,快速过滤天花板点云Pc与地板点云Pf=Pf1;若天花板与地板点云近似垂直于Z轴分布,为保证家具的完整性,此处只能根据式(1)剔除天花板点云Pc与部分地板点云Pf1。
(1)
1.1.2 改进的随机采样一致性算法
剩余的非对象点云(墙壁和残余地板)可用平面模型表示,故可采用基于平面模型的随机采样一致性算法(random sample consensus,RANSAC)[11]来剔除该部分点云。采用传统的RANSAC算法剔除Ppt中剩余的非对象点云,因其在Ppt中随机采样确定种子点,这会产生点云过分割及循环次数增大的问题。针对非对象点云的分布特点,本文基于给定精确种子点集的思想改进RANSAC算法,以达到更精准、快速地剔除非对象点云的目的。改进后的算法步骤如下:
(1) 将输入点云Ppt按Z值大小升序排列,根据给定的种子点集厚度值ts,按式(2)构建残余地板种子点集Psf。
Psf={psf},psf={X,Y,Zsf},Zsf∈[Zmin,Zmin+ts]
(2)
(2) 从Psf中随机选取3个满足式(3)的种子点{pa,pb,pc},构建初始平面L0:A0x+B0y+C0z+D0=0;然后计算所有数据点pi∈Psf至该初始模型的距离di,将符合距离阈值0≤|di|≤|ds|的点存入数据集Pin,统计Pin所含点数n并使用Pin重新估计平面模型;根据循环次数阈值重复执行上述步骤,每次估计得到的平面模型均与现有模型进行点数对比,取点数较大者为最优模型;最终,算法将分割出残余地板点云Pf2及其平面模型L:Ax+By+Cz+D=0。
(3)
(3) 合并两部分地板点云Pf1+Pf2=Pf,采用主成分分析法(principal component analysis,PCA)[12]估计Pf表面法线{nf},并计算{nf}的平均法线nz。同理,按式(4)对剩余点云Pb=Ppt-Pf2进行法线估计得到{nb},剔除{nb}中不满足式(5)的法向量后,采用RANSAC算法估计两条平均法线nx和ny。
(4)
nb·nz=0
(5)
(4) 按式(6)将点云坐标转换到以O(0,0,0)为坐标原点,nx为X*轴,ny为Y*轴,nz为Z*轴的O-X*Y*Z*坐标系中
(6)
式中,旋转矩阵R由9个方向余弦组成,即两坐标系各轴间夹角的余弦值。
(7)
1.2 对象点云分割
为了实现用户对单个实体对象进行交互的需求,采用欧氏聚类提取算法(euclidean cluster extraction)[13]分割多对象点云Pλ。该算法先将Pλ中的数据点分为若干初始类,然后合并具有最小距离的两类,重新计算类与类间的距离,重复上述步骤,迭代至任意两类间距大于给定距离阈值de为止,存储聚类作为分割结果。即当式(8)成立时,可以称Si={pi∈Pλ}与Sj={pj∈Pλ}是两个独立的点云聚类。
(8)
1.3 三维模型重建
在取得代表各个实体的点云子集后,采用基于三维Delaunay的α-shape[14-15]算法对其进行批量重建,构建具备形体的表面网格模型。该算法基于给定点云S,采用翻边算法实现三维Delaunay四面体剖分,得到符合空球特性的四面体凸包(convex hull);然后将凸包中每一个四面体的外接球半径ri与给定的α值作对比,剔除ri>α的四面体,留下的三维单纯复形(3-simplicial complex)即为α-shape。其中,当α=+∞时,α-shape为凸包;当α∈(0,+∞)时,随着α值的减小,α-shape先逐渐贴近模型表面,突破临界值后又逐渐破裂;当α=0时,α-shape则退化为点云S本身。图2为Stanford Bunny点云的α-shape效果图,从左往右α值从+∞逐渐递减至0。
图2 Stanford Bunny点云的α-shape效果图
2 试验结果与分析
为了快速获取实景三维数据,本文选用Structure Sensor作为试验仪器。Structure Sensor作为一款搭载于移动设备之上的便携扫描仪,能够快速采集三维数据并实时完成数据拼接,拥有较高的性价比。而相对于专业级三维激光扫描仪,Structure Sensor仍存在扫描距离短(0.3~5 m)、对光线要求高、数据精度低等缺陷。图3为搭载于iPad上的Structure Sensor扫描仪。
图3 Structure Sensor扫描仪
本文选取某教室为试验对象,试验人员在场景中央以人工手持仪器大约呈球形旋转的方式采集数据。扫描时,尽量控制起始帧正对墙壁,以获取天花板与地板近似垂直于Z轴分布的数据。经数据格式转换后,获取点云数量为212 112的试验样本,如图4所示。
本文在配置为CPU 2.53 GHz、内存4 GB、Windows 10系统的计算机上,基于PCL库和C++进行算法测试。根据试验数据在Z轴上的分布情况,构建Z值范围为[2.0,4.65]的直通滤波器,剔除天花板与地板点云,并以白色表达剔除的非对象点云,结果如图5(a)所示;考虑试验点云密度较小,精度较低,且场景中有一面墙体内嵌多扇窗户等因素,设置种子点集厚度为5 cm,距离阈值为3 cm,循环次数为100,点数阈值为10 000,采用改进的RANSAC算法剔除剩余非对象点云,并以随机颜色表达剔除的非对象点云,结果如图5(b)所示;获得由多个对象组成的点云后,设置距离阈值为5 cm,基于欧氏聚类提取算法分割出代表各个实体的点云子集,并以随机颜色表达各个对象点云,结果如图6所示;最后,设置α值为150,批量重建各点云子集,并以随机颜色表达各个对象模型,结果如图7所示。
图4 原始点云
图5 非对象点云剔除
图6 对象点云分割
为了验证算法的有效性,采用Geomagic Studio软件对原始点云进行对象提取及三维重建,将其结果与算法成果进行对比。在Geomagic Studio中,需要采用人工目视的方式来识别散乱点云所代表的实体对象,再勾选出每一个桌面和椅子,最后另存为独立文件后再逐个进行建模,十分烦琐,耗时很长。由表1可以看出,本文算法与人工操作的最大点数差值仅为35,点数差值与对象点数的最大比值仅为1.66%,表明采用本文算法提取室内场景的实体对象与人为操作商业软件所得结果质量相当。图8为人工操作与本文方法分别重建的部分具有代表性的对象模型,从图中可以看出,采用本文方法的重建结果与软件的重建结果基本一致,特别是在重建椅子时,错误率更少,效果更好。表2列出了两种方法的耗时对比,本文算法耗时仅为人工操作耗时的6‰。
图7 室内对象三维模型
图8 人工操作与本文算法分别重建的对象模型
类型编号人工提取点数本文算法提取点数本文算法与人工提取的点数差值点数差值占比/(%)桌面141594194+350.84243304328-020.05342894286-030.07422252223-020.09526602665+050.19椅子(部分)112181225+070.57214161414-020.14317971801+040.22419831991+080.40520332067+341.66
3 结 语
本文提出了一种面向室内场景点云的对象重建方法。该方法首先构建直通滤波器,采用改进的RANSAC算法剔除非对象点云,然后根据欧氏聚类提取算法分割出各个对象点云,最后基于α-shape理论批量重建出对象模型。试验结果表明,本文方法可以从散乱的室内场景点云中快速、自动地提取并重建出代表真实对象的三维模型,且模型质量与成熟的商业软件相当。该方法解决了当前逆向工程中对象提取及重建效率较低的问题,具有较高的实用价值。
表2 人工操作与本文算法耗时对比 s
[1] 闫阳阳, 李永强, 王英杰, 等. 三维激光点云联合无人机影像的三维场景重建研究[J]. 测绘通报, 2016(1): 84-87.
[2] 化蕾, 黄洪宇, 陈崇成, 等. 基于激光点云数据的客家土楼三维建模[J]. 遥感技术与应用, 2015, 30(1): 115-122.
[3] 龚跃健, 毛文博, 毕建涛, 等. 基于移动LiDAR点云数据的室内全要素三维重建[J]. 测绘工程, 2015, 24(11): 33-38.
[4] 卢小平, 王玉鹏, 卢遥, 等. 齐云塔激光点云三维重建[J]. 测绘通报, 2011(9): 11-14.
[5] 龚珍, 胡友健, 董恒, 等. 无序三维点云重建技术研究[J]. 测绘通报, 2016(9): 17-19.
[6] 刘佳, 张爱武, 杨丽萍. 室内场景激光点云数据的三维建模[C]∥《测绘通报》测绘科学前沿技术论坛摘要集. 南京: 测绘出版社, 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
杨泽鑫,程效军,丁琼,等.面向室内场景点云的对象重建[J].测绘通报,2017(6):45-48.
10.13474/j.cnki.11-2246.2017.0187.
2016-11-15;
2017-01-23m
国家自然科学基金(41671449)m
杨泽鑫(1994—),男,硕士生,主要研究方向为点云处理及三维建模。E-mail: zxyang15@163.com
P208
A
0494-0911(2017)06-0045-04