留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

利用细化空间分隔法的房间细部级室内导航元素提取

刘明蕾 危双丰 黄帅 汤念

刘明蕾, 危双丰, 黄帅, 汤念. 利用细化空间分隔法的房间细部级室内导航元素提取[J]. 武汉大学学报 ● 信息科学版, 2021, 46(2): 221-229. doi: 10.13203/j.whugis20190223
引用本文: 刘明蕾, 危双丰, 黄帅, 汤念. 利用细化空间分隔法的房间细部级室内导航元素提取[J]. 武汉大学学报 ● 信息科学版, 2021, 46(2): 221-229. doi: 10.13203/j.whugis20190223
LIU Minglei, WEI Shuangfeng, HUANG Shuai, TANG Nian. Indoor Navigation Elements Extraction of Room Fineness Using Refining Space Separator Method[J]. Geomatics and Information Science of Wuhan University, 2021, 46(2): 221-229. doi: 10.13203/j.whugis20190223
Citation: LIU Minglei, WEI Shuangfeng, HUANG Shuai, TANG Nian. Indoor Navigation Elements Extraction of Room Fineness Using Refining Space Separator Method[J]. Geomatics and Information Science of Wuhan University, 2021, 46(2): 221-229. doi: 10.13203/j.whugis20190223

利用细化空间分隔法的房间细部级室内导航元素提取

doi: 10.13203/j.whugis20190223
基金项目: 

国家重点研发计划 2016YFC0702107

北京建筑大学研究生创新项目 PG2019058

北京建筑大学研究生创新项目 PG2019061

北京建筑大学研究生创新项目 PG2019065

详细信息

Indoor Navigation Elements Extraction of Room Fineness Using Refining Space Separator Method

Funds: 

The National Key Research and Development Program of China 2016YFC0702107

he Postgraduate Innovation Research Project of Beijing University of Civil Engineering and Architecture PG2019058

he Postgraduate Innovation Research Project of Beijing University of Civil Engineering and Architecture PG2019061

he Postgraduate Innovation Research Project of Beijing University of Civil Engineering and Architecture PG2019065

More Information
  • 摘要: 现有的室内三维模型重建中, 通常将墙等承担空间分隔作用的室内导航元素看作一个整体, 通过对墙的提取来实现房间子空间的分割。然而, 一面墙的两个墙面形态上的差异会造成室内三维重建过程中房间细节的损失, 并且引起门窗提取的困难。针对这一现象, 提出了一种细化空间分隔的思想, 通过将一面墙细化为两个墙面, 利用区域生长算法获取墙面角点, 从而获得室内的精细化表达; 同时利用对应墙面上对应区域的点云密度比对方法, 规避门窗提取中遮挡墙面的障碍物对提取结果的影响。结果表明, 该方法可以对室内门窗进行有效地提取, 从而为导航网络的生成提供了重要依据。
  • 图  1  房间提取流程

    Figure  1.  Flowchart of Room Extraction

    图  2  门窗提取流程

    Figure  2.  Flowchart of Door and Window Extraction

    图  3  PCA算法示意图

    Figure  3.  Diagram of PCA Algorithm

    图  4  Dataset1墙面滤波前和滤波后的点云

    Figure  4.  Point Clouds of Dataset1's Wall Surface Before and After Filtering

    图  5  Dataset2房间滤波前和滤波后的点云

    Figure  5.  Point Clouds of Dataset2's Rooms Before and After Filtering

    图  6  Dataset3二楼滤波前和滤波后的点云

    Figure  6.  Point Clouds of Dataset3's Floor2 Before and After Filtering

    图  7  种子点为端点的情况一

    Figure  7.  Situation One of Seed Point Being End Point

    图  8  种子点为端点的情况二

    Figure  8.  Situation Two of Seed Point Being Intermediate Point

    图  9  房间角点细节

    Figure  9.  Details of Room Corners

    图  10  房间语义标注

    Figure  10.  Semantic Lablel of Room

    图  11  数据集的点云

    Figure  11.  Point Clouds of Dataset

    图  12  数据集的二值化图

    Figure  12.  Binary Map of Dataset

    图  13  障碍物对门窗提取的影响

    Figure  13.  Effect of Obstacles on Door and Window Extraction

    图  14  行人主体开放区域筛选约束

    Figure  14.  Screening Constraint of Opening Area for Pedestrian

    图  15  门窗几何信息

    Figure  15.  Information of Door and Windows

    图  16  格网化后密度图

    Figure  16.  Density Graph After Griding

    图  17  两个墙面的二值图比对

    Figure  17.  Comparison of Binary Maps of Two Wall Surfaces

    图  18  聚集区域显示

    Figure  18.  Aggregate Area Display

    表  1  法线滤波效果

    Table  1.   Effect of Normal Filtering

    数据集 精简前的点云数量 精简后的点云数量 精简比例/%
    Dataset1 46 110 40 209 12.798
    Dataset2 317 827 202 252 36.364
    Dataset3 1 467 040 715 856 51.204
    下载: 导出CSV

    表  2  角点提取正确率

    Table  2.   Correctness of Corner Extraction

    房间 角点真实个数
    N
    提取的角点个数
    n
    正确率
    Cr/%
    Room1 8 7 87.5
    Room2 6 7 85.7
    Room3 6 6 100.0
    Room4 8 6 75.0
    下载: 导出CSV

    表  3  n=20时门窗提取精度/m

    Table  3.   Precision of Door and Window Extraction When n=20/m

    指标 窗1 窗2
    测量值 1.95 0.77 0.45 0.77 1.25 0.15
    误差值 0.05 0.13 0 0.03 -0.25 0
    中误差 0.107
    下载: 导出CSV
  • [1] 朱庆, 胡明远, 许伟平, 等.面向火灾动态疏散的三维建筑信息模型[J].武汉大学学报·信息科学版, 2014, 39(7):762-766 http://ch.whu.edu.cn/article/id/3016

    Zhu Qing, Hu Mingyuan, Xu Weiping, et al. 3D Building Information Model for Facilitating Dynamic Analysis of Indoor Fire Emergency[J]. Geomatics and Information Science of Wuhan University, 2014, 39(7):762-766 http://ch.whu.edu.cn/article/id/3016
    [2] 韩丽娜, 李缘廷.融合地面激光扫描和摄影测量技术的三维重建[J].测绘地理信息, 2015, 40(3):10-12

    Han Lina, Li Yuanting. 3D Reconstruction by Combining Terrestrial Laser Scanner Data and Photogrammetric Images[J]. Journal of Geomatics, 2015, 40(3):10-12
    [3] 张春森, 张梦辉, 郭丙轩, 等.影像三维重建的网格自适应快速优化[J].武汉大学学报·信息科学版, 2020, 45(3): 411-418 doi:  10.13203/j.whugis20190161

    Zhang Chunsen, Zhang Menghui, Guo Bingxuan, et al. Adaptive Fast Mesh Refinement of 3D Reconstruction Based on Image Information[J]. Geomatics and Information Science of Wuhan University, 2020, 45(3): 411-418 doi:  10.13203/j.whugis20190161
    [4] 危双丰, 刘明蕾, 赵江洪, 等.利用点云检测室内导航元素的方法综述[J].武汉大学学报·信息科学版, 2018, 43(12): 2 003-2 011 doi:  10.13203/j.whugis20180144

    Wei Shuangfeng, Liu Minglei, Zhao Jianghong, et al. A Survey of Methods for Detecting Indoor Navigation Elements from Point Clouds[J]. Geomatics and Information Science of Wuhan University, 2018, 43(12): 2 003-2 011 doi:  10.13203/j.whugis20180144
    [5] Fichtner F W, Diakité A A, Zlatanova S, et al. Semantic Enrichment of Octree Structured Point Clouds for Multi-story 3D Pathfinding[J]. Transactions in GIS, 2018, 22: 233-248 doi:  10.1111/tgis.12308
    [6] Thomson C, Boehm J. Automatic Geometry Generation from Point Clouds for BIMs[J]. Remote Sensing, 2015, 7(9):11 753-11 775 doi:  10.3390/rs70911753
    [7] Zhang J, Duan M, Yan Q, et al. Automatic Vehicle Extraction from Airborne LiDAR Data Using an Object-Based Point Cloud Analysis Method[J]. Remote Sensing, 2014, 6(9):8 405-8 423 doi:  10.3390/rs6098405
    [8] Anagnostopoulos I, Pătrăucean V, Brilakis I, et al. Detection of Walls, Floors, and Ceilings in Point Cloud Data[J]. Construction Research Congress, 2016, DOI:  10.1061/9780784479827.229
    [9] Ochmann S, Vock R, Wessel R, et al. Automatic Generation of Structural Building Descriptions from 3D Point Cloud Scans[C]. 2014 International Conference on Computer Graphics Theory and Applications (GRAPP), Lisbon, Portugal, 2014
    [10] Schnabel R, Wahl R, Klein R. Efficient RANSAC for Point‐Cloud Shape Detection[J]. Computer Graphics Forum, 2007, 26(2):214-226 doi:  10.1111/j.1467-8659.2007.01016.x
    [11] Díaz-Vilariño L, Khoshelham K, Martínez-Sánchez J, et al. 3D Modeling of Building Indoor Spaces and Closed Doors from Imagery and Point Clouds[J]. Sensors, 2015, 15(2):3 491-3 512 doi:  10.3390/s150203491
    [12] Díaz-Vilariño L, Boguslawski P, Khoshelham K, et al. Indoor Navigation from Point Clouds: 3D Modeling and Obstacle Detection[J]. ISPRSInternational Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, 2016, XLI-B4:275-281
    [13] Armeni I, Sener O, Zamir A R, et al. 3D Semantic Parsing of Large-Scale Indoor Spaces[C]. 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, NV, USA, 2016
    [14] Armeni I, Sener O, Zamir A R, et al. 3D Semantic Parsing of Large-Scale Indoor Spaces Supplementary Material[EB/OL]. http://cvgl.stanford.edu/papers/iro_cvpr16_supp.pdf, 2018
    [15] Oesau S, Lafarge F, Alliez P. Indoor Scene Reconstruction Using Feature Sensitive Primitive Extraction and Graph-cut[J]. ISPRS Journal of Photogrammetry & Remote Sensing, 2014, 90:68-82
    [16] Sanchez V, Zakhor A. Planar 3D Modeling of Building Interiors from Point Cloud Data[C]. IEEE International Conference on Image Processing, Orlando, FL, USA, 2012
    [17] Gurram P, Hu S, Chan A. Uniform Grid Upsampling of 3D LiDAR Point Cloud Data[J]. Proceedings of SPIE-The International Society for Optical Engineering, 2013, DOI:  10.1117/12.2004200
    [18] Grompone V G R, Jakubowicz J, Morel J M, et al. LSD: A Fast Line Segment Detector with a False Detection Control[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2010, 32(4):722-732
    [19] Angelina S, Suresh L P, Veni S H K. Image Segmentation Based on Genetic Algorithm for Region Growth and Region Merging[C]. International Conference on Computing, Electronics and Electrical Technologies (ICCEET), Kumaracoil, India, 2012
    [20] 游天, 王光霞, 吕晓华, 等.一种面向室内导航的通行区域模型及其自动提取算法[J].武汉大学学报·信息科学版, 2019, 44(2): 177-184 doi:  10.13203/j.whugis20170056

    You Tian, Wang Guangxia, Lü Xiaohua, et al. Traversable Region Model and Its Automatic Extraction Algorithm for Indoor Navigation[J]. Geomatics and Information Science of Wuhan University, 2019, 44(2): 177-184 doi:  10.13203/j.whugis20170056
  • [1] 米晓新, 杨必胜, 董震.  车载激光点云道路场景可视域快速计算与应用 . 武汉大学学报 ● 信息科学版, 2020, 45(2): 258-264. doi: 10.13203/j.whugis20180380
    [2] 孙文潇, 王健, 梁周雁, 马伟丽, 陈喆.  法线特征约束的激光点云精确配准 . 武汉大学学报 ● 信息科学版, 2020, 45(7): 988-995. doi: 10.13203/j.whugis20180315
    [3] 蒋腾平, 杨必胜, 周雨舟, 朱润松, 胡宗田, 董震.  道路点云场景双层卷积语义分割 . 武汉大学学报 ● 信息科学版, 2020, 45(12): 1942-1948. doi: 10.13203/j.whugis20200081
    [4] 张瑞菊, 周欣, 赵江洪, 曹闵.  一种古建筑点云数据的语义分割算法 . 武汉大学学报 ● 信息科学版, 2020, 45(5): 753-759. doi: 10.13203/j.whugis20180428
    [5] 冯林, 李斌兵.  一种基于最小广义方差估计的TLS点云抗差法向量求解方法 . 武汉大学学报 ● 信息科学版, 2018, 43(11): 1647-1653. doi: 10.13203/j.whugis20170065
    [6] 张蕊, 李广云, 王力, 李明磊, 周阳林.  车载LiDAR点云混合索引新方法 . 武汉大学学报 ● 信息科学版, 2018, 43(7): 993-999. doi: 10.13203/j.whugis20160441
    [7] 危双丰, 刘明蕾, 赵江洪, 黄帅.  利用点云检测室内导航元素的方法综述 . 武汉大学学报 ● 信息科学版, 2018, 43(12): 2003-2011. doi: 10.13203/j.whugis20180144
    [8] 陈西江, 花向红, 章光, 吴浩, 安庆.  利用误差熵评价光斑中点云不确定性 . 武汉大学学报 ● 信息科学版, 2017, 42(6): 864-868. doi: 10.13203/j.whugis20140799
    [9] 杨军, 林岩龙, 张瑞峰, 王小鹏.  一种大规模点云k邻域快速搜索算法 . 武汉大学学报 ● 信息科学版, 2016, 41(5): 656-664. doi: 10.13203/j.whugis20140191
    [10] 肖巍峰, 邓敏, 李朝奎.  三维点云多尺度等值线模型Morphing变换方法研究 . 武汉大学学报 ● 信息科学版, 2015, 40(7): 957-963. doi: 10.13203/j.whugis20140107
    [11] 卢昊, 庞勇, 徐光彩, 李增元.  机载激光雷达全波形数据与系统点云差异的定量分析 . 武汉大学学报 ● 信息科学版, 2015, 40(5): 588-593. doi: 10.13203/j.whugis20130443
    [12] 应 申, 毛政元, 李 霖, 许 光.  利用3D Voronoi图的兔子点云聚类分割 . 武汉大学学报 ● 信息科学版, 2013, 38(3): 358-361.
    [13] 康志忠, 王薇薇, 李珍.  多源数据融合的三维点云特征面分割和拟合一体化方法 . 武汉大学学报 ● 信息科学版, 2013, 38(11): 1317-1321.
    [14] 王永波, 杨化超, 刘燕华, 牛晓楠.  线状特征约束下基于四元数描述的LiDAR点云配准方法 . 武汉大学学报 ● 信息科学版, 2013, 38(9): 1057-1062.
    [15] 李畅, 李熙, 李彩林, 李奇.  广义点摄影测量在建筑物立面轮廓重构中的应用 . 武汉大学学报 ● 信息科学版, 2011, 36(12): 1451-1455.
    [16] 孙杰, 马洪超, 钟良.  利用LiDAR点云的真正射影像遮蔽检测 . 武汉大学学报 ● 信息科学版, 2011, 36(8): 948-951.
    [17] 郑莉, 张剑清, 罗跃军.  多视结构光点云的自动无缝拼接 . 武汉大学学报 ● 信息科学版, 2009, 34(2): 199-202.
    [18] 闫利, 张毅.  基于法向量模糊聚类的道路面点云数据滤波 . 武汉大学学报 ● 信息科学版, 2007, 32(12): 1119-1122.
    [19] 万幼川, 徐景中, 赖旭东, 张圣望.  基于多分辨率方向预测的LIDAR点云滤波方法 . 武汉大学学报 ● 信息科学版, 2007, 32(11): 1011-1015.
    [20] 黄先锋, 陶闯, 江万寿, 龚健雅.  机载激光雷达点云数据的实时渲染 . 武汉大学学报 ● 信息科学版, 2005, 30(11): 975-978.
  • 加载中
图(18) / 表(3)
计量
  • 文章访问数:  22
  • HTML全文浏览量:  6
  • PDF下载量:  10
  • 被引次数: 0
出版历程
  • 收稿日期:  2019-12-07
  • 刊出日期:  2021-02-05

利用细化空间分隔法的房间细部级室内导航元素提取

doi: 10.13203/j.whugis20190223
    基金项目:

    国家重点研发计划 2016YFC0702107

    北京建筑大学研究生创新项目 PG2019058

    北京建筑大学研究生创新项目 PG2019061

    北京建筑大学研究生创新项目 PG2019065

    作者简介:

    刘明蕾, 硕士, 主要研究方向为基于点云的室内导航三维重建。Liuminglei1009@163.com

    通讯作者: 危双丰, 博士, 副教授。weishuangfeng@bucea.edu.cn
  • 中图分类号: P237

摘要: 现有的室内三维模型重建中, 通常将墙等承担空间分隔作用的室内导航元素看作一个整体, 通过对墙的提取来实现房间子空间的分割。然而, 一面墙的两个墙面形态上的差异会造成室内三维重建过程中房间细节的损失, 并且引起门窗提取的困难。针对这一现象, 提出了一种细化空间分隔的思想, 通过将一面墙细化为两个墙面, 利用区域生长算法获取墙面角点, 从而获得室内的精细化表达; 同时利用对应墙面上对应区域的点云密度比对方法, 规避门窗提取中遮挡墙面的障碍物对提取结果的影响。结果表明, 该方法可以对室内门窗进行有效地提取, 从而为导航网络的生成提供了重要依据。

English Abstract

刘明蕾, 危双丰, 黄帅, 汤念. 利用细化空间分隔法的房间细部级室内导航元素提取[J]. 武汉大学学报 ● 信息科学版, 2021, 46(2): 221-229. doi: 10.13203/j.whugis20190223
引用本文: 刘明蕾, 危双丰, 黄帅, 汤念. 利用细化空间分隔法的房间细部级室内导航元素提取[J]. 武汉大学学报 ● 信息科学版, 2021, 46(2): 221-229. doi: 10.13203/j.whugis20190223
LIU Minglei, WEI Shuangfeng, HUANG Shuai, TANG Nian. Indoor Navigation Elements Extraction of Room Fineness Using Refining Space Separator Method[J]. Geomatics and Information Science of Wuhan University, 2021, 46(2): 221-229. doi: 10.13203/j.whugis20190223
Citation: LIU Minglei, WEI Shuangfeng, HUANG Shuai, TANG Nian. Indoor Navigation Elements Extraction of Room Fineness Using Refining Space Separator Method[J]. Geomatics and Information Science of Wuhan University, 2021, 46(2): 221-229. doi: 10.13203/j.whugis20190223
  • 空间分隔是指在室内空间中承担分割子空间的物体, 比较有代表性的包括地板、天花板和墙等。在室内三维几何和语义重建过程中, 空间分隔是提取工作的重点。获取到的空间分隔可以有效地将空间划分为独立的可导航的子空间, 空间分隔上是否存在导航主体可通过的开放区域是两个子空间之间连通性的判断依据。因此, 空间分隔元素的提取, 特别是房间和门窗这两种导航元素的提取有重要的意义。三维激光扫描技术的飞速发展为室内三维数据的获取和模型重建提供了新的解决方案[1-4]。但是, 扫描获取的点云数据虽然可以展示建筑内部的环境, 实现三维浏览功能, 但其数据量庞大, 且不承载语义信息, 这给房间和门窗的提取带来很大困难。

    现有提取方法中通常将墙作为一个整体来提取, 从而选择与墙形状类似的几何形状对其进行表达。基于曼哈顿世界假说, 即假定城市场景中具有3个互相正交的主方向形成的坐标系, 建筑平面的法向量与坐标轴中的一个主方向保持平行, 规则直线墙面在点云中可以表达为X值或Y值相同的一组点集。文献[5]利用点云密度峰值检测出楼板所在位置, 对单层内的空间进行八叉树划分, 计算每个子空间的点云密度, 墙面处点云密度会在垂直方向上形成峰值。文献[6-9]中, 应用主成分分析(principal component analysis, PCA)算法对点云计算法线后, 采用文献[10]所述的随机抽样一致性算法进行平面检测。上述方法均将墙体作为一个整体的墙段来处理, 忽略了墙体的厚度和内部墙面上形状的差异, 从而使得对房间的提取不够精确。

    门窗在点云中的特征表现为位于墙上的矩形。利用这个特征, 文献[11]提出了结合影像与点云进行门的提取方法。先将图像进行正射校正, 再将真彩色影像转换为灰度图像, 应用Canny算子提取边界; 对提取到的边界进行方向滤波, 最后筛选出影像中的门。此方法对于遮挡墙壁的柜子等在几何形状上和门类似的障碍物无法有效区分。为了解决该问题, 文献[12]将门窗表述为形状为矩形的且在墙体表面上密度较低的区域, 对平面上的窗户和门进行投影、光栅化后得到二值图像, 利用广义霍夫变换方法进行形状检测。室内橱柜等物体容易遮挡墙壁, 且其在墙体点云中的统计特征和几何特征均与门窗类似, 上述方法很难对其进行区分。对于室内导航网络中的门窗提取, 由于室内环境复杂, 且墙壁被橱柜等遮掩, 其形状特征与门窗类似, 给提取工作造成阻碍。

    因此, 本文在现有的室内导航网络门窗提取方法的基础上, 提出一种新的细化空间分隔的思想, 将一面墙在三维空间内细分为两个互相平行的墙面。首先对单一楼层内的点云进行基于主成分分析法的法线滤波, 剔除非垂直面上的杂点; 然后通过投影降维和区域生长算法获得提取所需的墙面; 最后通过对对应墙面进行格网化, 筛选出符合阈值的格网作为室内导航网络中门窗的位置。该方法极大降低了障碍物对门窗提取的影响, 增加了提取的正确性。

    • 三维激光扫描仪是由一台高速精确的激光测距仪配上一组可以引导激光并以均匀角速度扫描的反射棱镜构成。激光测距仪主动发射激光, 同时接受自然物表面反射的信号, 从而进行测距。由于扫描仪只能对墙表面进行扫描, 墙体中间由于遮挡无法生成对应的点云, 因此会在两个墙面形成的点云密度峰值之间产生一个代表墙体的间隙。因此, 在房间分割中不再对墙整体进行提取, 而是对墙面点云进行分割。此方法可以将原始点云解析为不相邻的空间[13-14], 获取到的每一个不相邻空间作为房间的表达, 能够更加真实地体现出房间的空间位置和几何形状。

      本文据此将承担空间分隔作用的墙细化为可以被三维激光扫描仪扫描并记录坐标的一组平行墙面和无法被扫描到的内部墙体, 对组成同一个房间的墙面角点进行检测, 进而得到房间的精细化表达。房间提取流程图如图 1所示。

      图  1  房间提取流程

      Figure 1.  Flowchart of Room Extraction

      在曼哈顿世界的建筑中, 门窗的统计特征表现为点云密度低于墙面其他位置, 几何特征表现为存在一个矩形的边缘。但是, 靠墙的障碍物特别是形状与门类似的橱柜等, 也会由于遮盖墙体而使得墙面形成矩形边缘的低密度区域。为了减少这类障碍物的影响, 本文依据文献[15]的思想, 将墙体拆分为两个临近平行的墙面, 在门窗存在处, 代表一面墙体的两个墙面对应位置均会形成点云密度较低的区域。因此, 选择对单一墙体的两个墙面进行投影格网化, 比对两个墙面的对应位置, 如两个对应格网点云密度均低于阈值, 则该格网所在区域被认为是门窗的备选区域。该方法能够有效避免由于障碍物遮挡造成门窗提取错误。门窗提取流程如图 2所示。

      图  2  门窗提取流程

      Figure 2.  Flowchart of Door and Window Extraction

    • 文献[13-14]将点云中每个被扫描的元素表达为一组涵盖自身背部空白区域的点。因此在墙面点云处, 被扫描到的墙面会形成垂直方向上的高密度点云, 而两个墙面中间的墙体则因无法被扫描到而形成空白区域。基于此, 将一个整体的墙细化为两个对应的墙面和一个内部墙体来进行三维重建。由于外部墙不承担子空间划分功能, 也对子空间的拓扑关系没有直接影响, 因此本文提到的空间分隔均指建筑内部墙。

      为了使得该特征更加清晰、健壮, 采用文献[16]中的滤波方法, 对单层室内环境点云运用PCA算法, 计算其法线, 保留垂直方向点, 如图 3所示。点p可用其三维坐标表示成一个行向量, 即p=[x y z], 计算点p的法向量方法是在k邻域内进行特征分解(即计算特征向量和特征值)。对应于最小特征值的特征向量将在点p处近似表示法向量n。点pk邻域协方差矩阵可定义为:

      $$ \mathit{\boldsymbol{C}} = {\left[ {\begin{array}{*{20}{l}} {{\mathit{\boldsymbol{p}}_1} - \mathit{\boldsymbol{\bar p}}}\\ {{\mathit{\boldsymbol{p}}_2} - \mathit{\boldsymbol{\bar p}}}\\ {\begin{array}{*{20}{c}} {}& \vdots &{} \end{array}}\\ {{{\bf{p}}_k} - \mathit{\boldsymbol{\bar p}}} \end{array}} \right]^{\rm{T}}}\left[ {\begin{array}{*{20}{l}} {{\mathit{\boldsymbol{p}}_1} - \mathit{\boldsymbol{\bar p}}}\\ {{\mathit{\boldsymbol{p}}_2} - \mathit{\boldsymbol{\bar p}}}\\ {\begin{array}{*{20}{c}} {}& \vdots &{} \end{array}}\\ {{\mathit{\boldsymbol{p}}_k} - \mathit{\boldsymbol{\bar p}}} \end{array}} \right] $$ (1)
      $$ \mathit{\boldsymbol{C}} \times {\mathit{\boldsymbol{v}}_j} = {\lambda _j} \times {\mathit{\boldsymbol{v}}_j}, j = \left\{ {0, 1, 2} \right\}$$ (2)

      图  3  PCA算法示意图

      Figure 3.  Diagram of PCA Algorithm

      式中, $\mathit{\boldsymbol{\bar p}}$是重心, 即点p与其k邻域的重心; pipk邻域中第i个相邻点。C的最小特征值的特征向量可被当作是pi的法向量, 这就是所谓的PCA算法。协方差矩阵C定义了局部曲面的几何信息, 为一个对称的半正定矩阵。C可以分解为3个特征向量v2v1v0, 它们对应的特征值分别是λ2λ1λ0, 且λ0λ1λ2。最小特征值对应的特征向量记为n,也就是点云拟合出的平面法向量, 即为n=v0。PCA算法确定的法向量方向是不定的, 但本文只需剔除垂直方向之外的点, 因此不再计算方向。

      为了验证PCA算法对杂点的滤除作用, 本文选取室内导航元素提取中3个比较有代表性的点云数据集。Dataset1是后续提取中需要的一个墙面, Dataset2是一组邻接的房间, Dataset3是建筑二楼的全部点云数据, 其法线滤波前后的点云对比分别如图 4~6所示。

      图  4  Dataset1墙面滤波前和滤波后的点云

      Figure 4.  Point Clouds of Dataset1's Wall Surface Before and After Filtering

      图  5  Dataset2房间滤波前和滤波后的点云

      Figure 5.  Point Clouds of Dataset2's Rooms Before and After Filtering

      图  6  Dataset3二楼滤波前和滤波后的点云

      Figure 6.  Point Clouds of Dataset3's Floor2 Before and After Filtering

      3个数据集在进行基于PCA算法的法线滤波前后的点云数量变化如表 1所示。其中, 精简比例=[(精简前的点云数量-精简后的点云数量)/精简前的点云数量]×100%。根据表 1可知, 基于PCA算法的法线滤波可以有效滤除非垂直方向的点, 这些点在房间提取中被称作杂点。特别是当点云数据囊括了复杂真实场景且数据量很大时, 法线滤波可以大幅度去除杂点, 有效精简数据量, 提高后续提取效率。

      表 1  法线滤波效果

      Table 1.  Effect of Normal Filtering

      数据集 精简前的点云数量 精简后的点云数量 精简比例/%
      Dataset1 46 110 40 209 12.798
      Dataset2 317 827 202 252 36.364
      Dataset3 1 467 040 715 856 51.204
    • 在单层楼中提取墙面的几何信息, 本质上是对墙面对应的灰度图或者二值图上各个直线段的提取。常见的方法有霍夫变换[17]和直线段检测(line segment detection, LSD)算法[18]等。霍夫变换是特征检测中常用的方法, 它主要对间断点边界形状进行检测, 通过把图像坐标空间转换到参数空间中, 实现对各种线边界的拟合, 优点是不仅能检测直线, 还能检测曲线。LSD算法需要对图像中所有点的梯度大小和方向进行计算, 如两相邻点梯度方向变化小, 则将其作为连通域, 根据约束和规则对所有的域进行筛选, 从而获得最终的直线检测结果。LSD算法的优点是速度快, 准确性较高。但上述两种方法在墙面提取时, 提取出来的墙段是散乱的, 难以标注语义。

      针对房间提取及语义标注, 本文提出先在二值图像上进行区域生长, 以获得各个墙面所在线段的端点, 然后筛选一间房间内部边线上拐点, 即墙面角点。该方法利用了墙面之间的点云间隙, 可以对任何非弧线的房间边线进行提取。为了避免将两个墙面混淆, 定义的格网尺寸需小于墙体厚度的1/2。

      区域生长算法的本质是将特征相似的像素点聚集到一起[19]。在区域内, 要先指定一个种子点作为区域生长算法的起点, 通过一定的约束条件聚集特征相似的点。本文需要对区域中的墙面进行提取, 而墙面是空间中点垂直聚集的区域, 因此采用格网化方法按照点云密度进行插值生成灰度图, 利用阈值进行二值化得到二值图。二值图是单层内点云密度的简化信息, 墙面所在格网应是值为1的点位。因此对于墙面提取时, 区域生长的规则是对种子点邻域中值为1的点进行聚集并继续生长, 直到某点邻域中没有值为1的像素, 则停止生长, 且认为二值图上的线段达到了端点, 该点是房间角点的备选点。具体步骤如下:

      1) 首先选取值为1的任意一点作为种子点, 记为P1, 对其八邻域进行搜索, 若邻域内没有值为1的点, 若其周围只有一个值为1的点, 则将该点记为P2, 且记P1为端点N1, 如图 7(a)所示。然后对P2的其他邻域进行搜索, 若不存在某一点能与P1P2共线, 则记P2为端点N2, 如图 7(b)所示; 若存在某一点使这3点共线, 则该点记为P3, P2点标记为中间点, 如图 7(c)所示。最后继续对P3进行邻域搜索, 以此类推, 直到Pn的邻域中没有任何一个点能与Pn-1Pn共线, 则记Pn为端点, P1Pn连成的直线段构成一段墙面。

      图  7  种子点为端点的情况一

      Figure 7.  Situation One of Seed Point Being End Point

      2) 若P1点周围有两个及以上的点, 则寻找是否有能与P1形成共线的两点。如果没有, 则记P1为端点, 且分别向各点延伸, 重复步骤1), 直到达到另一个端点, 如图 8(a)所示。如果有一对点与P1形成共线, 如图 8(b)所示, 则记P1点为中间点, 且由P1分别向该两点延伸, 重复判断共线步骤, 直到达到端点。如果有超过一对点与P1形成共线, 如图 8(c)所示, 则对每一对点重复步骤2), 直至找到端点。

      图  8  种子点为端点的情况二

      Figure 8.  Situation Two of Seed Point Being Intermediate Point

      3) 完成一次搜索后, 进行下一个种子点的选取。需注意的是, 步骤1)、2)的种子点和标记的中间点不可再作为种子点。重复上述步骤, 直到完成对所有值为1的点的判断。

      4) 角点判断。由于点云扫描过程中障碍物的遮蔽或者杂乱障碍物的影响, 实际生活中完整的墙面可能会在二值图中断开。因此, 墙面上会生成断点, 同时杂点也会造成线段的端点, 而只有房间墙面的角点才是对房间几何信息有用的, 因此需要判断端点是否为角点。因墙面之外的间隙区域不会被扫描到, 所有墙面背处是空白。因此, 定义有且仅有一组互相垂直的线段相交于某端点, 则该点是房间墙面的角点。

      传统方法中, 如图 9所示, 红框中的角点往往会在墙段提取中被忽略, 而生成一个矩形模型代表房间。本文通过室内墙面点云提取得到的房间区域比利用墙段分隔得到的房间精细化程度更高, 保留了更多的细节。

      图  9  房间角点细节

      Figure 9.  Details of Room Corners

      5) 语义标注。如图 10所示, 选取步骤4)筛选出的角点N1, 沿着该角点的一个方向进行搜索, 直到遇到另一个角点记为N2, 记录两个角点之间的墙面为Wallsurf1。接着, 向该角点所在的与N1方向相异的墙面方向搜索, 依次类推, 直到回到N1点, 至此形成一个闭合的房间。过程中记录的角点和墙面都属于这个房间。

      图  10  房间语义标注

      Figure 10.  Semantic Lablel of Room

      本文用包含4个房间的典型点云数据集对基于区域生长算法的角点提取方法进行验证。这4个房间中的边缘细节各不相同, 代表性较强。如图 11所示, 以XOY平面为参考面进行降维投影, 实验中规定格网尺寸必须小于对应墙面间隙宽度的1/2, 防止两个墙面落入同一个或相邻的两列格网中, 从而失去墙面间缝隙的几何特征, 造成后续提取困难。二值化后的图如图 12所示。由图 12中可以看出, 二值化图对于室内墙面的细节有较好的保留, 墙的角点和墙面之间的间隙细节均损失较小。数据集中4个房间真实的角点个数N与提取出的角点个数n的比较如表 2所示。其中, 提取正确率Cr定义为:

      $$ {C_r} = \left( {1 - \frac{{N - n}}{N}} \right) \times 100{\rm{\% }} $$ (3)

      图  11  数据集的点云

      Figure 11.  Point Clouds of Dataset

      图  12  数据集的二值化图

      Figure 12.  Binary Map of Dataset

      表 2  角点提取正确率

      Table 2.  Correctness of Corner Extraction

      房间 角点真实个数
      N
      提取的角点个数
      n
      正确率
      Cr/%
      Room1 8 7 87.5
      Room2 6 7 85.7
      Room3 6 6 100.0
      Room4 8 6 75.0

      基于区域生长算法得到墙面角点, 从而得到室内的三维空间表达, 比单独用墙段表达房间更加精细化, 也更加接近真实世界。对于形状为弧形或者墙角不为直角的墙面, 则需要更改区域生长的条件, 在后续的研究中将会进行探讨。

    • 门窗提取对于拓扑关系的定义至关重要, 它们的存在与否决定了共享该空间分隔的两个子空间是否存在连通关系。门窗在点云中最显著的特征是会造成一面墙的点云在其所在的位置形成较低密度的点云, 甚至是孔洞, 很多学者也利用这个特征对门窗进行了提取。Díaz-Vilariño等[12]还对提取到的低密度点云区域利用Canny算子进行边缘提取, 并根据其形态特征进行判断。然而这个特征很容易被遮挡墙面的障碍物所影响, 特别是橱柜等几何形态与门窗类似的障碍物, 如图 13所示。对此处进行三维扫描时, 橱柜的遮挡会造成墙面上点云密度值明显低于其他位置, 而其形状、高度、宽度均与门窗相似, 因此很难通过统计方法或者几何方法对其进行区分。

      图  13  障碍物对门窗提取的影响

      Figure 13.  Effect of Obstacles on Door and Window Extraction

      本文引入细化空间分隔思想后, 不再将墙看作一个整体, 而是通过对两个墙面分别进行§2.1的步骤, 对存在门窗的区域, 在一面墙的两个墙面对应位置均应形成低密度区域, 而靠近墙的障碍物则不会。

    • 为了将同属一面墙的两个墙面对应起来, 以便获得相应的备选区域, 选定一墙面, 排除与其同属于一房间的墙面后, 任选一墙面, 判断两个墙面所在的线段之间的相互关系。记其中一个墙面对应的端点坐标为N1(x1, y1)、N2(x2, y2), 另一个墙面对应点的坐标为N3(x3, y3)、N4(x4, y4)。当两个墙面在格网化后的二维坐标系中均不是水平直线时, 即x1x2x3x4时, 令$k{}_1^{} = \frac{{{y_2} - {y_1}}}{{{x_2} - {x_1}}}, {k_{\begin{array}{*{20}{l}} 2\\ {} \end{array}}} = \frac{{{y_4} - {y_3}}}{{{x_4} - {x_3}}}$, 则两个墙面之间的夹角θ为:

      $$ \theta = {\rm{arctan}}\left| {\frac{{{k_2} - {k_1}}}{{1 + {k_1}{k_2}}}} \right| $$ (4)

      x1=x2x3=x4时, 直线斜率无法表达, 此时直接判定两墙面平行。若有一面墙两个端点的x值相等, 另一墙面的斜率在规定阈值范围内时, 则可认为是平行。选取任意端点, 计算其与另一墙面间的距离。如选取N1点, 计算其与N3N4之间的距离d, 即:

      $$ d = \frac{{\left| {A{x_1} + B{y_1} + C} \right|}}{{\sqrt {{A^2} + {B^2}} }} $$ (5)

      其中, $A = {y_1} - {y_2}$, $B = {x_2} - {x_1}$, $C = {x_1}{y_2} - {x_2}{y_1}$。

      若墙面厚度为ε, 以此作为两墙面距离阈值的参考, 本文选择ε的1.5倍, 若d < 1.5ε, 则认为上述两个墙面是平行且距离足够近的, 这两个墙面即可以匹配成为一个墙段。

    • 对匹配得到的每组墙面均进行格网化, 但格网化的参考面需要改为垂直面。对于点云密度低于设定阈值的格网, 寻找其匹配墙面上对应点位的格网, 若其同样符合阈值, 则将该点位的格网记为门窗备选区域。

    • 室内导航网络提取过程中, 门窗提取的目的是定义共享一面墙的两个空间是否可以通过一定的开放区域达到能够让导航主体通过的条件, 从而定义这两个空间是否具有连通性。因此提取出的开放区域必须达到一定面积[20], 且形态特征上可以允许导航主体通过, 而不同导航主体所设置的筛选条件是不同的。

      当导航主体是无人机时, 其体积通常较小, 而且无人机的运动特性不同于行人, 它可以穿过位于较高位置的开放区域; 当导航主体是应用于智能仓储、智能物流中的叉车时, 不仅要考虑其通过体积, 还要考虑当前出口是否有为叉车平稳通过该处的条件。

      如果导航主体是行人, 则通常做法是以人体正射影像所占面积的经验值为基础, 向外以一定宽度生成面域缓冲区, 获得行人所能通过的开放区域的面积约束。然而面积约束并不能排除全部异常区域, 对于过于狭窄或者过于低矮的条形区域, 有可能面积达到一定值, 但并不适合人类行走。为了使提取出的开放区域更加符合人的真实感受和行走习惯, 本文设定矩形区域的经验宽度值和经验高度值, 以保证提取出来的开放区域可供人类穿过, 如图 14所示。

      图  14  行人主体开放区域筛选约束

      Figure 14.  Screening Constraint of Opening Area for Pedestrian

      本实验中涉及到的门窗几何信息如图 15所示, 门高2.00 m, 门宽0.90 m, 窗1高、宽分别为0.45 m、0.80 m, 窗2高、宽分别为1.00 m、0.15 m。

      图  15  门窗几何信息

      Figure 15.  Information of Door and Windows

      对一组对应的墙面进行格网化, 将整个墙面按照n×n进行格网划分, 统计落入每个格网的点云数量。生成密度插值的二维图像, 如图 16所示。

      图  16  格网化后密度图

      Figure 16.  Density Graph After Griding

      设定阈值并进行二值化。本实验在n=20时, 将点云数量小于等于5的格网利用空间插值赋值为1, 显示为黑色, 其余部分赋值为0, 显示为白色。两个墙面生成的二值图如图 17所示。比较两个墙面上对应格网点的值, 若均为1, 则该格网被筛选为备选区域。比对后, 聚集区域显示如图 18所示。

      图  17  两个墙面的二值图比对

      Figure 17.  Comparison of Binary Maps of Two Wall Surfaces

      图  18  聚集区域显示

      Figure 18.  Aggregate Area Display

      对聚集格网计算格网面积, 本文基于行人导航主体考虑, 设置约束条件为:面积阈值经验值为1.8 m2, 最小宽度经验值为0.4 m, 最小高度经验值为1.5 m。当导航主体是行人时, 只有同时满足这3个条件才可以认为此处存在可供通过的开放区域, 且认为该处是有门存在的。

      对门窗提取方法精度的验证, 利用实验数据门窗中3种不同的开放区域的高和宽与真实数据进行对比, 记门窗尺寸数据误差值=计算值-测量值。当提取出的区域因格网原因并不为规则形状时, 分别选取长度和宽度的平均值代表其长度和宽度。在一定量数据的情况下, 一组数据的平均误差比较能反映真实值, 选择中误差作为本次实验的精度评价标准。当n=20时, 格网尺寸为0.1 m×0.045 m, 门窗提取精度如表 3所示。

      表 3  n=20时门窗提取精度/m

      Table 3.  Precision of Door and Window Extraction When n=20/m

      指标 窗1 窗2
      测量值 1.95 0.77 0.45 0.77 1.25 0.15
      误差值 0.05 0.13 0 0.03 -0.25 0
      中误差 0.107

      为了验证门窗提取方法中格网尺寸的大小对精度的影响, 本文针对不同的n值, 分别重复实验步骤。当n=22时, 中误差为0.031 m; 当n=24时, 中误差为0.134 m。

      经过实验验证并结合实际情况, 门窗提取精度随着格网密度的增加呈现出近似正态分布的趋势。在n值较小、格网尺寸较大的情况下, 则门窗边缘与格网的相对位置关系对于该格网内的点云密度是否符合阈值有较大影响, 提取的边缘误差随之变化较大。因此, 在一定范围内逐渐缩小格网尺寸, 门窗提取精度逐渐提高。但超出合理范围之后, 随着格网密度的增加, 落入每一个格网的点云数量相对稀少, 各个格网插值后的灰度值大小相近, 难以用阈值将备选区域区分出来, 精度反而会降低, 甚至无法有效进行门窗提取。

    • 由于三维激光扫描仪只记录物体表面坐标, 被扫描的物体都可以表述为涵盖自身背部空白的一组点集, 因此本文提出一种细化空间分隔的思想, 即将墙视为由两个墙面及中间不被扫描的墙体组成。在点云中, 一面墙表现为两组平行且相近的平面点云集和一处间隙。利用该空间分隔思想进行房间提取时, 将墙面厚度纳入考虑的因素, 根据内部墙面确定一个房间, 运用区域生长算法获取墙面上的角点, 进而获得房间内部的精细边缘。以一面墙的两个墙面对应的格网点云密度比对来提取门窗。该方法解决了墙面障碍物对门窗提取的干扰, 对于拓扑关系的正确构建有重要意义。但该方法依旧存在不足之处, 当扫描物体表面时, 未能保持敞开状态的门则无法被检测出来, 这是下一步研究中需要解决的问题。

参考文献 (20)

目录

    /

    返回文章
    返回