Fast R-CNN

Abstract

Fast R-CNN采用了一些创新来提高训练和测试的速度,同时也提高了检测的准确率。Fast R-CNN训练深度VGG16网络比训练R-CNN快9倍,在测试时快213倍,并且在PASCAL VOC 2012数据集上获得了一个更高的平均平均准确率(mAP)。

目标探测算法有两个主要挑战:1、图像需要进行预处理来提取大量的候选区;2、这些目标候选区域仅仅是粗糙的定位,需要进行重新调整才能实现更精确的定位。而简化算法、算法效果、算法速度恰恰是相互抵触的!与R-CNN和SPP-net不同,Fast R-CNN提出了一种端到端的训练方法,简化了算法结构。文章列举了RCNN的缺点:

                 

而SPPNET虽然利用了共享特征图,但训练过程和RCNN一样繁琐,总结以上缺点就是:需要多阶段训练微调、占用空间大、训练和测试速度慢。而Fast RCNN就解决了以上问题,还取得了map的提升。

Fast RCNN网络结构

                                    

整个算法结构以整张图片和一组候选区域作为输入,网络首先对图片进行特征提取得到特征图,然后将特征图上对应的ROI提取为固定长度的特征向量,随后送入全连接层,最后一层全连接层被分为两个分支:一个分支是目标类别的概率输出(要额外加上背景这个类别);另一个是输出所有类别的四个值(左上角坐标、长宽)。

RoI layer其实就是spatial pyramid pooling layer一个特殊情况,只不过此文只考虑了单尺度的情况,作者也实验了多尺度的情况,虽然效果回好一些但计算力会极具增加。

为什么Fast RCNN会训练的快呢?

除了端到端(并不是真正的端到端,因为还有selective search步骤)的简化结构和训练流程的简化之外,还因为SGD训练时对数据的采样方式不同,R-CNN和SPPnet是从所有图片中均匀采样的,这样反向传播的效率是极低的,因为每个RoI很大概率都来自不同的图片中,并且每个RoI的感受野都是很大的,反向传播需要计算每一个RoI感受野的卷积层梯度,巨大的感受野和来自不同的图片会导致训练也就是BP效率极慢。而Fast RCNN是先对图像进行采样再获取采样图像中的ROI,在训练期间利用共享特征(共享计算)的优势,降低了运算开销。比如,仅采样N=2张图片,再获取ROI,与均匀采样相比快了64倍。作者猜想这样是否会出现一些问题呢?因为在同一图片中的ROI具有相关性,是否会影响到收敛?但结果表明并不会出现这个问题。

Multi-task loss

其中,[]是一个指示函数,用于控制只有目标才进行位置回归,背景类别就不需要进行位置回归。λ是超参数,用于控制均衡。

第一个为分类输出(N+1类),p为预测输出u为标签;第二项为bbox回归偏移loss,至于回归原理可以去看RCNN中的介绍,不同的是使用的loss函数为 L1 loss,L1 loss相比于L2 loss是更鲁棒的对一些异常值不敏感,Lioc公式表示如下:

                                               

对异常值更鲁棒是因为,当预测值和真实值相差较大时,可以防止梯度爆炸,画图即可得知。

                                                            

Back-propagation through RoI pooling layers.

ROI是怎样进行BP的,这篇博客讲的很好

Truncated SVD for faster detection

如果是一个普通的分类网络,那么全连接层的计算应该远不及卷积层的计算,但是针对object detection,Fast RCNN在ROI pooling后每个region proposal(数量太多)都要经过几个全连接层,这使得全连接层的计算占网络的计算将近一半,如下图,所以作者采用SVD来简化全连接层的计算。SVD在图像压缩上有应用。

                                                      
Do SVMs outperform softmax?

作者分别进行了实验,表明使用softmax的效果要好一些,训练效率上也比SVM要好!作者说softmax引入了类竞争机制,这个不太懂。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值