【论文阅读】YOLOv3-YOLOv3: An Incremental Improvement

文章目录

      • 1. 细节
        • 1.1 Bounding boxes prediction
        • 1.2 Class Prediction
        • 1.3 Predictions Across Scales
        • 1.4 Feature Extractor
      • 2. 结论
      • 3. 一些失败的实验

YOLOv3的论文相较于前两个版本,没有太大的改动,作者以一种实验报告的形式描述了YOLOv3的改进部分及实验结果,也非常坦率地公布了一些不太成功的实验。

1. 细节

1.1 Bounding boxes prediction

​ Bounding Boxes的预测与YOLOv2中类似,都是预测相较于cell左上角坐标的偏移量 ( t x , t y ) (t_x, t_y) (tx,ty)和长宽的缩放量 ( t w , t h ) (t_w,t_h) (tw,th)。当然这些数据表示的都是相对位置,取值范围为[0,1]。除了这四个量之外,还为每个bounding box预测了一个Objectness score,表示该bounding box中是否存在一个待检测目标,如果一个bounding box prior(就是anchor box)与ground truth的IOU是最大的,那么这个值应该为1;如果其中某个bounding box prior与ground truth的IOU是不是最大的,但是又超过了某一个阈值(这里设置为0.5),那么就忽略他的预测结果。因为在YOLO中,为每一个ground truth只分配一个bounding box prior的objectness score为1,这保证了如果一个bounding box prior没有分配到一个目标,那么他只会受到objectness的影响。

1.2 Class Prediction

​ 在预测分类的时候,并没有采用softmax,而是独立的logistic分类器,采用的是binary cross entropy误差。
H p ( q ) = − 1 N ∑ i = 1 N y i l o g ( y ^ i ) + ( 1 − y i ) l o g ( 1 − y ^ i ) H_p(q) = -\frac{1}{N}\sum_{i=1}^{N} y_ilog(\hat y_i) + (1-y_i)log(1 - \hat y_i) Hp(q)=N1i=1Nyilog(y^i)+(1yi)log(1y^i)

1.3 Predictions Across Scales

​ 在最后的预测阶段,YOLOv3借鉴了特征金字塔网络(feature pyramid networks),组合浅层网络输出的特征图。在YOLOv3中组合3种不同尺寸的特征图,并基于这些组合特征,增加了几层卷积层用于预测最后的结果,最后网络输出的tensor大小为:
N ∗ N ∗ [ 3 ∗ ( 4 + 1 + 80 ) ] N*N*[3*(4+1+80)] NN[3(4+1+80)]
即每个cell预测3个bounding boxes,每个bounding boxes预测 ( t x , t y , t w , t h , t o b j ) (t_x, t_y,t_w,t_h,t_{obj}) (tx,ty,tw,th,tobj)和80个类别的概率分布。

​ 在YOLOv3中仍然使用了bounding box prior,通过dimension cluster,得到9个聚类中心,再随机选择其中3个。

1.4 Feature Extractor

​ 在YOLOv3中,作者引入了ResNet中的shortcut的概念,将原来的DarkNet19修改成了DarkNet53,虽然网络规模比之前大,但是准确率提高了,依然很快(It’s still fast though, don’t worry)。其网络结构如下:

【论文阅读】YOLOv3-YOLOv3: An Incremental Improvement_第1张图片

2. 结论

  1. 尽管DarkNet53比DarkNet19要大,但是性能仍然能与ResNet-152媲美,但是速度比它快2倍,比SSD快3倍;
  2. 在之前的版本中,YOLO在小目标上误差比较大,但是在v3版本中竟然反过来了,在大目标上误差较大;

3. 一些失败的实验

  1. 直接预测Anchor box x, y的offset;
  2. 在预测x, y的时候直接用Linear(直接预测结果准确位置)代替Logistic(相对位置0-1);
  3. 引入Focal Loss;
  4. 引入双IOU阈值和truth assignment;

你可能感兴趣的:(论文阅读,从零开始-Machine,Learning学习笔记)