吴恩达神经网络和深度学习-学习笔记-44-anchor box

到目前为止(笔记)对象检测每个格子只能检测出一个对象。
如果想让一个格子检测出多个对象,就要使用anchor box这个概念。

简介

在这里插入图片描述
注意行人的中点和汽车的中点,都落入到同一个格子中。

anchor box的思路是:

  • 预先定义两个不同形状的anchor box。
    在这里插入图片描述
    对应的y也发生变化:
    在这里插入图片描述
    在这里插入图片描述

总结一下:

在这里插入图片描述
previously:
对于训练集图像中的每个对象,都根据那个对象中点位置,分配到对应的格子中。
所以输出y就是3×3×8。

anchor box:
现在每个对象都和之前一样分配到同一个格子中,但是它还分配到一个格子和一个和对象形状交并比最高的anchor box。
所以这里有两个anchor box,你就取这个对象,看看如果你的对象形状是这样的,你就看看哪一个anchor box和实际边界框的交并比更高。
不管选的是哪一个,这个对象不只分配到一个格子,而是分配到一对 (格子,anchor box) 对。
所以现在输出y就是3×3×16。

看一个具体的例子:

在这里插入图片描述
我们定义两个anchor box:
在这里插入图片描述
对应的y(有人有车的格子):
在这里插入图片描述

算法的缺陷:

  1. 对象数多于anchor box数
  2. 对象anchor box形状也一样

希望这种情况不会发生,但如果真的发生了,算法并没有很好的处理办法。对于这种情况,我们就引入一些打破僵局的默认手段。

==我们建立anchor box这个概念,是为了处理两个对象出现在同一个格子的情况。但实践中这种情况很少发生,特别是如果你用的是19×19网格而不是3×3的网格(两个对象中点处于361个格子中同一个格子的概率很低)。确实会出现,但出现频率不高。
也许设立anchor box的好处在于,anchor box能让你的学习算法能够更有针对性(特别是如果你的数据集有一些行人的很高很瘦的对象,还有像汽车这样很宽的对象),这样你的算法就能更有针对性的处理。

怎么选择anchor box

人们一般手工指定anchor box形状。
你可以选择5个到10个anchor box形状 ,覆盖到多种不同的形状,可以涵盖你想要检测的对象的各种形状

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值