目标检测之单步检测(Single Shot detectors)

前言

像RCNN,fast RCNN,faster RCNN,这类检测方法都需要先通过一些方法得到候选区域,然后对这些候选区使用高质量的分类器进行分类。这类方法的检测准确率比较高但是计算开销非常大,不利于实时检测和嵌入式等设备。
另一类方法是将提取候选区和进行分类这两个任务融合到一个网络中。既不使用预定义的box也不使用候选区生成网络来进行寻找目标物体。而是通过一些的卷积核来对卷积网络得到的特征来计算类别分数和位置偏差。

利用卷积神经网络进行区域定位

利用卷积神经网络来进行的分类任务中,通常网络结构最后都有一个全连接层来计算属于各个类别的概率值。例如对于输入为640×480像素的三通道图像,经过多个卷积层池化层以后得到13x18×2048通道的特征图,相当于把原图“划分”(并不严谨)成13×18的小区块(cell)。

原来的图像由640×480像素压缩到13×18cell,每个cell代表了原图的大范围的区域,我们可以在检测目标物体是否在cell内出现。另外每个cell的信息由2048维的向量表示,因此图像信息并没有丢失太多(除非使用较多的池化层)。
对于每个cell,你可以想象使用1×1卷积层(关于1×1卷积,你可以看这里)来对每个cell进行分类(前景还是后景),同样你也可以连接上其他的卷积层或全连接层来预测Bounding box的坐标:(x,y,w,h),这样你就可以在一个过程中得到类别评分和位置的预测值。
可能有人认为这个过程就是简单的把原图像直接划分为几个网格,这样想就错了。这个过程虽然是用少数的几个cell来代表整张图像,但是cell的特征维度很高,而且cell之间会有一些重叠并非平铺的。在训练的时候,我们还需要对真实的标注和虚拟的cell之间进行一系列的匹配。

如何得到bounding box

可能一开始会让人理解困难的是检测网络是如何将cells物体实际的bounding box,以下是一些使用单步检测策略的目标检测方法:

  1. SSD:Uses different activation maps (multiple-scales) for prediction of classes and bounding boxes
  2. YOLO: Uses a single activation map for prediction of classes and bounding boxes
  3. R-FCN(Region based Fully-Convolution Neural Networks): Like Faster Rcnn (400ms), but faster (170ms) due to less computation per box also it's Fully Convolutional (No FC layer)

使用多尺度有助于实现更高的mAP(mean average precision),能更好的对不同大小的目标进行检测。
这类方法使用的策略总结:

  1. 训练一个卷积神经网络作为bounding box的回归器和目标物体的分类器。
  2. 通常,它们的损失函数更复杂,因为它必须实现多个任务(是否存在目标物体、分类、回归)
  3. 从多个层总结激活结果,然后使用全连接层或特殊的卷积层(工作过程和全连接层类似)来实现分类和确定位置。
  4. 在预测期间,使用算法例如非极大值抑制来过滤围绕相同对象的多个框。
  5. 在训练时,使用IoU来表示预测值和真实标签值之间的差距大小。

这类单步检测网络,都会有许多的互相重叠的cell,这些cell有不同的空间位置,尺度,这些cell被称为“anchors”(有时也被称作“priors”,“default boxes”)。

目标检测之单步检测(Single Shot detectors)的更多相关文章

  1. 【计算机视觉】目标检测之ECCV2016 - SSD Single Shot MultiBox Detector

    本文转载自: http://www.cnblogs.com/lillylin/p/6207292.html SSD论文阅读(Wei Liu--[ECCV2016]SSD Single Shot Mul ...

  2. SSD: Single Shot MultiBox Detector论文阅读摘要

    论文链接: https://arxiv.org/pdf/1512.02325.pdf 代码下载: https://github.com/weiliu89/caffe/tree/ssd Abstract ...

  3. 目标检测--SSD: Single Shot MultiBox Detector(2015)

    SSD: Single Shot MultiBox Detector 作者: Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, ...

  4. 带你读AI论文丨用于目标检测的高斯检测框与ProbIoU

    摘要:本文解读了<Gaussian Bounding Boxes and Probabilistic Intersection-over-Union for Object Detection&g ...

  5. SSD: Single Shot MultiBoxDetector英文论文翻译

    SSD英文论文翻译 SSD: Single Shot MultiBoxDetector 2017.12.08    摘要:我们提出了一种使用单个深层神经网络检测图像中对象的方法.我们的方法,名为SSD ...

  6. 翻译SSD论文(Single Shot MultiBox Detector)

    转自http://lib.csdn.net/article/deeplearning/53059 作者:Ai_Smith 本文翻译而来,如有侵权,请联系博主删除.未经博主允许,请勿转载.每晚泡脚,闲来 ...

  7. SSD(Single Shot MultiBox Detector)的安装配置和运行

    下文图文介绍转自watersink的博文SSD(Single Shot MultiBox Detector)不得不说的那些事. 该方法出自2016年的一篇ECCV的oral paper,SSD: Si ...

  8. SSD: Single Shot MultiBox Detector

    By Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang Fu, Alexande ...

  9. SSD(single shot multibox detector)

    SSD,全称Single Shot MultiBox Detector,是Wei Liu在ECCV 2016上提出的一种目标检测算法,截至目前是主要的检测框架之一,相比Faster RCNN有明显的速 ...

随机推荐

  1. Linux学习笔记(一):什么是挂载?mount的用处在哪?

    关于挂载的作用一直不是很清楚,今天在阅读教材时看见了mount这个命令,发现它的用处很隐晦但非常强大.奈何教材说的不明朗,因此在网上整合了一些优秀的解释,看完之后豁然开朗. 1.提一句Windows下 ...

  2. linux入门系列4--vi/vim编辑器

    上一篇文章"linux入门系列3--linux远程登陆工具"讲解了如何使用常用的工具远程连接和管理linux服务器,要管理服务器必然会涉及到脚本文件的创建.编辑工作,因此在介绍命令 ...

  3. Spring Boot 集成 Seata 解决分布式事务问题

    seata 简介 Seata 是 阿里巴巴2019年开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务.在 Seata 开源之前,Seata 对应的内部版本在阿里内部一 ...

  4. Neo4j集群容器化部署

    集群基本配置(示例) core servers: 10.110.10.11, 10.110.10.12, 10.110.10.13read replicas: 10.110.10.14, 10.110 ...

  5. 小白学Java:迭代器原来是这么回事

    目录 小白学Java:迭代器原来是这么回事 迭代器概述 迭代器设计模式 Iterator定义的方法 迭代器:统一方式 Iterator的总结 小白学Java:迭代器原来是这么回事 前文传送门:Enum ...

  6. 交换一个数字的任意两个位置,指定K次的最值

    Anton has a positive integer n, however, it quite looks like a mess, so he wants to make it beautifu ...

  7. dfs 序 欧拉序

    推荐博客 :https://www.cnblogs.com/stxy-ferryman/p/7741970.html DFS序其实就是一棵树顺次访问的结点的顺序,例如下面这棵树 它的 dfs 序就是 ...

  8. Mybatis中jdbcType的类型

    具体支持的类型参见:org.apache.ibatis.type.JdbcType ARRAY, BIT, TINYINT, SMALLINT, INTEGER, BIGINT, FLOAT, REA ...

  9. django 数据库中的表生成model

    https://blog.csdn.net/weixin_34405354/article/details/93582647 还没有证实是否有效

  10. 一张图快速上手Xmind思维导图

    使用软件:Xmind8 pro版(可在网上找破解版),应用广泛,功能强大