Center-based 3D Object Detection and Tracking 论文学习

news2024/7/6 19:14:06

论文地址:Center-based 3D Object Detection and Tracking
Github 地址:Center-based 3D Object Detection and Tracking

1. 解决了什么问题?

在点云中,3D 目标通常以 3D 框的形式表示。这个表征借鉴于 2D 图像的检测,但也带来了一些问题。在 3D 世界中,目标没有特定的朝向,基于边框的检测器很难枚举出所有的朝向,或用一个与 x x x y y y轴对齐的边框来拟合任意旋转的物体。
点云 3D 检测有如下挑战:

  • 点云比较稀疏,3D 空间的大多数区域是没有测量值的;
  • 输出结果是 3D 框,在全局坐标系里通常不会很好地对齐;
  • 3D 目标的大小、形状和宽高比差异很大,比如在路上,公交车和 limo 很长、行人个子很高。

3D 检测与 2D 之间有着明显的差异,使算法的迁移工作更加困难。症结在于,与 x x x y y y轴对齐的 2D 框并不能很好地表示任意 3D 物体。如下图所示,anchor-based 方法使用自车坐标系下 x x x轴或 y y y轴对齐的 anchors。当这个车是直行时,该方法可以检出物体;但当车子左转时,anchor-based 方法就无法拟合该旋转物体了。一个办法是将每个物体的朝向角分类为不同的 anchors,但这会增加计算成本,产生大量的 false positives。本文认为,要将 2D 域和 3D 域关联起来,根本的挑战在于如何表征物体。如下图所示,用点表征目标极大地简化了 3D 检测。
在这里插入图片描述

2. 提出了什么方法?

提出将 3D 目标用点来表示、检测和跟踪。在不同的主干网络下,从边框表征切换到基于中心点的表征可以提升 3D 检测 3 % ∼ 4 % 3\%\sim 4\% 3%4%mAP。CenterPoint 是一个双阶段 3D 检测器,首先用一个关键点检测器来找到目标的中心点,回归其属性(如 3D 框大小、3D 框朝向角及速度);然后在第二阶段,使用额外的目标点特征,优化这些预测结果。双阶段优化能进一步提升 2 % 2\% 2%mAP,计算量增长 < 10 % <10\% <10%
CenterPoint 使用标准的 LiDAR 主干网络,即 VoxelNet 或 PointPillars,由输入点云构建出表征。然后将这些表征 flatten 成一个俯视图,使用基于图像的关键点检测器来找到目标中心点。对于每个检到的中心点,从该点的特征回归出其它的属性,如 3D 大小、朝向和速度。在第二阶段,提取 3D 目标框四个外立面的 3D 中心点的特征。它恢复出丢失的局部几何信息(步长、局部感受野造成),能带来明显的表现提升。
基于中心的表征有多个核心优点:

  • 边框有朝向角,而中心点没有。这极大地降低了目标检测器的搜索空间,使主干网络能学习任意旋转角度的物体。
  • 基于中心的表征能简化下游任务。如果目标是点的话,轨迹就是其时空路径。CenterPoint 预测连续帧之间目标的相对速度(偏移),然后做贪心匹配。
  • 基于点的特征提取使我们能设计出更有效、更快的双阶段优化模块。

2.1 Preliminaries

CenterNet

将目标检测看作为关键点预测问题。输入是单张图片,为 K K K个类别预测一个 w × h w\times h w×h形状的热力图 Y ^ ∈ [ 0 , 1 ] w × h × K \hat{Y}\in [0,1]^{w\times h\times K} Y^[0,1]w×h×K。输出热力图上的每个局部极大值(即像素值 ≥ \geq 它相邻的八个像素值)都对应一个检测物体的中心。为了提取 2D 框,CenterNet 回归一个 size map S ^ ∈ R w × h × 2 \hat{S}\in \mathbb{R}^{w\times h\times 2} S^Rw×h×2,由所有的类别共享。对于每个检测目标,size map 里面是中心点位置的宽度和高度。CenterNet 架构使用全卷积主干,和一个密集预测的 head。训练时,在每个标注框的中心点 q i \mathbf{q}_i qi(其类别为 c i ∈ { 1 , . . . , K } c_i\in \left\{1,...,K\right\} ci{1,...,K}),用高斯核来学习预测热力图,并回归目标框的大小 S S S。为了补偿由主干网络步长引起的量化误差,CenterNet 也会回归一个局部偏移图 O ^ \hat{O} O^
测试时,检测器产生 K K K个热力图、与类别无关的回归图。热力图上的每个局部极大值对应一个目标,置信度大小与热力图的极大值呈正相关。对于每个检测目标,检测器从相应的极大值位置得到回归值。

3D Detection

P = { ( x , y , z , r ) i } \mathcal{P}=\left\{(x,y,z,r)_i\right\} P={(x,y,z,r)i}是 3D 位置 ( x , y , z ) (x,y,z) (x,y,z)的无序的点云, r r r是反射的测量值。3D 检测算法预测一组 BEV 视角下的 3D 目标框 B = { b k } \mathcal{B}=\left\{b_k\right\} B={bk}。每个目标框 b = ( u , v , d , w , l , h , α ) b=(u,v,d,w,l,h,\alpha) b=(u,v,d,w,l,h,α)包括中心点坐标 ( u , v , d ) (u,v,d) (u,v,d)、3D 大小 ( w , l , h ) (w,l,h) (w,l,h)和偏航角 α \alpha α。不失一般性地,我们采用了自车中心的坐标系,传感器坐标为 ( 0 , 0 , 0 ) (0,0,0) (0,0,0),偏航角为 0 0 0
目前的 3D 检测器使用一个 3D 编码器,将点云量化为规则的 bins。然后,基于点的网络提取一个 bin 内所有点的特征。3D 编码器对这些特征做池化,得到初始的特征表示。计算量主要在主干网络内。主干网络的输出是一个俯视图特征 M ∈ R W × L × F \mathbf{M}\in \mathbb{R}^{W\times L\times F} MRW×L×F,宽度为 W W W,长度是 L L L,通道数为 F F F W , L W, L W,L与单个 voxel bin 的分辨率和主干网络的步长直接相关。常用的主干网络包括 VoxelNet、PointPillars。
有了俯视图特征 M \mathbf{M} M,现有的检测器用一个检测 head 基于预先定义的 anchor boxes 输出检测结果。因为 3D 框有不同的尺寸和朝向,anchor-based 3D 检测器很难将 x x x轴或 y y y轴对齐的 2D 框拟合到 3D 目标。训练时,anchor-based 3D 检测器需要用 2D 框的 IoU 做标签分配,对于不同的类别和数据集,阈值选取也会造成不必要的负担。

2.2 CenterPoint

下图展示了 CenterPoint 架构。 M ∈ R W × H × F M\in\mathbb{R}^{W\times H\times F} MRW×H×F是 3D 主干的输出特征图。第一阶段预测一个类别相关的热力图、目标大小、sub-voxel 位置优化、旋转角度、速度。所有的输出都是密集预测结果。
在这里插入图片描述

Center heatmap head

Center-head 目的是,在任意待检测目标的中心位置输出一个热力图 peak。该 head 输出一个 K K K通道热力图 Y ^ \hat{Y} Y^,每个通道对应一个类别。训练时,将标注框的 3D 中心点投影到俯视图,回归目标是该中心点的 2D 高斯。本文使用了 Focal Loss。俯视图中目标要比图像里的稀疏。俯视图中的距离是绝对值,而图像视角会因为透视产生畸变。在俯视图下,车辆占据的像素面积很小,而在图像视角中,少量的大目标可能占据大面积的图像区域。此外,在图像视角下,透视投影会压缩目标的深度维度,使它们的中心点彼此更加靠近。在 CenterNet 中,监督信号非常稀疏,大多数位置是背景类。我们增大每个 ground-truth 目标中心的高斯 peak,提升热力图 Y Y Y目标的正监督信号。将高斯半径设为 σ = max ⁡ ( f ( w l ) , τ ) , τ = 2 \sigma=\max(f(wl), \tau), \tau=2 σ=max(f(wl),τ),τ=2是最小的高斯半径, f f f是半径函数。CenterPoint 保留了简洁的 center-based 目标分配。模型从相邻像素点获得更密集的监督信号。

Regression head

我们保留目标中心特征的多个属性:sub-voxel 位置偏移 o ∈ R 2 o\in \mathbb{R}^2 oR2、相较于地面的高度 h g ∈ R h_g\in\mathbb{R} hgR、3D 大小 s ∈ R 3 s\in\mathbb{R}^3 sR3,以及偏航角 ( sin ⁡ ( α ) , cos ⁡ ( α ) ) ∈ R 2 (\sin(\alpha),\cos(\alpha))\in \mathbb{R}^2 (sin(α),cos(α))R2。Sub-voxel 位置偏移 o o o能降低体素化和网络步长引发的量化误差。 h g h_g hg能帮助定位目标的 3D 位置,找回高度信息。朝向角预测将偏航角的余弦和正弦值作为连续的回归目标。这样回归 heads 就提供了 3D 框的所有信息。每个输出都有自己的 head。训练时,ground-truth 中心点用 L1 回归损失监督。回归 size 的对数能更好地处理形状间的差异。推理时,我们索引每个目标 peak 位置的 head 输出,提取所有的属性值。

Velocity head and tracking

为了跟踪目标,针对每个检测目标,模型都学习预测一个两维的速度估计 v ∈ R 2 \mathbf{v}\in\mathbb{R}^2 vR2,作为额外的回归输出。速度估计比较特殊,它需要当前时间戳和上一时间戳的俯视图输入。它预测当前帧和上一帧的目标位置差异。与其它回归目标不同,用 L1 损失监督当前时间戳 ground-truth 目标的速度预测。
推理时,我们使用贪心匹配策略,用该偏移量来关联当前检测结果和之前的检测结果。将速度估计值 × ( − 1 ) \times(-1) ×(1),把当前帧的目标中心投影回上一帧,然后根据最近距离匹配跟踪目标。每个未匹配轨迹至多会被保留 T = 3 T=3 T=3帧。用最后已知的速度估计值来更新每个未匹配的轨迹。
CenterPoint 协同优化热力图损失和回归损失。它简化并提升了以前的 anchor-based 3D 检测器。但是,目标的所有属性都来自于目标中心的特征,这些信息不能充分保证目标的准确定位。例如,在自动驾驶场景,传感器通常只能看到物体的某一面,并不是它的中心。

2.3 Two-stage CenterPoint

在第一阶段,我们仍然使用 CenterPoint。第二阶段从主干网络的输出提取额外的点特征。从预测 3D 框的每一面的中心点都提取一个点特征。注意,在俯视图视角,目标 3D 框的中心点、3D 框顶面和底面的中心点是同一个。因此,我们只考虑预测目标框的四个外立面的中心点和一个 3D 框的中心点。通过双线性插值,从主干输出的俯视图 M \textbf{M} M提取每个点的特征。然后将这些点特征 concat 起来,输入一个 MLP。第二阶段预测一个与类别无关的置信度得分、边框优化偏移量。
预测与类别无关的置信度得分,用候选框和 ground-truth 框的 3D IoU 来指导 target 得分 I I I
I = min ⁡ ( 1 , max ⁡ ( 0 , 2 × I o U t − 0.5 ) ) I=\min(1, \max(0, 2\times IoU_t-0.5)) I=min(1,max(0,2×IoUt0.5))
I o U t IoU_t IoUt是第 t t t个候选框和 ground-truth 框的 IoU。用二值交叉熵损失监督训练:
L s c o r e = − I t log ⁡ ( I ^ t ) − ( 1 − I t ) log ⁡ ( 1 − I ^ t ) L_{score}=-I_t \log(\hat{I}_t) - (1-I_t)\log (1- \hat{I}_t) Lscore=Itlog(I^t)(1It)log(1I^t)
其中, I ^ t \hat{I}_t I^t是预测的置信度得分。推理时,直接用单阶段 CenterPoint 的类别预测,用两项得分的几何平均值来表示最终的置信度, Q ^ t = Y ^ t ∗ I ^ t \hat{Q}_t=\sqrt{\hat{Y}_t\ast \hat{I}_t} Q^t=Y^tI^t Q ^ t \hat{Q}_t Q^t是目标 t t t的最终预测置信度得分, Y ^ t = max ⁡ 0 ≤ k ≤ K Y ^ p , k \hat{Y}_t=\max_{0\leq k\leq K}\hat{Y}_{p,k} Y^t=max0kKY^p,k是第一阶段的置信度得分, I ^ t \hat{I}_t I^t是第二阶段预测的置信度得分。
对于边框回归,在第一阶段输出候选框的基础上,第二阶段预测一个偏移量,用 L1 损失训练模型。CenterPoint 简化了双阶段 3D 检测算法,速度要比之前使用 PointNet 特征提取和 RoIAlign 操作的两阶段方法快很多。

2.4 Architecture

第一阶段的所有输出共享一个 3 × 3 3\times 3 3×3卷积层、BN 和 ReLU。每项输出进入各自的分支(两个 3 × 3 3\times 3 3×3卷积、BN 和 ReLU)。第二阶段使用一个共享的 MLP、BN、ReLU 和 DropOut (drop rate 为 0.3 0.3 0.3),后面是两个分支( 3 3 3个全连接层),一个预测置信度得分,一个预测边框回归。

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

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

相关文章

nvm管理node版本与node对应的npm的版本

五一长假回来打开电脑发现自己的vscode不能成功运行项目&#xff0c;npm run dev之后没有任何反应&#xff0c;于是我想着使用cmd打开试试&#xff0c;结果cmd打开后画面只有一个横着的光标再闪&#xff0c;停几秒后就自动关闭了&#xff0c;看其他的博主写的解决方法一一试过了…

错排问题之年会抽奖与抄送列表

目录 一、编程题 1.年会抽奖 2.抄送列表 二、选择题 1.操作系统中关于竞争和死锁的关系下面描述正确的是&#xff1f; 2.并发是并行的不同表述&#xff0c;其原理相同。 3.在Unix系统中&#xff0c;处于()状态的进程最容易被执行。 4.当系统发生抖动&#xff08;thrashi…

git版本升级后的问题

升级后的版本 git version 2.40.1.windows.1问题 RSA公钥和私钥是否有问题&#xff08;本地和gitlab&#xff09;[Git for Windows]的升级日志 Git for Windows 2.36.1 Git for Windows 2.33.0(2) 查看OpenSSH版本信息 OpenSSH v8.7p1 OpenSSH v8.8p1 解决方案 在本机~/.ss…

轨交展:人大金仓护航“中国式现代化的开路先锋”

2023北京-青岛国际城市轨道交通展览会 以“智赋城轨、绿色发展”为主题&#xff0c;2023北京-青岛国际城市轨道交通展览会暨高峰论坛于4月27日-29日在青岛举办&#xff0c;人大金仓携自主创新技术成果以及系列行业解决方案亮相&#xff0c;受到用户、伙伴的广泛关注和高度认可。…

GaussDB数据库基础函数介绍-下

接上一篇&#xff0c;本节继续介绍GaussDB数据库常用基础函数 目录 5、范围函数 6、窗口函数 7、聚集函数 8、安全函数 9、系统信息函数 10、动态脱敏函数 GaussDB常用基础函数介绍与示例 5、范围函数 在GaussDB数据库中&#xff0c;范围函数是指用于处理数据库范围的函…

Linux — 线程池及多线程结尾

目录 一、线程池 线程池的应用场景&#xff1a; 线程池示例&#xff1a; 二、线程安全的单例模式 什么是单例模式 什么是设计模式 单例模式的特点 饿汉实现方式和懒汉实现方式 三、STL,智能指针和线程安全 四、其他常见的各种锁 五、读者写者问题(了解) 读写锁 读写…

搭建Stable Diffusion WebUI详细过程

文章目录 1、环境搭建1.1、GPU服务器选择1.2、配置服务器环境 2、源码和模型下载3、安装依赖库文件4、运行项目5、视频教程 1、环境搭建 为了方便&#xff0c;这里直接选择Vultr提供的已安装Anaconda的Ubuntu 22.04系统。 如果你自己电脑有足够的显存&#xff0c;你也可以在自…

Nacos Config 配置帐号密码加密后,注入过程中如何解密?

背景 线上项目规定不能在配置文件中出现帐号、密码的明文信息&#xff0c;所以必须加密。 引入 Nacos Config 配置后&#xff0c;Nacos Config 帐号密码、加密&#xff0c;服务注册发现也用相同的 nacos 帐号密码&#xff0c;那么如何解密才能保证 Nacos Config 服务能够正确…

【C语言】typedef关键字

文章目录 一. 使用介绍1. 对一般类型进行重命名2. 对结构体类型进行重命名3. 对指针进行重命名4. 对数组进行重命名 二. typedef 和 #define 的区别 一. 使用介绍 typedef 的作用就是对类型进行重命名&#xff0c;具体作用在以下几个方面&#xff1a; 对一般类型进行重命名对…

IP协议的相关特性

IP协议的相关特性 &#x1f50e;地址管理动态分配NATIPv6 &#x1f50e;IP 地址的组成网络主机号的划分IP 地址分类(A, B, C, D, E)子网掩码特殊的 IP 地址 &#x1f50e;路由选择 图片来自网络 &#x1f50e;地址管理 IP地址, 本质上是一个32位的整数 通常会把32位的整数, 转…

基于ChatGLM-Med与HuaTuo的微调部署

文章目录 ChatGLM-Med推理过程微调过程 HuaTuo配置环境模型下载推理过程微调过程 如何基于领域知识对类ChatGPT模型进行微调&#xff0c;以提升类ChatGPT模型在领域的问答效果&#xff1f; 有下面两个模型&#xff0c;一起来看看微调后的效果如何。 ChatGLM-Med: 基于中文医学知…

2023亚马逊云科技研究,数字化技能为中国企业和员工带来经济效益

在中国&#xff0c;信息技术在个人、企业和宏观经济层面都推动着重大变革。为了研究这些变化所带来的影响&#xff0c;盖洛普咨询公司(Gallup)和亚马逊云科技开展了关于数字化技能的调研。 研究表明&#xff0c;数字化技能正在为中国企业和在职人员带来巨大的经济价值&#x…

【Python】贪吃蛇 —— 无聊必备的小项目

作者主页&#xff1a;爱笑的男孩。的博客_CSDN博客-深度学习,活动,YOLO领域博主爱笑的男孩。擅长深度学习,活动,YOLO,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typecollect个人…

【python】keras包:深度学习( RNN循环神经网络 Recurrent Neural Networks)

RNN循环神经网络 应用&#xff1a; 物体移动位置预测、股价预测、序列文本生成、语言翻译、从语句中自动识别人名、 问题总结 这类问题&#xff0c;都需要通过历史数据&#xff0c;对未来数据进行预判 序列模型 两大特点 输入&#xff08;输出&#xff09;元素具有顺序关系…

透过金瑞基金一季度运营报告,看满帮创新故事背后的长期价值

投资中国市场该投哪些行业、哪些公司&#xff1f;在投资界&#xff0c;KraneShares金瑞基金长期致力于为这个问题提供答案。中概投资者都十分熟悉的KWEB——中概互联网指数ETF&#xff0c;就来自金瑞基金。 近日&#xff0c;金瑞基金发布了2023年第一季度运营报告&#xff0c;…

入门款但配置高 极米投影仪Z6X Pro轻松打造家庭影院

近年来&#xff0c;智能投影仪凭借大屏沉浸式体验以及使用场景灵活多变的便利性深受消费者欢迎。现如今&#xff0c;智能投影仪既能替代电视的职能&#xff0c;也能灵活融入小居室、出租屋等生活场景&#xff0c;顺理成章成为年轻人的“潮品”。京东电器2022年发布的《年轻人潮…

BetaFlight统一硬件配置文件研读之dma命令

BetaFlight统一硬件配置文件研读之dma命令 1. 源由2. 代码分析2.1 cliDma2.2 showDma2.3 cliDmaopt 3. 实例分析4. 配置情况4.1 dma4.2 dma show4.3 dma device list4.4 dma pin list4.5 dma device id4.5.1 dma adc id4.5.2 dma TIMUP id4.5.3 dma pin id 4.6 dma device id s…

BI技巧丨计算组单位切换

PowerBI自带的数据显示单位有千、百万、十亿等&#xff0c;很明显这些数据单位有些时候是不太符合国人的使用习惯的。 在计算组出来之前&#xff0c;我们习惯利用配置表的方式&#xff0c;将这种数据单位转换为符合我们习惯的方式&#xff1b;在计算组出来之后&#xff0c;我们…

石油化工企业防雷工程应用解决方案

随着现代石油化工行业的不断发展&#xff0c;防雷工程的重要性也越来越凸显。在石油化工行业中&#xff0c;防雷工程是一项至关重要的工作&#xff0c;因为石油化工行业常常面临雷电等自然灾害的威胁&#xff0c;这些灾害可能导致严重的安全事故和经济损失。石化企业其生产过程…

Word处理控件Aspose.Words功能演示:使用 C# 在 Word 文档中创建和修改 VBA 宏

Aspose.Words 是一种高级Word文档处理API&#xff0c;用于执行各种文档管理和操作任务。API支持生成&#xff0c;修改&#xff0c;转换&#xff0c;呈现和打印文档&#xff0c;而无需在跨平台应用程序中直接使用Microsoft Word。此外&#xff0c; Aspose API支持流行文件格式处…