• YOLOv3: An Incremental Improvement 论文阅读


    Abstract

      对YOLO进行了一些更新。新的网络比之前要大,但仍然很快。320x320的输入22ms,mAP为28.2,与SSD一样准确,但比它快三倍。When we look at the old .5 IOU mAP detection metric YOLOv3 is quite good. It achieves 57.9 AP50 in 51 ms on a Titan X, compared to 57.5 AP50 in 198 ms by RetinaNet, similar performance but 3.8×faster.

    1. Introduction

      首先介绍对YOLOv3作了什么处理,然后介绍作者进行了哪些没有效果的尝试,最后思考这说明了什么。

    2. The Deal

      主要从他人那里获取good ideas,训练了一个新的分类网络。

    2.1 Bounding Box Prediction

      与YOLO 9000一样,使用聚类中心作为anchor boxes。每个bounding box有四个坐标,tx,ty,tw,th,如果cell相对左上角的偏移量为(cx,cy),且bounding box priors宽和高分别为pw,ph,预测为

      [egin{array}{l}
    {b_x} = sigma ({t_x}) + {c_x}\
    {b_y} = sigma ({t_y}) + {c_y}\
    {b_w} = {p_w}{e^{{t_w}}}\
    {b_h} = {p_h}{e^{{t_h}}}\
    end{array}]

      训练时使用平方误差之各。如果坐标预测的真实值为t*hat,预测值为t*,则梯度就是用t*hat - t*。

      YOLOv3使用logistic regression为每个bounding box预测一个objectness socre。如果有一个bounding box prior比其它的和真实值重叠更多,那么它的score为1。如果一个bounding box prior不是最好的,但它与真实边界框重叠达到了一个界限,就忽略之后的预测。此阈值设为0.5。Unlike oursystem only assigns one bounding box prior for each ground truth object. If a bounding box prior is not assigned to a ground truth object it incurs no loss for coordinate or class predictions, only objectness.

    2.2 Prediction

      每个bounding box预测框中可能包含的物体类别时使用多标签分类(multilabelclassification)。我们没有使用softmax,因为我们发现没有必要,而是使用独立的logistic classifiers。训练时使用二元交叉熵来进行类别预测。

      当我们应用到如Open Image Dataset更复杂的领域时,这个方法很有用。此数据集中有很多重叠标签。使用softmax是在每个框只有一个类别的假设下,而通常情况并不是这样。多标签方法能更好地模拟数据。

    2.3 Predictions Across Scales

      YOLOv3预测三种不同scale的box。系统使用类似金字塔网络的概念从这些尺度中提取特征。在基本的特征提取器中加入了几个卷积层。其中最后一层预测一个三维张量,它由bounding box,objectness,class的预测编码得到。在COCO的实验中,每个scale预测三个boxes,因此张量为NxNx[3*(4+1+80)],4个bounding box offsets,1个objectness prediction,和80个class predictionss。

      然后从对两层的特征映射进行2x的上采样。再对原来网络的特征映射和上采样后的特征映射进行合并。这种方法使我们能够从上采样的特征和早期特征映射的细化信息中获得更有意义的语义信息。 然后,我们再添加一些卷积层来处理这种组合的特征映射,一种类似于张量的类似张量,只不过是原来的两倍。

      采用相同的设计来预测最终尺寸的方框。 Thus our predictions for the 3rd scale benefit from all the prior computation as well as finegrained features from early on in the network.

      使用k-means clustering来确定bounding box priors。选择了9个cluster和3个scales,然后在整个scales上均匀分割clusters。在COCO数据集上,9个clusters是:(10×13),(16×30),(33×23),(30×61),(62×45),(59× 119),(116×90),(156×198),(373×326).

    2.4 Feature Extractor

      使用一个新的网络来进行特征提取。新网络是在YOLOv2,Darknet-19和新的残差网络中使用的网络之间的混合方法。新的网络使用了连续的3x3和1x1的卷积层,之间有短的连接,它比以前更大,有53个卷积层,称之为Darknet-53。这个新的网络比Darknet-19更强大,而且仍比ResNet-101、ResNet-152更强大。结果见Table 2。

      

      每个网络都使用相同的设置进行训练,并以256×256的单精度测试进行测试。 运行时在Titan X上以256×256进行测量。 因此,Darknet-53与最先进的分类器相媲美,但浮点运算更少,速度更快。 Darknet-53比ResNet-101好1.5倍。 Darknet-53与ResNet-152具有相似的性能,速度提高2倍。

      Darknet-53也实现了每秒最高的测量浮点运算。 这意味着网络结构更好地利用GPU,使其更有效地进行评估,从而更快。 这主要是因为ResNets的层数太多,效率不高。

    2.5 Training

      We still train on full images with no hard negative mining or any of that stuff。 使用多尺度训练,大量的数据增强,批量规范化,所有标准的东西。 使用Darknet神经网络框架进行训练和测试。

    3. How We Do

      YOLOv3性能很好,见Table 3。在COCO数据集上,它的mAP与SSD及其变体相当,但比它快三倍。与其它模型如RetinaNet相比还是稍显落后。

      然而,当我们考察“旧”的检测度量时IOU = 0.5(即图表中的AP50)时的mAP,YOLOv3非常强大。 它几乎与RetinaNet相当,并且远高于SSD变体。 这表明YOLOv3是一款非常强大的检测器,能够较好地为目标预测边界框。 随着IOU阈值增加,性能下降明显。

      老版本的YOLO在检测小物体上有困难,使用了多尺度预测后,YOLOv3有相对高的APs值。但是它在中等或较大目标上的性能较差。要解决这个问题还需要进一步研究。

      画出AP50度量下的准确率和速度曲线,可以看出YOLOv3与其它检测系统相比性能更好。

      

      

    4. Things We Tried That Didn't Work

    Anchor box x,y offset predictions.

      尝试使用常规的anchor box预测机制,即使用线性激活函数将x,y的偏移量预测为边界框宽度或高度的倍数,这个方法降低了模型的稳定性,效果不佳。

    Linear x,y predictions instead of logistic.

      尝试使用线性激活函数直接预测x,y的偏移量来代替logistic activation,这会使用mAP有一些下降。

    Focal loss.

      尝试使用focal loss,这使mAP下降约2个百分点。YOLOv3可能对focal loss试图解决的问题已经很鲁棒,因为它有单独的objectness predictions和conditional class predictions。可能是对多数样例,没有来自class predictions的误差,不太确定。

    Dual IOU thresholds and truth assignment.

      Faster R-CNN训练时使用了两个IOU阈值。如果和真实值重叠超过0.7则为正例,0.3到0.7忽略,0.3以下为反例。作者尝试了类似的策略但效果不好。

    5. What This All Means

      YOLOv3是一个好的检测器,它又快又准。在COCO数据集上,使用IOU在0.5到0.95上的mAP作为度量时,它并不是太好,但采用旧的0.5IOU的度量时,它的性能非常好。

      为什么改变度量标准呢,The original COCO paper just has this cryptic sentence: “A full discussion of evaluation metrics will be added once the evaluation server is complete”. Russakovsky et al report that that humans have a hard time distinguishing an IOU of .3 from .5! “Training humans to visually inspect a bounding box with IOU of 0.3 and distinguish it from one with IOU 0.5 is surprisingly difficult.” If humans have a hard time telling the difference, how much does it matter?

      

      

      

      

  • 相关阅读:
    Android ListView的使用(三)
    Android GridView的使用页面按钮
    Android ListView的使用(二)
    Android ListView的使用(一)
    Linux 下MongoDb的安装
    Linux使用redis
    JavaWeb之JDBC
    JavaWeb之多语言国际化
    JavaWeb之JSTL标签
    JavaWeb之JSP技术总结
  • 原文地址:https://www.cnblogs.com/Rainbow2015/p/8719140.html
Copyright © 2020-2023  润新知