深度学习之目标检测(二) SSD

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

本篇记录的是目标检测网络SSD算法的基本原理。


以下是本篇文章正文内容。

一、SSD

原论文:SSD:Single Shot MultiBox Detector
SSD网络是作者Wei Liu 在ECCV 2016上发表的论文,对于输入尺寸300* 300 的网络使用Nvidia Titan X在VOC 2007测试集上达到74.3%mAP以及59FPS,对于512* 512 的网络,达到了76.9%mAP超越当时最强的Faster RCNN 73.2%mAP
(真正的实时)

对于Faster RCNN存在的问题

1.对小目标检测效果很差
2.模型大,检测速度较慢

整体架构:
在这里插入图片描述

提取多个特征层,在相对低层的特征层上预测相对较小的目标(保留了更多的细节信息),在高层的特征层上去检测更大的目标(易于进行相应的边界框匹配)

1.1 Default Box 的scale 和aspect设定

在这里插入图片描述
对于aspect ratios=1的,论文中同样增加了一个default box,他的scale是
在这里插入图片描述
而对于Conv4_3,Conv10_2,Conv11_2,论文默认使用4个default box,对于其他的特征层,则使用6个default box。
详细情况见下图:

在这里插入图片描述
总共的default box 为8732 个。

1.2 Predictor

对于特征层为nm,channel为p的,直接擦次用卷积核大小为3 3,卷积核数量为p来进行实现,生成对应的类别分数以及对于default box的相对偏移量。

对于每个default box,都生成对应的c个类别分数,和4个相对偏移量。
所以对应m* n的特征层,共生成(c+4)* k *m *n个输出。(其中类别c个包括了背景类别)
(在faster RCNN中会针对每个类别生成对应的边界框回归参数)

1.3 正负样本选取

正样本:
1)对于每个ground truth 对应的iou最大的default box
2)对于每个与任何一个ground truth 的存在iou>0.5的default box

负样本(Hard Negative mining):
对于负样本的选取,首先对于不是正样本的样本计算highest confidence loss(该值越大意味着网络将其预测为正样本的概率越大),选取前n个。(具体个数为正样本个数的三倍)

1.4 损失

在这里插入图片描述

类别损失:
在这里插入图片描述
定位损失:
只针对正样本
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43869415/article/details/121730457