2. 现代工程测量国家测绘地理信息局重点实验室, 上海 200092;
3. 广东工业大学测绘工程系, 广东 广州 510006
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
虚拟现实技术及室内导航定位技术的迅猛发展,使得对于室内场景对象的提取及模型重建的要求也逐渐提高。目前,基于点云重建场景对象的三维模型仍主要依靠建模软件(如Geomagic、3ds Max等)进行手动构建[1-4],代价高昂、效率较低。龚珍等直接对散乱的场景点云进行三角化建模[5-6],提高了建模效率,但是建模效果不理想,并且不支持对场景中的单个实体对象进行交互,灵活性低;SHAO T等将分割后的点云与模型数据库进行匹配以完成室内场景语义重建[7-10],重建效果较好,但无法还原真实场景。本文提出了一种面向室内场景点云的对象重建方法,旨在剔除室内场景固有实体点云(如墙壁、窗户、门等),提取独立的对象点云(独立桌、椅等家具)并进行批量三维模型重建。
1 室内场景对象的重建方法室内场景对象的重建方法主要包括非对象点云剔除、对象点云分割以及三维模型重建,主要流程如图 1所示。
1.1 非对象点云剔除 1.1.1 直通滤波器为了提取室内场景中的实体对象,必须先剔除非对象点云以避免其干扰。若天花板与地板点云严格垂直于Z轴分布,则给定范围值[Zsc, Zsf]后,可根据式(1) 构建直通滤波器,快速过滤天花板点云Pc与地板点云Pf=Pf1;若天花板与地板点云近似垂直于Z轴分布,为保证家具的完整性,此处只能根据式(1) 剔除天花板点云Pc与部分地板点云Pf1。
剩余的非对象点云(墙壁和残余地板)可用平面模型表示,故可采用基于平面模型的随机采样一致性算法(random sample consensus,RANSAC)[11]来剔除该部分点云。采用传统的RANSAC算法剔除Ppt中剩余的非对象点云,因其在Ppt中随机采样确定种子点,这会产生点云过分割及循环次数增大的问题。针对非对象点云的分布特点,本文基于给定精确种子点集的思想改进RANSAC算法,以达到更精准、快速地剔除非对象点云的目的。改进后的算法步骤如下:
(1) 将输入点云Ppt按Z值大小升序排列,根据给定的种子点集厚度值ts,按式(2) 构建残余地板种子点集Psf。
(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) 合并两部分地板点云Pf1+Pf2=Pf,采用主成分分析法(principal component analysis,PCA)[12]估计Pf表面法线{nf},并计算{nf}的平均法线nz。同理,按式(4) 对剩余点云Pb=Ppt-Pf2进行法线估计得到{ nb},剔除{ nb}中不满足式(5) 的法向量后,采用RANSAC算法估计两条平均法线nx和ny。
式中,pki为点p的k邻域点集Pk(由距离点p最近的k个点组成)中的第i点;pk为Pk的中心点;C为Pk的3×3协方差矩阵;λ和v分别为C的特征值和特征向量;n为点p的法向量。
(4) 按式(6) 将点云坐标转换到以O(0, 0, 0) 为坐标原点,nx为X*轴,ny为Y*轴,nz为Z*轴的O-X*Y*Z*坐标系中
式中,旋转矩阵R由9个方向余弦组成,即两坐标系各轴间夹角的余弦值。
(5) 根据式(7) 构建四面墙体的种子点集Psi, i∈{1, 2, 3, 4},如步骤(2) 依次分割出墙体Pwi, i∈{1, 2, 3, 4},剩余数据即为由多个对象组成的点云Pλ。
为了实现用户对单个实体对象进行交互的需求,采用欧氏聚类提取算法(euclidean cluster extraction)[13]分割多对象点云Pλ。该算法先将Pλ中的数据点分为若干初始类,然后合并具有最小距离的两类,重新计算类与类间的距离,重复上述步骤,迭代至任意两类间距大于给定距离阈值de为止,存储聚类作为分割结果。即当式(8) 成立时,可以称Si={ pi∈ Pλ}与Sj={ pj∈ Pλ}是两个独立的点云聚类。
在取得代表各个实体的点云子集后,采用基于三维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 试验结果与分析为了快速获取实景三维数据,本文选用Structure Sensor作为试验仪器。Structure Sensor作为一款搭载于移动设备之上的便携扫描仪,能够快速采集三维数据并实时完成数据拼接,拥有较高的性价比。而相对于专业级三维激光扫描仪,Structure Sensor仍存在扫描距离短(0.3~5 m)、对光线要求高、数据精度低等缺陷。图 3为搭载于iPad上的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所示。
为了验证算法的有效性,采用Geomagic Studio软件对原始点云进行对象提取及三维重建,将其结果与算法成果进行对比。在Geomagic Studio中,需要采用人工目视的方式来识别散乱点云所代表的实体对象,再勾选出每一个桌面和椅子,最后另存为独立文件后再逐个进行建模,十分烦琐,耗时很长。由表 1可以看出,本文算法与人工操作的最大点数差值仅为35,点数差值与对象点数的最大比值仅为1.66%,表明采用本文算法提取室内场景的实体对象与人为操作商业软件所得结果质量相当。图 8为人工操作与本文方法分别重建的部分具有代表性的对象模型,从图中可以看出,采用本文方法的重建结果与软件的重建结果基本一致,特别是在重建椅子时,错误率更少,效果更好。表 2列出了两种方法的耗时对比,本文算法耗时仅为人工操作耗时的6‰。
3 结语本文提出了一种面向室内场景点云的对象重建方法。该方法首先构建直通滤波器,采用改进的RANSAC算法剔除非对象点云,然后根据欧氏聚类提取算法分割出各个对象点云,最后基于α-shape理论批量重建出对象模型。试验结果表明,本文方法可以从散乱的室内场景点云中快速、自动地提取并重建出代表真实对象的三维模型,且模型质量与成熟的商业软件相当。该方法解决了当前逆向工程中对象提取及重建效率较低的问题,具有较高的实用价值。
[1] | 闫阳阳, 李永强, 王英杰, 等. 三维激光点云联合无人机影像的三维场景重建研究[J]. 测绘通报, 2016(1): 84–87. |
[2] | 化蕾, 黄洪宇, 陈崇成, 等. 基于激光点云数据的客家土楼三维建模[J]. 遥感技术与应用, 2015, 30(1): 115–122. |
[3] | 龚跃健, 毛文博, 毕建涛, 等. 基于移动LiDAR点云数据的室内全要素三维重建[J]. 测绘工程, 2015, 24(11): 33–38. DOI:10.3969/j.issn.1006-7949.2015.11.008 |
[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. DOI:10.1145/358669.358692 |
[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. DOI:10.1007/s13218-010-0059-6 |
[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. DOI:10.1109/TIT.1983.1056714 |
[15] | EDELSBRUNNER H, MVCKE E P. Three-dimensional Alpha Shapes[J]. ACM Transactions on Graphics, 1994, 13(1): 43–72. DOI:10.1145/174462.156635 |