自动驾驶业务
# 01.核心部门
# 1、感知部门
职责:
- 负责通过传感器(如摄像头、激光雷达、毫米波雷达等)收集车辆周围环境信息
- 并对数据进行处理,识别道路、行人、车辆、障碍物等
传感器数据采集:
实时采集车辆传感器数据,并上传到中心系统进行存储和处理
调度系统需要处理海量数据传输任务,确保数据传输的稳定性和实时性
数据预处理与标注:
- 感知数据的预处理任务,比如噪声过滤、数据清洗等操作,以及标注任务的分发和调度
模型训练任务:
- 在数据集上训练深度学习模型,以提高感知算法的精度这类任务通常会在分布式GPU集群上并行调度
# 2、决策部门
职责:基于感知部门提供的环境信息,做出路径规划和行为决策,决定车辆的行驶路线、避让障碍、停车等行为
路径规划计算:分布式调度系统需要调度多个规划算法的计算任务(如Dijkstra算法、A算法),同时处理动态交通状况下的实时路径优化
仿真测试:仿真环境中运行决策算法的测试任务,这些任务通常会并发执行,并要求系统具备高效的调度能力和任务重试机制
多目标决策评估:评估不同驾驶策略下的多目标决策(如安全、舒适、效率等)的权衡,需要调度大量的测试任务
# 3、控制部门
职责:根据决策部门的输出,精确控制车辆的转向、加速、刹车等操作,确保车辆平稳、安全地执行计划路线 任务调度:
- 实时控制指令调度:车辆行驶过程中,调度系统需要确保控制指令能够低延迟、高优先级地调度和执行,特别是在网络不稳定的情况下,必须具备故障切换和指令重发机制
- 多车辆协同控制:在自动驾驶车队中,调度系统负责分布式调度多辆车之间的协同控制任务,如保持队形、避免碰撞等
# 4、仿真测试部门
职责:负责搭建自动驾驶系统的虚拟仿真环境,测试系统在不同场景下的表现,确保算法和控制策略的安全性与可靠性 任务调度:
- 仿真任务分发:基于场景库,分布式调度系统会分发大量的场景测试任务,如在复杂城市路况或恶劣天气条件下的自动驾驶仿真
- 结果汇总与分析:调度系统还需要调度仿真结果的汇总与分析任务,自动生成测试报告并传送至决策或控制部门以进行模型改进
- 硬件在环测试:调度系统需要调度自动驾驶车辆和硬件模拟器之间的任务交互,确保实际控制算法可以与硬件紧密耦合
# 5、高精地图部门
职责:负责生成和维护车辆行驶所需的高精度地图数据,确保车辆在高精度地图的指导下准确导航 任务调度:
- 地图数据更新:当环境变化时(如新增道路或障碍),调度系统需要及时调度地图数据的更新任务
- 地图数据同步与分发:对地图数据进行区域化分片,并通过调度系统同步到多个终端和测试车,确保最新的地图数据随时可用
- 数据一致性检查:调度系统调度任务来检查不同版本的地图数据之间的差异,确保数据一致性
# 6、数据平台部门
职责:管理自动驾驶过程中生成的海量数据,包括数据存储、清洗、分析和归档 任务调度:
- 数据采集与上传:调度车辆上传行驶过程中产生的大量传感器数据,并保证数据的完整性和正确上传
- 数据清洗与分类:自动调度数据清洗任务,如去重、去噪和数据格式转换
- 数据存储与查询:针对不同业务部门的需求,调度数据查询任务,并优化数据存储与访问的效率
# 7、运营与安全部门
职责:监控车辆的运行状态、进行安全评估,处理自动驾驶系统中的异常情况 任务调度:
- 异常任务处理:调度系统需支持分布式调度异常事件处理任务,如事故分析、硬件故障修复等
- 远程监控与干预:调度系统可以调度远程监控任务,并在必要时下发远程控制指令以保障车辆安全
# 02.数据流程
# 1、数据采集
输入: 传感器数据(摄像头、激光雷达、GPS等) 输出: 原始数据(视频、图像、点云等) 处理重点:
- 场景覆盖:采集多种驾驶场景下的数据,包括不同天气、时间、道路条件
- 数据质量:确保采集的数据足够清晰、准确
调度系统的作用:
- 调度自动驾驶车队,根据指定的场景要求(如特定城市街道、恶劣天气条件等)采集数据
- 确保数据的时间戳同步和传输稳定,解决弱网或断网情况下的数据上传
# 2、视频抽帧
输入: 采集的视频数据 输出: 关键帧图像 处理重点:
- 帧选择:从视频中抽取具有代表性的帧,减少无效帧存储和计算量
- 帧间差异检测:根据物体运动或场景变化程度选择抽帧点
调度系统的作用:
- 调度任务执行视频帧抽取工作,在多节点分布式处理
- 确保抽帧结果及时上传并集成到后续的标注和挖掘工作中
# 3、数据标注
输入: 抽帧后的图像数据 输出: 已标注的数据集(如图像中的车辆、行人、交通标志等对象的边界框、类别) 处理重点:
- 自动/手动标注:结合自动化标注工具和人工标注,确保准确性
- 一致性检查:确保跨不同数据集的标注标准和格式统一
调度系统的作用:
- 分配标注任务,管理标注的工作量和进度
- 协调标注人员和自动化标注工具之间的工作,优化标注效率
# 4、数据挖掘
输入: 已标注的图像数据 输出: 高价值的子数据集(例如特定场景下的驾驶数据) 处理重点:
- 数据筛选:挖掘特殊场景数据(如车辆避让行人、复杂路口等),为模型提供针对性样本
- 数据增强:通过图像旋转、缩放、裁剪等手段生成更多样的数据,以提升模型的鲁棒性
调度系统的作用:
- 自动化筛选特定场景或事件的数据,基于标签和特征提取出的特定子集
- 执行数据增强任务,确保挖掘到的关键数据得到最大化利用
# 5、模型训练
输入: 经过筛选和增强的高质量数据集 输出: 训练好的模型(如物体检测、路径规划模型等) 处理重点:
- 模型选择:根据任务选择合适的模型结构(如YOLO、RCNN等),并使用优化算法(如Adam、SGD)进行训练
- 分布式训练:针对数据量大、模型复杂的场景,利用分布式计算加速训练过程
- 超参数调优:调整超参数以获得最佳的模型效果
调度系统的作用:
- 分配模型训练任务到多个节点上执行,确保资源的最优利用
- 自动化的超参数搜索调优,平衡模型的训练精度和效率
# 6、模型评估与反馈
输入: 训练后的模型和验证集 输出: 模型评估结果(如准确率、召回率、损失函数值) 处理重点:
- 模型性能测试:在测试集和验证集上测试模型的泛化能力,分析模型错误案例
- 反馈与优化:根据模型的表现,反馈到数据挖掘阶段进行进一步的数据挖掘,或反馈到标注阶段进行更精准的标注
调度系统的作用:
- 执行自动化模型评估任务,自动生成评估报告
- 反馈调度数据挖掘或重新标注任务,优化数据集,形成闭环
# 7、数据闭环
模型反馈后再挖掘、再训练 输入: 模型评估结果和反馈数据 输出: 优化后的数据集或重新训练的模型 处理重点:
- 数据再挖掘:根据模型评估结果,进一步挖掘特定场景数据(如模型表现较差的场景)进行重新训练
- 新数据采集:若现有数据不足以提升模型性能,调度自动驾驶车队采集新的数据,或从历史数据中挖掘未使用的数据
- 持续迭代:通过数据与模型的迭代优化,逐步提升系统的整体性能
调度系统的作用:
- 根据模型的反馈结果,调度新的数据挖掘任务或重新采集任务
- 自动化调度系统中的数据更新与模型更新过程,确保系统持续进化