目录

1、目标检测的常见指标

2、yolov1网络

3、yolov2

4.yolov3

5.参考资料


1、目标检测的常见指标

TP(true positive):IoU>0.5检测框的数量

FP(false positive):IoU<=0.5的检测框

FN(false negative):没有检测GT(ground truth)的数量

Precision: TP/(TP+FP)预测正确的比例 查准率

Recall:TP/(TP+FN)预测正确的目标比例 查全率

AP:P-R曲线下的面积

P-R曲线:Precision-Recall曲线

mAP:各类别AP的平均值

目标检测的损失函数分哪五部分 目标检测的指标_计算机视觉

第一行为coco数据集的主要评价指标AP,当IoU从0.5到0.95,且间隔为0.05,十个不同值的IoU对应的AP取均值。

第二行为不同面积的AP,小于32×32为小像素,32到96像素为中等像素,大于96为大像素。

第三行为提供多少个边界框的AR(average recall),分别为1,10,100个。

第四行为不同面积的AR,小尺寸,中等尺寸和大尺寸。

2、yolov1网络

1.提出了grid cell,将图片分成s×s个网格,object的中心落在这个网格中,这个网格就负责预测这个object。

目标检测的损失函数分哪五部分 目标检测的指标_目标检测的损失函数分哪五部分_02

2.每个网格要预测B个bounding box,除了预测位置还有预测一个confidence,每个网格还要预测c个类别分数。对于Pascal voc数据集,它有20个类别,采用B=2。所以我们预测的个数为7×7×30个参数。输出为7×7×30,以channel展开,每一条两个bounding box的8个坐标,加两个confidence,和20个预测类别分数。x,y是相对于grid cell的值,为预测的中心坐标,w,h是相对于整个图片来说,为预测的边界框参数。confidence的值是

目标检测的损失函数分哪五部分 目标检测的指标_目标检测_03

 Pr为是否为目标只取0或1,后面是预测值和真实值的交并比。

目标检测的损失函数分哪五部分 目标检测的指标_目标检测_04

最后的预测概率为:

目标检测的损失函数分哪五部分 目标检测的指标_计算机视觉_05

3.网络结构

在展平处理后,reshape成7×7×30的特征矩阵。

目标检测的损失函数分哪五部分 目标检测的指标_目标检测_06

4.损失函数

使用误差平方和计算,分成3部分,预测边界框损失,confidence损失,类别损失。bounding box损失中,宽度和高度开根平方差是为了大边界框和小边界框偏移大小一样时,得到的误差大小不同,让小目标的误差更大。

目标检测的损失函数分哪五部分 目标检测的指标_深度学习_07

目标检测的损失函数分哪五部分 目标检测的指标_深度学习_08

3、yolov2

 1.Batch Normalization.

在网络结构中使用了bn结构,可以移除dropout,在mAP中获得了超过2%的改进。

2.High Resolution Classifier.

更高分辨率的分类器,采用了在ImageNet上以完整的448 × 448分辨率微调分类网络10个epoch,这个高分辨率的分类网络使我们的mAP增加了近4%。

3.Convolutional With Anchor Boxes.

使用了基于anchor的边界预测框,在没有锚框的情况下,模型获得了69.5个mAP,召回率为81%。通过锚箱,模型获得了69.2 mAP,召回率为88%。尽管mAP下降,但召回率的增加意味着模型有更多的改进空间。

4.Dimension Clusters. 

在训练集的边界框上运行k-means聚类来自动找到好的先验。

直接定位预测。当使用YOLO的锚框时,会遇到问题:模型不稳定,特别是在早期迭代期间。大部分的不稳定性来自于预测盒子的(x, y)位置。在区域提议网络中,网络会预测tx和ty的值,并且(x, y)中心坐标的计算方式为:x = (tx * wa)+xa y = (ty * ha)+ya。

通过对回归坐标的限制:bx = σ(tx) + cx       by = σ(ty) + cy       bw = pwe^tw       bh = phe^th   Pr(object) ∗ IOU(b, object) = σ(t0)。t0为yolov1 中的confidence

使得每个anchor只预测自己grid cell里的目标。

5.Fine-Grained Features

把底层特征图和高层特征图融合,使得能更准确的检测目标。

通过passthrough layer进行特征矩阵融合,passthrough通过减小一半尺寸,扩大4倍channel进行融合。

目标检测的损失函数分哪五部分 目标检测的指标_计算机视觉_09

6.Multi-Scale Training.

原始YOLO的输入分辨率为448 × 448。通过添加锚框,我们将分辨率更改为416×416。然而,由于模型只使用卷积层和池化层,所以可以动态地调整大小。

每隔几次迭代就改变网络,而不是固定输入图像的大小。每10批我们的网络随机选择一个新的图像维度大小。由于我们的模型向下采样倍数为32,我们从32的以下倍数中提取:{320,352,…608}。因此,最小的选择是320 × 320,最大的是608 × 608。根据这个维度调整网络的大小,并继续培训。

 7.dark-19

backbone使用dark-19。

目标检测的损失函数分哪五部分 目标检测的指标_深度学习_10

8.yolov2模型

目标检测的损失函数分哪五部分 目标检测的指标_深度学习_11

1个anchor预测4个坐标+1个confidence+20个类别分数

4.yolov3

1.backbone

使用darknet-53网络提取特征信息

目标检测的损失函数分哪五部分 目标检测的指标_目标检测_12

2.anchors

一个anchor预测四个坐标一个confidence,和80个类别分数

目标检测的损失函数分哪五部分 目标检测的指标_目标检测的损失函数分哪五部分_13

3.多channel预测

在特征图1上预测大目标,特征图2上预测中等目标,特征图3上预测小目标。

目标检测的损失函数分哪五部分 目标检测的指标_目标检测_14

 4.正负样本

GT和Anchor Template重合IOU>0.3的算正样本

目标检测的损失函数分哪五部分 目标检测的指标_目标检测的损失函数分哪五部分_15

5.损失计算

目标检测的损失函数分哪五部分 目标检测的指标_目标检测的损失函数分哪五部分_16

5.参考资料

霹雳吧啦Wz的个人空间_哔哩哔哩_Bilibili

You Only Look Once: Unified, Real-Time Object Detection

YOLO9000: Better, Faster, Stronger

YOLOv3: An Incremental Improvement