基于激光雷达的空间物体三维建模与体积计算 下载: 1970次
1 引言
自20世纪80年代以来,采用点云形式表示客观世界的物理模型得到了大量的理论研究与实际应用。获取物理模型的三维点云的常用手段是激光雷达(LiDAR),雷达具有高精度[1]、高分辨率[2]、远距离和大范围[3]等优点,可快速、实时获取被测物体的三维空间信息[4],被广泛应用于医疗、农业、机器人导航、建筑[5]、自动驾驶、地质勘探等各种领域。
体积参数是空间体对象形态分析的基本内容,有规则体和不规则体两类[6]。其中,规则体求体积有标准公式,实际操作简单快捷、难度不大;相反,不规则体的体积求取并不简单。三维激光扫描技术的兴起和运用,客观上为不规则体体积的计算提供了新模式[6]。基于三维点云数据求取体积的应用有矿区[7-8]、溶洞[9]、文物保护[10]、船舶排水量计量[11]等各种人力不容易计算的领域。
基于三维点云求取物理模型体积的研究算法大致可分为以下4大类。1)凸包算法:文献[ 12]先使用凸包模型近似表示不规则体,再将凸包模型分解为上下两个三角网格面,采用正投影法求取对应的投影体积,其差即为所求体积。此方法适用于凸模型,非凸模型误差较大。2)模型重建法:文献[ 7,9-10]在得到点云数据后,通过使用三角面片构建物理模型的方法求得体积。该算法受点云密度、生成的三角网格数量、点精度影响较大,易产生孔洞。3)切片法:文献[ 6,11]将点云沿某一坐标轴方向进行切片处理,再计算切片上下两表面的面积,通过累加切片体积求得总体积。该方法受到切片厚度的影响,切片越薄,计算精度越高,但会导致计算效率下降。4)投影法:文献[ 8]先对点云投影进行三角形剖分,再根据投影点与其原对应点构建出五面体,通过累加五面体体积求得总体积。该算法同样容易产生孔洞。对于上述算法,无论是通过三维点云先构建物理模型再求体积,还是基于三维点云通过几何方法直接求体积,当激光雷达采集的三维点云存在密度不均匀,以及空间物体存在过渡带或过渡线等问题时,重建三维模型的误差较大,体积计算精度不高,因此需要设计一种高精度体积计算方法,提高体积计算的精度。
三维空间中,曲面的数学描述通常分为两大类:显式曲面(parametric surface)和隐式曲面(implicit surface),由满足等式F(x,y,z)=0的所有点集组成的曲面称为隐式曲面[13]。1992年,Hoppe等[14]提出一种通过符号距离函数重建网格模型的算法,是最早的隐式曲面重建算法之一。目前,常用的隐式重建算法有径向基函数法[15]、微分方程法[16]、泊松重建法[17]及其变式[18]等。Cuomo等[19]使用高斯径向基函数重建隐式曲线与曲面,提出了隐式重建的框架,并应用于了大型数据集的曲面重建;江盟等[20]提出一种基于自适应八叉树和改进的差分进化算法实现隐式曲面重建的算法,该算法构建的曲面光滑、细节特征清晰,且在未封闭区域无突出冗余,但为保持细节特征需增加分割量,这导致重构时间增加;李宗春等[21]为更好地重建点云模型的尖锐特征,提出一种凸显点云尖锐特征的点-线-面递进式曲面重建算法,但算法对噪声点云敏感,算法的抗噪性需提高;Liu等[22]提出一种基于偏微分方程的径向基函数隐式曲面重建算法,可有效处理伪表面。基于此,本文提出了一种基于三维点云的隐式曲面重建的体积计算方法。与上述计算体积的方法的不同之处在于构建mesh网格模型时采用了以Calakli等[23]提出的符号函数曲面重构方法为基础的一种隐式重建算法,把该算法应用到先重构复杂空间点云的曲面模型,进而求取体积这一具体应用中,结合对复杂点云的一些预处理工作,如统计滤波、体素下采样和法向量提取等,有效消除了复杂点云中存在的过渡面突变所造成的三维成像误差和体积计算误差,并开展了两例实验应用研究。本文算法保证了重建物理模型表面时的方程是连续的,故生成的mesh网格模型的表面是连续的水密性表面,从而避免了重构的mesh网格模型出现孔洞和过渡带失真。
2 基本原理
2.1 三维点云预处理
2.1.1 三维点云的空间变换
为让原始点云某个平面与XOY平面平行,以利于对后续点云进行缺失区域的修补与点云密度的均匀化插值,需进行点云的空间变换。点云的空间变换包括旋转变换和平移变换两部分,旋转变换用旋转矩阵表示。通常,将一个点云的某平面由激光雷达仪器参考坐标系转换到平行于当地水平参考坐标系,需要依次绕三个坐标轴旋转一定的角度。坐标旋转变换如
图 2. 坐标旋转变换示意图。(a)第一、二次旋转;(b)第三次旋转
Fig. 2. Schematic of coordinate rotation transformation. (a) First and second rotation; (b) third rotation
三维点云的空间变换的具体推导如下:在三维点云中的一条边上选取两个点A(x1,y1,z1)和B(x2,y2,z2),其中x1≠x2、y1≠y2、z1≠z2,连接两点并将线段AB绕Z轴旋转角度α,使得线段AB与X轴位于同一平面内。设A、B两点在空间直角坐标系XOY平面上的投影点分别为A'(x1,y1,0)、B'(x2,y2,0)两点,过点A'、B'分别做一条垂直于X轴的线段,则旋转角度α可表示为
则绕Z轴旋转时的旋转矩阵为
三维点云经过空间变换后,其所在坐标系与当地水平参考坐标系平行,所以在进行可视化操作时,可方便地将点云的各个平面进行投影,并对点云缺失区域进行插值或填补处理。
2.1.2 去除三维点云中的干扰点
在三维点云的采集过程中,由于激光雷达扫描仪的精度、操作人员的经验、周围环境的干扰等因素,采集的原始点云数据中不可避免地存在着一些噪声点,这类干扰点云通常分布于目标点云表面。同时,在诸如视线遮挡、测量误差等因素的干扰下,往往还会产生一些距离目标点云较远的点云簇,这些点云簇规模不大但会聚集成团,甚至产生“拖尾”现象,称此类干扰点云为离群点。本文将区别于目标点云的其他点云统称为干扰点云。
采用统计滤波器对三维点云进行滤波处理,该算法的思想是假设点云中所有的点与其最近的k个邻居点的平均距离满足高斯分布,那么,根据距离的均值和方差可确定一个距离阈值,当某个点与其最近k个点的平均距离大于这个阈值时,判定该点为干扰点并去除。实现步骤如下:首先,遍历点云,计算每个点与其最近的k个邻居点之间的平均距离;其次,计算所有平均距离的均值μ与标准差σ,则距离阈值dth可表示为dth=μ+α·σ,α是一个常数,可称为比例系数(本文α取值1.0~1.8);最后,再次遍历点云,剔除与k个邻居点的平均距离大于dth的点。
2.1.3 三维点云下采样(down-sampling)
使用体素栅格滤波器对点云进行下采样处理。一个空间物体的三维扫描点云的几何结构不仅包含宏观的几何外形,也包括其微观的排列方式,比如横向相似的尺寸、纵向相同的距离。相较于随机下采样滤波器,使用体素栅格滤波器在实现点云下采样的同时也保护了点云本身的几何结构,有利于后续构建点云的mesh网格模型。该算法的思想是通过输入点云数据来创建一个三维体素栅格(体素栅格即为微小的空间三维立方体的集合),对于栅格内的每一个体素,以体素内所有点的重心近似代替体素中的其他点,最终所有体素的重心点组成滤波后的点云。改变体素的边长大小Lv(本文取值为0.02~0.18 m)可以控制降采样的程度,Lv越大,则滤波后的点云越稀疏。经过上述的处理后,得到了最终需要的目标点云数据。
2.2 三维点云表面法向量的计算
法向量计算是点云三角化、渲染等后续处理的一个重要步骤。点云法线的计算方法主要有两种:积分图法和主成分分析法。本文采用第二种方法。
法矢的特性是垂直于其点所在的平面。采用当前点的邻近点,拟合出一个局部平面,那么法矢就好求了。局部平面拟合的方式为:1)选取当前点的k个临近点,或者划定一个半径为r的球,选取球内部所在的点
2.3 构建三维点云的mesh网格并求取体积
假设用S=
构建曲面时,选择隐式B样条函数f(p)=g(p)+
求mesh模型体积时,将每个面元三角形向XOY平面投影,投影得到的三角形与相应面元三角形组合成一个五面体,连接各个面的对角线,将五面体分为3个四面体,每个四面体的体积通过(2)式[8]求出,四面体由顶点aj和底面三角形Δbjcjdj组成,j=0、1、2,最后累加得五面体的总体积。(2)式为
3 实验过程与结果分析
3.1 实验过程
实验开始前,选取两个实验对象:一间空的长方体教室,及教室与楼道的组合体(以下简称组合体)。首先采用激光测距仪[宏诚科技HT-40系列,精度为±(2.0 mm+5×10-5D),D表示被测距离]对教室和楼道的各个长度尺寸进行手工测量,然后通过计算获得了两实验对象的实际体积:教室为92.852 m3,组合体为226.309 m3。
实验时,首先将一个三维激光雷达(VLP-16,Velodyne公司)固定在一个三角支架上,并安装在电动轮椅上,保持匀速移动电动轮椅扫描整个实验对象,获得完整点云。将点云数据依次绕三个坐标轴旋转进行空间变换,由激光雷达仪器参考坐标系转换到与当地水平参考坐标系平行;然后,使用统计滤波器和体素栅格滤波器对点云数据进行滤波处理和下采样处理;最后,构建三维点云的mesh网格模型并求取其体积。实验场景如
图 3. 实验测量现场。(a)采集教室数据;(b)采集楼道数据;(c)采集过程中的点云可视化
Fig. 3. Experimental measurement site. (a) Collecting classroom data; (b) collecting corridor data; (c) point cloud visualization during acquisition
3.2 实验结果
各实验步骤的结果如
3.3 体积计算优化与结果分析
三维点云体积计算结果精度与其预处理效果有直接关系。在对点云进行统计滤波处理时,滤波效果受到邻近点数量k和阈值α取值大小的影响:阈值偏大会导致过滤的点过多,破坏点云几何结构,损失重建mesh模型的精度;域值偏小会导致噪声点云过滤不充分,滤波效果不明显。选取不同的k值和α值,两个实验对象点云的滤波后数据量分别如
同理,在体素栅格下采样处理中,体素过大会导致点云过于稀疏,几何结构信息丢失过多,过小则会使效果不理想,达不到精简点云、提高效率的目的。不同的栅格边长Lv下采样后点云的数据量如
表 1. 不同k和α下教室点云滤波后数据量
Table 1. Amount of point cloud of classroom after filtering under different k and α
|
表 2. 不同k和α下组合体点云滤波后数据量
Table 2. Amount of point cloud of combination after filtering under different k and α
|
图 5. 不同k和α时的教室点云。(a) k=1, α=1.0;(b) k=1,α=1.4;(c) k=1,α=1.8;(d) k=4, α=1.0; (e) k=4, α=1.4; (f) k=4,α=1.8
Fig. 5. Classroom point clouds under different k and α. (a) k=1, α=1.0; (b) k=1,α=1.4; (c) k=1, α=1.8; (d) k=4, α=1.0; (e) k=4, α=1.4; (f) k=4, α=1.8
图 6. 不同k和α时的组合体点云。(a) k=1, α=1.0;(b) k=1,α=1.4;(c) k=1,α=1.8;(d) k=4, α=1.0; (e) k=4, α=1.4; (f) k=4,α=1.8
Fig. 6. Combination point clouds under different k and α. (a) k=1, α=1.0; (b) k=1, α=1.4; (c) k=1, α=1.8; (d) k=4, α=1.0; (e) k=4, α=1.4; (f) k=4, α=1.8
表 3. 不同栅格边长Lv下教室和组合体的点云数据量
Table 3. Amounts of point cloud for classroom and combination under different grid side length Lv
|
图 7. 不同栅格边长Lv下的教室点云。(a) 0.02 m; (b) 0.06 m; (c) 0.12 m; (d) 0.18 m
Fig. 7. Classroom point clouds under different grid side length Lv. (a) 0.02 m; (b) 0.06 m; (c) 0.12 m; (d) 0.18 m
图 8. 不同栅格边长Lv下的组合体点云。(a) 0.02 m; (b) 0.06 m; (c) 0.12 m; (d) 0.18 m
Fig. 8. Combination point clouds under different grid side length Lv. (a) 0.02 m; (b) 0.06 m; (c) 0.12 m; (d) 0.18 m
为了分析点云滤波和下采样处理中的三个参数k、α和Lv对点云体积计算精度的影响,对教室、组合体两个实验对象分别选取不同的k、α和Lv值,然后对教室和组合体的点云进行滤波与下采样预处理,在各参数组合下计算的教室和组合体点云体积如
表 4. 不同参数组合下,经滤波和下采样后得到的教室点云的体积
Table 4. Classroom point cloud volume after filtering and down-sampling under different parameter combinationsm3
|
表 5. 不同参数组合下,经滤波和下采样后得到的组合体点云的体积
Table 5. Combination point cloud volume after filtering and down-sampling under different parameter combinationsm3
|
由3.1节可知,两实验对象的实际体积分别为教室92.852 m3,组合体226.309 m3。将实际体积与
使用三角网格法重建物理模型进而求取体积是一种常用方法。这是一种显式曲面重建法,为了与所采用的隐式曲面重建法进行比较,采用“三角逼近法”对教室和组合体进行了三角网格模型重建与体积计算,如
图 9. 两个实验对象的三角网格模型。(a)教室;(b)组合体
Fig. 9. Triangular mesh model of two experimental objects. (a) Classroom; (b) combination
教室的体积计算值为91.4975 m3,计算误差为1.459%;组合体的体积计算值为223.6756 m3,计算误差为1.164%。通过与本文的符号函数隐式曲面重构方法的计算误差(0.456%和0.394%)相比较, “三角逼近法”的体积计算误差较大。
由
4 结论
本文使用三维激光雷达获取空间物体的原始点云数据,通过空间变换将点云由激光扫描仪参考坐标系转换到平行于当地水平参考坐标系,并对点云进行插值与修补处理;采用统计滤波和体素栅格下采样去除了干扰点云,并精简了点云数据量;然后计算点云表面法向量,采用基于符号距离函数的隐式曲面方法重构点云的mesh网格模型,最终求取mesh模型的体积。通过对两个空间物体进行实验,分析了不同参数取值对体积计算精度的影响。结果表明,所提体积计算方法有较高的精度,两个实验对象的体积计算误差分别可不高于0.456%和0.394%。
另外,基于符号距离函数重构点云的mesh网格模型时,要求点云数据除了包含三维空间坐标信息外,还应包含点云的法向量信息。对于未封闭点云,所提方法在未封闭处会生成伪表面,因此更适合重构封闭点云的mesh网格模型,对于未封闭点云应用前需进行点云修补处理使其封闭。
[1] Wang J J, Xu L J, Fan Y Y, et al. A method for compensating platform attitude fluctuation for helicopter-borne LiDAR: performance and effectiveness[J]. Measurement, 2018, 125: 37-47.
[3] 王建军, 李小路, 许同乐, 等. 机载LiDAR中工作参数的控制误差和测量误差对点云产品精度的影响机理及其比较[J]. 中国激光, 2015, 42(7): 0708003.
[4] 王建军, 李云龙, 苗松. 机载激光雷达姿态角补偿及其效果验证[J]. 光学精密工程, 2018, 26(4): 788-795.
[5] Wang Q, Kim M K. Applications of 3D point cloud data in the construction industry: a fifteen-year review from 2004 to 2018[J]. Advanced Engineering Informatics, 2019, 39: 306-319.
[6] 李斌, 魏俊博, 马博超, 等. 不规则体体积计算三维激光点云切片法[J]. 测绘学报, 2019, 48(1): 42-52.
Li B, Wei J B, Ma B C, et al. Slicing 3D laser point cloud method for volume calculation of irregular object[J]. Acta Geodaetica et Cartographica Sinica, 2019, 48(1): 42-52.
[7] 李鹏宇, 姜岳, 宗琪, 等. 基于三维激光扫描技术的某金矿采场体积测量与计算[J]. 金属矿山, 2018( 4): 145- 149.
Li PY, JiangY, ZongQ, et al. Measurement and calculation for stope volume of a gold mine based on laser 3D scanning technique[J]. Metal Mine, 2018( 4): 145- 149.
[8] 王婷玉, 罗周全, 黄俊杰, 等. 采空区三角形投影体积算法及其应用[J]. 中国地质灾害与防治学报, 2016, 27(2): 127-131.
Wang T Y, Luo Z Q, Huang J J, et al. Application of triangle projection volume algorithm in goaf[J]. The Chinese Journal of Geological Hazard and Control, 2016, 27(2): 127-131.
[9] 郭建立. 地面激光扫描仪在溶洞体积测量中的应用研究[J]. 铁道勘察, 2017, 43(6): 44-45, 49.
Guo J L. Research on volume measurement of Karst cave using terrestrial dimension laser scanner[J]. Railway Investigation and Surveying, 2017, 43(6): 44-45, 49.
[10] 张小青, 朱光, 侯妙乐, 等. 基于四面体的不规则表面文物体积计算[J]. 测绘通报, 2011( 10): 50- 52.
Zhang XQ, ZhuG, Hou ML, et al. Volume calculation of surface irregular cultural relic based on tetrahedron[J]. Bulletin of Surveying and Mapping, 2011( 10): 50- 52.
[11] 张吉星, 程效军, 程小龙. 三维激光扫描技术在船舶排水量计量中的应用[J]. 中国激光, 2016, 43(12): 1204003.
[12] 徐志, 许宏丽. 一种基于凸包近似的快速体积计算方法[J]. 计算机工程与应用, 2013, 49(21): 177-179, 185.
Xu Z, Xu H L. Fast algorithm of computing volume based on convex hull[J]. Computer Engineering and Applications, 2013, 49(21): 177-179, 185.
[13] Blinn J F. A generalization of algebraic surface drawing[J]. ACM Transactions on Graphics, 1982, 1(3): 235-256.
[14] Hoppe H. DeRose T, Duchamp T, et al. Surface reconstruction from unorganized points[J]. ACM SIGGRAPH Computer Graphics, 1992, 26(2): 71-78.
[15] Carr JC, Beatson RK, Cherrie JB, et al.Reconstruction and representation of 3D objects with radial basis functions[C]∥Proceedings of the 28th Annual Conference on Computer Graphics and Interactive Techniques, August 12-17, 2001.New York: ACM Press, 2001: 67- 76.
[16] DuanY, YangL, QinH, et al. Shape reconstruction from 3D and 2D data using PDE-based deformable surfaces[M] ∥Pajdla T, Matas J. Computer vision-ECCV 2004. Lecture notes in computer science. Berlin, Heidelberg: Springer, 2004, 3023: 238- 251.
[17] KazhdanM. Poisson surface reconstruction[C]∥Proceedings of the Fourth Eurographics Symposium on Geometry Processing, June 26-28, 2006, Cagliari, Sardinia. Goslar: Eurographics Association, 2006: 61- 70.
[18] Kazhdan M, Hoppe H. Screened Poisson surface reconstruction[J]. ACM Transactions on Graphics, 2013, 32(3): 29.
[19] Cuomo S, Galletti A, Giunta G, et al. Reconstruction of implicit curves and surfaces via RBF interpolation[J]. Applied Numerical Mathematics, 2017, 116: 157-171.
[20] 江盟, 蔡勇, 张建生. 一种三维点云自适应隐式曲面重构方法[J]. 电子技术应用, 2019, 45(6): 104-107, 112.
Jiang M, Cai Y, Zhang J S. An adaptive implicit surface reconstruction method for three-dimensional point cloud[J]. Application of Electronic Technique, 2019, 45(6): 104-107, 112.
[21] 李宗春, 何华, 付永健, 等. 凸显尖锐特征的点-线-面递进式曲面重建[J]. 光学精密工程, 2019, 27(1): 221-229.
[22] Liu X Y, Wang H, Chen C S, et al. Implicit surface reconstruction with radial basis functions via PDEs[J]. Engineering Analysis With Boundary Elements, 2020, 110: 95-103.
[24] 徐利敏, 吴刚. 点云数据集的隐式曲面重构研究进展[J]. 计算机科学, 2017, 44(11A): 19-23, 28.
Xu L M, Wu G. Review of implicit surface reconstruction from point cloud dataset[J]. Computer Science, 2017, 44(11A): 19-23, 28.
Article Outline
胡燕威, 王建军, 范媛媛, 卢云鹏, 白崇岳, 张荠匀. 基于激光雷达的空间物体三维建模与体积计算[J]. 中国激光, 2020, 47(5): 0510001. Yanwei Hu, Jianjun Wang, Yuanyuan Fan, Yunpeng Lu, Chongyue Bai, Jiyun Zhang. LiDAR-Based Three-Dimensional Modeling and Volume Calculation for Space Objects[J]. Chinese Journal of Lasers, 2020, 47(5): 0510001.