【Faster RCNN源码解读/复现】Faster RCNN网络总览

写在前面

博主是一名刚转行CV不久的一枚小硕,大约半年前对目标检测相关的几个经典网络(RCNN, Fast RCNN, Faster RCNN, YOLO, SSD)等有一些简单的了解(听说而已)。这学期转行以来,准备从Faster RCNN着手,研读论文,理解并努力复现源码。经过大约一个月的努力,Faster RCNN已基本上复现完成,借CSDN平台,分享自己的一些理解和感悟,希望和大家一起进步。

网络框图

在读完Faster RCNN论文之后,可以知道,Faster RCNN总体上可分为三部分,如下图所示,

  1. 用于提取图像特征,实现参数共享的多个卷积层;
  2. 用于得到Proposal(候选框)的RPN层,这也是Faster RCNN最经典的部分;
  3. 用于完成分类和边界框回归的RoI Pooling层和分类层。

Faster RCNN结构图
在实现网络的过程中,必定会将这三部分进一步地划分为最小的功能单元。

对于提取特征的卷积层,通常使用VGG、ResNet等预训练模型,当前,也可使用ShuffleNet、Inception等实现,只需要在搭建出相应网络的基本结构,下载预训练模型并在源码上做出相应的更改即可;

对于RPN层,又可分为产生anchors的generate_anchors层,对anchors进行前景/背景分类和boungding box回归的rpn_anchor_target层,以及产生最终用于目标检测的proposals的proposal_layer;

对于ROI_Pooling层,则需要将尺寸不一的proposals通过相关的Pooling技术,转换为同样的尺寸,只有这样,才能将这些proposals作为一个batch输入分类层;

对于分类层,不单单是分类的功能,要同时实现分类和bounding box回归的功能,通过两个全连接层实现,完美地将分类任务和回顾任务相结合。

写在后面

接下来一段时间,将会基于PyTorch源码及自己复现源码,对Faster RCNN各部分进行解析。
欢迎关注!

参考
  1. https://www.cnblogs.com/wangyong/p/8513563.html
  2. Faster R-CNN: Towards Real-Time Object
    Detection with Region Proposal Networks
  3. https://github.com/jwyang/faster-rcnn.pytorch
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值