Region-Based Convolutional Networks for Accurate Object Detection and Segmentation

概括

这是一篇2016年的目标检测的文章,也是一篇比较经典的目标检测的文章。作者介绍到,现在表现最好的方法非常的复杂,而本文的方法,简单又容易理解,并且不需要大量的训练集。

文章的大致脉络如图。

产生region proposal

文章提到了滑窗的方法,由于滑窗的方法缺点非常明显,就是每次只能检测一个aspect ratio,所以确定object的框的大小很难确定,而且很笨重。而文章中采用的是selective search算法得到region proposal,这个算法是作者对比了多种方法后采取的方法。在实验的时候,作者描述可以用selective search得到大概2000个region proposal。

得到CNN features

这里作者是采用了训练好的网络来提取特征。首先在大训练集上使用使用CNN训练一个用于识别的网络,然后拿这个网络进行微调。具体的做法是,将softmax之前的fc层的输出变为要识别的类别数+1,1是背景,然后再在具体的训练集上进行小数据训练。最终要取的feature是每个region都丢进CNN,然后取softmax之前的fc层是输出值作为feature,这里要注意,输入网络的region的长宽都必须warp到CNN需要的长宽才能进行输入。

此外,作者还提到了 Visualizing Learned Features ,作者直接将某一层的特征视作分类,直接执行activation,得到activation之后的值按照从大到小排序,选取最大的几个,进行非最大抑制,显示得分最高的几个。作者称为“speak for itself”,这种方法可以直接可视化CNN中经过学习之后的内容。如作者可视化了TorontoNet的pool5 层,pool5的feature map是6✖6✖256=9216维的,而每个pool5层又代表原输入图像227✖227pixel的195✖195 pixel的部分,因此可以用来检查某一层是否学的正确。

下图是CNN对COV2007训练集进行微调后训练的pool5的激活后排名前16 的图像。这些层的选择是为了展示网络学习代表性的样本。

丢进SVM训练

从上面我们得到了CNN提取的feature,我们要做的是把这些feature丢进SVM进行训练,这里有多少个类就有多少个分类器负责某一类别的分类。

Bounding-Box Regression

上面训练完了,我们就知道那个region里的东西属于哪个类别,但是我们还需要用Bounding Box把这个类别的object给框起来,所以就需要Bounding-Box Regression.文章采用的是简单的线性回归模型来预测Bounding Box.抱歉公式不会打。只能粘贴论文原文。简单来说就是给定x,y,w,h预测对应的ground truth的x,y,w,h。然后就得到了bounding box。


链接:论文原文

[论文理解]Region-Based Convolutional Networks for Accurate Object Detection and Segmentation的更多相关文章

  1. [论文理解] Acquisition of Localization Confidence for Accurate Object Detection

    Acquisition of Localization Confidence for Accurate Object Detection Intro 目标检测领域的问题有很多,本文的作者捕捉到了这样一 ...

  2. 论文笔记:Rich feature hierarchies for accurate object detection and semantic segmentation

    在上计算机视觉这门课的时候,老师曾经留过一个作业:识别一张 A4 纸上的手写数字.按照传统的做法,这种手写体或者验证码识别的项目,都是按照定位+分割+识别的套路.但凡上网搜一下,就能找到一堆识别的教程 ...

  3. [论文理解] Learning Efficient Convolutional Networks through Network Slimming

    Learning Efficient Convolutional Networks through Network Slimming 简介 这是我看的第一篇模型压缩方面的论文,应该也算比较出名的一篇吧 ...

  4. 目标检测论文解读1——Rich feature hierarchies for accurate object detection and semantic segmentation

    背景 在2012 Imagenet LSVRC比赛中,Alexnet以15.3%的top-5 错误率轻松拔得头筹(第二名top-5错误率为26.2%).由此,ConvNet的潜力受到广泛认可,一炮而红 ...

  5. [论文理解] An Analysis of Scale Invariance in Object Detection – SNIP

    An Analysis of Scale Invariance in Object Detection – SNIP 简介 小目标问题一直是目标检测领域一个比较难解决的问题,因为小目标提供的信息比较少 ...

  6. 深度学习论文翻译解析(八):Rich feature hierarchies for accurate object detection and semantic segmentation

    论文标题:Rich feature hierarchies for accurate object detection and semantic segmentation 标题翻译:丰富的特征层次结构 ...

  7. VGGNet论文翻译-Very Deep Convolutional Networks for Large-Scale Image Recognition

    Very Deep Convolutional Networks for Large-Scale Image Recognition Karen Simonyan[‡] & Andrew Zi ...

  8. 目标检测论文阅读:Deformable Convolutional Networks

    https://blog.csdn.net/qq_21949357/article/details/80538255 这篇论文其实读起来还是比较难懂的,主要是细节部分很需要推敲,尤其是deformab ...

  9. 图像处理论文详解 | Deformable Convolutional Networks | CVPR | 2017

    文章转自同一作者的微信公众号:[机器学习炼丹术] 论文名称:"Deformable Convolutional Networks" 论文链接:https://arxiv.org/a ...

随机推荐

  1. MongoDB官方C#驱动的AsQueryable踩到坑了

    collection.AsQueryable().Where()有4个重载,分别是: public static IQueryable<TSource> Where<TSource& ...

  2. 网络编程demo之Udp和URL

    首先是udp编程客户端发送消息给服务端,服务端接受然后打印到console控制台上 下面是一个有代表性的demo package com.henu.liulei; import java.io.IOE ...

  3. linux下安装QQ等EXE文件

    安装好linux系统后,发现linux很多自带的软件用起来很不习惯,于是去网上下载QQ等在Windows下经常使用的exe文件. 发现这些文件无法安装,在网上找了一些解决办法,须下载wine,然后才可 ...

  4. Etherscan API 中文文档-交易以及检查交易收据状态

    本文原文链接 点击这里获取Etherscan API 中文文档(完整版) 完整内容排版更好,推荐读者前往阅读. 交易(Transaction) 交易相关的 API,接口的参数说明请参考Ethersca ...

  5. jquery jtemplates.js模板渲染引擎的详细用法第三篇

    jquery jtemplates.js模板渲染引擎的详细用法第三篇 <span style="font-family:Microsoft YaHei;font-size:14px;& ...

  6. Windows服务器初始配置

    系统状态是否良好 检查ip地址.子网掩码等配置 防火墙是否关闭 是否有攻击,有多大的攻击,什么类型的攻击,攻击流量图 是否中病毒 1.改端口 (1)打开注册表 [HKEY_LOCAL_MACHINE\ ...

  7. 洛谷P3884 二叉树问题

    题目描述 如下图所示的一棵二叉树的深度.宽度及结点间距离分别为: 深度:\(4\) 宽度:\(4\)(同一层最多结点个数) 结点间距离: \(⑧→⑥为8 (3×2+2=8)\) \(⑥→⑦为3 (1× ...

  8. 已知单链表的数据元素为整型数且递增有序,L为单链表的哨兵指针。编写算法将表中值大于X小于Y的所有结点的顺序逆置。(C语言)

    对此题目的完整示例可直接运行代码如下: #include <stdio.h> #include <stdlib.h> typedef struct LNode{ int dat ...

  9. Swing 实现的Gui链表

    https://gitee.com/dgwcode/MyJavaCode -Freight类可以实现的功能·构造方法:初始空车厢有5个·装货:当运往某地点的货物大于等于4个的时候,如果有空车箱,则先占 ...

  10. css 文本溢出时显示省略号

    .text-ellipsis { width:100px; height:60px; overflow: hidden;//隐藏滚动条 text-overflow:ellipsis; white-sp ...