目标检测之SSD

目录

  • [1. SSD(Single Shot MultiBox Detector)](#1. SSD(Single Shot MultiBox Detector))
  • [2. 网络结构](#2. 网络结构)
  • [3. 流程](#3. 流程)
    • [3.1 detector & classifier](#3.1 detector & classifier)
    • [3.2 default boxes](#3.2 default boxes)
    • [3.4 localization与confidence](#3.4 localization与confidence)
  • [4. 训练流程](#4. 训练流程)
  • [5. 测试流程](#5. 测试流程)
  • [6. 总结](#6. 总结)

1. SSD(Single Shot MultiBox Detector)

SSD算法源于2016年发表的算法论文,论文网址:https://arxiv.org/abs/1512.02325

SSD的特点在于:

SSD结合了YOLO中的回归思想和Faster-RCNN中的Anchor机制,使用全图各个位置的多尺度区域进行回归,既保持了YOLO速度快的特性,也保证了窗口预测的跟Faster-RCNN一样比较精准。

SSD的核心是在不同尺度的特征特征图上采用卷积核来预测一系列Default Bounding Boxes的类别、坐标偏移。

2. 网络结构

以VGG-16为基础,使用VGG的前五个卷积,后面增加从CONV6开始的5个卷积结构,输入图片要求300*300

3. 流程

SSD中引入了Defalut Box,实际上与Faster R-CNN的anchor box机制类似,就是预设一些目标预选框,不同的是在不同尺度feature map所有特征点上是使用不同的prior boxes

3.1 detector & classifier

Detector&classifier的三个部分

1.default boxes:默认候选框

2.localization:4个位置偏移

3.confidence:21个类别置信度(要区分出背景)

3.2 default boxes

每个像素点生成3个候选框

ratio:长宽比

默认框的大小计算参数:s_min:最底层的特征图计算参数,s_max最顶层的特征图计算参数

3.4 localization与confidence

SSD的核心是在不同尺度的特征图上来进行Detector&classifier 容易使得SSD观察到更小的物体

4. 训练流程

输入->输出->结果与ground truth标记样本回归损失计算->反向传播,更新权值
1.样本标记:

利用anchor与对应的ground truth进行标记正负样本,每次并不训练8732张计算好的default boxes,先进行置信度筛选,并且训练指定的正样本和负样本,如下规则

  • 正样本
    1.与GT重合最高的boxes,其输出对应label设为对应物体,
    2.物体GT与anchor iou满足大于0.5设为正样本:
  • 其它的样本标记为负样本
    在训练时,default boxes按照正负样本控制positive:negative=1:3
    2.损失
    网络输出预测的predict box与ground truth回归变换之间的损失计算, 置信度是采用 Softmax Loss(FasterR-CNN是log loss),位置回归则是采用 Smooth L1loss(与Faster R-CNN一样)

5. 测试流程

出入-》输出-》nms-》输出

6. 总结

相关推荐
AKAMAI2 小时前
圆满循环:Akamai 的演进如何为 AI 推理时代奠定基石
人工智能·云计算
幻云20102 小时前
AI自动化编排:从入门到精通(基于Dify构建AI智能系统)
运维·人工智能·自动化
CoderJia程序员甲2 小时前
GitHub 热榜项目 - 日榜(2026-1-13)
人工智能·ai·大模型·github·ai教程
梦梦代码精2 小时前
《全栈开源智能体:终结企业AI拼图时代》
人工智能·后端·深度学习·小程序·前端框架·开源·语音识别
suyong_yq2 小时前
RUHMI & RA8P1 教程 Part4 - 使用 RUHMI 转换 AI 模型文件
人工智能·ai·嵌入式·arm
程序员欣宸2 小时前
LangChain4j实战之十三:函数调用,低级API版本
java·人工智能·ai·langchain4j
charlie1145141912 小时前
从 0 开始的机器学习——NumPy 线性代数部分
开发语言·人工智能·学习·线性代数·算法·机器学习·numpy
咚咚王者2 小时前
人工智能之核心基础 机器学习 第十二章 半监督学习
人工智能·学习·机器学习
人工智能训练2 小时前
UE5 如何显示蓝图运行流程
人工智能·ue5·ai编程·数字人·蓝图