基于曲率分级的点云数据压缩方法 下载: 1110次
1 引言
在测量领域,传统的数据采集方式是利用经纬仪、全站仪、GPS接收机等仪器设备基于单点进行测量,而三维激光扫描技术突破了这些传统的基于单点的数据采集方式,可以快速获取海量的点云数据,具有数据量大、空间分辨率高、效率高、全天候采集等优势。虽然该技术可以在短时间内获取包含物体表面细节特征的高密度点云数据,但是过大的数据量不仅对最终模型精度的提高贡献不大,还会严重影响后续数据的处理效率[1-4]。因此,有必要在保留原有细节特征的前提下对点云数据进行压缩。
点云数据压缩的一个常用思路是采用曲率或法向量描述点云中特征的分布情况,再结合空间网格对特征点和非特征点进行不同程度的压缩。周绿等[5]通过拟合抛物面计算局部曲率,再根据曲率大小进行数据压缩;邢正全等[6]提出了基于栅格化和法向量的压缩方法,设定法向量阈值,判断点云特征的大小,实现点云的压缩;张鸿飞等[7]首先计算曲率,保留曲率大于阈值的点,针对曲率小于阈值的点,根据法矢标准差进行不均匀空间网格的划分,取网格内部分点来代替原始数据。梁周雁[8]以所有点的平均曲率为阈值,将原始数据分为曲率大于、小于平均曲率的两类点。对该两类点分别进行不同大小的空间网格划分,每个网格中取一个点从而实现数据压缩。
在结合曲率(或法向量)与空间网格进行点云数据压缩时,文献[ 5-8]所提的方法均需要设置一个较大的曲率阈值以区分特征点,再按照不同准则压缩特征点和非特征点。但是,这类方法会导致曲率略小于阈值的亚特征区域压缩程度过大,从而出现细节缺失。对此,本文提出了一种采用对数函数进行曲率分级的点云压缩方法,以避免亚特征区域的细节缺失。
2 基于曲率分级的点云压缩
曲率值是点云数据的几何属性信息,其大小反映了点云中数据点的特征分布情况。点云数据通常由多数曲率值较小的表面点与少数曲率值较大的边缘点组成。本研究选取大多数点的特征变化较明显的斯坦福Bunny点云作为点云1,选取大多数点的特征变化较小的墙面和路面点云作为点云2。
图 1. 点云1及其点数关于曲率的分布。 (a)点云1;(b)点数-曲率分布
Fig. 1. Point cloud 1 and point number-curvature distribution. (a) Point cloud 1; (b) point number-curvature distribution
图 2. 点云2及其点数关于曲率的分布。(a)点云2;(b)点数-曲率分布
Fig. 2. Point cloud 2 and point number-curvature distribution. (a) Point cloud 2; (b) point number-curvature distribution
基于曲率分级对点云数据进行压缩,方法主要包含曲率计算、曲率归一化、曲率分级、空间格网划分以及分级后点云压缩等过程。基于曲率分级的点云压缩方法如
2.1 曲率计算
曲率计算通常采用局部曲面拟合的方法。该方法首先估计待求点处的法向量,接着以该法向量为纵轴建立局部坐标系,最后在该坐标系下对空间点进行二次曲面拟合,利用拟合的曲面参数计算待求点处的曲率值。
点云数据的局部法向量估计通常采用主成分分析法(PCA)[9-11]。对点云数据中的第
式中:
利用
式中:Δ
用上述方法计算出的法向量的方向并不统一,有的指向曲面内侧,有的指向曲面外侧。因此,还需要根据相邻法向量之间的夹角与π/2的关系调整法向量方向,使其均指向曲面的同一侧[12]。
法向量方向调整后,即可以
式中:
2.2 基于对数函数的曲率分级
基于对数函数进行曲率分级的思想为:根据自然对数函数计算某点曲率的特征等级。曲率越大,等级越高。由于不同点云数据的曲率分布范围不同,为了提高曲率分级方法的稳健性,需要对曲率值进行归一化。随着自变量的增大,自然对数函数值的变化率会逐渐减小,为了更好地区分不同曲率的等级,使等级对曲率的变化具有一定的敏感性,自然对数函数值的变化率不能太小,即自变量曲率的取值不能过大,因此,将2.1节中求得的曲率值归一化为[0,5],步骤如下。
1) 遍历点云数据中的所有点,获取曲率最大值
2) 将各点的曲率值映射到区间[0,5]上,得到每个点归一化后的曲率值
对曲率值进行分级,分级依据为
式中:ceiling(·)为向上取整函数;
2.3 空间网格划分
遍历点云数据中的所有点,获取6个坐标分量的极值
式中:
2.4 点云压缩
按照曲率大小将所有点分为10个不同等级后,设置极平坦区域和特征区域的空间网格大小分别为
1) 对曲率等级为0(即曲率小于
2) 对曲率等级为1~8的区域,保留每个网格内曲率值较大的前
3) 对曲率等级为9的区域,保留所有原始数据点。
在给定极平坦区域阈值
3 实验
采用一处台阶点云作为实验数据,压缩前点云数据与三种压缩方法的压缩结果如
为了验证所提方法的有效性,采用另外两种基于曲率压缩的方法对原始点云数据进行压缩,即Geomagic Studio软件中按曲率压缩的方法和文献[
8]中提出的结合曲率和空间网格的方法,与所提算法效果进行对比。
图 6. 压缩前点云数据与3种压缩方法的压缩结果。(a)原始点云数据;(b) Geomagic软件压缩结果;(c)文献[ 8]中的方法压缩结果;(d)所提方法压缩结果
Fig. 6. Cloud data before compression and the results of three compression methods. (a) Original data; (b) compression result using Geomagic software; (c) compression result using the method in Ref. [8]; (d) compression result using the method proposed in this paper
Geomagic软件的压缩方法只需要设置压缩率参数。文献[
8]中的方法以所有点的平均曲率为阈值将原始数据点分为特征点和非特征点,再分别进行空间网格划分,每个网格内只保留距重心最近的一点实现压缩。此处将数据压缩为原始数据的10%,将特征点和非特征点空间网格的大小分别设为6.8 mm和30 mm。利用所提方法压缩时,取极平坦区域阈值
为了验证所提方法在不同压缩率下的适应性,通过改变极平坦区域阈值
压缩率分别为70%,80%,90%时某细节纹理丰富的局部区域图片与不同压缩率下的压缩结果如
表 1. 不同阈值的压缩结果
Table 1. Compression results of different thresholds
|
4 实验结果分析
在评价点云数据压缩精度时,目前国内外主要通过视觉效果进行评价,也有学者采用表面积评价法[13-15]对压缩结果进行量化分析。这里分别通过建立三维表面模型并计算表面积变化率对压缩结果进行视觉效果评价和定量分析。
图 7. 某局部区域与不同压缩率下的压缩结果。 (a)局部原始数据;(b)压缩率70%,S=53.0; (c)压缩率80%,S=10.5;(d)压缩率90%, S=1.1
Fig. 7. A local area and compression results under different compression ratios. (a) Original data of a local area; (b) compression ratio 70%, S=53.0; (c) compression ratio 80%, S=10.5; (d) compression ratio 90%, S=1.1
4.1 视觉效果评价
由
为进一步比较所提出压缩方法的压缩效果,采用实验中所述的3种压缩方法分别将原始点云压缩为原来的30%(压缩率为70%),再用Geomagic软件分别对压缩前和压缩后的数据建立三维表面模型,所得结果如
图 8. 压缩前与3种方法压缩后构建的表面模型。(a)原始数据构建的模型;(b) Geomagic软件压缩后构建的模型;(c)文献[ 8]中的方法压缩后构建的模型;(d)所提方法压缩后构建的模型
Fig. 8. Surface model built before compression and after compression by three methods. (a) Model built from original data; (b) model built from result compressed by Geomagic software; (c) model built from result compressed by the method in Ref. [8]; (d) model built from result compressed by the method proposed in this paper
从
4.2 表面积评价
计算并比较压缩前后以每个点为顶点构成的三角网的面积和,求出总面积的变化情况,从而判断压缩后是否从总体上改变了物体的表面特征。面积计算方式采用文献[ 15]中所述的方法,即
式中:
对压缩前后
表 2. 不同压缩方法面积变化对比
Table 2. Comparison of area changes of different compression methods
|
从
5 结论
现有基于曲率值的点云压缩方法通常选取较大的曲率阈值来区分特征点,容易造成亚特征区域细节丢失的问题。针对此问题,提出了一种基于曲率分级的点云压缩方法:按照对数函数对归一化的曲率进行分级,采用较小的曲率阈值区分极平坦区域和特征区域,对各区域进行空间网格划分,最后实现点云的分级压缩。实验结果表明,所提方法能够在大幅度减少数据量的同时较好地保留原始数据的细节特征,在压缩率为90%时,面积变化率只有0.107%,从而有效地避免了传统压缩方法容易引起的亚特征区域细节丢失的问题。此外,该方法通过改变压缩控制因子,可以方便地控制点云的整体压缩率,实现不同程度的压缩。
[1] Lee K H, Woo H, Suk T. Data reduction methods for reverse engineering[J]. The International Journal of Advanced Manufacturing Technology, 2001, 17(10): 735-743.
[2] 胡志胜, 于敬武, 束涛. 一种结合了栅格化和特征判断的点云压缩方法[J]. 辽宁工程技术大学学报(自然科学版), 2015, 34(6): 958-962.
Hu Z S, Yu J W, Shu T. A point cloud compression approach combined with rasterizing and feature estimate[J]. Journal of Liaoning Technical University (Natural Science), 2015, 34(6): 958-962.
[3] 贺一波, 陈冉丽, 吴侃, 等. 基于k-means聚类的点云精简方法[J]. 激光与光电子学进展, 2019, 56(9): 091002.
[4] 李仁忠, 杨曼, 冉媛, 等. 基于方法库的点云去噪与精简算法[J]. 激光与光电子学进展, 2018, 55(1): 011008.
[5] 周绿, 林亨, 钟约先, 等. 曲面重构中测量点云精简方法的研究[J]. 中国制造业信息化, 2004, 33(5): 102-104.
Zhou L, Lin H, Zhong Y X, et al. The thinning method for measured points cloud in surface reconstruction[J]. Mie of China, 2004, 33(5): 102-104.
[6] 邢正全, 邓喀中, 薛继群. 基于栅格划分和法向量估计的点云数据压缩[J]. 测绘通报, 2012( 7): 50- 52.
Xing ZQ, Deng KZ, Xue JQ. Point cloud data compression based on grid division and normal vector estimation[J]. Bulletin of Surveying and Mapping, 2012( 7): 50- 52.
[7] 张鸿飞, 程效军, 贾东峰, 等. 多视点散乱点云配准及压缩改进算法研究[J]. 测绘通报, 2012( 2): 43- 47.
Zhang HF, Cheng XJ, Jia DF, et al. A study of improved registration and compression algorithm of multi-vision disorder point clouds[J]. Bulletin of Surveying and Mapping, 2012( 2): 43- 47.
[8] 梁周雁. 基于点云的复杂物体曲面重建关键技术研究[D]. 青岛: 山东科技大学, 2018: 24- 34.
Liang ZY. Key techniques of complex object surface modeling based on point cloud[D]. Qingdao: Shangdong University of Science and Technology, 2018: 24- 34.
[9] 刘咏梅. 基于三维散乱点云的三角网格重构关键技术研究[D]. 北京: 北京理工大学, 2015: 12- 14.
Liu YM. Research on reconstructing triangular mesh from three-dimensional scattered point cloud[D]. Beijing: Beijing Institute of Technology, 2015: 12- 14.
[10] Hoppe H. DeRose T, Duchamp T, et al. Surface reconstruction from unorganized points[J]. ACM SIGGRAPH Computer Graphics, 1992, 26(2): 71-78.
[11] 陈西江, 章光, 花向红. 于法向量夹角信息熵的点云简化算法[J]. 中国激光, 2015, 42(8): 0814003.
[12] 程效军, 贾东峰, 程小龙. 海量点云数据处理理论与技术[M]. 上海: 同济大学出版社, 2014: 64- 67.
Cheng XJ, Jia DF, Cheng XL. Massive point cloud data processing theory and technology [M]. Shanghai: Tongji University Press, 2014: 64- 67.
[13] 刘春, 吴杭彬. 基于真三维TIN的三维激光扫描数据压缩方法[J]. 武汉大学学报(信息科学版), 2006, 31(10): 908-911.
Liu C, Wu H B. Compress method for three dimension laser scanning data based on 3D triangulated irregular network[J]. Geomatics and Information Science of Wuhan University, 2006, 31(10): 908-911.
[14] 喜文飞. 激光点云数据压缩的精简研究[D]. 昆明: 昆明理工大学, 2011: 47- 51.
Xi WF. Reduction of laser point cloud data compression[D]. Kunming: Kunming University of Science and Technology, 2011: 47- 51.
[15] 陈朋, 周大伟. 点到平面距离的点云数据压缩方法[J]. 测绘科学, 2015, 40(8): 117-120.
Chen P, Zhou D W. A point cloud data compression based on the point to plane distance[J]. Science of Surveying and Mapping, 2015, 40(8): 117-120.
Article Outline
李金涛, 程效军, 杨泽鑫, 杨荣淇. 基于曲率分级的点云数据压缩方法[J]. 激光与光电子学进展, 2019, 56(14): 142801. Jintao Li, Xiaojun Cheng, Zexin Yang, Rongqi Yang. Curvature-Grading-Based Compression for Point Cloud Data[J]. Laser & Optoelectronics Progress, 2019, 56(14): 142801.