吴恩达深度学习_第四课(3)《目标检测》

目标定位

softmax函数进行分类操作,判断图片中是否存在行人、汽车和摩托车或是背景对象。
除此之外,我们可以让神经网络多输出几个单元,表示一个边界框,即bx,by,bh,bw这四个数字是被检测对象的边界框的参数。在这里插入图片描述

算法要做的就是:首先判断图里有没有目标,目标在哪,目标是什么,所以每次输出的y中包含这些参数值。
在这里插入图片描述
损失函数:当y1=1(存在检测目标),计算所有参数的损失函数。否则只计算y1的损失值,其他7个参数情况不关心。
在这里插入图片描述

特征点检测

可以用无数个坐标,表示目标的特征点
在这里插入图片描述

目标检测

基于滑动窗口的目标检测

  • 将目标剪切出来,训练卷积网络
  • 以一定大小的窗口扫描图片,将窗口内的图片输入卷积网络预测

在这里插入图片描述

滑动窗口目标检测算法缺点

  • 计算成本高,用小粒度或小步幅,窗口会特别多,卷积网络要一个个地处理
  • 用的步幅很大,窗口个数少,可能会影响性能

滑动窗口的卷积实现

下面这三个张量,可以视为:使用卷积层操作,实现全连接层效果。
在这里插入图片描述
当一张图很大的时候,可以对整张图进行卷积和池化,最终得到的 2x2x4 或 8x8x4 的张量中,相对位置仍然表示原图相对位置的特征。
在这里插入图片描述

Bounding box(边界框)预测

滑动窗口法中,离散的边界框可能没有一个能完美匹配目标

例如下图,输入100x100x3的图片,最终输出3x3x8的张量。

在这里插入图片描述
对边界框有一些解释:坐标xy在0到1;长宽可以超过1
在这里插入图片描述

交并比

评价算法是否精确:两个边界框交集和并集之比
在这里插入图片描述

非极大值抑制

可以防止对某个对象进行多次检测,非极大值抑制可以保证对每个对象只检测一次
在这里插入图片描述

  • 从所有框中选择检测概率最高的框,并将其他与之交并比较高的框抑制掉;
  • 除去抑制的然后找剩下框中概率最高的框, 再将与之交并比较高的框抑制掉。

理念是:保留极大概率的框,抑制接近极大概率但不是极大概率的框。

如果你尝试同时检测三个对象,比如说行人、汽车、摩托,那么输出向量就会有三个额外的分量。 事实证明,正确的做法是独立进行三次非极大值抑制,对每个输出类别都做一次

Anchor Boxes (锚箱)

处理一个格子中出现两个对象的情况,想让一个格子检测出来多个对象。
在这里插入图片描述

将之前定义的类别标签改为包含两个Anchor Boxes的标签,之前输出8个变量,现在输出16个变量。

在进行对象检测的时候,不只是分配一个格子,还会分配到一个与检测对象交并比较大的一个anchor box,即 (格子,Anchor box)对

这里有个例子:
在这里插入图片描述

算法处理不便的情况:

  • 如果你有两个anchor box,但同一格子有三个对象

  • 两个对象都分配到一个格子中,且它们的anchor box形状也一样,出现的概率比较小,对性能的影响应该不会很大

怎么选择 anchor box呢?

  • 一般手工指定anchor box形状,选择5到10个anchor box形状,覆盖多种不同的形状
  • k - means 算法,可以将两类对象形状聚类,选择最具有代表性的一组 anchor box,这是自动选择anchor box的高级方法

YOLO算法

  • 训练过程:

在这里插入图片描述

  • 非极大值抑制:

如果使用两个anchor box,那么9个格子中任何一个都会有两个预测的边界框,其中一个的概率很低。
接下来你抛弃概率很低的预测。

在这里插入图片描述
如果你希望检测(3种目标)行人,汽车和摩托车,那么你要做的是,对于每个类别单独运行非极大值抑制,运行三次最终得到预测结果。

候选区域

在每个区域跑一遍分类器

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值