DyFusion:基于动态融合的交叉注意三维目标检测 论文解析

news2024/11/16 12:27:59

目录

概况

创新点详解

1、跨注意力动态融合  Cross-Attention Dynamic Fusion

(1)特征提取

(2)体素特征编码

(3) BEV特征提取

(4)特征动态融合

①线性变换

②对Q(BEV特征)和K(图像特征)进行点积运算

③Softmax运算

④特征加权融合

⑤将计算出来的特征与图像原特征进行连接 

2、同步数据增强  Synchronous Data Augmentation

1)点云数据增强:

2)图像数据增强:

总结 


论文地址:

[PDF] DyFusion: Cross-Attention 3D Object Detection with Dynamic Fusion | Semantic Scholar

代码地址:

GitHub - bijiangf/DyfusionV1 at master

概况

        在自动驾驶领域,激光雷达和摄像传感器发挥着不可或缺的作用,为精确的三维目标检测提供关键的观测数据。现有的融合算法有效地利用了两个传感器的互补数据。然而,这些方法通常将原始点云数据和像素级图像特征连接起来,不幸的是,这一过程会引入错误,并导致每个模态中嵌入的关键信息的丢失。为了解决特征信息丢失的问题,本文提出了一种跨注意力动态融合(Cross-Attention Dynamic Fusion, CADF)策略,对两个异构数据源进行动态融合。此外,我们认识到这两种不同模式的数据扩充不足的问题。为了解决这个问题,我们提出了一种同步数据增强(SDA)策略,旨在提高训练效率。我们已经使用KITTI和nuScenes数据集测试了我们的方法,结果很有希望。值得注意的是,我们表现最好的模型在KITTI测试基准上获得了82.52%的mAP,优于其他最先进的方法。

从上面这段论文的原文中我们可以看出这篇论文的核心创新点在于:

  • CADF策略—跨注意力动态融合
  • SDA策略—同步数据增强

 分别用于解决:

  • 特征信息丢失问题
  • 两种模式的数据扩充不足问题

 

CADF(右)利用交叉注意融合点云和图像特征。SDA(左)采用同步增强策略来提高模型的鲁棒性 。

创新点详解

1、跨注意力动态融合  Cross-Attention Dynamic Fusion

        我们提出了跨注意动态融合(CADF)策略,该策略利用跨注意机制动态组合跨模态特征。通过动态加权对模型进行校正,减少了信息损失,减小了误差。

 论文认为传统的计算机视觉多模态方法常用的融合策略都过于简单,比如直接运用算术运算和拼接来整合图像和点云特征。但这样操作会导致两个潜在的问题,最终导致融合的有效性降低

  • 由于点云输入的分散性,直接将密集的图像特征融合到点云上会导致图像语义信息的丢失。
  • 这种方法可能会引入数据冗余,阻碍重要信息的聚合并引入噪声。

基于此种考量论文提出了 新的跨注意力动态融合(CADF)策略来动态融合异构数据源。CADF框架图如下图所示。与传统方法不同,CADF采用动态加权对特征进行动态融合,使每个点云能够更好地捕捉和融合图像特征,从而更有效地利用图像中的全局语义信息。

CADF的框架图

首先,将BEV和图像特征分别线性变换为Q矩阵和K矩阵。将这些相乘得到注意力矩阵A,然后将其归一化。得到的矩阵用于权衡和融合BEV和图像特征。通过将结果矩阵与原始图像特征进行拼接得到融合特征 

(1)特征提取

为了从原始图像输入中提取全局特征表示,文章提出的CADF采用ResNet-50架构作为2D特征学习的骨干模块。ResNet-50—广泛应用于计算机视觉任务,比如多雾图像 OR ConvGRU-CNN。在文章的方法中,ResNet-50从原始图像中提取全局特征映射,在每张图像的基础上生成高维特征表示。

式中,f 表示ResNet-50网络,θx 表示网络参数。

(2)体素特征编码

CADF策略使用体素特征编码(Voxel Feature Encoding, VFE)来处理点云数据。

式中,f 表示VFE层,θp 表示VFE层的参数,Pj 表示第 j 个体素中的点云数据。 

(3) BEV特征提取

通过正交映射将体素特征表示投影到BEV (Bird’s Eye View)平面上,获取点云数据在BEV视角下的位置坐标和相关特征向量。将所有体素的特征向量按照一定的规则进行聚合,得到一个体素特征向量。

式中 i ,j 为BEV平面的位置坐标,k 为特征向量的维数,l, m, n为体素的索引,g 为聚合函数,可以是池化、平均或最大化函数。

(4)特征动态融合

①线性变换

对BEV特征和图像特征分别进行线性变换,得到两个新的特征映射:,其中d为特征向量的维度。

式中,V为BEV特征矩阵,hx为图像特征向量,Wq和Wk为可学习的线性变换矩阵。 

②对Q(BEV特征)和K(图像特征)进行点积运算

得到一个注意力矩阵

其中 i, j, k,l 表示注意矩阵中的位置坐标,:表示所有特征向量,√d用于缩放点积结果,以避免梯度爆炸或消失的问题

③Softmax运算

将注意力矩阵A进行softmax运算,得到归一化的注意力矩阵P,可以表示为:

④特征加权融合

接下来,对BEV特征矩阵V进行加权,用P(这里的P对应图中的A,即为Softmax之后的矩阵A)进行融合,得到融合特征矩阵F,其表达式为:

⑤将计算出来的特征与图像原特征进行连接 

有同学可能就有疑问了,这为什么融合了之后还要与BEV特征进行二次融合啊,意义是什么?

交叉注意模块中的注意矩阵A量化了BEV表示与图像嵌入之间的特征相似性,确定了融合过程中不同位置特征的权重分配。所以说这个矩阵A对于二次融合,就像一个权重一样起了作用。而为了实现这一点,softmax操作将A中的值映射到[0,1]范围进行加权融合。所得到的融合输出hf同时包含BEV和图像特征,从而增强了点云和图像的空间关系和语义信息的表示

2、同步数据增强  Synchronous Data Augmentation

此外,我们还引入了异构数据的同步数据增强(SDA)策略,以增强模型的鲁棒性,并解决异构模式数据增强不足的问题。通过同步增强点云特征和图像数据,我们的模型能够学习更通用的信息表示,从而通过获取更多可转移的嵌入来提高其泛化能力。

作者认为先前大多数增强策略仅适用于点云数据,增加了样本量,避免了点云稀疏导致的效率降低。但仅增加点云忽略了与图像数据的一致性和对应性,可能导致模型过拟合。

 为了避免过拟合并改进模型泛化,因而提出了一种同步数据增强(SDA)策略,在增强点云的同时对相应的图像数据进行同步增强,保持模态之间的对应关系。

这种SDA策略避免了训练过程中的不一致问题,从而提高了模型的准确性和鲁棒性。此外,SDA可以同时对点云和图像数据进行各种变换,增加了数据集的多样性。这使模型能够更好地适应不同的场景和环境。

1)点云数据增强:

为了消除噪声和增加数据集的多样性,文章从VoxelNet和SECOND中汲取灵感,对点云应用了各种数据增强技术。我们执行随机旋转、缩放、平移、裁剪和子采样,解释如下。从[-π/4, π/4]随机采样点云进行旋转。我们通过随机缩放[0.95,1.05]和变换[-0.1,0.1]来增强数据。对于随机裁剪,参数在[-0.1,0.1]中随机选取。

子采样将每个点云减少到512个点。这些增强显著增加了点云的多样性,提高了模型的鲁棒性和泛化性。

从训练数据集中随机选择并连接目标子集到每一帧中,增加了目标的数量和多样性,提高了训练速度和效率。点云稀疏意味着帧可能包含很少的对象,从而阻止网络完全学习对象的特征。因此,引入更多的对象可以提高模型的准确性和鲁棒性。此外,更多的目标增强了对不同场景的适应性,提高了泛化能力。因此,这种增强方法有效地提高了模型的性能

2)图像数据增强:

文章设计了一种创新的方法来增强图像数据的意识。将从3D对象标签注释中提取的深度数据与Mixup方法融合以实现这一目标。具体来说:

        ①首先将原始图像与增强点云对齐,

        ②然后执行部分裁剪。

        ③然后根据其深度信息将相应的透明度应用于每个裁剪区域,从而表示图像中的深度信息。

为了生成增强图像,文章首先对目标物体按深度排序,并从原始图像中裁剪出相同的区域。然后,我们使用Mixup方法中的混合比例将每个裁剪的区域与相应的目标图像混合。这确保了增强图像与原始图像保持连续性。

此外,还根据增强图像中每个物体所在区域的深度顺序对其透明度进行衰减。这保证了增强图像与原始图像之间的一致性。

通过将深度信息整合到图像数据中,模型可以从点云和增强图像表示中学习,从而提高了性能和鲁棒性。综上所述,该方法是一种有效的增强图像数据深度感知的数据增强技术。

总结 

本文提出了一种新的图像点云融合方法DyFusion。方法引入了CADF,这是一种利用交叉注意有效整合图像和点云特征的创新方法。这种集成不仅减少了错误,而且解决了特性丢失的挑战。文章还设计了SDA策略来解决数据扩充不足的问题,这有助于在训练数据中引入更多的变量,从而提高模型的鲁棒性和泛化能力。

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

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

相关文章

【CNN】卷积神经网络的相关介绍及计算

文章目录 传统神经网络结构卷积神经网络结构输入的区域大小计算特征值卷积结果计算公式卷积参数共享池化层最大池化特征图变化经典网络 传统神经网络结构 传统神经网络(左边的图2D的)可以叫wxb、全连接层、FC、MLP、多层感知机、多个线性层堆在一起&…

Python 爬虫入门(八):爬虫工程化及Scrapy简介「详细介绍」

Python 爬虫入门(八):爬虫工程化及Scrapy简介「详细介绍」 前言1. Python1.1 Python 简介1.2 Python 爬虫的优势1.3 必须掌握的 Python 基础知识1.3.1 基本语法1.3.2. 函数和模块1.3.3 文件操作1.3.4 数据处理1.3.5 类和对象1.3.6 异常处理 2…

CAP+RabbitMQ

CAP(C# APM for Microservices)是一个开源的C#库,用于在分布式系统(如SOA或微服务系统)中实现事件总线及最终一致性(分布式事务)。CAP提供了多种消息队列(MQ)实现的支持&…

手把手教你写一个图形化的端口扫描工具

前言 关于学习群 由于我使用masscan进行纯端口扫描的时候,遇到扫描不出结果的情况,我就考虑了自己写一个端口扫描脚本,还挺好用。 库介绍 1、asyncio asyncio 是 Python 的一个库,用于编写单线程并发代码。使用 asyncio&#…

MacBook2024非常出色的虚拟机软件Parallels Desktop19.3中文免费版本

最近我被问得最多的一个问题就是:能不能在一台设备上同时使用Windows系统和macOS系统?答案当然是肯定的,你只需要一款虚拟机软件就能轻松实现。今天,我就来为大家安利一款非常出色的虚拟机软件——Parallels Desktop19。 这款软件…

【C++】模拟实现queue

🦄个人主页:修修修也 🎏所属专栏:实战项目集 ⚙️操作环境:Visual Studio 2022 ​​ 一.了解项目功能 📌了解queue官方标准 在本次项目中我们的目标是模拟实现一个queue,先一起看一下C标准文档中queue的定义:cplusplus : C queue标准文档htt…

中英文字翻译,这几款软件值得收藏!

在这个全球化的时代,语言不再是沟通的障碍,而翻译软件则成为了我们跨越语言鸿沟的得力助手。今天,就让我们一起探索三款让英文翻译变得前所未有的简单与高效的神奇软件,无论是学习、工作还是旅行,它们都能成为你不可或…

kickstart无人值守以及pxe实现服务器自动部署

使用背景 在企业中安装多台操作系统时会面临的问题:当安装Linux操作系统时,安装过程会需要回答很多关于设定的问题 这些问题必须手动选择,否则无法进行安装 。当只安装1台Linux系统,手动选择设定工作量比较轻松 当安装多台Linux&a…

PSO_GA混合算法优化PID参数(附代码)

由于PSO算法本身的缺陷,其存在容易出现早熟收敛、后期迭代效率不高、搜索精度不高的问题,在线性递减惯性权重PSO算法的基础上,与GA遗传算法相结合,针对PSO易陷入局部最优,通过采用GA杂交变异的思想,增加了粒子的多样性,跳出局部最优,增强混合算法的全局搜索能力,提高搜…

完美解决pip命令版本冲突导致对应版本模块包无法安装的问题

解决步骤 使用pip更新/降低指定模块包命令格式降低pip自身至指定版本的命令再次换源安装指定模块包 在对 FasterNet 这篇论文源码复现过程中,我们首先需要安装相关依赖文件( path/to/your/requirements.txt) -extra-index-url https://down…

CentOS7 VMware虚拟机基于NAT配置网络IP

目录 前言 VMnet8 虚拟网络编辑 ens33 ping 防火墙 前言 平时学习时一直需要用到Linux服务器,一般都是在Windows上安装VMware来创建一个虚拟机。创建的虚拟机需要配置网络才能够访问外网,可以通过以下两种方式来配置虚拟机网络 桥接模式NAT模式&…

给儿童掏耳朵用什么工具好?TOP4机型实测数据大公开

作为一名专业的个护测评师,我深知宝宝掏耳朵是一件多难的事情,由于宝宝的耳朵属于盲区。在为他操作时,很容易伤及宝宝的耳膜。因此,帮宝宝掏耳朵时工具的选择非常的重要。然而市场上许多跨界大牌存在隐患。某些网红品牌&#xff0…

视频发光字体特效怎么做 会声会影字体怎么淡化退出 视频剪辑制作教程

视频字体样式在视频制作中起着重要的作用,它可以帮助传达信息、增强视觉吸引力、提供情感表达、强调关键信息和提供文化背景解读等。这篇文章以会声会影为例,来一起看看发光字体制作,字体怎么淡化退出等内容。 你可以在这里免费下载会声会影…

Spring-Kafka确认机制报错:No Acknowledgment available as an argument

问题出现 在spring boot集成kafka时报错,报错信息: No Acknowledgment available as an argument, the listener container must have a MANUAL AckMode to populate the Acknowledgment.翻译: Acknowledgment 参数不可用,监听…

thingsboard-3.6.4 源码编译运行

1.首先我们要检查我们所需要的环境是否全部安装,还有对应的版本,一定要按照项目要求的版本来,要不然你会给自己挖很多坑。 我们使用的是3.6.4的版本,下面的版本全是基于这个版本的。需要安装好已经配置环境变量。 这部分大家就自…

adaboost提升方法

集成学习:串联(提升方法),并联(随机森林) Adaboost:分类加法模型(更新样本权值,投票权值-由权值误差率决定) 提升树:回归加法模型 (…

Linux驱动开发—平台总线模型详解

文章目录 1.平台总线介绍1.1平台总线模型的组成部分1.2平台总线模型的优势 2.使用平台总线模型开发驱动2.1注册platform设备2.2注册platform驱动2.3效果演示 1.平台总线介绍 Linux 平台总线模型(Platform Bus Model)是一种设备驱动框架,用于…

软件测试老兵的十条生存法则

在当下的数字化时代,软件测试行业正经历快速的变革和发展。自动化测试、持续集成和持续交付(CI/CD)、人工智能(AI)和机器学习(ML)、云计算和DevOps等技术正在重塑软件测试的各个方面。这些变化不…

全国产Gpixel图像传感器+FPGA+AI高帧率机器视觉工业相机解决方案

近些年来,机器视觉广泛应用于智能制造、自动化等设备中,用来保证产品质量,控制生产流程,感知环境等。面对不同的应用场景,检测系统需要满足不同的技术指标。其中图像传感器的分辨率和帧率是两个极为重要的指标&#xf…

2023级JavaScript与jQuery

第一课:JavaScript概述 一.预习笔记 1.认识JavaScript 1-1:1995年,NetScape公司与Sun公司联合开发出JavaScript脚本语言 1-2:JavaScript的作用 1)客户端表单验证 2)页面动态效果 3)动态改…