YOLO9000: Better, Faster, Stronger
在这篇文章里,单阶段检测模型的先驱工作YOLO迎来了全面的更新:
- 在卷积层添加BN,舍弃Dropout
- 更高尺寸的输入
- 使用Anchor Boxes,并在头部运用卷积替代全连接层
- 使用聚类方法得到更好的先验,用于生成Anchor Boxes
- 参考Fast R-CNN的方法对位置坐标进行log/exp变换使坐标回归的损失保持在合适的数量级
- passthrough层:类似ResNet的skip-connection,将不同尺寸的feature map拼接到一起
- 多尺度训练
- 更高效的网络Darknet-19,类似VGG的网络,在ImageNet上以较少的参数量达到跟当前最佳相当的精度
此次改进后,YOLOv2吸收了很多工作的优点,达到跟SSD相当的精度和更快的推断速度。
作者还介绍了一种新的联合训练方式:同时训练分类任务和检测任务,使得检测模型能够泛化到检测训练集之外的目标类上。
YOLO9000使用了ImageNet和COCO数据集联合训练,在合并两者的标签时,根据WordNet的继承关系构建了了树状的类别预测图:
类似条件概率的方式计算每个子标签的概率值,超出一定的阈值时则选定该类作为输出,训练时也仅对其路径上的类别进行损失的计算和BP。
YOLO9000为我们提供了一种泛化检测模型的训练方式,文章的结果显示YOLO9000在没有COCO标注的类别上有约20的mAP表现,能够检测的物体类别超过9000种。当然,其泛化性能也受检测标注类别的制约,在有类别继承关系的类上表现不错,而在完全没有语义联系的类上表现很差。