3-D HANet:一种用于目标检测的柔性三维 HeatMap 辅助网络

news2024/11/28 10:48:21

论文背景

室外场景感知使用 Lidar:
1.点云数据不受天气(雾、风暴、雨和雪)的影响,支持稳定的环境感知;
2.点云数据在很大程度上保留了原来中物体的空间结构特征。

3D 目标检测是室外场景感知的重要组成部分。 从一个不完整的点云空间结构中学习目标的完整尺寸和准确定位是三维目标检测的关键。

空间结构不完整: 受传感器、遮挡、物体材质等因素的影响,部分点云缺乏空间结构信息。点云的质量直接影响到检测器的准确性,很可能导致检测器将一个物体识别为另一个物体(如极点和行人)或未能检测到该物体,导致漏检或未被检测到的情况。空间结构的特性是精确计算结果的关键。
精度与效率的不平衡: 在 3D 目标检测的实际应用中,由于自动驾驶系统必须进行实时控制操作,环境感知算法既要求高精度,又要求高效率。 在以前的工作中,提高精确度需要大量的参数和计算,这使得推理时间不可接受。

多帧点云预测和形状补全方法部分解决了点云结构缺失的问题,但是现有的恢复空间结构的方法不可避免地增加了额外的计算量和检测器的推理时间。

结构感知单阶段点云三维目标检测(SASSD)提出了一种辅助网络,实验证明了该辅助工作的有效性。 但辅助任务中并没有考虑前景与对象之间的空间结构关系。

论文得出点云的分布不是随机的。 根据物体的形状,每个前景点自然与物体本身有空间位置关系。
提出了三维 HeatMap 辅助网络(3-DHANET),利用三维高斯分布函数将点云与目标的关系转化为三维高斯响应,在不增加推理时间的情况下感知目标的形状和位置。

论文相关

3D 目标检测
从基于检测的阶段来看,3D 目标检测分为单阶段目标检测和两阶段目标检测。 点密度感知体素(PDV)考虑了点云的密度,它在单阶段和两阶段算法中都有助于小目标检测。
单阶段算法用最小的计算代价获得了良好的检测结果。 单级 3D 目标检测算法使用端到端目标检测技术。 IASSD 提出了一种前景分割网络,提高了检测的准确性和速度。 旋转解耦 IOU(RDIOU)缓解了旋转敏感问题。
两阶段算法对第一阶段生成的方案进行细化后,在第二阶段输出更好的目标检测结果。 CasA设计了一种基于交叉注意机制的级联求精网络,以聚合对象各个阶段的特征。 Transfusion ]使用两个 transformer 解码器层,利用 cross attention 来对齐多模态特征。 用于自动驾驶的变换等变3D物体检测 (TED) 提出对原始点云执行多次旋转和二分变换。

Heatmap
CenterNet 将二维图像转换为二维 Heatmap。 2-D Heatmap很好地刻画了图像的特征。 CenterPoint 借鉴了图像目标检测中二维 Heatmap 的思想,将三维点云映射到二维空间,然后利用二维 Heatmap 完成目标检测。
然而,在三维空间中,将点云信息存储在二维 Heatmap 中会造成一定程度的空间结构和语义信息损失。 首先,给定一条有坡度的道路,用二维 Heatmap 表示的三维物体会有中心点偏移和尺寸变形。 第二,二维 Heatmap 不能反映物体在垂直维度上的位置信息。

基于辅助网络的检测算法
SASSD算法设计了一个专有的辅助网络,将稀疏卷积层的特征传播到原始点云中。保留了原始点云的空间结构特征。在辅助网络中建立中心点预测和语义分割。
为了平衡由每个模态控制的梯度变化,SFD 在两个分支上增加了辅助ROI head loss。
SAM 进行深度预测和补全的多任务, 辅助任务只参与训练阶段,不参与测试阶段,从而在不降低测试速度的情况下提高测试精度。
计算机视觉领域的多任务模型通常使用损失层来学习多任务的损失权值[40]。与多任务模型不同,辅助网络的丢权只依赖于目标检测任务的监控信号。

论文贡献

  1. 利用 3-D heatmap 构造了一种新的 3D 目标检测辅助网络。 所提出的 3-D heatmap 反映了三维场景中物体的位置、大小和方向信息。
  2. 所提出的三维HANET可以嵌入到任何主流的目标检测网络中,即插即用,在保持推理速度的同时提高了目标检测的准确性。

论文框架

在这里插入图片描述
3-D HANet 包括一个特征传播层、一个 3-D heatmap 预测器、一个 3-D heatmap 生成器自适应权重模块

特征传播层提取 backbone network 中体素空间或点云的特征图。
3-D heatmap 预测器通过线性回归层计算目标中心的每个点云/体素的概率。
3-D heatmap 生成器计算三维空间中点云/体素的真实热值响应,作为 ground-truth 的监督。
自适应模块以原算法颈部特征和 3-D heatmap 预测器特征为输入,通过多层感知(MLP)生成两个自适应损失权值,一个用于原算法,另一个用于热值损失。

主流检测网络

1.基于体素的方法: 基于体素的方法,它用体素表示原始点云,
a)将点云空间划分为一个体素立方体;
b)在立方体中设置阈值 T T T
c)如果立方体中的点数大于阈值,则随机采样,如果立方体中的点数小于阈值,则输入0。
2)基于点的方法: 基于点的方法将点云转化为逐点张量表示。
主流的物体检测框架分为三个部分:backbone、neck 和 head。backbone 的作用是从预处理后的数据中提取有效特征。

遵循主流的三维目标检测器,论文选择了自动特征提取方法。 对于基于点的方法,论文使用 PointNet 来提取特征。 对于基于体素的方法,使用一个体素特征编码(VFE)层来提取特征。 neck 模块对从 backbone 中提取的重要特征进行再处理和合理使用,以利于下一步检测任务的顺利进行。 head 模块从上层获取的特征获取检测结果。

特征传播层

对于基于体素和基于点的方法, 特征传播层的设计是不同的。
在基于体素的目标检测网络中,将特征传播层直接插入到 backbone network 输出的三维特征图中。根据数据处理中的量化运算,反求出三维特征图在原始体素坐标系中的真位置索引。在三维特征图的基础上,利用线性插值算法得到整个体素空间的特征表示。

在基于点的目标检测网络中,传播方法选择邻域聚合。逐点张量通过多个三维稀疏卷积层得到多尺度三维特征图。在各种尺度的三维特征图中,以原始点云位置为聚合点,将邻域半径 r r r 内的所有特征聚合为聚合点,从而最终获得具有丰富语义信息的强化点。最后,对不同尺度的增强点进行级联。

3-D Heatmap 辅助网络

动机

车载激光雷达获取的点云数据中,物体遮挡和远距离信号丢失导致点云所表示的物体不完整。这种不完整的结构表征给目标感知带来了巨大的挑战。论文使用简化的 3-D 高斯函数来生成 3-D Heatmap ground-truth。尽管点云的分布不完整,但每个点的热值响应反映了完整的物体尺寸。此外,热值响应指示点是否在前景中以及前景在对象中的位置。在辅助网络中设置学习热图的任务可以增强网络对点云进行分类和位置回归的能力。

嵌入辅助网络的动机:辅助网络仅参与训练,并在推理过程中被删除。因此,在检测网络中添加辅助网络并不会降低模型的运行速度。同时,辅助网络使主干网络能够更好地捕获包含特定任务要求的语义特征。换句话说,辅助网络使得主干网络能够训练出更优秀的参数,使得检测结果更加准确。

3-D Heatmap 生成器

3-D Heatmap 生成器对 3-D Heatmap 地面实况进行建模。根据点云的不同表示,3D Heatmap 分为两种策略:基于点和基于体素。

基于点的方法: 在世界坐标系中,以激光雷达位置为原点。
首先,如果点云中的某个点是背景点,则直接将该点的热值响应设置为“0”。
其次,设目标 M 任意一点的位置为 p ( p x , p y , p z ) p(p_x,p_y,p_z) p(px,py,pz),物体 M 的中心坐标为 μ ( μ x , μ y , μ z ) μ(μ_x,μ_y,μ_z) μ(μx,μy,μz),目标 M 的长、宽、高 为 ( w M , l M , h M ) (w_M , l_M , h_M) (wM,lM,hM),点的热值响应被定义为:
Q p = exp ⁡ [ − 1 2 [ p − u ] T ∑ − 1 [ p − u ] ] (1) \tag1 Q_p = \exp[ - \frac{1}{2} [p - u]^T {\sum}^{-1}[p-u]] Qp=exp[21[pu]T1[pu]](1)其中 [ p − u ] = [ p x − u x p y − u y p z − u z ] (2) \tag2 [p-u] = [p_x -u_xp_y -u_yp_z -u_z] [pu]=[pxuxpyuypzuz](2)协方差矩阵定义如下: ∑ = [ w M 2 + l M 2 4       w M 2 + h M 2 4       h M 2 + l M 2 4 ] (3) \tag3 \sum = \begin{bmatrix} \frac{w^2_M+l^2_M}{4} & \space & \space \\ \space & \frac{w^2_M+h^2_M}{4} & \space \\ \space & \space & \frac{h^2_M+l^2_M}{4} \end{bmatrix} = 4wM2+lM2   4wM2+hM2   4hM2+lM2 (3)3-D 高斯分布的方差选择目标对角线的长度。
3-D heatmap 的性质:热值响应的范围是 [0, 1]。热值响应从小到大表示一个点到中心的距离由远到近。当热值响应为“1”时,该点的坐标是对象的中心坐标。如果热值响应为 0,则该点为背景点。

基于体素的 3D heatmap 建模的设置与基于点的目标检测网络的设置大致相同。不同之处在于,使用体素的位置索引(体素中心点的坐标除以体素的大小)而不是点的坐标。
3-D heatmap 优化过程:下图 显示了 3-D HANet 的优化过程。
(a)显示了点云数据分布不均匀、无序的情况。 3-D 热图预测器生成每个点的热值响应;
(b)中点的颜色(由浅到深)对应热值由小到大的响应;箭头表示各点的热值响应作用于中心点的回归和尺寸的感知;

在这里插入图片描述
3-D HANet 增强了 backbone network 感知目标位置和大小的能力,从而提高物体检测的准确性。
具有热值响应的点云如下图所示。
在这里插入图片描述
背景点云颜色为紫色,热值为 “0”。前景点云的颜色范围从绿色到黄色,点云的热值变大。

辅助网络损失函数

为了准确预测3D heatmap,3D heatmap 预测器选择具有许多网络参数的全连接神经网络,并直接将输出维度设置为“1”,从而预测点的热值响应。每个点的热值预测由真实 3D heatmap 确定。在此预测中,论文使用 SmoothL1 函数。 3-D heatmap 预测器生成的点的热值响应为 Q ^ \hat Q Q^,3-D heatmap 的真实热值响应为 Q Q Q。辅助任务训练阶段使用的损失函数如下: L H e a t m a p = 1 N ∑ i = 1 N { 0.5 ∣ Q ^ i − Q i ∣ 2   ∣ Q ^ i − Q i ∣ < 1 ∣ Q ^ i − Q i ∣ − 0.5   ∣ Q ^ i − Q i ∣ ≥ 1 (4) \tag4 L_{Heatmap}=\frac{1}{N}\sum_{i=1}^N \begin{cases} 0.5|\hat Q_i - Q_i|^2 &\text{ } |\hat Q_i - Q_i|<1 \\ |\hat Q_i - Q_i|-0.5 &\text{ } |\hat Q_i - Q_i| \geq1 \end{cases} LHeatmap=N1i=1N{0.5∣Q^iQi2Q^iQi0.5 Q^iQi<1 Q^iQi1(4)其中 N N N 指点云的数量; Q ^ \hat Q Q^ Q Q Q 分别表示热值响应的预测值和实际值。

注意力自适应权重模块

在训练神经网络模型时,需要大量时间手动调整多任务损失函数的超参数以达到最佳的训练效果。手动调整参数后,通过消融实验得到最终的超参数。然而,这种方法需要很多时间,并且仍然很难找到最佳权重。论文融合了神经架构搜索和注意力机制两种策略,并提出了一种注意力自适应模型。
在这里插入图片描述
首先,从 heatmap 预测器和颈部模块获得特征向量,接下来,从 3-D heatmap 预测器和颈部模块输出 [ 1 ∗ 10 ] [1 * 10] [110] 的张量,然后,连接两个张量以获得 [ 1 ∗ 20 ] [1 * 20] [120] 的张量。张量经过ML层,输出一个权重为 [ 1 ∗ 2 ] [1*2] [12] 的新张量,其中第一维是传统检测头损失的自适应权重;第二个维度是 heatmap 预测网络损失的自适应权重。最后,根据任务对网络的贡献,自适应权重在权重分配中分散注意力。

Loss

论文提出了整个 3-D 目标检测网络的损失函数。 L t o t a l L_{total} Ltotal由三部分组成:检测器的分类损失( L c l s L_{cls} Lcls)、回归损失( L r e g L_{reg} Lreg)和辅助网络的 heatmap 预测损失( L H e a t m a p L_{Heatmap} LHeatmap)。其中,分类损失采用 focal loss。回归损失和 heatmap 预测损失使用 Smooth L1 函数。 L t o t a l = weight 1 ( α L c l s + β L r e g ) + weight 2 L Heatmap (5) \tag5 L_{total} = \text{weight}_1(\alpha L_{cls}+\beta L_{reg})+\text{weight}_2L_{\text{Heatmap}} Ltotal=weight1(αLcls+βLreg)+weight2LHeatmap(5)其中,两个系数 α \alpha α β \beta β 分别设置为大小为 1 和 2 的超参数;权重1和权重2由自适应权重模块获得。使用梯度下降算法来获得使损失最小化的权重。

论文总结

提出了一种新颖的点云表示(3-D heatmap),它获得了点与目标中心之间的欧几里德距离的高斯响应,以目标对象大小作为方差。 3D heatmap 的预测被添加到主干网络的训练过程中。 3D heatmap 包含物体的高层语义信息和低层空间结构信息;因此,辅助网络增强了主干网络的空间感知能力。

限制:在辅助网络的训练阶段筛选背景点。有很多对背景点的预测无法为检测提供有效的信息。辅助网络不参与推理;然而,无用背景点的预测会在训练过程中产生不必要的计算,从而影响训练速度。

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

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

相关文章

如何快速在 Apache DolphinScheduler 新扩展一个任务插件?

作者 | 代立冬 编辑 | Debra Chen Apache DolphinScheduler 是现代数据工作流编排平台&#xff0c;具有非常强大的可视化能力&#xff0c;DolphinScheduler 致力于使数据工程师、分析师、数据科学家等数据工作者都可以简单轻松地搭建各种数据工作流&#xff0c;让数据处理流程…

使用Python绘制多个股票的K线图

K线图是金融领域常用的技术分析工具&#xff0c;可以洞察地展示股票的开盘价、收盘价、最高价和最低价等信息。在投资决策中&#xff0c;对多个股票的走势进行对比分析是非常重要的。随着金融市场的发展&#xff0c;投资者对于多种股票的对比分析需求越来越高。传统的方式是通过…

tokio::net学习

tokio::net 该模块包含TCP/UDP/Unix网络类型,类似于标准库,可用于实现网络协议。 networking protocols Organization TcpListener and TcpStream provide functionality for communication over TCP UdpSocket provides functionality for communication over UDP UnixLi…

信创办公–基于WPS的PPT最佳实践系列 (项目8创建电子相册)

信创办公–基于WPS的PPT最佳实践系列 &#xff08;项目8创建电子相册&#xff09; 目录 应用背景操作步骤 应用背景 如果我们想把图片弄成相册&#xff0c;或者弄成一段有音乐的视频分享给朋友。我们可以利用PPT来制作。那我们如何用PPT制作电子相册或视频呢&#xff1f;可以跟…

21天学会C++:Day13----动态内存管理

CSDN的uu们&#xff0c;大家好。这里是C入门的第十三讲。 座右铭&#xff1a;前路坎坷&#xff0c;披荆斩棘&#xff0c;扶摇直上。 博客主页&#xff1a; 姬如祎 收录专栏&#xff1a;C专题 目录 1. 加深对内存四区的理解 2. new-delete 与 malloc-free 2.1 能否用 fre…

Django:一、创建项目、APP及启动Django

一、准备工具 Pycharm企业版 二、创建项目 打开Pycharm企业版&#xff0c;创建Django项目。 注意&#xff1a;①删除项目下的templates文件夹&#xff1b;②删除setting.py文件中的一行代码 默认文件介绍&#xff1a; 三、创建APP 点击Pycharm左下角Terminal&#xff0c;打…

基于Android+OpenCV+CNN+Keras的智能手语数字实时翻译——深度学习算法应用(含Python、ipynb工程源码)+数据集(四)

目录 前言总体设计系统整体结构图系统流程图 运行环境模块实现1. 数据预处理2. 数据增强3. 模型构建4. 模型训练及保存5. 模型评估6. 模型测试1&#xff09;权限注册2&#xff09;模型导入3&#xff09;总体模型构建4&#xff09;处理视频中的预览帧数据5&#xff09;处理图片数…

区块链技术:解密去中心化的革命

文章目录 区块链的基础概念什么是区块链&#xff1f;区块链的核心原理1. 分布式账本2. 区块3. 加密技术4. 共识机制 区块链的工作原理区块链的交易过程区块链的安全性共识机制的作用 区块链的应用领域1. 金融服务2. 供应链管理3. 物联网4. 医疗保健5. 政府与公共服务 区块链的未…

图像练习OpenCV(01)

提取出里面最大矩形的四个顶点坐标 源图像 结果展示 代码 void getLine(std::vector<int>& data, int threshold) {for (int x 0; x < data.size(); x){if (0 data[x]){continue;}int maxValue 0, maxLoc -1, i -1;for (i x; i < data.size(); i){if …

【2023集创赛】Arm杯二等奖作品:基于Arm Cortex-M3的体感节奏音乐游戏机

本文为2023年第七届全国大学生集成电路创新创业大赛&#xff08;“集创赛”&#xff09;安谋科技杯全国二等奖作品分享&#xff0c;参加极术社区的【有奖征集】分享你的2023集创赛作品&#xff0c;秀出作品风采&#xff0c;分享2023集创赛作品扩大影响力&#xff0c;更有丰富电…

跑腿系统开发:构建实时任务分配算法的技术挑战

在跑腿系统中&#xff0c;实时任务分配算法是确保任务快速高效完成的关键因素之一。本文将介绍构建实时任务分配算法时可能面临的技术挑战&#xff0c;并提供一个简单的Python示例来解决这些挑战。 技术挑战&#xff1a; 实时数据处理&#xff1a; 跑腿系统需要处理大量的实时任…

Ganache本地测试网+cpolar内网穿透实现公网访问内网

文章目录 前言1. 本地环境服务搭建2. 局域网测试访问3. 内网穿透3.1 ubuntu本地安装cpolar内网穿透3.2 创建隧道3.3 测试公网访问 4. 配置固定二级子域名4.1 保留一个二级子域名4.2 配置二级子域名4.3 测试访问公网固定二级子域名 前言 网&#xff1a;我们通常说的是互联网&am…

K8S:Pod概念、分类及相关的策略

文章目录 一.pod相关概念&#xff11;.Pod基础概念&#xff12;.Kubrenetes集群中Pod两种使用方式&#xff13;.pause容器的Pod中的所有容器共享的资源&#xff14;.kubernetes中的pause容器主要为每个容器提供功能&#xff1a;&#xff15;.Kubernetes设计这样的Pod概念和特殊…

本地搭建CFimagehost私人图床——“cpolar内网穿透”

文章目录 1.前言2. CFImagehost网站搭建2.1 CFImagehost下载和安装2.2 CFImagehost网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar临时数据隧道3.2 Cpolar稳定隧道&#xff08;云端设置&#xff09;3.3.Cpolar稳定隧道&#xff08;本地设置&#xff09; 4.公网访问测…

7.algorithm2e中while怎么使用

algorithm2e中while怎么使用 在 algorithm2e 宏包中&#xff0c;要使用 while 循环&#xff0c;您可以使用 \While 和 \EndWhile 命令来定义循环的开始和结束。以下是如何使用 while 循环的示例&#xff1a; \documentclass{article} \usepackage[linesnumbered,boxed]{algorit…

Mac电脑音视频播放器: Infuse for Mac中文

Infuse是一款流行的多媒体播放器应用程序&#xff0c;适用于iOS、tvOS和macOS平台。它由Firecore开发&#xff0c;旨在提供出色的媒体播放体验&#xff0c;并支持广泛的视频和音频格式。 以下是Infuse的一些主要功能和特点&#xff1a; 多媒体格式支持&#xff1a;Infuse支持…

ROS2 从头开始​​:第 1 部分 — 机器人操作系统简介

火星上的机器人&#xff08;AI生成图像&#xff09; 一、说明 ROS2是机器人的朋友&#xff0c;一个他们所依赖的平台&#xff0c;用于沟通、协调和控制&#xff0c;帮助他们实现目标。ROS2以DDS为核心&#xff0c;帮助机器人探索新世界、新任务、新可能性&#xff0c;是一个方…

代码随想录--链表-反转链表

题意&#xff1a;反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 双指针 public class Main {public static class ListNode {int val;ListNode next;ListNode(int x) {val x;}}public ListNode reverseList(L…

涨知识,关于代码签名证书10大常见问题解答

在当今互联网时代&#xff0c;各种软件程序充斥着这个网络世界&#xff0c;大大小小的软件层出不穷&#xff0c;如何让用户信任软件并下载软件&#xff0c;是众多软件开发公司需要解决的问题&#xff0c;由此代码签名证书应运而生&#xff0c;提供了软件程序的身份认证、完整性…

uni-app获取元素具体位置获取失败

场景&#xff1a;想要通过链接跳转传递catid&catid2类别id,商品类别id 跳到这一页左侧对应的类别栏上面,同时跳到右侧列表滚动到对应商品那一块区域。 遇到的问题&#xff1a;在for循环中通过绑定id获取不到商品列表的具体位置。 原因&#xff1a;在onReady函数和mounted函…