Camera Sensor的RGBA原始图像、分割图像、目标检测图像均以tga格式输出,2D Bounding Box、3D Bounding Box均已json格式输出。通过比较同一环境、场景下相同帧之间的误差或差异项,验证Camera的确定性。
对于tga格式文件,计算所有1000帧图像所有通道的像素均方根误差(MSE,Mean Squared Error)。在3类天气5次测试过程中,RGBA原始图像、分割图像、目标检测图像的所有通道的像素均方根误差均为0;
图6 基于python脚本可视化的彩色图像、分割图像、目标检测图像均方根误差结果
对于json格式文件,比较2D与3D Bounding Box的所有Group的key与value,记录差异项个数(Number of Differences)。在3类天气5次测试过程中,Bounding Box信息(包括位置、姿态、个数、类型、id、相对速度、持续时间、像素遮挡率等)不存在差异项。
图7 基于python脚本可视化的2D&3D BoundingBox差异项个数结果 Radar Sensor输出json格式的检测目标相关信息,包括距离、旋转、相对速度、id、类型等,因此与相机的Bounding Box一样,记录差异项个数(Number of Differences),结果也是一样,不存在差异项。
图8 基于python脚本可视化的Radar检测差异项个数结果 LiDAR Sensor生成的输出包括两种格式的数据:LAS格式的3D激光点云和JSON格式的目标检测数据。激光点云数据包含每个点的坐标、强度、返回次数、唯一标识符(ID)等,我们比较内部的所有属性,记录差异项个数(Number of Differences);
对于以JSON格式输出的目标检测数据,与Camera类似,我们将比较所有Group的键(key)与值(value),并记录差异项个数(Number of Differences)。最终结果与前面相同,在3类天气5次测试之间均不存在差异项。 需要指出的是,由于las文件和检测到的目标内部包含的GPS时间属性在aiSim中取自系统时间(UTC时间),该项不纳入差异比较范围。
图9 基于python脚本可视化的LiDAR检测差异项个数结果
GPS Sensor、IMU Sensor以及用于观测仿真自车状态的Vehicle Sensor输出的均为JSON格式的信息,同样比较所有Group的键(key)与值(value),并记录差异项个数(Number of Differences)。对于3类天气5次测试的GPS、IMU、Vehicle数据信息,3类天气5次测试之间均不存在差异项。
图10 基于python脚本可视化的GPS、IMU、Vehicle Sensor结果
04 总结
在本文设计的传感器配置与场景中,aiSim的各项传感器数据在固定的参数配置下,仿真过程与仿真结果不存在任何差异(除UTC时间)。除了本文提到的传感器与场景,在其他不同环境、传感器配置下的验证中,aiSim也均表现出了卓越的确定性。
在aiSim的仿真世界里,没有偶然和随机,只有精确和必然。每一次的测试结果都真实反映了被测算法的真实能力,每一次的问题暴露都能被稳定复现和修正。 参考文献
1. On Determinism of Game Engines Used for Simulation-Based Autonomous Vehicle Verification