目标检测SSD算法笔记
看了论文,有几处疑惑,参考很多文章,发现大多写的差不多,现就曾经困扰的地方记录一下笔记。
明确几个概念:通过feature map cell(anchor)生成的矩形框称之为default box(ssd中为8732个);将这些default box与真实的目标框(ground truth)进行IOU匹配后得到的大于IOU阈值的矩形框称之为prior box;
通过prior box结合难例挖掘生成网络的正样本和负样本(1:3),正样本中有多个prior box对应同一个gt,而挖掘出的负样本通常为:不包含某一类(正样本)和背景类的其他类所组成的样本,这样设计的目的是为了使负样本能在分类的时候对正样本产生足够的干扰,提升算法预测的准确率。
在网络预测的时候,每一个prior box 都会输出(classNumber+1+4)个变量,其中classnumber为数据总的类别数,1是背景类(ssd算法将背景作为单独的一类),4是框的位置参数(x, y, w, h)。
prior box(正样本)会参与回归与分类的所有训练,而正样本、负样本(正样本+负样本都是default box的子集)会参与分类的训练
总结一下:default box的作用有:1. 预测的时候生成prior box,进而生成正负样本,提速训练;2. 在测试的时候所有的default box都将进行计算,对每一个box中计算出的类别参数(20类有20个值)若某一个值大于类别阈值则判定为该类进而进行框的位置纠正,若所有类的值均没有大于阈值,则抛弃该box;
prior box的作用有:1.用于回归训练(由于prior box一般远小于default box的数量,复杂度大大降低);2.用于产生正负样本,正负样本用于分类训练。当然这两个训练是同时进行的,这样讲只是为了便于理解。
关于编码和解码:
编码的作用:网络在计算loss的时候并不是直接拿预测的box的坐标同gt的坐标进行比对,而是拟合预测框与prior box的差值尽量和prior box与gt的差值一样小,通过这样的改变避免了位置的抽象不好计算的缺点,所以网络输出的是位置框的相对偏移量,编码就是将位置参数(x, y, w, h)修改为预测框相对于cell的偏移量(x’+offset, y’+offset, w’+offset, h’+offset)。
解码的作用刚好相反,将偏移量转换为可以可视化的框。关于卷积核(记录一下)
对于6个特征层,采用3x3的卷积核进行卷积采样,其中,卷积核的通道数必须等于输入特征层的通道数,例如conv4_3特征是38x38x512,对这一层进行卷积采用的卷积核大小为3x3x512,对于分类来说,需要21(类别数)个这样的卷积核也就是3x3x512x21,这里的参数数量是(3x3x512+1)x21,+1为bias,对于回归来说,需要4个这样的卷积核,即:3x3x512x4.通常来说卷积核的通道数kxkxc,在灰度图下,这里的c确实是通道数,但是对于RGB图,我们表示卷积核的大小kxkxc,这里的c其实是卷积核的个数,其默认的通道数为3,也就是:kxkx3xc才是卷积核真正的大小
卷积核只在相同的通道内权值共享,所以对于3通道图片,有3c个卷积核;如果上一层是38x38x192,那么卷积核的个数是192c;
也许是通过卷积后输出的特征层有c个,也就是下一层图像的通道数是c,所以这里用c表示卷积的通道吧。
目标检测SSD算法笔记相关推荐
- 目标检测SSD学习笔记
目标检测SSD学习笔记 SSD: Single Shot MultiBox Detector Abstract. 我们提出了一种使用单一深度神经网络来检测图像中的对象的方法.我们的方法,命名为SSD, ...
- 目标检测-SSD算法详细总结
文章与视频资源多平台更新 微信公众号|知乎|B站|头条:AI研习图书馆 深度学习.大数据.IT编程知识与资源分享,欢迎关注,共同进步~ 一. 引言 文章:SSD: Single Shot MultiB ...
- 深入目标检测原理学习笔记1
目标检测(object detection)学习笔记 文章目录 目标检测(object detection)学习笔记 一.目标检测任务概述 1.图像识别的任务 2.图像识别的两种模式 3.目标检测的定 ...
- 2019 sample-free(样本不平衡)目标检测论文阅读笔记
点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自知乎,已获作者同意转载,请勿二次转载 (原文地址:https://zhuanlan.zhihu.com/p/100052168) 背景 < ...
- 动手学深度学习——目标检测 SSD R-CNN Fast R-CNN Faster R-CNN Mask R-CNN
来源:13.4. 锚框 - 动手学深度学习 2.0.0-beta1 documentation 目标检测:锚框算法原理与实现.SSD.R-CNN_神洛华的博客 目录 目标检测简介 目标检测模型 编辑 ...
- 说说早期目标检测-----------ssd那些事
说说早期目标检测---------ssd那些事 前言 论文地址 github ssd的优点 学习前言 a[::-1] ssd---anchor SSD代码讲解 1.预测部分 获得预测结果 预测框解码 ...
- 目标检测相关算法综述
目标检测相关算法综述 1. R-CNN[1] 2. SPP-Net[2] 3.Fast Rcnn[3] 4.Faster Rcnn[4] 5.Cascade Rcnn[5] 6.FPN[6] 7.YO ...
- Task 06 数据增强;模型微调;目标检测基础 学习笔记
Task 06 数据增强:模型微调:目标检测基础 学习笔记 数据增强 图像增广 在5.6节(深度卷积神经网络)里我们提到过,大规模数据集是成功应用深度神经网络的前提.图像增广(image augmen ...
- CVPR2020论文介绍: 3D 目标检测高效算法
CVPR2020论文介绍: 3D 目标检测高效算法 CVPR 2020: Structure Aware Single-Stage 3D Object Detection from Point Clo ...
最新文章
- 2022 年计算机视觉的三大趋势
- 实验四 使用C++的mfc实现圆心为任意位置的圆的绘制。
- 从大型主机到个人计算机:机器人产业可以从pc普及革命中学到什么?
- 英国伯明翰大学首席教授姚新:人工智能研究应从三个问题重新考虑
- 全局内存BSS,DATA,RODATA的区别以及其他内存区间相关
- 解决springdatajpa 在解析实体类的字段时候驼峰自动转为下划线问题
- pm2 守护 nuxt
- JSP九大内置对象(转载)
- #25 centos7(RHEL)系列操作系统的启动流程、systemd的特性、与命令systemctl的使用...
- 学习前端开发,那你值得css的特点有哪些?
- EMNLPICLR 多模态学习前沿分享
- H5链接分享给微信好友,显示标题、描述、缩略图
- MCS-51系列单片机指令表
- 基于tensorflow的LSTM实现PTB预测
- 关于抖音年前活动的需求与思考
- nuxt 引入第三方字体、艺术字效果
- 用C++制作一款电话簿
- 韶音耳机连不上电脑_蓝牙耳机突然连接不上怎么回事
- 2022网易笑招4.21笔试题
- 北京创客空间 BEIJING MAXPACE的小站
热门文章
- 【Java】优雅代码更需要优雅的写法
- CISA考试难度怎么样?
- org.apache.ibatis.builder.IncompleteElementException: Could not find result map com.zjj.dao.UserDao.
- 春节Python抢票神器,支持候补抢票!你买好票了吗!
- Windows Vista,生而伟大
- 视频业务中未来较主流的视频编解器
- aspcms首页content内容html代码过滤,ASP-ASPCMS功能增强之{aspcms:cimages}标签怎么从图片组中去除过滤文章缩略图...
- Seeker的奇妙求职历险(腾讯医疗一面和网易有道一面)
- Python 字符串拼接:名字的组成
- lol里的一个英雄玩了上千把是什么感觉