目标检测:YOLO You Only Look Once

YOLO(You Only Look Once)是一种实时目标检测系统,通过统一的检测框架,直接从图像像素预测bounding boxes及类别概率。YOLO将图像分为网格,每个网格预测多个边界框,利用CNN进行特征提取和预测。相比于R-CNN等方法,YOLO速度快、全局上下文信息丰富,但对小目标和密集场景检测效果不佳。
摘要由CSDN通过智能技术生成

参考文献: Redmon J , Divvala S , Girshick R , et al. You Only Look Once: Unified, Real-Time Object Detection[J]. 2015.
项目主页: http://pjreddie.com/darknet/yolo/
包含理解!

You Only Look Once

Redmon J , Divvala S , Girshick R , et al.

1 Introduction

现在的 detection systems 将物体检测问题,最后会转变成一个分类问题。在检测中,detection systems 采用一个 classifier 去评估一张图像中,各个位置一定区域的 window 或 bounding box 内,是否包含一个物体?包含了哪种物体?(理解:RCNN的基本思想)

一些 detection systems,如 Deformable Parts Models(DPM),采用的是 sliding window 的方式去检测。

最近的 R-CNN、Fast R-CNN 则采用的是 region proposals 的方法,先生成一些可能包含待检测物体的 potential bounding box,再通过一个 classifier 去判断每个 bounding box 里是否包含有物体,以及物体所属类别的 probability 或者 confidence。这种方法的 pipeline 需要经过好几个独立的部分(理解:ROI生成+RNN+(SVM+边界框回归),至少两阶段),所以检测速度很慢,也难以去优化,因为每个独立的部分都需要单独训练。

本文将 object detection 的框架设计为一个 regression problem。直接从图像像素到 bounding box 以及 probabilities。这个 YOLO 系统如图看了一眼图像就能 predict 是否存在物体,他们在哪个位置,所以叫 You Only Look Once。

YOLO 的 idea 十分简单,如 Figure 1:
将图像输入单独的一个 CNN 网络,就会 predict 出 bounding boxes,以及这些 bounding boxes 所属类别的概率。YOLO 用一整幅图像来训练,同时可以直接优化 detection performance。
在这里插入图片描述
这样的统一的架构,对比之前如 R-CNN、Fast R-CNN 的 pipeline(区域建议ROI),有以下几点好处:

a. YOLO 检测系统非常非常的快。受益于将 detection 架构设计成一个 regression problem,以及简单的 pipeline。在 Titan X 上,不需要经过批处理,标准版本的 YOLO 系统可以每秒处理 45 张图像;YOLO 的极速版本可以处理 150 帧图像。这就意味着 YOLO 可以以小于 25 毫秒延迟的处理速度,实时地处理视频。同时,YOLO 实时检测的mean Average Precision(mAP,平均精度)是其他实时检测系统的2倍。

b. YOLO 在做 predict 的时候,YOLO 使用的是全局图像。与 sliding window 和 region proposals 这类方法不同,YOLO 一次“看”一整张图像,所以它可以将物体的整体(contextual)的 class information 以及 appearance information 进行 encoding。目前最快最好的Fast R-CNN ,较容易误将图像中的 background patches 看成是物体,因为它看的范围比较小。YOLO 的 background errors 比 Fast R-CNN 少一半多

c. YOLO 学到物体更泛化的特征表示。当在自然场景图像上训练 YOLO,再在 artwork 图像上去测试 YOLO 时,YOLO 的表现优于 DPM、R-CNN 。

2 Unified Detection(统一检测)

YOLO 检测系统首先将输入图像分成S*S个 grid(小格),如果一个物体的中心掉落在一个 grid cell 内,那么这个 grid cell 就负责检测这个物体。

每个 grid cell 预测B个 bounding boxes,每个 bounding box 包含了5个predictions:Center_x,Center_y表示bounding box 的中心点坐标;width,height表示bounding box宽度高度;confidence表示置信度, confidence = P(object)* IOU,其中, P(object)表示包含目标的概率,IoU 值(intersection over union, IOU=交集部分面积/并集部分面积,2个box完全重合时IOU=1,不相交时IOU=0)。

理解:为什么置信度是包含目标的概率乘以IOU,损失函数中计算定位损失时不相当于衡量了IOU,在损失函数计算分类损失时只用是否包含目标的概率不行吗?答:置信度衡量了是否包含目标的概率和与真实框之间的重叠度,如果不考虑IOU,在做nms时,容易把概率大的框保留下来,即使这个框包含真实目标的IOU并不大(举例,一个框概率0.998,IOU为0.8,;另一个框概率0.999,IOU为0.5,容易保留第二个框)。此外,车牌检测中也计算了有无车牌的概率,是否要乘以IOU?答:车牌很多倾斜,IOU度量不准确,可用其他指标度量。

每个 grid cell 预测C个条件类别概率

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值