YOLOv3的主要改进主要在两个方面,分别是分类网络的设计以及加入了多尺度特征图预测。当然还有其他的改变,比如进行多分类的时候不用softmax了而是使用independent logistic classifiers,然后损失函数是 binary cross-entropy loss。作者还是修复了yolov2中的数据读取bug,这提升了2%的mAP。
多尺度特征图预测
YOLOv3使用了3个不同尺度的特征图进行预测,来缓解YOLO对小目标检测的缺陷。借鉴于FPN网络的设计思想,YOLOv3在基础网络后面加入了一系列的上采样模块和卷积模块,来生成多尺度特征图用于预测。每个特征图只预测3个box,不像以前v2的5个box,这样总共预测9个box。这9个box的初始先验宽高也是用聚类聚出来的。
特征抽取网络
主要是使用了多尺度卷积核和跳跃连接。
具体的多尺度预测结构和特征抽取网络结构还是看作者提供的网络结构配置文件会清晰一点。
作者还尝试了一些失败的试验,比如加入focal loss,或者使用rcnn的样本选取策略。
试验结果
首先是分类网络在imagenet上的比较,速度和精度都不错:
与其他检测框架在精度上的比较,相比最好的二阶段框架还是差了些,但是对于其他的一阶段还是很好的:
速度的比较: