【论文阅读】2d目标检测:综述

最近在恶补2d目标检测的文章,把他们整理了一下,写一下综述,方便以后查看。
写得比较简略,主要是自己对于 一些网络的理解。在这里插入图片描述
在这里插入图片描述

- sppnet
在这里插入图片描述

本文引入了一种针对不同尺度图片的目标检测网络。传统网络针对不同分辨率的网络主要采用裁剪扩充的方法,但是原文提到这种方法容易得到不期望的几何变形。本文提出的sppnet消除了对于输入图像尺寸的要求,卷积层的最后加入一个spp层来输出特定长度的特征。
在这里插入图片描述

中心思想很简单,就是采取不同大小的块来进行特征提取。分别是44,22,1*1,将这三张网格放到下面这张特征图上,就可以得到16+4+1=21种不同的块(Spatial bins).我们从这21个块中,每个块提取出一个特征,这样刚好就是我们要提取的21维特征向量。这种以不同的大小格子的组合方式来池化的过程就是空间金字塔池化(SPP)。输出向量大小为Mk,M=#bins(块数),k=#filters(卷积核个数),作为全连接层的输入。例如上图,Conv5计算出的feature map是任意大小的,经过SPP之后,变成固定大小的输出了,以上图为例,共输出(16+4+1)*256的特征。(有256个卷积核)。

- OHEM
Online hard example mining 负样本挖掘。本文作者对于端到端的网络提出一种在线困难样本挖掘的方法,自动选择困难负样本来进行训练,不仅效率高而且性能好。
传统HNM的方法采用svm+Hard Negative Mining Method来进行训练,对于端到端的网络对大大降低速度,SGD训练网络需要上万次更新,冻结网络来进行负样本选取不可取。
这里作者主要提出了一种可读可写的网络,实际上就是将fast rcnn copy一份,如下图所示
在这里插入图片描述
Read only部分的网络仅仅进行前向传播 用于计算特征图及每个roi的损失,选择hard roi 将他们输入到可读可写的roi网络进行计算 反向传播更新网络 迭代一次即可完成,且一张图片的众多roi可以达到很好的效果。最后再将更新的参数赋值给可读网络 进行下一次的迭代。

- R-FCN

针对现在网络提出的roi pooling缺失了平移不变形的问题,作者提出一种Region-based Fully Convolutional Networks。同时对于rcnn 及fast rcnn 分析了其共享subnet与计算资源的关系。
在这里插入图片描述
在这里插入图片描述

Backbone architecture: ResNet 101——去掉原始ResNet101的最后一层全连接层,保留前100层,再接一个111024的全卷积层(100层输出是2048,为了降维,再引入了一个11的卷积层)。
k^2(C+1)的conv: ResNet101的输出是W
H1024,用K2(C+1)个1024*1*1的卷积核去卷积即可得到K2(C+1)个大小为WH的position sensitive的score map。这步的卷积操作就是在做prediction。k = 3,表示把一个ROI划分成33,对应的9个位置分别是:上左(左上角),上中,上右,中左,中中,中右,下左,下中,下右(右下角)
在这里插入图片描述
k^2(C+1)个feature map的物理意义: 共有k
k = 9个颜色,每个颜色的立体块(WH(C+1))表示的是不同位置存在目标的概率值(第一块黄色表示的是左上角位置,最后一块淡蓝色表示的是右下角位置)。共有k^2*(C+1)个feature map。每个feature map,z(i,j,c)是第i+k(j-1)个立体块上的第c个map(1<= i,j <=3)。(i,j)决定了9种位置的某一种位置,假设为左上角位置(i=j=1),c决定了哪一类,假设为person类。在z(i,j,c)这个feature map上的某一个像素的位置是(x,y),像素值是value,则value表示的是原图对应的(x,y)这个位置上可能是人(c=‘person’)且是人的左上部位(i=j=1)的概率值。

ROI pooling: 就是faster RCNN中的ROI pooling,也就是一层的SPP结构。主要用来将不同大小的ROI对应的feature map映射成同样维度的特征,思路是不论对多大的ROI,规定在上面画一个nn 个bin的网格,每个网格里的所有像素值做一个pooling(平均),这样不论图像多大,pooling后的ROI特征维度都是nn。注意一点ROI pooling是每个feature map单独做,不是多个channel一起的。

ROI pooling的输入和输出:ROI pooling操作的输入(对于C+1个类)是k^2*(C+1)*W’ H’(W’和H’是ROI的宽度和高度)的score map上某ROI对应的那个立体块,且该立体块组成一个新的k^2(C+1)*W’ H’的立体块:每个颜色的立体块(C+1)都只抠出对应位置的一个bin,把这kk个bin组成新的立体块,大小为(C+1)*W’*H’。例如,下图中的第一块黄色只取左上角的bin,最后一块淡蓝色只取右下角的bin。所有的bin重新组合后就变成了类似右图的那个薄的立体块(图中的这个是池化后的输出,即每个面上的每个bin上已经是一个像素。池化前这个bin对应的是一个区域,是多个像素)。ROI pooling的输出为为一个(C+1)kk的立体块,如下图中的右图。

- SSD
没啥好讲的 看图
在这里插入图片描述

- DSSD
主要做了三处改进:加强backbone、新增Deconvolutinonal module、新增prediction module。

Backbone:
换vgg16为resnet 可以看到map降低了。。。

Deconvoluational Module
在这里插入图片描述

Prediction module
(a)为SSD所使用的预测方法,直接在多特征图上使用两个 的卷积分别做分类和边框回归。
(b)是在(a)的基础上增加了一个残差单元。
(c)为作者改进的只含一个残差单元的预测模型,在残差旁路将原来的特征图用的卷积核做处理后与网络主干道的特征图做通道间加法。
(d)包含两个残差单元的预测模型。
最后发现c的效果最好 d提升不大。。
在这里插入图片描述

DSSD是SSD的改进版,在SSD的基础上增加了Deconvoluational Module和Prediction Module,使得其对于小目标检测的效果得到显著提升,但是DSSD的缺点也尤为明显,就是在速度上远不及SSD。

**

  • TDM

**

为了兼顾大目标和小目标,目前主流方法是 用 skip connections 综合利用更多的卷积特征图信息。在这里插入图片描述
在这里插入图片描述

  • FPN
    在这里插入图片描述
    在这里插入图片描述

  • Retinanet
    有里程碑意义的一篇文章,在这里提出了focal loss的概念,虽然在很多地方许多作者觉得focal loss 多余且对网络效果提升无作用,但在这个框架下确实对于精度等有一定提升。
    本文探究了单阶段探测器精度低于双阶段的一个重要原因:正负样本不平衡。
    在这里插入图片描述
    核心公式:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    网络结构并没有很大的创新。仅仅对于推理环节进行一定的修改。
    随后作者分析了公式中各超参数对于网络性能的影响,选择了最好的进行对比,确实达到了当时单阶段及双阶段网络都打不到的ap。

  • Densenet

本文对于resnet进行进一步改进,增加了更多的旁路来方便进行参数的传递以抑制梯度消失问题及模型退化问题。原文解决的是classification的问题。
本文认为resnet中的summation操作对于信息流进行了一定的阻碍。
在这里插入图片描述
定义了对每一层特征图的操作:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
本文让网络更加的narrow 从而减少网络参数来提高速度的同时,达到了不错的精度。不愧是2017的cvpr oral。。。
在这里插入图片描述

  • STDN(scale transferrable detection network)
    在这里插入图片描述
    这篇文章是类似dssd tdm的文章,主要是要利用起来前面的feature map来进行小目标检测的精度提升。采用densenet来作为他的backbone,主要原因是未经过transmition的dense block有着较大的channel数,可以将它进行一个新的feature map来进行操作。
    在这里插入图片描述
    在这里插入图片描述
    主要的改动有:
    加入stem block
    在这里插入图片描述
    在这里插入图片描述
    原文解释是原来的densenet两个连续的下采样会导致信息的丢失 后面的ablation实验也证明了改模块的重要性
    Stm
    在这里插入图片描述
    后面几层的dense block channel数最多 可以结合不同scale的feature map来进行目标检测 作者这里提出的stm在没有增加其他参数的情况下 进行了上采样 不仅没有损失feature信息 还没有引入新的参数 对于检测精度及速度都有了很大的提升。Stm归纳得也很精确 看一个公式便知道了:在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    map上去了 fps也很高

版权声明:本文为CSDN博主「Lukas88664」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hgj1h/article/details/122964500

Lukas88664

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

YOLOX笔记

目录 1. 样本匹配 正负样本划分过程 2. yoloxwarmcos 学习率 3. 无法开启多gpu训练, 或者多gpu训练卡住? 1. 样本匹配 正负样本划分过程 说明: gt_centerbbox是在gt_bbox中心点向四周