©作者 | 小欣
目标检测一直是计算机视觉的热门领域,它也具有丰富的应用场景,从无人驾驶到缺陷检测等等。
在YOLO诞生之前,目标检测领域热门的深度学习模型是R-CNN系列模型,这一类的模型被称之为二阶段模型(two-stage),其大致思路就是先找出可能含有物体的区域,进而再细致的找出这片区域内的物体是什么,在哪个位置。
这一类模型的特点就是准确率较高,但是速度较慢,难以做到实时检测。而这时候,YOLO V1应运而生,它的特点就是速度快,在牺牲部分模型性能的情况下,能做到实时检测。
YOLO直接从图片中去寻找可能存在物体的位置,因此也被称为单阶段模型(one-stage) 。
要想透彻了解YOLO系列模型的运行原理,需要从V1版本开始讲起,看作者如何迭代更新,一步步改良YOLO,在这个学习过程中,也能学到很多相关的目标检测知识。
YOLO V1
01 思路
YOLO V1发表在2016年,其作者是Joseph Redmon。YOLO V1的想法很朴素,但也很有效。
简单地说,它将一张图分成个网格,假设,即它将一张图分成了49个网格,不难想象,原图中每个物体的中心都在其中一个网格中。
因此,只需要让每个网格负责预测中心点落在当前网格中的物体。这在训练的时候是很容易办到的,因为我们已知每个物体的坐标。
通过这