YOLO2论文解读:YOLO9000: Better, Faster, Stronger

本文主要依据YOLO2论文翻译而来,论文可阅读自cvpr2017:
http://openaccess.thecvf.com/content_cvpr_2017/papers/Redmon_YOLO9000_Better_Faster_CVPR_2017_paper.pdf

摘要

  • 使用多尺度训练,YOLOv2可以适应不同的图像大小,速度和精度都有权衡;
  • 相比Faster R-CNN和SSD,检测效果更好而且速度快;
  • 在目标检测和分类任务中联合训练,联合训练使我们的YOLO9000不需要标记数据实现目标检测。

引言

  • 一般来说目标检测应该是快速的、准确的,并且有能力识别大量类别的目标。
  • 我们希望目标检测能有目标识别级别的数据集,但是目标检测的标记图像成本比识别大很多,因此难以获取大量的数据。
  • 我们提出了一个新方法,从已有的大量分类数据集中学习,将其扩展到目标检测系统。
  • 我们还提出了联合训练(joint training)算法,可以同时在检测和识别数据集上训练目标检测器。利用标记的检测数据图像来定位目标位置,同时利用分类图像增加目标类别。

Better(作出的改进)

针对YOLO1的缺点:低召回率、定位错误。改进策略如表所示:
YOLO2论文解读:YOLO9000: Better, Faster, Stronger_第1张图片

  • 批量归一化(Batch Normalization)
    批量归一化对于训练网络的收敛有重要提升。所有的卷积层添加BN。2%的mAP提升。去除DropOut无过拟合。

  • 高分辨率分类器(High-Resolution Classifier)
    所有的state-of-art检测方法使用在ImageNet上预训练的分类器,从AlexNet开始,大部分分类器的输入图像小于 256 × 256 256\times256 256×256。YOLO增加分辨率到448.YOLOv2先以 448 × 448 448\times448 448×448的分辨率在ImageNet上微调分类网络,然后再微调检测网络。4%的mAP提升

  • 带有Anchor Boxes的卷积
    移除YOLO1中的全连接层,使用Anchor Boxes预测边界框。调整输入图像为 416 × 416 416\times416 416×416,想要得到一个奇数个位置的特征图,因此有一个单独的中心网格。YOLO的卷积层下采样原始图像到1/32,416大小的输入图像得到 13 × 13 13\times13 13×13的特征图输出。
    使用Anchor Boxes的时候,我们依然将空间定位和类别预测相分离,对每个Anchor Box预测类别和目标度(目标度预测IOU值)。
    使用Anchor Boxes策略,准确度上有下降。每张图像,YOLO1只预测98个边界框,带有Anchor Boxes时预测超过1000个边界框。mAP略微下降,召回率(Recall)大幅提升。

  • 维度聚类
    在训练集的边界框集合中,使用K-means聚类,自动得到先验Anchor Boxes。在K-means聚类中,如果使用标准的欧氏距离,大的边界框比小的边界框产生更大的误差。而我们想得到的先验Anchors是无论边界框尺寸大小都有较好的IOU值,因此使用的距离准则为:
    d ( b o x , c e n t r o i d ) = 1 − I O U ( b o x , c e n t r o i d ) d(box,centroid)=1-IOU(box,centroid) d(box,centroid)=1IOU(box,centroid)
    不同的 k k k值,平均的IOU如图2所示:
    YOLO2论文解读:YOLO9000: Better, Faster, Stronger_第2张图片
    使用K-means聚类和人工选取的饿anchor box的实验对比:
    YOLO2论文解读:YOLO9000: Better, Faster, Stronger_第3张图片

  • 直接的位置预测(Direct location prediction)
    1,使用Anchor Boxes策略时,遇到了第二个问题:模型不稳定性,特别是在早期迭代阶段。不稳定性主要来源于边界框的预测位置,在RPN网络中,预测的是 ( t x , t y ) (t_{x}, t_{y}) (tx,ty),中心坐标计算如下:
    x = ( t x ∗ w a ) − x a x=(t_{x}*w_{a})-x_{a} x=(txwa)xa y = ( t y ∗ h a ) − y a y=(t_{y}*h_{a})-y_{a} y=(tyha)ya
    比如, t x = 1 t_{x}=1 tx=1会使预测框向右偏移一个anchor box的宽度。
    这种公式是不受限制的,因此任何一个anchor box可以在图像的任何点结束,而不用管预测框位置。模型初始化之后,需要很长的时间来稳定预测敏感的位置偏差(offsets)。
    2,不同于预测偏差(offsets),采用预测相对于网格位置的坐标值。把真实值(ground-truth)限定在0~1之间。使用逻辑回归激活函数(logistic activation)限制网络预测值。
    3,网络在输出特征图的每个网格中预测5个边界框(聚类选定的k=5),对每个边界框预测5个坐标值: t x , t y , t w , t h , t o t_{x}, t_{y}, t_{w}, t_{h}, t_{o} tx,ty,tw,th,to。如果网格距离图像左上角的边距为 ( c x , c y ) (c_{x},c_{y}) (cx,cy), 而且边界框的先验长和宽分别为 ( p w , p h ) (p_{w}, p_{h}) (pw,ph),那么预测值为:
    b x = σ ( t x ) + c x b_{x}=\sigma (t_{x})+c_{x} bx=σ(tx)+cx b y = σ ( t y ) + c y b_{y}=\sigma (t_{y})+c_{y} by=σ(ty)+cy b w = p w e t w b_{w}=p_{w}e^{t_{w}} bw=pwetw b h = p h e t h b_{h}=p_{h}e^{t_{h}} bh=pheth
    P r ( o b j e c t ) ∗ I O U ( b , o b j e c t ) = σ ( t o ) Pr(object)*IOU(b, object)=\sigma(t_{o}) Pr(object)IOU(b,object)=σ(to)
    YOLO2论文解读:YOLO9000: Better, Faster, Stronger_第4张图片
    4,限制了位置预测使参数更容易学习,网络更加稳定。相较于anchor box,结合维度聚类和直接的边界框中心位置预测提高了5%的mAP。

  • 细粒度特征(Fine-Grained Features)
    YOLO2在 13 × 13 13\times13 13×13的特征图上预测检测框,这对于大目标是有效的。Faster R-CNN和SSD在不同的特征图上运行区域生成网络。我们采用了不同的方法,添加一个传递层(passthrough layer)融合前一层 26 × 26 26\times26 26×26分辨率的特征。
    传递层将 26 × 26 × 512 26\times26\times512 26×26×512的特征图转换成 13 × 13 × 2048 13\times13\times2048 13×13×2048的特征图,然后和原始的特征图聚合在一起(concatenation),得到细粒度特征。有1%的效果提升。

- 多尺度训练(Multi-Scale Training)
不同于固定输入图像大小,我们每一部分迭代后改变网络。每10个批次网络随机选取一个新的网络维度大小。因为我们的模型以32的因子下采样,输入尺度为: 320 , 352 , . . . , 608 {320,352,...,608} 320,352,...,608
YOLO2论文解读:YOLO9000: Better, Faster, Stronger_第5张图片

Faster

许多检测模型将VGG-16作为基础的特征提取器,需要大量的浮点运算。
提出了新的分类模型:Darknet-19。 3 × 3 3\times3 3×3的卷积核、池化层之后两倍的通道数。最后有19个卷积层和5个最大值池化层。
YOLO2论文解读:YOLO9000: Better, Faster, Stronger_第6张图片

Stronger

在分类和检测数据集上联合训练。可以利用只有类别标签的图像实现目标检测。训练的时候,使用检测和分类数据集,如果有检测的标签,就反向传播YOLOv2的损失,如果是分类图像,只反向传播分类损失。
使用多标签模型联合这些非互斥的数据集。

  • 分级分类:WordNet构建成一个有向图,我们检查ImageNet中的视觉名词,寻找他们通过WordNet有向图到达根节点的路径。最后的结果是WordTree:一个视觉概念的分级模型。
  • 如果想计算特定节点的绝对概率,我们只要跟随通过树到达根节点的路径,并乘以条件概率。例如,如果我们想知道图片是否是Norfolk Terrier,我们计算:
    YOLO2论文解读:YOLO9000: Better, Faster, Stronger_第7张图片

你可能感兴趣的:(卷积神经网络(CNN),目标检测)