稠密点云获取方法(二)

2023-10-13 00:30
文章标签 方法 获取 点云 稠密

本文主要是介绍稠密点云获取方法(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作为高分辨率三维重建的方法之一,从单张图像生成稠密三维点云在计算机视觉领域中一直有着较高的关注度。

以下文献提出了一种针对二维和三维信息融合的方法以解决三维点云稀疏难以检测远处的目标的问题。

Multimodal Virtual Point 3D Detection

该文献提出一种将 RGB 传感器无缝融合到基于激光雷达的 3D 识别的方法。它采用一组二维检测来生成密集的三维虚拟点,以增强原本稀疏的三维点云。这些虚拟点与常规的激光雷达获得的原始点云一起自然地整合到任何标准的基于激光雷达的三维检测器中。由此产生的多模式检测器简单而有效。

在大规模的nuScenes数据集上的实验结果表明,该框架将强大的 CenterPoint 基线大幅提高了 6.6mAP,并超过具有竞争性的融合方法。

该方法的思路比较简单,具体如下。

该论文的思想借鉴了PointPainting,实际上是利用图像实例分割结果,对激光点云做了稠密化。

PointPainting是获得图像分割结果后,把点云投影到图像上,得到每个点对应的图像分割的label。

假设原来的点云是N×3,就多了一维图像分割的label,变成N×4,然后用常规的点云处理算法处理,基于Point、Voxel或BEV。

同样是将点云投影到图像上,这篇论文反其道行之。

作者提出点云的一个缺点是太稀疏了,比如一辆车上只有几个激光点打了上去,而图像像素是全都“打”了上去。所以提出了一种方法,根据稠密的像素稠密化点云。

其生成虚拟点的方法:

1)首先对与点云对应的二维RGB图像进行语义(实例)分割,将激光点投影到图像(二维RGB相机坐标内)上,这样图像上每个instance上都会有几个激光点投上去。注意:这里仅考虑位于前景点实体分割中的点。

2)然后,对每个instance内的像素进行随机采样K个点(图c红色点),与被激光点投影上的像素(图c黑色点)进行最近邻关联,根据最近的几个原始点云的深度插值出虚拟点的深度。

3)最后,根据联合标定阶段得到坐标系变换矩阵将这些点投影回激光坐标系,得到virual lidar points,同时这些虚拟点包含实体分割中的类别信息。这样就达到了点云稠密化的效果,然后使用现在流行的3D backbone点云处理算法进行处理。 

 上述生成虚拟点的依据可能是对于属于同一个前景目标中的点,其前景深度不会相差很大,所以可以用其周围点的深度信息来对虚拟点的深度信息进行补全。从而到达缓解点云稀疏性的目的。

相比于baseline CenterPoint,从以下述表格中可以看出,使用生成的虚拟点确实能够在一定程度上提高模型的检测性能。此外,相比于同样采用分割结果来进行多模态融合的PointPainting, 该方法也获得了更好的性能。

此外,作者还研究了实体分割精度对于检测性能的影响。

 文中通过使用降低输入分辨率模拟实体分割精度下降的方法,从文中可以看出,本文所提方法对于实例分割的精度还是具有较高的鲁棒性。

此外,作者还在文中提到,其在实验过程中验证了本文中所使用的基于邻近点进行深度估计的精度,平均误差在0.33m左右,可见在同一前景目标中,这种基于临近点的深度估计精度还是比较高的。

这篇关于稠密点云获取方法(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/199502

相关文章

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

Python获取浏览器Cookies的四种方式小结

《Python获取浏览器Cookies的四种方式小结》在进行Web应用程序测试和开发时,获取浏览器Cookies是一项重要任务,本文我们介绍四种用Python获取浏览器Cookies的方式,具有一定的... 目录什么是 Cookie?1.使用Selenium库获取浏览器Cookies2.使用浏览器开发者工具

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

Java Thread中join方法使用举例详解

《JavaThread中join方法使用举例详解》JavaThread中join()方法主要是让调用改方法的thread完成run方法里面的东西后,在执行join()方法后面的代码,这篇文章主要介绍... 目录前言1.join()方法的定义和作用2.join()方法的三个重载版本3.join()方法的工作原

Java获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶

Olingo分析和实践之ODataImpl详细分析(重要方法详解)

《Olingo分析和实践之ODataImpl详细分析(重要方法详解)》ODataImpl.java是ApacheOlingoOData框架的核心工厂类,负责创建序列化器、反序列化器和处理器等组件,... 目录概述主要职责类结构与继承关系核心功能分析1. 序列化器管理2. 反序列化器管理3. 处理器管理重要方