Faster RCNN系列1——Anchor生成过程

目标检测 --- Anchor的生成 1.Faster rcnn 1.根据尺寸、比例生成基础的anchor 与特征图大小、步长无关,中心点坐标为base_size的一半 class AnchorGenerator(object): #生成基础的anchor,与特征图无关 def __init__(self, base_size, scales, ratios, scale_major=True, ctr=None): self.base_size = base_size #anchor 基础尺寸 sel 阅读详情

Faster RCNN系列:

Faster RCNN系列1——Anchor生成过程
Faster RCNN系列2——RPN的真值与预测值概述
Faster RCNN系列3——RPN的真值详解与损失值计算
Faster RCNN系列4——生成Proposal与RoI
Faster RCNN系列5——RoI Pooling与全连接层

一、RPN模块概述

  RPN模块的输入、输出如下:

  • 输入:feature map(输入图像经过特征提取网络后得到的特征图)、物体标签(训练集中所有物体的类别和边框信息)
  • 输出:Proposal(生成的建议框)、分类Loss、回归Loss

二、Anchor生成

  Anchor的本质是在原图大小上的一系列的矩形框,Anchor的生成过程和深度学习没有任何的关系,他的本质只是你设定好一些规则,并依据这些规则,在图像中生成不同尺寸,不同长宽比的框,并希望这些框能够最终覆盖你的物体。

  Anchor生成的核心代码如下:

def generate_anchors(base_size=16, ratios=[0.5, 1, 2], scales=2**np.arange(3, 6)) :
	#首先创建一个基本Anchor为[0,0,15,15]
	base_ anchor = np.array([1, 1, base_ size, base_ size])一1
	#将基本Anchor进行宽高变化,生成三种宽高比的s :Anchor
	ratio_anchors = _ratio_enum(base_anchor, ratio)
	#将上述Anchor再进行尺度变化,得到最终的9种Anchors
	anchors = np.vstack([_scale_enum(ratio_anchors[i, :], scales)
						for i in xrange (ratio anchors.shape [0])])
	井返回对应于feature map大小的Anchors
	return anchors

  传入参数中base_size=16,表示feature map上每一个的感受野大小,即feature map上的每一个点对应输入图像上 16 × 16 16×16 16×16大小的区域。ratios=[0.5, 1, 2],表示缩放比率;scales=2**np.arange(3, 6),即 s c a l e s = [ 2 3 , 2 4 , 2 5 ] = [ 8 , 16 , 32 ] scales=[2^{3}, 2^{4}, 2^{5}]=[8, 16, 32] scales=[23,24,25]=[8,16,32],表示缩放倍数。

  • base_ anchor = np.array([1, 1, base_ size, base_ size]) - 1

  这是一个左上角坐标为(0, 0),宽和高都为15的框,大小为16×16,之后的Anchor框都是在这个框的基础上,通过比率和倍数变换得到的。

  • ratio_anchors = _ratio_ enum(base_anchor, ratio)

  将上述生成的 16 × 16 16×16 16×16的基础框,按照 1 : 2 1:2 1:2, 1 : 1 1:1 1:1, 2 : 1 2:1 2:1三种比例进行变换,如下图所示:

在这里插入图片描述

  • anchors = np.vstack([_scale_enum(ratio_anchors[i, :], scales)
              for i in xrange (ratio anchors.shape [0])])

  将上述生成的Anchor按照 [ 8 , 16 , 32 ] [8, 16, 32] [8,16,32]的倍率进行变换,如下图所示:

在这里插入图片描述

  在Faster RCNN中,输入图像的大小为 3 × 600 × 800 3×600×800 3×600×800,下采样率为 16 16 16,feature map的大小为 512 × 37 × 50 512×37×50 512×37×50,因此一共有 37 × 50 × 9 = 16650 37×50×9=16650 37×50×9=16650个Anchors。而后通过分类网络与回归网络得到每一个Anchor的前景背景概率和偏移量,前景背景概率用来判断Anchor是前景的概率,回归网络则是将预测偏移量作用到Anchor.上使得Anchor更接近于真实物体坐标。

在这里插入图片描述

Anchor原理图

参考文章

Faster RCNN之Anchors的生成过程理解

《深度学习之Pytorch物体检测实战》

anchor的生成 anchor的生成主要是采用了generate_anchors方法: def generate_anchors(base_size=16, ratios=[0.5, 1, 2], scales=2**np.arange(3, 6)): 其中传入的参数为: base_size:16 ratios:[0.5, 1, 2] scales:[8, 16, 32] ratio就是不同的长宽比例,scale... 阅读详情

相关推荐

RPN中的anchor机制

Faster R-CNN是一种端到端的多任务卷积神经网络,能够同时完成目标检测和类型识别的任务。它由a)主干网络,b)建议区域网络(RPN :Region Proposal Network),和c)分类与回归网络三部分组成。其中主干网络是特征提取器,它提取出的图像特征,被RPN网络,分类与回归网络共享。RPN通过边界坐标回归和二分类双分支结构,初步找出包含目标的前景区域。分类与回归网络对包含目标的特征区域进行精细处理,输出目标的坐标信息和类别标签。

博客内容均来自于团队成员长期以来在科研道路中的心得体会与经验总结,难免存在疏漏或偏差,欢迎大家分享,交流,探讨与指正 1054

Faster-rcnn中Anchor的理解

文章目录1,Anchor是如何生成的?1.1 特征图如何得到Anchor的生成过程2,Anchor的作用是什么? 1,Anchor是如何生成的? 1.1 特征图如何得到 假设对于网络输入的图像尺寸大小为3*600*800,那么经过VGG网络4次卷积池化后我们会得到的特征图的尺寸为38*50*256的特征图,这里面有两点需要注意: 所有的conv层都是:kernel_size=3,pad=1,stride=1 所有的pooling层都是:kernel_size=2,pad=0,stride=2 在Fast

Christo的博客 3559

卷积神经网络——Faster Rcnn中的anchor和Proposal

刚开始看到anchor和Proposal的时候有一些细节搞不清楚,在这里记录一下。 anchor是Proposal的基础,现有anchor以后,从 anchor中根据条件选择出来的就可以作为Proposal了(具体的筛选过程这里先不细讲了,后面单独写一篇RPN的文章介绍,主要有NMS、二分类、偏移)。Proposal后面再经过RoIPooling就可以做分类和回归了。 拷贝的图片,侵删 下面先介绍一下anchor的生成过程。 anchor 概念 anchor(锚):个人理解是基于一个中心点创建出的几种大小

itlilyer的博客 8819

RCNN系列——Faster RCNN anchor生成解析

RCNN系列——Faster RCNN anchor生成解析 一、简介 Faster RCNN里的anchor 是一个矩形框,用于box regressor, 可以减少网络计算量, 把anchor 数目定义为kkk,featur map每个点只预测kkk个box,然后与anchor计算偏差,回归更加精准的框位置。假设feature map 尺寸为W×HW \times HW×H,输出anchor...

jmu201521121021的博客 5058

【代码阅读】Faster RCNN 网络结构详解

这里写自定义目录标题Faster RCNNImage Pro-Processing主干网络 Faster RCNN作为two stage目标检测方法的代表作,其中有很多模块非常经典,在后续的two stage的模型中有广泛的应用。而且在3D Object Detection的问题中,也是如此。这就回顾一下Faster RCNN的网络结构。 这里推荐一个博客,http://www.telesens....

麒麒哈尔的博客 1万+

Faster RCNN anchor大小及数量计算

anchors 值的含义为 在 feature maps 上进行滑窗操作(sliding window). 滑窗尺寸为 n×n, 如 3×3. 对于每个滑窗, 会生成 9 个 anchors, anchors 具有相同的中心 center=xa,center=ya, 但 anchors 具有 3 种不同的长宽比(aspect ratios) 和 3 种不同的尺度(scales)。 最终,9个a...

mljsuc的专栏 6345

Faster RCNN代码详解(四):关于anchor的前世今生

在上一篇博客中介绍了数据处理的整体结构:Faster RCNN代码详解(三):数据处理的整体结构。这一篇博客介绍数据处理的细节,在该项目代码中关于数据处理的细节主要是通过assign_anchor函数来实现的,该函数所在脚本:~/mx-rcnn/rcnn/io/rpn.py,该函数涉及详细的anchor生成、anchor标签设定、anchor的回归目标和分类目标等。这一部分也是你想要深入了解Fas...

AI之路 1万+

【目标检测系列:三】Faster RCNN simple-faster-rcnn-pytorch 实现详解

Pytorch https://github.com/jwyang/faster-rcnn.pytorch https://github.com/ruotianluo/pytorch-faster-rcnn https://github.com/chenyuntc/simple-faster-rcnn-pytorch 跑了这个 ☺ 1. Prepare data Pascal VOC2007 D...

鹿鹿的博客 3852

Faster RCNN中anchor的生成过程

主要参考py-faster-rcnn开源代码中的generate_anchors的实现: 首先来看main函数: if __name__ == '__main__': import time t = time.time() a = generate_anchors() #最主要的就是这个函数 print time.time() - t print a ...

Lavi的专栏 2291

faster-rcnn, yolov3,ssd之间anchor的异同

目标检测anchor Anchor机制是目前主流的基于深度学习的目标检测算法的重要基石。目前的最先进的检测器都是使用的密集的anchor模式,即在图片上均匀放置好一组定义好形状和大小的anchor。anchor的设计一般有两个要求:1.alignment,为了用卷积特征作为anchor的表示,anchor的中心需要和特征图的像素中心比较好地对齐;2.consistency,不同位置对应的ancho...

qq_40728805的博客 3315

Faster-RCNN的关键点总结

“  要得到,你必须要付出,要付出,你还要学会坚持。如果你真的觉得很难,那你就放弃,但放弃你就不要抱怨。”     2018年8月31日12:00:00 8月的最后一天了~ 真的好累 坚持,再坚持。 一想到上了这么多年学就是为了现在,就~ 好吧,不废话了 把自己最近总结的关键点记录下来:                    先解释下吧(自己总结的): Faster-R...

I-am-Unique 9079

Faster-RCNN的anchor和YOLOv3的anchor一样吗

 助教的班级有人问我YOLOv3的boundingbox 和 anchor区别在哪,我大概知道,但不能系统的解释,下去查了点资料和那个学生讨论了下,记录一下。 因为Faster-RCNN中也引入了anchor,然后很自然的想到yolov3的anchor是不是和Faster-RCNN中是一样的用途,结果发现并不是。 看代码是最直观的,我先search了Faster-RCNN关于产生anchor的...

xiaqi4145 2870

Faster-RCNN 中的 anchor 与原图中 boundingbox 的对应关系

通常在 Flag 立下之后的第一篇博客,总想把很多东西都放在一篇文章里面说得透透的,这样就像是在一个迷宫,越走发现可以走的路越多,所以往往就偏离主线越来越远,因此原计划就成了烂尾楼。 而解决拖延症的最好办法就是抛弃完美主义,无论写的多烂,先搞定一个版本,后面再改。因此本篇就是出于这个初衷,可能有理解不到位的地方,希望大家讨论指正。 闲话少叙,下面进入主题 ------------------...

Yafee的专栏 4534

【15】Faster-RCNN网络详细解读

【1】前言 最近博客上看了很多篇关于Faster-RCNN网络详细解读,但是始终对其中的解释一知半解。刚开始以为自己懂了,有看了一些发现自己又困惑了,这个东西到底是什么,是怎么训练的?怎么传播的?里面的名词究竟是什么意思?看的始终是一知半解。对于Faster-RCNN的网络的用途以及Faste-RCNN和RCNN原理此处不讲解,只讲解Faster-RCNN的网络,对其进行详细的剖析。 【2】Faster-RCNN网络框架 ...

qq_33612665的博客 7182

RPN生成Region Proposal——Faster RCNN

Faster-RCNN 文章目录Faster-RCNN简介基本原理整体结构特征提取RPN(Region Proposal Network)ROI PoolingFC层 简介 主要贡献 使用RPN(Region Proposal Network)产生建议窗口 产生建议窗口的CNN和目标检测的CNN共享 基本原理 整体结构 卷积层。跟Fast RCNN差不多。 RPN层。 主要用于生成Region Proposals,首先生成一堆Anchor box,生成两个分支,其中一个分支对其reshape后用s

稚与的博客 1926

coze开发-5、给智能体添加“技能”

中间编排与技能组件 中间编排的定义 中间编排是指在智能体的构建过程中,使用一些工具对智能体进行协调和管理。通过这些工具,我们能够更好地实现智能体在特定业务场景中的应用。

andyyah晓波的博客 527

Faster RCNN 中的Anchor

本篇文章详细介绍Faster RCNN 中的Anchor计算

陶将的博客 2663

无线通信基础:调制与解调技术_(42).7.3.2多进制频移键控解调(MFSK解调)

MFSK解调是一种通过频谱分析和频率检测来恢复数字信号的技术。本文介绍了MFSK解调的基本原理,包括信号接收、频谱分析、频率检测和符号判决。在实际应用中,噪声会对解调性能产生影响,因此引入了信噪比优化和多步判决方法来提高解调的准确性。通过性能评估,可以更好地理解MFSK解调在不同噪声环境下的表现。这些方法和技术为MFSK在实际通信系统中的应用提供了理论和实践基础。

2401_87715305的博客 1318

faster rcnn中anchor的生成

faster rcnn anchor anchors 值的含义为 总共有9个anchor,对于每一个anchor,其四个数值分别代表矩形框的左下角x,y,右上角x,y. anchor的预设值为 # Verify that we compute the same anchors as Shaoqing's matlab implementation: # # >> load out...

wphkadn的博客 1681

STM32CubeMX之定时器输入捕获

上一章介绍了STM32定时器的PWM输出功能,定时器的几个通道除了有输出功能外,还可以做输入用,可捕获信号的上升沿或下降沿,可以用于测量信号的频率、周期、占空比等。本篇文章将介绍用STM3...

zhang062061的专栏 1341

手把手教你学Simulink--基于新能源与储能系统的场景实例:压缩空气储能(CAES)系统热力学建模

本文介绍了使用Simulink进行压缩空气储能(CAES)系统热力学建模的详细步骤。系统模型包含压缩机、储气装置、膨胀机、热交换器和控制器等核心模块,通过MATLAB函数计算各部件参数,并设置仿真条件。文章详细说明了从模型创建到性能评估的完整流程,包括压缩/膨胀过程的能量转换、温度压力变化等关键指标分析。该建模方法可验证设计方案的有效性,并为系统优化提供参考,适用于新能源与储能领域的研究与应用。

MHD0815的博客 9180

目标检测之Faster RCNN详解

导读:Faster-RCNN发表于NIPS 2015上的一篇论文《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》。该算法最大的创新点是提出了RPN(Region Proposal Network)网络,利用Anchor机制将区域生成与卷积网络联系到一起,将检测速度一举提升到17 FPS,而且在VOC 2012测试集上实现了70.4%的检测效果,在当时可谓是以一己之力将目标检测推向了实时的高潮。后面

Just_do_myself的博客 8578

低照度与极端天气环境中的YOLOv8优化:CPA-Enhancer网络的应用与分析

为了克服上述问题,本文提出了一种名为的网络改进方案。CPA-Enhancer通过引入链式思考机制和改进的注意力机制,有效地提升了YOLOv8在低照度和复杂天气下的表现。本文提出了针对低照度和恶劣天气条件下目标检测的YOLOv8改进方案——CPA-Enhancer链式思考网络。通过引入低照度图像增强和多尺度特征融合技术,CPA-Enhancer显著提高了YOLOv8在低光照、雾霾、雨雪等环境下的检测性能。实验结果表明,CPA-Enhancer相较于原始YOLOv8,在多个指标上都有显著的提升,尤其是在mAP。

博客 1565
上一篇: Softmax和Cross Entropy Loss在分类问题中的作用
下一篇: Faster RCNN系列2——RPN的真值与预测值概述
晓shuo
晓shuo 优质创作者: 人工智能技术领域 优质创作者: 人工智能技术领域
博客等级 码龄6年 4万+粉丝 113原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓shuo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值