体素化就是将点云分成在空间上均匀的体素格,然后生成3D点和它们对应的体素之间多对一的映射。

一、硬体素化

在VoxelNet中,体素化分为两个阶段,第一个阶段叫grouping——分组,第二个阶段叫sampling——采样。比如,给定一个点云,共N个点,将这N个点分配到一个K×T×F的缓冲区中,其中K是体素最大数量,T是每个体素中点的最大数量,F是每个点的特征维度。

在grouping分组阶段,每个点基于其空间坐标都会被分配到对应的体素中。由于会有许多点分配到一个体素中,超过了允许的固定的点容量T,那么就需要sampling采样阶段在每个体素中下采样T个点。

类似地,如果点云产生的体素个数超过了固定的体素容量K,体素也会被下采样。

如果体素数量和体素中点的数量都没有超过固定的容量,缓冲区中未使用的部分就用0填充。

硬体素化HV有三个限制:

  1. 由于点和体素数超过了容量后会被丢弃,硬体素化HV迫使模型丢掉可能对检测有用的信息;
  2. 随即丢弃的点和体素可能也会导致不确定的体素嵌入,结果是导致检测结果的不稳定和抖动;
  3. 填充的体素会消耗不必要的计算,阻碍运行时间的性能。

硬体素化在点/体素覆盖和高效的内存使用之间达到平衡是很有挑战的。

硬编码的简单体素特征提取,即将一个体素中的所有点简单地进行求取平均值的操作,得到的结果作为这一个体素的特征向量。这是最简单的体素特征编码器。

二、动态体素化

动态体素化DV克服了硬体素化HV的一些缺点。动态体素化DV保留了分组grouping阶段,相反,它没有采样固定的点数或体素容量,它保留了点和体素之间的完全映射。因此,体素数和每个体素中的点数都是动态的,依赖于具体的映射函数。这消除了对固定大小缓冲区的需求,也消除了对随机点和体素的丢弃过程。

因为所有原始点和体素信息都被保留了,动态体素化DV没有引入信息丢失,并产生了确定的体素嵌入,使得检测结果更稳定。

另外,动态体素化建立了每一个点和体素对之间的双向关系,为从不同视图融合点级上下文特征提供了自然基础。

动态体素化DV动态高效分配资源来管理所有体素和点。

简单的动态体素特征编码,也是简单地对体素中所有点的特征向量进行平均值运算作为整个体素的特征,只不过每个体素中的点个数是动态的,每个体素都不同。

在体素化完成后,就可以将激光雷达点通过特征编码方法转换到高维度空间。

3D目标检测常见体素化方法总结(原理及代码)(持续更新)相关推荐

  1. 大合集!CVPR2021论文分方向整理: 目标检测/图像分割/医学影像等25个方向(持续更新)

    CVPR2020在2月28日公布了所有接受论文ID,相关报道:CVPR 2021接收结果出炉!录用1663篇,接受率提升,你的论文中了吗?.自论文ID公布以来,许多开发者都分享了自己的优秀工作. 从论 ...

  2. 【3D目标检测】单目相机成像原理

    目录 学习资料 学习笔记 学习资料 2.2 针孔相机模型 3D视觉坐标系与坐标转换 学习笔记 相机结构最基本的理解就是透镜模型,穿过光心的光线没有改变方向,其他光线都会在一定程度上改变方向. 为了方便 ...

  3. 无人驾驶领域的3D目标检测综述

    论文阅读笔记<3D Object Detection for Autonomous Driving: A Review and New Outlooks> github链接:https:/ ...

  4. 史上最全综述:3D目标检测算法汇总!

    来源:自动驾驶之心 本文约16000字,建议阅读10+分钟 本文将演示如何通过阈值调优来提高模型的性能.本文的结构安排如下:首先,第2节中介绍了3D目标检测问题的定义.数据集和评价指标.然后,我们回顾 ...

  5. 3D目标检测学习笔记

    博主初学3D目标检测,此前没有相关学习背景,小白一枚-现阶段的学习重点是点云相关的3D检测. 本文是阅读文章:3D Object Detection for Autonomous Driving: A ...

  6. 【3D目标检测】学习过的论文整理

    目录 概述 整理结果 综述 3D视觉原理 学位论文 单目图像的3D目标检测方法研究 基于图像的 基于2D特征做的 SMOKE MonoDLE MonoPixel DD3D 基于3D特征做的 OFT-N ...

  7. 【lidar】基于YOLO的3D目标检测(激光雷达点云)课程设计

    基于YOLO的3D目标检测(激光雷达点云)课程设计 代码+数据集下载地址:下载地址

  8. OpenPCDet:点云3D目标检测开源库

    本文转载自知乎,已获作者授权转载. 链接:https://zhuanlan.zhihu.com/p/152120636 随着自动驾驶与机器人技术的不断发展,基于点云表征的3D目标检测领域在近年来取得了 ...

  9. KITTI 3D目标检测离线评估工具包说明

    KITTI 3D目标检测离线评估工具包说明 本文是KITTI 3D目标检测离线评估工具包的使用说明和相关代码学习文件,从这里可以下载.更新于2018.09.20. 文章目录 KITTI 3D目标检测离 ...

最新文章

  1. ACMNO.7 输入两个正整数m和n,求其最大公约数和最小公倍数。 输入 两个整数 输出 最大公约数,最小公倍数 样例输入 5 7 样例输出 1 35
  2. 如何保证工业相机工作的精准与稳定?
  3. 按AI顶会评实力:美国7倍领先中国,谷歌雄霸全球第一,腾讯和清华分获中国产学No.1...
  4. string获取 倒数 下标_Redis系列:Redis字符串(STRING)介绍
  5. 用万字长文聊一聊 Embedding 技术
  6. 告诉你,为什么要娶物理系御姐?
  7. 工作中遇到的错误记录
  8. CMS :内容管理系统
  9. php安装redis扩展模块,[教程]为PHP安装phpRedis扩展模块
  10. IDEA创建Maven Web 项目
  11. 计算器的二进制功能java_Java二进制文字– Java 7功能
  12. /31位掩码实验演示
  13. java两个数最大公约数和最小公倍数_java中请给出例子程序:找出两个数的最大公约数和最小公倍数...
  14. python爬虫 爬取视频 练习
  15. HDMI2.0/HDCP2.2 2x4 矩阵芯片——GSV2006
  16. 笔记本禁用键盘和触摸板
  17. 电脑证书错误即上网站打不开提示证书错误
  18. c语言怎么做查询系统,c语言编辑查询系统,可实现增删改查
  19. mysql学习笔记-索引优化【1】-索引失效原因
  20. Windows下设置桌面壁纸的代码(QT版)

热门文章

  1. Android手机上直接查看SQLite数据库的应用
  2. CVPR2022论文速览--Vehicle trajectory prediction works, but not everywhere
  3. 量化策略研究:股票中的偏度效应
  4. 前端--最具文艺范的程序员
  5. petalinux-build: do_compile: oe_runmake failed do_compile: Function failed: do_compile 解决方法
  6. linux关闭运行程序
  7. !important的理解
  8. springboot缓存@Cacheable的使用,及设置过期时间
  9. Camera2 教程 一概览
  10. 雷替曲塞-聚乙二醇-小麦胚凝集素 Raltitrexed-PEG-Wheat germ agglutinin