自动驾驶业务
# 01.核心部门
- 算法团队用它来提交模型训练任务,包括大模型在内的分布式训练、评估都在我们这调度
- 数据闭环团队调度车端设备做数据采集、预处理、回传,系统要能处理网络不稳定、断点续传
- 测试团队则调度大量仿真任务,比如回放历史用例、测试模型稳定性,任务多而重,要求高并发
- 平台团队则用它支撑整个大模型训练平台,确保任务可观测、可追踪
# 1. 数据采集与处理
核心内容:
- 涵盖多车系(如 NT3 NPD LEO、NT3 NPE Cetus、ONVO-Blanc)的数据采集任务
- 支持多类型传感器(摄像头、毫米波雷达、激光雷达等)的同步数据获取
数据流向与关键挑战:
- 实时采集:基于 ROS/自研中间件实现多传感器数据同步,精度误差控制在毫秒级。
- 边缘处理:在车端进行初步帧筛选、降噪处理,以降低上传带宽。
- 上传方式:支持 4G/5G 网络直传或 Wi-Fi 回厂同步,并具备断点续传机制。
示例:
- 在成都实测中,针对夜间灯光昏暗、道路反光弱的问题
- 采集系统引入低光图像增强模块(基于Retinex变换),提升图像对比度与清晰度
- 结果使感知模型对人行道边缘识别准确率提升 20%,并有效减少模型漏检
# 2. 数据管理与平台支持
平台能力强化:
- 构建统一的数据湖仓平台,基于 Hive、Iceberg 等技术实现结构化+非结构化数据共管;
- 引入 Kafka 支持数据流式入湖,配合元数据工具(如 Amundsen)保障数据可追溯。
数据流与示例:
- 数据支持多维标签检索(如:夜晚+雨天+人行道)并批量下载;
- 支持版本化、差异对比,便于模型回溯。
示例:
- 针对“低速拥堵+城市街区”场景 ,平台通过设定标签(车速<5km/h、人行道、信号灯)聚合 2TB 数据
- 并用于优化自动泊车模型,使模型在车库/小区内复杂交通场景下的误触率下降 12%
# 3. 数据标注与预处理
核心机制:
- 构建“自动+人工”混合打标链路,自动打标基于多模态模型完成初步标注
- 人工负责审核重点和边缘场景。流程支持任务拆分、标注版本管理、质量审查闭环。
数据流与平台协作:
- 支持多视角图像标注、3D 点云+图像融合跟踪、ROI 裁剪与坐标对齐等。
示例:
- 在泊车入库场景中,平台预设“入库关键帧模板”,自动识别车辆转向+减速+空间变化的行为组合
- 精准标注泊车事件,平均标注耗时从 120 秒降至 80 秒,效率提升约 33%
# 4. 算法开发与模型训练
架构和流程:
- 支持端-云协同开发,训练平台具备自动数据拉取、版本对齐、训练调度等能力,兼容 PyTorch、TensorFlow 等主流框架
模块细分:
- 支持感知(检测、分割)、预测(行为建模)、决策(路径规划)模块协同。
示例:
- 在城市夜间行人识别中,我们引入融合模型,将Lidar点云与前视图像联合建模
- 结合多模态注意力机制,成功将夜间误检率从 5.6% 降低至 2.3%,显著提升识别稳定性
# 5. 模型测试与验证
闭环体系:
- 实车测试与仿真测试并行,仿真平台支持历史场景复现、随机扰动注入、对比实验(A/B Test);
- SIL/PIL 支持虚拟 ECU,HIL 接入车载CAN总线
流程标准化:
- 每次提交模型后自动触发仿真验证,生成覆盖率与鲁棒性报告。
示例:
- 一次城市左转失败场景中,仿真系统复现模型未避让远端小电动车的错误行为
- 技术团队基于该样本扩充训练集并引入行为预测优化模块,成功修复模型漏洞,并提升同类场景通过率约 8%
# 6. 构建与部署
构建系统能力:
- 支持多架构交叉编译(x86、ARM)、模型量化部署,自动生成镜像并上传制品库;
- 引入远程增量编译和缓存机制,构建效率提升显著。
部署流程优化:
- 支持模型灰度部署+配置中心热更新,系统运行中无需重启车端服务。
示例:
- NT3 构建系统日均触发超 1000 次任务。通过分布式缓存和层级构建机制
- 将平均单构建时长从 30 分钟压缩至 10 分钟,大幅缩短回归周期并提升迭代效率
# 7. 监控与运维
SRE 体系建设:
- 构建多集群统一监控系统,基于 Prometheus + Grafana 实现指标监控,配合自动化诊断与容灾机制,线上稳定性显著提升
示例:
- 某次模型部署后,系统自动告警 CPU 使用率异常,APM 工具定位到路径规划模块的异步线程死锁问题
- 值班 SRE 在 1 小时内完成定位、服务重启并复现问题,保障平台 SLA 稳定维持 99.99%
# 8. 可视化与交付
可视化平台能力:
- 搭建自动驾驶可视化复盘平台,支持轨迹对比、决策过程还原、传感器数据同步播放;支持对内研发复盘、对外演示交付。
交付方式:
- 支持导出可交互可视化页面、视频、PDF 报告等,面向算法、产品、质量等团队高效协作。
示例:
- 在 PN 可视化平台中回放一起“行人横穿+急刹车”场景。通过轨迹、传感器、模型预测等信息同步展示
- 发现原模型未能提前预测行人动作,辅助规划团队优化横穿识别策略,后续模型在相似场景下提前减速率提升 18%
# 02.数据流程
# 1、数据采集
输入: 传感器数据(摄像头、激光雷达、GPS等) 输出: 原始数据(视频、图像、点云等) 处理重点:
- 场景覆盖:采集多种驾驶场景下的数据,包括不同天气、时间、道路条件
- 数据质量:确保采集的数据足够清晰、准确
调度系统的作用:
- 调度自动驾驶车队,根据指定的场景要求(如特定城市街道、恶劣天气条件等)采集数据
- 确保数据的时间戳同步和传输稳定,解决弱网或断网情况下的数据上传
# 2、视频抽帧
输入: 采集的视频数据 输出: 关键帧图像 处理重点:
- 帧选择:从视频中抽取具有代表性的帧,减少无效帧存储和计算量
- 帧间差异检测:根据物体运动或场景变化程度选择抽帧点
调度系统的作用:
- 调度任务执行视频帧抽取工作,在多节点分布式处理
- 确保抽帧结果及时上传并集成到后续的标注和挖掘工作中
# 3、数据标注
输入: 抽帧后的图像数据 输出: 已标注的数据集(如图像中的车辆、行人、交通标志等对象的边界框、类别) 处理重点:
- 自动/手动标注:结合自动化标注工具和人工标注,确保准确性
- 一致性检查:确保跨不同数据集的标注标准和格式统一
调度系统的作用:
- 分配标注任务,管理标注的工作量和进度
- 协调标注人员和自动化标注工具之间的工作,优化标注效率
# 4、数据挖掘
输入: 已标注的图像数据 输出: 高价值的子数据集(例如特定场景下的驾驶数据) 处理重点:
- 数据筛选:挖掘特殊场景数据(如车辆避让行人、复杂路口等),为模型提供针对性样本
- 数据增强:通过图像旋转、缩放、裁剪等手段生成更多样的数据,以提升模型的鲁棒性
调度系统的作用:
- 自动化筛选特定场景或事件的数据,基于标签和特征提取出的特定子集
- 执行数据增强任务,确保挖掘到的关键数据得到最大化利用
# 5、模型训练
输入: 经过筛选和增强的高质量数据集 输出: 训练好的模型(如物体检测、路径规划模型等) 处理重点:
- 模型选择:根据任务选择合适的模型结构(如YOLO、RCNN等),并使用优化算法(如Adam、SGD)进行训练
- 分布式训练:针对数据量大、模型复杂的场景,利用分布式计算加速训练过程
- 超参数调优:调整超参数以获得最佳的模型效果
调度系统的作用:
- 分配模型训练任务到多个节点上执行,确保资源的最优利用
- 自动化的超参数搜索调优,平衡模型的训练精度和效率
# 6、模型评估与反馈
输入: 训练后的模型和验证集 输出: 模型评估结果(如准确率、召回率、损失函数值) 处理重点:
- 模型性能测试:在测试集和验证集上测试模型的泛化能力,分析模型错误案例
- 反馈与优化:根据模型的表现,反馈到数据挖掘阶段进行进一步的数据挖掘,或反馈到标注阶段进行更精准的标注
调度系统的作用:
- 执行自动化模型评估任务,自动生成评估报告
- 反馈调度数据挖掘或重新标注任务,优化数据集,形成闭环
# 7、数据闭环
模型反馈后再挖掘、再训练 输入: 模型评估结果和反馈数据 输出: 优化后的数据集或重新训练的模型 处理重点:
- 数据再挖掘:根据模型评估结果,进一步挖掘特定场景数据(如模型表现较差的场景)进行重新训练
- 新数据采集:若现有数据不足以提升模型性能,调度自动驾驶车队采集新的数据,或从历史数据中挖掘未使用的数据
- 持续迭代:通过数据与模型的迭代优化,逐步提升系统的整体性能
调度系统的作用:
- 根据模型的反馈结果,调度新的数据挖掘任务或重新采集任务
- 自动化调度系统中的数据更新与模型更新过程,确保系统持续进化
上次更新: 2024/12/19 17:28:11