YOLO系列(一):YOLOv1笔记一(原理部分)

YOLOv1基本设计原理

Yolo算法采用一个单独的CNN模型实现end-to-end的目标检测,将其视为一个单一回归问题

.一张图片首先Resize到448x448的size;原论文中给出的理由是:检测通常需要细粒度的视觉信息,因此我们将网络的输入分辨率从 224 × 224 增加到 448 × 448。

.将输入的图片变成切割成​ S*S的网格(单元格);(在文章后边令S=7。)

.每一个单元格要预测​B个边界框(bounding box)以及边界框的置信度(confidence score)

置信度包含两方面内容:(原谅我直接从写好的Typora上截图)

YOLO系列(一):YOLOv1笔记一(原理部分)_第1张图片

.边界框的大小与位置可以用4个值来表征。

YOLO系列(一):YOLOv1笔记一(原理部分)_第2张图片

.对于每一个单元格其还要给出预测出 C个类别概率值,表示该单元格负责预测的边界框中的目标属于各个类别的概率。

YOLO系列(一):YOLOv1笔记一(原理部分)_第3张图片

.Yolo算法将目标检测看成回归问题,所以采用的是均方差损失函数。(这块内容不进行过多解释。)

但是会给出两句原论文中比较重要的话:

1.平方和误差 (sum-squared error),但是需要最大化平均精度。平方和误差使位置误差和分类误差等权相加,这并不理想。(This pushes the“confidence” scores of those cells towards zero, often overpowering the gradient from cells that do contain objects.)

2.误差度量应该反映大盒子中的小偏差比小盒子中的小偏差更重要 。(To partially address this we predict the square root of the bounding box width and height instead of the width and height directly.)

七.原论文中的网络设计图

YOLO系列(一):YOLOv1笔记一(原理部分)_第4张图片

 在下一篇文章中我打算将手算的各个步骤的kernel,padding,stride均以图示给出,并且用Pytorch搭建网络并且给出代码。YOLO系列(一):YOLOv1笔记一(原理部分)_第5张图片

八.非极大值抑制算法(non maximum suppression, NMS)

YOLO系列(一):YOLOv1笔记一(原理部分)_第6张图片

 参考文献:

目标检测|YOLO原理与实现 - 知乎 (zhihu.com)  

(26条消息) (pytorch-深度学习系列)pytorch卷积层与池化层输出的尺寸的计算公式详解_我是一颗棒棒糖的博客-CSDN博客_卷积和池化输出大小计算


Redmon J, Divvala S, Girshick R, et al. You only look once: Unified, real-time object detection[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 779-788.
 

你可能感兴趣的:(深度学习与机器学习,python,pytorch,深度学习,神经网络,自动驾驶)