一、算法对比,控制变量法➕分支开发
- 如果控制变量实现单一模块的对比?比如要测试两个跟踪算法的差异,如何控制其它变量?如何从软件开发的角度来提高效率,拿到对比结果?
- 控制检测算法 一样✅、控制测试图片一样✅、跟踪算法两个❌
- 跟踪算法如何保证结果一样?软件上如何实现?——在master基础上开发一个分支,实现只有一个模块的差异,其余均一样;开发完成后合并分支。很重要!提高效率
同时做好代码记录、算法更新记录(图文)、git记录(图文)、算法记录和代码放在一起。- 开发完成后,合并分支到主分支。
- 把控好测试场景,以跟踪算法为例
1.1 速度过快 ID切换
- 原因为:有一个判断逻辑/波门——预测范围——在预测点的一个矩形范围内。本来是为了防止小目标和一个大目标匹配上。
但实际上遇到一个快速的目标时,难以匹配上。- 不具有区分性——如何区分?在目标的维度上难以用一个方法把二者区分,一个匹配,一个不匹配,需要找到那个区分方法。
- 之前kalman有提到采用bbox的底边中心为真实轨迹点,由此可以带来什么好处?怎么验证其好处?怎么评价?
- 是否进入匹配圈,有一个判断
2.1 静止逻辑剔除
- 哪些场景是需要剔除的静止目标:
- 近距离晃动的大目标
- 远距离的小目标静止
- 误报导致的石头/固定位置
- 帧缝处需要注意
- 哪些场景是需要展示的非静止目标
- 远处小目标慢速移动
- 近处小目标慢速移动
备注:需要看具体的用例/坐标点,然后逻辑去看坐标点即可。可以抽象化/快速化。将数据点导出最重要。