一、论文
- 研究领域: 2D目标检测
- 论文:SSD: Single Shot MultiBox Detector
-
ECCV 2016
-
数据集
- 论文链接
- 论文github
二、论文概要
SSD网络是作者Wei Liu在ECCV 2016上发表的论文。对于输入尺寸300x300的网络 使用Nvidia Titan X在VOC 2007测试集上达到74.3%mAP以及59FPS,对于512x512 的网络,达到了76.9%mAP超越当时最强的Faster RCNN(73.2%mAP)。
三、论文详述
Faster RCNN存在的问题:对小目标检测效果很差;模型大,检测速度较慢。
Backbone使用的是VGG-16; 在不同的卷积层进行预测
SSD是One-stage的一个代表;
"Backbone" 是在深度学习中常用的一个术语,特别是在卷积神经网络(CNN)中。它指的是网络架构中用于提取特征的主要部分,通常是由多个卷积层和池化层构成的层次结构。
- 在卷积神经网络中,不同的层级会逐步从原始输入数据中提取越来越高级别的特征。
- Backbone就是负责这个特征提取的部分,它的输出可以被用于各种任务,例如分类、检测、分割等。
在图像处理任务中,一个经典的例子是在图像分类任务中使用的卷积神经网络(如VGG、ResNet、Inception等)。这些网络通常包含多个卷积层和池化层,构成了整个网络的主干部分,即Backbone。后续的全连接层或其他特定任务的层级则可以根据需要在Backbone之后添加。
总之,"Backbone" 是指在深度学习网络中负责从原始输入数据中提取特征的主要部分,通常由卷积层、池化层等组成。它对于构建有效的深度学习模型以及在各种计算机视觉任务中取得良好效果非常重要。
"one-stage" 和 "two-stage" 是用来描述目标检测算法中的两种不同的框架或方法。这两种方法针对物体检测问题采用了不同的策略。
1. **One-Stage 检测器**:
- "One-stage" 指的是在单个阶段内直接预测目标的边界框和类别。
- 这类算法通常更简单,速度较快,因为在一个网络中同时完成了定位和分类任务。
- 一些典型的 "one-stage" 检测器包括 YOLO(You Only Look Once)和 SSD(Single Shot MultiBox Detector)。2. **Two-Stage 检测器**:
- "Two-stage" 指的是目标检测分为两个阶段:生成候选框(region proposals)和对这些候选框进行分类和定位。
- 首先在第一个阶段生成一组可能包含目标的候选框,然后在第二个阶段对这些候选框进行进一步的分类和边界框调整。
- 这类算法通常在准确性上表现较好,但可能相对复杂且计算成本较高。
- 一个典型的 "two-stage" 检测器是 Faster R-CNN。选择使用哪种方法取决于具体的应用需求,速度要求以及模型的准确性。"One-stage" 检测器适用于实时性要求较高的应用,而 "two-stage" 检测器在对于准确性有更高要求的场景中表现更好。近年来,许多研究工作致力于改进这两种方法,以在速度和准确性之间取得更好的平衡。
xml标注(记录左上角和右下角坐标):
COCO和YOLOv5标注(记录的是中心点,w, h归一化的坐标)