YOLO 阅读笔记

YOLO(You Only Look Once:Unified, Real-Time Object Detection)是目标检测中的一种重要方法,

其最核心的内容可以通过YOLOv1这篇论文了解。

一、摘要

之前的目标检测主要是使用分类器进行检测,而YOLO则是将目标检测视为回归问题。对边界框与分类任务使用一个网络即可。

二、介绍

与之前的目标检测方法(先生成预测框再通过分类器)不同,YOLO直接从像素得到预测框与类别,并且由于其网络结构单一,可以达到非常快的检测速度。(在Tian GPU上基本网络运行速率为150fps)。与滑动窗口和基于区域建议的技术不同,YOLO在训练期间是一个全局的过程,其隐含的编码了有关类及其外观的上下文信息。

YOLO 阅读笔记_第1张图片

三、联合检测

YOLO将图像分为SxS个小块,如果图像中心在某一方块中则这一方框负责进行该对象的检测,通过置信分如下图来描述一个对象检测的准确性。当预测框中没有目标时,置信分则为0。

(候选框存在目标的概率*预测框与真实框的交并比)

每一个边界框都存在(x,y,w,h,s)四个值,中心坐标:x,y;长宽:w,h;置信分:s

除此之外还可以预测条件概率,即目标属于某一类别的概率

因为有SxS个子格,每个格子会生成B个方框,每个方框有五个需要确定的值(xywhs)。每个方每个方框可能的类别为C所以最后输出的为S*S*(B*5+C)维的张量。在PASCAL VOC中S=7,B=2,C=5。所以最后输出的是一个7*7*30维张量

四、网络设计

1.网络结构YOLO 阅读笔记_第2张图片

2.loss函数

YOLO 阅读笔记_第3张图片

所有的误差都是使用的均方差来实现的。

λcoord = 5 and λnoobj =0.5分别代表坐标误差和置信分误差的权重,表示在第i个子格中,第j个预测框中是最匹配的目标,每个对象最后只会对应一个预测框,纵使两个框有重合但是只取重合度最高的那一张。

 第一部分是 xywh的损失,wh有根号是因为,当真实框与预测框出现9*9 5*5 1*1 这种情况时,wh的误差都是4,而其面积是不同的所以使用根号来调整这个误差

第二部分是置信度误差,包括存在目标的置信分和不包含物体时的置信分,包含物体时用上面那个,不包含时用下面这个。

第三部分是类别误差是概率的均方差。

真实的置信度与概率均为1。

你可能感兴趣的:(深度学习,目标检测,人工智能)