【目标检测】概念理解:region proposal、bounding box、anchor box、ground truth、IoU、NMS、RoI Pooling

这篇具有很好参考价值的文章主要介绍了【目标检测】概念理解:region proposal、bounding box、anchor box、ground truth、IoU、NMS、RoI Pooling。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近刚接触图像识别,理解一些概念十分困难,尤其是动不动就冒出个看不懂的英语,让人抓狂。查了不少资料后做一个总结并加上一些自己的理解,理解若有误,烦请大家指出,相互学习。

本文主要对region proposal、anchor box、bounding box、bounding box regression、ground truth、IoU、NMS、RoI Pooling 这些名字进行解释,随后附上RCNN、Fast RCNN、Faster RCNN的实现步骤

首先需要了解一下图像分类检测的时间轴
【目标检测】概念理解:region proposal、bounding box、anchor box、ground truth、IoU、NMS、RoI Pooling
图来自RCNN和Fast RCNN和Faster RCNN区别
Bounding box是在RCNN的时候就用了(至于bbox哪年提出的没去细究过),而anchor box在Faster RCNN才提出,所以有些文章用anchor box 例子去理解bounding box,会让人摸不着头脑。另外,为什么RCNN和Fast RCNN分类用的不一样,为什么YOLOv1没用而v2(图上没画)用到anchor box,这些都不要奇怪,因为研究嘛,,都要有个过程。

扯了这么多,下面开始正题:

region proposal: 候选框区域,选出来的区域。

anchor box: 锚框。在以前的网络中,没有anchor box,R-CNN和Fast R-CNN都是通过selective search方法得到候选框(region proposal),具体步骤见文末,这种方法费时。在Faster R-CNN中首次提出anchor box这个概念,CNN得到的feature map上的点(下图右侧的黑点)映射到原图像16*16这一块正方形区域(感受野),取正方形区域中点(下图左侧的黑点)为anchor box的中心点,向周围做9个不同形状、不同尺寸的anchor box,图中蓝色、红色、绿色“框”都叫anchor box,9个框是自己定义的。个人理解这里的“锚”的意思是定位,也就是定位到中心点,再做9个锚框。

其实本质上也是选出来的区域,和region proposal差不多,估计作者用anchor box是想强调这些框的中心都是基于某一个点,而不是传统的region proposal(不同的中心点的框)

具体anchor 的细节可以参看这篇大佬的文章
目标检测中的Anchor详解
【目标检测】概念理解:region proposal、bounding box、anchor box、ground truth、IoU、NMS、RoI Pooling

Bounding box(bbox): 通过bbox回归之后的结果叫bounding box,就是更进一步的候选框,离标答更近了,从某种程度也是proposal(候选框)。

Bounding box regression(bbox回归): 边框回归,通过 平移缩放 变换使候选框(region proposal或anchor box)更接近标准答案(ground truth),这个变换函数P就叫边框回归。

ground truth: 可以理解为标准答案

IoU(Intersection over Union): 交并比,衡量bounding box与ground truth的重叠程度。比值越大重叠度越高,完全重合为1。如果还没有bbox回归,则bbox就是候选框/锚框。
【目标检测】概念理解:region proposal、bounding box、anchor box、ground truth、IoU、NMS、RoI Pooling

NMS(Non-maximum suppression): 非极大值抑制,从bounding box中求出与标准答案(ground truth)重合度最高的那一个bounding box,重合度就是IoU。这里同样,如果还没有进行bbox回归,则bbox就是候选框/锚框。
关于NMS的理解,推荐这篇:【目标检测】基础知识:IoU、NMS、Bounding box regression

RoI(Region of Interest)Pooling: 兴趣域池化,将框出的不同大小的区域压缩成相同大小,方便后面的分类回归操作。这是Fast R-CNN提出来的,它与R-CNN中的warp操作不同,它可接受任意尺寸输入,避免了扭曲变形。推荐这篇文章:图解 Fast RCNN & RoI Pooling

R-CNN步骤: RCNN 详解
1、生成候选区域,通过selective search方法(对图片每一个像素聚类,颜色、纹理相近的合并,不断重复直到合并成一个区域)得到候选框(region proposal)
2、归一化,将候选框压缩变形成固定大小(warp操作)
3、特征提取,将每个大小固定的框用CNN特征提取
4、类别判断,用SVM进行分类
5、位置精修,用bounding box regression得到变换函数

【目标检测】概念理解:region proposal、bounding box、anchor box、ground truth、IoU、NMS、RoI Pooling

Fast R-CNN步骤:
1、生成候选区域,通过selective search(ss)得到候选框
2、特征提取,原始图像用CNN特征提取得到feature map
3、1和2结合得到RoI(候选框在feature map上的位置)
4、RoI Pooling,将RoI调整到固定尺寸
4、类别判断,用softmax进行分类
5、位置精修,bbox回归

注:Fast R-CNN与R-CNN其实过程差不多,主要区别就是Fast R-CNN加了RoI Pooling层

Faster R-CNN步骤:
这里直接引用了,感兴趣可以看一看这篇
p.s. 第二、三步中的proposals(下图中灰色方框)我的理解就是bounding box,因为它是anchor box 用bbox回归后的结果

一文读懂Faster RCNN(大白话,超详细解析)

(1)conv layers。即特征提取网络,用于提取特征。通过一组conv+relu+pooling层来提取图像的feature maps,用于后续的RPN层和取proposal。
(2)RPN(Region Proposal Network)。即区域候选网络,该网络替代了之前RCNN版本的Selective Search,用于生成候选框。这里任务有两部分,一个是分类:判断所有预设anchor是属于positive还是negative(即anchor内是否有目标,二分类);还有一个bounding box regression:修正anchors得到较为准确的proposals。因此,RPN网络相当于提前做了一部分检测,即判断是否有目标(具体什么类别这里不判),以及修正anchor使框的更准一些。
(3)RoI Pooling。即兴趣域池化(SPP net中的空间金字塔池化),用于收集RPN生成的proposals(每个框的坐标),并从(1)中的feature maps中提取出来(从对应位置扣出来),生成proposals feature maps送入后续全连接层继续做分类(具体是哪一类别)和回归。
(4)Classification and Regression。利用proposals feature maps计算出具体类别,同时再做一次bounding box regression获得检测框最终的精确位置。
————————————————
版权声明:本文为CSDN博主「风中一匹狼v」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42310154/article/details/119889682

【目标检测】概念理解:region proposal、bounding box、anchor box、ground truth、IoU、NMS、RoI Pooling

References:
[1]目标检测中的Anchor详解
[2]图解 Fast RCNN & RoI Pooling
[3]RCNN 详解
[4]目标检测中的anchorproposals、Region Proposal什么意思?
[5]RCNN,Fast RCNN, Faster RCNN整理总结
[6]Bounding Box与anchor box
[7]什么是Bounding Box、anchor box?
[8]RCNN和Fast RCNN和Faster RCNN区别
[9]一文读懂Faster RCNN(大白话,超详细解析)文章来源地址https://www.toymoban.com/news/detail-450758.html

到了这里,关于【目标检测】概念理解:region proposal、bounding box、anchor box、ground truth、IoU、NMS、RoI Pooling的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 目标检测:Proposal-Contrastive Pretraining for Object Detection from Fewer Data

    论文作者:Quentin Bouniot,Romaric Audigier,Angélique Loesch,Amaury Habrard 作者单位:Université Paris-Saclay; Université Jean Monnet Saint-Etienne; Universitaire de France (IUF) 论文链接:http://arxiv.org/abs/2310.16835v1        目标检测是计算机视觉和图像处理领域的一个重要任务,其目标是在数字图像或视频

    2024年02月06日
    浏览(46)
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算

    单节段目标检测算法中:预选框的设定直接影响最终的检测精度 众所周知,yolov5中采用自适应调整预选框anchor的大小,但万事开头难,配置文件config中的预设还是很重要 yolo算法作为one-stage领域的佼佼者,采用anchor-based的方法进行目标检测,使用不同尺度的anchor直接回归目标

    2024年02月03日
    浏览(92)
  • 【目标检测】Anchor-based模型:基于K-means算法获取自制数据集的Anchor(yolo源码)

    在Anchor-based目标检测模型中,根据数据集选择合适的Anchor有利于加快模型的收敛速度以及减少模型的边框预测误差。本篇文章首先介绍 Anchor 在目标检测模型中的作用;然后介绍 K-means 聚类算法;最后介绍 yolo源码 中 自制数据集的Anchor的获取 方法。   在 Anchor-based 目标检测

    2024年01月16日
    浏览(42)
  • RPN(Region Proposal Networks)候选区域网络算法解析(附PyTorch代码)

    0. 前言 按照国际惯例,首先声明:本文只是我自己学习的理解,虽然参考了他人的宝贵见解及成果,但是内容可能存在不准确的地方。如果发现文中错误,希望批评指正,共同进步。 本文基于论文 Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 对RPN候选区域网络

    2024年01月19日
    浏览(47)
  • 遥感目标检测(3)-DAL(Dynamic Anchor Learning for Object Detection)

    目录 一、概述 二、背景 三、建议 1、旋转RetinaNet 2、动态锚框分布 3、匹配敏感损失  四、实验         由于选择正样本锚框进行回归,不一定能够定位真实的GT,而部分负样本回归甚至可以回归到真实的GT,说明相当多的负样本锚框有着准确定位的能力,这说明IoU进行回归

    2024年02月16日
    浏览(46)
  • 超越所有Anchor-free方法!PP-YOLOE-R:一种高效的目标检测网络

    点击下方 卡片 ,关注“ 自动驾驶之心 ”公众号 ADAS巨卷干货,即可获取 点击进入→ 自动驾驶之心【目标检测】技术交流群 后台回复 【PPYOLO】 获取论文、代码等更多资料! 超越所有Anchor-free方法!PP-YOLOE-R:一种高效的目标检测网络 PP-YOLOE-R是基于PP-YOLOE的高效anchor-free旋转

    2024年02月08日
    浏览(40)
  • 【多模态】21、BARON | 通过引入大量 regions 来提升模型开放词汇目标检测能力(CVPR2021)

    论文:Aligning Bag of Regions for Open-Vocabulary Object Detection 代码:https://github.com/wusize/ovdet 出处:CVPR2023 传统目标检测器只能识别特定的类别,开放词汇目标检测由于不受预训练类别的限制,能够检测任意类别的目标,而受到了很多关注 针对 OVD 问题的一个典型解决方案就是基于蒸

    2024年02月15日
    浏览(43)
  • 在目标检测中,Anchor的庞大数量使得存在严重的不平衡问题。这里的不平衡指的是什么。

    问题描述: 在目标检测中,Anchor的庞大数量使得存在严重的不平衡问题。这里的不平衡指的是什么。 问题解答: 在目标检测任务中,Anchor指的是一组预定义的边界框或候选框,这些框以多个尺度和宽高比例组合而成。Anchor的作用是在输入图像上生成多个建议框,以便用于目

    2024年01月23日
    浏览(74)
  • 【半监督学习】5、Efficient Teacher | 专为 one-stage anchor-based 方法设计的半监督目标检测方法

    论文:Efficient Teacher: Semi-Supervised Object Detection for YOLOv5 出处:阿里 时间:2023.03 目标检测近年来的进展离不开大量的标注数据,但数据标识昂贵且耗时。 故此,半监督方法被提出,通过自动生成伪标签来利用大量的未标注数据。 目前的半监督学习有如下三个最重要的挑战:

    2024年02月05日
    浏览(73)
  • 常见的3d bounding box标注工具

    对于3d bounding box而言,近几年随着自动驾驶的火热,其标注工具也日渐多了起来,本篇文章不讲具体的算法,这里主要聚焦于这些开源的3d bounding box标注工具,以及他们是怎么使用的。这里借鉴了我想静静,博主的博客作为基础,然后再结合自己的使用与了解完成扩充。 在本

    2024年02月03日
    浏览(83)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包