论文笔记:You Only Look Once:Unified, Real-Time Object Detection(YOLO)
发布时间
阅读量:
阅读量
论文笔记:YOLO
简介
这是CVPR2016的一篇很经典的目标检测论文,一阶段目标检测鼻祖,提出了一个非常实时的目标检测算法。YOLO把检测问题视为一个单纯的回归问题,比起之前的算法,YOLO预测出假阳性结果(把背景预测成某个类别)的可能性比较低,但是位置误差比较大。当然,YOLO最大的特点就是速度快,可以实现实时检测。

方法
- 将图片分成S*S个格子(s=7)
- 每个格子负责预测中心B个(B=2)落在格子内的物体的检测框和1个类别,x,y,w,h,confidence(都是0-1),和类别(20类的话,就是20个0-1范围的数字表示每个类别的概率),也就是网络输出尺寸是一个20+2*5的向量
- 通过每个格子预测出的向量,就可以知道所有的检测结果(检测框中心位置、尺寸、confidence、类别),再通过设置阈值和NMS,就可以把符合要求的结果筛选出来。
网络设计

训练
loss采用SSE(平方和误差),因为这样的loss容易训练,但是这样的话,会存在这几个问题:
- 位置误差和分类误差同等对待并不合理
- 很多格子里面没有任何物体,直接这么训练容易让所有confidence收敛到0
因此,增加有物体的格子的loss权重,减小没有物体的格子的loss权重,取λcoord = 5 , λnoobj = 0.5进行加权计算loss。
此外,为了反映小物体的尺寸小偏差比大物体的尺寸小偏差影响严重,box宽高选择开根后误差的平方进行计算。
计算公式如下:

局限性
- 每个格子只能预测两个框,一个类别,导致网络难以处理成群小目标;
- 难以处理长宽比不寻常的目标;
- 训练时对大小目标的误差一视同仁,然而实际上一个小偏差对于大目标来说影响很小,但是对于小目标来说影响很大。
实验结果


全部评论 (0)
还没有任何评论哟~
