SSD与MobileNet详解

2023-05-16

1.概述

本文档阐述SSD检测算法原理,及以MobileNet为Backbone的网络搭建方式。

十里桃园首发,转载请注明

  1. Why SSD?

无论是机器学习或是深度学习一般都可分为两个部分:特征提取与分类任务。

在传统的机器学习方法中,特征提取需要依据图像以及特有的检测目的抓取特有特征,如偏重物体轮廓的HOG特征,注重明暗对比的Haar特征等,特征被描述之后送入机器学习算法分类,如SVM、Adaboost等,进而判断物体的分类。将上述的流程在图像上做滑框操作或代入已图像预处理的ROI框即完成了图像检测与识别任务。
在这里插入图片描述

图.1 机器学习目标检测简图

在深度学习中,特征提取需要由特有的特征提取神经网络来完成,如VGG、MobileNet,ResNet等,这些特征提取网络往往被称为Backbone。通常来讲在BackBone后面接全连接层(FC)来执行分类任务。但FC对目标的位置识别乏力。经过算法的发展,当前主要以特定的功能网络来代替FC的作用,如Mask-Rcnn、SSD、SSDlite、YOLO等。
在这里插入图片描述

图.2 深度神经网络特征提取+SSD分类器

本文主要阐述说明以MobileNet_v2为Backbone,以SSD为分类器来执行分类任务的具体架构。

  1. SSD 分类框架

3.1.两种主流的深度学习目标检测分类算法

基于目标检测与识别算法分为两个类型:

1,Two-Stage方法,如R-CNN系列算法,其先产生一系列稀疏的候选框,然后对这些候选框进行分类和回归。

2,One-Stage算法,如Yolo、SSD等,其主要思路为均匀地在图片不同位置进行密集抽样,抽样时采用不同尺度和长宽比,进行分类和回归,整个过程只需一步,相应的其运行速度要远远优于Two-Stage方法

两种方法的mAP(Mean Average Precision)与运行速度如下图:
在这里插入图片描述

图.3 Two-Stage与One-Stage算法性能对比图

如上图,横轴为识别帧率,纵坐标为mAP。可以看出,One-Stage算法的帧率在保证mAP的前提下,普遍高于Two-Stage,更适合在嵌入式移动设备端部署。

3.2.SSD算法

和FC不同的是,SSD在多个尺度的特征图上分别执行目标检测工作。这样可以使得各个尺度的目标都能被兼顾,小尺度特征图预测大目标,大尺度特征图预测相对较小的目标。

3.2.1.感受野

感受野是指影响某个神经元的输入区域,也被称为理论感受野。

输入区域中每个像素点对输出影响的重要性不同,越靠近中心的像素点影响越大,呈高斯分布。中间一小部分区域对神经元的输出有绝对的影响,这中间一小部分被叫做有效感受野。

在这里插入图片描述

图.4 感受野与Default Box

如图.4,左侧整个黑色区域就是理论感受野,中间成高斯分布的白色点云区域为有效感受野。右侧图像蓝色框内对应理论感受野,绿色圆内对应有效感受野,而红色框内是Default Box大小,Default Box比理论感受野小很多,但是可以容纳大部分有效感受野内部信息。Default Box的具体含义与作用在下节给出。

3.2.2.Default Box

3.2.2.1 Default Box Acquisition

特征图是输入图像经过神经网络卷积产生的结果,表征的是神经空间内一种特征,其分辨率大小取决于先前卷积核的步长。SSD算法中共取6层不同尺度的特征图,在每层特征图的每个像素点处生产不同宽高比的框,此类的框统称为Default Box。

在这里插入图片描述

图.5 8*8特征图和Default Box

如上图,假定有8*8的特征图,特征图上的每个格子称为特征图小格,在每个特征图小格上面有一系列固定大小的Box,上图中每个小格上有4个Box,用虚线框标识。

泛化地来说,如果一个特征图的大小是mn,也即有mn个特征图小格。在每个小格上有k个Default Box,那么这层特征图Default Box的总数为mnk。

Default Box自身的尺度(scale)和宽高比(aspect ratio)也有特殊的规定的方式,假设一共用I个特征图做预测,对于每个特征图而言其Default Box的尺度按下面的公式计算:

在这里插入图片描述

尺度(scale)是相对于输入图像的分辨率,最终Default Box的实际像素尺寸需乘以输入图像的分辨率,如SDD300,则需乘以300。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2.3. Box regression

对于神经网络前向流动来说,需要将Prior Box与Ground Truth Box做匹配。匹配成功则说明,Prior Box所包含的是被检测的目标。但其力完整目标的Ground Truth Box还有一定的神经网络高维空间内的距离。显然地,将Prior Box的分类尽可能地通过一个高维向量分类并回归到Ground Truth Box为神经网络地最终目标之一。

在做回归之前,需先明确其要回归的内容,即有哪些数据向哪些数据回归。对于一个Prior Box 其参数如下图:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2.SSDlite

SSDLite 在MobileNet_v2的论文中被作者提出。其对SSD的结构进行了修改,将SSD预测层中所有的标准卷积替换为深度可分离卷积。

具体来说在进行NMS前,就是特征图的分类及位置加权均采用点卷积模式。

在这里插入图片描述
在这里插入图片描述

图.8 Original MoibleNet_v2 with SSD

依据论文,可得网络模型如上图,此图保持与论文一致,与源码略有出入。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SSD与MobileNet详解 的相关文章

  • SSD与MobileNet详解

    1 概述 本文档阐述SSD检测算法原理 xff0c 及以MobileNet为Backbone的网络搭建方式 十里桃园首发 xff0c 转载请注明 Why SSD xff1f 无论是机器学习或是深度学习一般都可分为两个部分 xff1a 特征提
  • MobileNet_ssd原理

    之前实习用过太多次mobilenet ssd xff0c 但是一直只是用 xff0c 没有去了解它的原理 今日参考了一位大神的博客 xff0c 写得很详细 xff0c 也很容易懂 xff0c 这里做一个自己的整理 xff0c 供自己理解 x
  • 深度学习目标检测之SSD

    经典论文SSD笔记 论文链接 xff1a SSD Single Shot MultiBox Detector论文报告 xff1a ssd eccv2016 slide目标检测百页综述 xff0c 从传统方法到深度学习 xff1a Objec
  • SSD深度解析:MLC颗粒和TLC颗粒到底有多大差别?

    计算机技术发展到今天 xff0c CPU和内存性能早已不是性能瓶颈 xff0c 但是硬盘依然是电脑常见瓶颈 xff01 固态硬盘的出现极大的改善机械硬盘的存储效率 xff0c 但是因为固态硬盘还处于行业发展初期 xff0c 所以成本很高 x
  • SSD核心技术---FTL

    FTL算法的优劣与否 xff0c 直接决定了SSD在性能 xff08 Performance xff09 可靠性 xff08 Reliability xff09 耐用性 xff08 Endurance xff09 等方面的好坏 xff0c
  • 西数ZN540如何修改sector size

    写在前面 因需要在ZN540上挂载F2FS 故需要两块盘 一块传统SSD一块ZNS SSD 对于ZN540 信息如下 由于其扇区大小为4KiB 而自己服务器上没有逻辑扇区为4KiB的盘 例如三星883 所以当用883做传统盘的时候 格式化m
  • 手残,双硬盘(SSD+HDD)双系统(Win10+ubuntu)用easyBCD删除win10引导项怎么办?戳这里

    问题描述 博主处女座 电脑双硬盘 固态 机械 因为学习需要 装了双系统 Win10 Ubuntu 这个也是费了不少功夫才成功 不知道怎么装的可以看我这个http blog csdn net x1825048925 article detai
  • 从零开始构建SSD网络实现目标识别项目

    前言 由于此项目全过程过于繁杂 我前后做了三四个月 无法把所有内容融入这一篇文章之中 所以本文以逻辑串联为主 记录了我从零开始 构建vgg 300网络 gt 构建 SSD模型 gt 数据标注 gt 训练以及训练模型保存 gt 恢复模型进行预
  • 深入理解anchor

    在博客SSD原理解读 从入门到精通中提到了anchor作用 通过anchor设置每一层实际响应的区域 使得某一层对特定大小的目标响应 很多人肯定有这么一个疑问 那anchor到底可以设置到多大呢 本文尝试对anchor的大小进行了一系列的探
  • 经典网络结构梳理:Mobilenet网络结构

    论文下载地址 https arxiv org abs 1704 04861 Caffe复现地址 https github com shicai MobileNet Caffe Mobilenet发布在2017年的CVPR Mobilenet
  • 隐患重重遭诟病 细数固态硬盘“七宗罪”

    此内容转自网络 本人认为文章内容优秀 只作收藏 作为自己的知识库 并不用他用 原文链接地址为 http ssd zol com cn 471 4715723 all html 隐患重重遭诟病 细数固态硬盘 七宗罪 2015 02 28 19
  • ECCV 2016《SSD: Single Shot MultiBox Detector》论文笔记

    本学弱喜欢在本子上记笔记 但字迹又丑 望看不懂我的字的大佬不要喷我 看得懂的大佬批评指正
  • 目标检测:SSD算法原理综述

    SSD Single Shot Detection 是一个流行且强大的目标检测网络 网络结构包含了基础网络 Base Network 辅助卷积层 Auxiliary Convolutions 和预测卷积层 Predicton Convolu
  • 2.2 SSD之地址映射

    LBA Logical Block Address 表示用户操作 读写 数据的位置 PBA Physics Block Address 表示数据在硬盘的真实位置 在HDD时代 数据可以覆盖写 LBA和PBA直接对应不会更改 但是SSD时代
  • Object Detection(目标检测神文)

    目标检测神文 非常全而且持续在更新 转发自 https handong1587 github io deep learning 2015 10 09 object detection html 如有侵权联系删除 更新时间 20190226
  • Nand Flash基础知识

    1 Nand Flash组织架构 Device Package 就是封装好的nand flash单元 包含了一个或者多个target 一个target包含了一个或者多个LUN 一个target的一个或者多个LUN共享一组数据信号 每个tar
  • SATA M.2 NGFF PCIE AHCI NVME SSD固态硬盘的接口、总线和协议区分

    总线 协议 说接口之前先说总线 民用产品的硬盘总线多为 SATA 和 PCIe SATA 总线只能使用 AHCI 协议 NVME 对比 AHCI 的优势在于 低延时 低功耗 更适合固态硬盘 PCIe总线 可以使用 AHCI 也可以使用更高效
  • NVME Format Command 个人笔记

    Format NVM command NVM Command Set Specific This command is used by the host to change the LBA data size and or metadata
  • SSD mobilenet模型无法检测较远距离的物体

    我已经使用自定义数据集 电池 训练了 SSD Mobilenet 模型 下面给出了电池的示例图像 并附上了我用来训练模型的配置文件 当物体靠近相机时 使用网络摄像头测试 它以超过的概率准确地检测到物体0 95但是当我将物体移动到更远的距离时
  • Keras 模型训练良好,但预测的值相同

    让我们尝试制作MobileNet V 2在嘈杂的图像上找到一条亮带 是的 使用深度卷积网络来实现这样的策略有点过分了 但最初它的目的就像烟雾测试一样 以确保模型有效 我们将使用合成数据对其进行训练 import numpy as np im

随机推荐

  • 修改mysql字符集为utf8mb4

    设置mysql字符集为utf8mb4 要求MySQL版本 gt 61 5 5 3 查看字符集 查看MYSQL数据库服务器和数据库字符集 方法一 xff1a show variables like 39 character 39 方法二 xf
  • spyder中安装第三方库的包

    最近遇到一个问题 xff1a 在CMD命令窗口安装的python包 xff0c 在anaconda中spyder编辑器中找不到已安装的python包 xff0c 经过网上的资料查看 xff0c 原来是因为 xff0c cmd中python包
  • ubuntu16.04解决wifi被禁用的问题

    点击启用wifi xff0c 可wifi显示被禁用的问题解决 xff1a 1 终端输入命令 xff0c 查看当前wifi开关状态 xff0c 联想电脑会有出现ideapad laptop 影响无线wifi开关的 xff1a rfkill l
  • win10中WSL与Intel Haxm系列模拟器产生冲突

    windows 中的 wsl 基于微软自家的 Hyper V ms WHPX 系虚拟化加速 有些第三方的安卓模拟器 xff0c 基于 Intel 家的 Haxm Intel Haxm 系虚拟化加速 但是 xff0c 一个运行中的系统 xff
  • Windows10安装ubuntu(WSL2,可直接调用Win10程序) —2022年笔记

    算是wsl2的使用总结 一 启动win10虚拟机模块 1 打开控制面板 xff08 或开始 gt 运行 control xff09 2 点击最左边的 启用或关闭windows功能 xff0c 会弹出模块勾选界面 3 勾上 Hyper V 适
  • MySQL分组后取每一组第N条数据

    1 知识点 group concat 函数 聚合函数 1 功能 xff1a 将group by产生的同一个分组中的值连接起来 xff0c 返回一个字符串结果 2 语法 xff1a group concat distinct 要连接的字段 o
  • TDengine的安装使用(超详细)

    TDengine的安装使用 目录 FastBee物联网使用TDengine作为时序数据库 xff0c 蜂信物联官网 xff0c 开源项目演示 xff1a FastBee文档 xff1a 立即开始 TDengine 文档taos的配置参数客户
  • 双系统安装教程(win10 & ubuntu20.04)

    双系统安装教程 xff08 win10 amp ubuntu20 04 xff09 背景创建启动盘win10下磁盘划分开始安装吧我的分区设置启动项 背景 最近公司项目开发需要linux系统 xff08 yocto构建 xff09 xff0c
  • python3.x 快速入门

    Edit the gt 2018 6 15 11 26 53 1认识Python 人生苦短 我用python 优雅 明确 简单 是python设计哲学 python的设计目标之一 是让代码具备高度的可阅读性 python 被广泛用于web程
  • python字符串和列表的切片

    python字符串和列表的切片 前言1 切片字符串例子2 切片语法说明3 列表切片例子演练总结 前言 对于字符串和列表python提供了以 start end step 直观方式来截取字符串和列表一部分 xff0c 使用起来非常便利和直观
  • Debian安装

    欢迎访问爱招飞网站https www isoface cn获取更多物联网产品技术信息 Debian 是一个自由的操作系统 xff08 OS xff09 xff0c 提供您安装在计算机上使用 操作系统就是能让您的计算机工作的一系列基本程序和实
  • Java读取jar包中的resource资源文件

    目录 1 需求 2 问题 3 IDEA读取resource资源 3 1 方法1 3 2 方法2 4 打成jar包后读取resource资源 4 1 读取jar包中的资源文件 4 2 遍历jar包资源目录 4 2 1 环境判断 4 2 2 复
  • 【Excel】排名之成绩并列排名(sumproduct、countif 函数的组合使用方法)

    目录 一 应用场景 解决成绩并列排名 二 sumproduct countif 函数的官方语法说明 三 组合使用的解释 一 应用场景 解决成绩并列排名 在 Excel 的排名中 xff0c 不免会遇到 并列第一 xff0c 并列第X 的情况
  • Kotlin教程 各种View的声明赋值点击事件详解

    本章节讲述Kotlin中各种View的声明赋值点击事件 xff0c 比如TextView xff0c EditText xff0c ImageView 这些在Java语言中是最最基础的东西 写这篇文章的主要目的就是看一下Kotlin语言中有
  • QT连接MYSQL踩过的坑

    1 QT版本需要与mysql版本一致 xff0c 我测试成功的版本都是64位的情况 2 添加引用和链接 include 34 MainWindow h 34 include 34 ui MainWindow h 34 include inc
  • goodnotes导入文件需要密码,教你一招破解!

    很多用goodnotes或者其他ipad软件学习的小伙伴可能会遇到相同的问题 xff0c 就是有的文件在导入的时候会显示需要密码 我自己也是查了很多资料咨询了很多人 xff0c 百度上说的另存为一下有时候管用有时候不管用 最后总结了一下经验
  • 选择排序过程详解

    选择排序过程详解 1 xff0c 引入 和插入排序的插入一样 xff0c 选择更多的是一种思路 xff0c 使用这种思路排序的算法也有多种 xff1a 这篇文章要梳理的是其中最基础的一种 简单选择排序的确足够简单 xff0c 以至于我写完本
  • 在Termux上安装Kali Linux 完整系统

    安装Kali Linux前准备工作 xff1a 1 安装F Droid 开源软件商店 官网 2 使用F Droid商店安装Termux APK 注 xff1a 当然也是可以在play商店里安装Termux 但是可能会出现pkg 更新和安装错
  • Linux Mint 21 Cinnamon安装RSS阅读器FluentReader(FlatPak版))

    RSS新闻聚合阅读已经渐渐淡出了互联网 xff0c 这种阅读方式的力量如今可算是强弩之末了 xff0c 做为一名老网友 xff0c 笔者还通过更种方式 xff0c 找到一些阅读源 xff0c 然而如何选择阅读器就成了大问题 Google R
  • SSD与MobileNet详解

    1 概述 本文档阐述SSD检测算法原理 xff0c 及以MobileNet为Backbone的网络搭建方式 十里桃园首发 xff0c 转载请注明 Why SSD xff1f 无论是机器学习或是深度学习一般都可分为两个部分 xff1a 特征提