留言板

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

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

自动绘制室内平面图的点云向量追踪算法

蔡来良 宋德云 胡青峰 魏峰远 舒前进

蔡来良, 宋德云, 胡青峰, 魏峰远, 舒前进. 自动绘制室内平面图的点云向量追踪算法[J]. 武汉大学学报 ● 信息科学版, 2021, 46(9): 1404-1411. doi: 10.13203/j.whugis20190258
引用本文: 蔡来良, 宋德云, 胡青峰, 魏峰远, 舒前进. 自动绘制室内平面图的点云向量追踪算法[J]. 武汉大学学报 ● 信息科学版, 2021, 46(9): 1404-1411. doi: 10.13203/j.whugis20190258
CAI Lai-liang, SONG De-yun, HU Qing-feng, WEI Feng-yuan, SHU Qian-jin. A Point Cloud Vector Tracing Algorithm for Automatic Drawing of Interior Plan[J]. Geomatics and Information Science of Wuhan University, 2021, 46(9): 1404-1411. doi: 10.13203/j.whugis20190258
Citation: CAI Lai-liang, SONG De-yun, HU Qing-feng, WEI Feng-yuan, SHU Qian-jin. A Point Cloud Vector Tracing Algorithm for Automatic Drawing of Interior Plan[J]. Geomatics and Information Science of Wuhan University, 2021, 46(9): 1404-1411. doi: 10.13203/j.whugis20190258

自动绘制室内平面图的点云向量追踪算法

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

国家自然科学基金 41701597

国家自然科学基金 U1810203

中国博士后科学基金 2018M642746

详细信息
    作者简介:

    蔡来良, 博士, 副教授, 主要从事开采沉陷、点云处理方面的教学研究工作。cll@hpu.edu.cn

    通讯作者: 宋德云,硕士。643823940@qq.com
  • 中图分类号: P237

A Point Cloud Vector Tracing Algorithm for Automatic Drawing of Interior Plan

Funds: 

National Natural Science Foundation of China 41701597

National Natural Science Foundation of China U1810203

the Postdoctoral Science Foundation of China 2018M642746

More Information
    Author Bio:

    CAI Lailiang, PhD, associate professor, specializes in mining subsidence and point cloud processing. E-mail: cll@hpu.edu.cn

    Corresponding author: SONG Deyun, master. E-mail: 643823940@qq.com
  • 摘要: 根据建筑物室内墙壁的空间姿态特征, 建立了一种自动绘制室内平面图的点云向量追踪算法。首先截取一定厚度的室内墙体点云并将其投影至水平面, 在投影平面上建立正方形格网, 对投影后的平面点进行分割管理, 并通过八邻域算法对网格内点云进行聚类。然后采用网格重心法对聚类后的点云数据进行抽稀, 并根据邻域内点间距与连线向量夹角大小对抽稀后的点进行追踪排序, 建立追踪方向的向量序列, 结合向量序列中相邻值夹角的突变情况完成不同墙面的点云分割。最后采用最小二乘算法对分割得到的相同墙面点云进行直线拟合, 求取相邻墙体直线的交点, 建立房屋墙体平面投影线段及其空间连接关系, 依序输出墙体投影线段, 完成房屋平面图的绘制并导出DXF格式数据交换文件。通过对某小区建筑物室内扫描数据的分析, 对所提算法进行验证, 结果表明所提算法可准确快速地对室内三维激光扫描点云进行分析处理, 并完成室内建筑物平面图的绘制。
  • 图  1  建筑物室内平面图绘制流程图

    Figure  1.  Flowchart of Building Interior Plan Drawing

    图  2  点云投影示意图

    Figure  2.  Diagrams of Point Cloud Projection

    图  3  基于八邻域的点云聚类

    Figure  3.  Point Cloud Clustering Based on Eight Neighborhood

    图  4  点云抽稀示意图

    Figure  4.  Diagram of Point Cloud Extraction

    图  5  点云排序流程图

    Figure  5.  Flowchart of Point Cloud Sorting

    图  6  点云排序示意图

    Figure  6.  Diagram of Point Cloud Sorting

    图  7  点云分割流程图

    Figure  7.  Flowchart of Point Cloud Segmentation

    图  8  点云分割并求交点

    Figure  8.  Segmentation and Intersection of Point Clouds

    图  9  窗户拐角示意图

    Figure  9.  Diagram of Tiny Corner

    图  10  室内平面图绘制结果

    Figure  10.  Results of Interior Plan Drawing

    图  11  门与窗户识别流程图

    Figure  11.  Flowchart of Door and Window Identification

    图  12  室内点云的截面与投影

    Figure  12.  Cross-Section and Projection of Indoor Point Cloud

    图  13  点云聚类单元

    Figure  13.  Point Cloud Clustering Units

    图  14  不同算法对墙体点云的处理结果对比

    Figure  14.  Processing Results of Wall Point Clouds by Different Algorithms

    图  15  向量追踪算法室内平面图绘制结果

    Figure  15.  Result of Point Cloud Vector Tracing Algorithm for Drawing Interior Plan

    表  1  不同算法绘图效果对比

    Table  1.   Results Comparison of Different Algorithms

    算法 精度/% 召回率/% F1综合评价系数
    IEPF算法 95 83 0.88
    HT算法 71 100 0.83
    向量追踪算法 100 100 1
    下载: 导出CSV

    表  2  不同长度的直线识别准确率

    Table  2.   Line Recognition Accuracy of Different Lengths

    墙壁长度/cm 墙壁数量 正确识别数量 正确率/%
    (5, 15] 18 16 89
    (15, 25] 19 19 100
    (25, 35] 25 25 100
    > 35 28 28 100
    下载: 导出CSV

    表  3  拐角点位误差统计

    Table  3.   Statistics of Corner Point Position Errors

    点位误差/mm 拐角数量
    (0, 1.5] 13
    (1.5, 3.0] 26
    (3.0, 4.5] 29
    (4.5, 10] 10
    下载: 导出CSV
  • [1] Weerakoon T, Ishii K, Nassiraei A A F. Geometric Feature Extraction from 2D Laser Range Data for Mobile Robot Navigation[C]//2015 IEEE 10th International Conference on Industrial and Information Systems(ICⅡS), Peradeniya, Sri Lanka, 2015
    [2] 危双丰, 刘明蕾, 赵江洪, 等. 利用点云检测室内导航元素的方法综述[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
    [3] Nguyen Tien Thanh, 刘修国, 王红平, 等. 基于激光扫描技术的三维模型重建[J]. 激光与光电子学进展, 2011, 48 (8): 112-117 https://www.cnki.com.cn/Article/CJFDTOTAL-JGDJ201108016.htm

    Nguyen Tien Thanh, Liu Xiuguo, Wang Hongping, et al. 3D Model Reconstruction Based on Laser Scanning Technique[J]. Laser & Optoelectronics Progress, 2011, 48(8): 112-117 https://www.cnki.com.cn/Article/CJFDTOTAL-JGDJ201108016.htm
    [4] 王鹏, 刘如飞, 马新江, 等. 一种车载激光点云中杆目标自动提取方法[J]. 武汉大学学报·信息科学版, 2020, 45 (7): 1 035-1 042 doi:  10.13203/j.whugis20170421

    Wang Peng, Liu Rufei, Ma Xinjiang, et al. An Automatic Extraction Method for Pole-Like Objects from Vehicle-Borne Laser Point Cloud[J]. Geomatics and Information Science of Wuhan University, 2020, 45(7): 1 035-1 042 doi:  10.13203/j.whugis20170421
    [5] 朱庆, 李世明, 胡翰, 等. 面向三维城市建模的多点云数据融合方法综述[J]. 武汉大学学报·信息科学版, 2018, 43 (12): 1 962-1 971 doi:  10.13203/j.whugis20180109

    Zhu Qing, Li Shiming, Hu Han, et al. Multiple Point Clouds Data Fusion Method for 3D City Modeling[J]. Geomatics and Information Science of Wuhan University, 2018, 43(12): 1 962-1 971 doi:  10.13203/j.whugis20180109
    [6] Garulli A, Giannitrapani A, Rossi A, et al. Mobile Robot SLAM for Line-Based Environment Representation[C]//44th IEEE Conference on Decision and Control, Seville, Spain, 2005
    [7] 满增光, 叶文华, 楼佩煌, 等. 基于自适应阈值的距离图像线段特征提取[J]. 深圳大学学报(理工版), 2011, 28 (6): 483-488 doi:  10.3969/j.issn.1000-2618.2011.06.003

    Man Zengguang, Ye Wenhua, Lou Peihuang, et al. Line Feature Extraction Based on Adaptive Threshold in Range Images[J]. Journal of Shenzhen University Science and Engineering, 2011, 28(6): 483-488 doi:  10.3969/j.issn.1000-2618.2011.06.003
    [8] Borges G A, Aldon M J. Line Extraction in 2D Range Images for Mobile Robotics[J]. Journal of Intelligent and Robotic Systems, 2004, 40 (3): 267-297 doi:  10.1023/B:JINT.0000038945.55712.65
    [9] Vandorpe J, Van Brussel H, Xu H. Exact Dynamic Map Building for a Mobile Robot Using Geometrical Primitives Produced by a 2D Range Finder[C]//IEEE International Conference on Robotics and Automation, Minneapolis, MN, USA, 1996
    [10] Borges G A, Aldon M J. A Split-and-Merge Segmentation Algorithm for Line Extraction in 2D Range Images[C]//15th International Conference on Pattern Recognition (ICPR-2000), Barcelona, Spain, 2000
    [11] Nguyen V, Gächter S, Martinelli A, et al. A Comparison of Line Extraction Algorithms Using 2D Range Data for Indoor Mobile Robotics[J]. Autonomous Robots, 2007, 23 (2): 97-111 doi:  10.1007/s10514-007-9034-y
    [12] Choi Y H, Lee T K, Oh S Y. A Line Feature Based SLAM with Low Grade Range Sensors Using Geometric Constraints and Active Exploration for Mobile Robot[J]. Autonomous Robots, 2008, 24 (1): 13-27 doi:  10.1007/s10514-007-9050-y
    [13] 田朋举, 梅文胜, 花向红, 等. 一种基于点云数据快速生成建筑物断面图的方法[J]. 测绘地理信息, 2020, 45 (4): 88-92 https://www.cnki.com.cn/Article/CJFDTOTAL-CHXG202004019.htm

    Tian Pengju, Mei Wensheng, Hua Xianghong, et al. A Method for Generating Building Sectional Drawing Using 3D Laser Point Cloud Data[J]. Journal of Geomatics, 2020, 45(4): 88-92 https://www.cnki.com.cn/Article/CJFDTOTAL-CHXG202004019.htm
    [14] He X, Cai Z H. Feature Extraction from 2D Laser Range Data for Indoor Navigation of Aerial Robot [C]//2013 Chinese Automation Congress, Changsha, China, 2013
    [15] 湛逸飞, 杨必胜. 基于LiDAR点云法向量稳健估计的室内平面图自动生成方法[J]. 地理信息世界, 2017, 24 (1): 92-96 doi:  10.3969/j.issn.1672-1586.2017.01.018

    Zhan Yifei, Yang Bisheng. An Automatic Indoor Plan Generation Method Based on Robust LiDAR Point Cloud Normal Estimation[J]. Geomatics World, 2017, 24 (1): 92-96 doi:  10.3969/j.issn.1672-1586.2017.01.018
    [16] 郑德华. ICP算法及其在建筑物扫描点云数据配准中的应用[J]. 测绘科学, 2007, 32 (2): 31-32 https://www.cnki.com.cn/Article/CJFDTOTAL-CHKD200702008.htm

    Zheng Dehua. ICP Algorithm and Application in the Data Registration of Building Scanning Point Cloud [J]. Science of Surveying and Mapping, 2007, 32 (2): 31-32 https://www.cnki.com.cn/Article/CJFDTOTAL-CHKD200702008.htm
    [17] 何君. 基于局部拟合平面投影搜索最近点的ICP配准[J]. 测绘地理信息, 2019, 44 (4): 86-89 https://www.cnki.com.cn/Article/CJFDTOTAL-CHXG201904021.htm

    He Jun. ICP Registration Algorithm Based on Closet Point Searching in Local Plane Projection[J]. Journal of Geomatics, 2019, 44(4): 86-89 https://www.cnki.com.cn/Article/CJFDTOTAL-CHXG201904021.htm
    [18] 屈亚运, 程英蕾, 邱浪波. 改进的八邻域搜索提取建筑物立体特征方法[J]. 空军工程大学学报(自然科学版), 2015, 16 (4): 66-69 https://www.cnki.com.cn/Article/CJFDTOTAL-KJGC201504016.htm

    Qu Yayun, Cheng Yinglei, Qiu Langbo. An Improved Method of Extracting 3D Features of Buildings Based on Eight Neighborhood Search Method[J]. Journal of Air Force Engineering University(Natural Science Edition), 2015, 16(4): 66-69 https://www.cnki.com.cn/Article/CJFDTOTAL-KJGC201504016.htm
    [19] 衡星辰, 罗俊颉, 郭俊文, 等. 八邻域网格聚类的多样性XML文档近似查询算法[J]. 西安交通大学学报, 2007, 41(8): 907-911 https://www.cnki.com.cn/Article/CJFDTOTAL-XAJT200708009.htm

    Heng Xingchen, Luo Junjie, Guo Junwen, et al. Approximate Query Algorithm Based on EightNeighbor Grid Clustering for Heterogeneous XML Documents[J]. Journal of Xi'an Jiaotong University, 2007, 41(8): 907-911 https://www.cnki.com.cn/Article/CJFDTOTAL-XAJT200708009.htm
    [20] 彭晨, 余柏蒗, 吴宾, 等. 基于移动激光扫描点云特征图像和SVM的建筑物立面半自动提取方法[J]. 地球信息科学学报, 2016, 18 (7): 878-885 https://www.cnki.com.cn/Article/CJFDTOTAL-DQXX201607004.htm

    Peng Chen, Yu Bailang, Wu Bin, et al. A Method for Semiautomated Segmentation of Building Facade from Mobile Laser Scanning Point Cloud Based on Feature Images and SVM[J]. Journal of Geo-Information Science, 2016, 18(7): 878-885 https://www.cnki.com.cn/Article/CJFDTOTAL-DQXX201607004.htm
  • [1] 蒋腾平, 杨必胜, 周雨舟, 朱润松, 胡宗田, 董震.  道路点云场景双层卷积语义分割 . 武汉大学学报 ● 信息科学版, 2020, 45(12): 1942-1948. doi: 10.13203/j.whugis20200081
    [2] 李健, 曹垚, 王宗敏, 王广印.  融合k-means聚类和Hausdorff距离的散乱点云精简算法 . 武汉大学学报 ● 信息科学版, 2020, 45(2): 250-257. doi: 10.13203/j.whugis20180204
    [3] 危双丰, 刘明蕾, 赵江洪, 黄帅.  利用点云检测室内导航元素的方法综述 . 武汉大学学报 ● 信息科学版, 2018, 43(12): 2003-2011. doi: 10.13203/j.whugis20180144
    [4] 熊汉江, 郑先伟, 丁友丽, 张艺, 吴秀杰, 周妍.  基于2D-3D语义传递的室内三维点云模型语义分割 . 武汉大学学报 ● 信息科学版, 2018, 43(12): 2303-2309. doi: 10.13203/j.whugis20180190
    [5] 张继贤, 段敏燕, 林祥国, 臧艺.  激光雷达点云电力线三维重建模型的对比与分析 . 武汉大学学报 ● 信息科学版, 2017, 42(11): 1565-1572. doi: 10.13203/j.whugis20150385
    [6] 黄荣刚, 杨必胜, 李健平, 田茂, 梁新美.  利用目标区域拓扑关系图提取建筑物点云 . 武汉大学学报 ● 信息科学版, 2017, 42(4): 475-481. doi: 10.13203/j.whugis20160112
    [7] 肖巍峰, 邓敏, 李朝奎.  三维点云多尺度等值线模型Morphing变换方法研究 . 武汉大学学报 ● 信息科学版, 2015, 40(7): 957-963. doi: 10.13203/j.whugis20140107
    [8] 托雷, 康志忠, 谢远成, 王保前.  利用三维点云数据的地铁隧道断面连续截取方法研究 . 武汉大学学报 ● 信息科学版, 2013, 38(2): 171-175,185.
    [9] 康志忠, 王薇薇, 李珍.  多源数据融合的三维点云特征面分割和拟合一体化方法 . 武汉大学学报 ● 信息科学版, 2013, 38(11): 1317-1321.
    [10] 闫利, 谢洪, 胡晓斌, 鲍秀武.  一种新的点云平面混合分割方法 . 武汉大学学报 ● 信息科学版, 2013, 38(5): 517-521.
    [11] 应 申, 毛政元, 李 霖, 许 光.  利用3D Voronoi图的兔子点云聚类分割 . 武汉大学学报 ● 信息科学版, 2013, 38(3): 358-361.
    [12] 利用3DVoronoi图的兔子点云聚类分割 . 武汉大学学报 ● 信息科学版, 2013, 38(3): 358-.
    [13] 胡举, 杨辽, 沈金祥, 吴小波.  一种基于分割的机载LiDAR点云数据滤波 . 武汉大学学报 ● 信息科学版, 2012, 37(3): 318-321.
    [14] 杨荣华, 花向红, 邱卫宁, 耿涛.  地面三维激光扫描点云角度分辨率研究 . 武汉大学学报 ● 信息科学版, 2012, 37(7): 851-853.
    [15] 魏征, 董震, 李清泉, 杨必胜.  车载LiDAR点云中建筑物立面位置边界的自动提取 . 武汉大学学报 ● 信息科学版, 2012, 37(11): 1311-1315.
    [16] 孙殿柱, 刘健, 李延瑞, 孙永伟.  三维散乱点云的Voronoi拓扑近邻点集查询算法 . 武汉大学学报 ● 信息科学版, 2011, 36(1): 86-91.
    [17] 刘亚文, 宋守东.  利用航空影像、点云数据和矢量图进行简单房屋三维重建方法研究 . 武汉大学学报 ● 信息科学版, 2009, 34(8): 894-897.
    [18] 曾齐红, 毛建华, 李先华, 刘学锋.  激光雷达点云平面拟合过滤算法 . 武汉大学学报 ● 信息科学版, 2008, 33(1): 25-28.
    [19] 赵煦, 周克勤, 闫利, 邓非.  基于激光点云的大型文物景观三维重建方法 . 武汉大学学报 ● 信息科学版, 2008, 33(7): 684-687.
    [20] 闫利, 张毅.  基于法向量模糊聚类的道路面点云数据滤波 . 武汉大学学报 ● 信息科学版, 2007, 32(12): 1119-1122.
  • 加载中
图(15) / 表(3)
计量
  • 文章访问数:  395
  • HTML全文浏览量:  133
  • PDF下载量:  47
  • 被引次数: 0
出版历程
  • 收稿日期:  2020-10-26
  • 刊出日期:  2021-09-18

自动绘制室内平面图的点云向量追踪算法

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

    国家自然科学基金 41701597

    国家自然科学基金 U1810203

    中国博士后科学基金 2018M642746

    作者简介:

    蔡来良, 博士, 副教授, 主要从事开采沉陷、点云处理方面的教学研究工作。cll@hpu.edu.cn

    通讯作者: 宋德云,硕士。643823940@qq.com
  • 中图分类号: P237

摘要: 根据建筑物室内墙壁的空间姿态特征, 建立了一种自动绘制室内平面图的点云向量追踪算法。首先截取一定厚度的室内墙体点云并将其投影至水平面, 在投影平面上建立正方形格网, 对投影后的平面点进行分割管理, 并通过八邻域算法对网格内点云进行聚类。然后采用网格重心法对聚类后的点云数据进行抽稀, 并根据邻域内点间距与连线向量夹角大小对抽稀后的点进行追踪排序, 建立追踪方向的向量序列, 结合向量序列中相邻值夹角的突变情况完成不同墙面的点云分割。最后采用最小二乘算法对分割得到的相同墙面点云进行直线拟合, 求取相邻墙体直线的交点, 建立房屋墙体平面投影线段及其空间连接关系, 依序输出墙体投影线段, 完成房屋平面图的绘制并导出DXF格式数据交换文件。通过对某小区建筑物室内扫描数据的分析, 对所提算法进行验证, 结果表明所提算法可准确快速地对室内三维激光扫描点云进行分析处理, 并完成室内建筑物平面图的绘制。

English Abstract

蔡来良, 宋德云, 胡青峰, 魏峰远, 舒前进. 自动绘制室内平面图的点云向量追踪算法[J]. 武汉大学学报 ● 信息科学版, 2021, 46(9): 1404-1411. doi: 10.13203/j.whugis20190258
引用本文: 蔡来良, 宋德云, 胡青峰, 魏峰远, 舒前进. 自动绘制室内平面图的点云向量追踪算法[J]. 武汉大学学报 ● 信息科学版, 2021, 46(9): 1404-1411. doi: 10.13203/j.whugis20190258
CAI Lai-liang, SONG De-yun, HU Qing-feng, WEI Feng-yuan, SHU Qian-jin. A Point Cloud Vector Tracing Algorithm for Automatic Drawing of Interior Plan[J]. Geomatics and Information Science of Wuhan University, 2021, 46(9): 1404-1411. doi: 10.13203/j.whugis20190258
Citation: CAI Lai-liang, SONG De-yun, HU Qing-feng, WEI Feng-yuan, SHU Qian-jin. A Point Cloud Vector Tracing Algorithm for Automatic Drawing of Interior Plan[J]. Geomatics and Information Science of Wuhan University, 2021, 46(9): 1404-1411. doi: 10.13203/j.whugis20190258
  • 近年来,随着城市建筑的发展,室内定位、室内导航以及对大型室内场所的智能化管理需求在不断增长。室内机器人研发处于快速发展阶段,室内平面地图不仅是机器人定位以及进行全局路径规划的基础[1-2],也是房产测绘以及一系列室内智能化服务的基础。三维激光扫描技术可快速准确地获取室内空间信息,是继GPS之后测绘技术的又一项新的突破[3]。该技术在智慧城市和基础测绘领域发挥越来越重要的作用[4]。经过多年的发展,三维激光扫描硬件在稳定性、精度、易操作性等方面有了很大的进步,但是对观测数据的处理算法及软件的开发还有待完善[5]。目前采用激光点云数据进行室内平面图的绘制应用中,墙面的点云分割结果对平面图的绘制精度有重要影响[6]。目前较常用的分割算法有多种,主要分为序惯算法和递归算法两类[7]。序惯算法主要包括点距离法(point distance based method, PDBM) [8-9]、边连续法(successive edge following, SEF) [10]以及线追踪法(line tracking, LT) [8, 10-11]。递归算法主要包括分割合并法(split and merge fuzzy, SMF) [10-11]和分段迭代拟合法(iterative end point fit, IEPF) [10, 12],这两种算法处理点云数据时易受噪点的影响。除此之外还有Hough变换(Hough transform, HT)算法,HT算法分割直线时不能确定直线端点,会检测出虚假直线以及额外画出对称直线[13],且时间复杂度较大,难以识别较短直线[14]。文献[15]采用法向量来对墙壁进行分割并绘制平面图,可有效抑制室内LiDAR点云数据的噪声,但难以对门与窗进行识别。本文考虑了建筑物室内墙壁之间的空间形态特征,提出了一种基于点云向量追踪的室内平面图自动绘制算法,并采用实例验证了所提算法的有效性。

    • 由于装修后的房屋内置不同风格的家具,点云分布规律比较复杂,本文暂不讨论此情况,仅以未装修的房屋为研究对象。建筑物室内点云平面数据提取与平面图绘制的流程如图 1所示。

      图  1  建筑物室内平面图绘制流程图

      Figure 1.  Flowchart of Building Interior Plan Drawing

    • 本文采用地面三维激光扫描仪对数据进行采集。采用多个站点对室内数据进行扫描后,通过点云配准[16-17]、去噪等步骤获得室内整体点云数据,分别于不同高度对室内点云数据进行分层截面投影与分割,并进行抽稀运算,为向量追踪算法的实施奠定基础。

    • 根据建筑物的结构截取房屋上、中、下三个不同高度的点云数据,将截取的点云投影至水平面,然后进行聚类分割运算,图 2为点云投影示意图。

      图  2  点云投影示意图

      Figure 2.  Diagrams of Point Cloud Projection

      窗户、门以及一些狭窄扫描盲区与遮挡的位置会造成部分墙壁点云缺失,水平截面投影后的点云数据在这些位置出现间断。为保证向量追踪算法的顺利运算,对水平截面投影后的点云数据进行聚类运算。

      本文采用基于格网的八邻域[18-19]聚类算法对投影后点云数据进行聚类运算,如图 3所示。首先对水平截面投影后的点云建立正方形格网,根据每个点的相应位置将其分配至网格中,然后根据八邻域算法对点云进行聚类计算。

      图  3  基于八邻域的点云聚类

      Figure 3.  Point Cloud Clustering Based on Eight Neighborhood

    • 经水平截面投影后的点之间的间距过小会造成相邻点间连线的夹角值变化较大,不利于向量追踪算法运算。为提高本文向量追踪算法的计算效率,需对点云进行抽稀运算。如图 4所示,本文采用空间格网重心法对点云进行抽稀运算。首先建立正方形格网,然后计算每个网格内激光扫描点的重心点,用重心点替代网格中的扫描点,达到抽稀效果。网格内点的重心点(Xz, Yz)的计算式为:

      $$ \left\{\begin{array}{l} X_{z}=\sum\limits_{i=1}^{n} x_{i} / n \\ Y_{z}=\sum\limits_{i=1}^{n} y_{i} / n \end{array}\right. $$ (1)

      图  4  点云抽稀示意图

      Figure 4.  Diagram of Point Cloud Extraction

      式中,(xi, yi)为网格内第i个激光扫描点的平面位置坐标;n为网格内激光扫描点的个数。

      三维激光扫描仪获取点云时存在一定的系统误差与某些墙体表面存在的微小凹凸结构,使得墙面的点云数据会存在一定点位误差。点位误差用Δl表示,根据误差传播定律可以得到存在m个点的网格内重心点的误差为$\Delta l/\sqrt m $。采用空间格网重心法对点云进行抽稀运算,不仅减少冗余数据,而且提高了点位的精度,使得点的空间分布更加均匀,利于后续计算的进行。

    • 离散无序的点云不能够显式表达室内结构以及墙壁之间的空间拓扑关系。通过分析可知,在墙面的延伸方向上,相邻点位方位角差异较小。根据相邻点距离及点与点构成的向量间夹角值大小对无序的点云进行追踪排序运算,具体步骤如图 5所示。

      图  5  点云排序流程图

      Figure 5.  Flowchart of Point Cloud Sorting

      点云排序具体步骤如下:

      1)判断起始点在聚类单元中的位置。抽稀计算后,以一个聚类单元为例,随机抽取其中一个起始点A,搜索距离A最近的点C。设置查询半径为r(r值取2倍格网边长),查询A周围距离小于r的其他点,与A建立以A为起点的向量,并计算这些向量与AC的夹角,取最大值α。以45°为阈值,若α < 45°,则A为聚类部分的端点;若α > 45°,则点A为中部点。如图 6(a)所示,ACAD组成夹角为4°,小于阈值,判断点A为端点。如图 6(b)所示,P为随机抽取点,DP最邻近点,PDPS组成的夹角值最大,为172°,大于阈值,判断点P为中部点。

      图  6  点云排序示意图

      Figure 6.  Diagram of Point Cloud Sorting

      2)运行以起始点为端点的向量追踪算法。如图 6(c)所示,以AC作为初始参考向量,将点A存入序列并从该聚类单元中移除,获取点C周围与其距离小于r的点集,各点与C分别建立以C为起点的向量,计算这些向量与参考向量AC的夹角,取夹角最小者。其中CPAC的夹角值最小,将点C存入序列并从该聚类单元中移除,并以CP作为下一步追踪的参考向量。如图 6(d)所示,获取点P周围距离小于r的点集,分别建立以P为起点的向量,并计算该向量与CP的夹角,其中PSCP的夹角值最小。选择PS为下次追踪的参考向量,以此类推,追踪到聚类单元结束点为止。

      3)运行以起始点为中点的向量追踪算法。如图 6(b)所示,分别以PDPS为初始参考向量向两端进行追踪运算。运算完成后,因两部分排序的方向相反,对其中一部分进行逆序排列后与另一列数据连接,完成运算。

      4)对每一个聚类单元进行上述运算,直到所有聚类单元的排序运算结束。

    • 不同墙壁点云分割,可根据室内建筑中墙壁之间的空间关系来开展,如两相交墙壁相互垂直,在墙壁拐角处相邻向量间夹角值会有较大变化。根据这一特点,对排序后的点云设置向量夹角阈值,实现每个墙壁的点云分割。基于向量夹角的墙壁点云分割流程见图 7。对排序后的点依次计算相邻点组成的向量值,统计相邻两向量的夹角,用户可根据房屋转角类型输入阈值,默认取45°。将相邻向量夹角小于阈值的点作为同一条直线点进行存储,夹角值大于阈值则新建直线集合对点进行存储,以此完成不同墙壁点云分割。相交墙壁的点云分割并求交点如图 8所示。

      图  7  点云分割流程图

      Figure 7.  Flowchart of Point Cloud Segmentation

      图  8  点云分割并求交点

      Figure 8.  Segmentation and Intersection of Point Clouds

    • 根据向量间夹角阈值完成各个墙面点云数据分割后,采用最小二乘算法进行直线拟合,获得墙壁投影线的直线方程Y=kX+b,该墙壁的扫描投影点(Xi, Yi)垂直投影到墙壁所在的直线位置误差为:ei=Yi-kXi-b。令该墙壁点误差的平方和为Q:

      $$ Q=\sum\limits_{i=1}^{N} e_{i}^{2}=\sum\limits_{i=1}^{N}\left(Y_{i}-k X_{i}-b\right)^{2} $$ (2)

      取合适的斜率值k与截距值b使Q值最小,即对Q求极值,计算式为:

      $$ \left\{\begin{array}{l} \frac{\partial Q}{\partial k}=2 \sum\limits_{i=1}^{N}\left(Y_{i}-k X_{i}-b\right)\left(-X_{i}\right) \\ \frac{\partial Q}{\partial b}=2 \sum\limits_{i=1}^{N}\left(Y_{i}-k X_{i}-b\right)(-1) \end{array}\right. $$ (3)

      当$\frac{\partial Q}{\partial k}=0, \frac{\partial Q}{\partial b}=0$时,求得:

      $$ \left\{\begin{array}{l} k=\frac{N \sum\limits_{i=1}^{N}\left(X_{i} Y_{i}\right)-\sum\limits_{i=1}^{N} X_{i} \sum\limits_{i=1}^{N} Y_{i}}{N \sum\limits_{i=1}^{N} X_{i}^{2}-\left(\sum\limits_{i=1}^{N} X_{i}\right)^{2}} \\ b=\frac{\sum\limits_{i=1}^{N} X_{i}^{2} \sum\limits_{i=1}^{N} Y_{i}-\sum\limits_{i=1}^{N} X_{i} \sum\limits_{i=1}^{N}\left(X_{i} Y_{i}\right)}{N \sum\limits_{i=1}^{N} X_{i}^{2}-\left(\sum\limits_{i=1}^{N} X_{i}\right)^{2}} \end{array}\right. $$ (4)

      根据最小二乘算法拟合得到的直线方程,以相邻两墙壁所在位置的直线方程计算交点。如图 8(b)所示,该交点即为室内地图中墙壁的拐角点(X, Y),满足计算式:

      $$ \left\{\begin{array}{l} Y=k_{1} X+b_{1} \\ Y=k_{2} X+b_{2} \end{array}\right. $$ (5)

      可得:

      $$ \left\{\begin{array}{l} X=\left(b_{2}-b_{1}\right) /\left(k_{1}-k_{2}\right) \\ Y=\left(k_{2} b_{1}-k_{1} b_{2}\right) /\left(k_{2}-k_{1}\right) \end{array}\right. $$ (6)

      式中,k1b1k2b2分别为拟合求取的相交墙壁直线方程系数。

      扫描推拉窗时,由于内外窗户不在同一平面,导致点云出现分离错层,即该部分窗户生成点云在直线拟合时分割为两条直线,如图 9所示。本文对相邻两条直线的夹角设置经验阈值,对于夹角小于阈值的两条直线,取直线排序中前一条直线点序列终点与后一条直线点序列起点作为窗户拐角点。

      图  9  窗户拐角示意图

      Figure 9.  Diagram of Tiny Corner

    • 将端点与拐角点依序采用直线连接完成一个聚类单元的平面图。对所有聚类单元点云进行处理,获得建筑物室内平面图,如图 10所示。

      图  10  室内平面图绘制结果

      Figure 10.  Results of Interior Plan Drawing

      以上部平面图为参考,对每个墙壁寻找上层与下层对应位置出现的拐点并计算拐点间距。在建筑物中的门与窗的识别中,门与窗一般有固定的大小,可根据建筑物实际情况设置最小距离,若拐点间距小于最小间距则判断为非门窗位置,若符合阈值范围则进行进一步判断识别。室内点云数据中门与窗的识别流程如图 11所示。

      图  11  门与窗户识别流程图

      Figure 11.  Flowchart of Door and Window Identification

    • 本文使用Riegl-VZ1000三维激光扫描仪获取数据,单次扫描精度为5 mm/100 m。以Visual Studio 2010为开发平台,结合C#语言与Open GL图形库,实现了室内建筑物平面图的自动绘制。

      以某小区一个未装修的居民住房为研究区域,设置11个扫描站对室内各个结构进行充分扫描,扫描完成后对各个站点数据进行粗拼接和精细拼接,获得室内点云数据。考虑室内窗户的安装位置以及门与屋顶高度等因素,分别截取高度为0.1~0.2 m、1.45~1.55 m、2.55~2.65 m的点云数据,将下、中、上三部分点云分别投影至水平面,结果如图 12所示。

      图  12  室内点云的截面与投影

      Figure 12.  Cross-Section and Projection of Indoor Point Cloud

      由于该室内最短墙壁长约为10 cm,点云平均间隔为1.2 cm,组成一条墙壁的直线最少需要两个点,因此将格网的长度d设置为5 cm,对投影后的点通过基于格网的八邻域聚类算法进行聚类计算。聚类计算完成后根据点云密度,将聚类点数小于5的点集判断为非墙壁点,进行删除。投影后的扫描点聚类结果如图 13所示,每一个聚类部分称为一个聚类单元,对每一个聚类单元用包围盒进行表示,计算后得到8个主要聚类单元。

      图  13  点云聚类单元

      Figure 13.  Point Cloud Clustering Units

    • 以室内投影点的一个聚类单元为例,分别采用IEPF算法、HT算法和向量追踪算法对墙体点云进行处理,结果见图 14。由图 14可以看出,本文的向量追踪算法能够较好地保存原始数据的几何形态,完成平面图的绘制。

      图  14  不同算法对墙体点云的处理结果对比

      Figure 14.  Processing Results of Wall Point Clouds by Different Algorithms

      采用向量追踪算法计算时,点云排序的搜索半径r设置为10 cm,分割角度阈值设置为45°。采用文献[20]中的分析方法,通过精度、召回率和F1综合评价系数3个指标对绘图结果进行对比分析,不同算法绘图效果对比见表 1。由表 1可以看出,本文的向量追踪算法各项指标参数均优于其他两种对比算法。

      表 1  不同算法绘图效果对比

      Table 1.  Results Comparison of Different Algorithms

      算法 精度/% 召回率/% F1综合评价系数
      IEPF算法 95 83 0.88
      HT算法 71 100 0.83
      向量追踪算法 100 100 1
    • 图 15为采用向量追踪算法对室内点云数据进行处理,自动绘制的整个室内平面图。本文算法对较短墙壁也可实现完整的提取和绘制,准确度和精确度都符合室内绘制要求。为便于将绘制的图形兼容于其他系统,开发了DXF格式数据交换文件生成功能。

      图  15  向量追踪算法室内平面图绘制结果

      Figure 15.  Result of Point Cloud Vector Tracing Algorithm for Drawing Interior Plan

      不同长度的直线分割难度不同,将室内墙壁点云按照长度分为(5, 15]cm、(15, 25]cm、(25, 35]cm以及 > 35 cm这4种不同长度的墙壁点云,对所提算法处理后的直线识别准确率进行分析,结果见表 2

      表 2  不同长度的直线识别准确率

      Table 2.  Line Recognition Accuracy of Different Lengths

      墙壁长度/cm 墙壁数量 正确识别数量 正确率/%
      (5, 15] 18 16 89
      (15, 25] 19 19 100
      (25, 35] 25 25 100
      > 35 28 28 100

      表 2中的正确率是自动分割算法中正确分割直线数量与手动分割点云的直线数量之比。由正确率可以看出,点云向量追踪算法对直线进行提取和分割的效果较好,对长度在(5, 15]cm的直线识别准确率为89%,对长度大于15 cm的直线识别准确率为100%。

      室内墙壁拐角点的点位精度反映室内平面图的准确性。其中真实墙壁的拐角点有85个,由点云向量追踪算法获取的点云投影中拐角点有78个,由于室内遮挡的原因相较现实中的拐角点缺少7个。本文将点云向量追踪算法获取的墙壁拐角点(Xf, Yf)与根据点云数据进行人工选取三次同一拐角点点位平均值(Xp, Yp)进行对比,点位误差值Δε的计算式为:

      $$ \Delta \varepsilon=\sqrt{\left(X_{f}-X_{p}\right)^{2}+\left(Y_{f}-Y_{p}\right)^{2}} $$ (7)

      拐角点的点位精度统计结果见表 3。由表 3可以看出,室内墙壁拐角的点位整体误差较小,78个点中有68个点的点位误差不超过4.5 mm。存在几个点位误差较大的拐点,经分析是由于较短直线的点云数量较少,进行最小二乘拟合直线与真实墙壁所在直线的偏差较大,造成拐角点点位误差较大。

      表 3  拐角点位误差统计

      Table 3.  Statistics of Corner Point Position Errors

      点位误差/mm 拐角数量
      (0, 1.5] 13
      (1.5, 3.0] 26
      (3.0, 4.5] 29
      (4.5, 10] 10
    • 本文结合当前对室内空间开发应用的巨大需求,完成室内平面图自动绘制算法,主要成果与结论如下:

      1)建立了点云向量追踪室内平面图自动绘制的算法流程,主要包括基于网格的点云聚类、均值化点云抽稀、向量追踪点云分割等关键模块。实验结果表明,本文算法对未装修的房屋有较高的直线分割准确率,对边长大于15 cm的墙体分割准确率为100%,对边长在(5, 15]cm的墙体分割准确率为89%。采用分割后的点拟合直线求取交点即拐角点,由端点和拐角点依序连线完成平面图的绘制。

      2)本文算法紧扣目前主流房屋结构的空间分布特征,对于快速发展的基于SLAM(simultaneous localization and mapping)的机器和背包式激光扫描仪等进行室内扫描并绘制矩形空间分布的房屋平面图,具有一定的借鉴意义。使用C#编程语言并结合Open GL以及DXF数据结构开发了应用程序,形成了稳定的函数模块和接口,为本文算法的推广奠定了基础。

参考文献 (20)

目录

    /

    返回文章
    返回