简介
YOLOv3总结了自己在YOLOv2的基础上做的一些尝试性改进,有的尝试取得了成功,而有的尝试并没有提升模型性能。其中有两个值得一提的亮点,一个是使用残差模型,进一步加深了网络结构;另一个是使用FPN架构实现多尺度检测。
改进
新的网络结构:DarkNet-53;
使用逻辑回归代替softmax作为分类器;
融合了特征金字塔网络,实现多尺度检测
多尺度预测实现:
YOLOv3在基本特征提取器上添加几个卷积层,其中最后一个卷积层预测了一个三维张量——边界框,目标和类别预测。 在COCO实验中,为每个尺度预测3个框,所以对于4个边界框偏移量,1个目标预测和80个类别预测,张量的大小为N×N×[3 *(4+ 1 + 80)]。接下来,从前面的2个层中取得特征图,并将其上采样2倍。
YOLOv3还从网络中的较前的层中获取特征图,并使用按元素相加的方式将其与上采样特征图进行合并。这种方法使得能够从上采样的特征图中获得更有意义的语义信息,同时可以从更前的层中获取更细粒度的信息。然后,再添加几个卷积层来处理这个组合的特征图,并最终预测出一个类似的张量,虽然其尺寸是之前的两倍。
最后,再次使用相同的设计来预测最终尺寸的边界框。因此,第三个尺寸的预测将既能从所有先前的计算,又能从网络前面的层中的细粒度的特征中获益。
网络结构
YOLOv3在之前Darknet-19的基础上引入了残差块,并进一步加深了网络,改进后的网络有53个卷积层,取名为Darknet-53,网络结构如下图所示(以256*256的输入为例):
从YOLOv1到YOLOv2再到YOLO9000、YOLOv3, YOLO经历三代变革,在保持速度优势的同时,不断改进网络结构,同时汲取其它优秀的目标检测算法的各种trick,先后引入anchor box机制、引入FPN实现多尺度检测等。
每个网络都使用相同的设置进行训练,并在256×256的图像上进行单精度测试。 运行时间是在Titan X上用256×256图像进行测量的。因此,Darknet-53可与最先进的分类器相媲美,但浮点运算更少,速度更快。 Darknet-53比ResNet-101更好,且速度快1.5倍。 Darknet-53与ResNet-152具有相似的性能,但速度快2 倍。
Darknet-53也实现了最高的每秒浮点运算测量。 这意味着网络结构可以更好地利用GPU,使它的评测更加高效,更快。 这主要是因为ResNet的层数太多,效率不高。
效果评价
兼顾速度与准确率。在COCO数据机上,mAP指标与SSD模型相当,但速度提高了3倍;mAP指标比RetinaNet模型差些,但速度要高3.8倍。
)小目标检测有所提升,但中等和更大尺寸的物体上的表现相对较差。