版权声明:本文为博主原创文章,未经博主允许不得转载
论文:YOLOv3: An Incremental Improvement
链接:https://arxiv.org/abs/1804.02767
第三方代码:https://github.com/qqwweee/keras-yolo3
嗯,好吧好吧,大神的论文就是随性。
进入正题,作者先是提到了Bounding box Prediction:
bounding box的坐标预测还是沿用了YOLO V2的做法,损失也是原来的平方误差损失。
Unlike [17] our system 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.
Class Prediction:
简单来讲就是原来的单标签分类改进为多标签分类,文章中很好地解释了,复杂的数据下,一个object可能属于多个类,比如同时有woman和person两个标签,softmax强加了这么一个假设,每个框只有一个类,那么就需要逻辑回归层对每个类别做二分类,经过sigmoid输出的结果大于某阙值,那么就属于该类。
Predictions Across Scales:
YOLO V3多个scale融合做预测,类似于FPN。
从上采样的特征中获取更有意义的语义信息,并从早期的feature map中获取更细粒度的信息
bounding box的初始尺寸还是沿用了YOLO v2中的k-means聚类的方式来做,尺寸是根据输入大小的图像计算得到的。
Feature Extractor:
全卷积网络,模型训练方面还是采用原来YOLO V2的multi-scale training。
实验结果对比图:
作者谈到了过去的YOLO 对于小目标检测效果很差,在多尺度融合预测的方式下,APs performance 明显提高了,不过中等和大尺度的object效果较差,需要更多的调查。
Things We Tried That Didn’t Work: