震惊,从仿真走向现实,3D Map最大提升超12,Cube R-CNN使用合成数据集迁移到真实数据集

news2024/11/15 12:07:49

震惊,从仿真走向现实,3D Map最大提升超12,Cube R-CNN使用合成数据集迁移到真实数据集

Abstract

由于摄像机视角多变和场景条件不可预测,在动态路边场景中从单目图像中准确检测三维物体仍然是一个具有挑战性的问题。本文介绍了一种两阶段的训练策略来应对这些挑战。我们的方法首先在大规模合成数据集RoadSense3D上训练模型,该数据集提供了多样化的场景以实现稳健的特征学习。随后,我们在真实世界数据集的组合上微调模型,以增强其对实际条件的适应能力。Cube R-CNN模型在具有挑战性的公共基准数据集上的实验结果显示,检测性能显著提高,在TUM Traffic A9 Highway数据集上的平均精度从0.26提高到12.76,在DAIR-V2X-I数据集上的平均精度从2.09提高到6.60。

代码及数据获取:https://roadsense3d.github.io

Introduction

深度学习的最新进展激发了人们对2D/3D物体检测方法的浓厚兴趣。传统的一步和两步2D物体检测方法主要分析像素级信息。然而,仅提供2D检测的方法在提供物体与自车之间的精确实际距离测量方面存在局限性。这一局限性突显了对场景更全面理解的必要性以及发展先进的3D物体检测能力的需求。为了提高模型的泛化能力,研究者们尝试将模型在多个数据集上进行训练,以增强其在不同城市环境中的表现。例如,MonoUNI模型通过集成车辆和基础设施数据,提高了远程感知能力。

虽然这些模型在典型的(驾驶)条件下表现出高精度,但当遇到诸如车辆倾斜或因事故而翻覆等路边场景时,其性能显著下降,这主要是由于数据标注过程的局限性。具体来说,大多数自动驾驶模型主要依赖于偏航角,通常忽略横滚和俯仰角度,因为它们为零。然而,这些角度在准确检测略有提升的物体(如路边场景中的物体)时至关重要。为了解决这些局限性,本文中我们使用Cube R-CNN模型进行了综合迁移学习实验,从合成数据集RoadSense3D过渡到真实世界数据集TUM Traffic A9 Highway(TUMTraf-A9和DAIR-V2X-I。在这些实验中,我们在训练和测试阶段都引入了俯仰和横滚角度。真实世界数据集来自多个城市,每个城市的基础设施配置各不相同,确保模型暴露于广泛的城市环境中以改善泛化性能。通过对这三个真实世界数据集的广泛评估,我们证明了从模拟场景到真实场景的迁移学习将TUMTraf-A9数据集上的3D mAP结果从0.26提高到12.76,将DAIR-V2X-I数据集的结果从2.09提高到6.60。

3.Method

本节首先从数学上对基于单目相机的 3D 物体检测任务进行公式化描述。接下来,我们根据路边场景介绍模型选择过程。然后,我们描述了使用合成数据的初始训练过程,其中包括详细介绍数据集和从头开始训练模型的方法。接着,我们详细介绍了微调阶段,讨论了所选的真实世界数据集以及微调过程中的技术细节。

3.1 问题定义

基于图像的 3D 物体检测涉及根据相机捕捉的二维图像确定物体在三维空间中的位置和形状。为了解决这个问题,我们旨在学习一个函数,该函数由参数θ表示,将二维 RGB 图像映射到一组 3D 物体属性,其中

图片

 代表具有高度 H、宽度 W 和相应相机参数的图像集。具体来说,对于每个图像 i,模型输出每个检测到的物体 j 的属性:类别、3D 位置坐标

图片

、尺寸

图片

以及偏航-俯仰-滚动角度

图片

这个过程可以公式化为:

图片

其中表示图像 i 中检测到的物体数量。为了学习一个生成这些 3D 物体属性的函数,我们使用了包含带注释 3D 边界框图像的数据集 D (M = |D|)。训练数据集中的每个条目包括一个图像 i 及其对应的真实属性

图片

,其中,星号表示真实值。训练目标是优化函数的参数𝜃,以准确预测这些属性。换句话说,我们的目标是最小化给定真实标注时预测的损失。形式化地表示为:

图片

损失函数L是类别损失

图片

、位置损失 

图片

、尺寸损失

图片

和方向损失

图片

的加权组合。训练过程的目标是找到最小化数据集 D 上这个复合损失的函数参数 θ。通过这样做,该函数可以从二维图像中生成准确的类别、位置、尺寸和方向,从而解决目标任务。

3.2 模型选择

为了选择基于图像的3D物体检测方法,本文对自 2021 年以来的顶级计算机视觉会议(例如 ECCV、CVPR、ICCV)和期刊(例如 IEEE 模式分析与机器智能汇刊,T-PAMI)进行了广泛的审查。本文的审查特别关注那些利用端到端架构的模型,避免依赖辅助网络进行深度提取的模型。我们还优先考虑了在多个数据集上表现出强大性能的模型。我们的选择标准包括模型在不同任务中的领域适应能力和适用性(见表 2)。经过严格的评估,我们确定了四个值得进一步考虑的模型:MonoUNI 、ImVoxelNet、Cube R-CNN 和 UniMODE。其中,由于 Cube R-CNN 的显著可重现性和统一的训练流程,我们选择了它进行实验。与 UniMODE 由于训练流程的局限性被排除相比,Cube R-CNN 集成了多个相机坐标系,并在处理物体六自由度方向时表现出鲁棒性。与依赖于数据集特定训练策略的 ImVoxelNet 和 MonoUNI 不同,Cube R-CNN 在各个数据集上都能有效地工作而不妥协性能。从架构角度来看,Cube R-CNN 基于 Faster R-CNN 框架 ,这是一种端到端的基于区域的目标检测方法。Faster R-CNN 使用一个主干网络,通常是卷积神经网络 (CNN),将输入图像转换为高维特征表示。区域建议网络 (RPN) 随后生成感兴趣区域 (ROIs),标识图像中潜在的目标候选区域。这些 ROIs 由一个二维边框头处理,利用主干网络的特征图对目标进行分类并优化二维边界框预测。然后,每个检测到的物体应用一个立方体头来计算 3D 参数,包括中心点投影、深度、缩放尺寸和以物体为中心的方向。

图片

3.3 初始模型创建

合成数据集选择。在我们的实验中,我们使用了 RoadSense3D合成数据集,该数据集包含超过 900 万个标注的 3D 物体和 140 万个帧用于模型训练。如表 1 所示,该数据集提供了从 CARLA 模拟器中的七个不同城镇的 35 个路边摄像头生成的各种场景的多样化数据。关键参数包括 1920x1080 图像分辨率、每个位置 40,448 帧、摄像头俯仰角度从 -25° 到 -45°、150 米的检测范围和 120° 的视场角。为了模拟现实条件,数据集包含了天气(晴天、多云、雾天)和一天中的不同时间(白天/夜晚)的变化。我们选择了 RoadSense3D 数据集,因为缺乏提供足够路边环境数据的大型真实数据集。实际上,尽管像 Rope3D 这样的数据集包含数百万张真实世界图像,但它们并未公开可用。从头开始训练模型需要大量数据,而在这个领域,现实世界中标注数据的获取并不容易,因为标注成本高,且往往需要手动标注工作 。考虑到这一点,在人工数据集中,RoadSense3D 是当前最大的合成数据集,提供了各种因素的全面覆盖。从头开始训练。我们在 RoadSense3D 合成数据集上训练了 Cube R-CNN,以应对物体姿势变化问题。该数据集是序列化的,多张图像包含了不同位置的相同物体。这种策略允许模型遇到各种物体、位置和遮挡场景。根据原始论文的描述,我们将数据集划分为训练集、验证集和测试集。模型在单个 GPU 上训练了 250,000 次迭代,使用批量大小为 4 和学习率为 0.0025 的设置。我们使用随机梯度下降 (SGD) 优化器,并每 10,000 次迭代进行一次模型评估。这些超参数的选择是为了应对原始 Cube R-CNN 模型训练中观察到的不一致性。图 1 展示了定性结果。

图片

图片

3.4 预训练模型迁移

实际数据集选择。为了使Cube R-CNN模型能够泛化到现实场景中,我们对其进行了微调,选择了多个具有不同摄像机设置和环境条件的多样化数据集。由于其公开可用性和规模,我们选择了TUMTraf-A9和DAIR-V2X-I数据集。TUMTraf-A9数据集是TUMTraf数据集家族的一个子集,捕捉了德国慕尼黑高速公路场景中复杂的天气和光照条件。它包括1,000个标注帧,含有15,000个3D边界框和跟踪ID,数据来自LiDAR和多视图摄像头,使用了16mm和50mm焦距来监控11条车道的交通。DAIR-V2X-I数据集收集于中国,代表了一个大规模的车路协同自动驾驶数据集,提供了超过71,000个来自基础设施和车辆视角的LiDAR和摄像头帧。

对于DAIR-V2X-I数据集,需要进行预处理,因为其提供的目标注释是在LiDAR坐标系中。由于Cube R-CNN在摄像头坐标系中操作,我们首先将注释从LiDAR坐标系转换到摄像头坐标系。在LiDAR系统中,注释指定了目标在七个自由度上的位置、尺寸和偏航旋转。当将这些注释投影到摄像机的视图中时,必须考虑目标相对于摄像机的旋转。这包括围绕三个轴投影注释。转换过程遵循方程:

图片

,其中内参矩阵𝐾和外参矩阵𝑇被用于将世界坐标系中的3D点 (X, Y, Z) 投影到摄像头坐标系中的2D点 (x, y) 上。变量𝑤在此转换中作为一个缩放因子,确保点正确地投影到摄像头视图中。然后,我们使用60/40的比例进行训练和测试。对于测试,我们使用了来自V2X-Seq的顺序感知数据。对于TUMTraf-A9数据集,我们也采用了相同的60/40比例进行训练和测试,使用了来自北部和南部摄像头的数据,并结合了小焦距和大焦距的数据。

Experiment

在本节中,我们展示了从合成数据到真实数据迁移学习实验的结果。首先,我们考察了从RoadSense3D到TUMTraf-A9和DAIR-V2X-I的单步数据集迁移的影响。接下来,我们探索了从合成数据集到现实数据集的逐步过渡,依次从RoadSense3D到DAIR-V2X-I,再到TUMTraf-A9。我们使用3D平均精度(mAP3D)在一定的交并比(IoU)阈值下评估了模型在每个真实数据集测试集上的性能,衡量了检测和定位精度。

1.单步数据集迁移

在初步分析中,我们通过在RoadSense3D数据集上预训练Cube R-CNN模型,并在DAIR-V2X-I和TUMTraf-A9数据集上进行微调,发现迁移学习能显著提升模型在现实世界数据集上的性能。在TUMTraf-A9数据集上,迁移学习模型的mAP3D从0.26提升至12.76,增长了4808%。在DAIR-V2X-I数据集上,迁移学习模型在不同难度级别上的mAP3D也分别提升了215.8%至231.4%。这些结果表明,迁移学习对于提高模型在复杂或数据量有限的现实场景中的性能非常有效。表3和表4分别收集了这两个模型实例在相应现实数据集测试集上的mAP3D。定量观察到的提升在图2中的定性例子中可以更好地体现。

图片

图片

图片

2.多步数据集迁移

在第二次分析中,我们探索了逐步迁移学习的效果。我们首先在RoadSense3D数据集上预训练Cube R-CNN模型,然后在DAIR-V2X-I数据集上微调,最后在TUMTraf-A9数据集上进行微调。与直接在TUMTraf-A9上训练的模型相比,这种逐步迁移学习方法在TUMTraf-A9测试集上的mAP3D从0.26提升至6.26,增长了2308%。尽管如此,直接在TUMTraf-A9上微调的模型表现更佳,mAP3D达到12.76。这表明虽然逐步迁移学习能提升性能,但直接微调在特定数据集上更有效。我们认为,中间的DAIR-V2X-I阶段可能引入了与TUMTraf-A9不匹配的特征,影响了模型的最终性能。表5收集了这两个模型实例在各个难度级别上的mAP3D。

图片

结论

本文贡献如下:

1.迁移学习实验:本研究使用Cube R-CNN模型,从合成数据集RoadSense3D迁移到现实世界数据集TUMTraf-A9和DAIR-V2X-I,通过引入俯仰和横滚角度,显著提升了检测精度。
2.性能提升:直接迁移学习显著提高了TUMTraf-A9和DAIR-V2X-I数据集的3D mAP,分别从0.26提升到12.76和从2.09提升到6.60。
3.直接微调的优势:研究结果表明,尽管多步迁移学习有益,但在目标数据集上直接微调可以获得更优异的效果。
4.应用领域:这些研究结果为智能交通系统、自动驾驶和智慧城市基础设施中构建更稳健、适应性更强的模型提供了基础,这些领域中准确的3D感知对于提高安全性和效率至关重要。

引用文章:
Transfer Learning from Simulated to Real Scenes for Monocular 3D Object Detection

最后别忘了,帮忙点“在看”。  

您的点赞,在看,是我创作的动力。

AiFighing是全网第一且唯一以代码、项目的形式讲解自动驾驶感知方向的关键技术,加入知识星球,一起学习自动驾驶感知技术。

当前属于预售阶段398,预售期到9月30号,到时可能涨价(50或者100)。

398让你跟着自动驾驶一线大佬学习一年。

正式发布倒计时27天!!!

关注我的公众号auto_driver_ai(Ai fighting), 第一时间获取更新内容。

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

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

相关文章

基于飞桨paddle2.6.1+cuda11.7+paddleRS开发版的目标提取-道路数据集训练和预测代码

基于飞桨paddle2.6.1cuda11.7paddleRS开发版的目标提取-道路数据集训练和预测代码 预测结果: 预测影像: (一)准备道路数据集 下载数据集地址: https://aistudio.baidu.com/datasetdetail/56961 mass_road.zip …

国际标准图像分辨率测试ISO12233 - 2017中文翻译

参考:https://blog.csdn.net/jgw2008/article/details/116519404?spm1035.2023.3001.6557&utm_mediumdistribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-2-116519404-bbs-392397517.264^v3^pc_relevant_bbs_down_v2_default&d…

SpringBoot与Minio的极速之旅:解锁文件切片上传新境界

目录 一、前言 二、对象存储(Object Storage)介绍 (1)对象存储的特点 (2)Minio 与对象存储 (3)对象存储其他存储方式的区别 (4)对象存储的应用场景 三、…

万龙觉醒辅助:VMOS云手机助力资源采集!挂机升级!

《万龙觉醒》是一款策略型游戏,玩家需要合理规划资源采集、建筑升级、科技研发等来提升实力。在本文中,我们将为您提供一篇详细的游戏辅助攻略,并介绍如何使用VMOS云手机来提升您的游戏体验,实现24小时的自动化管理。 使用VMOS云…

R3M: A Universal Visual Representation for Robot Manipulation

R3M [25] explores how visual representations obtained by training on diverse human video data using time-contrastive learning and video-language can enable data-efficient learning(实际上就是小样本学习) of downstream robotic manipulati…

【FreeRTOS】事件组实验-改进姿态控制

目录 0 前言1 事件组实验_改进姿态控制2 改进思路2.1 创建事件2.2 等待事件2.3 设置事件2.4 Debug2.5 设置MPU6050寄存器 3 总结 0 前言 学习视频: 【FreeRTOS 入门与工程实践 --由浅入深带你学习 FreeRTOS(FreeRTOS 教程 基于 STM32,以实际项…

pdf文件怎么编辑?6个pdf编辑方法学起来(图文教程)

pdf文件怎么编辑?现今的互联网时代,我们的办公也趋向于数字化办公。PDF文件已经成为我们日常工作和学习中不可或缺的格式文件。然而,编辑PDF文档不是一件容易的事。很多人会因为编辑pdf文档感到非常苦恼,尤其是当需要对PDF进行内容…

Linux内核编程(十五)网络设备驱动

本文目录 一、常见的网络协议二、传输介质三、RJ-45接口 对于网络知识不太熟悉的同学可以查看这篇文章:计算机网络知识点详情总结。 一、常见的网络协议 TCP、UDP协议:详情查看-TCP、UDP系统编程。DNS协议:是互联网中用于将域名&#xff08…

【刷题笔记】删除并获取最大点数粉刷房子

欢迎来到 破晓的历程的 博客 ⛺️不负时光&#xff0c;不负己✈️ 题目一 题目链接&#xff1a;删除并获取最大点数 思路&#xff1a; 预处理状态表示 状态转移方程 代码如下&#xff1a; class Solution { public:int deleteAndEarn(vector<int>& nums) {int N1…

八股(7)——Redis

八股&#xff08;7&#xff09;——Redis 4.3 RedisRedis 基础简单介绍一下 Redis!分布式缓存常见的技术选型方案有哪些&#xff1f;说一下 Redis 和 Memcached 的区别和共同点缓存数据的处理流程是怎样的&#xff1f;为什么要用 Redis/为什么要用缓存&#xff1f;Redis 除了做…

2024 年全国大学生数学建模竞赛(国赛)浅析

需要完整资料&#xff0c;请关注WX&#xff1a;“小何数模”&#xff01; &#xff08;需要完整B、C和E题资料请关注WX&#xff1a;“小何数模”&#xff0c;获取资料链接&#xff01;&#xff09; 本次万众瞩目的全国大学生数学建模赛题已正式出炉&#xff0c;无论是赛题难度…

Floorp Browser:开源自由,打造更个性化的浏览环境!

前言 "技术引领未来&#xff0c;创新改变世界。" 在这个日新月异的数字化时代&#xff0c;网络浏览器作为我们探索互联网世界的窗口&#xff0c;其重要性不言而喻。正是在这样的背景下&#xff0c;Floorp浏览器应运而生&#xff0c;它不仅继承了Mozilla Firefox的强…

基于SpringBoot的外卖点餐系统

你好呀&#xff0c;我是计算机学姐码农小野&#xff01;如果有相关需求&#xff0c;可以私信联系我。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBootJSP 工具&#xff1a;IDEA/Eclipse、Navicat、Maven、Tomcat 系统展示 首页 用户管理界…

超强台风“摩羯”来临:EasyCVR平台如何汇聚城市视频资源,构建应急监测网

一、背景概述 2024年第11号台风“摩羯”自生成以来&#xff0c;迅速加强为超强台风级别&#xff0c;预计将在海南琼海到广东电白一带沿海登陆&#xff0c;带来16-17级的强风和巨浪。我国作为自然灾害多发的国家&#xff0c;每年夏季都面临着山洪、泥石流、洪涝、飓风、地震等多…

摸鱼 | 图片转Excel单元格脚本

依赖安装 pip install Pillow tqdm源码&#xff1a; import argparse from PIL import Image import openpyxl from openpyxl.styles import PatternFill from tqdm import tqdmdef image_to_excel(image_path, excel_path, cell_size20, sample_ratio1, output_widthNone, o…

C++(十五)继承 part1

一、继承的概念 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段&#xff0c;它允许我们在保持原有类特性的基础上进行扩展&#xff0c;增加方法(成员函数)和属性(成员变量)&#xff0c;这样产生新的类&#xff0c;称子类。继承呈现了面向对象程序设计的…

Restful风格接口开发

一、项目搭建 安装nestjs脚手架 // 安装nestjs脚手架 npm i nestjs/cli// 新建 nest new [名字]//选择要用的工具 npm / yarn / pnpm 文件信息&#xff1a; 【main.ts】&#xff1a; 入口文件&#xff0c;通过NestFactory&#xff08;由nestjs/core库抛出的对象&#x…

【深度学习】softmax 回归的从零开始实现与简洁实现

前言 小时候听过一个小孩练琴的故事&#xff0c;老师让他先弹最简单的第一小节&#xff0c;小孩练了两天后弹不出。接着&#xff0c;老师让他直接去练更难的第二小节&#xff0c;小孩练习了几天后还是弹不出&#xff0c;开始感觉到挫败和烦躁了。 小孩以为老师之后会让他从简…

数据链路层认识以太网

我们前面学习到的传输层&#xff0c;网络层&#xff0c;传输层是保证数据可靠传输。而网络层是实现在复杂的网络环境中确定一个合适的路径。我们接下来所说的数据链路层其实就是用于两个设备(同一种数据链路节点)之间进行传递。其实也就是如数次的局域网中设备之间的转发过程。…

Pytest-@pytest.fixture夹具篇(一)

一、定义 在Python的pytest测试框架中&#xff0c;pytest.fixture是一个&#xff08;不是唯一&#xff09;装饰器&#xff0c;用于定义一个测试夹具。 二、简单实例 使用参数autouserTrue pytest.fixture(autouseTrue) def my_fixture():print("Setup: 准备测试环境&q…