物体检测经典算法2——Yolov1核心思想

YOLOv1基本原理: 

         YOLO将输入图像分成SxS个格子,若某个物体 Ground truth 的中心位置的坐标落入到某个格子,那么中心位置所在的这个格子就负责检测出这个物体。
 

1. 将输入图像分成SxS grid,原作者论文中取S=7,即分成7*7 grid。

2.  对于每个网格,产生两种候选框,每个网格预测 B=2个bouding box(边界框),对候选框进行微调,每个边界框包含5个预测量:x、y、w、h、c(置信度)以及20个类别概率(当前数据集有20个类别),总共输出7×7×(2*5+20)=1470个tensor(张量)。

3. 每个grid cell都会进行物体的框定和分类,一图像预测7x7x2=98个预测框,然后根据阈值去除可能性比较低的目标窗口,再由NMS去除冗余窗口即可,得到最后的final detections。

网络结构

 输入图像为448x448,输出特征图大小为7x7x30,

  • 输入尺寸固定:由于输出层为全连接层,因此在检测时,YOLO训练模型只支持与训练图像相同的输入分辨率。其它分辨率需要缩放成该分辨率.

  • 占比较小的目标检测效果不好.虽然每个格子可以预测B个bounding box,但是最终只选择只选择IOU最高的bounding box作为物体检测输出,即每个格子最多只预测出一个物体。当物体占画面比例较小,如图像中包含畜群或鸟群时,每个格子包含多个物体,但却只能检测出其中一个。 

输出7x7的理解

特征图7x7映射至原图,即图像被分成7×7个网格(grid cell)

 如果物体的中心落在某个网格中,则这个网格就负责预测这个物体。

输出维度30的理解

(1)每个网格使用B(B=2)个bounding box(边界框)进行回归预测,共产生2*5个值;

        回归坐标(x,y,w,h)和置信度confidence,置信度:包含物体的可能性大小;

     

(2)每个网格还要预测C个类别概率,以判断当前grid cell属于哪个类别C;因此1个网格的输出维度是(5×B+C),S×S个网格就输出就是S × S×(5×B+C)。

  当前数据集类别C=20, 所以30 = 5*2+20;

博客参考链接:

单阶段目标检测算法之YOLOv1详解-pudn.com  (较为详细)

YOLOv1论文笔记_ren_dong1996的博客-CSDN博客_yolov1优点

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值