安波福 - 跟踪算法回归测试
目录
记录在安波福工作期间关于多目标跟踪融合算法回归测试的整理。
| 序号 | 脚本 | 目的 | 输入信息 | 判定逻辑 | 输出报告 | 备注 |
|---|---|---|---|---|---|---|
| 1 | BKQ_5337_CheckObjLateralOffset.py | 测试目标横向误差不会引发 RT1 误选 | 1. 事件起止帧号 2. (原始)目标 ID | 1. 迭代事件区间的每一帧 2. 遍历所有目标 3. 判断该目标是否与指定目标在位置、大小上差异不大 4. 如果目标符合要求,则记住最后一个符合要求的目标 5. 从事件区间的第二帧开始,搜索 ROI 内 ID 匹配的目标,且限制目标横向位置(保证非 RT1) | EC 0:索引异常或 ROI 内不存在匹配的目标(包括位置异常)EC 1: 事件区间内无融合目标或位置符合要求EC 3: 测试执行异常 | 1. 若第一帧错选目标,该测试无意义 2: 不创建目标也算过是特例么 |
| 2 | BKQ_5340_LateralVelInaccAtEdgeOfFOV.py | 测试目标横向位置、速度误差不会导致侵入主车道 | 1. 事件起止帧号 2. (原始)目标 ID | 迭代逻辑与上一脚本相似, 区别在于找到匹配的目标后, 需要同时判定位置和速度是否满足 | EC 0:索引异常或 ROI 内不存在匹配的目标(包括位置、速度异常)EC 1: 事件区间内无融合目标或位置、速度符合要求EC 3: 测试执行异常 | - |
| 3 | BKQ_6333.py | 测试卡车穿过时是否侵入主车道(包括产生的碎片目标) | 1. 事件起止帧号 2. (原始)目标 ID | 迭代逻辑与之前类似, 区别在于除了判定匹配的目标是否会侵入主车道, 还在一定范围内检查是否有其它运动目标 | EC 0: 找不到原始目标或存在侵入主车道的目标EC 1: 一切正常EC 3: 测试执行异常 | - |
| 4 | BKQ_9054_CheckOCTAP_Curvature.py | 测试路口无保护左转时目标的曲率估计正常 | 1. 事件起止帧号 2. (原始)目标 ID | 基于 2D 区域在回灌版中搜索原版本附近的目标,然后抽取该目标的曲率, 判定其是否在 [-0.01, 0.01] 区间 | EC 0: 无匹配或匹配到多个或匹配目标的曲率有任意帧不在区间EC 1: 匹配到一个目标且曲率合规EC 3: 测试异常 | - |
| 5 | BKQ_9189_CheckOCTAP_Curvature.py | 测试路口无保护左转时目标的曲率估计是否正常 | 1. 事件起止帧号 2. (原始)目标 ID | 主要逻辑与前一脚本类似, 区别在于该脚本中搜索位置容差更大 | 同上 | - |
| 6 | BKQ_10597_CheckCurvature.py | 测试接近主车的目标的曲率估计是否正常 | 1. 事件起止帧号 2. (原始)目标 ID | 逻辑与前一脚本类似, 主要是使用 Log 的区别 | 同上 | - |
| 7 | BKQ_12010_FalseTrackSideBarrier.py | 测试主车左侧护栏区域是否生成假目标 | 1. 事件起止帧号 2. 预定义区域 | 在给定时间片内搜索指定区域, 确认是否存在可运动假目标 | EC 0: 存在假目标EC 1: 无假目标EC 3: 测试异常 | - |
| 8 | BKQ5214_checkWrongRVmatching_becauseof_Vchange.py | 测试是否因为视觉跳变而导致错误 RV 匹配 | 1. 事件起止帧号 2. (原始)目标 ID | 在给定时间片内迭代目标, 找出与原 Log 位置匹配的目标,跟踪这些目标匹配的 Vision 目标,确认是否位置发生跳变 | EC 0: 没有匹配的目标EC 1: 没有误匹配EC 3: 测试异常 | - |
| 9 | BKQ5267.py | 测试 CIPV 目标的类型是否错误 | 1. 事件起止帧号 2. (原始)目标 ID | 在给定时间片内迭代目标, 找出与原 Log 位置差异最小的目标,检查这些目标的类型是否都是 Car | EC 0: 存在非汽车类型目标EC 1: CIPV 类型正确EC 3: 测试异常 | |
| 10 | BKQ5335.py | 测试 CIPV 目标的朝向是否错误 | 1. 事件起止帧号 2. (原始)目标 ID | 迭代逻辑与之前类似, 区别在于检查目标的朝向是否正 | EC 0: CIPV 朝向不正确EC 1: CIPV 朝向正确EC 3: 测试异常 | - |
| 11 | BKQ5381.py | 测试主车附近区域是否生成假目标 | 1. 事件起止帧号 2. (原始)目标 ID | 迭代逻辑与之前类似 | EC 0: 出现假目标EC 1: CIPV 测试通过 | - |
| 12 | BKQ6337ACCFalseCutIn.py | 测试是否出现了影响 ACC 的近距离 cut-in 假目标 | 1. 事件起止帧号 2. (原始)目标 ID | 迭代逻辑与之前类似 | EC 0: 存在近距离 cut-in 假目标EC 1: 无问题EC 3: 测试异常 | - |
| 13 | BKQ6815_Adjacent_Lane_Truck_RT1.py | 测试相邻车道的车辆(尤其是卡车)是否被误选为 RT1 影响 ACC | 1. 事件起止帧号 2. (原始)目标 ID | 迭代逻辑与之前类似, 区别在于计算目标的四个角点的横向位置进行判断 | EC 0: 存在误选 RT1EC 1: 无问题EC 3: 测试异常 | - |
| 14 | check_attribute_consistency_oncoming_vehicle.py | 测试对象行驶的车辆在特定区域是否保证 ID 和航向角稳定 | 1. 事件起止帧号 2. (原始)目标 ID | 迭代逻辑与之前类似, 区别在于同时判断 ID 是否跳变和航向角变化合理性 | EC 0: 不通过EC 1: 无问题EC 3: 异常 | - |
| 15 | check_heading_from_ref.py | 测试 CTA 和 RCTB 场景下目标的横向角相对真值的误差 | 1. 事件起止帧号 2. (原始)目标 ID | 迭代逻辑与之前类似, 区别在于找到目标后,提取其航向角与真值进行对比 | EC 0: 不通过EC 1: 无问题EC 3: 异常 | - |
| 16 | check_object_angle_BKQ_5330.py | 测试相邻车道的车辆是否因为航向角误差被误选为 RT1 影响 ACC | 1. 事件起止帧号 2. (原始)目标 ID | 迭代逻辑与之前类似 | EC 0: 不通过EC 1: 无问题EC 3: 异常 | - |