目标检测论文记录(1)

SSD:Single Shot MultiBox Detector

Abstract

  • 首先SSD目标检测器是一个端到端的目标检测器即One Stage
  • 本文对于可能存在目标的输出空间进行离散化处理,针对特征图的每一个位置预设了一系列长宽比和尺度的bounding boxes(文中将这些框称为default boxes)。
  • 预测阶段阶段网络为每一个default boxes生成类别分数以及与实际目标框的偏移量进行更好的拟合目标形状。
  • 检测器结合不同深度卷积层的感受野大小不同,利用多尺度特征图进行不同大小目标的检测。

Introduction

  • 目前主流的目标检测系统主要针对一下几个方面进行改进:
    • 假设bounding boxes位置
    • 为每个box区域采样像素和特征表示
    • 针对采样得到的特征进行分类处理
  • 本文的改进点在于减少了bounding box提出和特征重采样阶段
    • 利用小卷积核去预测类别概率和bounding box的偏移量
    • 针对不同长宽比的使用不同的预测器
    • 多尺度特征图预测

The Single Shot Detector

Model
  • 使用VGG-16网络作为骨架网络。

  • 在骨架网络的尾部增加了几层卷积层,使得特征图大小逐步减小,使得后续可以进行多尺度检测。
    在这里插入图片描述

  • 在不同尺度的特征图上增加了预测头(预测类别概率和坐标偏移量),预测头也是利用卷积层实现。

  • 每个特征图单元预设了一系列default boxes,最终每个单元格预测一个类别概率和相对于default boxes的偏移量。

    • 假设每个单元格有 k k kdefault boxes,类别数目为 c c c,坐标偏移量需要4个参数控制,即对于 m × n m \times n m×n的特征图会产生 k ( c + 4 ) m n k(c + 4)mn k(c+4)mn个输出。
      在这里插入图片描述
Training
  • 关键区别是真实的标签信息需要分配给检测器的输出。
  • 训练流程涉及的方面
    • 如何选择默认框的集合
    • 检测框的尺度选择
    • 难负样本挖掘
    • 数据增强策略
  • Matching strategy
    • 训练期间需要确定那些默认框和真实框对应。
    • 对于每一个真实框我们从所有默认框(包括不同长宽比、尺度、不同位置)中选择一个IOU最大的默认框作为匹配项。
    • 然后匹配默认框和所有真实框中IOU大于阈值(文中设为0.5)。
  • Training Objective
    • 整体的目标损失函数主要由定位损失和置信度损失两部分组成。
      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) = \dfrac {1} {N}(L_{conf}(x, c) + \alpha L_{loc}(x, l, g)) L(x,c,l,g)=N1(Lconf(x,c)+αLloc(x,l,g))
    • N表示匹配默认框的个数,如果为0该损失设置为0
    • 定位损失使用的是Smooth L1 losspredicted box(l)ground truth box(g)之间的参数。
    • 需要注意的是对于坐标参数网络实际回归的是偏移量,即框的中心(cx,cy)相对于default bounding box(d)
      L l o c ( x , l , g ) = ∑ i ∈ P o s N ∑ m ∈ { c x , c y , w , h } x i j k s m o o t h L 1 ( l i m − g ^ j m ) L_{loc}(x, l ,g) = \sum_{i \in Pos}^N \sum_{m \in \{cx, cy, w, h\}} x_{ij}^k smooth_{L1}(l_i^m - \hat{g}_j^m) Lloc(x,l,g)=iPosNm{cx,cy,w,h}xijksmoothL1(limg^jm)
      g ^ j c x = ( g j c x − d i c x ) / d i w g ^ j c y = ( g j c y − d i c y ) / d i h \hat {g}_j^{cx} = (g_j^{cx} - d_i^{cx}) / d_i^w \qquad \hat {g}_j^{cy} = (g_j^{cy} - d_i^{cy}) / d_i^h g^jcx=(gjcxdicx)/diwg^jcy=(gjcydicy)/dih
      g ^ j w = l o g ( g j w d i w ) g ^ j h = l o g ( g j h d i h ) \hat {g}_j^w = log(\dfrac {g_j^w} {d_i^w}) \qquad \hat {g}_j^h = log(\dfrac {g_j^h} {d_i^h}) g^jw=log(diwgjw)g^jh=log(dihgjh)
    • x i j k x_{ij}^k xijk表示第i个默认框和第j个真实框相匹配,且真实框的类别信息为k。
    • 置信度损失函数使用softmax loss
      L c o n f ( x , c ) = − ∑ i ∈ P o s N x i j p l o g ( c ^ i p ) − ∑ i ∈ N e g l o g ( c ^ i 0 ) w h e r e c ^ i p = e x p ( c i p ) ∑ p e x p ( c i p ) L_{conf}(x, c) = - \sum_{i \in Pos}^N x_{ij}^p log(\hat {c}_i^p) - \sum_{i \in Neg} log(\hat {c}_i^0) \quad where \quad \hat{c}_i^p = \dfrac {exp(c_i^p)} {\sum_p exp(c_i^p)} Lconf(x,c)=iPosNxijplog(c^ip)iNeglog(c^i0)wherec^ip=pexp(cip)exp(cip)
  • Choosing scales and aspect ratios for default boxes
    • 文中框的尺度采用线性均匀划分的处理方式,浅层的特征图对应小的尺度用于捕捉小的目标,深层的特征图对应大的尺度。
      s k = s m i n + s m a x − s m i n m − 1 ( k − 1 ) , k ∈ [ 1 , m ] s_k = s_{min} + \dfrac {s_{max} - s_{min}} {m -1}(k -1), k \in [1, m] sk=smin+m1smaxsmin(k1),k[1,m]
    • 其中 s m i n s_{min} smin设为0.2, s m a x s_{max} smax设为0.9。
    • 长宽比 a r ∈ { 1 , 2 , 3 , 1 / 2 , 1 / 3 } a_r \in \{1, 2, 3, 1/2, 1/3\} ar{1,2,3,1/2,1/3} w k a = s k a r h k a = s k / a r w_k^a = s_k \sqrt{a_r} \quad h_k^a = s_k / \sqrt{a_r} wka=skar hka=sk/ar
    • 对于长宽比为1的默认框增加了 s ′ = s k s k + 1 s' = \sqrt{s_k s_{k+1}} s=sksk+1 的尺度。
    • 设置默认框的中心坐标为 ( i + 0.5 ∣ f k ∣ , j + 0.5 ∣ f k ∣ ) (\dfrac {i+0.5} {|f_k|}, \dfrac {j+0.5} {|f_k|}) (fki+0.5,fkj+0.5) ∣ f k ∣ |f_k| fk表示特征图的大小, i , j ∈ [ 0 , ∣ f k ∣ ] i,j \in [0, |f_k|] i,j[0,fk],即默认框的中心坐标是每个单元格的中心位置,此处进行了归一化处理
  • Hard negative mining
    • 默认框和真实框匹配完成后会导致大量的负样本存在,出现正负样本不均衡的问题。
    • 利用置信度损失进行负样本排序,选择置信度损失高的作为负样本使得正负样本比例保持在 1 : 3 1:3 1:3.。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值