Fast R-CNN 笔记

前言
1.本文重点是测试过程、训练过程以及损失函数三大模块,尽量用较少篇幅表达清楚论文算法,其他一些不影响理解算法的东西不做赘述
2.博客主要是学习记录,为了更好理解和方便以后查看,当然如果能为别人提供帮助就更好了,如果有不对的地方请指正(论文中的链接是我经过大量搜索,个人认为讲解最清楚的参考)

论文链接
代码链接
论文翻译

创新点
1.用RoI 池化统一特征框的尺寸
2.不考虑selective search的情况下,实现了end-to-end训练
3.SVD对网络加速

注:
roi pooling可以看做SPP Net 中Spatial Pyramid Pooling在单一尺度的情况

数据集
R-CNN

测试过程
1.待检测图片
2.用selective search提取2000个候选框,把图片和候选框输入给CNN提取特征,输出经过卷积网络的特征图
3.根据原图像将候选框映射到特征图的对应位置,获得特征框,并且用RoI 池化将特征框统一尺寸
4.特征框经过全连接层之后经过两个预测分支,一个预测类别,一个预测位置(Bounding-box)
5.最后再根据得分分别对每一类进行非极大值抑制,得到最终的Bounding-box
注:
1)R-CNN网络的输入是2000个候选框框住的图片部分经过统一缩放尺寸;而Fast R-CNN的输入则是原始图片和2000个候选框(是候选框,也就是位置坐标,不是框住的图片)
2)测试过程3之所以等同于把2000个候选框框住的图片抠出来再缩放到统一尺寸然后丢入CNN网络提取特征,是因为原始图片和特征图之间有映射关系,所以候选框在原始图像上的位置也就是特征框特征图上的位置,这样就避免了把2000个候选框都进行特征提取的操作,之所以要用RoI 池化是因为后面要接全连接层(全连接层需要固定的输入尺寸)
3)测试过程4中预测类别分支就是21类的softmax(20类+背景);预测位置分支就是20x4的矩阵,4表示检测框回归偏移
4)不再使用SVM而是直接使用softmax进行分类也是因为作者通过试验发现在Fast R-CNN中softmax效果更好,这样就可以不用单独训练SVM了,同时也不再需要额外的磁盘空间

训练过程
(因为不再需要训练SVM,所以就不再像R-CNN那样分模块训练,但是在PASCAL VOC上进行微调之前还是要在ILSVRC上进行预训练)
1.在ILSVRC上进行预训练,训练网络对图片的特征提取能力
2.在PASCAL VOC上进行微调,训练最终的检测
微调数据集样本划分(参考
正样本:与某类Ground Truth相交IoU∈[0.5,1]的候选框(25%)
负样本:与20类Ground Truth相交IoU中最大值∈[0.1,0.5)的候选框(75%)
注:
1)Fast R-CNN的微调的目的不只是R-CNN那样训练网络的提取特征能力,而是训练整个网络最后类别和位置的预测能力
2)微调前需要对预训练模型的改动:RoI池化层取代VGG-16网络最后一层池化层;VGG-16网络的最后一层全连接层和softmax层改为两个预测分支,分支一是全连接层1+21类softmax输出(20种类+背景),分支二是全连接层2+Bounding-box回归;网络由原来单输入(图像)修改为双输入(图像和图像中的候选框)
3)训练样本(Rol)的batch size=R,如果样本来自N张图像,则每张图像提供的样本为R/N个,来自同一张图像的样本可以共享计算和内存,N越小,一个batch的计算量就越小,但是来自相同图像的样本是相关的,可能会导致收敛变慢,作者通过试验得到R=128,N=2时效果好

损失函数
损失函数包括分类和回归:
在这里插入图片描述
u为真实类别,指示函数表示当u为背景时不计算回归损失
分类损失:
在这里插入图片描述
pu表示真实类别u对应的概率

回归损失:
在这里插入图片描述
其中预测平移缩放参数和真实平移缩放参数分别如下所示
在这里插入图片描述 在这里插入图片描述

注:
1)回归损失的输入和R-CNN中回归器的输入是一样的,只是把L2损失函数换成了smoothL1损失函数

Fast R-CNN缺点
1.Fast R-CNN依旧采用selective search提取候选框,浪费时间,整个算法严格来说不算端到端

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值