【目标检测】YOLO: You Only Look Once

Redmon, Joseph, et al. “You Only Look Once: Unified, Real-Time Object Detection.” (2015):779-788.

概述

目标检测中的RCNN系列1算法遵循2-stage的流程:首先找出一系列(预先设定好的)候选区域,而后对这些候选区域进行分类以及位置修正。
YOLO则开启了1-stage的流派:直接用一个深度网络,回归出目标的位置和归类。

基础YOLO检测器的速度能够达到45 fps,更快的Fast YOLO则能够达到惊人的155 fps。

网络结构

YOLO将输入图像划分为 S × S S \times S S×S个网格(grid),并做了一个粗略的近似:每个网格最多含有一个目标。

这种近似显然影响YOLO对于密集小物体的召回率,但胜在速度很快。

对于每个网格,预测以下变量:

  • 【分类】该网格内目标属于每个类别的概率 p p p
  • 【定位】 B B B个bounding box,描述目标的位置 x , y x,y x,y和尺寸 w , h w,h w,h
  • 【定位】 B B B个confidence,描述相应bounding box是目标的置信度 C C C

对于较大,或者处于网格交界处的目标,可能需要由多个bounding box组合而成。这也是为bounding box预测置信度的原因。

每个bounding box可以专注于一种长宽比或者一类目标。

对于PASCAL VOC任务,类别数=20。设定 S = 7 S=7 S=7 B = 2 B=2 B=2。使用的网络如下图所示:
这里写图片描述

输入为448*448彩色图像,比RCNN系列增大一倍。

其中蓝色的卷积网络包含24或9个卷积层,基本遵循googLeNet2的设计,降采样为 2 4 2^4 24,输出771024的特征图。

两个绿色的全连层从特征图回归出每个网格的30个预测。

训练

标定与预测

如果目标的中心在一个网格内部,称为“目标在网格内”。

这里暗含假设:每个网格最多含有一个目标。论文中没有明确指出如何处理多个目标的情况,有待结合源码查看。

真实数据记为:

  • x i ^ , y i ^ \hat{x_i}, \hat{y_i} xi^,yi^:网格 i i i中目标的左上角位置
  • w i ^ , h i ^ \hat{w_i}, \hat{h_i} wi^,hi^:网格 i i i中目标的尺寸
  • C i j ^ \hat{C_{ij}} Cij^:网格 i i i的第 j j j个bounding box和目标的IOU
  • p i ^ \hat{p_i} pi^:网格 i i i的1-hot编码分类概率

对于每一个网格 i i i,输出 B B B定位结果(目标在哪里):

  • x i j , y i j x_{ij},y_{ij} xij
  • 3
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值