APP下载

三维点云数据压缩技术研究综述

2021-04-19卢洪颖杨玉蓉刘芸宏

西安邮电大学学报 2021年1期
关键词:体素结点聚类

艾 达,卢洪颖,杨玉蓉,刘芸宏,卢 津,刘 颖

(1.西安邮电大学 电子信息现场勘验应用技术公安部重点实验室,陕西 西安 710121;2.西安邮电大学 通信与信息工程学院,陕西 西安 710121;3.西安邮电大学 无线通信与信息处理技术国际联合研究中心,陕西 西安 710121)

点云是描述被扫描物体属性特征的点集,可以通过多方位照相机、深度传感器和雷达扫描仪等设备采集。通过激光扫描,获取目标的线、面及体空间等三维数据,建立目标的空间三维数字模型,可以有效反映目标的几何尺寸、颜色属性及其他特征。点云数据因其高效率、高精度、易于采集等众多优势,已广泛应用于沉浸式实时通信[1]、虚拟现实、工程测量、智能驾驶与路况识别等方面。

点云的采集设备所产生的三维(3-dimensional,3D)数据量对数据的存储和传输提出了更高的挑战。近年来,三维点云数据压缩技术逐渐被深入研究与探索。谷歌发布的开源三维数据压缩算法Draco[2]在对3D数据文件的压缩率上大幅度的超过了Zip和JPEG(Joint Photographic Experts Group)等通用压缩算法。动态图像专家组(Moving Picture Experts Group,MPEG)专门成立的三维图像小组于2014年提出了点云压缩[3],2016年提出了针对点云压缩(Point Cloud Compression,PCC)的评估标准。随后,关于点云压缩技术的邀请提案[4](Call for Proposals,CfP)被提出,并确定了表面点云压缩(Surface-based Point Cloud Compression,S-PCC)、基于视频的点云压缩(Video-based Point Cloud Compression,V-PCC)和激光雷达点云压缩(Lidar-based Point Cloud Compression,L-PCC)等3种测试模型(Test Model,TM),为实时通信和虚拟现实提供了低复杂度和高压缩性能的点云压缩方案。

该研究通过归纳S-PCC、V-PCC和L-PCC等3种测试模型的编解码结构,总结并对比各类型压缩编码方法,以合理的质量评估方法探索其优劣特征提出问题,为点云压缩算法的进一步改进提供参考。

1 三维点云数据

1.1 点云数据集特征

所谓点云,即积点成云。点表示构成被扫描对象表面的点集,云反映了其庞大的数据量。点云数据按结构的不同,可分为三维散点点云和多边形网格;按内容可分为三维场景和三维对象点云;按呈现方式分为实时点云数据、mesh点云数据、沉浸式3D点云视频(3D Television,3DTV)和多视图深度点云视频 (Free Viewpoint Video ,FVV)[5]。

点云数据来源于计算机辅助设计(Computer Aided Design,CAD)模型、激光雷达扫描和深度相机的获取。针对点云对象和场景的动态特征,将数据集分为静态点云、动态点云和动态获取点云等3类数据类型。静态点云为静态的文物或建筑物,用来表示地理信息系统(Geographic Information System,GIS)和文化遗产中的静态数据;动态点云是人物动态行为的点云视频流;动态获取点云是由车载激光雷达动态扫描的道路景观点云视频流。3类点云数据类型示意图如图1所示。

图1 3类点云数据类型

点云数据由几何坐标(X,Y,Z)和红绿蓝(Red Green Blue,RGB)等3种颜色属性构成,所以点云压缩技术也可称作六维数据压缩技术。带有深度传感器的扫描设备产生的点云数据还包括深度信息,除此之外,还有曲率、法线及三角面片等衍生信息。

1.2 点云压缩标准

点云压缩标准主要包括对粗点云进行译码和细化,对无损压缩重建的数据在数量上与原始数据完全相同,对有损压缩由比特率参数控制压缩过程,支持时间可变的点云序列编码及低复杂度的编码器和解码器等5个方面。

2 点云压缩测试模型

下面分别对S-PCC、V-PCC和L-PCC等3种点云压缩测试模型进行介绍。

2.1 表面点云压缩

S-PCC[6]应用于高采样密度的物体表面静态点云,各模块之间通过传递属性列表进行通信,编码阶段生成的比特流文件头最终用于解码器的解码控制,整体结构如图2所示。

图2 S-PCC编解码结构

编码前,对原始世界坐标系中的点坐标进行转换,并将RGB颜色属性转换为YUV型,转换公式为

(1)

2.1.1 压缩编码过程

在几何编码模块中,先对整体点云进行体素化分割,采用八叉树的分解结构将数据从最大包围盒逐步细分为小体素方格,分别对分块后的块信息和顶点信息熵编码。在属性编码模块中,根据几何的体素分割结果对体素的颜色属性信息进行重着色,对其进行自适应边缘分层转换(Region Adaptive Hierarchical Transform,RAHT)后将变换参数量化并编码。

2.1.2 解压缩编码过程

S-PCC的解码过程是压缩过程的简单逆过程,先对几何解码模块中的相关信息熵解码,再进行体素重建和上采样。颜色变换参数通过熵解码、反量化和反变换后最终得到YUV属性列表。

2.2 基于视频的点云压缩

V-PCC[5]用于动态点云流的压缩,基于现有的视频编解码器压缩信息。将点云序列转换为视频序列,利用MPEG-4 高级视频编码(Advanced Video Coding,AVC)、高效率视频编码(High Efficiency Video Coding,HEVC)和开放媒体视频1(AOMedia Video 1,AV1)等标准分别监测几何和纹理两个视频序列,完整的编解码结构如图3所示。

图3 V-PCC编解码结构

直接将点云映射至立方体和球面上会导致遮挡从而引起失真,V-PCC采用高效的补丁映射法和启发式分割方法,保证了边缘的平滑特性和低失真特性。

2.2.1 压缩编码过程

首先,输入点云分解为补丁后,将其匹配到2D栅格中,该过程可将三维点云映射至常规的二维栅格中。其次,生成并填补两个图像序列,该过程保证了二维图像的平滑性,几何和纹理视频序列如图4所示。最后,编码辅助补丁、分块信息和占用图,补丁中存储了映射平面的索引、坐标值索引和包围盒等信息。

图4 3D映射为2D图像

2.2.2 解压缩编码过程

通过编码的逆过程解压缩,利用辅助补丁和分块信息可重建出点的位置和纹理。此外,对几何纹理信息的平滑操作可解决在压缩过程中产生边界不连续的现象。

2.3 激光雷达点云压缩

L-PCC应用于激光雷达生成的数据,其编解码结构如图5所示。

图5 L-PCC编解码结构

L-PCC的编码结构与S-PCC相似,其主要模块作用如下。

1)属性转换模块与点云重建相关联,决定了属性重建的关键参数。给定输入点云Xi,i=1,2,…,N,每个点的属性为(A1i,A2i,…,ADi),D为属性个数,通过近邻点的集合,可获得转换后的属性值。

2)建立细节分层结构(Level of Detail,LoD)。LoD的生成保障了属性的分层预测。当细化级别为LoD1时,该层包含的点是点云的粗糙表示,后续层的点为更细致的点信息,点集之间的距离随着层数的增加而减小。

3)基于插值的属性预测模型通过近邻点插值法预测属性,该过程可发觉属性的空间相关性并应用于残差值的量化和反量化步骤。

3 优化的点云压缩方案

3.1 几何坐标数据压缩编码方法

3.1.1 八叉树结构

多数的点云压缩机制是在八叉树[7-9]结构上建立的。八叉树的分解结构示意图分别如图6和图7所示。

图6 八叉树编码

图7 八叉树树形图

借助八叉树独特的结构进行深度优先遍历,将压缩对象的几何信息直接通过二进制码进行存储,在很大程度上节省了存储空间[8-10]。八叉树压缩理念已运用到开源的点云压缩库[9](Point Cloud Library,PCL)中,除了点云,还有对3D mesh型数据的应用。

八叉树基础上衍生的双缓冲八叉树[10],考虑了时间和空间上的独立性,对比连续帧间八叉树结构特征,只对差异特征点进行预测编码,利用相邻帧间的强相关性减少压缩误差,该结构相比于传统的八叉树结构可节省更多的内存资源。

3.1.2 改进的树结构

除八叉树以外,K-D树[11]的结构打破了传统的压缩编码方式,采用k维树的递归拆分方式对空间进行分解。此外,还可利用三维坐标系中的XYZ轴分别表示RGB颜色分量,使用八叉树结构表示三维RGB颜色数据[12]。

3.2 颜色属性压缩编码方法

3.2.1 基于图变换的编码

对于颜色属性的编码,图变换[13-15](Graph Transformation,GT)的基本要点是结合图论与三维坐标,将点云看做无向图中的结点,通过结点之间的关联存储,保存三维点信息[14-15],结点关系示意图如图8所示。

图8 图结点关系

得到相关点集的邻接矩阵后,矩阵中非零权值即表示点之间的相邻关系和距离关系。根据权重计算图拉普拉斯矩阵,将其特征向量矩阵作为属性值的变换结果进行编码。

3.2.2 基于余弦变换的编码

三维离散余弦变换[16](3D Discrete Cosine Transform,3D-DCT)可在频域借助低频部分存储低动态信息,高频成分存储细节信息。原始坐标数据为n×3的矩阵,需将其转换为3D矩阵来容纳所有网格点。三维离散余弦变换的公式[16]为

(2)

其中,

式中:i、j和k分别表示RGB三通道的属性值;n为点数。

利用式(2)对三维矩阵进行处理,得到离散余弦变换系数,使用常数量化表的量化过程减少有效的DCT系数,从而控制信息损失。

3.2.3 基于自适应边缘分层转换的编码

RAHT[17-19]采用服从拉普拉斯分布的层次变换。从最底层的结点开始遍历,扩充到整个空间,即将相邻体素逐渐合并,直到到达根结点,该过程中由八叉树的低级别结点预测下一级别的结点属性。

与八叉树的遍历不同的是,RAHT分别从X、Y、Z等3个维度进行分组,而不是对8个体素进行分组。假设gl,x,y,z为第l层坐标为(x,y,z)处体素的颜色属性平均值,则该参数是由gl+1,2x,y,z和gl+1,2x+1,y,z合并得到,wl,x,y,z权重值代表gl,x,y,z体素的总个数。转换公式为

(3)

其中,hk,x,y,z表示转换生成的高通系数,且

w1=wl,2x,y,z
w2=wl,2x+1,y,z

当递归到根结点时,g0,0,0,0和h0,0,0,0分别对应直流分量和交流分量,并将每层变换产生的参数作为待编码的信息。

3.2.4 基于聚类的属性提取

基于聚类的压缩算法[18]优势在于,层次聚类法可将原始点云分为有层次的集合,直接压缩相似特征的点集降低冗余。对几何信息进行局部聚类,对亮度信息进行全局聚类,采用内部预测法可将每个群集中的点云组织起来,而颜色属性采用z字形映射到二维栅格后,使用2D-DCT变换编码进行压缩。

借助均值漂移算法聚类分割,文献[19]新增了梯度增强技术,得到了表面的局部极值点,也得到了特征分明的聚类面片,该方法在几何特征的基础上考虑了颜色特征聚类。文献[20]尝试使用K-means聚类,对点间的权重进行傅里叶变换。此类基于聚类的属性编码方法,性能均优于S-PCC[21]。

此外,将高维度数据降维映射,还可以结合压缩感知理论压缩点云数据[22-25]。

4 压缩质量评估

4.1 实验数据集

实验数据集信息共分为3类,类型A为静态点云数据,类型B为动态点云数据,类型C为动态获取的点云类型,具体列表如表1所示。

表1 实验数据集列表

4.2 质量评估方法

质量评估主要包括客观质量评价、结合应用的质量评价和复杂度评价等3种方法。

1)客观质量评价标准包括几何编码误差估计和属性编码误差估计。几何信息的压缩性能评估通过三维体积分辨率失真度量实现,主要有点到点和点到平面的几何失真度量,分别表示为D1和D2。属性信息的性能评估通过对比YUV颜色失真实现,一般明亮度Y最具代表性。根据压缩前后的点云可算出各个指标的峰值信噪比(Bjøntegaard Delta Peak Signal-to-Noise Rate,BD-PSNR)和比特率(Bjøntegaard Delta Bit Rate,BDBR)参数[23-24]。

2)结合应用的质量评价包括主观质量评价[24]或点云数据处理之后的质量评价。例如,点云数据分析后对数据精度的评价。

3)复杂度评价为算法的时间复杂度和空间复杂度。

4.3 性能对比分析

4.3.1 点云压缩测试模型整体编码性能

Anchor软件是基于1.8版本的点云库(Point Cloud Library,PCL),将L-PCC、S-PCC和V-PCC的编码性能分别与Anchor相比,发现L-PCC对于没有属性的无损几何压缩,实现了大约18位/点的码率,压缩比接近20%;对于没有属性的有损几何压缩,可节省近40%的BDBR。S-PCC对于有损几何和属性编码,节省了约30% 的D1-BDBR、10% 的D2-BDBR和15%的Y-BDBR。V-PCC的平均压缩率可达1∶100到1∶500之间。

4.3.2 颜色属性压缩编码对比

各类颜色属性压缩编码方法都有各自的优缺点。GT[18]、3D-DCT[22]、RAHT[23]和层次聚类-余弦变换等4类颜色属性压缩编码方法的内容对比如表2所示。

表2 颜色属性压缩编码方法对比

分别利用DCT、GT、RAHT和使用行程戈隆米编码[25](Run-Length Golomb-Rice coding,RLGR)的RAHT-RLGR等4种颜色属性压缩编码方法对点云数据“Phil”[24]进行压缩,率失真曲线如图9所示。

图9 颜色属性的帧内编码率失真曲线

从图9可以看出,DCT的效果相对较差。RAHT-RLGR是将变换系数进行重排序存储,按照深度降序排序后编码,效果良好,复杂度相对较低,但其性能不如RAHT。GT结合了块预测算法去除冗余数据,同时使用卡洛变换(Karhunen-Loeve Transform,KLT)对属性信息去相关化,在性能上优于传统的DCT。RAHT性能与GT相当,但前者优势在于复杂度更低。这是因为GT编码器需要计算大量的特征值和特征向量,单个8×8×8的体素可能需要处理大小约为512×512的矩阵,被占用的立方体数目数以千计,而且GT需要对大型图数据进行重复的特征分解,庞大的运算量使得该方法不适合实时处理点云。而RAHT的复杂性几乎是恒定的,可探索更深层的八叉树消除数据冗余。

根据上述分析得出,深度优先的顺序存储,相比权重优先存储与无序存储编码效果突出。此外,将RAHT与KLT和DCT变换相结合,与单纯的RAHT进行对比,RAHT-KLT和RAHT-DCT的效果明显优于其他改进的RAHT[25]。

5 结语

结合MPEG最新研究进展,总结了3类点云压缩整体模型的结构和编码效果,分别从几何和颜色属性的编码算法入手,讨论了最新的科研成果及其优缺点,为点云压缩的理论和实际应用提出以下建议。

1)点云数据处理是多门学科的交叉研究内容,其中,GIS涉及到的高度图压缩有待优化和改进,结合高度图的理论,可扩展点云压缩算法的自适应性。

2)点云以及点云压缩的应用面很广,而实际中遇到的数据是不同环境下、不同状态下产生的多样话数据,现有压缩算法的自适应性和鲁棒性有待测试。

3)RAHT-KLT和RAHT-DCT针对多相机360°三维环绕拍摄点云,性能确实优于单纯的RAHT,但对标准的点云结构的压缩性能未知,与GT变换的性能对比还有待研究。

4)近几年来,随着新兴技术的不断发展与演变,越来越多的点云压缩算法被提出,部分模块的编码性能还需反复考察,成熟的静态点云压缩编码标准有待确定。

5)采用深度学习的方法实现点云压缩与三维场景重建、自动驾驶等应用的结合实例较少,需要开展大量的验证工作。

猜你喜欢

体素结点聚类
一种傅里叶域海量数据高速谱聚类方法
瘦体素决定肥瘦
LEACH 算法应用于矿井无线通信的路由算法研究
点云数据的凹陷体判定算法
Dividing cubes算法在数控仿真中的应用
基于八数码问题的搜索算法的研究
一种改进K-means聚类的近邻传播最大最小距离算法
骨骼驱动的软体角色动画
AR-Grams:一种应用于网络舆情热点发现的文本聚类方法
基于模糊聚类和支持向量回归的成绩预测