1.概述
YoloV1是一个快速、准确的目标检测网络,优缺点如下:
优点:
1.具备实时性,网络运行速度超过45fps
3.网络结构简单,端到端
4.可用于多种对象的检测
缺点:
1.目标定位较粗糙
2.对小目标检测不太好
3.每个cell只能生成2个框,并且只能有一个类
2.网络结构
说明:网络有24个卷积层,然后是2个完全连接的层。交替的1×1个卷积层减少了前一层的特征空间。
3.检测过程中的参数
1.输入一张图片
2.系统将图片分割为一个的网格,如果一个对象的中心落入一个网格单元格中,则该网格单元格负责检测该对象。
3.每个网格单元格预测边界框和这些边界框的置信度分数。这些置信度分数反映了模型对边界框包含物体的信心,也反映了它认为盒子预测的准确性。
注:如果单元格中不包含对象则,包含对象
。
4.每个单元格2个预测框,每个框里面有六个参数,分别是,
是预测框的中心坐标,
分别是预测框的宽和高,
是置信度。此外,每个单元格还有一个参数
,其是某几类对象的概率集合。
5.Yolov1最终会将一张图片编码成一个如下张量:
其中B是每个单元格的预测框数量。
在论文中,
6.计算每个预测框的得分:
用这个得分去做后续的非极大值抑制处理(NMS)。最后保留下来的结果,就是网络的最终预测输出。
4.训练
1.作者先在ImageNet1000上预训练前20层卷积层加一个平均池化层和一个全连接层。
2.然后作者又在20层卷积层后面加了4层卷积层和随机初始化权值的完全连接层。
3.作者还把网络的输入从增加到了
。
4.作者还基于图像的大小,把预测框的缩放到了0到1之间。
5.网络的最后一层使用的是线性激活函数:
6.在每个图像中,许多网格单元格不包含任何对象。这将这些细胞的分数推向零,通常超过了确实包含物体的细胞的梯度。这可能导致模型不稳定,导致训练在早期出现分歧。为了解决这一点,作者增加了边界框坐标预测的损失,并减少了不包含对象的框的一致性预测的损失。
7.误差度量应该反映大预测框的小偏差比预测框的小偏差小。为了部分解决这个问题,我们预测边界框宽度和高度的平方根,而不是直接预测宽度和高度。