zoukankan      html  css  js  c++  java
  • cnn经典网络-SSD

    参考:https://blog.csdn.net/a8039974/article/details/77592395

                https://blog.csdn.net/ytusdc/article/details/86577939

    结构:

    SSD以vgg16为基网络,SSD采用了特征金字塔的结构进行检测,即检测时利用了conv4-3,conv-7(FC7),conv6-2,conv7-2,conv8_2,conv9_2这些大小不同的feature maps上同时进行softmax分类和位置回归进行预测,不同的特征层的feature map上的每个点同时获取6个(有的层是4个)不同的prior Box,然后将这些8732个prior Box结合起来,最后经过NMS处理获得最后的BBox。

    SSD采用VGG16作为基础模型,并且做了以下修改:

    • 将VGG16的全连接层FC6和FC7转换成 3x3 的卷积层 Conv6和 1x1 的卷积层Conv7。
    • 去掉所有的Dropout层和FC8层
    • 同时将池化层pool5由原来的 stride=2 的 2x2 变成stride=1的 3x3 (猜想是不想reduce特征图大小)
    • 添加了Atrous算法(hole算法),目的获得更加密集的得分映射
    • 然后在VGG16的基础上新增了卷积层来获得更多的特征图以用于检测

    优点:

    1. 提取了不同尺度的特征图来做检测,SSD使用低层feature map检测小目标,使用高层feature map检测大目标。提高检测的精度。

    特点:

    在faster RCNN与YOLO之后提出来,

    1. 从YOLO中继承了将detection转化为regression的思路,同时一次即可完成网络训练
    2. 基于Faster RCNN中的anchor,提出了相似的prior box
    3. 加入基于特征金字塔(Pyramidal Feature Hierarchy)的检测方式,相当于半个FPN思路

    缺点:

    1. 需要人工设置prior box的min_size,max_size和aspect_ratio值。网络中prior box的基础大小和形状不能直接通过学习获得,而是需要手工设置。而网络中每一层feature使用的prior box大小和形状恰好都不一样,导致调试过程非常依赖经验。
    2. 虽然采用了特征金字塔的思路,但是对小目标的recall依然一般,并没有达到碾压Faster RCNN的级别。作者认为,这是由于SSD使用conv4_3低级feature去检测小目标,而低级特征卷积层数少,存在特征提取不充分的问题。
    3. SSD正负样本不均衡。正负样本区分:(通过定位信息(iou)初步划分,而后通过loss把hard example留下,loss越大越hard)。在训练时会依据confidience score排序default box,挑选其中confidience高的box进行训练,控制positive:negative=1:3。
  • 相关阅读:
    zabbix 表结构详情(基本)
    服务器监控zabbix
    服务器启动与关闭
    查看mysql中所有表的数据记录
    linux 常用进程使用命令
    linux mysql access denied for user ‘root’@’localhost'(using password:YES)
    初次使用IDEA的相关技巧
    javaweb回顾第十二篇监听器
    javaweb回顾第十一篇过滤器(附实现中文乱码问题)
    javaweb回顾第十篇JSTL
  • 原文地址:https://www.cnblogs.com/guweixin/p/14764427.html
Copyright © 2011-2022 走看看