赞
踩
论文: YOLOv3: An Incremental Improvement
代码:https://github.com/pjreddie/darknet
作者:Joseph Redmon
时间:2018.08
贡献:
由于 YOLO 系列对小目标的检测效果一直不太好,所以 YOLOv3 主要是网络结构的改进,使其更适合小目标检测;
YOLOv3 的整体过程:
1、Bounding box prediction
在 YOLO9000 中,使用如下方式来表达框的位置:
其中预测值 tx, ty 并不是 anchor 的坐标,而是 anchor 的偏移量,同样的 tw, th 是先验框的缩放因子,先验框的大小由 k-means 聚类 xml 标签文件中保存的坐标位置得到。
YOLOv3 提出了 objectness score,使用 logistic 回归的方法来对每个框预测 objectness score:
YOLOv3 中的 objectness 可以理解成对应 True 和 False 逻辑值。
由于每个真实框只对应一个 objectness 标签为 1 的预测框,如果有些预测框跟真实框之间的 IoU 很大,但并不是最大的那个(比如大于 0.5),那么直接将其 objectness 标签设置为 0 当作负样本,可能并不妥当,所以就将其 objectness 标签设置为 -1,不参与损失函数的计算。
objectness 也可以表示目标在边界框内的概率。目标中心的网格和其相邻网格的 objectness 得分应该接近 1,而角落处的网格的 objectness 得分可能接近 0。
2、分类预测
作者使用 logistic classifier,使用二值交叉熵损失来进行分类训练
3、根据尺度进行预测
YOLOv3 在 3 个尺度上进行框的预测,最后输出三个信息:bbox、objectness、class
在 COCO 数据集中,就会在每个尺度上输出:
预测要点:
4、特征抽取
在 YOLOv2 中使用的是 Darknet-19,YOLOv3 使用 Darknet-53。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。