YOLO回归框后处理

以YOLOv1为例,共产生98个候选框
YOLO回归框后处理_第1张图片

后处理第一步置信度过滤:
共有7x7x2=98 bboxes,假设一个类别为dog,将所有置信度小于0.2阈值(自设置)的概率全部抹0;上图中的每一列是置信度(存在目标的概率P(obj))与类别概率(这里的类别概率是条件概率P(class | obj))的乘积(cls score)。
后处理第二步非极大值抑制:
参考:https://www.bilibili.com/video/BV15w411Z7LG?p=5
YOLO回归框后处理_第2张图片

补充1:NMS为什么不直接选择类别得分最大的?
因为一张图片中可能存在多个同类别物体,比如两只狗,如果只选择最大类别得分的bbox,那么最终只有一只狗被预测输出。
补充2:后处理为什么分两步?
个人理解置信度过滤会滤除“错误框”,即不存在物体的框。NMS则是在剩下的预测“正确”的框中去选择最优框。即可能存在多个预测框指向同一个目标。
补充3:NMS同一个类别保留多个框(狗类保留别bb47和bb15)?
同一个类别可以保留多个框,但是最终会判断每一个bbox(上图中的每一列)的所有类别得分是否大于阈值,在大于阈值的前提下会选择类别得分最大的那个类别输出(也存在多分类问题,比如狗即属于动物类,也属于宠物类,这个可以自己设置)。

你可能感兴趣的:(机器学习,人工智能,nms)