1.yolov1
即用的栅格
BOXNUM*5 + classnum
用的googlenet以及全连接层
yolov2
1.batchnorm
2.高分辨率
3.13*13 (416/32) 取消全连接,卷积和anchor boxes来预测边界框
4.Dimension Clusters
采用k-means聚类方法对训练集中的边界框做了聚类分析。五个先验框
COCO: (0.57273, 0.677385), (1.87446, 2.06253), (3.33843, 5.47434), (7.88282, 3.52778), (9.77052, 9.16828)
VOC: (1.3221, 1.73145), (3.19275, 4.00944), (5.05587, 8.09892), (9.47112, 4.84053), (11.2364, 10.0071)
5 Fine-Grained Features
passthrough层
对于26*26*512的特征图,经passthrough层处理之后就变成了13*13*2048的新特征图(特征图大小降低4倍,而channles增加 4倍,图6为一个实例),这样就可以与后面的13*13*1024特征图连接在一起形成13*13*3072的特征图
6.Multi-Scale Training
yolov3
1.
多尺度预测 (类FPN)
更好的基础分类网络(类ResNet)和分类器
YOLOv3不使用Softmax对每个框进行分类,主要考虑因素有两个:
- Softmax使得每个框分配一个类别(score最大的一个),而对于
Open Images
这种数据集,目标可能有重叠的类别标签,因此Softmax不适用于多标签分类。 - Softmax可被独立的多个logistic分类器替代,且准确率不会下降。
分类损失采用binary cross-entropy loss.
yolov3在三个(num=3)不同的尺度预测boxes,yolov3使用的特征提取模型通过FPN(feature pyramid network)网络上进行改变,最后预测得到一个3-d tensor,包含bounding box信息,对象信息以及多少个类的预测信息。
(13*13+26*26+52*52)*3和13*13*5相比哪个更多应该很清晰了。
yolov3的特征提取模型是一个杂交的模型,它使用了yolov2,Darknet-19以及Resnet
类别预测方面主要是将原来的单标签分类改进为多标签分类
residual结构:训深层网络难度大大减小,因此这里可以将网络做到53层,精度提升比较明显
Loss不同:将YOLO V3替换了V2中的Softmax loss变成Logistic loss,而且每个GT只匹配一个先验框;
Anchor bbox prior不同:V2用了5个anchor,V3用了9个anchor,提高了IOU;
Detection的策略不同:V2只有一个detection,V3设置有3个,分别是一个下采样的,Feature map为13*13,还有2个上采样的eltwise sum,Feature map分别为26*26和52*52,也就是说,V3的416版本已经用到了52的Feature map,而V2把多尺度考虑到训练的data采样上,最后也只是用到了13的Feature map,这应该是对小目标影响最大的地方;
backbone不同:V2的Darknet-19变成了V3的Darknet-53,这与上一个有关。