文章:FLiCR: A Fast and Lightweight LiDAR Point Cloud Compression Based on Lossy RI
作者:Jin Heo Christopher Phillips,Ada Gavrilovska
编辑:点云PCL
欢迎各位加入知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。
公众号致力于点云处理,SLAM,三维视觉,高精地图等领域相关内容的干货分享,欢迎各位加入,有兴趣的可联系dianyunpcl@163.com。文章未申请原创,侵权或转载联系微信cloudpoint9527。
摘要
激光雷达传感器正在现代移动设备上普及,并提供了3D感知能力。这种新能力在各种应用场景中具有益处,但由于资源受限的移动设备往往无法在实时中使用这些感知能力,因为其具有高计算复杂性。在这种情况下,边缘计算可以用于实现LiDAR在线感知,但由于LiDAR点云数据的大量存在,将感知数据卸载到边缘服务器上需要低延迟、轻量级和高效的压缩。本文提出了FLiCR,一种用于实现边缘辅助在线感知的快速轻量级LiDAR点云压缩方法。FLiCR基于深度图像(RI)作为中间表示方式(IR),并使用字典编码来压缩RI,FLiCR通过利用有损的RI来实现其优势,并通过量化和子采样大大提高了字节流压缩的效率。此外发现当前质量度量标准对于表现点云熵的限制,并引入了一种新的度量标准,既反映了点对点的质量,又反映了熵的质量,用于有损IRs。评估结果显示FLiCR比现有的LiDAR压缩更适合于边缘辅助实时感知,并且我们通过对3D物体检测和LiDAR SLAM的评估证明了我们的压缩和度量的有效性。
主要贡献
为了实现边缘辅助LiDAR感知到实时应用程序的能力,本文提出了FLiCR,一种基于深度图像(RI)表示和无损压缩算法的轻量级和低延迟的点云压缩方法。虽然先前关于RI压缩的研究仅利用了点的位精度的量化与无损RI映射,但我们探索了利用有损RI与子采样的优化机会,以减小数据大小并提高压缩效率。这个想法是压缩算法(如字典编码),使用较短的重复特征作为参考,将变得更加有效,因为它们使用的数据表示空间更有限,映射点的子采样导致了点的丢失,了解这如何转化为端到端感知质量的降低至关重要。展示了现有质量度量标准在表示总信息损失方面的局限性,因为它们的设计只关注点与点之间的距离。然后提出了一种统一的度量标准,即ePSNR,通过扩展当前的PSNR以包含熵估计的概率函数,捕捉了点对点和熵对点云质量。
本文评估了FLiCR和ePSNR与当前的压缩方法和度量标准以及不同的LiDAR感知使用案例,在实验结果中与Google Draco相比,FLiCR在移动设备上的端到端压缩延迟方面提高了高达5.3倍,在压缩比方面提高了12.6倍,并且ePSNR捕捉了FLiCR引入的有损性对质量的影响,使未来系统支持能够动态地进行延迟性能的权衡。总之,我们做出了以下贡献:
- 确定了LiDAR点云压缩方法对于边缘辅助在线感知的要求,并对现有技术的局限性进行了彻底分析。
- 提出了FLiCR,一种轻量级、低延迟和高效的压缩方法,结合了有损的RI使用和无损的字典编码器,并将其与现有方法进行了比较。
- 指出了当前质量度量标准在点云熵损失方面的局限性,并提出了ePSNR作为一种新的单一数字度量标准,反映了点对点和熵方面的质量。
- 展示了我们的压缩方法和度量在两个下游感知任务中的好处,即3D物体检测和LiDAR SLAM。
点云压缩背景
3D点云是3D空间中一组点,点云可以根据其特性分为两类:结构化和非结构化。非结构化(原始)点云是3D点的坐标值序列(通常是笛卡尔坐标系中的x、y、z),可以选择性地包含其他属性,如反射强度。结构化点云是使用几何或分层结构上下文组织的点集,包括网格、八叉树等。激光LiDAR点云是直接从LiDAR传感器捕获的非结构化点云。非结构化点云压缩存在多种不同的压缩方法,但它们之间的共同之处是将原始点云转换为结构化的中间表示(IR),并对IR应用压缩算法,如图1所示。
图1:现有点云压缩方法的一般处理步骤
压缩过程与每个IR相关联,常用的IR包括k-d树、八叉树、网格和范围图像,图2显示了从原始点云中得到的不同IR的可视化效果,压缩方法根据使用的IR分类为基于几何或基于图像的压缩,基于几何的压缩使用树结构或网格,而基于图像的压缩将点云映射到2D帧中,基于几何的压缩对其IR进行编码并压缩编码的IR,而基于图像的方法则利用现有编解码器或提出自己的技术来压缩映射图像。
图2:使用不同的IR对KITTI数据集中的LiDAR点云进行可视化。
激光雷达点云压缩的挑战
降低不一致性延迟
- 端到端处理方案的延迟对于在线感知至关重要,它直接影响应用程序对真实世界环境变化的响应速度。
- 图3中通过对比具有和不具有差异延迟的模拟在线感知结果展示了延迟对感知结果的影响,显示延迟会导致感知结果与真实世界物体不正确对应。
图3,Mask R-CNN和Argovers在线感知的模拟结果
- 在真实世界和感知结果之间存在不同差异延迟时,物体检测性能会受到影响,随着延迟的增加,检测准确性下降,不匹配物体数量增加,表明存在延迟与性能之间的权衡
现有压缩方法的局限性。鉴于3D点云数据的普及,已经存在用于激光雷达点云压缩的技术:Google Draco、MPEG基于几何的点云压缩(G-PCC)、点云库(PCL)的八叉树压缩以及Feng等人的实时时空(RT-ST)压缩。Google Draco基于k-d树,PCL和G-PCC基于八叉树,RT-ST则压缩了3D点云的范围图像(RIs)。此外,使用这些方法,可以将点云直接应用字节流压缩,如游程编码(RLE)和字典编码(LZ77),它们将点云视为原始字节数组并进行无损压缩。我们根据在我们的实验测试平台的台式机和NVIDIA Jetson AGX上的表现,使用KITTI数据集的100个点云进行编码和解码,对这些方法进行了比较。我们使用峰值信噪比(PSNR)和Chamfer距离(CD)作为点云的质量度量。尽管每种方法在不同的度量标准上都有其优势,但我们关注的是压缩比、能耗和延迟,因为这些指标展示了一个压缩方法如何满足边缘辅助在线感知的点云压缩的要求。对于我们的目标用例,一个压缩方法有三个要求。
- 它应该具有非常低的延迟,因为在线感知的延迟与性能之间存在权衡。
- 由于较大的压缩数据大小会导致客户端传输的网络成本和能耗增加,因此在减小数据大小方面压缩性能的有效性很重要。
- 它应该轻量级,能够在有限资源的移动设备上运行,同时满足其他要求。
在压缩比和延迟方面,Google Draco优于其他方法,并且在压缩比和能耗方面非常高效。尽管RLE在Jetson上的延迟和能耗与Google Draco相当,但是将RLE直接应用于3D点的浮点值时,总大小增加了。除了无损方法外,PCL的八叉树压缩显示出最高的质量指标。然而,这是以较低的效率和高的能耗为代价的,与Google Draco相比。根据表I中的结果,Google Draco似乎是满足要求的最佳选择,但是当用户设备是Jetson而我们的台式机是服务器时,它会导致大约60毫秒的压缩成本(编码约50毫秒,解码约10毫秒)。由于网络传输和算法处理中还存在额外的延迟,整个处理方案的差异延迟将会过高,给感知性能造成影响,并且难以使用,正如图4所示。
Fig. 4:具有不同差异延迟的在线物体检测的测量AP和不匹配数量。
FLiCR的中间表示方法
选择适当的中间表示(IR)非常重要,因为压缩取决于每个IR。在本节中,我们对IR转换进行微基准测试,并指出在实现远程在线感知方面,范围图像(RIs)比其他IR具有的优势。具体来说,我们使用了来自KITTI数据集的LiDAR点云,通过PCL实现了八叉树和k-d树,而网格转换则基于Marton等人的算法。我们还自行实现了RI转换,并使用OpenMP实现了并行版本。RI转换的过程是将3D笛卡尔坐标中的原始点转换为球坐标。我们调整了精度和视场参数,以确保RI适用于不同的LiDAR传感器。在微基准测试的结果中,我们发现平行化的RI转换在台式机和Jetson上都显示出最低的延迟,这是因为RI在简单性和并行性方面优于其他IR。虽然八叉树和k-d树也已经进行了并行化构建的努力,但由于其分层结构的限制,完全并行化构建是具有挑战性的。相比之下,RI转换可以轻松地并行化,因为每个点的转换都是完全独立的。至于网格转换,则由于其高计算复杂性和执行时间大,不适合实时使用。此外,不同的IR转换具有不同的理论复杂性,RI的时间复杂度为O(n),而树的时间复杂度为O(n log n)。此外,RI还能够应用各种图像处理技术,进一步增强了其优势。基于这些发现,我们选择了RI作为FLiCR的目标中间表示。表II显示了来自KITTI数据集的LiDAR点云与IR的转换延迟。
FLiCR:深度图像压缩
在选择RI作为适当的IR之后,压缩还需要高效、低延迟和轻量级。这里描述了如何实现压缩方法的目标,首先识别了当前图像编解码器对LiDAR RIs的失真问题。其次通过RI量化和子采样探索了利用有损RI进行下游压缩步骤的机会。我们认为有损表示可以极大地提高通过有损表示的压缩效率和低延迟的无损字节流压缩。然而这会损害点云质量,我们提出了FLiCR在有损RI方面可能存在的问题。
当前图像压缩存在的问题
这里讨论了将LiDAR点云表示为图像并利用现有图像处理技术进行压缩的问题。尽管现代处理器和GPU具备用于标准编解码器的硬件加速器,如H.264和HEVC,但已有的针对人类视觉设计的图像压缩算法在对LiDAR RIs进行压缩时并不适用。这些算法通常利用人眼特性,通过去除对视觉质量影响最小的数据来减少图像大小,例如通过离散余弦变换或快速傅里叶变换将图像转换为频域,并且高频数据比低频数据更容易被丢弃。然而,这种频域丢失对于LiDAR RIs的点云细节来说却是有效的,导致在压缩后的重建点云中出现模糊和嘈杂的情况。通过对使用H.264编码器进行的实验发现,当量化参数(QP)增加时,压缩后的重建点云质量明显下降,表现为PSNR和CD等质量指标的急剧恶化,同时压缩比适度增加。这表明,目前用于人类视觉的编解码器不适合于保留LiDAR RIs中的点云细节,因为它们更注重视觉感知的准确性而忽略了点云的特殊结构。因此,针对保留点云质量的需求,必须重新考虑编解码器的设计,以确保在压缩过程中尽可能地保留点云的细节。图5显示了通过H.264编码和解码具有不同量化参数(QP)的RI重建的点云。
图5:使用H.264对4500×64的RI进行重建后的点云可视化,采用了四种不同的量化参数。
深度图像的量化和子采样
范围图像(RI)已被用于将LiDAR点云无损地映射到2D帧上,先前的工作只应用了每点的比特量化(bpp),在这些先前的工作中,主要目标是在尽可能保持点云质量高的同时最大限度地提高压缩效率。然而我们认为利用有损RI有更多的优化机会,不仅可以减少数据大小,还可以降低下游压缩任务的复杂性。具体来说,RI的分辨率由传感器的精度确定,而点云的子采样可以通过调整精度参数来完成;将3D点粗略地映射到2D帧上。图6显示了从子采样的RI中重建的点云的可视化效果。
图6:从图2a的子采样RI中重建的点云的可视化效果,对应于4500×64 RI。
虽然子采样和量化的RI对于数据减少和具有较低延迟的压缩具有优势,但它会影响感知任务的性能。因此,针对有损RI的点云的质量度量需要同时反映量化和子采样误差。目前使用的度量标准,如PSNR和CD,很好地反映了量化误差,但有损RI的采样误差并没有得到有效的表示,因为这些度量标准是根据点云之间的点对点距离进行定义的。表IV显示了四种RI分辨率的点云的PSNR、CD和采样误差(SE)。在结果中,PSNR和CD的变化展现出与SE不同的趋势,因为SE是关于从原始点云中丢失的点数,而PSNR和CD是与两个点云之间的最近点对之间的距离(点-wise质量)有关。当前度量标准的问题在于它们只计算点对点的距离,并且每个点的距离是通过在比较点云中找到最近点来计算的。因此,当点云具有不同数量的点时,它们受限于在点云中的总点数中表示此差异。
利用有损RI进行无损压缩
在前文中已经了解到将有损视频编解码器应用于范围图像(RI)会导致较低的压缩效率或扭曲3D空间中的点云。先前的RI压缩方法在压缩效率方面或者采用了较低效率的图像压缩算法,或者通过空间和时间优化提出了有效的无损RI压缩算法。然而,它们只部分利用了有损RI的优势,仅进行了位量化,并且它们的复杂算法在延迟和开销方面存在缺陷,尽管显示出较高的压缩比。为了满足低延迟、轻量级和高效性的要求,我们使用了现有的字节流压缩算法 - 字典编码,并通过充分利用RI的量化和子采样来提高其效率。
字典编码是一种用于字节流的无损压缩算法,它通过用较短的引用替换重复的模式来压缩字节流。字典编码算法已经在语料文本数据方面得到了广泛研究,它们通过简单的位/字节操作和较低的计算复杂度提供了轻量级和低延迟的好处,不会意外地扭曲点云。即使具有这些优势,直接将字节流压缩应用于原始点云和浮点值的未量化RI在压缩比方面是低效的。为了提高效率,我们充分利用了量化和子采样。我们的方法的基本假设是字典编码在字节流中使用重复的特征,并且在限制量化RI的表示空间时,重复模式的概率更高。压缩流程如图7所示。与先前基于RI的工作相比,FLiCR在利用局部空间特征方面相似,但它更有利于满足要求,因为它更简单。
图7:FLiCR压缩步骤,包括子采样和量化以及无损压缩算法。
尽管FLiCR实现了压缩效率和降低延迟,但这是以量化和子采样误差导致点云质量下降为代价的,如图8c和8d所示。由于降低的点云质量可能会对下游感知产生影响,我们将在第VII节评估FLiCR与最先进的LiDAR感知,并分析误差的影响。
图8:量化和子采样对无损字节流压缩的影响
图9显示了FLiCR在测试平台上的延迟细分,当Jetson是移动客户端,桌面是服务器时,端到端延迟约为39毫秒(Draco [42]的约60%),即使在最高RI分辨率下也需要27毫秒进行客户端编码和12毫秒进行服务器解码。对于256×64分辨率,端到端延迟约为10毫秒,相当于Draco的16%。由于端到端延迟的大部分来自点云与RI之间的转换时间,如果设备具有专用于RI转换的硬件逻辑,端到端延迟可以大大降低。随着RI分辨率的降低,量化和压缩延迟也会减少,这些结果显示了FLiCR通过量化和子采样充分利用了协同效应。
Fig. 9: FLiCR的端到端延迟细分
实验
本节的目标是展示我们的方法如何适应LiDAR点云压缩的需求,以实现边缘辅助在线感知。我们将FLiCR与几种现有的压缩方法进行了比较。由于FLiCR会影响点云的质量,因此我们通过与3D目标检测和LiDAR里程计和地图制图(LOAM)等最先进的LiDAR感知算法进行评估,来评估其影响。我们还评估了ePSNR,并展示了与PSNR和简单结合PSNR和SE的方式相比的有效性。所有实验均使用KITTI数据集中来自Velodyne HDL-64E的LiDAR点云进行,这些点云是由运行车辆捕获的。
实验测试平台
测试平台由两台机器组成,一台是NVIDIA Jetson AGX Xavier,另一台是高端台式机。Jetson配备了ARMv8 CPU和32 GB内存,我们将其功率模式设置为15W。台式机配有Intel Core i7-10700、32 GB内存和NVIDIA RTX 2070 GPU。两者均运行Ubuntu 18.04,并使用台式机上的perf和Jetson上的tegrastats进行能耗测量。
FLiCR基准测试
如表I所示,Google Draco是在线感知方面最合适的压缩方法,因为它在压缩比、延迟和能耗使用方面都非常出色。因此,我们将FLiCR与Draco进行比较,使用不同的RI分辨率,基准测试结果如表V所示。
FLiCR在所有分辨率下均实现了比Draco更高的压缩比,即使在最高分辨率下也高出约25%。
端到端评估
使用两个感知任务对我们的方法和度量进行评估:3D目标检测和LOAM,对于3D目标检测,我们使用了OpenPCDet中KITTI数据集原始点云预训练的机器学习(ML)模型。我们使用了以下模型:Part-A2 Net、PointPillar、PointRCNN、PV-RCNN、SECOND、Voxel R-CNN。
表VI显示了模型检测到的对象的召回率。以PointPillars为例,原始数据与4500×64 RI之间的性能降低显示了量化误差的影响。在IoU阈值为0.7的情况下,性能降低约23%,而在阈值为0.3时,性能降低约2%。这表明较高的IoU阈值对量化误差更为敏感,且需要较高IoU阈值的3D目标检测输入点云的质量几乎与原始训练数据相同。图10显示了对象检测召回率值
图10:在IoU阈值为0.5的情况下,PSNR、ePSNR以及带有3D目标检测结果的简单熵反映的PSNR的结果。
对于LOAM,我们使用了A-LOAM实现,为了检查RI量化和子采样的影响,我们生成了从不同分辨率RI重建的LiDAR点云数据集。然后将我们的数据集馈送给这些感知模型。由于目标检测模型是使用原始LiDAR数据进行训练的,而A-LOAM是通过使用原始数据集进行实现和测试的,因此我们可以定量测量FLiCR中有损RI对感知性能的影响。
表VII显示了A-LOAM在不同RI下的评估结果。根据结果,即使在高量化和子采样误差的情况下,LOAM算法也能很好地工作,并且所有情况下的LOAM路径几乎相同,如图11所示。
图11:使用不同分辨率RI的点云的LOAM路径结果
总结
本文描述了现有点云压缩方法在启用边缘LiDAR在线感知方面的局限性,提出了一种轻量级、低延迟和高效的压缩方法,通过使用RI和字典编码。为了实现要求,FLiCR充分利用了具有量化和子采样的有损RI,为了量化由量化和子采样引起的质量损失,我们引入了一种新的度量标准ePSNR,它反映了点云的点级和熵级质量,我们评估了我们的压缩方法,并展示了FLiCR相比于最先进的压缩算法更适用于辅助边缘LiDAR在线感知,与目标使用案例最适合的现有算法相比,FLiCR的端到端延迟减少了多达80%,同时呈现出12倍的压缩比。我们的评估结果与3D物体检测和LOAM显示了有损RI对下游感知的影响,以及与当前质量指标相比,ePSNR捕捉这种影响的有效性。