SSD算法简单介绍

SSD(Single Shot MultiBox Detector)是一种目标检测框架,通过将检测问题转化为回归问题,实现一次预测目标位置和分类。算法核心包括Default box生成、LOSS计算和NMS筛选。它基于VGG16网络改造,利用特征金字塔结构在不同层级预测目标,通过NMS减少重复检测。Default box预设多种尺度,以提升识别精度。LOSS由confidence loss和location loss组成,采用Smooth L1 loss进行位置回归计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SSD算法

论文连接SSD: Single Shot MultiBox Detector

SSD,全称Single Shot MultiBox Detector,是目前主要的检测框架之一,其基于将detection转化为regression的思路,可以一次完成目标定位与分类。该算法基于Faster RCNN中的Anchor,提出了相似的Prior box;该算法修改了传统的VGG16网络:将VGG16的FC6和FC7层转化为卷积层,如图1上的Conv6和Conv7;去掉所有的Dropout层和FC8层;添加了Atrous算法(hole算法),将Pool5从2x2-S2变换到3x3-S1,同时加入基于特征金字塔(Pyramidal Feature Hierarchy)的检测方式,即在不同感受野的feature map上预测目标。

SSD算法工作流程

  1. 输入一幅图片,将其输入到预训练好的分类网络中来获得不同大小的特征映射;
  2. 抽取Conv4_3、Conv7、Conv8_2、Conv9_2、Conv10_2、Conv11_2层的feature map,然后分别在这些feature map层上面的每一个点构造6个不同尺度大小的BB(bounding box),然后分别进行检测和分类,生成多个BB,如图1所示;
  3. 将不同feature map获得的BB结合起来,经过NMS(非极大值抑制)方法来抑制掉一部分重叠或者不正确的BB,生成最终的BB集合(即检测结果)。
    下图为SSD算法的工作流程图:
    Figure 1 SSD算法流程图

Defalut box生成规则

为提高目标的识别准确度,该网络预设了多种尺度的目标检测框(Defalut box),每个目标检测框获得的feature map通过softmax分类+bounding box regression获得真实目标的位置。Defalut box是以feature map上每个点的中点为中心(offset=0.5),生成一系列同心的Defalut box(然后中心点的坐标会乘以step,相当于从feature map位置映射回原图位置),使用m(SSD300中m=6)个不同大小的feature map 来做预测,最底层的 feature map 的 scale 值为 Smin=0.2,最高层的为Smax=0.95,其他层通过下面的公式计算得到:
s k = s m i n + s m a x − s m i n m − 1 ( k − 1 ) s_k=s_{min}+\frac{s_{max}-s_{min}}{m-1}(k-1) sk=smin+m1smaxsmin(k1)

LOSS计算

SSD算法的目标函数分为两部分:计算相应的default box与目标类别的confidence loss以及相应的位置回归(location loss)。总体loss计算为:
L ( x , c , l , g ) = 1 N ( L c o n f ( x , c ) + α L l o c ( x , l , g ) ) L(x,c,l,g)=\frac{1}{N}(L_{conf} (x,c)+αL_{loc} (x,l,g)) L(x,c,l,g)=N1(Lconf(x,c)+αLloc(x,l,g))
其中N是match到Ground Truth的default box数量;而α参数用于调整confidence loss和location loss之间的比例,默认α=1;
位置回归则是采用 Smooth L1 loss计算预测框box(l)和真值框box(g)直接的loss,其函数表示为:
L l o c ( x , l , g ) = ∑ ∈ P o s N ∑ m ∈ c x , c y ,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值