from:https://blog.csdn.net/u013989576/article/details/73439202

问题引入:

目前,常见的目标检测算法,如Faster R-CNN,存在着速度慢的缺点。该论文提出的SSD方法,不仅提高了速度,而且提高了准确度。

SSD:

该论文的核心思想:

该论文的主要贡献:

1. 提出了SSD目标检测方法,在速度上,比之前最快的YOLO还要快,在检测精度上,可以和Faster RCNN相媲美

2. SSD的核心是在特征图上采用卷积核来预测一系列default bounding boxes的类别分数、偏移量

3. 为了提高检测准确率,在不同尺度的特征图上进行预测,此外,还得到具有不同aspect ratio的结果

4. 这些改进设计,实现了end-to-end训练,并且,即使图像的分辨率比较低,也能保证检测的精度

5. 在不同的数据集,如:PASCAL VOC、MS COCO、ILSVRC,对该方法的检测速度、检测精度进行了测试,并且与其他的方法进行了对比。

SSD模型结构:

刚开始的层使用图像分类模型中的层,称为base network,在此基础上,添加一些辅助结构:

1. Mult-scale feature map for detection

在base network后,添加一些卷积层,这些层的大小逐渐减小,可以进行多尺度预测

2. Convolutional predictors for detection

每一个新添加的层,可以使用一系列的卷积核进行预测。对于一个大小为m*n、p通道的特征层,使用3*3的卷积核进行预测,在某个位置上预测出一个值,该值可以是某一类别的得分,也可以是相对于default bounding boxes的偏移量,并且在图像的每个位置都将产生一个值,如图2所示。

3. Default boxes and aspect ratio

在特征图的每个位置预测K个box。对于每个box,预测C个类别得分,以及相对于default bounding box的4个偏移值,这样需要(C+4)*k个预测器,在m*n的特征图上将产生(C+4)*k*m*n个预测值。这里,default bounding box类似于FasterRCNN中anchors,如图1所示。

个人感觉SSD模型与Faster RCNN中的RPN很类似。SSD中的dafault bounding box类似于RPN中的anchor,但是,SSD在不同的特征层中考虑不同的尺度,RPN在一个特征层考虑不同的尺度。

SSD模型训练:

1. Matching strategy

将每个groundtruth box与具有最大jaccard overlap的defalult box进行匹配, 这样保证每个groundtruth都有对应的default box;并且,将每个defalut box与任意ground truth配对,只要两者的jaccard overlap大于某一阈值,本文取0.5,这样的话,一个groundtruth box可能对应多个default box。

jaccard overlap的计算:

      

2. Training objective

Let be an indicator for matching the i-th default box to the j-th ground truth box of category p 。

损失函数的计算类似于Fast RCNN中的损失函数,总的损失函数是localization loss (loc) 和 confidence loss (conf) 的加权和,如下:

confidence loss:

localization loss (loc) :

其中,(gcx, gcy, gw, gh)表示groundtruth box,(dcx, dcy, dw, dh)表示default box,(lcx, lcy, lw, lh)表示预测的box相对于default box的偏移量。

3. Choosing scales and aspect ratios for default boxes

为了处理不同尺度的物体,一些文章,如:Overfeat,处理不同大小的图像,然后将结果综合。实际上,采用同一个网络,不同层上的feature map,也能达到同样的效果。图像分割算法FCN表明,采用低层的特征图可以提高分割效果,因为低层保留的图像细节信息比较多。因此,该论文采用lower feature map、upper feature map进行预测。

一般来说,CNN的不同层有着不同的感受野。然而,在SSD结构中,default box不需要和每一层的感受野相对应,特定的特征图负责处理图像中特定尺度的物体。在每个特征图上,default box的尺度计算如下:

其中,smin = 0.2,smax = 0.9

default box的aspect ratios 有:{1, 2, 3,1/2,1/3},对于 aspect ratio = 1,额外增加一个default box,该box的尺度为 。

每一个default box,宽度、高度、中心点计算如下:

4. Hard negative mining

经过matching后,很多default box是负样本,这将导致正样本、负样本不均衡,训练难以收敛。因此,该论文将负样本根据置信度进行排序,选取最高的那几个,并且保证负样本、正样本的比例为3:1。

5. Data augmentation

为了使得模型对目标的尺度、大小更加鲁棒,该论文对训练图像做了data augmentation。每一张训练图像,由以下方法随机产生:

1)使用原始图像

2)采样一个path,与目标的最小jaccard overlap为0.1、0.3、0.5、0.7、0.9   (这个具体怎么做呢???)

3)随机采样一个path

采样得到的path,其大小为原始图像的[0.1, 1],aspect ratio在1/2与2之间。当groundtruth box的中心在采样的path中时,保留重叠部分。经过上述采样之后,将每个采样的pathresize到固定大小,并以0.5的概率对其水平翻转。

参考博客:http://blog.csdn.net/smf0504/article/details/52745070

转载于:https://www.cnblogs.com/bonelee/p/9033952.html

基于深度学习的目标检测算法:SSD——常见的目标检测算法相关推荐

  1. 基于深度学习和3D图像处理的精密加工件外观缺陷检测系统

    由于精密五金加工工艺特殊.零件形状复杂,表面存在金属材质纹理.加工残留纹路以及加工工艺的干扰,如切削液.油污.电镀.喷砂.氧化处理不良等.这样的金属加工件外观缺陷难以使用普通2D视觉检测系统进行高效检 ...

  2. 基于深度学习和模糊逻辑的葡萄黑麻疹疾病自动检测与严重程度分析(受控背景)

    研究内容 葡萄黑麻疹可能是所有植物病害中最著名.研究时间最长.破坏性最大的一种,它最终会降低产品的生产率和质量.及时.有效.准确地评价葡萄黑麻疹病是田间管理的重要环节.本文提出了一种基于深度学习和模糊 ...

  3. 基于深度学习(AI人工智能)技术的机器视觉外观检测系统-GalileoX软件介绍

    制造业是中国工业化的源头,是实现现代化的主力军,在中国每天都要生产大量的工业产品.随着生活品质的提高,对产品质量的要求越来越高,除要求满足使用性能外,还要有良好的外观,即良好的表面质量.不同产品的表面 ...

  4. 【基于深度学习的细粒度分类笔记4】图像识别与检测挑战赛冠军方案出炉,基于偏旁部首识别 Duang 字

    雷锋网(公众号:雷锋网) AI 科技评论按:随着互联网的飞速发展,图片成为信息传播的重要媒介,图片中的文本识别与检测技术也一度成为学界业界的研究热点,应用在诸如证件照识别.信息采集.书籍电子化等领域. ...

  5. 基于深度学习的中文车牌识别与管理系统(含UI界面,Python代码)

    摘要:本文详细介绍基于深度学习的中文车牌识别与管理系统,在介绍算法原理的同时,给出Python的实现代码以及PyQt的UI界面.在界面中既可以选择需要识别的车牌视频.图片文件.批量图片进行检测识别,也 ...

  6. 基于深度学习的视觉里程计算法

    基于深度学习的视觉里程计算法 介绍 近年来,视觉里程计广泛应用于机器人和自动驾驶等领域,传统方法求解视觉里程计需基于特征提取.特征 匹配和相机校准等复杂过程,同时各个模块之间要耦合在一起才能达到较好的 ...

  7. 读“基于深度学习的图像风格迁移研究综述”有感

    前言 关于传统非参数的图像风格迁移方法和现如今基于深度学习的图像风格迁移方法. 基于深度学习的图像风格迁移方法:基于图像迭代和模型迭代的两种方法的优缺点. 基于深度学习的图像风格迁移方法的存在问题及其 ...

  8. 表单识别(四)-基于深度学习的表单识别)-OCR

    (论文研读后,感觉有用的一些笔记,主要是给自己记录) 论文:熊雨点,基于深度学习的表单识别系统的研究与实现 基于深度学习的表单识别 前言: 文档检测方法: 基于扩张卷积残差网络的表单文档定位方法: 扩 ...

  9. 病虫害模型算法_基于深度学习的目标检测算法综述

    sigai 基于深度学习的目标检测算法综述 导言 目标检测的任务是找出图像中所有感兴趣的目标(物体),确定它们的位置和大小,是机器视觉领域的核心问题之一.由于各类物体有不同的外观,形状,姿态,加上成像 ...

  10. 综述 | 基于深度学习的目标检测算法

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:计算机视觉life 导读:目标检测(Object Det ...

最新文章

  1. LSTM内部实现原理详解
  2. boost.asio包装类st_asio_wrapper开发教程(2014.5.23更新)(一)-----转
  3. Java泛型中的PECS原则
  4. 外部中断0——51程序
  5. mysql 查看root_Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
  6. ubuntu下定时执行工具cron开启关闭重启
  7. selenium 定位方式4-xpath
  8. angularJS前端分页插件
  9. 在Linux的Terminal中显示文本文件特定行的内容
  10. python的输入和输出语句
  11. DS1302时钟模块简单介绍
  12. 2020 中青杯数学建模思路+代码
  13. [ 英语 ] 语法重塑 之 英语学习的核心框架 —— 英语兔学习笔记(1)
  14. 红米8.0系统手机(亲测有效)激活xposed框架的经验
  15. 应届生为什么觉得女生更适合银行工作?(上)
  16. 基于网络小型文件型的数据管理系统
  17. 基于python和Opencv将多张图片结合为一张图片的办法
  18. iPhont X适配
  19. 51nod3146 绿豆蛙的归宿
  20. [转载]Eclipse开发工具简介

热门文章

  1. linux中if的作用域,【2017-02-21】分支语句if...else...、分支嵌套、变量的作用域
  2. c mysql批量插入优化_MySQL实现批量插入以优化性能的教程
  3. 各样本观察值均加同一常数_对色师傅分享:如何使不同观察者在灯箱下观察的色光一致?...
  4. 若有代数式,则以下能够正确表示该代数式的c语言表达是是 07年4月,2007年4月全国计算机等级考试二级笔试试卷...
  5. java代码写jsp读取,Java IO学习基础之读写文本文件-JSP教程,Java技巧及代码
  6. linux vga 分辨率低,vga输出 1440x900 分辨率问题
  7. 【深度学习】深入浅出 CRF-RNN Layer(The End-to-end)
  8. 机器学习之交叉验证方法详解【基于Scikit-Learn】
  9. python【蓝桥杯vip练习题库】ADV-96复数求和
  10. Python matplotlib高级绘图详解