深度学习-单发探测器(1)

一、简介
先前的对象检测方法都具有一个共同点:它们的网络中有一部分专门用于提供区域建议,然后由高质量的分类器对这些建议进行分类。 这些方法非常准确,但计算量大(低帧速率),换句话说,它们不适合在嵌入式设备上使用。进行对象检测的另一种方法是将这两个任务组合到一个网络中。 我们可以这样做,而不是让网络产生建议,而要拥有一组预定义的框来查找对象。使用网络后面各层的卷积特征图,我们在这些特征图上运行小型CONV滤波器,以预测类分数和边界框偏移量。

二、单发探测器
用卷积神经网络定位:
重用分类过程中已经进行的计算以定位对象的一种方法是从最终转换层中获取激活信息。 此时,我们仍具有空间信息,但以较小的形式表示。 例如,将尺寸为640x480x3的输入图像传递到初始模型中,则将其空间信息压缩到其最终层上的13x18x2048尺寸。

在这里插入图片描述

在这里插入图片描述

发生的是,在最后一层上,每个“像素”代表输入图像的较大区域,因此我们可以使用这些单元格来推断对象的位置。要注意的一件事是,即使我们将图像压缩到较低的空间尺寸,张量也很深,因此不会丢失太多信息。 (使用池化层时,这并非完全正确)。
此时,假设您可以使用1x1 CONV层将每个单元格分类为一个类(例如,行人/背景),并且在同一层您可以附加另一个CONV或FC层以预测4个数字(边界框)。通过这种方式,您可以同时获得班级成绩和位置。
一个普遍的错误是认为我们实际上是在将输入图像划分为网格,这不会发生!实际发生的情况是,每个图层代表的输入图像的空间数据很少,但深度较大。在训练时间,我们将在地面实况和虚拟单元之间进行某种匹配。同样,这些单元实际上将重叠,但不能完全平铺。
同样关于检测次数,那些单元中的每个单元都可以检测到一个物体。因此,此模型的输出可能是13x18次检测。
如何获得边界框:
首先可能难以理解的一件事是,检测系统将细胞如何转换为适合对象上方的实际边界框。
以下是遵循此策略的对象检测器系列:
1、SSD:使用不同的激活图(多尺度)来预测类和边界框
2、YOLO:使用单个激活图来预测类和边界框
3、R-FCN(基于区域的全卷积神经网络):像Rcnn更快(400ms),但由于每盒计算量较少,它也更快(170ms),它也是全卷积(无FC层)
使用多个比例尺可以更好地检测图像上不同大小的物体,从而有助于实现更高的平均平均精度(mAP)。
总结这些方法的策略
1、用回归(边界框)和分类目标(损失函数)训练CNN。
2、通常,它们的损失函数会更复杂,因为它必须管理多个目标(分类,回归,检查是否存在对象)
3、从一个或多个特定层收集激活,以推断FC层或另一个像FC层一样的CONV层的分类和位置。
4、在预测期间,使用非最大值抑制之类的算法来过滤同一对象周围的多个框。
5、在训练期间,使用诸如IoU之类的算法来关联训练地面真相的预测。

在这种检测器上,通常有一组盒子在图像上的不同空间位置,比例和纵横比上叠加,充当“锚点”(有时称为“先验”或“默认盒子”)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值