SHIFT:用于多任务和域自适应的合成驾驶数据集(CVPR2022)

作者 | 夙曦  编辑 | 汽车人

原文链接:https://zhuanlan.zhihu.com/p/537127165

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

后台回复【ECCV2022】获取ECCV2022所有自动驾驶方向论文! 

后台回复【领域综述】获取自动驾驶全栈近80篇综述论文!

1总结

CVPR 2022发布的新自动驾驶数据集,多种模态、多种环境(雨天、雾天)、多种光线(白天、黄昏、黑夜)、大型。十分满足了我目前实习课题的需要,牛逼就完了。

52b4af31beb86a6e7d17b206d13d0ea4.png
举例

2前言

论文题目:SHIFT: A Synthetic Driving Dataset for Continuous Multi-Task Domain Adaptation

视频介绍:https://www.bilibili.com/video/BV1e3411w7DU

论文地址:https://arxiv.org/pdf/2206.08367.pdf

数据集地址:https://www.vis.xyz/shift/

本文的贡献

  1. 适应不断变化的环境是解决自动驾驶问题的关键,然而现有的图像并没有捕获到世界的真实本质。本文提出了一个大型的合成多任务数据集:SHIFT,包含了雾天、雨天、一天的时间、车辆人群的密集和离散,且具有全面的传感器套件和注释。

  2. 利用SHIFT,我们分析了离散和连续域移建模的重要性,并展示了连续移下不同自适应和不确定性估计方法的新发现。

SHIFT计算从8个不同位置的多视图传感器套件中捕获的4800个+序列,支持13个多任务驱动系统的感知任务:语义/实例分割、单眼/立体深度回归、2D/3D目标检测、2D/3D多目标跟踪(MOT)、光流估计、点云配准、视觉测程法、轨迹预测和人体姿态估计。

数据集旨在促进与自动驾驶感知系统的通用性和可靠性相关的几个未被充分探索的领域的研究,例如领域泛化、领域自适应和不确定性估计。

SHIFT提供了:(a)离散域改变,每个序列使用不同的域参数和初始状态收集;(b)连续域改变,一组在驱动过程中域参数连续变化的序列。

8edcb2f92abeaaebbb7b68a10021f5bd.png
域的改变类型

3相关工作

在过去的十年里,出现了大量真实的合成驾驶数据集,为研究人员开发新颖的算法提供了一个平台。域改变是对基于学习的方法的性能和安全性的一个常见威胁。有关当前驾驶数据集的概述,参考下表。

178863a62c0a74d4d249ac0bd2ecb5f8.png
当前驾驶数据集对比

SHIFT是最大的合成数据集,它是唯一一个提供真实的连续域转移、不同的注释和更长的注释序列的数据集。†表示数据集是否呈现域注释。‡人为损坏。§多个城市;确切数字不详。♢是人体姿势的关键点。

真实世界的驾驶数据集

因为数据收集和标注的高代价,通常都会集中于某个任务的子集。最近发展的数据集如下:

  • 真实世界数据集的先驱KITTI几乎支持了所有的自动驾驶场景任务,但是与其他数据集相比他的规模很小。

  • CamVid,Cityscapes,和Mapillary基于图像的语义分割数据集。

  • A*3D用于三维目标检测,HD1K用于光流估计。

  • 许多大型数据集BDD100K、WaymoOpen、H3D和nuScenes,都发布了多任务注释,但主要集中于目标检测和跟踪。

合成的驾驶数据集

  • SYNTHIA包含由其模拟器生成的图像和分割注释。

  • AIODrive使用CARLA模拟器且具有多个传感器,聚焦于高密度、远程的激光雷达数据集。

  • GTA-V提供从一个流行游戏捕获的图像和分割mask。

  • Viper通过提供光流mask和离散的环境标签,扩展了GTA-V。

不良光线下的数据集

  • 基于图像的数据集,如CIFAR10/100-C、ImageNet-R和Cityscapes-C,是通过在原始数据集上应用模糊、加性高斯噪声和添加特定模式而生成的。虽然经过精心设计,但这种特殊的腐败并不能完全代表现实世界中视觉变化所带来的挑战。

  • 最近,ACDC数据集被提出,其图像均匀分布在雾、夜间、雨和雪之间。然而,它只支持语义分割。

  • BDD100K是一个大规模的真实数据集,根据一天的时间和天气条件提供最大的感知驱动任务和离散域标签。BDD100K只提供了来自单个相机的注释图像,不提供3D边界框和光流注释,域的分布是高度不平衡的,并且域在每个序列内都是平稳的。

4SHIFT数据集

本节对SHIFT数据集做详细的介绍。

传感器套件

通过一个全面的传感器套件来收集数据。我们的传感器套件有11个不同的传感器,包括一个带有5个摄像头的多视图RGB摄像头,一个立体RGB摄像头,一个光流传感器,一个深度摄像头,一个GNSS传感器和一个IMU。所有相机的视场均为90◦,分辨率为1280×800像素。此外还提供了一个由128通道的激光雷达传感器捕获的点云。所有的传感器都以10hz的速率进行同步和捕获。

注释

我们为自主驾驶中的多个主流感知任务提供了注释,包括二维/三维边界盒轨迹、实例/语义分割、光流和密集深度。与真实世界的数据集不同,由于高昂的标记成本,其注释通常被限制在一组关键帧中,我们为序列中的每一帧提供完整的注释。

531ea10a38b51ca42a0910b4342b88ea.png
SHIFT数据集的各种注释

数据集设计

数据集捕捉现实世界的不断进化通过现实的离散和连续转变安全关键环境方向:一天的时间,云,雨,雾强度,和车辆和行人密度。我们收集了5250个序列,其中4250个包含固定的环境情况。每个序列由以10赫兹收集的500帧组成,相当于50秒的驾驶时间。其余的600个序列具有连续移动的条件,即序列间的域改变。

域改变类型:Shift提供了(a)天气条件下的域变化,包括云量、雨、雾的强度、一天中的(b)时间、(c)车辆和行人的密度,以及(d)摄像机的方向。

域改变水平:为了便于对不同场景下的域适应进行研究,域移提供了两个层次的域改变,即离散域改变和连续域改变。我们根据它们的严重程度将这些序列分为不同的领域。图4显示了分组示例。所有可能的域组合都均匀地分布在所有序列中。

fc302c10835fa05d0a86604c391be4ad.png
域改变水平

5数据集细节

车辆系统和传感器

该数据集有三个层次的参考系统:世界、车辆和照相机。世界系统代表了物体的绝对位置。该车辆系统用于存储所有的3D注释。相机系统是每个单独的相机使用的参考系统。表5总结了所有的传感器。

be32ea19024b0e8240f7729c65a567dc.png
系统传感器信息

建立的车辆系统遵循KITTI的惯例和权利规则。具体来说,原点位于自我载体的中心(用图9中的蓝点标记)。它的x、y和z轴分别指向右、下和前方方向(图9)。所有传感器都位于以车辆参考系统原点为中心的圆上,除了放置在前摄像头左侧的立体摄像头,水平位移为20厘米。所有相机的视场(FoV)均为90◦。128通道激光雷达传感器的垂直视场范围为[−10◦,+10◦],扫描速率为每秒1.12M点。

e4083d3753ee16147d7308bbae5af345.png

注释细节

目标检测:我们为六类交通参与者提供2D/三维边界框注释和对象标识,即汽车、卡车、公交车、自行车、摩托车和行人,以及可见性属性“被遮挡”和“被截断”。此外对于每个方框,我们都提供了细粒度的对象类(例如车辆模型类型)。

图像分割:对于每一帧,我们在Cityscapes注释方案的23类上提供全面的(语义和实例)分割标签。分割标签与二维边界框一起,可用于多目标跟踪和分割(MOTS)和多目标全景跟踪(MOTP)任务。

深度估计是将二维感知任务扩展到三维设置的必要步骤。我们提供了与前视图RGB相机对齐的深度标签,以实现基于图像和视频的单眼和立体深度估计。深度分辨率为1mm。

光流估计是驱动运动算法的一项重要任务。然而,由于标记成本高,现有的大规模数据集通常不提供光流注释。光流表示一对图像中每个像素之间的相对运动,可以用于物体跟踪和自我运动任务。我们提供了紫外图格式的光流标签,也在KITTI中使用。

实验

实验结果汇总见表 8.每个模型都在白天领域进行训练并在不同的改变域进行测试,以OOD avg的形式报告了在分布域上的平均性能。

77a7e6c23ba7b7ec0cb8b1f72c849b85.png
SHIFT数据集的效果

我们观察到,特定的任务组合在很大程度上提高了源域上的单任务模型的性能。例如,语义分割(S)+深度(D)+实例分割(I)的组合在各自的任务上将源域的性能提高了8.6%/11.0%/1.6%,将图11的结果可视化为这些组合的结果。

aa9d3cda9b84e5174e52309a4cc79c07.png
数据集任务的可视化效果

自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D感知、多传感器融合、SLAM、高精地图、规划控制、AI模型部署落地等方向;

加入我们:自动驾驶之心技术交流群汇总!

自动驾驶之心【知识星球】

想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D感知、多传感器融合、目标跟踪)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球(三天内无条件退款),日常分享论文+代码,这里汇聚行业和学术界大佬,前沿技术方向尽在掌握中,期待交流!

a334e6045b3b5dd7021de453242542a3.jpeg

<think>嗯,用户想了解机器学习中的泛化性域自适应,以及它们的应用算法实现。首先,我需要明确这两个概念的定义,确保解释准确。 泛化性是指模型在未见数据上的表现能力,这个我之前学过,可能来自统计学习理论,比如VC维过拟合问题。需要引用相关理论,比如结构风险最小化[^4]。然后,用户可能想知道如何提高泛化性,比如数据增强、正则化等方法,这些是常见的实践技巧。 然后是域自适应,属于迁移学习的一部分。根据引用[1][4],域自适应处理的是源域目标域分布不同的问题,目标是在目标域上表现好。需要区分域自适应域泛化,引用[3]提到了一些最新的方法,比如对抗学习自监督学习。可能用户对这两者的区别不太清楚,需要解释清楚。 接下来是应用部分,用户可能想知道实际中怎么用,比如计算机视觉中的跨域目标检测,引用[2]提到了域自适应半监督学习的比较。这里可以举一些例子,比如图像分类中的不同光照条件,或者医学影像的跨设备应用。 算法实现方面,需要提到具体的方法,比如DANN(域对抗训练网络),引用[3]中的梯度分类器Jacobian正则化模块。可能需要给出一个简单的代码示例,比如使用PyTorch实现DANN。这样用户能直观看到如何应用这些理论。 还要注意用户提到的引用,确保正确引用来源。比如引用[4]中的域适应理论,说明源域目标域的定义以及目标函数。同时,用户的问题可能涉及到如何选择域自适应方法,是否需要结合半监督学习,这时候可以引用[2]中的比较分析。 最后,生成相关问题时要覆盖概念、应用、算法挑战,帮助用户进一步探索。比如,域自适应的评估指标,或者与半监督学习的对比,这样用户可以根据问题深入阅读。</think>### 机器学习中的泛化性与域自适应解析 #### 一、核心概念定义 1. **泛化性** 指机器学习模型在未经训练的数据上表现出的预测能力。其数学描述为:若学习算法在训练集上获得假设$h$,则泛化误差为$$R(h) = \mathbb{E}_{(x,y)\sim P} [L(h(x), y)]$$其中$P$是真实数据分布,$L$为损失函数。泛化性优劣取决于模型复杂度与训练数据分布的匹配程度[^4]。 2. **域自适应(Domain Adaptation)** 迁移学习的子领域,解决源域(带标签)与目标域(无标签)数据分布不同但任务相同的问题。其核心目标是: $$ \min_{h} \hat{R}_T(h) \quad \text{s.t.} \quad \hat{R}_S(h) \leq \epsilon $$ 其中$\hat{R}_S$$\hat{R}_T$分别表示源域目标域的期望风险[^4]。 #### 二、关键技术实现 1. **提升泛化性的方法** - 数据增强(图像旋转/加噪) - 正则化技术(L2正则、Dropout) - 早停法(Early Stopping) - 集成学习(Bagging/Boosting) 2. **域自适应典型算法** **对抗域自适应(DANN)** 通过对抗训练对齐特征分布,损失函数包含三部分: $$ \mathcal{L} = \mathcal{L}_c + \lambda \mathcal{L}_d - \mu \mathcal{L}_r $$ - $\mathcal{L}_c$: 分类损失 - $\mathcal{L}_d$: 域判别损失 - $\mathcal{L}_r$: 正则项(如引用[3]中的Jacobian正则) ```python # PyTorch实现DANN核心逻辑 class FeatureExtractor(nn.Module): def __init__(self): super().__init__() self.conv = nn.Sequential( nn.Conv2d(3, 64, kernel_size=5), nn.ReLU(), nn.MaxPool2d(2) ) class DomainClassifier(nn.Module): def forward(self, x, alpha): reverse_feature = ReverseLayerF.apply(x, alpha) return self.layer(reverse_feature) ``` #### 三、应用场景对比 | 场景类型 | 适用条件 | 典型案例 | |----------------|------------------------------|------------------------------| | 域自适应 | 目标域无标签但领域偏移明显 | 自动驾驶(模拟→真实场景) | | 半监督学习 | 目标域有部分标签 | 医学影像标注成本高的场景[^2] | | 域泛化 | 多源域可用,目标域完全未知 | 跨设备传感器数据分析[^3] | #### 四、实现建议 1. 使用PyTorch的`GradientReversalLayer`实现对抗训练 2. 结合对比学习提升特征对齐效果 3. 采用动态权重调整策略平衡分类与域判别损失
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值