目标检测 Fast R-CNN 论文笔记

目标检测 Fast R-CNN 论文笔记


摘要

  • 此篇文章是 Ross Girshick 大牛在微软研究所单撸出来的一篇文章。基于14年 R-CNN 的大获成功,作者提出了其改进算法 Fast R-CNN 。Fast R-CNN 在VGG16 network下训练速度比R-CNN快了9倍,测试时间更是缩短了213倍,不仅如此,mAP也达到了最高水平。作者也在github上传了源码,可以点此下载

简介

  • 对R-CNN尚不了解的同学可以看看这里。简而言之,R-CNN实现的分成这么四步:
    • 利用 selective research 在一张图像中选出2000个候选框(即可能存在目标的区域);
    • 将每个候选框 warp 成固定大小的图像(例如227*227),送入CNN提取4096维的 feature map;
    • 对于这2000个 feature map ,利用SVM分类器进行分类,判断它是属于某个特定类还是背景;
    • 使用回归器进一步调整边界框的位置。
  • 作者认为目标检测的高复杂度源于两个问题:一是无数的候选框都要被运行一次,以判定其类别;二是这些候选框只提供了一个大致位置,后期还需要细调。
  • 传统的R-CNN已经做得很好了,但还是存在几个问题:
    • 训练是一个多阶段过程。R-CNN的训练分成三步(和实现不一样!),先训练CNN网络,再训练SVM,再训练边界框回归。这样实在有点复杂;
    • 训练耗时又耗空间。 在诸如VGG16的深度网络下,程序可能要花几天来训练,生成的特征图也多达几百G;
    • 目标检测速度慢。如果使用VGG16,在GPU下一张图需要47秒来检测。
  • 之后有人提出 SPPnet 来改进R-CNN的速度。一张图片通过CNN**只生成一个公用的feature map**,而不是每个候选框都生成一个。然而,SPPnet的缺点还是很明显。
  • 基于R-CNN和SPPnet的缺点,作者再次提出了Fast R-CNN,它具有如下优点:
    • 更高的mAP;
    • 训练只有一个阶段,且使用multi-task loss;
    • 训练可以更新所有的网络层;
    • 不需要硬盘来缓存特征图。

网络结构和训练策略

  • 论文中给出的网络结构图如下图。首先,网络的输入有两个:原始图像和候选区域(region of interest, ROI)。首先,卷积网络对整张图像提取出提取出feature map;接着,每个ROI都通过生成的这feature map提取出一段特征向量,且通过ROI pllling层框定尺寸;最后,每个特征向量通过全连接层(FC)输出两个内容:softmax分类边界框
    image_1bdg1p1co1fnr1iin1ldg46gcd9.png-183kB

ROI pooling

  • ROI pooling是本文章中的一个重点,它实现的功能是将任意大小的矩形区域通过池化转变为统一的尺寸。在此借用 shenxiaolu1984大神博客 的示意图。可以看见,假如输出固定尺寸是H * W,则上一层的任何一个矩形框ROI都被平均分割为H * W个小块,每个小块进行一次max pooling操作,选出小块中的最大值。
    此处输入图片的描述

多任务损失

  • 由网络结构可知,输出有softmax分类边界框两个。作者设定了一个multi-task损失来衡量两个输出和真实值的差异。损失函数如下表式:
    L(p,u,tu,v)=
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值