自动驾驶相关知识学习笔记

news2025/1/9 2:15:24

一、概要

因为想知道SIL、HIL是什么仿真工具,故而浏览了自动驾驶相关的知识。

资料来源《自动驾驶——人工智能理论与实践》胡波 林青 陈强 著;出版时间:2023年3月

二、图像的分类、分割与检测任务区别

如图所示,这些更高阶的图像理解任务往往都可以归类为目标检测语义分割这两种基本的任务,或者基于这两种任务的扩展(实例分割)​。不同于单纯的图像分类,目标检测需要定位出在一张图像中每个物体(例如行人)的类别以及位置范围,而实例分割更进一步,需要以像素为单位给出每个物体的范围。

目标检测包括对车辆、行人、非机动车、交通信号灯和标志等进行检测。这个任务中需要同时做两件事情:一是分类,识别出目标是什么;二是定位出目标在哪里。前者不言而喻,对于后者,例如定位出目标在一个十字路口,需要能够分辨出是哪个位置的交通灯及交通灯分别是什么信号,这样才能相应地根据交通信号的指示移动。更细节地,目标检测可以分为2D和3D检测。前者是在一个2D图像上检测出物体,它的目标输出是在图像坐标系中的一个矩形框。后者是在3D空间中的检测,目标输出是3D的边界框。考虑到2D像素空间仍然只是3D空间的投影,而且如果考虑到畸变、地面的不平等因素,这种投影还存在不规则的因素,因此相对而言,2D像素空间中的检测与分割都还需要额外的处理才能用于后续的决策,而3D空间中的检测则可以较方便地用于决策规划环节。 

三、超参数

常见的超参数及其对模型训练的敏感性(其数值变化对模型训练的影响能力)

四、实现自动驾驶功能的流程

 五、自动驾驶系统研发流程

1、按信息处理过程划分

2、自动驾驶汽车研发工程示意图

(1)路采规划:该环节主要是对路采进行详细的路径规划,例如在全国哪些省市进行路采,采集什么样的路况和场景,有哪些代表性的天气状况需要采集,以及车队的人员配备和管理。

(2)测试车改装:该环节涉及测试车的功能规划,传感器的选择、安装、标定,数据获取系统(包括传感器记录仪、预标注系统、存储系统、车载电源等)的安装调试。

(3)裸数据采集:该环节需要注意相关法规的监管。在中国,公开道路上的地理信息数据的采集行为受《中华人民共和国测绘法》的约束,需要有地理信息勘测甲级资质的图商监管。

(4)数据上传:采集好的数据需要从路测场地通过物流的方式运输回数据中心上传,物流的过程同样也需要接受图商的监管。到达数据中心后,需要快速地将数据上传到数据中心的数据湖中存储,并将存储介质数据清除后通过物流送回路测场地循环使用。

(5)海量数据存储:根据不同的项目目标和规划,每天采集的数据量可能从数太字节(terabyte,TB)到数百太字节不等,由于数据量巨大,因此数据中心的数据上传应尽量采用自动化手段实现。数据中心侧应部署支持海量数据规模的数据湖存储设备接收每日上传的路采裸数据,同时应部署元数据库对路采裸数据的元数据进行管理(数据治理)​。

(6)数据清洗+预处理:一旦有新的裸数据进入数据湖,系统就可以开始数据处理的流程。先由图商对数据做脱敏(去除车牌等敏感信息)操作以及坐标系的偏转操作,再通过高性能计算集群对数据进行清洗(去除镜头被遮挡等的图像数据)和相应的预处理(亮度调节、对比度调节等)​。

(7)数据标注:对于需要进行深度学习(deep learning,DL)训练的数据,通过手动或半自动的标注平台进行标注(labeling),以生成监督学习需要的真值数据。

(8)自动驾驶产品规划:由自动驾驶的产品经理对自动驾驶的功能进行产品规划,并针对不同功能的自适应巡航控制(adaptive cruise control,ACC)系统、自动紧急制动(autonomous emergency braking,AEB)系统、车道偏离警示(lanedeparture warning,LDW)系统等制定不同的测试方案。

(9)算法模型训练:利用传感器数据进行物体识别、语义分割、实例分割等基于卷积神经网络的深度学习训练,将达到训练精度的模型用于推理,从传感器数据中抽取出各种场景要素。

(10)仿真场景库:使用抽取出来的场景要素生成场景库,业界比较权威的场景库是基于自动化及测量系统标准协会(association for standardization ofautomation and measuring systems,ASAM)规定的OpenDrive和OpenScenario场景库。在后期的虚拟仿真中,此环节生成的场景库将用于为数字仿真模型车生成虚拟的仿真场景。

(11)虚拟仿真:通过Simulink、Prescan、Carsim等虚拟仿真工具对算法进行“软件在环(SiL)”虚拟仿真,在仿真环节中仿真道路路面、交通参照物、车辆、行人以及天气条件下的环境信息(例如雨雾或者夜间照明时的路面信息)​。通过对各种基本要素的排列组合形成各种复杂的场景,尽可能多地覆盖各种罕见场景(cornercase),让数字仿真模型车在这些复杂场景中做各种测试并记录结果。每次测试完   成后利用测试结果对数字仿真模型车的算法和参数进行优化,循环往复,直到得到满足自动驾驶分级功能要求的结果。

(12)硬件仿真:对SiL仿真过程中达到功能标准的算法进行“硬件在环(HiL)”仿真验证。在SiL仿真过程的代码跑通后,再基于必要的硬件在环平台,检测代码在传感器、计算单元等硬件系统上运行中的错误和兼容性问题。然后进行“车辆在环(ViL)”仿真,将相关的软硬件系统集成到车辆平台上,在封闭场地中完成相关测试,检测代码是否出现问题。

(13)道路测试:基于“司机在环(DiL)”​,在测试场地和政府允许的公开道路进行场地测试,检测自动驾驶系统的运行情况,获得司机的主观评价及验证人机交互等功能。

(14)量产:以上各项测试都通过后,就可以进入量产阶段,在汽车成品中进行大量部署。

六、自动驾驶系统的仿真测试

1、软件在环(SiL)仿真测试系统架构

2、硬件在环(HiL)仿真测试系统架构

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

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

相关文章

“深入浅出”系列之FFmpeg:(1)音视频开发基础

我的音视频开发大部分内容是跟着雷霄骅大佬学习的,所以笔记也是跟雷老师的博客写的。 一、音视频相关的基础知识 首先播放一个视频文件的流程如下所示: FFmpeg的作用就是将H.264格式的数据转换成YUV格式的数据,然后SDL将YUV显示到电脑屏幕上…

日志服务 SQL 引擎全新升级

作者:戴志勇、顾汉杰(执少) SQL 作为 SLS 基础功能,每天承载了用户大量日志数据的分析请求,既有小数据量的快速查询(如告警、即席查询等);也有上万亿数据规模的报表级分析。SLS 作为…

20250107在WIN10下使用无线ADB连接Andorid7.1.2

connected to 192.168.3.217:5555 adb shell 20250107在WIN10下使用无线ADB连接Andorid7.1.2 2025/1/7 18:12 缘起:公司买了一台6000-7000¥的地面站【Andorid7.1.2】,需要通过ifconfig命令来获取其中的网络信息。 虽然系统是VERY非常的陈旧&a…

浙江省自然资源厅:基于“浙里办”的自然资源移动政务服务创新实践——“浙里自然资源”

摘 要:本文基于浙江省自然资源移动政务服务的创新实践,设计和实现“浙里自然资源”应用,依托浙江省省域空间治理数字化平台特有的架构基础,在提升功能性和可用性、加强运营力度、丰富服务内容等方面采取了管理举措和技术创新。通…

使用 Jupyter Notebook:安装与应用指南

文章目录 安装 Jupyter Notebook1. 准备环境2. 安装 Jupyter Notebook3. 启动 Jupyter Notebook4. 选择安装方式(可选) 二、Jupyter Notebook 的基本功能1. 单元格的类型与运行2. 可视化支持3. 内置魔法命令 三、Jupyter Notebook 的实际应用场景1. 数据…

NeurIPS 2024 | 像素级LLM实现图像视频理解、生成、分割和编辑大统一(昆仑万维等)

Accepted by NeurIPS 2024 文章链接:https://arxiv.org/pdf/2412.19806 项目链接:https://vitron-llm.github.io/ Github链接:https://github.com/SkyworkAI/Vitron 亮点直击 首次提出了一种通用的视觉多模态大语言模型(MLLM&…

嵌入式技术之Linux(Ubuntu) 一

一、Linux入门 1.硬件和操作系统以及用户的关系 一个传感器,获得数据后,需要向服务器发送数据。传感器传数据给上位机。 上位机需要一个程序来接收数据,那么这个上位机是什么机器? 我们的笔记本电脑就可以当成上位机。 两个手…

用户界面软件02

基于表单的用户界面 在“基于表单的用户界面”里面,用户开始时选中某个业务处理(模块),然后应用程序就使用一系列的表单来引导用户完成整个处理过程。大型机系统上的大部分用户界面都是这样子的。[Cok97]中有更为详细的讨论。 面…

YOLOv8/YOLOv11改进 添加CBAM、GAM、SimAM、EMA、CAA、ECA、CA等多种注意力机制

目录 前言 CBAM GAM SimAM EMA CAA ECA CA 添加方法 YAML文件添加 使用改进训练 前言 本篇文章将为大家介绍Ultralytics/YOLOv8/YOLOv11中常用注意力机制的添加,可以满足一些简单的涨点需求。本文仅写方法,原理不多讲解,需要可跳…

【express-generator】05-路由中间件和错误处理(第一阶段收尾)

一、前言 上篇文章我们介绍了express-generator的请求体解析,重点讲了常用的请求体数据格式(JSON/URL 编码的表单数据)以及一个FILE文件上传,同时搭配代码示范进行辅助理解。 二、本篇重点 我们继续第一阶段的知识,…

python无需验证码免登录12306抢票 --selenium(2)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 [TOC](python无需验证码免登录12306抢票 --selenium(2)) 前言 提示:这里可以添加本文要记录的大概内容: 就在刚刚我抢的票:2025年1月8日…

深度学习驱动的蛋白质设计技术与实践

通过设计特定的蛋白质结构,可以实现预期的生物功能,如催化特定化学反应、识别和结合特定分子、调控生物信号传导等,为生物医学、药物研发、生物技术等领域提供重要工具和解决方案。传统的蛋白质设计方法主要依赖于已知蛋白质结构的同源建模、…

【动态重建】时间高斯分层的长体积视频

标题:Representing Long Volumetric Video with Temporal Gaussian Hierarchy 来源:浙江大学 链接:https://zju3dv.github.io/longvolcap/ 文章目录 摘要一、前言二、主要方法2.1 时间高斯分层2.2 高效渲染2.3 层次结构更新2.4 紧凑的外观模型…

【STM32+CubeMX】 新建一个工程(STM32F407)

相关文章: 【HAL库】 STM32CubeMX 教程 1 --- 下载、安装 目录 第一部分、新建工程 第二部分、工程文件解释 第三部分、编译验证工程 友情约定:本系列的前五篇,为了方便新手玩家熟悉CubeMX、Keil的使用,会详细地截图每一步Cu…

el-date-picker 不响应change事件的解决办法

前言 接到需要把element plus组件的日期时间选择器的input输入框展示隐藏,遇到点击确认按钮change事件不被触发问题,解决办法如下: ①visible-change的回调参考 即根据visible-change的方法里的回调参数进行需要操作 const visibleChange …

api开发如何在代码中使用京东商品详情接口的参数?

选择编程语言和相关工具 以 Python 为例,你可以使用requests库来发送 HTTP 请求获取接口数据。如果是 Java,可以使用OkHttp等库。 Python 示例 假设你已经安装了requests库,以下是一个简单的代码示例来获取和使用京东商品详情接口参数&#…

【docker系列】可视化Docker 管理工具——Portainer

1. 介绍 Portainer是一个可视化的Docker操作界面,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录…

机器学习基础-大语言模型

目录 大语言模型的基本概念 “大”体现在什么地方? 预训练微调两阶段的基本流程和作用 第一阶段:利用语言模型进行无监督预训练 第二阶段:通过监督微调的模式解决下游任务 BERT模型中MLM和NSP机制基本概念 MLM NSP Prompt学习的基本概…

Ubuntu挂载Windows 磁盘,双系统

首先我们需要在终端输入这个命令,来查看磁盘分配情况 lsblk -f 找到需要挂载的磁盘,检查其类型( 我的/dev/nvme2n1p1类型是ntfs,名字叫3500winData) 然后新建一个挂载磁盘的目录,我的是/media/zeqi/3500wi…

Java设计模式 —— 【行为型模式】命令模式(Command Pattern) 详解

文章目录 模式介绍优缺点适用场景结构案例实现注意事项 模式介绍 有时候需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是什么。此时希望用一种松耦合的方式来设计程序,使得请求发送者和请求接收者能够消除彼此…