YOLO V3详解

YOLO 第三版并没有特别突出的创新之处,主要是基于YOLO第二版进行了一些改进。


1.类别预测


        一个目标可能具有多个类别标签,各个类别之间不一定是互斥的。比如,橘子也是一种水果,同时还是一种食物,对于这样的目标来说,几个类别标签都正确的。YOLO第三版采用logistic分类器(逻辑回归)代替了softmax分类器,在训练过程中,使用了交叉嫡损失。
本质上,YOLO第三版采用多个二分类器代替一对多分类器,实现了对一个目标多个类别标签的判定。


2.使用多尺度特征


        YOLO第三版在特征图上的每个位置使用3个锚,在一个N×N大小的特征图上,需要预测的参数数量为NxN×3×(4+1+n _class),其中3表示3个锚,4表示4个坐标,1表示是否框中目标的置信度,n_class表示需要回归的类别概率。
        为了使算法具备更好的多尺度检测能力,YOLO第三版借鉴了FPN的思想。假设第一个用于检测的特征图是网络的第n层,在网络较浅的位置取第m层,m


3.使用残差结构网络


        YOLO第三版借鉴了ResNet结构,也设计了一个残差网络Darknet-53,如图所示,使得整个网络更容易训练。

YOLO V3详解_第1张图片

论文还提到了一些实验 

4. Things We Tried That Didn’t Work  

      我们在开发YOLOv3的时候尝试了很多东西。很多方法都不起作用。这是我们能记住的东西。

        Anchor box x, y offset predictions. 我们尝试使用普通的锚盒预测机制,其中你使用线性激活来预测x,y偏移为盒子宽度或高度的倍数。我们发现这个公式降低了模型的稳定性,而且效果不是很好。 

         Linear x, y predictions instead of logistic. 我们尝试使用线性激活来直接预测x,y的偏移量,而不是逻辑激活。这导致了mAP值下降了几个百分点。

        Focal loss. 我们尝试使用焦点损失。它使我们的mAP下降了大约2%。YOLOv3可能已经对焦点损失试图解决的问题具有鲁棒性,因为它有独立的客观性预测和条件类预测。因此,对于大多数例子来说,类别预测没有损失吗?还是什么?我们不太确定。

        YOLO V3详解_第2张图片

YOLO V3详解_第3张图片

         

        Dual IOU thresholds and truth assignment. Faster RCNN在训练过程中使用了两个IOU阈值。如果IOU>0.7,作为一个积极的例子,[0.3−0.7]它被忽略,对于IOU<0.3,这是一个消极的例子。我们尝试了类似的策略,但没有取得好的结果。         

        我们很喜欢我们目前的公式,它似乎至少是在一个局部最优的状态。这些技术中的一些最终可能会产生好的结果,也许它们只需要一些调整来稳定训练。
 

你可能感兴趣的:(目标检测,深度学习,人工智能,计算机视觉,神经网络)