经典文献阅读之--R-PCC(基于距离图像的点云压缩方法)

news2024/11/24 13:51:03

0. 简介

对于激光雷达数据而言,虽然与2D图像相比,可以提供精确的物体深度信息,但也存在数据量大的问题,不便于数据存储或传输。在拿到离线数据分析的时候会发现我们很难拿到较长一段时间的激光数据,这就给我们问题的重现增加了困难。而本文《R-PCC: A Baseline for Range Image-based Point Cloud Compression》就提出了一种基于距离图像的点云压缩方法R-PCC,该方法可以重建具有均匀或非均匀精度损失的点云。我们将原始大尺度点云分割成小而紧凑的区域,以实现空间冗余和显著区域分类。与其他基于体素或基于图像的压缩方法相比,该方法可以在重构点云中保留并对齐原始点云中的所有点。它还可以通过量化模块控制每个点的最大重构误差。在实验中,我们证明了我们更简单的基于FPS的分割方法可以获得比基于实例的分割方法(如DBSCAN)更好的性能。相对应的代码已经在Github上完成了开源。

1. 文章贡献

在本文中,我们提出了一种使用最远点采样(FPS)的基于区域的方法。在第IV-C节中,我们比较了基于实例和基于区域的分割方法的压缩比和重构质量,结果表明,语义和准确的分割不能提高整体压缩性能,而我们的统一压缩框架可以在2cm倒角距离误差的情况下实现30倍的压缩比。将大规模点云分割为小区域的另一个原因是,我们可以在不影响下游任务的情况下,通过在重要区域保持高压缩精度而降低不重要区域的压缩精度来减小压缩的比特流大小。下面是主要贡献:

  • 我们评估了不同范围和分布与压缩比率之间的关系,结果表明,我们的最远点采样分割和点-平面混合建模方法比基于群集的压缩方法在效率和效果上更好。
  • 我们为不同需求提出了一个统一和非统一的压缩框架。具有更多关键点的群集作为后续任务的显着区域保持高的重建质量。
  • 我们将我们的压缩框架与其他最先进的算法进行比较,在重建质量和后续任务性能方面都取得了卓越的表现。我们的实时框架R-PCC是开源的,易于扩展到多个下游任务,并可以成为一个新的基于范围图像的点云压缩基准。

2. 点云压缩基础

点云数据很大要压缩。压缩点云的平台国际上有MPEG的基于几何的点云压缩(Geometry Point Cloud Compression,G-PCC) 和基于视频的点云压缩 (Video Point Cloud Compression, V-PCC) 两个平台;国内有AVS的AVS-PCC平台。V-PCC旨在为需要实时解码的应用提供低复杂度的解码能力,如虚拟/增强现实、沉浸式通信等。G-PCC可为自主驾驶、3D地图和其他利用激光雷达生成的点云(或类似内容)的应用程序的部署提供高效的无损和有损压缩。

V-PCC的整体框架如下图所示,类似于传统的三维视频,整体编码过程可分为四个步骤:补丁生成、几何/纹理图像生成、附加数据压缩和视频压缩。视频压缩过程可以采用已发布的视频编码标准H.265/HEVC、H.266/VVC进行压缩。

在这里插入图片描述

2.1 压缩方法分类

传统方法:先去除一部分冗余,再使用变换与量化将空间域的点云变换到频域并压缩变换系数,再经过熵编码进一步压缩比特流。优点:简单直观易理解、可控易debug;缺点:语义难建模,用户不友好

深度方法:通过卷积神经网络将点云数据编码为隐藏表示,再量化隐藏特征,基于学习熵模型和熵编码将上下文输入的情况下每个符号出现的概率压缩并产生比特流。优点:简单高效、数据驱动;缺点:不可解释、黑盒不可控、需要硬件支持(GPU/FPGA etc.)、因为门槛低所以难找工作

3. 系统总览

我们提出的统一或非统一点云压缩框架R-PCC如图1所示。我们的框架的解压部分使用与压缩框架相同的基本压缩器,以解压分割和建模信息数据(信息数据)和量化残差数据。信息数据可以像压缩框架一样预测粗略点云,而残差由反量化模块恢复。在非统一框架中,每个簇的精度对应于压缩中的量化模块。

我们提出的基于激光雷达采集范围图像的压缩框架如图1所示。该框架的解压部分使用与压缩框架中相同的基本压缩器,以解压分割和建模信息数据(info.data)和量化残差数据。info.data可以像压缩框架中一样预测粗略的点云,而残差则通过逆量化模块恢复。在非均匀框架中,每个聚类的准确度对应于压缩中的量化模块。
在这里插入图片描述
这样的误差损失包括两个部分:

  1. 从点云到范围图像的投影;
  2. 均匀或非均匀量化精度。

4. 距离图像

现在,大多数激光雷达的单帧点云可以从三维投影到二维。激光雷达具有不同的激光束(例如,Velodyne HDL-64E具有64束激光,而32E具有32束激光),所有激光束在方位角方向(水平视场)上都具有 360 ° 360° 360°的全旋转。这里我们以Velodyne HDL-64E为例。在高度方向(垂直视场),距离图像由64行组成,这些行的角度分布在最低角度 ϕ m i n ϕmin ϕmin和最高角度 ϕ m a x ϕmax ϕmax之间。每个扫描在距离图像中代表一个固定的角度。如果激光雷达具有 H H H束激光,水平角分辨率为 ρ ρ ρ,则激光雷达收集的距离图像的形状应为 [ H , W ] = [ H , ⌊ 360 / ρ ⌉ ] [H,W]=[H,\lfloor360/ρ\rceil] [H,W]=[H,360/ρ⌉],其中 ⌊ ⌉ \lfloor \rceil 表示四舍五入操作。

我们可以将3D点 P = ( x , y , z ) P=(x,y,z) P=(x,y,z)投影到对应的2D像素 I = ( w , h , r ) I=(w,h,r) I=(w,h,r)上,其中 w w w h h h是垂直索引和水平索引, r r r是点到LiDAR原点的欧几里得距离。 p ( w , h , r ) p(w,h,r) p(w,h,r)的值按照计算。 r = x 2 + y 2 + z 2 r = \sqrt{x^2 + y^2 + z^2} r=x2+y2+z2 h = ⌊ θ / ρ ⌉ h = \lfloorθ/ρ\rceil h=θ/ρ,以及 w = ⌊ ( ϕ − ϕ m i n ) / σ ⌉ w = \lfloor(ϕ−ϕmin)/σ\rceil w=⌊(ϕϕmin)/σ,其中 θ = a r c t a n ( y / x ) θ=arctan(y/x) θ=arctan(y/x) ϕ = a r c t a n ( z / r ) ϕ=arctan(z/r) ϕ=arctan(z/r)分别是水平角和垂直角, ϕ m i n ϕ_{min} ϕmin是最小的垂直角, σ = W / ( ϕ m a x − ϕ m i n ) σ=W/(ϕ_{max}−ϕ_{min}) σ=W/(ϕmaxϕmin)

5. 压缩框架

地面提取模块: 地面点具有很强的规律性,因为地面点可以拟合到一个大平面上。我们使用像[8]中的RANSAC平面拟合方法来估计地面模型。

分割模块: 该模块将点云分割成几个更密集的点云子集。与[7]和[8]中的实例分割方法相比,我们选择FPS方法来找到每个聚类的中心作为基于区域的分割方法。聚类的数量等于FPS设置中采样点的数量。在Sec. IV-C中,我们将DBSCAN作为基线与我们的分割方法进行比较,结果表明我们的方法在压缩和效率方面表现更好。

模型模块: 在获得小点云集群之后,我们使用两种方法,点和平面,来建模每个集群中的点。点建模方法使用点深度的平均值,平面建模方法使用通过RANSAC估计的平面来表示每个集群中的点。当集群中的点数小于30或该集群中平面法向量和LiDAR扫描之间的最大角度大于 75 ° 75° 75°时,我们将选择点建模方法。对于集群中的点集 { P i = ( x i , y i , z i ) } i = 1 k \{P_i =(x_i,y_i,zi)\}^k_{i=1} {Pi=(xi,yi,zi)}i=1k,点模型: r = 1 k ∑ ∣ ∣ P i ∣ ∣ 2 r = \frac{1}{k}∑||Pi||^2 r=k1∣∣Pi2,平面模型 a x + b y + c y + d = 0 ax + by + cy + d = 0 ax+by+cy+d=0,其中 { r } \{r\} {r} { a , b , c , d } \{a,b,c,d\} {a,b,c,d}是模型参数。

…详情请参照古月居

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/703092.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

抖音最新版本抓包

1.下载fiddler抓包工具 2.配置https抓包环境 3.抓包工具配置好了之后,我们确保手机和电脑在同一个局域网中 4.打电脑CMD 输入 ipconfig 查看电脑的ip地址 5.打开我们的手机设置代理 6.打开浏览器 输入:你的电脑ip:8888 下载证书 7.打开Re文件管理器(ps…

原来,绩效管理还能这么玩

早上好,我是老原。 最近,有个粉丝朋友来找我请教:他最近加入另外一家大型互联网公司,主要是负责领导力相关这块。他们现在也在做OKR实践,但是碰到了很多问题。 对此我并不觉得意外,因为这样的案例太多了。…

ModaHub魔搭社区:GPTCache的工作原理和为什么选择 GPTCache?

什么是 GPTCache? GPTCache 是一个开源工具,旨在通过实现缓存来提高基于 GPT 的应用程序的效率和速度,以存储语言模型生成的响应。GPTCache 允许用户根据其需求自定义缓存,包括嵌入函数、相似度评估函数、存储位置和驱逐等选项。…

《Opencv3编程入门》学习笔记—第十一章

《Opencv3编程入门》学习笔记 记录一下在学习《Opencv3编程入门》这本书时遇到的问题或重要的知识点。 第十一章 特征检测与匹配 一、SURF特征点检测 太复杂了!全是公式! (一)SURF算法概览 SURF,SpeededUp Rebus…

基于matlab使用点要素匹配在杂乱场景中检测对象(附源码)

一、前言 此示例演示如何在给定对象的参考图像的情况下检测杂乱场景中的特定对象。 此示例提供了一种基于查找参考和目标图像之间的点对应关系来检测特定对象的算法。它可以检测物体,尽管刻度变化或面内旋转。它对少量的面外旋转和遮挡也很鲁棒。这种对象检测方法…

Ansible练习

部署ansible练习 开始之前先使用student用户登录 登录命令:ssh studentworkstation 在workstation上运行lab deploy-review start命令,此脚本将确保受管主机在网络上访问。 然后开始验证控制节点上是否安装了ansible软件包,在运行anisble -…

Shell脚本编程教程

Shell脚本编程 1.Shell脚本语言的基本结构 1.1 Shell脚本的用途: 自动化常用命令执行系统管理和故障排除创建简单的应用程序处理文本或文件 1.2 Shell脚本基本结构: ​ Shell脚本编程:是基于过程式,解释执行的语言 编程语言…

【C#】简单聊下Framework框架下的事务

框架用的多了,之前版本的事务都忘记了。本次简单聊下.net framework 4.8框架下本身的事务 目录 1、SqlClient2、TransactionScope3、引用 1、SqlClient 在 C# 中,使用 using 块可以方便地实现对资源的自动释放,但它不适用于实现事务处理。为…

Redis实践篇(二)优惠卷秒杀 一人一单、分布锁

目录 全局ID生成器​编辑 实现优惠卷下单 优惠卷超卖问题 乐观锁 一人一单 分布式锁 分布锁的实现 基于Redis的分布锁 Redis的Lua脚本 再次改进Redis的分布锁 基于Redis的分布锁优化 Redisson分布式框架 引入依赖 Redisson可重入锁原理 Redisson分布锁原理​编辑 全局I…

基于Hadoop的疫情信息分析与可视化研究——包含大屏可视化及预测算法

需要本项目的全套环境、代码、文档、资源、数据和部署调试的私信博主!!! 本研究基于中国新冠疫情2020-01-11至2022-12-20的全国整体数据进行疫情大数据分析,通过对历史的数据进行大数据分析,可以有效的掌握过去疫情数据…

4、JAVA 嵌套for循环 while do-while

1 嵌套for循环 1.1 概述 存在至少2层for循环,根据外层的条件,判断里层能否执行 如果能执行,就把里层代码都循环完毕后,再继续判断是否执行外层循环的下一次循环 1.2 嵌套for形式 1.3 练习:嵌套for循环入门案例 创建包: cn.tedu…

Jupyter notebook安装运行(详解)

目录 Jupyter notebook 概念 官方文档 特点 使用Anaconda安装 使用pip安装 运行Jupyter Notebook 指定端口启动 Jupyter notebook修改主目录 Jupyter notebook 概念 Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发…

Dlib —— 对图片进行人脸检测(附源码)

效果 代码 Vs2017下使用Dlib检测人脸&#xff0c;并通过OpenCv将结果绘制出来。&#xff08;由于Dlib库已编译好&#xff0c;Vs工程环境自行搭建&#xff0c;OPenCv环境参考本人之前的专栏文章&#xff09; #include <iostream>#include <dlib/image_processing/fron…

生产环境使用HBase,你必须知道的最佳实践

需要关注的一些最佳实践经验。 **Schema设计七大原则 ** 1&#xff09;每个region的大小应该控制在10G到50G之间&#xff1b; 2&#xff09;一个表最好保持在 50到100个 region的规模&#xff1b; 3&#xff09;每个cell最大不应该超过10MB&#xff0c;如果超过&#xff0c;…

一次性供应商是否可以创建采购信息记录?

近期有读者提出这个问题。我的第一反应就是&#xff0c;为什么自己不试一下呢&#xff1f;如果不能&#xff0c;系统应该会有提示。不过反正我也好久没写了&#xff0c;找篇素材测试下&#xff0c;写写也好。 自行测试一下&#xff0c;在事务ME11中创建信息记录&#xff0c;选择…

基于java的助农在线商城的设计与实现(源码+展示视频+文档+报告)

电商助农受到了广泛的关注&#xff0c;已成为新时期农产品销售的主要发展路径。推进“互联网农业”的深入发展&#xff0c;是促进农业现代化发展的关键。助农在线商城基于Springboot框架Mysql数据库实现&#xff0c;以Jdk1.8Tomcat8为开发环境&#xff0c;实现一个基于Java开发…

【离群点检测算法】离群点|异常值 检测算法——局部离群因子LOF算法

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 离群点检测&#xff0c;理解起来也比较容易。 同学都考70分&#xff0c;你也考70分&#xff0c;可以。 同学都考90分&#xff0c;你考70分&#xff0c;不…

算法笔记——排序算法

&#x1f44c;&#xff0c;begin&#xff1a; 排序算法很重要&#xff0c;它可以使数据按照一定的规律进行排序&#xff0c;各个语言的代码都有自己的排序函数&#xff0c;那么排序到底有哪几种方法&#xff0c;✌&#xff0c;如下&#xff1a; 按照效率分类如上图&#xff1a…

为什么要提前报考CSPM项目管理专业人员能力评价

2021年10月&#xff0c;中共中央、国务院发布的《国家标准化发展纲要》明确提出构建多层次从业人员培养培训体系&#xff0c;开展专业人才培养培训和国家质量基础设施综合教育。建立健全人才的职业能力评价和激励机制。由中国标准化协会&#xff08;CAS&#xff09;组织开展的项…

《移动互联网技术》第八章 消息与服务:掌握不同类型广播监听方式,以及创建通知的方法

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…