目录
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。
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的值是
Pr为是否为目标只取0或1,后面是预测值和真实值的交并比。
最后的预测概率为:
3.网络结构
在展平处理后,reshape成7×7×30的特征矩阵。
4.损失函数
使用误差平方和计算,分成3部分,预测边界框损失,confidence损失,类别损失。bounding box损失中,宽度和高度开根平方差是为了大边界框和小边界框偏移大小一样时,得到的误差大小不同,让小目标的误差更大。
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进行融合。
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。
8.yolov2模型
1个anchor预测4个坐标+1个confidence+20个类别分数
4.yolov3
1.backbone
使用darknet-53网络提取特征信息
2.anchors
一个anchor预测四个坐标一个confidence,和80个类别分数
3.多channel预测
在特征图1上预测大目标,特征图2上预测中等目标,特征图3上预测小目标。
4.正负样本
GT和Anchor Template重合IOU>0.3的算正样本
5.损失计算
5.参考资料
霹雳吧啦Wz的个人空间_哔哩哔哩_Bilibili
You Only Look Once: Unified, Real-Time Object Detection
YOLO9000: Better, Faster, Stronger
YOLOv3: An Incremental Improvement