(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 ...
随机推荐
- Codechef August Challenge 2018 : Modular GCD
传送门 一开始还手动拓欧找规律,发现好像玩不了. 然后想了想,A-B这个数比较小,枚举它的因子判断合不合法就行了. 需要特判A=B的情况. #include<cstdio> #includ ...
- 关于word粘贴图片无法显示的原因
今天在进行word文档粘贴图片编辑操作的时候,老是无法完整的显示图片.或者干脆就不显示图片,以为是qq截图的图片格式无法粘贴到word文档里面,用Photoshop更改图片的格式仍然无法显示(将png ...
- 数位DP HDU - 2089 不要62
不要62 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- 邮件服务器安装--Postfix + Dovecot + Squirrelmail--CentOS 6.4
英文原文链接 : http://www.unixmen.com/install-postfix-mail-server-with-dovecot-and-squirrelmail-on-centos- ...
- PHP Xdebug + PhpStorm调试远程服务器代码
1.服务器(linux centos)安装xdebug pecl install xdebug 注意看安装完成之后会显示 debug.so 的路径,记录下来 2.配置 php.ini如果不知道php. ...
- keras,tensorflow,numpy,jupyter
docker-tensorflow:https://segmentfault.com/a/1190000015053704 pip install scipy pip install keras do ...
- 2018-2019-2-20175303 实验二 《Java开发环境的熟悉》实验报告
2018-2019-2-20175303 实验二 <Java开发环境的熟悉>实验报告 姓名:柴轩达 学号:20175303 班级:1753 实验课程:JAV ...
- vlan分类简易解释
注:出自http://wushank.blog.51cto.com/3489095/1305510 收报文: Acess端口1.收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进 ...
- Django2.0.4 + websocket 实现实时通信,主动推送,聊天室及客服系统
webSocket是一种在单个TCP连接上进行全双工通信的协议. webSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据.在WebSocket API中,浏览器 ...
- mysql本地安装
1.下载地址: https://downloads.mysql.com/archives/community/ 2.安装: 解压目录:D:\mysql\mysql-5.6.36-winx64 2.1. ...