(Review cs231n) Object Detection
目标:我们有几个类别,然后我们要在这张图中找到这些类的所有实例
解决思路:是否可以按照回归的思路进行求解呢?
但是受限制于确定的种类输出问题。
方法:分类和回归是解决问题的两个套路,我们现在对于目标的探测问题不把它看作是回归问题,
而是看作是分类问题。所以我们将一张图片的一部分作为分类器的输入,进行判断;再重复运行判断。
问题:如何确定窗口的大小?
答案就是把所以尺寸都是一次,但是这是低效的方法,太多不确定。同时需要加入两个东西:背景的类和多标签的分类(你可以加入很多正值,不计算softmax损失,现在有了独立归回的损失,多个类在一个点上,但是还是用了损失函数。)
问题:太多的点需要我们去计算?
不全部进行,只查看一些可能的区域,在很少的区域运行分类器。
历史的上的目标探测方法:
1.HOG(histogram of oriented gradient) 方向梯度直方图

基本思想计算在特征的基础上进行线性分类,这就是分类器,线性分类器的速度非常快;在不同的比例下, 计算整个图像的方向梯度直方图,针对不同的尺度,不同位置区域进行线性分类。
2.Deformable parts model(DPM)

还是基于HOG的线性分类,但是更为强大的线性分类器,允许形变,很快的运算速度。
3. Region Proposals
输入一张图像,输出所以可能存在目标对象的区域,不关心对象的具体类别,在图像中寻找一些整体相似的结构,有很多小框的图像区域产生框,在进行选择。

Region Proposals ----selective search
基于像素出发,像素颜色和纹理的区域进行合并,形成相连接的区域,不断合并,最后图像包含很多图像块的区域,减少了搜索的区域。

4. RCNN 将检测方法和分类结合在一起
基本思想就是基于区域的CNN方法,输入一张图像,应用选择性搜索的检测方法,得到大概2K个不同大小和不同位置的框,把每一个框内的图像区域裁剪出来,调整到固定的大小,然后通过CNN网络进行分类。
这个CNN网络最后分别连接回归端和一个应用的SVM的分类端,回归端可以对目标框进行微调。
RCNN的实现步骤:

对这个网络进行微调从而可以用于检测,因为这个分类模型是针对Imagenet的1000类进行训练,而你的检测数据集中类别数目不一样而且图像的统计特性也不一样,在网络最后加上新的几层来处理你的类别,
帮你处理图像数据中不同的统计特性,这里进行的分类过程,但不是针对整张图像的处理,只是对检测数据集图像中正的或负的区域进行分类,初始化网络层。

要把提取的特征存到磁盘中,所以对每一张图像运行选择性搜索算法,你要提取出的这些区域,并输入到CNN网络中,把这些区域的特征存到磁盘中。

接下来训练SVM,使它基于这些特征进行正确分类,训练二分类的SVM,能够区分这些图像区域中是否包含对象,希望图像中有多个正的区域,判断出多个类别,对不用的类分别训练一个二分类的SVM。

对区域框进行回归,有时候你的region proposal 并不完美,从存储的特征回推到region proposal 的更正,这个更正是一个有趣的格式化表示,实际上就是回推出一个更正因子(correction factor ),告诉我们需要向右移动,所以做一个线性回归。

用于检测的数据集

评估指标:
平均准确率(mean average precision,MAP)0-100的数字。

Fast RCNN
训练:整体训练

关键技术:ROI池化 (region of interest pooling)
当输入的图片,很大可能是一个高分辨率的,而且我们有目标框,由selective research 得到目标框,把这个高分辨图像输入到卷积池化,全连接层希望得到低分辨率的conv特征值,然而整个图片的特征是高分辨率的,解决方法,as follows:

对于给出的目标框,我们把它投射到那个conv feature 空间,并把conv feature volume切成小块,切成下游层需要的h*w网络。

对于每一小格,我们进行max-pooling,共享卷积特征值,最后提取出那个区域输出,

同时,只使用了max-pooling.我们知道如何BP,可以对这些region of interest pooling 层进行BP算法。

Fast Rcnn的优势
Rcnn 很慢,我们要分开运行每一个目标框,每一个候选区都要独立通过卷积层;
对于fast rcnn 我们对所有的候选区同时进行卷积。
问题又出现了! 对于推荐区域的选取,如果你将推荐区域的选取所花费的时间考量进来,之前的优势就非常的小。
在fast RCNN中,我们使用整张输入图片进行卷积,取代各个推荐区域进行卷积,在faster-RCNN中使用region proposal network 区域推荐网络来替代额外的区域推荐算法,获得卷积层最末端的特征图谱,从中获得推荐区域,其中比较关键的是区域推荐网络(region proposal network)

region proposal network
我们把卷积网络最后一层的特征图谱当作输入,将区域推荐网络添加到卷积神经网络上,对特征图谱进行滑窗
操作,这里的滑窗就是卷积,在区域推荐网络中,我们有两种相似的顶层结构,一边进行分类,一边判断图片中
是否包含检测目标,并进行回归,对位置信息做回归,滑窗和特征图谱之间的位置关联,表示我们查看的图片
哪一部分,回归得出的结果给出特征图谱中具体位置。

并不是直接对特征图谱中的位置进行回归,这里有几个形状固定的框,根据特征图谱点到初始图片点的关联,覆盖到
原始的图片上,在fast-RCNN中,我们将这些框从原始图片映射到特征图谱。现在,在faster-RCNN中我们将这些框从特征
图谱映射到原始图片,这里有n个卷积框,对特征图片进行卷积,对于每个框,每对一个区域进行卷积,它会产生一个评分
来判断这个框内是否有检测目标,还会输出四个回归坐标点,得到正确的框。

在faster-RCNN中,训练区域推荐网络,获得预测未知类的检测器。

Faster-RCNN的训练十分繁杂,包含四种损失,3*3卷积核,区域评分和坐标回归;是由3*3卷积核和一对1*1卷积核
对特征图谱做卷积得到,不同样式的卷积框,有着不同的位置和尺寸。

特征图谱上的点和原始图片上的点有着对应关系,并不是将所有点都一一对应起来,我们选取图片的一些区域进行对应,我们需要对这些区域进行选取,做外部区域推荐的时候,你所做的是选取区域,然后进行卷积,你期待卷积能够对图像进行处理,卷积所包含的信息对区域选取十分有用,为了减少计算量。
在最后,对于划分,你使用的同样的卷积特征图谱,无论是区域推荐,还是接下来的分类和回归。
(Review cs231n) Object Detection的更多相关文章
- Paper Reading: Relation Networks for Object Detection
Relation Networks for Object Detection笔记 写在前面:关于这篇论文的背景知识,请参考我前面的两篇随笔(<关于目标检测>和<关于注意力机制> ...
- 论文阅读笔记五十五:DenseBox: Unifying Landmark Localization with End to End Object Detection(CVPR2015)
论文原址:https://arxiv.org/abs/1509.04874 github:https://github.com/CaptainEven/DenseBox 摘要 本文先提出了一个问题:如 ...
- [Localization] YOLO: Real-Time Object Detection
Ref: https://pjreddie.com/darknet/yolo/ 关注点在于,为何变得更快? 论文笔记:You Only Look Once: Unified, Real-Time Ob ...
- Viola–Jones object detection framework--Rapid Object Detection using a Boosted Cascade of Simple Features中文翻译 及 matlab实现(见文末链接)
ACCEPTED CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION 2001 Rapid Object Detection using a B ...
- tensorfolw配置过程中遇到的一些问题及其解决过程的记录(配置SqueezeDet: Unified, Small, Low Power Fully Convolutional Neural Networks for Real-Time Object Detection for Autonomous Driving)
今天看到一篇关于检测的论文<SqueezeDet: Unified, Small, Low Power Fully Convolutional Neural Networks for Real- ...
- 论文阅读(Chenyi Chen——【ACCV2016】R-CNN for Small Object Detection)
Chenyi Chen--[ACCV2016]R-CNN for Small Object Detection 目录 作者和相关链接 方法概括 创新点和贡献 方法细节 实验结果 总结与收获点 参考文献 ...
- deep learning on object detection
回归工作一周,忙的头晕,看了两三篇文章,主要在写各种文档和走各种办事流程了-- 这次来写写object detection最近看的三篇文章吧.都不是最近的文章,但是是今年的文章,我也想借此让自己赶快熟 ...
- 论文阅读之 DECOLOR: Moving Object Detection by Detecting Contiguous Outliers in the Low-Rank Representation
DECOLOR: Moving Object Detection by Detecting Contiguous Outliers in the Low-Rank Representation Xia ...
- 目标检测--Rich feature hierarchies for accurate object detection and semantic segmentation(CVPR 2014)
Rich feature hierarchies for accurate object detection and semantic segmentation 作者: Ross Girshick J ...
随机推荐
- Python字符串的相关操作
1.大小写转换 判断字符串 s.isalnum() #所有字符都是数字或者字母 s.isalpha() #所有字符都是字母 s.isdigit() #所有字符都是数字 s.islower() #所有字 ...
- json 函数
一, json序列化和反序列化 JSON.stringify( ) —— 将对象序列化为JSON字符串 JSON.parse( ) —— 将JSON数据解析为Javascript对象 二,判断json ...
- (66)Wangdao.com第十一天_JavaScript 数组Array
数组 Array 本质上,数组属于一种特殊的对象.typeof 运算符会返回数组的类型是 object 数组的特殊性体现在,它的键名是按次序排列的一组整数(0,1,2...) // Object.ke ...
- Python练手例子(5)
25.求1+2!+3!+...+20!的和. 程序分析:此程序只是把累加变成了累乘. #python3.7 n = 0 s = 0 t = 1 for n in range(1, 21): t *= ...
- 经过N条边的最短路
http://acm.pku.edu.cn/JudgeOnline/problem?id=3613 求经过N条边的最短路 (2 ≤ N ≤ 1,000,000) 倍增floyd,主体是矩阵乘法.考虑一 ...
- 如何将两个PDF文件合并到一个页面中
在目前职场办公中,很多使用的文件格式是PDF文件格式,由于工作的需要,经常需要将PDF文件合并在一起,但由于PDF文件不能直接编辑修改,不能OFFICE,WPS那样,通过复制粘贴将两者合并,那如何解决 ...
- python 贪吃蛇
#!/usr/bin/python3 ''' 项目分析: -构成 -蛇Snake -实物Food -世界World -蛇和食物属于整个世界 class world: self.snake self.f ...
- sizeof操作符的一些例子
例一: #include <iostream> using namespace std; class A { public: char c; }; class B { public: in ...
- iOS 开发笔记 - 导航到地图
导航到地图,已经不是什么新鲜事了.网上有好多参考的资料,我总结出只需要两步 第一步:在info中加上支持的各平台 比如:iosamap高德地图.comgooglemaps谷歌地图.baidumap百度 ...
- OI养老专题01:约瑟夫问题
有M个人,其编号分别为1-M.这M个人按顺序排成一个圈.现在给定一个数N,从第一个人开始依次报数,数到N的人出列,然后又从下一个人开始又从1开始依次报数,数到N的人又出列...如此循环,直到最后一个人 ...