网上的资源以及 yolo 的代码对 yolo 进行学习的一篇内容
yolov1 是 2016 年发表的一篇目标检测的论文。论文地址:
https://arxiv.org/pdf/1506.02640.pdf 之所以会关注这个论文,是因为看见 github
上的 chineseocr 项目,其中的文本框检测使用了 yolov3,参考了 csdn 上一位作者
的介绍,想要知道 yolo 的精髓,需要从 yolov1 开始,因为 yolo 这个系列是一脉
相承的。
二、简介
yolo 的第一篇文章叫《You Only Look Once: Unified, Real-Time Object Detection》 ,
它把 bounding box 的坐标像分类网络那样预测出来。和 fast-rcnn 这类两段检测
(先检测物体位置,然后进行分类,分类之后还需要一些后处理来修正检测框的
位置)不同,yolo_v1 将预测框的位置、大小和物体分类视为一个回归任务,通
过 CNN 暴力 predict 出来。 这种直接的方式使得 yolov1 的速度比 rcnn 这类模型
有如下的优势
1. 要快很多。没有 pipeline 工作流,在 Titan X-GPU 上可以达到 45 帧每秒。
2. yolo 更加可以解释图片的预测过程,因为它是对整张图片进行处理,而不是像 rcnn
那样通过滑动窗口,对局部区域进行分析,因此不容易在背景上产生 false positive
error。
3. 泛化能力强,可以在自然图片上训练,然后用来测试艺术画,且效果远远优于 DPM
和 RCNN。这种泛化能力意味着他可以更加容易的迁移到其他领域。
yolov1 也有一些天然的缺点:比如,会导致更多的位置定位上的错误,尤其是小
物体定位,固定了尺寸的大小,识别的类别太少等,这些缺陷将在未来的版本中
被优化和解决。
三、网络介绍
1. 基本概念
yolo_v1 奠定了 yolo 系列算法“分而治之”的基调,在 yolo_v1 上,图片的划分和
预测如下图所示: