【3D目标检测】PDV(Point Density-Aware Voxels for LiDAR 3D Object Detection)

这篇具有很好参考价值的文章主要介绍了【3D目标检测】PDV(Point Density-Aware Voxels for LiDAR 3D Object Detection)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概述

首先,本文是基于点云,并且将点云处理成体素的3D目标检测网络。
本文的核心概念就是点密度,主要贡献如下:

  1. Voxel Point Centroid Localization(体素点质心定位)就是使用非空体素中点计算体素的质心,然后结合质心点的特征得到包含细粒度位置信息的点密度分布,并使用它来实现候选框的回归,从而避免采样点云。
  2. Density-Aware RoI Grid Pooling(密度感知RoI Grid Pooling)在PV-RCNN的RoI Grid Pooling基础上进行变化,添加额外通过KDE编码的局部点密度信息并通过self-attention操作获取候选框全局的点密度信息。
  3. Density Confidence Prediction(密度置信度预测)将bbox的质心位置以及原始点云的数量作为额外特征,辅助置信度预测。

细节

点密度问题

由于激光雷达的特性,采集到点云的密度是不均与的,即距离越远点云就会越稀疏,越近点云就会越密集。当前的方法基本都使用一些策略缓解这种不均匀带来的影响:基于体素的方法通过体素化忽略点密度,因此导致体素特征和点云特征是不对齐的,从而影响性能;而基于点的方法通过FPS缓解点密度不均匀,但是这个步骤直接采样原始点云计算量大,而本文则将这种特性(点密度变化)作为额外信息提高网络的性能。

上图中(a)是采样了体素中心,可以看到,这种采样方式因为没有考虑到密度的变化,采样后丢失了物体原本的细节信息,车的形状已经看不出来了。因此考虑用FPS采样弥补密度的变化(因为稠密的地方,选取的点肯定会多一点,但是这种方式容易受到离群点的影响,并且计算量比较大。),如(b),但是最远点采样计算量比较大,而且采样后会减少原本的目标点云数量,对小目标(自行车,行人)的检测效果会变差。

【3D目标检测】PDV(Point Density-Aware Voxels for LiDAR 3D Object Detection)
实验表明点密度对于小目标(自行车、行人)的检测是很有帮助的,而这也是当前的sota们所欠缺的。

网络结构

  1. 体素化并对非空体素进行特征提取,使用最后的特征通过RPN网络进行分类和初始化候选框的操作,因为后续需要,所以中间若干stage的特征也要保留。
  2. 计算每个stage中体素的点质心以及它对应的特征
  3. 对生成的候选框均匀划分得到 u 3 u^3 u3的网格点
  4. 每个网格点使用球查询聚集特征提取网络中每个stage中体素点质心的特征得到网格点特征
  5. 网格点特征+位置编码送入self-attention得到考虑了位置信息和全局信息的网格点特征
  6. 使用候选框的网格点特征进行候选框的微调,得到预测框
  7. 使用候选框的网格点特征+预测框的信息,得到最后的置信度
    【3D目标检测】PDV(Point Density-Aware Voxels for LiDAR 3D Object Detection)

3D体素特征提取网络

模块作用:划分体素、提取体素特征并生成候选框,判定类别以及粗粒度bbox回归
具体:这部分和PV-RCNN、SECOND以及Voxel-RCNN一样,首先将点云划分到体素中,并通过稀疏卷积网络对非空体素进行特征提取,其中每个体素特征层相对于原体素进行了1倍、2倍、4倍和8倍的下采样,并将最终的特征图投影到鸟瞰图上,利用鸟瞰图进行anchor的分类以及候选框的生成
【3D目标检测】PDV(Point Density-Aware Voxels for LiDAR 3D Object Detection)

体素点质心定位

模块作用:用于后续的密度感知ROI网格池化中聚集非空体素特征。
具体:首先,根据空间坐标和体素网格维度计算每个点的体素索引,相同索引的点就被聚集到一个体素当中了。接着计算每个体素的点质心,就是所有点坐标的平均值。
【3D目标检测】PDV(Point Density-Aware Voxels for LiDAR 3D Object Detection)
由于体素是规律的,所以我们可以使用卷积的特点计算出下一层体素的点质心。其中假设第 l l l层的n个体素通过卷积得到 l + 1 l+1 l+1层的一个体素,那么 l l l层n个体素对应的点质心就构成了集合 c k l + 1 c^{l+1}_{k} ckl+1,将n个体素对应的点个数与点质心坐标相乘并相加,除以n个体素内所有的点数和就得到了 l + 1 l+1 l+1层中对应体素的点质心了。简述:就是在卷积的过程中对体素的点质心取平均得到新的对应体素的点质心,但是单纯取平均少了点信息,于是先使用体素对应的点数加权,然后取平均。
这样就可以避免每个体素特征层都扫描所有点了。
【3D目标检测】PDV(Point Density-Aware Voxels for LiDAR 3D Object Detection)
【3D目标检测】PDV(Point Density-Aware Voxels for LiDAR 3D Object Detection)

密度感知的RoI Grid Pooling

密度感知的RoI Grid Pooling在RoI Grid Pooling(参考PV-RCNN)的基础上添加了KDE和self-attention部分,用于编码候选框的点密度特征。

首先在候选框中均匀采样 U 3 U^3 U3个网格点,然后对每个网格点在体素特征层中采样,采样的是以网格点为中心,半径为 r r r的球形区域中的体素点质心,然后基于这些体素点质心得到新的点特征(包括体素点质心的特征、体素点质心与网格点的相对距离以及使用KDE生成的当前网格点下对于体素点质心的密度估计)注:体素点质心的密度估计表示的含义是,如果当前体素点质心与其他的体素点质心比较接近,那么就代表当前的点云比较密集,该值就会比较大。
【3D目标检测】PDV(Point Density-Aware Voxels for LiDAR 3D Object Detection)
【3D目标检测】PDV(Point Density-Aware Voxels for LiDAR 3D Object Detection)
【3D目标检测】PDV(Point Density-Aware Voxels for LiDAR 3D Object Detection)
采用pointNet++中的MSG的方式聚合这些点特征得到网格特征。
【3D目标检测】PDV(Point Density-Aware Voxels for LiDAR 3D Object Detection)

上面是在某一个体素特征图上得到网格网格点特征,接着把所有体素特征图上对应的网格点特征concat起来,就得到了最终的网格点特征,这些特征是汇集了多层的特征的、对于点云稠密度敏感的特征

【3D目标检测】PDV(Point Density-Aware Voxels for LiDAR 3D Object Detection)

这些网格点特征是通过球查询得到的,接着使用self-attention操作引入他们(非空的网格点,空网格点不做处理。注:空就是特征全0)之间的依赖关系,同时引入点云的点密度信息来刻画几何信息(因为点密度存在一定的距离信息)。

【3D目标检测】PDV(Point Density-Aware Voxels for LiDAR 3D Object Detection)

self-attention的结果就是就是将非空的网格点的特征送入transformer的encoder,然后做个残差。
【3D目标检测】PDV(Point Density-Aware Voxels for LiDAR 3D Object Detection)
点密度信息引入,首先将将候选框均匀划分为 U ∗ U ∗ U U*U*U UUU,也就是为每个网格点创建一个体素,然后使用网格点和体素点质心的相对坐标以及体素内的点数的log值来表示点密度位置信息。
【3D目标检测】PDV(Point Density-Aware Voxels for LiDAR 3D Object Detection)

密度置信度预测

首先将密度感知的RoI Grid Pooling部分的输出展平,FFN处理之后分两路。首先进行bbox的回归得到最终的检测结果,然后再进行另一路的置信度预测。这边我们添加两个额外特征(分别是当前bbox的点质心特征以及bbox中的点数),然后的得到置信度预测结果(注:这也是一个小技巧,先bbox回归然后再预测置信度,而不是并行。并且将点密度又考虑了进来,贯彻全文思想 哈哈哈哈哈)
【3D目标检测】PDV(Point Density-Aware Voxels for LiDAR 3D Object Detection)

loss

包括两个部分,分别是RPN网络的loss以及RCNN loss
【3D目标检测】PDV(Point Density-Aware Voxels for LiDAR 3D Object Detection)
【3D目标检测】PDV(Point Density-Aware Voxels for LiDAR 3D Object Detection)
【3D目标检测】PDV(Point Density-Aware Voxels for LiDAR 3D Object Detection)
其中IoU的loss来自PV-RCNN中,参考这里
【3D目标检测】PDV(Point Density-Aware Voxels for LiDAR 3D Object Detection)文章来源地址https://www.toymoban.com/news/detail-499508.html

到了这里,关于【3D目标检测】PDV(Point Density-Aware Voxels for LiDAR 3D Object Detection)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【论文笔记】FSD V2: Improving Fully Sparse 3D Object Detection with Virtual Voxels

    原文链接:https://arxiv.org/abs/2308.03755 完全稀疏检测器在基于激光雷达的3D目标检测中有较高的效率和有效性,特别是对于长距离场景而言。 但是,由于点云的稀疏性,完全稀疏检测器面临的一大困难是中心特征丢失(CFM),即因为点云往往分布在物体表面,物体的中心特征通

    2024年02月02日
    浏览(44)
  • 3D 目标检测 SFD 问题记录

    顺着网址手动下载,然后放入相应的目录下 import spconv 要改写成 import spconv.pytorch as spconv pip install scikit-image -i https://pypi.tuna.tsinghua.edu.cn/simple Numpy 版本不对导致, 手动 default 加入 yaml 路径 绝对引用 相对引用 from ..ops.roiaware_poo3d import roiaware_pool3d_utils 把“2”改成“0”,就好了

    2024年02月15日
    浏览(29)
  • 【3D目标检测】Fastpillars-2023论文

    论文:fastpillars.pdf https://arxiv.org/abs/2302.02367 作者:东南大学,美团 代码:https://github.com/StiphyJay/FastPillars (暂未开源) 讲解:https://mp.weixin.qq.com/s/ocNH2QBoD2AeK-rLFK6wEQ PointPillars简单地利用max-pooling操作来聚合所有在支柱中使用点特征,这会大量减少本地细粒度信息,尤其会降低

    2024年02月03日
    浏览(43)
  • 睿智的目标检测——Pytorch搭建YoloV7-3D单目图像目标检测平台

    睿智的目标检测——Pytorch搭建YoloV7-3D单目图像目标检测平台 学习前言 源码下载 YoloV7-3D改进的部分(不完全) YoloV7-3D实现思路 一、整体结构解析 二、网络结构解析 1、主干网络Backbone介绍 2、构建FPN特征金字塔进行加强特征提取 3、利用Yolo Head获得预测结果 三、预测结果的解

    2024年02月16日
    浏览(43)
  • 【3D目标检测】基于伪雷达点云的单目3D目标检测方法研宄

    本文是基于单目图像的3D目标检测方法,是西安电子科技大学的郭鑫宇学长的硕士学位论文。 【2021】【单目图像的3D目标检测方法研究】 研究的问题: 如何提高伪点云的质量 伪点云体系中如何提高基于点云的检测算法的效果 提出的方法: 一种基于置信度的伪点云采样方法

    2024年02月06日
    浏览(56)
  • KITTI 3D目标检测数据集入门

    数据集官网下载地址: The KITTI Vision Benchmark Suite 3D目标检测数据集由7481个训练图像和7518个测试图像以及相应的点云数据组成,包括总共80256个标记对象。 上图红色框标记的为我们需要的数据,分别是 彩色图像数据(12GB) 、 点云数据(29GB) 、 相机矫正数据(16MB) 、 标签

    2023年04月08日
    浏览(50)
  • 【3D目标检测】KITTI数据集介绍

    KITTI数据集很大,包括了很多任务,使用的训练样本7481个,测试样本7518个。但测试样本我们是不可见的,所以一般将将7481个训练样本划分为3712与3769分别作为训练集和测试集。 下载部分参考:OpenPCDet——环境配置和训练测试(升级系统、Nvidia驱动、cuda11.3、cudnn8.2) 具体解释

    2023年04月15日
    浏览(51)
  • 3D目标检测实战 | 详解2D/3D检测框交并比IoU计算(附Python实现)

    交并比(Intersection Over Union, IoU) 是度量两个目标检测框交叠程度的方式,公式如下 I o U = a r e a (

    2024年02月08日
    浏览(48)
  • 【3D目标检测】学习过的论文整理

    本文将我所学习过的3D目标检测论文按照自己的理解进行分类,并介绍每篇论文研究的问题与采用的方法,格式如下: 【年份】【模型简写】【论文名称】【笔记链接】 研究的问题: 问题1 问题2 提出的方法: 方法1 方法2 【2021】【无】【3D Object Detection for Autonomous Driving: A

    2023年04月18日
    浏览(37)
  • 3D 目标检测——IA-SSD

    😸IA-SSD主要贡献: 指明了现有 point-based 检测器存在的 采样问题 ,并通过引入两种 基于学习 ( learning-based )的 实例感知 ( instance-aware )下采样策略,提出了一种高效的 point-based 三维检测器 论文提出的方法 IA-SSD ( CVPR 2022, Oral )是 高效的 ,且能够使用一个模型在激光雷

    2023年04月08日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包