RCNN将特征提取、分类、回归任务交给了CNN来做;

Fast-RCNN在RCNN的基础上,增加了ROI pooling,注意这里的proposal还是外部提取出来的。

Fast R-CNN的处理流程如上图所示:(1)使用CNN网络提取底层特征(这些特征是整幅图像上所有的Proposal公用的,节省了R-CNN中的计算量);(2)自己写了一个ROI Pooling层,从数据层得到ROIs,即:每一个Proposal的坐标,映射到FeatureMap上的对应位置,把该位置的矩形分成7*7的块,使用max Pooling提取一个维数固定为49的特征向量,送到两个全连接层中;(3)输出网络是两个全连接层,一个做分类,Loss层是SoftMaxWithLoss,一个做回归,Loss层是SmoothL1Loss。网络结构如下图所示。

从RCNN,Fast-RCNN到Fater-RCNN的演化过程

Fast R-CNN网络的一个缺陷:依赖外部算法提取Proposal,个数太多,仍然占用大量计算量。FasterR-CNN就是解决这个问题的。Faster R-CNN训练一个RPNRegion Proposal Network)网络来提取Proposal,个数大大减少,然后再结合FastR-CNN做分类和回归。

 从RCNN,Fast-RCNN到Fater-RCNN的演化过程

Faster R-CNN的处理流程如上图所示:(1)使用CNN网络提取底层特征;(2)训练RPN网络,提取Proposal(RPN的处理流程后面有描述);(3)使用现有的Proposal和底层图像特征,训练FastR-CNN做分类和回归。

RPN的处理流程如下图所示:(1)使用一个3×3的滑动窗口在Feature map上滑动,在每一个位置的中心点处遍历指定的scaleaspect ratio,提取Kanchor box;(2)类似FCN,使用卷积层对anchor box进行分类(前景和背景)和回归;(3)根据anchor box和标定的真值的重叠情况(IOU Intersection OverUnion)进行分类,找出正面样本、负面样本和不参与训练的样本(这些样本决定了网络应该怎么学习);(4)分类任务使用SoftmaxWithLoss层,回归任务使用SmoothL1Loss层,根据Loss调整RPN网络;(5RPN网络输出Proposal

从RCNN,Fast-RCNN到Fater-RCNN的演化过程

 Faster R-CNN的网络结构如下图所示,整个网络分成3部分:(1)提取anchor box,如图中的rpn_conv/3×3;(2)提取样本,如图中的rpn-data;(3FastR-CNN,如图中Proposal以下的网络结构。

从RCNN,Fast-RCNN到Fater-RCNN的演化过程

R-CNNFast R-CNNFaster R-CNN一路走来,都是为了减少重复计算,那么到了FasterR-CNN是不是没有重复计算了?不是。如上图中,ProposalN个,Proposal下面的网络结构(即:subnet)就需要计算N次,并且Proposal之间的重复比较多,subnet的计算量随之会很大。R-FCN就能够解决这个问题。




相关文章:

  • 2021-04-19
  • 2021-05-18
  • 2021-07-09
  • 2021-07-17
  • 2021-12-18
  • 2022-02-12
  • 2022-12-23
  • 2022-01-10
猜你喜欢
  • 2021-12-06
  • 2021-04-18
  • 2021-12-24
  • 2021-09-25
  • 2021-11-27
  • 2021-12-08
  • 2021-12-25
相关资源
相似解决方案