YOLO目标检测——Yolov1核心思想

YOLOv1基本原理: 

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

YOLO目标检测——Yolov1核心思想_第1张图片

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

2.  对于每个网格,每个网格预测 B=2个bouding box(边界框),每个边界框包含5个预测量:x

y、w、y、c(置信度)以及20个类别概率(当前数据集有20个类别),总共输出7×7×(2*5+20)=1470个tensor(张量)。

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

网络结构

YOLO目标检测——Yolov1核心思想_第2张图片 

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

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

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

输出7x7的理解

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

YOLO目标检测——Yolov1核心思想_第3张图片

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

输出维度30的理解

(1)每个网格使用B(B=2)个bounding box(边界框)进行回归预测,共产生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优点

你可能感兴趣的:(YOLO目标检测,目标检测,深度学习,人工智能)