当前位置:   article > 正文

YOLO理解及边界框计算_边框置信度

边框置信度

一、YOLO的算法流程

 1.设定类别数,设定图片划分为多少个网格,每个网格预测出来几个边框。原文是20个类别,并将图片划分为7*7网格,每个网格预测出2个边框。

 2.将图片缩放到448*448,然后输入到CNN网络(卷积、池化、两个全连接),然后输出的就是7*7*30的tensor(20个对象分类的概率、2个bounding box的位置(2*4=8)、2个bounding box的置信度),通过处理输出box_confidence  box_xy  box_wh  box_class_probs。即在图片上可得到边界框7*7*2=98.

 3.设定阈值过滤边框。

  • 第一步 计算所有box中每个类别的得分:box_confidence * box_class_probs
  • 第二步 找到每个box所有类别中的最高分,并记录其索引(也就知道了类别)
  • 第三步 根据阈值过滤并创建掩码 : filtering_mask = (box_class_scores >= threshold)
  • 第四步 使用掩码只输出阈值过滤后的score,box, classes

 4.进行非极大值抑制(NMS).

  • 选择得分值最高的边界框添加到输出列表中,将其从边界框列表中删除
  • 计算得分值最高的边界框与其他候选框的IOU
  • 删除IOU大于设定的阈值IOU的边界框
  • 重复上诉过程,直至边界框列表为空。

 5.将最后输出列表里的边界框显示在图片,并显示分数和所属类别。

二、yolo中边界框的坐标计算

每个边界框的中心点坐标均为相对于其对应的cell左上点坐标的偏移,此时即保证每个边界框的中心点均落在其对应的cell中。其计算公式如下:

上式中:

  • (b_{x},b_{y},b_{w},b_{h})即为预测的边界框bounding box在feature map中的中心点坐标和长宽;
  • (t_{x},t_{y},t_{w},t_{h})即为网络学习的相对于先验框(prior,anchor)的offsets;
  •  (c_{x},c_{y})是各个cell的左上点坐标;p_{h},p_{w} 即为先验框(prior,anchor)相对于特征图的长和宽

参考链接

 https://www.jianshu.com/p/cad68ca85e27

https://www.jianshu.com/p/d452b5615850

https://blog.csdn.net/yzy__zju/article/details/98039103

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/860953
推荐阅读
相关标签
  

闽ICP备14008679号