Fast R-CNN

R-CNN存在的问题

1.R-CNN训练是多层次的流水线进程:R-CNN网络训练过程分为ILSVRC 2012样本下的有监督预训练、PASCAL VOC 2007特定样本下的fine-tuning、20个SVM分类器训练、20个bounding box回归器训练,训练流程复杂繁琐。同时测试过程包括提取建议框、提取CNN特征、SVM分类、bounding box回归等步骤,过于繁琐。
2.R-CNN训练过程在空间和时间上的代价都很大:R-CNN网络中会有SS对一张图片提取2000个建议框,所有的建议框都要进入CNN网络进行特征提取,会出现特征提取冗余的情况。同时,分类器和回归器在训练过程中都需要存储空间来存储从CNN中提取的特征。
3.R-CNN目标检测的速度很慢:在测试阶段,在每一张测试图片上都会从每个目标候选框提取特征,采用VGG16网络的检测速度是47s/每张图片。

Fast R-CNN怎么解决问题

Fast R-CNN的网络结构如下图所示:
在这里插入图片描述
1.任意size的图片输入CNN网络,经过若干卷积层和池化层,得到特征图。
2.在任意size的图片上采用SS得到2K个建议框。
3.根据原图中建议框和特征图的映射关系,在特征图中找到每个建议框对应的特征框,并在ROI池化层中将每个特征框池化到H×W的size。
4.固定H×W大小的特征框经过全连接层得到固定大小的特征向量。
5.将第4步得到的特征向量经由各自的全连接层,分别得到两个输出向量:一个是softmax的分类得分,一个是bounding box窗口回归。
6.利用窗口得分分别对每一类物体进行NMS剔除重叠建议框,最终得到每个类别中回归修正后得分最高的窗口。
算法流程框图如下所示:
在这里插入图片描述

算法过程的解释分析

1.为什么测试过程可以只进行一次CNN提取特征的操作?
先看R-CNN,采用SS的方法提取2000个建议框,再对这2000个建议框进行特征提取,这其中会有大量重复特征提取的过程,导致整个操作非常耗时。事实上,我们不需要对每个建议框都进行特征提取操作,只需要先对整张图片进行1次特征提取,然后找出2000个建议框在特征图中对应的区域(称为特征框),这样就能避免大量冗余的特征提取操作,提高速度。
2.为什么要将每个建议框池化到H×W的size?如何实现?
其实像R-CNN中AlexNet网络在提取特征的过程中对图像的尺寸并无要求,只是在提完特征进行全连接操作时才需要固定特征尺寸。所以Fast R-CNN可以输入任意size的图片,并在全连接操作之前加入ROI池化层,将特征框的大小池化到H×W的size。那具体怎么实现这个过程呢?首先,假设特征框的大小为h×w,将其划分成H×W个窗口,每个子窗口的大小为h/H×w/W,然后对每个子窗口采用max pooling下采样操作,每个子窗口只取一个最大值,最终将特征框池化到H×W的size。
3.为什么要用SVD分解实现Fast R-CNN网络中最后的全连接层?
在目标检测任务中,SS算法提取的建议框比较多,几乎有一半的时间被用到全连接层的计算上,就Fast R-CNN而言,ROI池化层后的全连接层需要进行约2000次,因此在Fast R-CNN中采用SVD分解加速全连接层的计算。
4.为什么不沿用R-CNN中SVM的分类形式?
Fast R-CNN中作者分别对使用SVM和使用softmax进行了对比分析,发现不管使用哪种网络,采用softmax的mAP都比采用SVM的mAP高,这是由于softmax在分类过程中引入了类间竞争,分类效果更好。

创新点

1.避免了R-CNN中特征提取的冗余操作,只对整张图像进行一次特征提取操作。
2.用ROI池化层代替了最后一层max pooling层,同时引入建议框信息,提取相应建议框特征。
3.网络最后采用并行的不同的全连接层,可以同时输出分类结果和窗口回归结果,实现了端到端的训练,也不需要额外的特征存储空间。
4.采用SVD技术对网络最后并行的全连接层进行分解,减少了计算的复杂度,加快检测速度。

还存在的问题

1.Fast R-CNN中还是采用SS算法提取候选区域,而且整个目标检测过程的大部分时间都耗在这里(SS候选区域提取需要2-3s,而特征分类只需要0.32s)。
2.因为使用selective search来预先提取候选区域,Fast RCNN并没有实现真正意义上的端到端训练模式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值