深度学习视觉2D检测算法综述
目录
一、两阶段目标检测算法
1.1 R-CNN(Region-based CNN,2014)
1.2 Fast R-CNN(Fast Region-based CNN,2015)
1.3 Faster R-CNN(Faster Region-based CNN,2016)
1.4 Mask R-CNN(Faster Region-based CNN,2017)
二、单阶段目标检测算法
2.1 yolov3(You Only Look Once v3,2018)
2.2 SSD网络(Single Shot MultiBox Detector,2016)
2.3 RetinaNet网络(2017)
2.4 fcos网络(Fully Convolutional One-Stage Object Detector,2019)
三、基于transformer目标检测算法
3.1 DETR网络(End-to-End Object Detection with Transformer,2020)
3.2 Deformable DETR网络(2020)
编辑
自
一、两阶段目标检测算法
该算法采用基于区域建议(Region Proposal)的方法进行目标检测,并将其划分为两个主要阶段:第一阶段是特征提取与候选区域生成;第二阶段是候选区域筛选与目标定位。该方法在实际应用中往往表现出较高的检测精度,在医疗影像分析等领域具有显著的应用价值;然而其计算速度相对较慢,在实时性要求较高的场景下可能会导致性能瓶颈问题。
第一阶段:基于输入图像生成候选区域(Region Proposals)。第二阶段:将候选区域进行分类,并优化边界框。
基于两阶段方法的最具代表性的算法系列为R-CNN框架及其衍生版本,其中包括了R-CNN、Fast R-CNN、Faster R-CNN以及Mask R-CNN等多种技术。
1.1 R-CNN(Region-based CNN,2014)
R-CNN是最早基于深度学习的目标检测方法之一,主要包括:
基于 Selective Search 方法提取候选区域集合(一般而言包含约 2000 个元素),该算法主要基于图像纹理和颜色等属性来筛选候选区域。
采用CNN模型(例如AlexNet)对各候选区域进行特征提取,并通过Selective Search算法识别出的候选区域尺寸有所差异。随后将所有候选区域统一调整至统一尺寸(224×224)。其中所用到的CNN网络均基于Imagenet分类任务中的预训练模型,并未被用于RCNN模型的训练过程。
利用CNN提取4096维特征,并将其传递至SVM分类器进行模型训练;其中重点在于对SVM分类器进行参数优化;具体而言,在候选区域与ground truth区域的交并比(IoU)计算基础上完成这一过程:当计算得到IoU值大于等于0.5时归类为正样本;而当计算得到IoU值介于0.1至0.5之间时归类为负样本;对于IoU小于等于0.1的情况则予以剔除;由于在该范围内获得的负样本数量充足且剩余类别中数据量相对较少,在实际应用中其对整体模型性能提升的帮助较小
接着采用Bounding Box Regressor来提升检测框的质量。接着分别进行独立训练:首先将SVM分类器单独训练;其次,在IoU值大于等于0.5的情况下单独对Bounding Box Regressor进行训练;最后计算候选框与Ground Truth框之间的偏移量参数
5)推理过程: 采用Selective Search方法提取候选区域(约2000个),通过CNN模型提取图像特征;基于SVM算法进行目标分类;随后通过回归器进一步精确定位目标区域的位置信息;最后运用非极大值抑制(NMS)算法对候选框进行去重处理。
R-CNN源于最初应用于二维视觉检测的深度学习算法,在理论层面上可以看出存在机器学习与深度学习的融合现象。与传统机器学习相比,R-CNN表现出色。尽管每个候选框都需要提取CNN特征来进行推断,但其速度依然较慢。

1.2 Fast R-CNN(Fast Region-based CNN,2015)
Fast R-CNN可以说是基于深度学习的目标检测技术的一种代表作,它共用了CNN的计算资源,并设置了RoIPooling使其候选框达到一致大小,摒弃了传统的SVM分类器,实现了完全端到端的学习流程
相较于R-CNN而言,在仅进行一次CNN计算的基础上(如:在处理同一张图片时),Fast R-CNN仍沿用Selective Search方法提取候选框(基于原图提取候选框)。这些候选框随后按照指定的步长缩放至对应的特征图层上(例如原始图像尺寸为224×224×3的输入,在特征图层中呈现为14×14×512的表示,并以步长为16的比例完成缩放操作)。
为了后续全连接层能够接收固定维度的特征输入,在处理过程中ROI Pooling负责将缩放后的感兴趣区域(由于在缩放过程中区域的位置及尺寸可能会出现小数值)转换为固定的大小(例如7×7×512),并通过不同的池化系数按比例进行相应的缩放以达到目标尺寸。
与R-CNN相比,在预测目标类别时采用Softmax替代SVM,并通过优化Bounding Box回归来精确调整目标框位置;同时,在正负样本选择机制上保持基本一致的技术框架能够实现有效的端到端训练
4)推理逻辑:类似于R-CNN的方法,在使用NMS(非极大值抑制)后消除多余边界框,并生成最终的目标边界框及其对应的类别信息。
Fast R-CNN相较于R-CNN实现了全连接网络阶段的联合训练,并通过共享卷积神经网络架构设计结合RoI Pooling技术达到了对计算资源的有效分配,在提升训练效率的同时也显著提高了推理速度。然而尽管仍然依赖Selective Search算法来实现区域建议生成以维持较高的效率水平但ROI Pooling技术由于精度不足同样限制了其在小目标检测任务中的理想表现这些问题最终在Faster R-CNN架构中得到了优化与改进

1.3 Faster R-CNN(Faster Region-based CNN,2016)
Faster R-CNN最重要的改进体现在采用了RPN网络取代Selective Search算法;其次采用了RoIAlign取代RoIPooling;同时提升了检测精度;并实现了基于图像至识别的整体训练流程.
Faster R-CNN采用了替代性的结构取代了传统的Selective Search算法,在其架构中嵌入了一种全卷积神经网络设计。该网络由一个全卷积神经网络构成,并在特征图后方设置了一个独立分支(例如特征图尺寸为38×62×512)。随后会经过一个卷积层降维至38×62×256,并分别生成两个分支:一个是负责分类任务的分类分支(输出大小为38×62×18),另一个是用于回归任务的回归分支(输出大小为38×62×32)。这种设计的主要目的是为了增强候选区域描述的能力,在每个窗口位置放置9个预先定义好的anchor(即基于不同比例和尺寸组合)。在实际训练过程中,默认将IoU≥0.7则标记为正样本(即候选区域),而IoU≤0.3则被视为负样本(背景),介于两者之间的锚框则被排除在训练之外
与Faster R-CNN相似的是,在检测网络中生成并筛选出候选区域后,该系统采用RoIAlign替代了RoIPooling,在计算过程中能够更为精确地将候选区域的位置投射出来;在训练阶段,Faster R-CNN和RPN网络是同步进行的。
3)其他的计算和推理与Fast R-CNN类似。
Faster R-CNN基本上是两段式检测算法的最经典算法。

1.4 Mask R-CNN(Faster Region-based CNN,2017)
Mask R-CNN 是 Faster R-CNN 的增强版,在不仅能够实现目标检测(分类以及目标边界框的识别)的同时,还能够实现实例分割(基于像素级别的掩膜生成)。
与Faster R-CNN方法基于相同的原理,在此基础上增加了分割分支以提升分割精度。在此方法中,在经过ROIAlign处理后增加了分割分支以将所有特征映射转换为14×14×256的空间(其中识别回波为7×7×256),随后通过一系列卷积层和反卷积层处理后得到28×28×C的分割特征图(其中C代表各类别的独立分割特征图数量)。值得注意的是该方法中的输出结果并非简单的二进制分类结果而是具有连续取值范围(0-1)的真实值表示该区域对应类别存在的程度

二、单阶段目标检测算法
单阶段目标检测算法可以直接从输入图像推断出物体的类别及其边界框,并无需先于两阶段方法生成候选区域
2.1 yolov3(You Only Look Once v3,2018)
yolo系列是一种经典的单阶段目标检测方法,在该算法体系中以yolov3为代表具有显著的技术优势。该算法基于darknet-53(类似于resnet架构)构建的主干网络展开设计,并采用多尺度特征提取策略实现精确的目标定位与分类任务。具体而言,在每个特征图网格位置布置了三个anchor锚框:P3(52×52分辨率)适用于小尺寸目标检测;P4(26×26分辨率)则更适合于中等尺度目标识别;而P5(13×13分辨率)则专门用于大尺寸目标检测任务。在每一个特征图网格单元内均匀分布三个 anchor锚框有助于提升模型对不同尺度物体的探测能力。随后通过非极大值抑制(NMS)算法筛选出有效边界框并结合置信度评分生成最终的目标检测结果集

2.2 SSD网络(Single Shot MultiBox Detector,2016)
SSD网络在架构上借鉴了Yolov3的思想基础,并在主干网络的选择上进行了创新性设计。具体而言,在主干网络架构方面SSD采用了VGG系列中的VGG-16模型作为其主干结构,并对其深度进行优化以适应多尺度目标检测需求;在特征提取层的设计上也进行了改进,在各特征层分别设置了不同尺度的目标检测能力,并将其 anchor网格布置在各特征层的适当位置以提高检测精度。

2.3 RetinaNet网络(2017)
基于相同的核心概念下实现的RetinaNet网络结构与yolov3模型相似,在设计上主要采用了resnet50作为主干架构,并通过提取P3至P7层的输出来生成尺度相关的特征图。每个特征图网格单元配置9个anchor候选框,并结合focal loss损失函数进行优化,在实际应用中展现出较高的准确性。

2.4 fcos网络(Fully Convolutional One-Stage Object Detector,2019)
fcos网络在架构上与RetinaNet网络具有相似性,在不依赖锚框的设计下实现了对目标框位置和尺寸的直接预测,并通过中心度(Center-ness)的计算来提升边界框的质量。该网络在计算量上较为高效(较少),运行速度更快(更快),同时在小型目标检测任务中也表现出较高的识别精度。

三、基于transformer目标检测算法
最近几年,在计算机视觉领域内Transformer结构取得了显著进展,在目标检测任务方面尤其突出。以 Transformer 为基础的目标检测技术(包括DETR和Deformable DETR)展现出超越传统CNN的能力。
3.1 DETR网络(End-to-End Object Detection with Transformer,2020)
DETR(DEtection TRansformer)是由Facebook's AI Research lab于2020年提出的一种新型端到端目标检测算法。该算法采用了Transformer架构,在不依赖传统特征提取方法的情况下实现了对目标物体的高效识别与边界框定位。与经典的目标检测方法不同,DETR摒弃了传统方法中使用的锚框(Anchor Box)以及非极大值抑制(NMS)等技术,并直接利用Transformer模型进行目标框的回归与分类操作。这种创新性设计使得传统的序列预测框架得以应用于复杂的目标检测场景中
DETR主要包含三个核心模块:基于卷积神经网络的Backbone用于特征提取;基于Transformer的目标建模模块;以及FFN用于生成最终预测结果。研究者采用ResNet-50或ResNet-101提取深度信息,并输出尺寸固定的特征图(如H/32×W/32)。这些固定大小的特征图将作为Transformer编码器的输入进行后续处理。
CNN Backbone 提取特征:
- 基于 ResNet-50 和 ResNet-101 框架提取深度特征;
- 生成固定分辨率的特征图(例如尺寸为 H/32 × W/32);
- 其输出将被传递给 Transformer Encoder 用于进一步处理。
Transformer 编码器(Encoder):
- 通过将CNN提取出的特征图展平后生成序列数据(Flattened Features);
- 通过引入位置编码机制(Positional Encoding),有效保持空间信息;
- 经过
N层标准Transformer编码器处理后进行特征建模; - 最终生成与输入具有相同维度特征序列,并通过Transformer编码器进行建模。
Transformer 解码器(Decoder):
- 基于固定数量(N=100)的对象级查询(Object Queries),我们将其作为目标检测任务中的核心搜索操作;
- 通过融合编码器输出与当前Query进行跨注意力机制计算;
- 经过M层Transformer解码器生成具有N \times D维特征的目标信息;
- 每个Query生成对应的一个目标框数量为100个;
- 应用匈牙利算法实现预测框与真实目标之间的最优配对。
detr被认为是首个应用transformer架构完成端到端任务的方法。它不依赖 anchor框与nms算法,并凭借强大的全局建模能力显著降低了候选框的误检率。然而其收敛速度较慢(通常需经过500+轮次迭代才能收敛),且在处理小目标时表现略显逊色。

3.2 Deformable DETR网络(2020)
可变形DETR作为一种改进型DETR模型,在原有基础之上进行了优化与升级
Deformable Attention机制:
基于全局自注意力的标准 Transformer 需要计算每对 Query 和 Key 之间的相似性(Global Self-Attention),这导致了较高的计算复杂度(O(N²),其中 N 表示序列长度)。相比之下,Deformable DETR 模型通过可变形注意力机制,在每个 Query 中选择有限的关键点进行局部关注(Key Points),从而避免了全局范围内的密集计算(密集 Calculation)。该模型将整体计算复杂度降至 O(N),显著提升了效率。具体而言,在设定关键点的数量为 k 的情况下,在特征层 P3、P4 和 P5 上分别设置 k 个偏移位置(ΔP),这些偏移位置用于重点关注目标特征的位置信息。通过将 Pref 和 ΔP 结合起来得到最终的位置编码 P,在这些编码所对应的特征位置上执行注意力机制运算(Attention Operation),从而实现了高效的特征提取与关注。
多尺度特征融合:变形可变形DETR不仅包含最终输出层的特征表示同时也涵盖了各向异性空间中的多层级特征信息并借助于多层感知机将查询信息精准地分配至不同层级的空间位置从而实现精确的目标检测与分割

