RADIANT:一种全新的雷达图像关联网络用于3D目标检测

news2025/1/23 6:20:26

RADIANT:一种全新的雷达图像关联网络用于3D目标检测

论文地址:RADIANT: Radar-Image Association Network for 3D Object Detection

源码:https://github.com/longyunf/radiant

单位:密歇根大学、福特

动机

作为一种能够直接测量深度的传感器,其相较于Lidar存在较大的误差,因此利用雷达本身精度难以精确地将雷达结果与单目方法的3D估计相关联。本文提出了一种融合网络RADIANT来解决雷达-摄像机关联的挑战。通过预测雷达点到真实目标中心点的3D偏移,随后利用修正后的雷达点修正图像预测结果,使得网络在特征层和检测层完成融合。

贡献

  1. 通过增强毫米波点云获得3D目标的中心位置
  2. 使用增强后的毫米波点云完成相机-雷达的检测结果关联
  3. 在多个单目SOTA模型中验证了结构有效性并取得SOTA

背景&问题定义

正雷达样本点

对于目标检测的训练,关键就是:候选点的选择、定义正负样本,FCOS3D将每个像素点作为目标候选点,而正样本点定义为GT目标中心周围的区域内。同样,对于本文,我们将每个雷达反射点作为目标的候选点,将成功与目标相关联的雷达像素点作为正样本点。但是,由于毫米波反射点的模糊性(存在多径干扰)和不准确性(检测的分辨率不高)等问题,导致反射点许多无法反映真实的目标位置框内,同时目前的主流多模态数据集(radar+camera)没有提供point-wise(点云级别)的标记,以上两种原因导致了:现有的毫米波反射点无论是精度上还是标注上,都需要做一些工作。

由此,作者如此解决:

  1. 3D框内部的点云当然归属于对应目标,但是对于外部点云,作者设置距离阈值将一定范围内的点云考虑在内
  2. 同时为了防止误召回,上一步召回的点云还需要再径向速度上与分配的GT目标相差在一定范围内

Radar Depth Offset

image-20221230200327216

z为反射点相关联的目标深度,z_r为反射点的原始测量深度

细化动机:

  1. 单目3D检测性能一直受到深度估计不精确问题的裹挟
  2. 毫米波雷达能提供相较相机更精确的深度,但是其稀疏性、穿透性导致其很难反映出目标真实中心,甚至出现幽灵点,反射点到物体中心的偏移是未知的,但是又是关键的,我们通常需要通过物体的中心特征回归目标的各类属性
  3. 预测的偏移不仅要包括深度偏移,还有image-plane的投影像素偏移,补偿雷达反射点在横向等方向上误差
  4. 因为点云和目标匹配需要类别信息,毫米波用于分类的信息较少(无法通过形状判断)

网络架构

image-20221230200032823

整体上,作者使用“双流”网络结构,图像、雷达分支分别使用原始FCOS3D网络、引入图像特征的轻量级FCOS3D网络,在Depth Fusion结构中,通过DWN(depth weight net)对两个head预测结果引入可学习的深度加权网络,并在最后预测加权后的目标深度。

我们按照(Backbone, Neck, Heads):分别生成图像预测结果和点云预测结果, (Depth Fusion Modules):修正图像预测结果,两个部分介绍细节:

Backbone, Neck, Heads

image-20221230200105717

更进一步,对图像分支采用原始FCOS3D网络,不过多介绍。对Radar分支,输入的是投影到image-plane的数据,其中包括深度、坐标、速度、占位掩码(象征点云是否存在于像素中方便后面后处理),在neck部分加入了一些bottleneck瓶颈结构融合图像和雷达数据,解决点云分类能力不足的问题。最后就是在Head上,与图像的各类目标属性回归不同,点云只在其分布的投影像素中,计算类别得分、像素偏移、深度残差(偏移)三个属性。最后的结果形式如下。

image-20221230205517461

Depth Fusion Module

在得到heads的结果后,这部分的任务就是将两个模态的结果融合,用radar预测的结果修正图像预测结果:

  1. 关联投影后的雷达反射点radar pixels(预测修正后)与图像检测结果
  2. 对关联后的每个radar pixels预测深度可靠性概率
  3. 利用加权后的radar pixels,修正目标的深度,对于目标的尺度、角度等属性不做修改,作者认为是毫米波缺少目标朝向、尺度信息

  • Radar-Camera Association
image-20221230211622074

由上图,我们已得到两个Heads的输出,我们取图像预测结果的前1000个boxes按照得分,同样,我们也取radar预测结果中满足置信度>T_r的radar pixels用于融合,我们把雷达预测结果先修正:

image-20221230211900947

修正后,进行关联:匹配要满足以下条件:首先,类别相同,其次投影像素差在一定范围内,最后,深度误差在一定范围内,由此,完成筛选和匹配,假设两个Heads结果分别是M\N个,则复杂度为O(MN)

image-20221230211939612
  • Depth Weighting Network

上部分完成了radar pixels的筛选和匹配,本部分进行融合

这部分采用可学习的方式,与之对比的是将匹配的radar pixels深度与图像检测的深度进行平均相加这种不可学习的固定方式

image-20221230212527055

这个网络的目的,就是判断radar pixels是否可信,输出可信度,用于最后的融合。

那么如何规定训练标签呢?

DWN预测的是每个点的置信度,DWN前向完成后,结合图像预测和GT,给予每个点云权重标签,用于训练DWN,DWN仅根据点云head输出特征、原始深度等信息预测,如果GT与radar更接近,α标记为1,反之和图像预测的结果更接近则为0.


  • Fused Depth Calculation

image-20221230212915167

上一步预测的radar pixels权重,这一步根据权重融合加权得到结果,Tα就是阈值,如果任意点云的深度权重阈值<阈值,则只考虑相机的预测结果

实验

image-20221230213751693

作者对融合方式做了消融实验,其中None是不加入雷达反射点,Average代表平均反射点与图像预测深度,DWN是作者提出的深度权重网络。

image-20221230213607191

由上图,最上面的Table1,表述了从由近到远过程中,图像、原始雷达、修正后雷达(中间)的预测误差,可以看到经过offset的修正后,雷达的深度预测值在近处的修正作用占比更大。这里不要被作者的数据吓到,因为这是丈量雷达反射点到目标中心偏移误差,因为雷达反射点本身就分布在非车身中心。

上图中的Figure 4,分别代表:融合后目标深度预测值和雷达反射点之间的偏差,GT目标深度和雷达反射点之间的偏差,两者的偏差分布整体是相似的,预测结果的偏差分布更加均匀。

image-20221230213703711

Table2是NuScenes数据集上的实验结果对比,作者基于FOCOS3D, PGD两类单目检测模型改进,都得到了较大的提升,提升体现在mATE,AP两个数据指标上。同时,相比经典的centerfusion,也有较大的提升。

image-20221230213738574

Figure 5中,分散的反射点通过预测offset,集中于目标的中心,目标的深度也得到了进一步的修正。

简单总结:

  1. 作者提出的这种关联、更新方式,有效改善了单目单帧的目标深度预测能力,提出了细粒度更高的标记NuScenes毫米波点云的一种方式
  2. 根据具体场景,根据传感器特性,在feature-level和decision-level上多方式非对称融合往往更加有效
  3. 作者基于image-plane,选择的投影方式导致了点云偏移预测受限于特征提取方式,事实上雷达点云投影存在遮挡,同时点云稀疏,将其投影到image-plane上导致原本形状进一步丢失,进一步加剧了数据的稀疏性
  4. 作者只通过radar改善了目标的位置性能和平均精度,事实上目标的RCS等信息对于其他属性仍然有一定修正作用

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

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

相关文章

全景剖析阿里云容器网络数据链路(二):Terway EN

作者&#xff1a;余凯 本系列文章由余凯执笔创作&#xff0c;联合作者&#xff1a;阿里云容器服务 谢石 对本文亦有贡献 前言 近几年&#xff0c;企业基础设施云原生化的趋势越来越强烈&#xff0c;从最开始的 IaaS 化到现在的微服务化&#xff0c;客户的颗粒度精细化和可观…

使用小度音箱+Blinker控制ESP01S Relay继电器模块

一. 使用ESP01S模块&#xff0c;PIN脚定义如下&#xff1a; 管脚功能如下&#xff1a; ESP01S模块原理图&#xff1a; ESP01S模块比ESP01模块做了以下优化&#xff1a; LED灯的管脚发生变化&#xff0c;由ESP01的TXD0变成ESP01s的GPIO2引脚&#xff1b;ESP01s模块的IO0、RST、…

Java开发 - Spring MVC框架初体验

前言 上一篇Spring框架感觉写的偏向于理论知识&#xff0c;所以从这篇开始&#xff0c;转变此系列的写作思维&#xff0c;更多的将从实操的角度来讲解Spring MVC框架的使用和相关知识点&#xff0c;会尽量详细&#xff0c;但这一系列课程针对的还是有Java基础的小伙伴&#xf…

树莓派上如何安装anaconda/miniconda环境配置

目录1. 前言2. miniconda下载3. miniconda 安装4. 添加 .bashrc 配置5. Conda 更换源&#xff0c;软件更新6. 部分问题及解决方案报错一&#xff1a;报错二&#xff1a;报错三&#xff1a;7. 卸载miniconda8. 版本问题/注意事项1. 前言 在装完树莓派之后&#xff0c;当你想要使…

()智能指针一) shared_ptr

智能指针(一) 文章目录智能指针(一)shared_ptr1初始化方式make_ptr<>() 和 shared_ptr<>() 的区别shared_ptr维护引用计数需要的信息使用原始的new函数创建shared_ptr使用make_shared创建shared_ptrmake_shared实现异常安全使用make_shared的缺点make_shared 源码解…

从一个Demo说起Dubbo3

简介 2017年的9月份&#xff0c;阿里宣布重启Dubbo的开发维护&#xff0c;并且后续又将Dubbo捐献给了Apache&#xff0c;经过多年的发展已经发布到3.X版本了&#xff0c;Dubbo重启维护之后是否有值得我们期待的功能呢&#xff0c;下面就来看看吧。 Apache Dubbo 是一款微服务…

买英伟达RTX 30 系显卡送《穿越火线》大礼包,你心动了吗?

2022年下半年英伟达一口气推出了RTX 4090、4080、4070 Ti显卡&#xff0c;40系列中的4060也在准备中&#xff0c;而RTX 30 系列在新系列的光芒下显得有些暗淡。 面对40系列即将成为主流的这种情况下&#xff0c;英伟达势必要想一些办法清清30系列显卡的库存&#xff0c;于是英…

上半年要写的博客文章24

上半年要写的博客文章21 这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个…

网络工程师备考6章(续3)

6.20 距离矢量路协议与RIP 动态路由协议的第一个分类:距离矢量和链路状态 什么是距离矢量,例如我要从成都自驾去北京,不知道怎么走,决定路径的方式可以问别人怎么到西安,到西安后再问别人下一条路径,怎么到郑州,到郑州再问别人。一跳一跳的不停问别人,类似于距离矢量协…

P2- 复信号 - 通讯原理

前言&#xff1a; 这里主要结合一下欧拉定理,介绍一下复信号 一 复数概念定义 复数有两种定义方式&#xff1a; 指数函数&#xff1a;&#xff08;通过欧拉公式展开可以得到对应的复数形式&#xff09; 复数&#xff1a;实部a, 虚部b 幅值:A 相位: 二 复信号 2.1 定义 复信…

深度学习程序的预处理

目录 引入 1、预定义符号 1、为什么oj的编译器是clang和gcc呐&#xff1f; 1、vs测试 2、gcc测试 2、#define 1、#define定义标识符 1、#define的花样使用 2、续行符\的使用 3、预处理文件的内容展示和为什么头文件不能重复包含 4、vs下如何生成预处理后的文件&#xff1…

高分综述:人类肠道病毒组分类的进展和挑战

期刊&#xff1a;Cell Host Microbe 影响因子&#xff1a;31.316发表时间&#xff1a;2022.7 - 一、摘要 -人类肠道病毒组通常被称为肠道微生物组的“暗物质”&#xff0c;仍未得到充分研究。了解不同人群肠道病毒组的组成和变化对于探索其对人类健康的影响至关重要。人类肠道病…

聊透Spring事件机制

1、概述 事件机制是Spring为企业级开发提供的神兵利器之一&#xff0c;它提供了一种低耦合、无侵入的解决方式。 但其实Spring事件的设计其实并不复杂&#xff0c;它由三部分组成&#xff1a;事件、发布器、监听器。事件是主体&#xff0c;发布器负责发布事件&#xff0c;监听…

Lottie简介 + 结合到vue3中使用

Lottie简介 结合封装到vue3中使用前言&#xff1a;一、Lottie是什么1. 官方介绍2. 实现流程3. 动画资源二、为什么要选择Lottie三、lottie-web的使用1. 安装导入2. 初始化动画实例3. lottie-web支持的控制动画的主要方法4. lottie-web支持的监听动画的常用的事件四、lottie-we…

C++字符编码详解及利用string遍历中文字符串

作者&#xff1a;非妃是公主 专栏&#xff1a;《笔记》《C》 个性签&#xff1a;顺境不惰&#xff0c;逆境不馁&#xff0c;以心制境&#xff0c;万事可成。——曾国藩 文章目录C遍历英文字符串C遍历中文字符串&#xff08;不会出问题情况&#xff09;C遍历中文字符串&#xff…

Linux基础——进程的概念和控制(操作系统级讲解)

前言 我们经常会听到一个概念——进程。但是进程并不是一个孤立的概念&#xff0c;需要对操作系统有比较深入的了解。所以这篇博客将在读者的脑中先对操作系统构建一个大概的印象&#xff0c;再对进程做了解。 冯诺依曼结构 冯诺依曼结构也称普林斯顿结构&#xff0c;是一种…

微信小程序|智能停车系统中车牌计费功能实现

&#x1f4cc;个人主页&#xff1a;个人主页 ​&#x1f9c0; 推荐专栏&#xff1a;小程序开发成神之路 --【这是一个为想要入门和进阶小程序开发专门开启的精品专栏&#xff01;从个人到商业的全套开发教程&#xff0c;实打实的干货分享&#xff0c;确定不来看看&#xff1f; …

数据结构基础篇》》约瑟夫环

数据结构开讲啦&#xff01;&#xff01;&#xff01;&#x1f388;&#x1f388;&#x1f388; 本专栏包括&#xff1a; 抽象数据类型线性表及其应用栈和队列及其应用串及其应用数组和广义表树、图及其应用存储管理、查找和排序将从简单的抽象数据类型出发&#xff0c;深入浅出…

python 基础入门

文章目录前言python 基础入门一、python环境如何搭建、开发工具pycharm如何破解01 python下载02 python 安装03 python开发工具安装(pycharm )03::01 安装pycharm03::02 多次试用二、python 常规基础01 python 规范02 python中的关键字03 python缩进04 python注释哈哈哈前言 如…

07-JVM 类加载机制?

1.JVM 类加载机制分为五个部分&#xff1a;加载&#xff0c;验证&#xff0c;准备&#xff0c;解析&#xff0c;初始化。 2.一个类型从被加载到虚拟机内存中开始&#xff0c;到卸载出内存为止&#xff0c;它的整个生命周期将会经历加载&#xff08;Loading、验证&#xff08;V…