FasterR-CNN的四个模块​分别是什么

Faster R-CNN的四个模块分别是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

为曲阳等地区用户提供了全套网页设计制作服务,及曲阳网站建设行业解决方案。主营业务为成都网站设计、成都做网站、曲阳网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

Faster R-CNN是R-CNN系列中第三个模型,经历了2013年Girshick提出的R-CNN、2015年Girshick提出的Fast R-CNN以及2015年Ren提出的Faster R-CNN。

Faster R-CNN是目标检测中较早提出来的两阶段网络,其网络架构如下图所示:

Faster R-CNN的四个模块​分别是什么  

可以看出可以大体分为四个部分:

  1. Conv Layers 卷积神经网络用于提取特征,得到feature map。
  2. RPN网络,用于提取Region of Interests(RoI)。
  3. RoI pooling, 用于综合RoI和feature map, 得到固定大小的resize后的feature。
  4. classifier, 用于分类RoI属于哪个类别。
 

1. Conv Layers

在Conv Layers中,对输入的图片进行卷积和池化,用于提取图片特征,最终希望得到的是feature map。在Faster R-CNN中,先将图片Resize到固定尺寸,然后使用了VGG16中的13个卷积层、13个ReLU层、4个maxpooling层。(VGG16中进行了5次下采样,这里舍弃了第四次下采样后的部分,将剩下部分作为Conv Layer提取特征。)

与YOLOv3不同,Faster R-CNN下采样后的分辨率为原始图片分辨率的1/16(YOLOv3是变为原来的1/32)。feature map的分辨率要比YOLOv3的Backbone得到的分辨率要大,这也可以解释为何Faster R-CNN在小目标上的检测效果要优于YOLOv3。

 

2. Region Proposal Network

简称RPN网络,用于推荐候选区域(Region of Interests),接受的输入为原图片经过Conv Layer后得到的feature map。

Faster R-CNN的四个模块​分别是什么    

RPN网络将feature map作为输入,然后用了一个3x3卷积将filter减半为512,然后进入两个分支:

一个分支用于计算对应anchor的foreground和background的概率,目标是foreground。

一个分支用于计算对应anchor的Bounding box的偏移量,来获得其目标的定位。

通过RPN网络,我们就得到了每个anchor是否含有目标和在含有目标情况下目标的位置信息。

对比RPN和YOLOv3:

都说YOLOv3借鉴了RPN,这里对比一下两者:

RPN:分两个分支,一个分支预测目标框,一个分支预测前景或者背景。将两个工作分开来做的,并且其中前景背景预测分支功能是判断这个anchor是否含有目标,并不会对目标进行分类。另外就是anchor的设置是通过先验得到的。

YOLOv3: 将整个问题当做回归问题,直接就可以获取目标类别和坐标。Anchor是通过IoU聚类得到的。

区别:Anchor的设置,Ground truth和Anchor的匹配细节不一样。

联系:两个都是在最后的feature map(w/16,h/16或者w/32,h/32)上每个点都分配了多个anchor,然后进行匹配。虽然具体实现有较大的差距,但是这个想法有共同点。

 

3. ROI Pooling

这里看一个来自deepsense.ai提供的例子:

RoI Pooling输入是feature map和RoIs:

假设feature map是如下内容:

Faster R-CNN的四个模块​分别是什么  

RPN提供的其中一个RoI为:左上角坐标(0,3),右下角坐标(7,8)

Faster R-CNN的四个模块​分别是什么  

然后将RoI对应到feature map上的部分切割为2x2大小的块:

Faster R-CNN的四个模块​分别是什么  

将每个块做类似maxpooling的操作,得到以下结果:

Faster R-CNN的四个模块​分别是什么  

以上就是ROI pooling的完整操作,想一想为何要这样做

在RPN阶段,我们得知了当前图片是否有目标,在有目标情况下目标的位置。现在唯一缺少的信息就是这个目标到底属于哪个类别(通过RPN只能得知这个目标属于前景,但并不能得到具体类别)。

如果想要得知这个目标属于哪个类别,最简单的想法就是将得到的框内的图片放入一个CNN进行分类,得到最终类别。这就涉及到最后一个模块:classification

 

4. Classification

ROIPooling后得到的是大小一致的feature,然后分为两个分支,靠下的一个分支去进行分类,上一个分支是用于Bounding box回归。

分类这个分支很容易理解,用于计算到底属于哪个类别。Bounding box回归的分支用于调整RPN预测得到的Bounding box,让回归的结果更加精确。

看完上述内容,你们掌握Faster R-CNN的四个模块分别是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!

本文题目:FasterR-CNN的四个模块​分别是什么
文章路径:https://www.cdcxhl.com/article14/ppidde.html

成都网站建设公司_创新互联,为您提供小程序开发企业网站制作做网站域名注册用户体验动态网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都做网站