【2024 目标检测】CascadeV-Det:探究基于点的 3D 目标检测中心点定位的对模型精度影响

本文主要是介绍【2024 目标检测】CascadeV-Det:探究基于点的 3D 目标检测中心点定位的对模型精度影响,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【2024 目标检测】CascadeV-Det:探究基于点的 3D 目标检测中心点定位的对模型精度影响

  • 摘要:
  • 观察:
  • 方法:
    • Instance-Aware Voting:
    • Cascade Positive Assignment:
  • 实验结果:

来源:Arxiv 2024
机构:北京理工大学
论文题目:CascadeV-Det: Cascade Point Voting for 3D Object Detection

论文链接:https://github.com/Sharpiless/CascadeV-Det/blob/main/paper.pdf

开源代码:https://github.com/Sharpiless/CascadeV-Det

摘要:

基于点的 3D 目标检测器在执行预测时是高效的,而不需要额外的后处理。然而,与二维网格不同的是,由于点云的稀疏性,3D 点往往远离目标的真实中心,这使得精确回归边界框具有挑战性。

举例来说,2D 图像可以通过遍历网格点来获取到准确的中心点:
在这里插入图片描述
但是,点云获取的大多是物体表面,导致无法遍历到物体中心:
在这里插入图片描述

为了解决这个问题,我们首先分析了中心点定位对于模型精度的影响,并进一步提出了一种级联投票(Cascade Voting)策略,该策略不断地在联级的检测头中,优化基于点的预测的中心点位置,并提供了基于点的预测的高质量三维目标检测。

具体来说,CascadeV 使用一种新的级联投票解码器来执行级联检测,该解码器结合了两个新的组件:实例感知投票(IA-Voting)和级联点分配(CPA)模块:

  • IA-Voting 模块使用条件逆距离加权更新边界框内更新的建议点的对象特征。这种方法可以防止特征在实例之外被聚合,并有助于提高目标检测的准确性。
  • 此外,由于模型训练可能会缺乏高中心度的建议点,我们开发了CPA模块,通过级联阶段缩小正分配阈值。这种方法在早期阶段放松了对提案中心的依赖,同时确保在后期阶段有大量的高中心度的正样本。

实验表明,配备了 CascadeV 的 FCAF3D 模型在SUN RGB-D上以70.4% mAP@0.25,这是首次实现 70% 以上的 mAP@0.25。

观察:

我们定义中心度为从该位置所负责的位置到对象中心的标准化距离。然后我们可视化提议点的中心度,及其对应预测框跟 GT 的 IoU:
在这里插入图片描述

上图表示,具有较高中心度的提议点,会期望生成具有更高 IoU 的预测边界框,即预测的更加准确。

我们还注意到,由于我们预测框是由提议点到六个面的距离生成(如下图所示):

在这里插入图片描述
左边显示了来自单个提议点(浅蓝色点)的边界框。而如右图所示,我们可以利用预测框的中心,生成一个新的坐标(即深蓝色点),作为下一个阶段的提议点,实现联级检测。

由此我们重新观察提议点(浅蓝色点)和生成的新中心点(也就是下一阶段的提议点)的中心度变化:
在这里插入图片描述
可以看到,预测框的中心往往比原本的提议点具有更高的中心度,即离真正的物体中心点更近。

结合之前的观测:具有较高中心度的提议点,会期望生成具有更高 IoU 的预测边界框,即预测的更加准确。

这样不断更新提议点,获取更高的中心度,进而会提高预测框的准确性。

方法:

在这里插入图片描述
基于上述观察,我们提出了我们的方法:带有点编码器和带CascadeV-Det的新型级联投票解码器的框架,其中也包含了一个额外的 CPA 策略被用于训练。

提议点点首先从点编码器中选择,然后通过 IA-Voting 模块对对象特征进行更新,并输入带有注意模块的变压器层,通过检测头的每阶段预测进行特征细化。CPA 策略中正样本的阈值逐步降低,在更深的阶段提供更严格的正样本监督,并由此保证提供丰富的高质量的正样本。

Instance-Aware Voting:

由于我们更新了解码器中建议点的位置,因此对象特征需要相应地更新。为此,我们提出了 Instance-Aware Voting(IA-Voting)模块,它直接从预测的边界框中聚合对象特征,以便于进一步的特征更新。我们使用条件逆距离加权来聚合从这些相邻点回归的特征,在更新的提议点得到一个更新的特征。

Cascade Positive Assignment:

为了保证具有高中心度的阳性对象的数量,我们实施了 CPA 训练策略,该策略包括对每个检测头的进行不同的正样本分配策略,如图:
在这里插入图片描述
上图展示了训练过程中匹配的正样本,其中不匹配的建议点用灰色表示。星星表示去噪点(查询),距离真值的最小距离进行去噪训练。箭头方向表示建议点的更新位置。虚线框表示正样本所选择的阈值范围,随着联级预测不断缩小,以提供高质量的正样本。

请注意,与 IA-Voting 不同的是,这种匹配策略只在训练期间生效,并用于为提议点分配用于训练的真值框。

在这里插入图片描述
上图(a)表明,当正样本的阈值 µ 直接从 0.5(蓝色)降低到 0.4(金色)时,匹配到真值框的提议点点的数量会急剧下降,这表明由于缺乏积极的训练阈值,直接降低阈值来去除噪声提议点是不可行的。(b)显示,在我们提出的 CPA 策略的第一阶段,由于µ> 0.5,比(a)有更多的分数匹配为阳性,并在第二和第三阶段,这些正样本的中心度进一步提高。

因此,我们可以通过在联级的后续阶段,降低 µ 来建立更严格的分配,并有足够数量的高中心度的正样本。

实验结果:

在这里插入图片描述
在这里插入图片描述
上图展示了在 SUN RGB-D 数据集上,从多个阶段得到的提议点点和预测的边界盒的可视化结果。

这篇关于【2024 目标检测】CascadeV-Det:探究基于点的 3D 目标检测中心点定位的对模型精度影响的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存

使用Python绘制3D堆叠条形图全解析

《使用Python绘制3D堆叠条形图全解析》在数据可视化的工具箱里,3D图表总能带来眼前一亮的效果,本文就来和大家聊聊如何使用Python实现绘制3D堆叠条形图,感兴趣的小伙伴可以了解下... 目录为什么选择 3D 堆叠条形图代码实现:从数据到 3D 世界的搭建核心代码逐行解析细节优化应用场景:3D 堆叠图

C++ 检测文件大小和文件传输的方法示例详解

《C++检测文件大小和文件传输的方法示例详解》文章介绍了在C/C++中获取文件大小的三种方法,推荐使用stat()函数,并详细说明了如何设计一次性发送压缩包的结构体及传输流程,包含CRC校验和自动解... 目录检测文件的大小✅ 方法一:使用 stat() 函数(推荐)✅ 用法示例:✅ 方法二:使用 fsee

CSS Anchor Positioning重新定义锚点定位的时代来临(最新推荐)

《CSSAnchorPositioning重新定义锚点定位的时代来临(最新推荐)》CSSAnchorPositioning是一项仍在草案中的新特性,由Chrome125开始提供原生支持需... 目录 css Anchor Positioning:重新定义「锚定定位」的时代来了! 什么是 Anchor Pos

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

使用雪花算法产生id导致前端精度缺失问题解决方案

《使用雪花算法产生id导致前端精度缺失问题解决方案》雪花算法由Twitter提出,设计目的是生成唯一的、递增的ID,下面:本文主要介绍使用雪花算法产生id导致前端精度缺失问题的解决方案,文中通过代... 目录一、问题根源二、解决方案1. 全局配置Jackson序列化规则2. 实体类必须使用Long封装类3.

Java的"伪泛型"变"真泛型"后对性能的影响

《Java的伪泛型变真泛型后对性能的影响》泛型擦除本质上就是擦除与泛型相关的一切信息,例如参数化类型、类型变量等,Javac还将在需要时进行类型检查及强制类型转换,甚至在必要时会合成桥方法,这篇文章主... 目录1、真假泛型2、性能影响泛型存在于Java源代码中,在编译为字节码文件之前都会进行泛型擦除(ty

Python使用Matplotlib绘制3D曲面图详解

《Python使用Matplotlib绘制3D曲面图详解》:本文主要介绍Python使用Matplotlib绘制3D曲面图,在Python中,使用Matplotlib库绘制3D曲面图可以通过mpl... 目录准备工作绘制简单的 3D 曲面图绘制 3D 曲面图添加线框和透明度控制图形视角Matplotlib