- 自动驾驶:人工智能理论与实践
- 胡波主编
- 1621字
- 2024-12-28 12:06:59
1.2.3 自动驾驶的研发流程
微课视频08
在工业界中,实际的自动驾驶研发流程相当复杂。自动驾驶的研发流程就像从沙子里淘出金子,需要借助复杂的步骤从原始的数据中提取出高价值的信息。自动驾驶的研发流程大致如图1.10所示。
图1.10 自动驾驶的研发流程
自动驾驶的研发流程中各环节的要点介绍如下。
(1)路采规划:该环节主要是对路采进行详细的路径规划,例如在全国哪些省市进行路采,采集什么样的路况和场景,有哪些代表性的天气状况需要采集,以及车队的人员配备和管理。
(2)测试车改装:该环节涉及测试车的功能规划,传感器的选择、安装、标定,数据获取系统(包括传感器记录仪、预标注系统、存储系统、车载电源等)的安装调试。
(3)裸数据采集:该环节需要注意相关法规的监管。在中国,公开道路上的地理信息数据的采集行为受《中华人民共和国测绘法》的约束,需要有地理信息勘测甲级资质的图商监管。
(4)数据上传:采集好的数据需要从路测场地通过物流的方式运输回数据中心上传,物流的过程同样也需要接受图商的监管。到达数据中心后,需要快速地将数据上传到数据中心的数据湖中存储,并将存储介质数据清除后通过物流送回路测场地循环使用。
(5)海量数据存储:根据不同的项目目标和规划,每天采集的数据量可能从数太字节(terabyte,TB)到数百太字节不等,由于数据量巨大,因此数据中心的数据上传应尽量采用自动化手段实现。数据中心侧应部署支持海量数据规模的数据湖存储设备接收每日上传的路采裸数据,同时应部署元数据库对路采裸数据的元数据进行管理(数据治理)。
(6)数据清洗+预处理:一旦有新的裸数据进入数据湖,系统就可以开始数据处理的流程。先由图商对数据做脱敏(去除车牌等敏感信息)操作以及坐标系的偏转操作,再通过高性能计算集群对数据进行清洗(去除镜头被遮挡等的图像数据)和相应的预处理(亮度调节、对比度调节等)。
(7)数据标注:对于需要进行深度学习(deep learning,DL)训练的数据,通过手动或半自动的标注平台进行标注(labeling),以生成监督学习需要的真值数据。
(8)自动驾驶产品规划:由自动驾驶的产品经理对自动驾驶的功能进行产品规划,并针对不同功能的自适应巡航控制(adaptive cruise control,ACC)系统、自动紧急制动(autonomous emergency braking,AEB)系统、车道偏离警示(lane departure warning,LDW)系统等制定不同的测试方案。
(9)算法模型训练:利用传感器数据进行物体识别、语义分割、实例分割等基于卷积神经网络的深度学习训练,将达到训练精度的模型用于推理,从传感器数据中抽取出各种场景要素。
(10)仿真场景库:使用抽取出来的场景要素生成场景库,业界比较权威的场景库是基于自动化及测量系统标准协会(association for standardization of automation and measuring systems,ASAM)规定的OpenDrive和OpenScenario场景库。在后期的虚拟仿真中,此环节生成的场景库将用于为数字仿真模型车生成虚拟的仿真场景。
(11)虚拟仿真:通过Simulink、Prescan、Carsim等虚拟仿真工具对算法进行“软件在环(SiL)”虚拟仿真,在仿真环节中仿真道路路面、交通参照物、车辆、行人以及天气条件下的环境信息(例如雨雾或者夜间照明时的路面信息)。通过对各种基本要素的排列组合形成各种复杂的场景,尽可能多地覆盖各种罕见场景(corner case),让数字仿真模型车在这些复杂场景中做各种测试并记录结果。每次测试完成后利用测试结果对数字仿真模型车的算法和参数进行优化,循环往复,直到得到满足自动驾驶分级功能要求的结果。
(12)硬件仿真:对SiL仿真过程中达到功能标准的算法进行“硬件在环(HiL)”仿真验证。在SiL仿真过程的代码跑通后,再基于必要的硬件在环平台,检测代码在传感器、计算单元等硬件系统上运行中的错误和兼容性问题。然后进行“车辆在环(ViL)”仿真,将相关的软硬件系统集成到车辆平台上,在封闭场地中完成相关测试,检测代码是否出现问题。
(13)道路测试:基于“司机在环(DiL)”,在测试场地和政府允许的公开道路进行场地测试,检测自动驾驶系统的运行情况,获得司机的主观评价及验证人机交互等功能。
(14)量产:以上各项测试都通过后,就可以进入量产阶段,在汽车成品中进行大量部署。