欢迎光临
我们一直在努力

【检测问题】目标检测中检测框抖动的原因与平滑处理:以车辆检测为例

检测框抖动是目标检测中的一个常见问题,不只会出现在车辆检测里,行人检测、头部检测、车牌检测、道路病害检测等连续图片或视频抽帧任务中都可能遇到。只要模型是逐图独立推理,同一个目标在相邻图片中的框就可能出现轻微跳动。

本文用车辆检测作为例子说明这个问题:同一辆车在多张连续图片里可能会出现检测框轻微跳动,上一张图框得偏左,下一张图框得偏右,再下一张图又变大一点。车辆本身没有明显移动,但框的位置和大小一直抖动。

test_car.py 中加入的跨图平滑逻辑,就是为了解决这类问题。

在这里插入图片描述

为什么同一目标的框会抖动

YOLO 这类目标检测模型默认是逐图独立推理的。模型看到第 1 张图时,并不知道第 2 张图里还有同一辆车;看到第 2 张图时,也不会记住第 1 张图的框。

这里虽然用“同一辆车”举例,但原理对大多数检测类别都一样。模型输出的是当前图片上的目标框,而不是带时间记忆的轨迹框。

检测框抖动通常来自这些因素:

  • 图片压缩、光照、噪声变化会让特征响应略有变化。
  • 模型输出框本身是回归结果,不会保证相邻帧完全一致。
  • NMS 会根据置信度和 IoU 保留某一个候选框,候选框轻微变化后,最终框也会变化。
  • 输入缩放、letterbox、坐标还原和四舍五入都会带来少量像素级误差。
  • 如果图片来自视频抽帧,同一目标在相邻帧中位置
  • 赞(0)
    未经允许不得转载:171主机测评 » 【检测问题】目标检测中检测框抖动的原因与平滑处理:以车辆检测为例
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址