一、SSD算法的介绍
1、SSD算法:
是One-stage目标检测算法中的一种,不需要region proposal阶段,可以直接产生物体的类别概率和位置坐标值,经过单次检测即可直接得到最终的检测结果,具有检测速度快的特点。
2、SSD算法结构:
① 主干网络:是由VGG16中部分卷积层组成,并将最后2层的conv6和conv7换成全连接层,用来进行图像分类
② SSD的检测框架由2个部分组成,一部分是前面的卷积神经网络,经典模型中采用的是VGG16,用于对图像特征的初步提取,第二部分是位于后端的多尺度特征检测网络,用于对前端网络产生的特征层进行不同尺度条件下的特征提取,利用多尺度特征检测网络当中的浅层特征图尺寸较大的特点,尺寸较小的物体。SSD针对Conv4_3、FC7、Conv8_2、Conv9_2、Conv10_2和Conv11_2特征层的每个单元按照不同长宽比分别提取4~6个默认框,最终获取8732个默认框。
3、Loss计算
4、默认框计算规则
不同层的特征图在卷积神经网络中感受域大小也不同,此处采用不同位置的默认框对应不同的区域和目标尺寸。设有m 个特征图用来预测,则每个特征图中默认框的尺寸为:
式(7)中:Smin为网络结构中最底层的默认框尺度,值为0.2;Smax为最高层的默认框尺度,值为0.95。使用不同的宽高比取值ar ∈ {1,2,3,1/2,1/3},则计算默认框的宽、高分别为:
设置默认框的中心点为 ,其中,i,j∈[0,|fk|],|fk|是第k个特征图的尺寸。提取不同尺寸和宽高比的所有默认框的特征并进行结果预测,并整合结果,解决不同尺度的目标检测问题。