SSD

一、简介

SSD_第1张图片
最大的改变就是综合了前面几层的特征,每层都生成输出值。
1)SSD采用CNN直接进行检测,然而YOLO在全连接层之后进行检测;
2)SSD提取的不同尺度的feature map来做检测,大尺度的特征图(靠前的特征图)用来检测比较小的物体(感受野小),而小尺度的特征图用来检测大物体(感受野大);
3)SSD采用了不同尺度和不同长宽比的先验框(Prior Box ,Default Box,在faster r-cnn中叫做锚,Anchor)。
二、细节
1、损失函数
SSD_第2张图片
SSD_第3张图片
2、看上面的博客,
SSD_第4张图片
这里实际上是每个feature map的每个点上生成了4个或者6个default box,所以网络生成的总共的default box是8732
也就是每个点乘以该点生成的default box 然后全部加起来。这里的8732对比yolo 的7*7*2=98(只有最后一层才生成)
然后每个点的每个box,又会包含一系列信息,包括 位置,置信度。
SSD_第5张图片
就是这里,实现的时候可能是对每一层的卷积层的特征,然后分三路,每路根据需求使用特定的卷积,卷出来每个box所需要的三种特征。
3、关于特征图的宽高,和通道数不一样的问题
卷积层的feature map的宽和高不同,这个体现在后面生成的box的数量不同,我们计算损失,都是以box为基本单位算的,所以不需要担心这个差异。关于通道数不同,因为每个feature map 都是三路下来,而且这三路都是按照同一个标准(类别都是21,坐标宽高都是4)卷积的,所以这部分信息也会被统一的,所以最后   得到的就是一个一个box 的特征向量,而且每个特征向量都是相同大小,这样就可以计算损失了


三、疑问
正样本和负样本怎么用的
ssd速度为什么快

参考

http://hellodfan.com/2017/10/14/%E7%89%A9%E4%BD%93%E6%A3%80%E6%B5%8B%E8%AE%BA%E6%96%87-SSD%E5%92%8CFPN/

你可能感兴趣的:(SSD)