目标检测单阶段、双阶段检测框部分学习总结
目录
一、单阶段目标检测(以yolov5为例)
1、anchor的引入及产生
2、anchor与gt的匹配机制
3、后处理NMS机制
二、双阶段目标检测(以faster rcnn为例)
1、RPN(Region Proposal Networks)的引入
2、RoI Pooling
一、单阶段目标检测(以yolov5为例)
1、anchor的引入及产生
(1)不同尺度的anchor的作用?——yolov5中有三种不同尺度anchor共9个,在三个Detect层(3个不同尺寸地feature map)使用,每个feature map的每个grid cell都有三个anchor进行预测,对于不同特征图使用不同的anchor从而检测不同大小的目标:尺度越大的feature map,其下采样率小,感受野小,所以可以预测尺度相对比较小的物体,因此分配的anchor越小,反之亦然。如此便可以在小特征图上检测大目标,也可以在大特征图上检测小目标。
(2)为什么要引入anchor?——anchor box其实是对预测的对象范围进行约束,有助于模型快速收敛。
(3)anchor怎样产生?——通过Kmeans聚类计算得到anchor,引入先验信息,相当人为地告诉网络检测框的搜索范围,减少“胡乱”搜索,从而提高网络的收敛速度。
2、anchor与gt的匹配机制
(1)为什么需要将anchor与gt进行匹配?——yolov5方法通过聚类得到的是9对先验anchor,但这其中的某些anchor也许与gt框相差较大,不适合全部用来预测gt,因此便需要与gt框进行匹配。
(2)如何匹配?——不仅仅如果对象的中心位置是在某个grid里,这个gird的预测结果就要对这个对象负责,而且还要利用离该gt框较近的两个grid来预测gt(yolov3只用了一个锚点对应产生的anchor,与yolov3相比,yolov5多利用两个锚点产生的anchor来对gt框进行预测)【跨网格匹配策略】。采用shape匹配规则,如果anchor与gt框的宽高比满足一定条件,则匹配成功,即可以利用这些anchor来预测gt框,否则说明不是合适的anchor,则将anchor当背景过滤。
3、后处理NMS机制
NMS对所有的类别分别执行。比如假设最后预测出的矩形框有2类,在NMS之前,每个类别可能都会有不止一个bbx被预测出来,这个时候我们需要对这两个类别分别执行一次NMS过程。
单阶段目标检测的检测框机制就是直接利用anchor来预测检测框,不用提取中间“候选区域”出来。
二、双阶段目标检测(以faster rcnn为例)
1、RPN(Region Proposal Networks)的引入
(1)RPN中的anchor:特征图中的每个红色框的中心点都可以对应到原图的某个点,原图中的这个点被称为锚点,每个锚点都会以它为中心点选择9个不同大小和长宽比例的框(w:h=1:1;1:2;2:1)作为RPN需要评估的anchor。
(2)RPN的目标:RPN的目标就是对原图中的每个锚点对应的9个框,判断他是否是一个存在目标的框,即对anchors是否包含目标进行二分类,包含则为positive,否则为nagative,得到的positive anchors相当于初步提取了检测目标候选区域box(“region proposal”),然后对预测为region proposal的框回归位置偏移量,使得对这个anchor box修正后与ground truth的重叠度尽可能高,修正后的框作为真正的region proposal。
(3)Proposal layer的作用:综合每个anchor用于回归的四个变换量以及positive anchors,计算出精精准的proposal,也就是把(2)中的分类和回归结果综合一下计算用于送入后续RoI Pooling Layer的proposal。由于送入进来的anchor实在是太多,需要进行一些处理:①按照positive softmax scores的高低排序,提取前N个anchor②限定超出图像边界的positive anchors为图像边界,防止后续roi pooling时proposal超出图像边界③剔除尺寸非常小的positive anchors④对剩余positive anchors进行NMS。
2、RoI Pooling
(1)RoI Pooling层的作用:收集proposal,并结合feature map计算出proposal feature maps送入后续网络。其有两个输入:①原始的feature map②RPN输出的proposal boxes。
双阶段目标检测的检测框机制需要利用RPN网络“粗略”提取“region proposal”,然后送入到后续阶段进行精确的分类和回归。
(如有错误,欢迎指出~)
目标检测单阶段、双阶段检测框部分学习总结相关推荐
- 深度学习目标检测2013-2018单双阶段主流模型概览及详解
背景:深度学习引入目标检测领域以来,给目标检测领域带来了很多突破性的进展,文章"Deep Learning for Generic Object Detection: A Survey&qu ...
- 【深度学习】卷积神经网络应用之双阶段目标检测|R-CNN、SPP-Net、Fast-RCNN、Faster-RCNN
文章目录 基本概念 一.R-CNN 1. 网络结构 2. 训练流程 3. 测试阶段 4. RNN存在的问题 二.SPP-Net 1. 网络结构 2. 基础知识 共享卷积计算 金字塔池化 Spatial ...
- 为什么vs会输出一个框作为结果_检测与分类专辑 | 对精准目标检测的含不确定性的边界框回归...
摘要 大型目标检测数据集(如MS-COCO) 试着尽可能地将边界框框的非常清晰,但是在标记边框时会存在歧义.在本文中,提出了一种新的边界框回归损失学习边界框的移动及位置方差,此方法在不增加计算量的基础 ...
- (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
目标检测算法之YOLOv5计算预选框.详解anchor计算 单节段目标检测算法中:预选框的设定直接影响最终的检测精度 众所周知,yolov5中采用自适应调整预选框anchor的大小,但万事开头难,配置 ...
- 目标检测+目标追踪+单目测距(毕设+代码)
更多视觉额自动驾驶项目请见: 小白学视觉 自动驾驶项目 项目成果图 现推出专栏项目:从图像处理(去雾/去雨)/目标检测/目标跟踪/单目测距/到人体姿态识别等视觉感知项目---------------- ...
- 上下两个x轴_都是用加速度传感器检测倾斜角,双轴比单轴器件强在哪儿?
在上一篇文章中,我们介绍了(点击回顾).本文在前文的基础上继续深入探讨,使用双轴加速度传感器相比较单轴加速度传感器有什么优势.以及如何根据项目要求计算加速度传感器的最小灵敏度,以及如何在Digi-Ke ...
- 目标检测的二十年发展史—从传统方法到深度学习
点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 本文转载自DeepBlue深兰科技 本文主要参考自文献[1]:Zhengxia Zou, Zh ...
- 实例分割综述(单阶段/两阶段/实时分割算法汇总)
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 简介 目标检测或定位是数字图像从粗到细的一个渐进过程.它不仅提供了图像对象的类,还提供了已分类图像中对 ...
- mask rcnn算法分析_实例分割综述(单阶段/两阶段/实时分割算法汇总)
作者:Danny明泽 来源:公众号@3D视觉工坊 链接:实例分割综述(单阶段/两阶段/实时分割算法汇总) 简介 目标检测或定位是数字图像从粗到细的一个渐进过程.它不仅提供了图像对象的类,还提供了已分类 ...
- 视觉3D感知(二):单目3D物体检测
一.单目3D物体检测 (1)反变换 1.基本思路 1.3D图像反变换到3D世界世界坐标,在进行物体检测 2.病态问题:通过一些额外信息来辅助解决: 几何假设:目标位于地面(Oy已知) 深度估计:目标深 ...
最新文章
- Hinton 发表新作探索流体胶囊网络 | AI日报
- 1202年最新最详细最全的synchronized知识详解
- 搜索引擎怎么收集的那么多内容?
- easyui 分页实现
- Dell Alienware 13 R3 win10 安装 ubuntu 18.04 总结
- 程序员薪资怎么论高级还是初级_Java程序员的薪水取决于年龄还是技术?
- HCIE-RS面试--STP选举原理,状态机和接口角色
- c语言1至100的累乘求和,c语言 累加累乘课件.ppt
- lvds传输距离标准_LVDS视频传输—LVDS收发传输经验教训计划总结
- Vue 中使用 codemirror
- 如何在html中插入乘积函数,excel乘法怎么保留两位小数
- .net core增强工作流组件,基于稳定平台,多项目整合开发
- Git如何保留两地并行开发的提交
- php 获取问号后面,php-重写包含问号的URL
- 通过路由器高速使用校园网(sdust)
- ubuntu下安装telnet服务
- 鞍部在哪里_等高线地形图中鞍部的高度怎么看
- 口袋版的六爻鸿蒙,《天下3》更新公告(版本2.0.604)
- 远程教育英语计算机统考试题,2020年远程网络教育计算机应用基础统考题库原题真题(完整版)...
- 2020-2021学年——图像图形编程实践实验4_Canny图像边缘检测