SSD要点详述

SSD网络结构图:
在这里插入图片描述
SSD其实和faster-rcnn的RPN思想一样,都是将anchor作为初始bbox,将bboxes回归到正确的GT位置上去(相对于feature map的每个cell的anchor的偏移),预测出的定位信息实际上是回归后的bboxes和回归前的anchor的相对坐标。

在这里插入图片描述
1.SSD每层都会生成不同个数的边界框个数,遵循大的特征图预测小的样本,小的特征图预测大的样本。(其实就是在原图的尺度上设置anchor,然后下采样以后,anchor的尺度和原图尺度都一起变化。

SSD的不同之处在于,真实边界框需要被分配给特定的检测的输出。同时对多个层级上的 anchor 计算 IOU,就能找到与 ground truth 的尺寸、位置最接近(即 IOU 最大)的一批 anchor,在训练时也就能达到最好的准确

)。
2.每个层级loss由两个loss组成,一个是分类loss(物体类别得分),回归loss是smooth L1(相对于默认框的坐标偏移loss),包括了w,h的误差。(这在后面的检测变成了三个loss,多了一个误差loss)

3.正样本的选取策略:

1.anchor与所有gt的IOU最大的当做positive
2.IOU>0.5定为positive。负样本则根据置信度排序,(误差越大,置信度越小),按照1:3随机选取。
匹配原则(与yolo的区别):
在Yolo中,ground truth的中心落在哪个单元格,该单元格中与其IOU最大的边界框负责预测它

SSD中首先,对于图片中每个ground truth,找到与其IOU最大的先验框,该先验框与其匹配,这样,可以保证每个ground truth一定与某个先验框匹配。通常称与ground truth匹配的先验框为正样本,反之,若一个先验框没有与任何ground truth进行匹配,那么该先验框只能与背景匹配,就是负样本。一个图片中ground truth是非常少的, 而先验框却很多,如果仅按第一个原则匹配,很多先验框会是负样本,正负样本极其不平衡,所以需要第二个原则。第二个原则是:对于剩余的未匹配先验框,若某个ground truth的IOU大于某个阈值(一般是0.5),那么该先验框也与这个ground truth进行匹配。这意味着某个ground truth可能与多个先验框匹配,这是可以的。但是反过来却不可以,因为一个先验框只能匹配一个ground truth,如果多个ground truth与某个先验框IOU大于阈值,那么先验框只与IOU最大的那个先验框进行匹配。第二个原则一定在第一个原则之后进行,仔细考虑一下这种情况,如果某个ground truth所对应最大IOU小于阈值,并且所匹配的先验框却与另外一个ground truth的IOU大于阈值,那么该先验框应该匹配谁,答案应该是前者,首先要确保某个ground truth一定有一个先验框与之匹配。但是,这种情况我觉得基本上是不存在的。由于先验框很多,某个ground truth的最大IOU肯定大于阈值,所以可能只实施第二个原则既可以了,

4.负样本的选择策略:

对所有的负样本,将每一个GT对应anchor,按照confidence loss进行从大到小排序,挑选loss最大的topk个anchor(误差最大的anchor)。正负样本按照1:3的比例进行挑选。

SSD 的 negative mining 的过程为:
0) 生成default bboxes,每个检测器对应特征图生成的default boxes数目为nn6或nn4;

1)匹配anchor,将每个 default box 与 ground truth 匹配,保证每个ground truth 都能对应多个anchor,避免漏检;

2)衡量anchor,当第 i 个 anchor 被匹配到第 j 个 gt_bbox,那么计算其属于背景类别的 softmax loss 或 cross entropy loss 值;
在这里插入图片描述
3) 筛选anchor, 计算完所有default boxes 的分类 loss后,按照 loss 排序,选择 loss 较大且与任意 gt_bbox 之间的 iou 小于 阈值neg_overlap 的样本中的前 3*num_positive 个负样本(保证留下的负样本“够坏”,同时保证1:3的正负比例)。

而后,这正负比为1:3的部分default boxes就是筛选全体default box后剩下的prior boxes,用这些prior box作为参考,对所有预测框其进行分类和回归,进行反向传播更新网络参数,即训练。

5.多尺度测试以后怎么选取最后的测试结果?

将所有的结果合并到一起,使用NMS
—————————————————————————————

一直有个疑问,为什么要正负样本,感觉负样本对loss反传没有作用?
其实正样本对定位有绝对的作用,负样本对分类有反传的效果。所以负样本的选择对分类有关系,回归只与正样本的选择有关。

参考博客:https://blog.csdn.net/Gentleman_Qin/article/details/84403313

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值