从零开始理解CenterNet中的Heatmap热图

关键点检测的heatmap介绍 开始学关键点检测的时候,到处找找不到heatmap的解释。现在大概有些懂了,干脆自己写一个。部分转载。 关键点定位任务两种做法:heatmap和fc回归(Heapmap-based和Regression-Based) heatmap得到一张类似热力图的东西,回归直接使用关键点坐标。 heatmap(热图),如下图,可以理解成热感图。越是符合标准的位置,颜色越亮越红。 这里给出一种热图上像素点的计算方法: 假设真实坐标点 / 标注是 μ=(μx,μy)\mu = (\mu_x ,\mu_y)μ=(μx​,μ 阅读详情
AI摘要

本文探讨了热图在深度学习领域的应用,特别是在DCNN中如何帮助理解图像分类决策。介绍了热图的两种生成方式:高斯热图和Grad-CAM类激活热图,以及在目标检测和关键点定位中的作用。

正文

在非深度学习领域,热图指的是简单地聚合大量数据,并使用一种渐进的色带来优雅地表现,以直观地展现空间数据的疏密程度或频率高低。【1】在DCNN中,热图有助于了解一张图像的哪一部分让神经网络做出了最终的分类决策。热图的产生有两种方式,一是高斯热图,二是Grad-CAM产生的类激活热图(如下图所示)。

很容易看到,热图可以反映检测目标的位置。

在这里插入图片描述

下图【2】所示为高斯热图,图中心高斯值接近1,边缘接近0。

在这里插入图片描述

CenterNet论文中对生成的热图的描述如下:

(注意这里“热图”的概念和后面提到的Grad-CAM中“输入图像对类别的激活强度”热图是不一样的)

在这里插入图片描述

这样生成的热图样式大致是这样的【3】:

在这里插入图片描述

观察用于映射热图的高斯核公式,其中,(x,y)为待检测图像中枚举的步长块位置,(px,py)为低分辨率图像中对应于GT关键点的坐标。

在这里插入图片描述

可以看出,当枚举块的位置和GT关键点坐标接近重合的时候,高斯核输出值接近为1;当枚举块位置和GT关键点相差很大时,高斯核输出值接近为0。

这样一来经过高斯核映射之后的每个关键点(块)高斯热图在数据表示上类似这样(该图【4】仅为示例):

在这里插入图片描述

在用于映射的高斯核中,𝜎_𝑝^2 是“目标尺度自适应方差”。该处的“目标尺度”并非最后bbox框的大小,而是影响着生成的高斯热图中每个点的大小和分布。

分式中分母的取值为0~m 的区间,m取决于特征图分辨率大小,如此,该输出𝑌_x𝑦𝑐的范围对应为1~n,n接近于0但不为0。

当𝜎_𝑝^2 取较大值时,高斯核输出分布聚集于类别峰值点,使得生成的热图中“亮点”偏小;当𝜎_𝑝^2取较小值时,“亮点”向周边发散。

实际上由于网络预测的是物体中心(R2块),所以其生成的热图所表达的是每块分割图像距离所判断类别的物体中心的吻合程度。

“在推理的时候,分别提取热图上每个类别的峰值点。做法是将热图上的所有响应点与其连接的8个临近点进行比较,如果该点响应值大于或等于其八个临近点值则保留,最后我们保留所有满足之前要求的前100个峰值点。”

论文中随后对该处的后续处理实际即为一个3*3最大池化,且将(0,1)之间的高斯核结果值转化为了[0,1]命中标志。

在这里插入图片描述

参考资料

1.HeatMap(热图)的原理和实现

2.生成高斯图像

3.CenterNet(一)论文解读

4.人体骨骼关键点检测中的heatmap 与vectormap 生成

————2020-4-25 @燕卫博————

CenterNet目标检测【详解】 CenterNet详解 阅读详情

相关推荐

Centernet算法

centernet算法

wanchengkai的博客 3726

CenterNet原理详解

CenterNet是一种anchor-free的目标检测网络,对于CenterNet的理解主要在于四方面:网络结构,heatmap生成,数据增强,loss函数理解,前向及输出。

weixin_43570470的博客 5503

生物信息学入门 heatmap.2函数绘制热图(heatmap) 数据结构 代码 结果解读

热图是展示基因表达差异非常直观的方法,很多R语言包都支持绘制热图。下面分享一个根据heatmap.2函数绘制热图的方法。依然是数据-代码-结果。本帖力求精简,使新手尽可能快的成功,更多定制化的细节请参阅其他帖子! 1.表达矩阵和分组矩阵 表达矩阵和分组矩阵和做差异表达的结构是一样的,差异表达的帖子详见:https://blog.youkuaiyun.com/tuanzide5233/art...

无名岛 2万+

【研二下 | 知识学习 | Ing】

高斯热图、池化、metric、训练/验证/测试过程、

sinat_40759442的博客 3859

Centernet 个人理解笔记

一,Centernet骨干网络之DLASeg 1,DLA34-base结构 代码块: self.level0 = self._make_conv_level( channels[0], channels[0], levels[0]) self.level1 = self._make_conv_level( channels[0], channels[1], levels[1], stride=2) self.level2 = Tree(levels[2],

丝萝愿为乔木的博客 3317

CenterNet测试推理过程

【GiantPandaCV导语】这是CenterNet系列的最后一篇。本文主要讲CenterNet在推理过程中的数据加载和后处理部分代码。最后提供了一个已经配置好的数据集供大家使用。 代码注释在:https://github.com/pprp/SimpleCVReproduction/tree/master/CenterNet 1. eval部分数据加载 由于CenterNet是生成了一个heatmap进行的目标检测,而不是传统的基于anchor的方法,所以训练时候的数据加载和测试时的数据加载结果是不同的。

pprp的博客 1492

CenterNet 后处理过程及源码解析

CenterNet(Object as points)后处理过程的讲解以及源码解析,包括NMS、topK等操作

AI数据工厂 4071

实战解析:如何用Python逆向破解FastMoss的TikTok数据加密签名(附完整代码)

本文详细解析了如何用Python逆向破解FastMoss平台的TikTok数据加密签名机制,包括MD5加密算法和JS逆向分析。通过完整的Python代码示例,帮助开发者理解签名生成原理并实现自动化请求,提升数据获取能力。

weixin_30955617的博客 556

CenterNet热图高斯半径优化:从圆形到椭圆的自适应实现

Anchor-Free目标检测中,关键点估计依赖热图作为训练监督信号,而高斯半径的设定直接影响模型对目标形态的建模能力。原版CenterNet使用圆形高斯核,忽略了长条形目标(如车辆、行人)的几何特性,导致中心点偏移与AP波动。本文从高斯核的生成原理入手,剖析半径在损失函数中扮演的“信号分配器”角色,指出圆形核与矩形标注框之间的形状失配问题,并提出两种自适应椭圆半径的计算方案:宽高比加权分解与一维约束求解。同时给出工程落地时旋转方向、取整退化和极端比例限制等关键细节。实验表明,在宽高比集中的车辆数据集上,椭

weixin_34200628的博客 709

PCB布局规范及其注意事项(纯干货)

这样做的好处是信号1,3层不会有串扰,4和5作为电源有紧密的耦合,3个信号层都有GND平面可以参考,且不会互相产生串扰,唯一的缺点是布线的层面只有3个信号层(信号03的是最适合来传输高速信号,因为该层的二面都有屏蔽,防止干扰传出,也防止干扰传入)33、影响阻抗匹配的参数(ER介电常数(1GHZ以下默认为4.2,以上的话问板厂),H介质厚度(就是内层压合的PP片厚度),W走线的线宽,T走线的厚度(铜厚/减小线的厚度可以增大阻抗))我这里使用的是CITS25来计算阻抗。

qq_42379138的博客 8838

泛微OA表单开发实战:如何用JavaScript动态控制明细表的必填与可编辑属性

本文详细介绍了如何在泛微OA系统中使用JavaScript动态控制明细表字段的必填与可编辑属性。通过主表字段变更事件监听和明细表字段属性批量修改,实现智能化的表单交互,提升用户体验和系统灵活性。文章深入解析了关键API的使用方法,并提供了实战代码示例和最佳实践。

weixin_30955617的博客 544

关于CenterNet Regress Focal Loss的一点理解

论文:Objects as Points 论文链接:https://arxiv.org/abs/1904.07850 代码链接:https://github.com/xingyizhou/CenterNet 本文主要讲解CenterNet的Regress Focal Loss,由热图部分(heatmap loss)、偏置部分(reg loss)、宽高(wh loss)部分三部分loss组成,附代码实现。 1.heatmap loss 输入图像∈, W为图像宽度,H为图像高度。网络输出的关键点热图h..

acrith 1699

从三极管到MOS管:单片机I/O口驱动电路设计实战解析

本文深入解析了从三极管到MOS管的单片机I/O口驱动电路设计实战经验。通过对比三极管与MOS管的本质区别,结合实际案例详细讲解了驱动电路的设计要点、优化技巧及常见问题解决方案,帮助工程师高效完成各类负载驱动设计。

weixin_29161785的博客 317

centernet理解+demo代码分析

因为毕业设计打算要用centernet网络,所以,对centernet的demo的ctdet_detector进行了详细的功能分析。 本篇论文的参考: 1.原文:https://arxiv.org/pdf/1904.07850.pdf 2.代码:https://github.com/xingyizhou/CenterNet 3.原理参考:https://blog.youkuaiyun.com/c200...

qq_40297851的博客 5974

利用WI生成无线信道数据

选取DeepMIMO的一个射线追踪场景O1(Outdoor 1)Scenario,工作频率为3.5GHz。有两条街和一个十字路口的户外场景18个基站和超过一百万个用户18个基站(BSs):BS1-BS18.每个基站的高度是8米每个基站的天线阵列是isotropic天线三个统一的x-y用户网格用户的总计数量为:1184923每个用户网格中的第一个用户总是(x,y)坐标最低的用户 所有用户的高度是2m每个用户的每个天线阵列是isotropic天线定义射频追踪场景。

bingbingaidaima的博客 5599

统信UOS下获取root权限的两种姿势:图形化开启开发者模式 vs 命令行直接提权

本文详细解析了统信UOS下获取root权限的两种方法:通过图形界面永久开启开发者模式和使用命令行临时提权。开发者模式适合系统级开发,提供完整root权限但降低安全性;临时提权则更灵活,适合日常管理任务。文章还对比了两种方案的优缺点,帮助用户根据需求选择最佳权限管理策略。

weixin_30266885的博客 513

第十八周周报:CenterNet

本周我主要学习了CenterNet,该网络模型是一种创新的目标检测框架。与传统的基于锚框或区域候选的目标检测方法不同,CenterNet采用了基于关键点的检测策略。该方法的核心思想是直接预测目标物体的中心点及其相关的属性,从而实现了更为简洁和高效的目标检测。本篇博客会介绍其核心网络组成部分,以及附上PyTorch实现代码。本周的学习到此结束,在期中复习上耽搁了些时间,下周将会继续经典网络模型的学习。

qq_52684249的博客 955

别再手动算考勤了!教你用Python+企业微信API自动生成月度报表

本文介绍如何利用Python和企业微信API构建自动化考勤分析系统,实现从数据获取到可视化报表生成的全流程自动化。通过企业微信打卡接口获取数据,使用Pandas进行高效清洗和分析,并生成Excel和HTML格式的报表,大幅提升考勤统计效率。系统支持智能判定考勤状态,如迟到、早退等,并可通过定时任务实现月度自动化运行。

weixin_27875131的博客 287

从CenterNet到CenterNet2:我是如何用概率视角重新理解两阶段目标检测的

本文探讨了从CenterNet到CenterNet2的演进,重点解析如何通过概率视角重新理解两阶段目标检测。文章详细分析了传统RPN的局限性,并展示了一阶段检测器在概率建模上的优势。通过实践CenterNet2的联合概率估计框架,作者实现了检测性能的显著提升,特别是在小目标和长尾分布场景下的优化策略。

weixin_30552811的博客 195

UE5 GAS实战:从零构建一个MOBA英雄技能系统

本文详细介绍了如何利用UE5的Gameplay Ability System(GAS)构建MOBA英雄技能系统,涵盖核心组件如Ability System Component和GameplayEffect的使用,以及技能冷却、资源管理和连招系统等高级功能的实现。通过实战案例和代码示例,帮助开发者快速掌握GAS在MOBA游戏开发中的应用。

weixin_29012765的博客 526

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

TensorFlow Models 中的 CenterNet:Anchor-Free 目标检测模型的实现、配置与训练全解

本文基于 TensorFlow Model Garden(`models` 仓库)中 CenterNet 项目的官方说明文档与配套源码,系统讲解 CenterNet 从 CornerNet 演进而来的 anchor-free 检测思想、COCO 数据集上的完整训练流程、GPU/TPU 两套实验配置的逐项参数含义,以及 Hourglass 骨干网、检测头、损失函数与检测生成器在仓库中的具体实现位置,

gitblog_00152的博客 632

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

CenterNet:去掉Anchor和NMS,用关键点检测简化目标检测

目标检测是计算机视觉的核心任务之一,传统基于Anchor的算法依赖大量候选框和NMS后处理,带来调参与部署的双重负担。CenterNet采用无锚框的关键点检测范式,将目标表示为高斯热力图的峰值,直接回归中心点偏移与尺寸,从而省去NMS和先验框设计。其训练标签利用高斯核自适应生成,配合多分支损失函数,兼顾定位精度与推理效率。在工业零件计数、边缘设备部署等场景中,这种中心点检测方式能显著降低后处理耗时,提升端到端性能。本文深入拆解CenterNet的原理、标签生成、损失设计与解码实现,剖析常见踩坑点,为读者提供

weixin_33895695的博客 1160

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

CenterNet - CornerNet

centernet cornernet 理论

Blue_Whale2020的博客 342

PaddleDetection CenterNet 实战:以中心点为核心的无锚框目标检测实现与模型库详解

CenterNet(Objects as Points)是一种 Anchor-Free 目标检测方法,它将目标框简化为一个中心点,通过关键点检测定位中心并回归框尺寸等其他属性,实现端到端训练与高效推理。本文以 PaddleDetection 仓库中 [configs/centernet](https://link.gitcode.com/i/3f0584d4829af332568674fd6765

gitblog_00015的博客 326

CenterNet 笔记注释

参考, 论文 简介 关于CenterNet 的介绍网上的文章很多,这篇论文和代码前前后后看了好几遍,但是始终不得其精髓,究其原因我觉得是我只是单纯的知道这个网络的流程,内部的具体操作与实现不清晰,导致总是稀里糊涂。今天再看一次代码,终于有了更深刻的理解,这里对我的理解做一个简单记录。 heat map 的生成 # radius:当前目标的高斯半经,center:当前目标的中心, heatmap: 初始化的时候都为0 def draw_gaussian(heatmap, center, radius, k=1

火腿肠的幸福生活 500
上一篇: 虚拟机中安装petalinux2017.4的步骤记录
下一篇: Hi3516EV200设置手动曝光时间
燕卫博
博客等级 码龄7年 312粉丝 49原创
评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值