夜晚也清晰可见!ContextualFusion技术突破传统传感器限制,3D对象检测性能显著提升

本文主要是介绍夜晚也清晰可见!ContextualFusion技术突破传统传感器限制,3D对象检测性能显著提升,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

DeepVisionary 每日深度学习前沿科技推送&顶会论文分享,与你一起了解前沿深度学习信息!

在这里插入图片描述

ContextualFusion: Context-Based Multi-Sensor Fusion for 3D Object Detection in Adverse Operating Conditions

引言:自动驾驶车辆在恶劣环境中的挑战

自动驾驶车辆(AV)设计目的是在几乎不需要人类干预的情况下,在真实世界的场景中自行驾驶。这些车辆通常配备有多种传感器,包括摄像头、激光雷达、雷达、超声波传感器、GPS和IMU。由于自动驾驶技术有望使交通更安全,因此这一领域的研究非常受欢迎。例如Waymo和GM Cruise等公司已经开始在限定区域部署自动驾驶出租车队,主要是在天气良好的条件下。然而,自动驾驶系统要实现这一目标,必须可靠地感知其运行环境。全自动AV必须能够在水平视场360度范围内、垂直视场±15-20度范围内看到,没有任何盲点。

在本文中,我们专注于在恶劣条件下融合摄像头图像和激光雷达点云。摄像头提供丰富的像素级信息,但可能会被直射阳光照射而失效,并且在夜间和低光照条件下性能显著下降。激光雷达作为主动传感器提供3D信息,在白天和夜间条件下均能良好工作。然而,激光雷达的光束也可能被大雨和雾散射,导致物体检测出现误报。最近的研究表明,使用多模态深度学习模型融合传感器数据通常能有效提高感知性能。

在这里插入图片描述

论文标题、机构、论文链接和项目地址

论文标题: ContextualFusion: Context-Based Multi-Sensor Fusion for 3D Object Detection in Adverse Operating Conditions

机构: Shounak Sural1, Nishad Sahu1 and Ragunathan (Raj) Rajkumar1

论文链接: ContextualFusion Paper

项目地址: GitHub - ContextualFusion
在这里插入图片描述

研究背景与动机

自动驾驶汽车(AV)旨在在现实世界场景中实现无人驾驶,几乎不需要人类参与。这些AV通常配备有多种传感器,包括摄像头、激光雷达、雷达、超声波传感器、GPS和IMU。由于自动驾驶技术有望使交通更安全,因此该领域的研究受到了广泛关注。例如,Waymo和GM Cruise等公司已开始在限定区域部署自动驾驶出租车车队,主要在天气良好的条件下。然而,大多数交通事故都是由人为错误引起的,从驾驶过程中移除人类或减少人类参与,有可能避免或最小化大量的交通事故。为了实现这一目标,自动驾驶系统必须可靠地感知其运行环境。全自动AV必须能够在水平视野360度、垂直视野±15-20度范围内无盲区地观察周围环境。摄像头、激光雷达和雷达传感器的组合为实现这一目标提供了重要的冗余性。然而,现有的许多感知方法在夜间和雨天等恶劣条件下的性能会大幅下降,这对于真实世界的部署是一个重大挑战。
在这里插入图片描述

ContextualFusion模型介绍

1. 模型概述

ContextualFusion是一个多传感器融合模型,专为在恶劣操作条件下进行3D对象检测而设计。该模型利用环境上下文信息,通过智能地分配激光雷达和摄像头模态在不同光照和雨天条件下的重要性,显著提高感知性能。例如,在夜间或低光照条件下,ContextualFusion能够准确地检测到激光雷达和摄像头视图中都可见的车辆,而现有的一些基于摄像头的方法则无法做到。

2. 3D对象检测

ContextualFusion采用鸟瞰图(BEV)空间进行3D对象检测,这种方式在保持几何信息的同时,有效地利用了摄像头和激光雷达的数据。模型中,摄像头特征提取块使用SwinTransformer,而激光雷达特征提取块则采用VoxelNet架构。通过这种设置,可以在BEV空间中将摄像头和激光雷达特征进行有效融合。

3. 门控卷积融合

在ContextualFusion模型中,一个关键的创新是门控卷积融合(Gated Convolutional Fusion)。这一技术根据环境上下文(如夜间或雨天条件)动态调整激光雷达和摄像头数据的权重,优化融合过程。通过这种方式,模型能够在不同的环境条件下,更有效地处理和融合来自不同传感器的数据,从而提高了对象检测的准确性和可靠性。

总之,ContextualFusion通过利用环境上下文信息和先进的融合技术,显著提高了在恶劣条件下的3D对象检测性能,为自动驾驶汽车在复杂环境中的安全运行提供了强有力的技术支持。
在这里插入图片描述

实验设计与数据集

1. 数据集使用

在本研究中,我们使用了两个主要的数据集:真实世界的NuScenes数据集和我们自己生成的合成多模态数据集AdverseOp3D。NuScenes数据集包含了使用车辆记录的各种传感器数据,包括360度高分辨率的激光雷达和六个摄像头。该数据集有大约1000个场景,每个场景大约有40个标注帧,总共约40,000个数据样本。AdverseOp3D数据集是在CARLA模拟器中生成的,模拟了不利的天气条件,如夜间和雨天,以补充NuScenes数据集在这些条件下的数据不足。

2. 合成多模态数据集的创建

我们使用CARLA模拟器生成了名为AdverseOp3D的合成数据集。在模拟器中,我们安装了与NuScenes数据集生成过程中描述的相同位置和方向的六个摄像头和一个激光雷达。我们在模拟环境中生成了地面真实的边界框注释列表,并确保只使用与至少一个激光雷达点相交的边界框的相关子集。此外,我们还存储了关于白天或夜间条件以及是否有雨的环境信息,这些信息作为地面真实数据直接可用。
在这里插入图片描述

实验结果与分析

1. 性能评估

我们使用平均精度(AP)分数来评估各个感兴趣类别的3D对象检测性能,以及使用所有类别的平均AP(mAP)来获得整体性能估计。我们的ContextualFusion模型在NuScenes数据集的夜间和雨天子集上表现出色,尤其是在夜间条件下,与BEVFusion方法相比,我们的方法在总体mAP上提高了11.7%。

2. 独立与约束融合方法的比较

我们探索了在融合模块中根据环境上下文独立或统一调整激光雷达和摄像头特征权重的两种方法。结果显示,独立变化权重的方法(ContextualFusion (Independent))在不同环境条件下提供了更好的性能,特别是在夜间和雨天条件下。
在这里插入图片描述

3. AdverseOp3D数据集的实验结果

在我们平衡的AdverseOp3D数据集上,ContextualFusion方法的整体mAP达到了60.0%,在所有四个感兴趣的类别(汽车、卡车、公交车和行人)中都取得了最佳的个别AP。这一结果证明了我们的数据生成方法的实用性,并强调了在各种环境条件下测试和评估3D对象检测模型的重要性。

通过这些实验,我们证明了ContextualFusion模型在处理不利天气和光照条件下的3D对象检测任务方面的有效性和优越性。

模型的优势与实际应用

1. 模型优势

ContextualFusion模型通过融合摄像头图像和激光雷达点云数据,在不利的环境条件下显著提高了感知性能。这种基于环境上下文的融合方法能够在夜间或雨天等复杂环境中,有效地提高目标检测的准确性。例如,在NuScenes数据集的夜间测试中,ContextualFusion模型相比于传统的BEVFusion模型,在总体平均精度(mAP)上提高了11.7%。

此外,ContextualFusion模型利用Gated Convolutional Fusion技术,根据环境条件(如白天或夜晚,晴天或雨天)动态调整摄像头和激光雷达数据的相对重要性。这种方法不仅提高了模型的适应性,还优化了在复杂环境中的性能。

2. 实际应用

ContextualFusion模型的实际应用主要体现在自动驾驶领域,尤其是在恶劣天气和照明条件下的车辆感知系统。通过在CARLA模拟器中生成的AdverseOp3D数据集进行训练和测试,该模型已经证明可以有效地识别和定位在夜间或雨天条件下的各种车辆和行人。这一能力对于提高自动驾驶车辆在复杂环境中的安全性和可靠性至关重要。
在这里插入图片描述

未来研究方向

1. 增强数据集的真实性

未来的研究可以集中在进一步增强模拟数据集的真实性。尽管AdverseOp3D数据集已经包含了多种不利条件,但其在视觉效果上与真实世界数据仍存在差距。通过引入更高级的风格迁移技术,可以使模拟数据更加贴近真实世界的分布,从而提高模型在实际应用中的泛化能力和准确性。

2. 开发上下文感知框架

另一个重要的研究方向是开发更加高效的上下文感知框架。这包括利用深度学习技术来识别和预测环境条件,如天气变化和光照条件,以及这些条件如何影响感知和定位系统的性能。通过整合这些上下文信息,可以进一步优化多传感器融合策略,实现更为精确和可靠的目标检测。

3. 探索新的传感器融合方法

未来的研究还可以探索新的传感器融合方法,以提高在极端环境条件下的检测性能。例如,研究如何有效融合来自不同类型传感器的数据,包括红外摄像头、毫米波雷达等,可能会开辟新的途径来进一步提升自动驾驶系统在多变环境中的适应性和准确性。
在这里插入图片描述

总结

本文提出了一种名为ContextualFusion的多传感器融合方法,旨在改善自动驾驶车辆在夜间和恶劣天气条件下的3D对象检测性能。通过智能地调整相机和激光雷达数据的相对重要性,ContextualFusion能够根据白天或夜间条件以及是否下雨来优化数据融合过程。

我们开发了一个名为AdverseOp3D的合成数据集,该数据集包含了各种恶劣天气条件下的场景,以此来对抗现有数据集中晴朗天气条件的偏见。在真实世界的NuScenes数据集上,ContextualFusion在夜间条件下的表现优于现有的最佳方法,显示出11.7%的mAP提升。此外,ContextualFusion在整个AdverseOp3D数据集上也显示出比现有网络高6.2%的mAP提升。

通过引入基于环境上下文的门控卷积融合(Gated Convolutional Fusion),我们的方法能够在不同的传感器和环境条件下动态调整数据融合策略,从而提高了模型的泛化能力和实用性。此外,我们的模型在单个A6000 GPU上的推理速度与BEVFusion相当,进一步证明了其在实际应用中的可行性。

未来的研究将继续探索上下文检测框架的开发,并利用上下文感知方法来改善自动驾驶车辆在所有操作环境下的感知和定位能力。同时,我们计划进一步增强AdverseOp3D数据集的真实感,以更好地反映现实世界的分布,为自动驾驶技术的发展提供更坚实的数据支持。

关注DeepVisionary 了解更多深度学习前沿科技信息&顶会论文分享!

这篇关于夜晚也清晰可见!ContextualFusion技术突破传统传感器限制,3D对象检测性能显著提升的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/973011

相关文章

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

浅谈mysql的sql_mode可能会限制你的查询

《浅谈mysql的sql_mode可能会限制你的查询》本文主要介绍了浅谈mysql的sql_mode可能会限制你的查询,这个问题主要说明的是,我们写的sql查询语句违背了聚合函数groupby的规则... 目录场景:问题描述原因分析:解决方案:第一种:修改后,只有当前生效,若是mysql服务重启,就会失效;

Redis中高并发读写性能的深度解析与优化

《Redis中高并发读写性能的深度解析与优化》Redis作为一款高性能的内存数据库,广泛应用于缓存、消息队列、实时统计等场景,本文将深入探讨Redis的读写并发能力,感兴趣的小伙伴可以了解下... 目录引言一、Redis 并发能力概述1.1 Redis 的读写性能1.2 影响 Redis 并发能力的因素二、

C#原型模式之如何通过克隆对象来优化创建过程

《C#原型模式之如何通过克隆对象来优化创建过程》原型模式是一种创建型设计模式,通过克隆现有对象来创建新对象,避免重复的创建成本和复杂的初始化过程,它适用于对象创建过程复杂、需要大量相似对象或避免重复初... 目录什么是原型模式?原型模式的工作原理C#中如何实现原型模式?1. 定义原型接口2. 实现原型接口3

Golang中拼接字符串的6种方式性能对比

《Golang中拼接字符串的6种方式性能对比》golang的string类型是不可修改的,对于拼接字符串来说,本质上还是创建一个新的对象将数据放进去,主要有6种拼接方式,下面小编就来为大家详细讲讲吧... 目录拼接方式介绍性能对比测试代码测试结果源码分析golang的string类型是不可修改的,对于拼接字

Java实现将byte[]转换为File对象

《Java实现将byte[]转换为File对象》这篇文章将通过一个简单的例子为大家演示Java如何实现byte[]转换为File对象,并将其上传到外部服务器,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言1. 问题背景2. 环境准备3. 实现步骤3.1 从 URL 获取图片字节数据3.2 将字节数组

Javascript访问Promise对象返回值的操作方法

《Javascript访问Promise对象返回值的操作方法》这篇文章介绍了如何在JavaScript中使用Promise对象来处理异步操作,通过使用fetch()方法和Promise对象,我们可以从... 目录在Javascript中,什么是Promise1- then() 链式操作2- 在之后的代码中使