自动驾驶场景中的长尾问题怎么解决?

自动驾驶长尾问题是指自动驾驶汽车中的边缘情况,即发生概率较低的可能场景。感知的长尾问题是当前限制单车智能自动驾驶车辆运行设计域的主要原因之一。自动驾驶的底层架构和大部分技术问题已经被解决,剩下的5%的长尾问题,逐渐成了制约自动驾驶发展的关键。这些问题包括各种零碎的场景、极端的情况和无法预测的人类行为。

自动驾驶中的边缘场景

长尾”是指自动驾驶汽车 (AV) 中的边缘情况,边缘情况是发生概率较低的可能场景。这些罕见的事件因为出现率较低且比较特殊,因此在数据集中经常被遗漏。虽然人类天生擅长处理边缘情况,但人工智能却不是这样。可能引起边缘场景的因素有:带有突起的卡车或者异形车辆、车辆急转弯、在拥挤的人群中行驶、乱穿马路的行人、极端天气或极差光照条件、打伞的人,人在车后搬箱子、树倒在路中央等等。

例子:

  1. 放透明薄膜在车前,透明物体是否可以被识别,车辆是否会减速
  2. 激光雷达公司Aeye就做了一次挑战,自动驾驶如何处理一个漂浮在路中央的气球。L4级无人驾驶汽车往往偏向避免碰撞,在这种情况下,它们会采取规避动作或者踩刹车,来避免不必要的事故。而气球是个软性的物体,可以直接无障碍的通过。

解决长尾问题的方法

合成数据是个大概念,而感知数据(nerf, camera/sensor sim)只是其中一个比较出圈的分支。在业界,合成数据在longtail behavior sim早已成为标准答案。合成数据,或者说sparse signal upsampling是解决长尾问题的第一性解法之一。长尾能力是模型泛化能力与数据内含信息量的乘积。

特斯拉解决方案:

用合成数据(synthetic data)生成边缘场景来扩充数据集
数据引擎的原理:首先,检测现有模型中的不准确之处,随后将此类案例添加到其单元测试中。它还收集更多类似案例的数据来重新训练模型。这种迭代方法允许它捕获尽可能多的边缘情况。制作边缘案例的主要挑战是收集和标注边缘情况的成本比较高,再一个就是收集行为有可能非常危险甚至无法实现。

NVIDIA解决方案:

NVIDIA 最近提出了一种名为“模仿训练”的战略方法(下图)。在这种方法中,真实世界中的系统故障案例在模拟环境中被重现,然后将它们用作自动驾驶汽车的训练数据。重复此循环,直到模型的性能收敛。

以下真实场景中由于卡车高度过高(上)、车辆凸出部分遮挡后车(下)导致模型输出时车框丢失,成为边缘场景,过NVIDIA改进后的模型可以在此边缘情况下生成正确的边界框:

一些思考:

Q:合成数据是否有价值?

A: 这里的价值分为两种 , 第一种是测试有效性, 即在生成的场景中测试 是否能发现探测算法中的一些不足, 第二种是训练有效性, 即生成的场景用于算法的训练是否也能够有效提升性能。

Q: 如何使用虚拟数据提升性能?虚拟数据真的有必要添加到训练集中去吗?添加进去了是否会产生性能回退?

A: 这些问题都难以回答, 于是产生了很多不一样的提高训练精度的方案:

  • 混合训练:在真实数据中添加不同比例的虚拟数据, 以求性能提升,
  • Transfer Learning:使用真实数据预训练好的模型,然后Freeze 某些layer, 再添加混合数据进行训练。
  • Imitation Learning:针对性设计一些模型失误的场景, 并由此产生一些数据,进而逐步提升模型的性能, 这一点也是非常自然的。在实际的数据采集和模型训练中, 也是针对性采集一些补充数据, 进而提升性能。
一些扩展:

为了彻底评估 AI 系统的稳健性,单元测试必须包括一般情况和边缘情况。然而,某些边缘案例可能无法从现有的真实世界数据集中获得。为此,人工智能从业者可以使用合成数据进行测试。

一个例子是ParallelEye-CS,这是一种用于测试自动驾驶汽车视觉智能的合成数据集。与使用真实世界数据相比,创建合成数据的好处是可以对每个图像的场景进行多维度控制。

合成数据将作为生产 AV 模型中边缘情况的可行解决方案。它用边缘案例补充现实世界的数据集,确保 AV 即使在异常事件下也能保持稳健。它也比真实世界的数据更具可扩展性,更不容易出错,并且更便宜。 

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

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

相关文章

huggingface 笔记:查看GPU占用情况

0 准备部分 0.1 创建虚拟数据 import numpy as npfrom datasets import Datasetseq_len, dataset_size 512, 512 dummy_data {"input_ids": np.random.randint(100, 30000, (dataset_size, seq_len)),"labels": np.random.randint(0, 1, (dataset_size…

学习和分享关于 Vue.js 的路由(vue-router)

学习和分享关于 Vue.js 的路由(vue-router)是一个非常有价值的主题,因为路由是构建单页应用程序(SPA)的核心部分。本文将介绍 Vue.js 路由的基本概念和实现,并展示一个典型的项目目录结构。 目录 Vue.js 路…

【代码随想录训练营】【Day 29】【回溯-3】| Leetcode 39, 41, 131

【代码随想录训练营】【Day 29】【回溯-3】| Leetcode 39, 41, 131 需强化知识点 startInex作用:一是处理是否可以有重复值,二是实现纵向遍历(不能没有)去重要在数组有序的前提下进行分割问题 题目 39.…

工业控制2D组态界面,丑是丑了点,但非常实用。

工业控制的2D组态界面是用于监控和控制工业过程的界面。它通常具有以下特征: 实时数据显示:2D组态界面能够实时显示传感器和设备的数据,如温度、压力、流量等。这些数据以图表、仪表盘、数字显示等形式呈现,使操作人员能够实时了解…

Android:使用Kotlin搭建MVVM架构模式

一、简介Android MVVM架构模式 MVVM全称:Model、View、ViewModel; Model:负责数据的请求、解析、过滤等数据层操作,其中Repository: 提供数据的 API(从本地或者网络)。View:负责视图部分展示Vie…

Spring (18)什么是JdbcTemplate

JdbcTemplate 是 Spring 框架提供的一个主要的类,旨在简化传统 JDBC 的使用。它处理了诸如连接管理、异常处理等繁琐的低级任务,让开发者可以更专注于执行 SQL 语句和处理结果。JdbcTemplate 属于 Spring JDBC 模块(spring-jdbc)&…

每日力扣刷题day05(小白简单题)

文章目录 2024.5.26(5题)1446.连续字符题解一题解二 2824.统计和小于目标的下标对数目题解一题解二 1768.交替合并字符串题解一题解二题解三 796.旋转字符串题解一题解二 1304.和为零的 N 个不同整数题解一题解二 2024.5.26(5题) …

快速幂求逆元与逆元

我上一篇博客链接写的是多个数求乘法逆元而快速幂求逆元用于单个数求乘法逆元 逆元是对分数取模用的 对于除法取模不成立,即(a/b)%p≠(a%p/b%p)%p。求逆元的思路:(一般ACM的题目都是对1e97这种素数取模,所以gcd(a,p)1)a*b1(mod p) > b1/a…

[Algorithm][动态规划][简单多状态DP问题][按摩师][打家劫舍Ⅱ][删除并获得点数][粉刷房子]详细讲解

目录 1.按摩师1.题目链接2.算法思路详解3.代码实现 2.打家劫舍 II1.题目链接2.算法思路详解3.代码实现 3.删除并获得点数1.题目链接2.算法思路详解3.代码实现 4.粉刷房子1.题目链接2.算法思路详解3.代码实现 1.按摩师 1.题目链接 按摩师 2.算法思路详解 思路: 确…

大模型提示词Prompt学习

引言 关于chatGPT的Prompt Engineer,大家肯定耳朵都听起茧了。但是它的来由?,怎么能用好?很多人可能并不觉得并不是一个问题,或者说认定是一个很快会过时的概念。但其实也不能说得非常清楚(因为觉得没必要深…

Redis第18讲——Redis和Redission实现延迟消息

即使不是做电商业务的同学,也一定知道订单超时关闭这种业务场景,这个场景大致就是用户下单后,如果在一定时间内未支付(比如15分钟、半小时),那么系统就会把这笔订单给关闭掉。这个功能实现的方式有很多种&a…

unity开发Hololens 制作滑动框

一定要做到最后一步,才会有效果 1、创建空物体 ,并添加组件 创建空物体 命名ScrollingObjectCollection, 添加组件如下图 下面是各个组件展开的内容 2、在ScrollingObjectCollection 下面创建两个空物体,分别命名Container、Clipping…

运筹说 第115期 | 排队论经典例题讲解

通过前几期的学习,我们已经学会了排队论的基本概念、生灭过程和Poisson过程,等待制排队模型、混合制排队模型、其他排队模型以及排队系统优的定义与相关求解方法。在实际工作中,我们能发现排队论在经济管理中有着许多应用,本期小编…

大数据量上传FTP

背景 笔者有一个需求是把将近一亿条数据上传到FTP服务器中,这些数据目前是存储在mysql中,是通过关联几张表查询出来的,查询出来的数据结果集一共是6个字段。要求传输的时候拆分成一个个小文件,每个文件大小不能超过500M。我的测试…

FuTalk设计周刊-Vol.052

#AI漫谈 热点捕手 1.ChatGPT 大更新!GPT-4 开始又变聪明了 OpenAI 官方宣布,新版 GPT-4 Turbo 今天开始向所有付费 ChatGPT 用户开放。 链接https://www.pconline.com.cn/focus/1733/17330089.html 2.刷爆多模态任务榜单!贾佳亚团队Mini-G…

Linux下环境变量配置出错导致基础命令使用不了的问题解决

问题: 当配置环境变量: echo export PATH/home/ubuntu/.local/lib/python3.8/site-packages :$PATH >> ~/.bashrc 执行生效命令 source ~/.bashrc 出现所有的基础操作命令:ls vim都使用不了 解决方式: 1&#xff09…

21.2zabbix低级自动发现-mysql多实例

配置mysql多实例 注释:自动发现:创建监控主机;低级自动发现:创建监控项 mysql单实例是直接yum安装,开启mysql多实例 准备配置文件 #mysql3307实例 cp /etc/my.cnf /etc/my3307.cnf vim /etc/my3307.cnf [mysqld] dat…

lazarus-IDE 可以开发 Node.js 吗?

Lazarus IDE 本身不是用来开发 Node.js 应用程序的工具,因为它是一个用于开发跨平台应用程序的环境,类似于 C Builder 或 Delphi。Node.js 是一个基于 JavaScript 的运行时环境,通常使用 V8 引擎,用于构建异步、事件驱动的服务器端…

产品经理-流程图结构图(四)

1. 流程图 1.1 概念 为了达到特定的目标而进行的一系列有逻辑性的操作步骤,由两个及以上的步骤,完成一个完整的行为的过程,可称之为流程 1.2 产品经理为什么需要绘制流程图? 保证产品的使用逻辑合理顺畅向项目组其他成员清晰的…

代码随想录算法训练营Day4|24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、 142.环形链表II、面试题 02.07. 链表相交

24. 两两交换链表中的节点 这道题的关键在于: 1、在置换两个节点的时候,当前节点需要在这俩节点之前一个节点。并且要提前保存cur.next以及cur.next.next。 2、每次置换完一组节点,cur cur.next.next 3、判断结束的标志:奇数个节点&#xf…