激光与光电子学进展, 2019, 56 (14): 142801, 网络出版: 2019-07-12   

基于曲率分级的点云数据压缩方法 下载: 1110次

Curvature-Grading-Based Compression for Point Cloud Data
作者单位
1 同济大学测绘与地理信息学院, 上海 200092
2 现代工程测量国家测绘地理信息局重点实验室, 上海 200092
3 上海船舶研究设计院, 上海 201203
摘要
通过三维激光扫描仪获取的原始点云数据量庞大,不利于后期的数据处理工作。现有的基于曲率值的点云压缩方法容易引起亚特征区域细节丢失的问题。针对这一问题,提出了一种基于曲率分级的点云数据压缩方法。该方法通过计算曲率反映点云数据中特征的分布情况,采用对数函数对归一化后的曲率值进行分级,对不同等级的点进行空间网格划分后根据点的曲率等级实现点云的分级压缩。实验结果表明,所提方法能在大幅度减少数据量的同时,较好地保留原始数据的细节特征,从而实现对点云数据的高效压缩。
Abstract
The large number of raw point cloud data collected with three-dimensional laser scanners presents a challenge during the subsequent data processing. Unfortunately, the existing curvature-based point cloud compression methods can lead to loss of details in the sub-feature regions. Therefore, we propose a curvature-grading-based compression method for point cloud data in this study. First, the feature distribution is obtained by estimating the curvature of every point. Then, the curvature level of each point is acquired based on the logarithmic function and its normalized curvature. Finally, voxelized grids are created over the input point cloud and are used to perform grading compression according to the levels. The experimental results denote that the proposed method can preserve the details of raw data while reducing the amount of data, resulting in an efficient pathway to compress the point cloud data.

1 引言

在测量领域,传统的数据采集方式是利用经纬仪、全站仪、GPS接收机等仪器设备基于单点进行测量,而三维激光扫描技术突破了这些传统的基于单点的数据采集方式,可以快速获取海量的点云数据,具有数据量大、空间分辨率高、效率高、全天候采集等优势。虽然该技术可以在短时间内获取包含物体表面细节特征的高密度点云数据,但是过大的数据量不仅对最终模型精度的提高贡献不大,还会严重影响后续数据的处理效率[1-4]。因此,有必要在保留原有细节特征的前提下对点云数据进行压缩。

点云数据压缩的一个常用思路是采用曲率或法向量描述点云中特征的分布情况,再结合空间网格对特征点和非特征点进行不同程度的压缩。周绿等[5]通过拟合抛物面计算局部曲率,再根据曲率大小进行数据压缩;邢正全等[6]提出了基于栅格化和法向量的压缩方法,设定法向量阈值,判断点云特征的大小,实现点云的压缩;张鸿飞等[7]首先计算曲率,保留曲率大于阈值的点,针对曲率小于阈值的点,根据法矢标准差进行不均匀空间网格的划分,取网格内部分点来代替原始数据。梁周雁[8]以所有点的平均曲率为阈值,将原始数据分为曲率大于、小于平均曲率的两类点。对该两类点分别进行不同大小的空间网格划分,每个网格中取一个点从而实现数据压缩。

在结合曲率(或法向量)与空间网格进行点云数据压缩时,文献[ 5-8]所提的方法均需要设置一个较大的曲率阈值以区分特征点,再按照不同准则压缩特征点和非特征点。但是,这类方法会导致曲率略小于阈值的亚特征区域压缩程度过大,从而出现细节缺失。对此,本文提出了一种采用对数函数进行曲率分级的点云压缩方法,以避免亚特征区域的细节缺失。

2 基于曲率分级的点云压缩

曲率值是点云数据的几何属性信息,其大小反映了点云中数据点的特征分布情况。点云数据通常由多数曲率值较小的表面点与少数曲率值较大的边缘点组成。本研究选取大多数点的特征变化较明显的斯坦福Bunny点云作为点云1,选取大多数点的特征变化较小的墙面和路面点云作为点云2。图1图2分别给出点云1和点云2及其点数关于曲率的分布图。从图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

下载图片 查看所有图片

图 3. 基于曲率分级的点云压缩方法

Fig. 3. Point cloud compression method based on curvature grading

下载图片 查看所有图片

基于曲率分级对点云数据进行压缩,方法主要包含曲率计算、曲率归一化、曲率分级、空间格网划分以及分级后点云压缩等过程。基于曲率分级的点云压缩方法如图3所示。

2.1 曲率计算

曲率计算通常采用局部曲面拟合的方法。该方法首先估计待求点处的法向量,接着以该法向量为纵轴建立局部坐标系,最后在该坐标系下对空间点进行二次曲面拟合,利用拟合的曲面参数计算待求点处的曲率值。

点云数据的局部法向量估计通常采用主成分分析法(PCA)[9-11]。对点云数据中的第i个点Pi,利用其k近邻域的点拟合一个微切平面,该微切平面的法向量(a,b,c)即为该点Pi处的法向量。一个点线性逼近微切平面的方程为

ax+by+cz-d=0,(1)

式中:xyz分别为逼近微切平面点的三维坐标;d为坐标原点至微切平面的距离。

利用Pi点的k近邻域计算协方差矩阵N,可表示为

N=j=1kΔxjΔxjj=1kΔxjΔyjj=1kΔxjΔzjj=1kΔxjΔyjj=1kΔyjΔxjj=1kΔyjΔzjj=1kΔxjΔzjj=1kΔyjΔzjj=1kΔzjΔzj,(2)

式中:Δxj=xj- x-yj=yj- y-zj=zj- z-,jPik近邻域内所有点的编号,j=1,2,3,…,k, x-y-z-Pik近邻域内各点坐标的平均值。矩阵N的最小特征值对应的特征向量即为法向量(a,b,c)。

用上述方法计算出的法向量的方向并不统一,有的指向曲面内侧,有的指向曲面外侧。因此,还需要根据相邻法向量之间的夹角与π/2的关系调整法向量方向,使其均指向曲面的同一侧[12]

法向量方向调整后,即可以Pi为原点建立用于曲面拟合的局部坐标系(u,v,w)。该局部坐标系中w轴与Pi点处法向量重合,u轴和v轴在切平面内正交的右手直角坐标系,可由原坐标系经平移和旋转得到。在局部坐标系中拟合Pi点附近的二次曲面S(u,v),可得

S(u,v)=u,v,w(u,v)w(u,v)=α1u2+α2uv+α3v2+α4u+α5v,(3)

式中:α1α2α3α4α5为拟合所得的最佳的二次曲面参数。根据最小二乘原理,可以利用Pik近邻域点来拟合α1α2α3α4α5。得到二次曲面的参数方程后,根据参数曲面的曲率性质可以计算得到曲面在Pi处的平均曲率 h-i

h-i=α1+α3(4)

2.2 基于对数函数的曲率分级

基于对数函数进行曲率分级的思想为:根据自然对数函数计算某点曲率的特征等级。曲率越大,等级越高。由于不同点云数据的曲率分布范围不同,为了提高曲率分级方法的稳健性,需要对曲率值进行归一化。随着自变量的增大,自然对数函数值的变化率会逐渐减小,为了更好地区分不同曲率的等级,使等级对曲率的变化具有一定的敏感性,自然对数函数值的变化率不能太小,即自变量曲率的取值不能过大,因此,将2.1节中求得的曲率值归一化为[0,5],步骤如下。

1) 遍历点云数据中的所有点,获取曲率最大值hmax和最小值hmin

2) 将各点的曲率值映射到区间[0,5]上,得到每个点归一化后的曲率值Hi,计算公式为

Hi=5·h-ihmax-hmin(5)

对曲率值进行分级,分级依据为

Di=ceiling2lnS·Hi+1S·H0+1=0,ifDi09,ifDi9,(6)

式中:ceiling(·)为向上取整函数;Hi为点Pi处的曲率值;Di为点Pi的曲率等级;S为压缩控制因子,改变S的大小可以改变曲率的实际分级数目,从而可以控制点云的整体压缩率;H0为给定的曲率阈值。曲率值小于H0的点所在区域认定为极平坦区域,对应等级为0;曲率值大于H0的点所在区域认定为特征区域,对应等级为1~9。H0的取值方式为:从原始点云中选取特征最弱(通常为平面部分)的某一局部区域,取该区域内所有点的曲率的平均值作为H0,H0的值非常接近于0,当压缩率较小时,H0可以取为0。根据(6)式将曲率值分为0~9共10个级别,针对曲率值归一化后的点云数据,基于(6)式计算每个点对应的曲率级别。

图4为基于对数函数的曲率分级示意图,从图中可见,小曲率等级对应的曲率间隔ΔH1小于大曲率等级对应的曲率间隔ΔH2。由图1图2可知,在点云数据中小曲率点数量通常较多,大曲率点往往较少。因此,基于对数函数的非等间隔曲率分级方式能够避免小曲率等级中点数过多和大曲率等级中点数过少的问题,便于后续对特征点进行统一空间网格划分和对不同曲率级别压缩比例进行设定。

图 4. 基于对数函数的曲率分级示意图

Fig. 4. Diagram of curvature grading based on logarithmic function

下载图片 查看所有图片

2.3 空间网格划分

遍历点云数据中的所有点,获取6个坐标分量的极值xmin,xmax,ymin,ymax,zmin,zmax,并以此建立空间最小包围盒。设置空间网格的边长为l,依次计算每个点Pi所在空间网格的索引,完成点云的空间网格划分。空间索引的计算方式为

Ai=floorxi-xminlBi=flooryi-yminlΓi=floorzi-zminl,(7)

式中:AiBiΓi分别为点Pixyz 3个坐标轴上的索引号;xiyizi分别为第i个点的三维坐标;floor(·)为向下取整函数。

2.4 点云压缩

按照曲率大小将所有点分为10个不同等级后,设置极平坦区域和特征区域的空间网格大小分别为dflatdcurve,采用2.3节中所描述的方法对不同曲率等级的点分别建立空间网格,并按照如下原则进行原始点云数据的压缩。

1) 对曲率等级为0(即曲率小于H0)的极平坦区域,认为该部分没有特征变化,只保留距离网格重心最近的一点。

2) 对曲率等级为1~8的区域,保留每个网格内曲率值较大的前K%个点。本文设置保留比例K为曲率等级Di的10倍。

3) 对曲率等级为9的区域,保留所有原始数据点。

在给定极平坦区域阈值H0后,原始点云的整体压缩率可以通过压缩控制因子S进行控制。图5为压缩控制因子对曲率级别的影响图示。当H0=0.05,S由20增大至80时,曲率为Hi的点的曲率等级由5提高至7,即增大压缩控制因子S可以提高点的曲率等级。根据上述10个曲率等级与对应的压缩原则可知,曲率为Hi所在的空间网格由原来保留50%的点提升为保留70%的点。由此可以看出,S越大,压缩后保留的点越多,细节特征越明显;反之,S越小,压缩后保留的点越少,细节特征越模糊。

图 5. 压缩控制因子对曲率级别的影响图示

Fig. 5. Effect of compression control factor on curvature level

下载图片 查看所有图片

3 实验

采用一处台阶点云作为实验数据,压缩前点云数据与三种压缩方法的压缩结果如图6所示。原始点云数据如图6(a)所示。该点云中点的数量为638122,其中包含了丰富的特征信息,既有平坦的台阶表面点,也有特征极为明显的棱角点,此外还有处于亚特征区域的地砖边缝和各种复杂的石雕纹理等特征,能有效测试所提算法的压缩效果。

为了验证所提方法的有效性,采用另外两种基于曲率压缩的方法对原始点云数据进行压缩,即Geomagic Studio软件中按曲率压缩的方法和文献[ 8]中提出的结合曲率和空间网格的方法,与所提算法效果进行对比。图6 (b)、(c)和(d)分别为采用3种方法将数据压缩为原来的10%(压缩率为90%)的结果。

图 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。利用所提方法压缩时,取极平坦区域阈值H0=2×10-5,极平坦区域网格大小dflat=30 mm,特征区域格网大小dcurve=15 mm,通过改变压缩控制因子S将数据压缩为原来的10%。

为了验证所提方法在不同压缩率下的适应性,通过改变极平坦区域阈值H0和压缩控制因子S对原始数据进行不同程度的压缩,选取参数与对应的压缩率如表1所示。

压缩率分别为70%,80%,90%时某细节纹理丰富的局部区域图片与不同压缩率下的压缩结果如图7所示。由图可以看出,所提方法在不同压缩率下均能根据曲率反映的特征大小对各等级点进行相应程度的保留,且特征越明显,被保留的点数越多,具有良好的适应性。

表 1. 不同阈值的压缩结果

Table 1. Compression results of different thresholds

Thre-sholdH0Compressioncontrolfactor SNumberof originalpointsNumber ofremainingpointsCom-pressionratio /%
0100063812228485755.36
010063812225095160.67
0.000025063812218959770.29
0.000021063812212620580.22
0.0000216381226220690.25

查看所有表

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 视觉效果评价

图6中3种不同方法的压缩结果可见,3种方法均能较好地利用曲率信息,保留较多的大曲率特征点和较少的小曲率非特征点。但是,Geomagic软件的压缩方法难以保留原始数据的细节特征,而文献[ 8]中的方法和所提方法的细节特征保留能力较强。另外,相较于文献[ 8]中的方法,提出的压缩方法能更好地保留亚特征区域(如图6中圈出的3处石砖边缝)的细节。

为进一步比较所提出压缩方法的压缩效果,采用实验中所述的3种压缩方法分别将原始点云压缩为原来的30%(压缩率为70%),再用Geomagic软件分别对压缩前和压缩后的数据建立三维表面模型,所得结果如图8所示。

图 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

下载图片 查看所有图片

图8的三维可视化模型中可以看出,对于矩形框中标出的特征极为明显的区域,利用文献[ 8]中的方法和所提方法压缩后的数据建立的三维模型中,该部分细节纹理更为清晰且与原始数据构建的结果几乎无区别;利用Geomagic软件的压缩结果建立的模型中,该部分比较模糊,特征没有被很好地保留,出现了细节特征缺失现象。对于椭圆框中标出的亚特征区域,3种方法压缩后的重建效果中,所提方法最优,Geomagic软件方法与文献[ 8]方法较差。对于椭圆框下方的平坦区域,所提方法压缩时该区域保留的数据较少,因此建立表面模型时该区域的三角面片较大,看起来不够光滑。但由于该区域接近于平面,特征较少,少量的点即可表达表面信息,因此提出的方法可以适用于该区域。综上,通过对几种压缩方法压缩后的数据建立表面模型并比较分析可得,所提压缩方法能更好地保留特征信息。

4.2 表面积评价

计算并比较压缩前后以每个点为顶点构成的三角网的面积和,求出总面积的变化情况,从而判断压缩后是否从总体上改变了物体的表面特征。面积计算方式采用文献[ 15]中所述的方法,即

AreaP1P2P3=L(L-L1)(L-L2)(L-L3),(8)

式中:P1P2P3为某一三角形的顶点;L1L2L3为三边长,L=(L1+L2+L3)/2。

对压缩前后图7(a)所示的局部数据进行面积计算,表2列出了3种方法压缩后面积的变化情况。

表 2. 不同压缩方法面积变化对比

Table 2. Comparison of area changes of different compression methods

CompressionmethodCompressionratio /%Area beforecompression /cm2Area aftercompression /cm2Area changerate /%
Method in Geomagic708696.9528687.9180.104
908696.9528678.4990.212
Method in Ref. [8]708696.9528689.5840.085
908696.9528682.1560.170
Method in this paper708696.9528690.2740.077
908696.9528687.6630.107

查看所有表

表2中可以看出,压缩率相同时,所提算法所引起的物体表面积变化率小于另外两种方法。压缩率为70%时,面积变化率为0.077%,可以忽略不计,在压缩率为90%时,面积变化率也仅为0.107%,物体的表面特征改变较小。

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.

    He Y B, Chen R L, Wu K, et al. Point cloud simplification method based on k-means clustering[J]. Laser & Optoelectronics Progress, 2019, 56(9): 091002.

[4] 李仁忠, 杨曼, 冉媛, 等. 基于方法库的点云去噪与精简算法[J]. 激光与光电子学进展, 2018, 55(1): 011008.

    Li R Z, Yang M, Ran Y, et al. Point cloud denoising and simplification algorithm based on method library[J]. Laser & Optoelectronics Progress, 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.

    Chen X J, Zhang G, Hua X H. Point cloud simplification based on the information entropy of normal vector angle[J]. Chinese Journal of Lasers, 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.

李金涛, 程效军, 杨泽鑫, 杨荣淇. 基于曲率分级的点云数据压缩方法[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.

本文已被 6 篇论文引用
被引统计数据来源于中国光学期刊网
引用该论文: TXT   |   EndNote

相关论文

加载中...

关于本站 Cookie 的使用提示

中国光学期刊网使用基于 cookie 的技术来更好地为您提供各项服务,点击此处了解我们的隐私策略。 如您需继续使用本网站,请您授权我们使用本地 cookie 来保存部分信息。
全站搜索
您最值得信赖的光电行业旗舰网络服务平台!