YOLO系列:YOLO V3模型讲解
- 论文标题:YOLO V3:An Incremental Improvement (CVPR 2018)
- 效果(COCO 数据集):
- 模型结构:(DarkNet-53有53个卷积层)
使用卷积层代替了最大池化下采样层,DarkNet-53卷积核的个数比ResNet也少很多。
效果对比:
DarkNet 53检测效果和ResNet152基本持平,但检测速度慢了两倍。
- 使用K-means 聚类算法得到了先验框的尺度,文章选择了9个聚类,3个尺度,也就是在每个预测特征图上会预测三种尺度的先验框。每个预测特征图上会有
(N表示特征图大小,80表示COCO数据集中的80个类别的分数信息,4表示坐标(
,
,
,
), 1表示置信度。)
特征图层 | 特征图大小 | 预设边界框尺寸 | 预设边界框数量 |
特征图层1 | 13 | (116 | 13 |
特征图层2 | 26 | (30 | 26 |
特征图层3 | 52 | (10 | 52 |
- Bounding box计算:
- 正负样本匹配:每个groundtruth 都分配一个bounding box prior,分配原则-将与gt重合最大的作为正样本,如果不是最大但是大于某个值,则丢弃这些预测框(文章设置阈值为0.5),剩下的样本为负样本。如果一个bounding box prior不是正样本那么就不再计算它的定位 损失和类别损失,仅计算confidence score。
- 损失计算:(置信度损失+分类损失+定位损失)
,
,
为平衡系数。
置信度损失:
其中, 表示预测目标边界框与真实边界框的
,
为预测值,
为
通过
函数得到的预测置信度,N为正负样本个数。类别损失:
其中 {0,1},表示预测预测目标边界框
中是否存在第
类目标,
为预测值,
为
通过
函数得到的目标概率,
为正样本个数。定位损失:
训练期间使用差值平方计算方式: