目标检测之SSD数据处理、训练与预测流程记录
写在前面:本文不详细介绍SSD,只记录一些大体流程,具体细节可见参考1,换用数据集训练SSD可见参考2
参考1:SSD代码细节讲解
参考2:SSD换数据集训练
给定图片如何得到对应的GT
- SSD网络若指定了先验框的minsize和maxsize,则整个图片的所有先验框位置均固定。拿300SSD来说,可以得到8372个位置确定的先验框(存于model_data/prior_boxes_ssd300.pkl)
- 图片所标注的物体位置(真实框)和所属类别(存于2007_train.txt)
- 计算真实框对应的先验框,与这个先验框应当有的预测结果。
【输入:8372先验框和图片标注的信息,输出:assignment(8372, 4+21+8)(4为先验框的位置坐标,21为分类得分,8中4个为偏移量,4个定值[0,0,0,0]为了和SSD的输出形式一致)】
计算图片标注的真实框与所有的先验框的IOU,筛选出比阈值θ1大的先验框,将每个先验框对应的IOU值作为这些具有较大IOU先验框在预测时应该有的得分(即gt),并从中选取出最大的作为真实框的先验框,计算出此先验框与真实框的偏移量,将所有先验框保存至assignment,即为输入进来的这张图片,应该有的预测结果是什么样子的(Groundtruth)
给定图片如何训练网络
- 给定一张图片,输入至SSD网络,输出3个量,所有先验框的位置信息(8372x4),所有先验框对应的偏移量(8372x8,前4个为偏移量,后四个为定值[0.1,0.1,0.2,0.2]),所有先验框对应预测框的分类得分(8372x21)
- 将输出的结果与上一步的assignment存储的gt进行LOSS回归
loss的计算分为三个部分:
1、获取所有正标签的框的预测结果的回归loss。
2、获取所有正标签的种类的预测结果的交叉熵loss。
3、获取一定负标签的种类的预测结果的交叉熵loss。
给定图片通过网络预测
- 同理给定一张图片,输入至SSD网络,输出输出3个量,所有先验框的位置信息(8372x4),所有先验框对应的偏移量(8372x8,前4个为偏移量,后四个为定值[0.1,0.1,0.2,0.2]),所有先验框对应预测框的分类得分(8372x21)。
- 针对每一类别,选出得分大于阈值θ2(0.5)的先验框,再进行NMS去重,保留下较好的先验框,将label、置信度、框的位置进行堆叠存于results,选出topk(200)个先验框作为输出,最后在经过此阈值θ3(0.8)筛选,得到结果
图片标注
推荐使用LabelImg制作
目标检测之SSD数据处理、训练与预测流程记录相关推荐
- 目标检测的常用数据处理方法!
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:徐和鼎,浙江大学,Datawhale优秀学习者 前沿 在上节内容中 ...
- 【CV】目标检测的常用数据处理方法!
作者:徐和鼎,浙江大学,Datawhale优秀学习者 前沿 在上节内容中,我们介绍了目标检测的基础概念,并分析了实现目标检测的常用思路,本篇文章将重点介绍在该领域的经典数据集:VOC数据集,以及使用D ...
- 基于PaddlePaddle实现的目标检测模型SSD
原文博客:Doi技术团队 链接地址:https://blog.doiduoyi.com/authors/1584446358138 初心:记录优秀的Doi技术团队学习经历 本文链接:基于PaddleP ...
- Mxnet (33): 多盒目标检测(SSD)检测香蕉
1. 香蕉检测数据集 对象检测没有像MNIST或Fashion-MNIST这样的小型数据集.为了快速测试模型,可以自己组装数据集.首先使用香蕉生成1000个角度和大小不同的香蕉图像.然后收集一些背景图 ...
- 目标检测算法SSD结构详解
❝ 上期我们一起学习了Faster RCNN的损失函数以及如何进行模型训练的相关知识,如下: Faster RCNN的损失函数以及模型训练流程 ❞ 本文主要学习: One-Stage / Two-St ...
- 【目标检测】SSD目标检测
导语 PaddlePaddle提供了丰富的运算单元,帮助大家以模块化的方式构建起千变万化的深度学习模型来解决不同的应用问题.这里,我们针对常见的机器学习任务,提供了不同的神经网络模型供大家学习和使用. ...
- 用自建kinetics-skeleton行为识别数据集训练st-gcn网络流程记录
用自建kinetics-skeleton行为识别数据集训练st-gcn网络流程记录 0. 准备工作 1. 下载/裁剪视频 2. 利用OpenPose提取骨骼点数据,制作kinetics-skeleto ...
- 目标检测:SSD 安装、训练、测试
说明:这个是SSD刚出来时候的博文记录,最新的可能会有更变,如有问题,请大家查阅官网链接. 环境:ubuntu14.04+cuda7.5+openvc2.4.9 安装 1.下载SSD sudo apt ...
- 目标检测|SSD原理与实现
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:计算机视觉联盟 前言 目标检测近年来已经取得了很重要的进 ...
最新文章
- Ubuntu18.04的网络配置(静态IP和动态IP) - OpsDrip - 博客园
- python 替换空格
- java 好处_Java的优点
- ubuntu 安装intel iofrt 和icc编译器
- java 模板引擎_SpringBoot入门系列(四)如何整合Thymeleaf模板引擎
- Rust——Macos安装使用
- 10亿美元:MIT宣布建立计算学院,近70年来最大结构变革只为AI
- 爬虫python能做什么-Python除了能做爬虫之外还能做什么?
- C语言 读取文件中特定数据
- zabbix监控业务进程变动
- 假如你是架构师,你要做些什么
- 特征选择的基本方法概述
- 数据中心到底是如何建设的?
- SQLServer实现快速进行简繁体的翻译功能
- Retrofit的使用详解(一)
- 循环链表之双循环链表
- 【成为架构师课程系列】作为一名大数据架构师该掌握的技能清单:
- 沃尔沃推出纯电动汽车Polestar 2 续航里程和Model 3接近
- Java语言程序设计数据结构基础篇第11版6.31(金融应用:信用卡号的合法性检验)信用卡号遵循某种模式。一个信用卡号必须是13-16位的整数 (java)
- 在Ubuntu 18下安装SIMULIA Abaqus 2020
热门文章
- maven私服的使用
- 前端调数据会经常用到的事件处理
- 集成spring框架的web.xml
- 哦~最重要的产品链接忘了发了
- FileUpload上传图片提示 “GDI+中发生一般性错误”
- Debug Assertion Failed.Expression:_BLOCK_TYPE_IS_VALID(phead-nBlockUse)
- cpu核心电压:不一定是1.55伏特 : 全体到齐!200 mhz fsb的p4处理器与i875p双通道ddr400芯片组...
- 【jQuery笔记Part2】01-jQuery显示隐藏切换动画侧边广告案例
- MySQL忘记密码后,修改
- java代码 创建文件夹的方法