目标检测(1)R-CNN

申明:本系列目标检测大部分内容转自以下链接,博主做了稍微修改,若侵犯权利,请联系删除,谢谢!

1)cs231n学习笔记-CNN-目标检测、定位、分割

2)基于深度学习的目标检测研究进展

-----------------------------------------------------------------------------------------------------------------

目标检测=where + what :给定一张图像或者视频帧,找出其中所有目标的位置,并给出每个目标的具体类别。

1.传统的目标检测

1)检测流程

    a)区域选择:在给定的图像上选择一些候选的区域(使用穷举策略,采用滑动窗口,且设置不同的大小,不同的长宽比对图像进行遍历)

    b)特征选择:对候选区域提取特征,SIFT,HOG等;

    c)分类器分类:使用SVM、Adaboost等;

2)传统方法存在的问题

    a)基于滑动窗口的区域选择策略没有针对性,时间复杂度高,窗口冗余。

    b)手工设计的特征对于多样性(目标的形态多样性,光照变化多样性,背景多样性等)的变化并没有很好的鲁棒性。

2. R-CNN(CVPR2014,TPAMI2015)
2.1 Region Proposal:可以解决滑动窗口的问题

1)候选区域(Region Proposal):预先找出图像中目标可能出现的位置。它利用了图像中的纹理、边缘、颜色等信息;

2)优点

    a)可以保证在选取较少窗口(几千设置几百)的情况下保持较高的召回率;

    b)大大降低了后续操作的时间复杂度;

    c)获取的候选窗口比滑动窗口的质量更高(滑动窗口固定长宽比);

3)常用的Region Proposal方法

    a)Selective Search

    b)Edge Boxes

2.2 R-CNN:可以解决特征鲁棒性的问题

1)基于R-CNN的目标检测流程:


                                      图 1 基于R-CNN的目标检测流程

    a)输入测试图像

    b)利用 selective search算法在图像中自下而上提取2000个左右的Region Proposal;

    c) 将每个Region Proposal缩放(warp)成227x227的大小并输入到CNN,将CNN的fc7层的输出作为特征;

        【对每个Region Proposal缩放到同一尺度是因为CNN全连接层输入需要保证维度固定

    d)将每个Region Proposal提取到的CNN特征输入到SVM进行分类;

    e)对SVM分好类的region proposal做边框回归(bounding-box regression);

        【边框回归是对region proposal进行纠正的线性回归算法,为了让region proposal提取到的窗口跟目标真实窗口更吻合。因为region proposal提取到的窗口不可能跟人手工标记那么准,如果region proposal跟目标位置偏移较大,即便是分类正确了,但是由于IoU(region proposal与Ground Truth的窗口的交集比并集的比值)低于0.5,那么相当于目标还是没有检测到。】

2)R-CNN的缺点

    a) 训练分为多个阶段,步骤繁琐: 微调网络+训练SVM+训练边框回归器;

    b)训练耗时,占用磁盘空间大:5000张图像产生几百G的特征文件;

    c)速度慢:使用GPU, VGG16模型处理一张图像需要47s;

    d)测试速度慢:每个候选区域需要运行整个前向CNN计算;

    e)SVM和回归是事后操作:在SVM和回归过程中CNN特征没有被学习更新;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值