文章:Real-Time LiDAR Point Cloud Compression and Transmission for Resource-constrained Robots
作者:Yuhao Cao, Yu Wang and Haoyao Chen
编辑:点云PCL
代码:https://github.com/HITSZ-NRSL/RCPCC.git
摘要
激光雷达(LiDAR)广泛应用于自主机器人,因其能够提供准确的环境结构信息。然而点云数据的庞大规模在数据存储和传输方面带来了挑战。本文提出了一种面向资源受限机器人应用的全新点云压缩与传输框架,称为RCPCC。通过迭代拟合具有相似范围值的点云表面,并通过它们的空间关系消除冗余。接着使用形状自适应离散余弦变换(SADCT)对未拟合的点进行变换,并通过量化变换后的系数来减少数据量。设计了一种基于用户体验(QoE)作为优化目标的自适应比特率控制策略,以控制传输点云的质量。实验表明框架在保持下游应用高精度的同时,实现了40倍到80倍的压缩率。当压缩率超过70倍时,我们的方法在精度方面明显优于其他基准方法。此外在通信带宽受限的情况下,我们的自适应比特率控制策略在用户体验(QoE)方面展现了显著的改善。代码将发布于 https://github.com/HITSZ-NRSL/RCPCC.git。
图1. 资源受限机器人云服务解决方案图(左)。以及使用压缩点云的下游任务结果(右)。
主要贡献
该压缩方法使用深度图像作为点云的基本表示。深度图像利用了激光雷达的固有物理特性,将三维点云投影到二维图像中,从而为后续处理提供了高计算效率。通过迭代拟合表面模型到点云,充分利用深度图像的空间特性进行点云编码。对于未被表面模型拟合的点,对其应用形状自适应离散余弦变换(SA-DCT),避免了零值噪声伪影,并实现了进一步的压缩。本文的主要贡献可以总结为三点:
主要内容
系统概述
所提出的面向资源受限场景的实时激光雷达点云压缩与传输框架RCPCC如图2所示。点云首先通过球坐标系投影为深度图像。随后深度图像被划分为宏块,并对每个宏块进行表面模型拟合。拟合宏块中的点会被编码和参数化,同时,已拟合的点从深度图像中移除。对于未拟合的点,应用SA-DCT对数据进行变换,并量化变换后的系数,以平衡压缩率和质量。自适应比特率控制策略以压缩级别和数据队列长度为输入,调整下一帧点云的压缩级别。解码是压缩的逆过程,通过相应的逆变换重构原始点云。
图2. 所提出的RCPCC框架概述。输入的点云首先被转换为深度图像,以加速压缩过程。我们使用表面模型拟合来消除点云中的空间冗余。未拟合的点通过SA-DCT从时域转换到频域,并对变换结果进行量化。最后所有解压所需的数据被序列化并输入到二进制熵编码器中。
点云编码
1、深度图像转换
在激光雷达(LiDAR)中,点云通常是以笛卡尔坐标(x, y, z)表示的,即相对于传感器原点的位置。然而为了加速压缩过程,将点云通过球面投影转换为深度图像。深度图像是通过将点云映射到一个二维平面来生成的,这样可以有效地简化三维点云的操作,使得后续处理变得更加高效。具体来说,深度图像的每个像素表示点云中的一个点,其中包括该点的距离信息。转换过程涉及使用球面坐标来计算每个点的方位角和俯仰角,同时获取该点的径向距离。这种转换将点云的三维空间信息转化为二维的图像数据,从而使得后续的计算操作更加高效。
2、表面编码
在点云压缩过程中,我们利用空间建模技术来提取点云的结构信息,减少空间冗余。实际上,许多点云中的点会位于同一平面上,例如地面或墙壁上的点。为了更好地利用这一特性,我们将点云通过拟合平面来简化。通过拟合,点云中的大部分点可以近似为平面上的点,从而减少了需要编码的数据量。具体操作是,首先通过拟合平面来预测每个点的深度信息。虽然使用平面模型进行拟合是常见的方法,但它存在一定局限性,因为需要使用三角函数进行复杂的计算。因此提出了一个改进的表面模型,使用更简单的公式来预测每个点的深度值。通过这种方法,可以更高效地捕捉点云的空间结构,减少计算复杂度。在实际编码中,我们将深度图像划分为多个宏块(例如,每个宏块为4x4的区域),并对每个宏块进行表面拟合。如果宏块内所有点到拟合表面的距离都小于一个设定的阈值,那么该宏块就被视为一个表面块。对于在同一行的宏块,使用前一个宏块的表面参数来预测下一个宏块,并进行验证。如果拟合结果通过验证,两个宏块就会合并,共享相同的表面参数。通过这种方法,点云的编码效率得到了显著提高。
3、未拟合点编码
尽管大多数点云可以通过表面拟合来压缩,但仍然会有一些点无法被拟合,这些点就被称为未拟合点。为了有效编码这些未拟合点,我们首先创建一个“未拟合图像”,它记录了所有没有被表面模型拟合的点。这些点的深度信息可以直接进行编码,但如果直接采用传统方法编码,会造成冗余,因为大部分点云已经通过表面拟合得到了压缩。因此采取了更为高效的编码方法,应用了形状自适应离散余弦变换(SA-DCT)来对这些未拟合点进行编码。SA-DCT方法的核心思想是将未拟合点进行时域和频域的变换,通过这种方式,我们可以减少冗余数据,提高压缩率。在实际操作中,未拟合点会被移动到图像的上边缘,并对这些点进行一维的DCT(离散余弦变换)。DCT变换能够将时域数据转换为频域数据,从而有效地压缩数据。通过这种方式,只有那些重要的、非零的变换系数会被保留,从而避免了大量零值噪声的产生。最终,我们对这些变换后的系数进行量化,将数据量进一步减少。量化虽然会引入一定的误差,但能显著减少数据量,提高压缩率。
图3. 范围图像被划分为宏块,不同的颜色表示不同的表面(左)。占用掩码标记了点云在范围图像中的位置,表面块使用四元组进行编码(右)。
基于QoE的自适应比特率控制
在视频流媒体中,自适应比特率(ABR)技术根据网络状况动态调整视频质量,能够避免因网络波动而产生的卡顿,进而提升用户体验(QoE)。对于云服务中的点云传输,服务器的目标是实时接收来自机器人小而高质量的点云数据。在此场景下,我们定义了一个基于实时传输质量的QoE目标函数,用以衡量点云数据传输过程中的质量。QoE目标函数的设计考虑了三个主要方面:
为了解决这个在线优化问题,我们提出了一个自适应比特率控制策略,主要包括以下几个方面:
实验设置
网格重建
我们的压缩方法在网格重建上优于其他方法,取得了更好的映射性能和更高的压缩比。我们使用F-score来评估网格重建中的表面质量,压缩比则计算为原始点云大小与最终二进制大小的比值。
图4展示了不同方法在不同压缩比下的F-score比较。我们的压缩方法能够达到100.5倍的压缩比,并保持95.94%的F-score。在压缩比为198.4倍时,F-score仍然保持在91.70%。相比之下,表现最好的Draco在压缩比为100.7倍时实现了94.07%的F-score,随着压缩比的进一步增加,其他方法的F-score迅速下降,而我们的压缩方法仍然保持稳定的F-score性能。即使在非常高的压缩比(最高可达557倍)下,我们的方法仍能保持稳定的F-score。
图4. 各种方法的网格重建F-score与压缩比比较。
定位
当压缩比大于100倍时,我们的压缩方法在平均平移误差上低于其他基准方法。图5显示了在不同压缩比下,不同方法在KITTI数据集上的平移误差百分比。由于PCL在此测试中失败,因此没有显示PCL的结果。从图5中可以看出,在36.3倍的压缩比下,我们的方法保持了与原始点云几乎相同的平移误差百分比。当压缩比增加时,我们的方法在定位性能上保持稳定,而JPEG2000和Draco的平移误差百分比分别增加到4.29%和9.62%,约在100倍时出现显著上升。相反,我们的方法在99.7倍压缩比下保持了0.71%的低误差率,优于所有其他基准方法。
图5. 各种方法的平均平移误差与压缩比比较。
目标检测
当压缩比超过36.4倍时,我们的方法在目标检测精度上优于其他方法。我们评估了KITTI目标检测数据集上不同方法在不同压缩比下的目标框平均精度(AP)。图6显示了不同压缩比下,各方法在KITTI目标检测数据集上的BBox AP百分比。与原始点云的80.89%精度相比,我们的方法在14.4倍的压缩比下达到了79.03%的竞争性精度。随着压缩比的增加,我们的方法在41.4倍压缩比下保持了68.8%的精度。相比之下,PCL和JPEG2000的精度迅速下降,在压缩比大于40倍时降至40%以下。
图6. 各种方法的物体检测边界框平均精度(BBox AP)与压缩比比较。
消融实验
为了验证前面提到的各个模块的影响,我们在KITTI数据集的1000帧上进行了实验,并记录了相关数据。
平面模型与表面模型。表I展示了平面模型和表面模型在不同距离阈值下与地面真实值的点云预测的平均误差(MAE)。在相同的距离阈值下,表面模型产生的MAE比平面模型低。
SA-DCT。表II比较了未压缩的未拟合图像(No Compr.)和使用SA-DCT压缩未拟合图像之间的MAE及相应的压缩比。使用No Compr.(仅由表面模型拟合生成),该管道实现了32.40×的压缩比,MAE为3.68。使用SA-DCT时,当量化步长为0.10时,压缩比提高到40.86×,MAE略微增加至5.29。实验表明,我们的方法在压缩比上实现了显著的提高,同时误差增加在可接受范围内。
传输实验
对于传输,我们评估了点云传输过程中的QoE,这是云服务质量的关键。我们比较了在有无策略情况下,点云压缩方法的传输性能,其中压缩等级是根据不同参数从精细到粗略(0到5)预定义的。图7中带宽变化的时间点用垂直虚线标记。实验开始时带宽为300KB/s,在55秒时急剧下降到100KB/s(模拟干扰或机器人进入信号质量较差的封闭建筑物);在120秒时,带宽略微增加到130KB/s;在245秒时,带宽升高至160KB/s(表明机器人已远离干扰或退出封闭建筑物)。在图7中,当带宽下降时,由于我们自适应比特率控制策略的缓冲切换特性,压缩等级逐渐从0增加到5,以适应带宽的变化。相比之下,在没有策略的情况下,带宽下降时压缩等级保持在0,导致数据队列增长,最终导致传输延迟增加。当125秒时带宽上升时,我们的策略通过质量改进尝试逐步降低压缩等级,从而提供更高质量的点云。然而,这一质量改进可能会引发延迟,在160秒时,将压缩等级降低到0会导致队列长度增加。我们的历史记忆方案通过回滚压缩等级,防止过度使用质量改进尝试,从而保持数据队列的稳定性。
图7. 带有和不带有基于QoE的自适应比特率控制策略的点云传输实验结果比较。
运行时分析
表III比较了我们的方法与其他基准方法的运行时。我们方法的参数设置为(0.5, 0.5, 0.3, 0.2),所有方法都设置为实现相似的压缩比(大约60×)。我们方法的编码时间为41.05毫秒,解码时间为11.35毫秒。我们方法的速度足够支持当前激光雷达的实时点云压缩。
图8详细展示了我们方法的编码和解码过程的运行时细分。管道中最耗时的部分是SA-DCT及其逆变换。
图8. 该方法的模块运行时细分
总结 本文提出了一种新型的实时LiDAR点云压缩与传输框架,称为RCPCC。高效的点云压缩与自适应比特率控制策略相结合,使该方法能够帮助资源受限的机器人实现实时点云传输。该方法实现了高达80倍的压缩比,并且在保持高应用精度的同时,实时压缩速度超过10 FPS。它在压缩比、速度和精度方面超越了现有的点云压缩标准。
相关阅读:2024年度历史文章大汇总
以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除