自动驾驶相关知识学习笔记
一、概要
因为想知道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)仿真测试系统架构

相关文章:
自动驾驶相关知识学习笔记
一、概要 因为想知道SIL、HIL是什么仿真工具,故而浏览了自动驾驶相关的知识。 资料来源《自动驾驶——人工智能理论与实践》胡波 林青 陈强 著;出版时间:2023年3月 二、图像的分类、分割与检测任务区别 如图所示,这些更高阶的…...
uniapp - 基于uniapp+vue3实现自定义增强版table表格组件体验「兼容H5+小程序+App端」
本文提供增强版table表格组件体验,打造跨端表格的新标杆. uv3-table:一款基于uniappvue3跨端自定义手机端增强版表格组件。支持固定表头/列、边框、斑马纹、单选/多选,自定义表头/表体插槽、左右固定列阴影高亮显示。支持编译兼容H5小程序端App端。 提供…...
新时期下k8s 网络插件calico 安装
1、k8s master节点初始化完毕以后一直处于notreadey状态,一直怀疑是安装有问题或者是初始化有问题(当然,如果真有问题要先解决这些问题),经过不断探索才发现是网络插件没有安装导致的,根据建议安装calico插…...
【SQL】COUNT()函数 用法详解
COUNT()函数 COUNT函数用法:COUNT ( [ALL | DISTINCT] column | expression | *) ALL关键字指示统计所有值,而DISTINCT关键字强制函数仅对不同的值进行操作。 默认情况下,使用ALL选项。条件表达式 COUNT()函数中条件表达式加 OR null。例如…...
【HTML+CSS+JS+VUE】web前端教程-6-图片路径详解
绝对路径 绝对路径是电脑盘符存储与访问的具体位置 E:\xxx\1.jpg <img src"E:\xxx\1.jpg">相对路径 两者相对关系,两者在同一路径下可以直接访问 子级关系:/ 父级关系:../ 同级关系: ./网络路径 具体的网络地址:…...
C++中面向对象的三大特性是什么?
封装(Encapsulation) 概念:封装是把数据和操作数据的函数绑定在一起,对数据的访问进行限制。通过将数据成员设为私有(private)或受保护(protected),并提供公共ÿ…...
Centos 修改 yum 源为阿里云
参考 https://serverfault.com/questions/1161816/mirrorlist-centos-org-no-longer-resolve 修改 Centos 的 yum 源为阿里云 去阿里云 yum 镜像源官网: https://developer.aliyun.com/mirror/ 选择自己对应的操作系统,这里以 centos7 演示…...
Qt之Cannot create children for a parent that is in a different thread问题分析
问题 在多线程场景中,使用QSerialPort,QTcpSocket等QIODevice设备时出现报Cannot create children for a parent that is in a different thread 分析 QObject构造函数中会检查父对象的线程数据与当前对象的线程数据是否一致 static bool check_parent_thread(Q…...
均值滤波从图像复原角度的解释
廖老师说若将图像生成看作一个随机过程,均值滤波(Mean Filtering)可以视为在高斯噪声模型下的线性最小均方估计(Linear Minimum Mean Squared Error, LMMSE)或者极大似然估计(Maximum Likelihood Estimatio…...
Tableau数据可视化与仪表盘搭建-数据连接
目录 连接本地文件 课程操作 连接方式(实时/数据提取) 保存工作簿 筛选器 数据处理 连接数据有三种类型 第一种,连接到本地文件,例如Excel,csv,JSON等 第二种,连接到数据库,例…...
VsCode对Arduino的开发配置
ps:我的情况是在对esp32进行编译、烧录时,找不到按钮,无法识别Arduino文件,适合已经有ini文件的情况。 1.在vscode中安装拓展 2.打开设置,点击右上角,转到settings.json文件 3.复制以下代码并保存 {"…...
2024版idea 插件无法加载
解决方法: 进入Settings 点击plugins 选择 HTTP Proxy Settings 设置成如图所示...
VLMs之Agent之CogAgent:CogAgent的简介、安装和使用方法、案例应用之详细攻略
VLMs之Agent之CogAgent:CogAgent的简介、安装和使用方法、案例应用之详细攻略 导读:在2024年末,智谱于11月29日正式提出了GLM-OS概念,并推出了两款Agent产品——AutoGLM和GLM-PC。为了促进大模型Agent生态的发展,智谱决…...
Unity3D仿星露谷物语开发19之库存栏丢弃及交互道具
1、目标 从库存栏中把道具拖到游戏场景中,库存栏中道具数相应做减法或者删除道具。同时在库存栏中可以交换两个道具的位置。 2、UIInventorySlot设置Raycast属性 在UIInventorySlot中,我们只希望最外层的UIInventorySlot响应Raycast,他下面…...
Kafka优势剖析-消费者组、并行消费
目录 1. 消费者组(Consumer Group) 1.1 什么是消费者组? 1.2 消费者组的工作原理 1.3 消费者组的优势 2. 并行消费(Parallel Consumption) 2.1 什么是并行消费? 2.2 并行消费的工作原理 2.3 并行消…...
Docker+Jmeter+InfluxDB+Grafana 搭建性能监控平台
当今互联网发展迅速,应用程序的性能监控显得越来越重要。 DockerJmeterInfluxDBGrafana 是一种常用的性能监控平台,可以帮助开发者快速搭建一套可靠的监控体系。在本文中,我们将介绍如何使用这些工具搭建性能监控平台,以便开发人…...
Maven 详细配置:Maven settings 配置文件的详细说明
Maven settings 配置文件是 Maven 环境的重要组成部分,它用于定义用户特定的配置信息和全局设置,例如本地仓库路径、远程仓库镜像、代理服务器以及认证信息等。settings 文件分为全局配置文件(settings.xml)和用户配置文件&#x…...
【文本分类】bert二分类
import os import torch from torch.utils.data import DataLoader, Dataset from transformers import BertTokenizer, BertForSequenceClassification, AdamW from sklearn.metrics import accuracy_score, classification_report from tqdm import tqdm# 自定义数据集 class…...
单例模式-如何保证全局唯一性?
以下是几种实现单例模式并保证全局唯一性的方法: 1. 饿汉式单例模式 class Singleton { private:// 私有构造函数,防止外部创建对象Singleton() {}// 静态成员变量,存储单例对象static Singleton instance; public:// 公有静态成员函数&…...
设计模式学习笔记——结构型模式
文章目录 适配器模式 Adapter适用场景UML 桥接模式 Bridge适用场景UML 组合模式 Composite装饰模式 Decorator外观模式 Facade享元模式 Flyweight代理模式 Proxy 适配器模式 Adapter 适用场景 希望使用某个类, 但是其接口与其他代码不兼容时, 可以使用…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
