最近一直在学YOLO,算是入门的比较迟了。在导师的压力下让自己把v1到v4理了一下。算是给自己加深记忆吧,也帮助想入门的可以一起入门哦。有什么说的不对的地方可以批评指正的。
一、YOLO——是you only look once前面四个字母的缩写。主要用在目标检测上面。
在v1中,直接对图片进行输入,得到输出是一个 7*7 *30 的张量(tensor)。
主要通过预测bounding box来确定对象的位置
YOLO 的实现方法
将一幅图像分成 SxS 个网格(grid cell),如果某个 object 的中心落在这个网格中,则这个网格就负责预测这个 object。
每个网格要预测 B 个 bounding box,每个 bounding box 除了要回归自身的位置之外,还要附带预测一个 confidence 值。
这个 confidence 代表了所预测的 box 中含有 object 的置信度和这个 box 预测的有多准这两重信息,其值是这样计算的:
Pr(Object)为物体存在的概率如果Object落在框中,则Pr(Object)取1,否则取0;IOU为交并比,是产生的候选区与原标记框的交叠率,即他们的交集与并集的比率。
每个 bounding box 要预测 (x, y, w, h) 和 confidence 共5个值,每个网格还要预测一个类别信息,记为 C 类。则 SxS个 网格,每个网格要预测 B 个 bounding box 还要预测 C 个 categories。输出就是 S x S x (5*B+C) 的一个 tensor。
具体结构图为:
其中主要用到24次卷积和2次全连接