当前,智能驾驶AI识别领域高速发展,人工智能商业化在算力、算法和技术方面,基本达到阶段性成熟,应用控制能力落地不断加速。通过算法和应用的落地来真正解决行业具体痛点,需要采集大量人工智能相关的原始数据,并经过标注处理后做算法训练支撑。
落地场景对AI数据的需求更加多样化和定制化,也对AI数据服务的专业性和质量提出了更高的要求。以车载摄像头识别的机视觉图像处理为例,一个新场景的开发支持需要上万张甚至数十万张不等的经过采集和标注的图片。随着AI应用场景的丰富,对AI数据服务将产生长期海量的需求。
众所周知,先进的自动驾驶技术以有监督的深度学习为主,算法模型训练对数据有极高要求,随着自动驾驶企业路测里程不断累积,产生了大量多元场景化数据。其中要求对车辆传感器采集到的大量交通数据进行清洗、分类、标注。其中包括车道线标注,可行驶区域语义分割,车辆、非机动车、行人、车库拉框标注,车辆3D拉框,视频标注、3D激光点云标注等在内的多种标注服务。
可以说数据决定了 AI 的落地程度,而数据采集这一过程对技术、规模、专业度都要求较高。原因主要有以下3方面:
人工智能数据的获取有安全合规要求,需授权主机厂合法的采集和训练权限,若滥用或通过非法手段获取,易产生法务风险。这里且不说在专业绘图的地图公司进行相应的数据采集绘图也是需要专业资质,即便是大型主机厂在做类似影子模式或道路测试标定过程中,对于数据的采集也是受限的。
训练数据的质量严重影响算法有效性,需要强有力的人员管理和质检手段,确保数据质量一致性,有效保障数据质量。
采集的数据需要整体科学的项目管理流程,建立合适的数据采集、标注团队模式,且需要一套完整的工具和流程支撑,确保数据处理效率充分得到保障。
对于基于数据AI开发者数据平台而言,包含缺陷挖掘、模型迭代、数据管理几个部分,整个数据采集标定过程由于计算资源庞大,一般可基于云端管理单元进行计算和资源分配。
本文将系统的讲解智能驾驶系统开发过程中的数据采集流程、标注及如何应用于仿真测评及性能提升。
数据采集标注平台从下至上包括基础(数据)层、加工(工具)层、中间(流程)层、应用层几个层级,而整个过程通过数据管理和数据存储可有效地应用于场景重构与数据训练模型。
数据采集处理的完成流程包括原始数据采集、特征数据标注、场景数据分类、基础数据管理、模型数据训练几大部分。这里需要说明的是数据采集和需要标注的数据需求主要来源于智能驾驶系统的场景感知能力需求。标注的模型主要用于在测试匹配验证阶段进行问题分析及原因追溯。标注的方式通常采用视频图像框选进行,可助力图像识别模型训练,用于框选视频图像中的识别主体目标,常见于对人脸、人体、障碍物、红绿灯的框选。
智能驾驶中的数据采集分析软件,需要首先支持将CAN、LIN、Ethernet 等总线数据同步汇集, 并加入视频、GPS 以及各种传感器等数据,以便支撑后续的场景分析、算法训练等。同时智能驾驶的算法开发验证也需要大量的数据,数据采集硬件端需要提供开放的平台接口及其所需的数据接口。这里的数据采集主要指基于摄像头、Lidar、4D毫米波雷达的环境识别,采集流程包括需求分析、制定采集方案、获取数据、数据加工、标准化数据输出、可用数据验收几个大的方面。采集的数据类型通常包括语音、图像、多模态数据。
数据采集设备通常包括工控机、车机、电脑及处理芯片。
工控机:主要功能是进行数据搜集,一般需要支持多路图像(可自定义4-6路)和一路语音录制;
车机/中央域控:主要功能是进行处理图像的即时显示,一般需要支持IR+RGB图像及语音录制,支持多路模态数据;
本地计算机:主要是对采集回来的数据进行线下标注,一般需要支持对单路语音或图像的时间戳对齐。
数据采集平台需要采用灵活的主机选择,从边缘传感器融合再到传感器信号旁通,从中央数据采集到数据存储阵列,不同的组合可以满足开发过程中不同的应用需求。
数据标注涉及图像、点云等各种不同输入传感器数据类型,标注过程包括提起标注需求、注入标注方案,实际数据标注(包括数据清洗、数据评估、数据提取、数据分析),最后通过数据审核,则生成相应的数据标注结果,可用于下载。其中,数据标注过程需要满足一定的要求和原则,包括如下:
对于在AI赋能下的自动驾驶的具体应用主要有以下几种:
1、2D框标注,应用于对车辆与行人的基础识别,即标注出骑行的人,步行的人,汽车等;
2、3D立方体标注,对车辆进行区域标注及分类标注,应用于对车辆类型的识别,例如面包车、卡车、大客车、小轿车等,训练自动驾驶,在道上选择性跟车或者变道操作;
4、多段线标注,车道线标注:一种对道路地面标线进行的综合标注,包括区域标注、分类标注及语义标注,应用于训练自动驾驶,根据车道规则进行行驶。
针对如上的标注方式,需要说明的是在自动驾驶设计过程中,我们更加关注对于3维目标障碍物的识别,常用的检测方式是采取激光雷达或4D毫米波雷达进行目标检测。检测结果通过如上2D或3D进行点云标注,其中3D点云标注主要应用于基于激光雷达或4D高分辨率毫米波雷达的训练,针对自动驾驶主要场景而言应用先进的标注工具,可对3D障碍物进行框选、对雷达图进行语义分割,对于环境中的三维模型或障碍物实现更好的识别分类。另一种标注方式是进行2D3D融合标注,借助先进的标注工具,可对环境中的二维和三维数据参照是否具备明显的深度信息,图像的形状模型信息同时确定进行联合标注。帮助车辆实现视觉和雷达的感知,可应用于自动驾驶场景的训练落地。
5、语义分割,对图片中的不同区域进行分割标注:这些类可能是行人,车辆,建筑物,天空,植被等等。例如,语义分割可以帮助SDCs(自动驾驶车辆)识别一个图片中的可行驶区域。
图像语义分割是基于区域的多边形标注,对复杂不规则的图片进行区域划分并标注对应属性,助力图像识别模型训练,多应用于人体分割、场景分割和自动驾驶道路分割。
6、视频跟踪标注,跟踪标注视频中行驶的车辆,是将视觉数据按照图片帧抓取进行标框标注,标注后的图片帧按照顺序重新组合成视频数据训练自动驾驶。
视频跟踪标注又称为连续帧标注,常用于自动驾驶及视频图像识别模型的训练,通常应用于下一代自动驾驶图像识别场景的帧率较高如果在识别分类过程中对每一帧图像都进行目标物标注,则会导致在模型训练中存在较大的计算量,常用的方法是通过对视频进行抽帧注,并抽取的每一帧图片中的目标物体进行连续标注,不仅可以大大降低运算量,又可以降低识别标注的难度,增强标注的效率。
此外,对于智能座舱内部的驾驶员监控平台而言,要识别驾驶员的面部表情、神态、疲劳程度、注意力程度、人脸分析,就需要对驾驶员形态进行精确识别,将人脸部分骨骼进行打点分析,并基于所打点的部分进行标注,标注后的图像可很好的助力于图像识别模型训练。
数据采集后端除开可进行模型训练外,还可以进行场景仿真。仿真的输入包含基于自然采集数据统计参数范围,通过open工具可大规模生成测试场景。在满足上述场景测试需求的同时,随着系统及场景复杂性要求,由于自动驾驶功能的设计缺陷及可合理预见的人员误用导致产生预期功能安全问题愈发严重,针对预期功能安全设计场景库已成为自动驾驶系统验证的重中之重。最终从宏观层面,保证测试场景的多源异构,场景数据涉及不同城市、不同地域,并具体到不同自动驾驶功能ODD范围。微观层面,依托真实驾驶数据,确保场景内元素取值的真实性与合理性。
通过采集的不同场景数据,基于场景提取原则,确定关键场景生成元素,建立场景生成及筛选机制,产生高效、合理且典型的场景,通过软件匹配,可以确保由参数范围生成测试场景的有效性。测试验证自动驾驶功能在危险工况下的性能表现,旨在将危险场景通过自动驾驶功能的合理设计和迭代升级转换成安全场景,降低事故发生率。同时,考虑数据采集管理阶段充分考虑场景中的各元素,从海量测试场景中选取高质量代表性场景,在算法调试和功能验证阶段节省测试时间,加速测试验证过程。计算单个测试场景的复杂程度,选取代表性典型场景,剔除冗余和低质量场景。通过数据驱动的方式,寻找采集场景数据中难以获取的边角场景,保证对自动驾驶系统验证的全面性要求。以自然驾驶场景数据为基础,通过统计学合理外推(例如:μ+3σ原则),寻找现实生活中难以发现的低概率场景。采用高维搜索与自延展学习理论,实现已知不安全场景库的构建,通过建立搜索约束和加速搜索逻辑扩大已知不安全场景库,缩小未知不安全领域,确保自动驾驶系统的安全性要求。
目前自动驾驶的主流算法模型主要以有监督的深度学习方式为主,需要大量的结构化标注数据对模型进行训练和调优。可见数据采集、标注在其中扮演了极为重要的角色。本文重点介绍了数据采集、标注的整个过程需求、方法、原则、类型要素及仿真场景重构等。数据采集流程包收集三大主要流程,其中涉及需求收集阶段进行原始采集需求收集;数据获取服务涉及数据获取包含定制数据方案、人工数据采集、自动化数据采集、调研问卷收集几大方面。数据加工服务涉及数据清洗、数据评估、数据提取、分析处理及标准化数据输出。数据交付阶段主要涉及将采集数据输入至训练模型进行智能学习过程。
在功能开发过程中,利用好数据采集、标注方法可以很好的提升场景重构、训练能力,提升前期软件开发性能。