一、论文相关信息
文章发表在ICCV 2015的会议上
作者是Ross Girshick
文章链接可看Link
Fast R-CNN是对R-CNN的改进,在速度和检测精度上都有提升。
二、Fast R-CNN 解决了R-CNN和SPPnet 的问题
R-CNN存在三个问题
- R-CNN的训练是多阶段的流水线,速度慢。
- 训练的空间和时间花销大。
- 目标检测慢。
SPPnet的问题与R-CNN类似,不同在于R-CNN没有共享计算,而SPPnet有共享计算。但是SPPnet用微调的方法不能更新在空间金字塔池化前的卷积层。
因此Fast R-CNN的贡献是
- 有比R-CNN和SPPnet更高的检测性能。
- 训练是单阶段,使用多任务的loss。
- 训练能够更新所有的网络层。
- 不需要用磁盘存储特征。
三、Fast R-CNN的网络结构
Fast R-CNN首先用VGG网络提取图片的特征,然后对于每个对象在feature map上用RoI pooling层提取一个长度固定的向量。
每个特征向量都会被送到全连接层中。然后通过两个相似的分支,分别做识别和bbox回归。
RoI pooling layer
RoI pooling层使用max pooling把RoI里的特征转换成固定大小为HXW的feature map。
Multi-task loss
p是预测类别的概率,u是ground-truth类,v是ground-truth bbox,tu是类别u的预测bbox。两个loss分别是分类loss和回归loss。
几种优化方法
- 层次采样minibatches。利用特征共享提升训练性能。
- 尺度不变目标检测。采用图像金字塔。
- 截断SVD。压缩全连接层。
作者还提到稀疏的目标候选似乎能提升检测性能。
三、实验结果
Fast R-CNN在VOC12上取得了最高成绩,并且速度比其他方法快两个数量级。