YOLO算法(论文部分翻译+一些总结)

论文题目是《You Only Look Once: Unified, Real-Time Object Detection》


前言

在之前的目标检测问题中,为了检测一个目标,要在一个测试图像上的不同位置和不同大小的边界框中使用该目标的分类器,判断边界框中是否有该目标,这种方法其实将目标检测当成一种分类问题。如DPM在一整个图像上使用一个均匀滑动的窗口,用分类器在每次滑动的窗口中判断是否有要检测的目标。在R-CNN中做出了一些改进,即用候选区域的方法生成最有可能包含目标的候选框,然后对这些候选框进行分类处理。本文将目标检测看成是回归问题,即输出的是分离的边界框以及每个边界框属于某个类的概率。在本文所使用的方法中,只使用一个单一的神经网络就可以从图像中预测边界框,以及边界框属于某个类的概率。

用YOLO处理图像非常简单,如下图:
在这里插入图片描述
首先,将输入图像的大小调整为448 × 448;
然后,用一个单一神经网络同时预测多个边界框和这些边界框属于每一类的概率;
最后,通过模型的置信度来threshold检测结果。

YOLO与传统的目标检测算法相比有几个优点
1. YOLO非常快。由于将目标检测视为回归问题,只要在测试时简单的在一个新图像上运行神经网络,就可以预测检测目标。在不经过批处理的情况下,基础网络可以在Titan X上到达每秒45帧的效率,而一个经过改进的版本甚至超过每秒150帧。这意味着在处理实时的影像时,延迟将低于25微秒。更重要的是,与其他实时检测系统相比,YOLO的mAP(mean average precision)是它们的两倍。
2.YOLO在预测时会根据图像进行全局推理。 与滑动窗口和候选区域不同,YOLO在训练和测试时“看到”了一整个图像,因此它可以对类别和其外观的上下文信息进行隐式编码。例如,如果要检测图像中的汽车,通常在汽车旁边的对象(如人、道路或其他汽车)可能会为目标检测提供有用的线索。在Fast R-CNN中,经常会将背景误认为是某个目标,这就是由于Fast R-CNN“看不到”整个图像的上下文信息。YOLO产生的背景错误比Fast R-CNN少一半。
3.YOLO学到的目标表示更具有泛化性。在一般自然的图像上训练后,在艺术作品上来测试,YOLO比DPM和R-CNN的表现都要好。当将YOLO应用于新领域或者输入一些乱七八糟的内容,YOLO也不会崩。

那么YOLO有什么缺点呢? YOLO与其他检测系统相比,在精度上略有不足。它虽然能在图像中快速地识别目标,但它对于一些目标的精确定位做的不是太好,尤其是一些比较小的目标。


YOLO的实现

将输入图像划分为S × S的网格,如果一个目标的中心点落入一个网格单元中,那么该网格单元负责检测该目标。每个网格单元要预测B个边界框(bounding box)以及每个边界框的置信度(confidence score),置信度包括两个方面,一是边界框包含目标的可能性大小,二是边界框的准确度。置信度被定义为:
在这里插入图片描述
第一项表示边界框中是否包含有目标,有为1,没有为0。第二项表示边界框与真实框(ground truth box)的IoU(intersection over union)。也就是说,当边界框中包含目标时,置信度就表示边界框与真实框的IoU。每个边界框包含5个值:x,y,w,h和置信度。(x,y)表示边界框的中心点相对于对应网格左上角位置的偏移值,w和h分别表示边界框相对于整个图像的宽和高。这样这四个值的大小应该在[0,1]区间内。
每个网格单元也要预测C个类别条件概率(conditional calss probabilities):
在这里插入图片描述
这些概率表示网格单元中的目标属于某一类的概率。对于每个网格单元来说,只预测一组类别(C个)的概率,无论有多少个边界框(B个)。
也就是说,置信度属于边界框,而类别条件概率属于网格单元

在测试时将类别条件概率与边界框的置信度相乘:
在这里插入图片描述
上式表示每个边界框特定于某个类的置信度。该置信度包含两个方面,一是边界框中的目标属于某类的可能性大小,二是边界框匹配目标的好坏。
在这里插入图片描述
上图说明了YOLO实现的大致流程,首先将图像划分为S×S个网格,每个网格单元包含B个边界框,而每个边界框包含x,y,w,h和置信度共5个值。对于每个网格单元,计算C个类别条件概率,最后完成检测。在这一过程中,最后的预测值为
S × S × (B ∗ 5 +C) 的张量。
论文在PASCAL VOC上进行实验,S=7,B=2,PASCAL VOC有20个类别标记,因此C=20。最后预测值为7 × 7 × 30的

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值