SSD: Single Shot MultiBox Detector 细节剖析

一、SSD的网络结构


网络由基础网络和附加层组成,基础网络就是常用的特征提取网络,如VGG16,附加层由一组大小逐层递减的卷积层组成。

以输入为300*300的SSD为例,用一组不同分辨率的feature map(4-3,6,7,8-2,9-2,10-2,11-2)预测结果,目标检测的结果包括位置和在某类上的概率。位置信息的输入输出基于如下图所示的结构:


在每一个feature map 的每一位置处(cell),产生一组不同长宽比的default box{1, 1/2,2,1/3,3},作为初始位置,不同的feature map的box拥有不同的size[0.1(Conv4-3),0.9(Conv12-2)]。并且位置的预测输出是以default box的位置为参考的,box的坐标为(cx,cy,w,h),则网络的输出是以box为参考的delta(cx,cy,w,h),每个feature map共有(c+4)*k*m*n 个输出,(c为class的种类,k为每个位置处的box的个数,m*n是feature map 的大小),filter的种类为(c+4)*k

对于输入的image坐标先是要归一化到[0,1],如果是在训练过程中,要将标签[x1,x2,y1,y2]转换成[cx,cy,w,h],cx,cy表示中心点。300*300的image会产生8732个不同的box(所有的feature map),训练过程中,根据与groundtruth的重合度筛选出正负样本,进行训练。测试过程产生box offset和基于位置的class score,通过对class score进行排序以及NMS筛选出最优结果。

猜你喜欢

转载自blog.csdn.net/lxx516/article/details/79062719
今日推荐