一、二阶段检测器

1.R-CNN

 R-CNN分为以下4个模块:

  1. 区域提议生成:作者使用选择性搜索算法从每张图像上生成2000个类别独立的区域提议。
  2. 区域特征提取:遵循AlexNet的架构,作者使用一个CNN,该CNN包含5个卷积层和2个全连接层从每个区域提议中提取固定长度的特征向量(4096-dimentional)。作为CNN,输入图像的尺寸必须是固定的(227×227),作者使用了图像扭曲的方法,将每个区域提议都调整为了固定尺寸,而无需关心原始图像的尺寸和比例。
  3. SVM分类模块:作者使用类别固定的线性支持向量机对每张图像上的目标进行分类。
  4. 边界框回归:利用准确回归的边界框对目标进行定位。

PS:CNN首先在在一个较大的数据集上进行预训练,然后再指定的数据集上进行微调,是深度卷积网络实现快速收敛的良好方法。如果是在ImageNet数据集上进行预训练,最后一个全连接层应该替换为适应于ImageNet的1000维分类层。接下来用随机梯度下降法(SGD)在扭曲的提议窗口上进行微调。最后一个全连接层是(N+1)路的,N是目标类别数量,1是背景类别。

在微调训练过程中,如果预测的区域提议与相应的真实边界框的IoU≥0.5的,我们认为是正样本,相反的,我们认为是负样本。训练时SGD的学习率为0.001,每一轮SGD迭代中,mini-batch大小为128,其中正负样本的比例是1:3。我们还会用艰难负样本挖掘来优化SVM的每个类别。

存在的问题:

  • 每个区域提议是单独通过CNN进行特征提取的,这会造成很严重的冗余计算,因此R-CNN的训练和推理时长较大。
  • R-CNN的4个阶段是相互独立的组件,整个检测框架无法以端到端的方式进行优化。
  • 选择性搜索依赖的是较低水平的视觉特征,而在场景比较复杂的时候,我们需要较高水平的视觉特征。除此之外,它无法用GPU加速。

2.SPP-net

全连接层需要固定尺寸的输入,所以R-CNN需要对每个区域提议进行裁剪或者扭曲的原因。但是,物体可能部分存在于裁剪区域中,并且扭曲操作可能会产生不必要的集合形变。这些内容的丢失或者失真将降低识别精度,尤其当对象的比例变化的时候。

SPP的池化层将对尺度变化的区域提议进行特征池化,并生成固定长度的输出。这样,SPP就可以在图像尺度和比例变化的情况下进行训练和推理。如此既可以增加模型对尺度的不变性,有可以解决过拟合问题。如果conv5的特征图数量为256,指定3个层次的金字塔,那么每个区域提议的特征向量的维度是256×(1^2+2^2+4^2)=5376。

存在的问题:

  • SPP的训练仍然是多阶段的而非端到端的。
  • SPP层并不反向传播梯度,因此SPP层之前的参数都是固定的,这会极大的限制骨干网络的学习能力。

3.Fast R-CNN

R-CNN和SPP都有相同的问题:

  1. 多阶段训练(特征提取,网络微调,SVM训练和边界框回归)
  2. 需要大量的时间和空间
  3. 检测时间缓慢

因此,在对R-CNN做了一定改进之后,我们的到了一个单阶段训练算法来对区域提议进行分类并修正目标的空间位置。Fast R-CNN比R-CNN快9倍,比SPP快3倍。

R-CNN利用CNN对每个区域提议进行进一步的检测处理。然而,Fast R-CNN利用一整张图片和一系列区域提议作为输入。从生成的CNN特征图上, 我们使用选择性搜索方法识别感兴趣区域(RoI)。之后作者使用ROI池化层将RoI转换成固定长度的特征向量,作为后边两个全连接层的输入,最后把全连接层的结果输入到两个并列的分支,输出最后分类和边界框回归结果。

4.Faster R-CNN

R-CNN、SPP和Fast R-CNN依赖区域提议算法进行目标检测。这三种模型都经历过区域提议的计算非常耗时,这会影响网络的整体性能。后来有人提出使用区域提议网络(RPN)来取代之前的区域提议算法。啊RPN是一种全卷积网络(FCN),它将任意大小的图像作为输入并输出一组矩形候选对象。每个提议都与一个目标评分相关联以检测提议是否包含对象。

与Fast R-CNN类似,模型以整张图像作为输入,以生成CNN特征图。然后使用RPN来预测区域提议,而不是在特征图上使用选择性搜索算法生成区域提议。在RPN中,每个滑动窗口检测到的区域提议称为锚。通过在对象分数上应用阈值来选择锚框。选择出的锚和初始CNN模型计算的特征图一起送入RoI池化层,输出被送到全连接层进行最终的分类和边界框回归。

5.FPN

自底向上路径是Fast R-CNN使用的主干CNN。自上而下的路径是多级特征金字塔 。自顶向下特征金字塔的每一层都以上层的特征图和自底向上路径对应的特征图作为输入。然后连接这些特征映射作为输出。FPN还使用RPN生成区域提案。在区域提议上使用FPN进行特征提取,从不同层次预测RoI,以融合多尺度特性,得到的RoI将像Fast R-CNN一样,使用RoI池化层进行池化。输出送到全连接层进行分类和回归。

6.Mask R-CNN

该模型作者扩展了以往R-CNN对象检测技术,进一步定位每个对象实例的精确像素(实例分割)。Mask R-CNN具有和Faster R-CNN一样的RPN网络,以生成区域提议。作者在区域提议上应用RoIAlign层而不是RoI池化层,以将提取的特征和对象的输入位置对齐。然后将对齐的RoI送入模型的最后一部分,生成类别标签,边界框以及二进制对象掩码。

二、一阶段检测器

1.YOLO

YOLO是一个单阶段网络模型,它通过一个简单的CNN直接从输入图像上预测类别概率和边界框。模型把输入图像划分成了固定数量的网格。该网格的每个单元格负责预测固定数量的带有置信度的边界框。置信度得分是通过将检测到目标的概率和预测边界框与真是边界框的IoU相乘得到。类别概率高于某个阈值的边界框被保留并用来定位目标。

每个预测边界框的置信度中,概率值表示检测到目标的概率,IoU反应预测边界框和真实边界框的吻合程度,即定位精度,再乘以类别的存在性条件概率,即已知该位置存在目标,该目标属于某一类别的概率,就得到了最终的分类信息。

2.SSD

该模型将整个图像作为输入并将其传递给一系列具有不同尺寸滤波器的卷积层(10×10,5×5,3×3)。使用网络中不同位置的卷积层中的特征图预测边界框。

它们由特定的具有3×3滤波器的卷积层进行处理,生成一系列的边界框,称为额外特征层。类似于Fast R-CNN,SSD的锚框具有以下参数:中心坐标、高度和宽度。在预测边界框时,该模型生成与每个类别置信度对应的概率向量。为了处理比例问题,SSD在多个卷积层后预测边界框。由于每个卷积层是在不同比例上进行操作的,因此可以检测不同尺度的对象。如下图所示:

3.RetinaNet

RetinaNet是一种简单的但阶段目标检测器,用于对输入图像中目标位置进行密集采样。该模型由一个主干网络和两个具有特定任务的子网组成。

作者使用FPN作为骨干网络。在主干网络上,第一个子网络执行卷积对象分类,第二个子网络执行卷积边界框回归。这些子网络基本都是小型全卷积网络(FCN),连接到每个级别的FPN,用于参数共享。

4.RefineDet

这是一种基于前馈卷积网络的单阶段目标检测器。该网络由两个相互连接的模块组成:

  • 锚框细化模块(ARM)
  • 目标检测模块(ODM)

 ARM模块通过过滤掉锚框中的负样本减少分类器的搜索空间,并粗略调整锚的大小和位置。ODM模块将前一模块中优化过的锚作为输入,提高了回归精度并预测了多个类别标签,传输连接块(TCB)传输ARM模块中的特征,以预测ODM模块中对象的位置、大小和类别标签。

2D目标检测综述之检测模型篇(二)相关推荐

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

    最近在恶补2d目标检测的文章,把他们整理了一下,写一下综述,方便以后查看. 写得比较简略,主要是自己对于 一些网络的理解. - sppnet 本文引入了一种针对不同尺度图片的目标检测网络.传统网络针对 ...

  2. 一文看尽 27 篇 CVPR 2021 2D 目标检测论文

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨二玖 编辑丨极市平台 导读 本文对我们汇总的 CVPR 2021 检测大类中的2D目标检测领域的 ...

  3. 收藏 | 3D目标检测综述:从数据集到2D和3D方法

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:机器之心 AI博士笔记系列推荐 周志华<机器学习> ...

  4. 3D目标检测综述:从数据集到2D和3D方法

    本文经机器之心(almosthuman2014)授权转载,禁止二次转载. 作者:Yilin Wang, Jiayi Ye 机器之心编译 编辑:Panda 目标检测一直是计算机视觉领域中一大难题.近日, ...

  5. 2D目标检测论文大盘点(37篇)

    文章目录 1.LeNet 2.AlexNet 3.VGGNet 4.OverFeat 5.GoogLeNet 6.ResNet 7.DenseNet 8.R-CNN 9.SPP-Net 10.Fast ...

  6. 2020年最全目标检测综述(完结篇)

    点击蓝字关注我们 computerVision 计算机视觉战队 ● 扫码关注,回复:目标检测 ● 获取目标检测相关下载链接 今天我们的目标检测综述最后一章,也是这个系列的完结,希望有兴趣的同学可以从中 ...

  7. 《目标检测蓝皮书》第7篇 模型优化方法及思路

    本专栏将系统性地讲解计算机视觉基础知识.包含第1篇机器学习基础.第2篇深度学习基础.第3篇卷积神经网络.第4篇经典热门网络结构.第5篇目标检测基础.第6篇网络搭建及训练.第7篇模型优化方法及思路.第8 ...

  8. 11种Anchor-free目标检测综述 -- Keypoint-based篇

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 导读 anchor-free目标检测算法分为两种,一种是DenseBox为代表的Dense Predi ...

  9. 2022目标检测综述

    目录 0.引言 1.背景 1.1.问题描述 1.2.目标检测的核心问题 1.3.目标检测中的关键挑战 2.关于损失函数 3.关于IOU 4.数据集以及评价指标 4.1.评价指标 4.2.数据集 5.目 ...

最新文章

  1. UVA10870递推关系(矩阵乘法)
  2. MySQL超详细安装.zip【.zip和.msi安装包的区别及详细安装】和可视化软件SQLyog安装教程
  3. 弘成科技 java单例模式
  4. Python3 循环
  5. sqlite3使用简介
  6. ASP.NET企业开发框架IsLine FrameWork系列之十五--框架配置信息大全(下)
  7. linux组合键 发送指定信号_linux trap脚本信号捕获命令的使用
  8. 对象字段java_Java的类,对象以及字段和方法
  9. 如何重装来客电商源码?
  10. 续:~英语 1038个词根 217个后缀!
  11. Kaggle共享单车需求项目详解
  12. 云渲染服务器快吗?云渲染具体怎么用??
  13. php html转ubb,PHP HTML转UBB函数
  14. 百度在线笔试计算机视觉,[转载]2014 百度 计算机视觉笔试
  15. 工业互联网是什么,和工业4.0对比,有什么区别?
  16. 安卓如何调出软键盘_系统软键盘Android在外接物理键盘时,如何强制调用系统软键盘?...
  17. 魔兽7.0服务器维护时间,关于魔兽7.0版本你一定要知道的60条注意事项
  18. android 发送短信例子
  19. phpspreadsheet 读取 Excel 表格问题
  20. 微信小程序-组件样式覆盖

热门文章

  1. windows curl 之 invalid character ‘\‘‘ looking for beginning of value
  2. 网络综合测试仪 有没有什么好的品牌推荐
  3. ocr图片文字识 php,php实现ocr文字识别
  4. 输入python出现警告Warning: This Python interpreter is in a conda environment, but the environment has not
  5. 西南科技大学 Python程序设计 摩斯密码翻译器
  6. 转载:稳定性,鲁棒性和非脆弱性的精辟解读
  7. 姿态检测 树莓派_利用树莓派追踪飞机航行轨迹的骚姿势分享
  8. 3M推出全新清洁与保护徽标项目;疫情下中国消费者更关注养老规划 | 美通企业日报...
  9. 在主页面往回嵌套者其他页面
  10. mysql no cache_【转】mysql的SQL_NO_CACHE(在查询时不使用缓存)和sql_cache用法