R-FCN,yolo-v2,FPN

发布于 2020-11-28  2510 次阅读


R-FCN,yolo-v2,FPN

前言

因为自己这段时间一直在生病,所以周报和总结都拖延了一周,今天我觉得好的差不多了,所以我就把这段学习的模型总结一下,因为这几个都是基于之前模型的改进(yolo,rcnn,rpn),所以理解起来也容易和方便了很多,看的也比较快了

R-FCN

1.解决问题

Faster RCNN对Fast RCNN产生region porposal的问题给出了解决方案,并且在RPN和Fast RCNN网络中实现了卷积层共享,但是其只对第一层进行了权重共享,对于后面还是使用全连接层进行计算,由于全连接层计算量比全卷积层多了很多,但是对于卷积网络我们认为它具有位置不敏感性(在分类问题中无论分类物在哪个位置都可以分辨出),为了解决计算量大和目标检测的要求,作者提出了“position sensitive score map”位置敏感得分图这一概念,为了增加全卷积网络对位置的敏感性

2.网络架构

关键步放大

原始图片经过conv卷积得到feature map1,其中一个subnetwork如同FastRCNN:使用RPN在featuremap1上滑动产生region proposal备用;另一个subnetwork则继续卷积,得到$k^2(k=3)$深度的featuremap2,根据RPN产生的RoI(region proposal)在这些featuremap2上进行池化和打分分类操作,得到最终的检测结果

for example:

3.理解

$cls_1{1,2,3,...,C+1}$ $cls_2{1,2,3,...,C+1}$ $cls_3{1,2,3,...,C+1}$
$cls_4{1,2,3,...,C+1}$ $cls_5{1,2,3,...,C+1}$ $cls_6{1,2,3,...,C+1}$
$cls_7{1,2,3,...,C+1}$ $cls_8{1,2,3,...,C+1}$ $cls_9{1,2,3,...,C+1}$

这$3*3$个格子代表$C+1$的类别在对应位置的得分,而经过求和可以得到一个$1*(C+1)$的向量进行softmax,对于位置同样如此,得到$3*3$个格子里面有4个参数$reg\lbrace
x,y,w,h \rbrace$,类似分类的操作可以得到$1*4$的向量代表$x,y,w,h$

yolo-v2

yolo-v2在yolo的基础上集成了许多同阶段的其他论文中的方法,所以获得了质的提升

yolo-v2相关总结有非常多所以我就不总结了

我认为比较好的🔗

  1. YOLO V2学习总结_个人文章 - SegmentFault 思否
  2. 物体检测之YOLOv2 - 知乎 (zhihu.com)
  3. 目标检测|YOLOv2原理与实现(附YOLOv3)-CSDN博客

FPN

FPN不是一个独立的算法,而是一个backbone

论文作者列举了4种金字塔方式

  1. 图像金字塔,即将图像做成不同的scale,然后不同scale的图像生成对应的不同scale的特征。这种方法的缺点在于增加了时间成本。有些算法会在测试时候采用图像金字塔
  2. 像SPP net,Fast RCNN,Faster RCNN是采用这种方式,即仅采用网络最后一层的特征
  3. 像SSD(Single Shot Detector)采用这种多尺度特征融合的方式,没有上采样过程,即从网络不同层抽取不同尺度的特征做预测,这种方式不会增加额外的计算量。作者认为SSD算法中没有用到足够低层的特征(在SSD中,最低层的特征是VGG网络的conv4_3),而在作者看来足够低层的特征对于检测小物体是很有帮助的。
  4. 本文作者是采用这种方式,顶层特征通过上采样和低层特征做融合,而且每层都是独立预测的。

Faster R-CNN+FPN架构图

总结

因为前几篇读的很仔细所以这几篇对我来说比较容易,所以笔记写的比较简单