Faster RCNN系列2——RPN的真值与预测值概述

关于Faster-RCNN 参考B站视频Pytorch 搭建自己的Faster-RCNN目标检测平台(Bubbliiiing 深度学习 教程)_哔哩哔哩_bilibili 什么是Faster-RCNN 显然,我们可以人眼可以一眼就看到猫在图片的位置,但是 Faster-RCNN整体结构介绍 Resnet50主干提取网络介绍 ... 阅读详情

Faster RCNN系列:

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

  对于目标检测任务,模型需要预测物体的类别和位置,即类别、边框中心点坐标 x x x 与 y y y 、边框宽 w w w 与高 h h h 这5个量,基于Anchor这个先验框,RPN可以预测Anchor的类别作为预测边框的类别,可以预测真实的边框相对于Anchor的偏移量进而求解真实边框的位置。

  因此,RPN有两种真实和预测值,分别是类别和偏移量。

  如下图所示,输入图像中有3个Anchor和2个标签,Anchor A与label M有重叠,Anchor C与label N有重叠,Anchor B不与任何label重叠。

在这里插入图片描述

图1 Anchor与标签的关系

1.1 真值

  • 类别真值

  这里的类别真值是指Anchor是属于前景还是属于背景。RPN通过计算Anchor与标签的IoU来判断一个Anchor是属于前景还是属于背景。图1中Anchor A与label M的IoU计算公式如下:

I o U ( A , M ) = A ∩ M A ∪ M IoU(A,M)=\frac{A\cap M}{A\cup M} IoU(A,M)=A∪MA∩M​

  当IoU大于一定值时,该Anchor的类别真值为前景;当IoU小于一定值时,该Anchor的类别真值为背景。具体的判断标准如下:

  • 对于任何一个Anchor,与所有标签的最大IoU小于0.3,则视为负样本。

  • 对于任何一个标签,与其有最大IoU的Anchor视为正样本。

  • 对于任何一个Anchor,与所有标签的最大IoU大于0.7,则视为正样本。

  • 偏移量真值

  假设图1中Anchor A的中心坐标为 x a x_{a} xa​与 y a y_{a} ya​,宽高分别为 w a w_{a} wa​与 h a h_{a} ha​,标签M的中心坐标为 x x x与 y y y,宽高分别为 w w w与 h h h,则偏移量真值的计算公式如下:

{ t x = ( x − x a ) w a t y = ( y − y a ) h a t w = l o g ( w w a ) t h = l o g ( h h a ) \left\{\begin{matrix} t_{x}= \frac{(x-x_{a})}{w_{a}}\\ t_{y}= \frac{(y-y_{a})}{h_{a}} \\ t_{w}=log(\frac{w}{w_{a}}) \\ t_{h}=log(\frac{h}{h_{a}}) \end{matrix}\right. ⎩ ⎨ ⎧​tx​=wa​(x−xa​)​ty​=ha​(y−ya​)​tw​=log(wa​w​)th​=log(ha​h​)​

1.2 预测值

  RPN通过搭建如图2所示的网络结构,实现对类别和偏移量的预测,即通过分类分支求得类别预测值、通过回归分支求得偏移量预测值。

在这里插入图片描述

图2 RPN网络结构
  • 类别预测值

  在分类分支中,首先使用 1 × 1 1×1 1×1卷积输出 18 × 37 × 50 18×37×50 18×37×50的特征,由于每个点默认有9个Anchors,并且每个Anchor 只预测其属于前景还是背景,因此通道数为18。随后利用torch.view()函数将特征映射到 2 × 333 × 75 2×333×75 2×333×75,这样第一维仅仅是一个Anchor的前景背景得分,并送到Softmax函数中进行概率计算,得到的特征再变换到 18 × 37 × 50 18×37×50 18×37×50的维度,最终输出的是每个Anchor属于前景与背景的概率。

  • 偏移量预测值

  在回归分支中,利用 1 × 1 1×1 1×1卷积输出 36 × 37 × 50 36×37×50 36×37×50的特征,第一维的36包含9个Anchors的预测,每一个Anchor有4个数据,分别代表了每一个Anchor的中心点横纵坐标及宽高这4个量相对于真值的偏移量。

参考文章

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

计算机视觉的应用4-目标检测任务:利用Faster R-cnn+Resnet50+FPN模型对目标进行预测 大家好,我是微学AI,今天给大家介绍一下计算机视觉的应用4-目标检测任务,利用Faster Rcnn+Resnet50+FPN模型对目标进行预测,目标检测是计算机视觉三大任务中应用较为广泛的,Faster R-CNN 是一个著名的目标检测网络,其主要分为两个模块:Region Proposal Network (RPN) 和 Fast R-CNN。我将会详细介绍使用 ResNet50 作为基础网络并集成 FPN(Feature Pyramid Network)的 FasterRCNN 模型。这个模型可以写为 阅读详情

相关推荐

OpenCV13-图像噪声:椒盐噪声和高斯噪声

考虑到椒盐噪声会在图像中的任何一个位置随机产生,因此对于椒盐噪声的生成,需要使用OpenCV中能够产生随机数的函数。OpenCV中也没有专门为图像添加高斯噪声的函数,对早在图像中添加椒盐噪声的过程,可以根据需求利用能够产生随机数的函数来完成在图像中添加高斯噪声的任务。椒盐噪声又称作脉冲噪声,他会随机改变图像中的像素值,其样子就像是在图像上随机地撒上一些盐粒和黑椒粒,因此被称为椒盐噪声。函数能够产生均匀分布或者高斯分布的随机数,可以利用该函数产生符合高斯分布的随机数,之后在图像中加入这些随机数即可。

SHLYYY 5122

深度学习之检测模型-Faster RCNN

State-of-the-art object detection networks depend on region proposal algorithms to hypothesize object locations. Advances like SPPnet and Fast R-CNN have reduced the running time of these detection net

whz1861的博客 1万+

超10万,两台Mac Studio在家就能跑满血DeepSeek,网友:这是性价比最高的大模型一体机

在AI计算领域,没有比这更强的个人电脑了。这要从它的架构说起。对于那些有本地部署满血版DeepSeek需求的用户,目前建议的配置是选购512GB统一内存 + 1TB SSD,搭载M3 Ultra芯片的Mac Studio,官网售价74249元,可以叠加国补、教育优惠、12期分期等,这可能是目前门槛最低、性价比最高的满血版DeepSeek本地部署方案。对于企业而言,尽管Mac Studio确实可以部署6000亿参数的大模型,但在内存带宽、模型精调服务等方面,跟专用的大模型一体机仍有差距,采购需要谨慎评估。

2501_90444774的博客 1917

Faster RCNN原理及Pytorch代码解读——RPN(三):RPN训练标签的生成

上一篇大体介绍了RPN的网络结构,这一篇开始介绍RPN训练时标签是怎么生成的,以及使用了什么样的损失函数。 RPN真值 上一篇已经知道了RPN两个分支的输出了,分别是18×37×50和36×37×50(9个锚框的前景背景分类预测和中心点横纵坐标及宽高这4个量相对于真值的偏移量)。预测值有了,想要训练网络,还需要知道真值。 在介绍怎么生成真值时,还要多解释几句基础知识,如果已经知道这部分知识的跳过就好了。 RPN的真值究竟是什么? 对于物体检测任务来讲, 模型需要预测每一个物体的类别及其出现的位置, 即类别、

weixin_41693877的博客 2327

WGCNA加权基因共表达网络分析(1)简介、原理

WGCNA简介 WGCNA(Weighted Gene Co-Expression Network Analysis, 加权基因共表达网络分析),鉴定表达模式相似的基因集合(module),解析基因集合与样品表型之间的联系,绘制基因集合之间的调控网络并鉴定关键调控基因 WGCNA适用于复杂的转录组数据(样本数目较多) 研究不同器官/组织类型和不同阶段的发育调控、生物和非生物胁迫的不同时间响应机制 WGCNA原理 原理概要 1.构建基因共表达网络:先构建基因共表达网络,通常利用两两基因之间的表达模式来计算

qq_44520665的博客 3万+

5.44GHz超高精度!STM32G474的HRTIM时钟配置避坑指南

本文深入解析STM32G474内置高分辨率定时器的时钟配置要点,帮助工程师避开常见陷阱。文章详细阐述了从系统时钟到5.44GHz等效时基的路径,重点分析了预分频器乘法器、周期计算溢出、影子寄存器同步等关键配置,并结合实测波形对比,确保HRTIM在电机控制、数字电源等精密应用中发挥极限性能。

book8的博客 523

Faster R-CNN的参数设计细节

之前有篇关于原理的文章(Faster R-CNN文章详细解读),该文章讲述了网络的设计原理,但是具体实现还有很多细节,比如RPN层在推断的时候选了多少候选框,怎么将得到的候选框分配给FPN层的各个层进行特征的提取,Faster R-CNN的正负样本选择方式等等细节,下面来给出一些记录。 下面是根据detectron2中带FPN结构的Faster R-CNN来解释的,FPN规定的层中都会跟一个RPN,具体结构如下图所示。 1. RPN层的ground truth中正负样本怎么定义的? 生成的所有的ancho

Michael’s Blog 2042

双足步行机器人的ZMP与CoP检测

静态步行与动态步行   机器人步态分为静态步行和动态步行。当机器人做静态步行运动时,身体的各个部分运动速度很小,机器人的整体稳定性较易控制。静态步行稳定性采用机器人的重心地面投影点(Center of Gravity,简称CoG)作为稳定性标准,这种判定方法适用于运动较为缓慢的情况。如果机器人采用的是一种高速运动的步行方式,则称之为动态步行。当机器人进行动态步行时,其重心的位置和加速度的大小时...

weixin_34112208的博客 5908

Faster RCNN系列3——RPN的真值详解与损失值计算

本文详细介绍了RPN中类别真值和偏移量真值的求解过程,参考书籍《深度学习之Pytorch物体检测实战》

python_plus的博客 3418

llama-factory微调qwen2.5-vl

使用llama-factory完成qwen2.5-vl微调

qq_44908396的博客 2933

SAP_PP模块定额工艺路线简介

在 SAP PP(生产计划)模块中,定额工艺路线(Routing) 是生产制造流程中的核心主数据之一,用于定义制造一个产品所需的标准操作步骤。工艺路线详细描述了生产过程中的各个工序、使用的工作中心、标准作业时间、资源分配等信息,是进行生产计划、成本核算、排产控制、车间执行等功能的基础。

我小时候很黑的博客 765

收藏 | Faster-RCNN详解 (训练过程和RPN与Fast R-CNN)

Faster-RCNN有两种训练方式:四步交替迭代训练和联合训练。本文主要讲解四步交替迭代的训练方式。Faster-RCNN主要由五部分构成:特征提取网络Backbone、RPN、ROI Pooing以及RCNN。其最大的创新点就是提出RPN替代RCNN中的Selective Search,应用卷积神经网络提取ROIs,极大地提升了检测的速度,称为实时目标检测的开山之作。笔者也会着重讲解RPN,请看下文。 首先讲一下Faster-RCNN的整体网络结构和训练方式吧,搭建好框架,其余的模块理解起来便会轻松一些

Just_do_myself的博客 8915

YOLO11改进策略【独家融合改进】| EfficientViMBlock + LGAG + DySample

通过学习采样来学习上采样DySample。

Limiiiing的博客 363

从端到端的Fast RCNN到走向实时的Faster RCNN (原理及Pytorch代码解析)

目录 RCNN 背景: 原理: 缺点: 端到端的Fast RCNN 背景: 原理: 缺点: 走向实时:Faster RCNN (two-stage) 背景: 原理: RPN详解: Anchor的理解: RPN的真值和预测值: RPN卷积网络: RPN真值的求取: 损失函数: NMS与生成Proposal: 筛选Proposal得到ROl: ROl Pooling层: 相关主干代码: RCNN 背景: RCNN全称为Regions with CNN Feat

weixin_45564943的博客 8290

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Faster-rcnn目标检测流程深入理解

笔者言: 学习目标检测框架过程中记录自己的理解过程,个人认为理论知识足够完备前不急动手,单纯学习理论又过于无聊,写博客复述自己的理解是个不错的选择,当做笔记。 背景: 发源于RCNN、fast-rcnn,最大创新点,提出RPN网络和Anchor机制(锚框机制),物体检测分两步实现,第一步找到前景物体,给出先验框;第二步对先验框内物体分类并修正目标位置。 主要环节: (1)特征提取网络:一般选用VGG16或Resnet (2)RPN模块:区域生成模块,用于生成默认2...

qq_36071362的博客 2457

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Faster RCNN学习笔记

对Faster RCNN的学习进行一些记录,方便后面的复习,有错误欢迎指出

qq_46738367的博客 2061

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

理解Anchor、RPN真值与预测量、RPN卷积网络

RPN RPN部分的输入、输出如下: 输入:feature map、物体标签、即训练集中所有物体的类别与边框位置 输出:Proposal、分类Loss、回归Loss,其中,Proposal作为生成区域,供后续模块分类与回归。两部分损失用作优化网络 ...

weixin_42782833的博客 1265

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

参考书籍《深度学习之Pytorch物体检测实战》

python_plus的博客 1260

检测网络中的RPN(Region Proposal Network)理解

0 引言 目标检测包含2个基本问题:分类和定位。 分类比较好做, 分类任务是深度学习解决的最好的一类任务。 定位则要困难一些,最简单的方式是通过滑窗, 窗口滑动到某个位置也就完成了定位, 然后通过分类判断窗口内有无目标以及是什么目标即可。 但这个方法显然太简单粗暴, 会存在2个问题: 1)滑窗要想覆盖所有目标, 窗口必须足够密, 这就导致计算量非常大, 且大多数窗口是不包含目标的, 计算非常浪费; 2)窗口的尺度很难确定, 不同目标具有不同的尺度, 要想覆盖的全,窗口尺度也必须足够丰富。 总之, 滑动窗口的

5766

pytorch 从头开始faster-rcnn(四):rpn

具体参数可以查看:https://www.cnblogs.com/wangyong/p/8513563.html RPN流程: 1.每一张图片生成固定数量的锚节点,锚节点个数是最后一次特征图大小,比如说最后一层特征大小为(37,50),所以有37*50个锚节点.锚节点之间的步长为16像素点,这是因为vgg16有4次maxpool,所有图像缩小了16倍,所以步长为16像素。每一个锚节点又生成9个...

a362682954的博客 3599

Faster RCNN系列5——RoI Pooling与全连接层

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

python_plus的博客 891

Faster-Rcnn中RPN(Region Proposal Network)的理解

卷积后的pool层特征既可以用于类别判别,也可以用于回归BoundingBox,可以这样想,object的外围存在着一个看不见的BoundingBox, 只要人为提供了真值,那么网络就可以学会去调整参数来回归它。这跟利用已有的网络架构提取特征作为自己特定任务领域的初始化参数是一个道理,都是transferlearning的体现。 在实际使用中,pool层后增加了一个调整层(convolution,见

MLlearnerTJ的博客 2万+

Faster RCNN原理及Pytorch代码解读——RPN(四):损失函数

前两篇博客已经知道了RPN输出的预测值和真值,有了这些我们就可以计算RPN的损失了。 RPN的损失函数主要包含分类与回归两部分,具体公式如下: L(Pi,ti)=1Ncls∑i=1Lcls(Pi,Pi∗)+λ1Nreg∑i=1Pi∗Lreg(ti,ti∗)L({P_{i}, t_i}) =\frac{1}{N_{cls}} \sum_{i=1} L_{cls}(P_i, P^*_i)+ \lambda \frac{1}{N_{reg}} \sum_{i=1} P^*_iL_{reg}(t_i, t^

weixin_41693877的博客 3698

Faster RCNN的个人理解(RPN和loss function)

注:本文图片来自论文原文,内容完全个人理解,难免有错误。 一、Faster RCNN的RPN方法: Faster RCNN的RPN用的方法是滑动窗口法,conv5-3后选取3*3的窗口,之后接了一个长度256的全连接层,再分别接一个长度2k的全连接层来预测是否有目标,其中的2表示有目标和非目标的概率(非目标概率=1-目标概率),另一个分支接的是长度为4k的全连接层预测bbox,bbox经过...

zouxinyao的博客 5814

第一篇Blog——详解Faster RCNN网络全部细节

第一次写技术Blog,准备走上computer vision的道路,那就必不可少的需要求助,由于在优快云也得到了太多的帮助,于是决定把自己学到的东西都放在公开平台上,希望也能帮助到你,也欢迎广大网友发现问题,及时指正。废话不多说,开始这篇对在cv领域产生革命性影响的RCNN的进化版Faster RCNN的究极详解。 1.把总结写在前面,先说一说Faster RCNN到底是每一步都是干嘛的,如何进...

Lawrence_Cj的博客 576

Faster rcnn代码观看

面试的时候面试官很详细的问了rpn网络的最后几层,虽然之前跑过,也看过一些博客写的,但是总是觉得似懂非懂,而且现在觉得很多博客也写的似懂非懂的,所以只能深入了解读一下代码。Faster rcnn代码的体系真的挺庞杂的。第一步关键训练RPNtrain_rpn,进入这个函数,内容如下所以说关键内容就是get_roidb,首先是get_imdb,这个函数可以简单的获得对应数据集的训练测试数据,应该说在其...

wanghuahua_1003的博客 861
上一篇: Faster RCNN系列1——Anchor生成过程
下一篇: Faster RCNN系列3——RPN的真值详解与损失值计算
晓shuo
晓shuo 优质创作者: 人工智能技术领域 优质创作者: 人工智能技术领域
博客等级 码龄6年 4万+粉丝 113原创
评论 2
成就一亿技术人!
拼手气红包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、付费专栏及课程。

余额充值