当前位置: 首页 > news >正文

【人体姿态估计】(一)原理介绍

【人体姿态估计】(一)原理介绍

一、背景

人体姿态估计本质上是一个关键点检测的项目;

关键点检测在生活中的应用十分广泛,包括人脸识别、手势识别,而人体姿态估计则是对身体的关键点进行检测;

本文将介绍一些常见的数据集、评价指标以及比较经典的算法;

二、数据集和评估指标

首先关键点的评估指标参考以下文章:

COCO数据集评价指标 —— Keypoints - 简书 (jianshu.com)

COCO官方评价指标

其本质是通过点之间的欧式距离关系进行指标评估的;

其中要重点注意一个参数:

v = 0 : 未标注点
v = 1 : 标注了但是图像中不可见(例如遮挡)
v = 2 : 标注了并图像可见

最常见的人体姿态数据集为MPII和COCO数据集,其中COCO数据集如下图所示:

标注文件中需要重点关注categories部分;

其中keypoints代表种类,skeleton代表的是连线的规则;

三、Top Down算法

简介:一种自顶向下的方法,本质是先找人后找点;

其中最经典的网络为Mask RCNN,其步骤为先找人——实例分割——关键点检测;

下面看一下Mask RCNN和传统二阶段检测算法的区别:

从上图中可以看出,相比于传统二阶段检测网络,增加了mask branch的模块;

详细如下图所示:

对检测到的图像ROI进行降维特征提取,输出的通道数为需要检测的关键点数量;

单独将每一通道的图取出,可以看出是一个Heatmap,又称为热力图;

四、Bottom Up算法

简介:一种自底向上的方法,先找点后进行归纳;

其中最经典的算法为OpenPose;

源码:https://github.com/CMU-Perceptual-Computing-Lab/openpose

论文:[1812.08008] OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields (arxiv.org)

原理:

主要分为两个步骤,Parts Detection(点的预测)和Parts Association(点的连接)

其中先通过特征提取网络得到特征图,转换得到每个关键点的热力图;

其次关键在于通过PAF计算两个点的关联度;

上图表示了两个点之间的得分如何计算,首先通过点是否在真实连线的区间范围内来判断两点的关联性,其次计算得分;

想了解算法细节的可以看后续的代码讲解部分;

五、前沿算法

1、MSPN

论文地址:https://arxiv.org/pdf/1901.00148.pdf

上图为主要的结构模块;

从结构上看,优化了单个stage的结构,采用了降采样到上采样的两个过程(类似于U-Net);

具体看其中的关键结构:

在降采样和上采样的过程中会造成大量的特征信息丢失,因此采用上图所示的相邻阶段的特征聚合,以增强特征信息传播降低训练难度;对于一个降采样过程,输入包括三个部分:上阶段中相同size的降采样特征经过1*1卷积编码后的特征、上个阶段中相同size的升采样特征经过1 * 1卷积编码后的特征,以及当前stage的降采样特征;

下面是对每个stage输出的优化策略:

采用了由粗到细的多分支监督的方式来优化stage的能力,如上图所示,对于每个stage的特点,采用不同的kernel-size的高斯核制作标签;

2、HRNet

参考:刷新三项COCO纪录!姿态估计模型HRNet开源了,中科大微软出品 | CVPR (qq.com)

简介:高分辨率网络(High-Resolution Net)的缩写,在表征学习的整个过程中,都能够保持高分辨率表征,因此为模型设计了并联结构,把不同分辨率的子网络,用新的方式连在一起;

上图是现有的一些方法:

  • (a)对称结构,先下采样,再上采样,同时使用跳层连接恢复下采样丢失的信息;
  • (b)级联金字塔;
  • (c)先下采样,转置卷积上采样,不使用跳层连接进行数据融合;
  • (d)扩张卷积,减少下采样次数,不使用跳层连接进行数据融合;

上图是HRNet的结构,主要有两个特点,并行连接高分辨率子网和重复的多尺度融合;

相比于传统的下采样特征提取,该网络通过上采样和下采样,并且在特征提取过程中融合不同形状的特征;

补充信息

对于关键点的开源代码和论文,可以参考这个地址:Keypoint Detection | Papers With Code

几种IOU的总结:一文读懂目标检测中的各种IoU损失函数 - 知乎 (zhihu.com)

相关文章:

【人体姿态估计】(一)原理介绍

【人体姿态估计】(一)原理介绍 一、背景 人体姿态估计本质上是一个关键点检测的项目; 关键点检测在生活中的应用十分广泛,包括人脸识别、手势识别,而人体姿态估计则是对身体的关键点进行检测; 本文将介…...

一种新的流:为 Java 加入生成器(Generator)特性

作者:文镭(依来) 前言 这篇文章不是工具推荐,也不是应用案例分享。其主题思想,是介绍一种全新的设计模式。它既拥有抽象的数学美感,仅仅从一个简单接口出发,就能推演出庞大的特性集合,引出许多全新概念。…...

《数据结构C++版》实验一:线性表的顺序存储结构

实验目的 1、实现线性表的顺序存储结构 2、熟悉C++程序的基本结构,掌握程序中的头文件、实现文件和主文件之间的相互关系及各自的作用 3、熟悉顺序表的基本操作方式,掌握顺序表相关操作的具体实现 实验内容 对顺序存储的线性表进行一些基本操作。主要包括: (1)插入:操作…...

ChatGPT的开源平替,终于来了!

最近这段时间,一个号称全球最大ChatGPT开源平替项目Open Assistant引起了大家的注意。 这不最近还登上了GitHub的Trending热榜。 https://github.com/LAION-AI/Open-Assistant 根据官方的介绍,Open Assistant也是一个对话式的大型语言模型项目&#xff…...

Redis基础

Redis6 1. NoSQL数据库简介 1.1 技术发展 技术的分类 1、解决功能性的问题:Java、Jsp、RDBMS、Tomcat、HTML、Linux、JDBC、SVN。 2、解决扩展性的问题:Struts、Spring、SpringMVC、Hibernate、Mybatis。 3、解决性能的问题:NoSQL、Jav…...

为什么重视安全的公司都在用SSL安全证书?

我们今天来讲一讲为什么重视安全的公司都在用SSL证书 SSL证书是什么? SSL安全证书是由权威认证机构颁发的,是CA机构将公钥和相关信息写入一个文件,CA机构用他们的私钥对我们的公钥和相关信息进行签名后,将签名信息也写入这个文件…...

嵌入式QT (使用 Qt Designer 开发)

一、使用 UI 设计器开发程序 1.1、 在 UI 文件添加一个按钮 1.2、在 UI 文件里连接信号与槽 所谓信号即是一个对象发出的信号,槽即是当这个对象发出这个信号时,对应连接的槽就发被执行或者触发。 UI 设计器里信号与槽的连接方法一: 在主窗…...

每日一个小技巧:今天告诉你拍照识别文字的软件有哪些

在现代社会里,手机已经成为了人们生活中必不可少的工具。它的功能众多,比如通讯、上网、拍照以及导航等,为我们的生活带来了许多便利。除此之外,手机还能帮助我们解决一些实际的问题,例如,当你需要识别图片…...

多版本VersionARXDBG

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、一级标题二级标题三级标题四级标题五级标题六级标题总结前言 提示:这里可以添加本文要记录的大概内容: VersionARXDBG,多版本,2023.4.22-4.23两天时间,分别研究了在多版本编译ARXDB…...

# 生成器

生成器 生成器是什么? 生成器(generator)是一种用来生成数据的对象。它们是普通函数的一种特殊形式,可以用来控制数据的生成过程。 生成器有什么优势? 使用生成器的优势在于它们可以在生成数据的同时控制数据的生成过程…...

Netty 源码解析(上)

序 Netty的影响力以及使用场景就不用多说了, 去年10月份后,就着手研究Netty源码,之前研究过Spring源码,MyBatis源码,java.util.concurrent源码,tomcat源码,发现一个特点,之前的源码都…...

Vue 消息订阅与发布

消息订阅与发布,也可以实现任意组件之间的通信。 订阅者:就相当于是我们,用于接收数据。 发布者:就相当于是媒体,用于传递数据。 安装消息订阅与发布插件: 在原生 JS 中 不太容易实现消息订阅与发布&…...

如何在你的云服务器/云主机上更新并使用最新版本的python(python3.11)

更新并使用最新版本的python3.11 第一步,登录云服务器,并更新系统包 打开您的终端(Terminal)或使用任意SSH客户端,输入如下命令来登录云主机: ssh 用户名IP地址 在输入密码后,您将成功登录到云…...

python学习——【第八弹】

前言 上篇文章 python学习——【第七弹】学习了python中的可变序列集合,自此python中的序列的学习就完成啦,这篇文章开始学习python中的函数。 函数 在学习其他编程语言的时候我们就了解过函数:函数就是执行特定任何以完成特定功能的一段代…...

铁路应答器传输系统介绍

应答器传输系统 应答器传输系统是安全点式信息传输系统,通过应答器实现地面设备向车载设备传输信息。 应答器可根据应用需求向车载设备传输固定的(通过无源应答器)或可变的(通过有源应答器)上行链路数据。 当天线单…...

Baumer工业相机堡盟工业相机如何通过BGAPI SDK直接实现Mono16位深度的图像保存(C#)

Baumer工业相机堡盟工业相机如何通过BGAPI SDK直接实现Mono16位深度的图像保存(C#) Baumer工业相机Baumer工业相机保存位深度12/16位图像的技术背景代码案例分享1:引用合适的类文件2:通过BGAPI SDK直接保存Mono12/16图像3&#xf…...

C语言入门篇——介绍篇

目录 1、什么是C语言 1、C语言的优点 3、语言标准 4、使用C语言的步骤 5、第一个C语言程序 6、关键字 1、什么是C语言 1972年,贝尔实验室的丹尼斯里奇和肯汤普逊在开发UNIX操作系统时设计了C语言,C语言是在B语言的基础上进行设计。C语言设计的初衷…...

Latex数学公式排版

文章目录 Latex使用最佳方式:读官方文档Latex中的字符数学公式排版1.引入宏包:2.公式排版基础3.数学符号(1).希腊字母(2).指数,上下标,导数(3).分式和根式(4).关系符(5).算符(6).巨算符(7).箭头 Latex使用 最佳方式:读官方文档 The not so short intro…...

【Linux】-关于Linux的指令(上)

作者:小树苗渴望变成参天大树 作者宣言:认真写好每一篇博客 作者gitee:gitee 如 果 你 喜 欢 作 者 的 文 章 ,就 给 作 者 点 点 关 注 吧! TOC 前言 今天我们来讲关于Linux的基本指令,博主讲的指令会对应着Windows…...

【论文写作】引言写作的四个重要的语言点之时态!!!

在本篇文章当中,我们将着重介绍四个重要的写作语言要点之一的时态,其他语言点如下: 1. 时态 2. 标志性的衔接词 3. 主动、被动语态 4. 段落 1. 简单现在时和现在进行时 时态主要有现在时和现在进行时,看以下两个句子 I live in…...

赋能智能体大脑:在快马平台中集成AI模型实现高级对话能力

在探索AI辅助开发的过程中,我发现智能体的核心能力很大程度上取决于其"大脑"——也就是背后支撑决策的AI模型。最近在InsCode(快马)平台实践了一个很有意思的项目:如何为智能体集成AI模型来实现高级对话功能。整个过程让我深刻体会到&#xff…...

山西口碑好的实体店获客公司哪家可靠

在山西,实体店主们都在为如何有效获客而烦恼。随着市场竞争的加剧,选择一家可靠的获客公司至关重要。今天,我们就来探讨一下山西口碑好的实体店获客公司,重点介绍中谷云(厦门)大数据科技有限公司&#xff0…...

2026年社会学论文降AI率工具推荐:田野调查和访谈记录部分

2026年社会学论文降AI率工具推荐:田野调查和访谈记录部分 同学群里有人问社会学论文降AI工具推荐,我发现自己每次回答都差不多——嘎嘎降AI。干脆写一篇详细的推荐文章,省得每次重复。 直接结论:嘎嘎降AI(www.aigcle…...

Python数据标准化全攻略:从原理到实践

在机器学习和数据分析领域,数据标准化是一项至关重要的预处理步骤。它能够将不同尺度的特征统一到相同的范围内,帮助模型更好地学习数据特征,提高训练效率和模型性能。本文将详细介绍数据标准化的概念、常用方法以及在Python中的实现方式。一…...

Claude Code 使用秘籍大公开!从零基础到精通,字节跳动官方手册等你拿!

本文提供了一份详尽的 Claude Code 使用手册,专为从零基础到精通的学习者设计。手册采用手把手教学方式,步骤清晰,技巧实用,无需复杂代码知识即可上手。文中特别强调了对使用 Gemini3 的伙伴的适用性,并鼓励读者点赞、…...

解密Abaqus许可证“心跳”机制与合理超时时间设置

解密Abaqus许可证“心跳”机制跟合理超时时间设置你是不单是也碰到过这种情况:Abaqus许可证明明用不了,可系统还在继续计费?我在一家制造企业做许可证优化,就碰到了此老问题。为何许可证会“死掉”?这跟许可证的心跳&a…...

新手零压力入门:基于快马平台的ubuntu22.04图文安装实战指南

最近在帮几个朋友入门Linux系统时,发现Ubuntu安装这个看似简单的第一步,对新手来说却充满各种"坑"。从制作启动盘到分区设置,每个环节都可能让初学者手足无措。好在发现了InsCode(快马)平台,它能将复杂的安装过程转化为…...

2026网盘风云再起:告别“传不动”,这两款不限速良心网盘实测解析

近些年,网盘市场经历了一轮又一轮的洗牌。从早年各大云盘陆续关停,到后来现有网盘部分服务全面转向收费模式,甚至对非会员进行严苛的网速阉割。用户常常面临「存不下、传不动、下不来」的窘境。 如今已是2026年,网盘市场看似被少…...

SEO工具如何提供网站的整体优化建议

SEO工具如何提供网站的整体优化建议 在当今竞争激烈的互联网市场中,网站的整体优化是每一个企业和个人网站的重要任务。SEO工具在这一过程中扮演着不可或缺的角色。SEO工具如何提供网站的整体优化建议呢?本文将从问题分析、原因说明、解决方法、注意事项…...

C++的std--ranges适配器视图迭代器失效规则与悬垂引用

C的std::ranges适配器视图迭代器失效规则与悬垂引用 现代C引入了std::ranges库,为算法和范围操作提供了更强大的支持。使用适配器视图时,迭代器失效和悬垂引用问题可能成为隐藏的陷阱。理解这些规则对编写安全高效的代码至关重要。 视图的惰性求值特性…...