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

【论文阅读】Realtime multi-person 2d pose estimation using part affinity fields

OpenPose:使用PAF的实时多人2D姿势估计。

code:GitHub - ZheC/Realtime_Multi-Person_Pose_Estimation: Code repo for realtime multi-person pose estimation in CVPR'17 (Oral)

paper:[1611.08050] Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields (arxiv.org)

0 摘要

一种检测图像中多人的2D姿态的方法。 使用非参数表示(关节亲和力场PAF)学习将身体部位与图像中的人体相关联。对全局上下文进行编码,允许自下而上的解析步骤,在保持高精度的同时实现实时性。该架构旨在共同学习关节位置和它们通过同一顺序预测过程的两个分支进行关联。 在COCO 2016关键点挑战中排名第一。

1 介绍

人体2D姿势估计的问题,主要集中在寻找个体的身体部位上。 推断图像中的多个人的姿势,困难在于:首先,每个图像可能包含未知数量的人;其次,人与人互动导致遮挡,空间干扰,部位的关联困难。 第三,运行时复杂度随人数而增加,给实时性带来了挑战。

常用的方法是:自上而下的单人姿势估计,但缺点很多。自下而上的方法:联合标记了部位检测的候选对象,并将其与单个人体相关联。但是,在完全连接的图上求解整数线性规划问题是一个NP难题,平均处理时间约为几小时。

本文提出了一种有效的方法,进行多人姿势估计:通过部分亲和力字段(PAF),展示了关联分数的自下而上的表示形式,该部分是一组2D矢量场,可对肢体在图像域上的位置和方向进行编码。 同时推断出检测和关联的这些自下而上的表示方式,可以很好地编码全局上下文,从而可以实现贪心解析高质量的结果,而计算成本少。

 图1 顶部: 多人姿势估计。 属于同一个人的身体部位被链接。 左下:部位亲和力场(PAF)对应于连接右肘和右肢的肢体腕。 颜色编码方向。 右下:放大预测PAF的视图。 在场中的每个像素处,一个2D向量编码肢体的位置和方向。

 2 方法

图2 总体流程。将整个图像作为两分支CNN的输入,以共同预测(b)中所示的身体部位检测,以及(c)中所示的部位关联的部位亲和力场(PAF)。 解析步骤执行一组二分匹配以关联身体部位候选者(d)。 最终组装成图像中所有人的全身姿势(e)。

将大小为w×h的彩色图像作为输入(图2a)。并为图像中的每个人生成解剖学关键点的二维位置(图2e)。首先,前馈网络同时预测身体部位位置的一组2D置信度图S(图2b)和部位亲和力的一组2D矢量场L,它们编码各个部位之间的关联度(图2c)。集合有J个置信图,每个关键点部位一个,。集合 有C个向量场,每个肢体一个, 。 Lc中的每个图像位置都编码一个2D向量(如图1所示)。最后,通过贪心推断来解析置信度图和亲和力场(图2d),以输出图像中所有人的2D关键点。

2.1 同时检测和关联

图3 两个分支的多级CNN。第一个分支中的每个stage预测置信度图S,第二个分支中的每个stage预测PAF。在每个stage之后,S和L以及图片的feature拼接在一起传入到下一个stage中。

同时预测检测置信度图和PAF。网络分为两个分支:顶部分支预测置信度图,底部分支预测PAF。首先通过卷积网络分析图像(由VGG-19的前10层初始化并微调),生成一组输入到每个分支的第一阶段的特征图F。在第一阶段,网络产生一组检测置信度图和一组PAF  ,其中 ρ1 和 φ1 是在第1阶段进行推理的CNN。在每个后续阶段中,前一阶段中两个分支的预测以及原始图像特征F被拼接(concat)起来产生精确的预测。

  ρt 和 φt  是在第t阶段进行推理的CNN。

 图4 右手腕(第一行)和PAF的置信度图跨阶段的右前臂(第二行)。 尽管在早期阶段左右身体部位和四肢之间存在混淆,但如在突出显示的区域中所示,通过后期的全局推断,估算值将越来越完善。

图4显示了跨阶段的置信度图和PAF的细化。 为了指导网络迭代地预测第一分支中的身体部位和第二分支中的PAF的置信度图,在每个阶段的末尾应用两个损失函数,分别在每个分支处应用一个损失函数。 在估计的预测与GT map和PAF之间使用L2损失。 对损失函数进行空间加权,以解决一个实际问题,即某些数据集不能完全标记所有人。 具体而言,在阶段t的两个分支处的损失函数为:

是GT置信度图,是GT PAF,W是一个二进制掩码,当在图像位置p缺少注释时,W(p)= 0。Mask是用来避免惩罚训练期间的真实积极预测。每个阶段的中级监督都通过定期补充梯度来解决了消失的梯度问题。整体目标函数是: 

2.2 用于部位检测的置信度图

评估方程式(5)中的 fs 。在训练过程中,从带注释的2D关键点中生成GT置信度图。每个置信度图是出现在每个像素上位置的特定身体部位的2D表示。如果有多个人出现,对于每个人 k,都有对应于每个可见部分 j 的峰。

首先为人体目标k生成单独的置信度图 。令  为图片中人物k的第j个部位的GT位置。 中位置 的价值定义为:

σ控制峰的扩展。网络要预测的GT置信度图是通过max运算符汇总的各个置信度图,

用置信度图的最大值代替平均值,以使峰值接近的精度仍然保持不同。在测试时,我们预测置信度图(如图4的第一行所示),并通过执行非最大抑制来获得候选的身体部位。 

图5.部位关联策略。(a)身体部位检测两个身体部位类型的候选者(红色和蓝色圆点)候选连接(灰线)。(b)使用中点(黄点)表示的连接结果:正确的连接(黑线)和不正确的连接(绿线)也能满足入射约束。(c)使用PAF的结果(黄色箭头)。 通过编码位置和方向的支持PAF消除了假肢。 

 

2.3 用于部位关联的PAF

给定一组检测到的身体部位(图5a中红色和蓝色),如何组装它们以形成未知人数的全身姿势?需要每对身体部位检测的关联的置信度测量,即它们属于同一部位人。衡量关联的一种可能方法是检测肢体上每对部位之间的附加中点,并检查其在候选对象部位检测的发生率,如图5b所示。但是当人们聚集,这些中点可能支持虚假关联(图5b中绿线)。原因是表示形式有两个限制:(1)仅对位置进行编码,而不是每个肢体的方向;(2)将肢体的支撑区域减少到单个点。

为了解决这些限制,我们提出了部位亲和力场,它同时保留肢体区域的位置和方向信息 (如图5c)。部位相似性是每个肢体的2D矢量场,也如图1d所示:对于属于特定肢体的区域中的每个像素,一个2D矢量编码从肢体一个部位指向另一部位的方向。每种类型的肢体都有一个对应的亲和力场,将其两个相关的身体部位连接在一起。如下图一个单独肢体。

人物k的肢体c的部位 j1 和 j2 的真实位置表示为  。如果一个点p在肢体上, 是一个由 j1 指向 j2的联合向量。其他的所有点,值是0。

PAF简单来说就是描述PCM热力点之间的亲和力,使用2D向量建模骨骼。

按照前文所述Part confidence map和PAF结合,按照原理说可以很好的模拟二维人体的各种效果,按照亲和力高的pcm点,属于同一个人,按理说就能够实现目标效果了,但是实际上并非如此。看到这篇文章中的大佬这样解释:DL-Practise:[多图/秒懂]白话OpenPose,最受欢迎的姿态估计网络

大体表述意思是是很多时候亲和力接近,无法完全根据此配对成功。单单依靠亲和力最大值匹配会出现不想要的结果。

转化为二分图匹配问题,解决方法是使用匈牙利算法。

通过采样和对u的等距值求和来估算积分。

 图6.图的匹配。(a)带有部位检测的原始图像; (b)K部分图; (c)树结构; (d)一组二部图

 

 

 

参考:深度学习论文翻译(12)——OpenPose - 知乎 (zhihu.com)

论文阅读笔记(1)OpenPose:Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields - 知乎 (zhihu.com) [多图/秒懂]白话OpenPose,最受欢迎的姿态估计网络 - 知乎 (zhihu.com)

相关文章:

【论文阅读】Realtime multi-person 2d pose estimation using part affinity fields

OpenPose:使用PAF的实时多人2D姿势估计。 code:GitHub - ZheC/Realtime_Multi-Person_Pose_Estimation: Code repo for realtime multi-person pose estimation in CVPR17 (Oral) paper:[1611.08050] Realtime Multi-Person 2D Pose Estima…...

图像分割实战-系列教程9:U2NET显著性检测实战1

🍁🍁🍁图像分割实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 U2NET显著性检测实战1 1、任务概述...

RK3568平台 Android13 GKI架构开发方式

一.GKI简介 GKI:Generic Kernel Image 通用内核映像。 Android13 GMS和EDLA认证的一个难点是google强制要求要支持GKI。GKI通用内核映像,是google为了解决内核碎片化的问题,而设计的通过提供统一核心内核并将SoC和板级驱动从核心内核移至可加…...

阿里云服务器节省计划价格便宜_成本优化全解析

阿里云服务器付费模式节省计划怎么收费?为什么说节省计划更节省成本?节省计划是一种折扣权益计划,可以抵扣按量付费实例(不含抢占式实例)的账单。相比包年包月实例,以及预留实例券和按量付费实例的组合&…...

3种依赖管理工具实现requirements.txt文件生成

1.pip 实现方式 要使用 pip 生成 requirements.txt 文件,可以使用以下命令: pip freeze > requirements.txt这个命令会将当前环境中所有已安装的 Python 包及其版本信息输出到 requirements.txt 文件中。这个文件可以用于共享项目的依赖信息&#xf…...

超图iClient3DforCesium地形、影像、模型、在线影像交互示例

超图iClient3DforCesium地形、影像、模型、在线影像交互示例 描述示例代码 描述 数据源:基于iserver发布的三维场景(地形、影像、BIM模型) 在线arcgis影像 应用:目录树展示源数据列表、目录树控制源数据可视化结果显隐、BIM模型点选查询关联属性 示例代…...

【解决】电脑上的WIFI图标不见了咋整?

相信不少同学都遇到过这种情况:电脑上的wifi图标莫名不见了,甚至有时候还是在使用的中途突然断网消失的。 遇到这种情况一般有两种解决方案: 1. 在开机状态下长按电源键30秒以上 这种办法应该是给主板放电,一般应用在wifi6上面。…...

2 - 表结构 | MySQL键值

表结构 | MySQL键值 表管理1. 库的操作2. 表的操作表的创建与删除表的修改复制表 3. 管理表记录 数据类型数值类型字符类型(汉字或者英文字母)日期时间类型 表头存储与日期时间格式的数据枚举类型 数据批量处理 表管理 客户端把数据存储到数据库服务器上…...

Redis(Linux版本7.2.3)

1、停止Redis服务器 [roottssvr1-c1 sysconfig]# ps -ef | grep redis root 322 1 0 10月30 ? 02:58:53 ./bin/redis-server 0.0.0.0:6379 root 32664 12498 0 14:45 pts/0 00:00:00 grep --colorauto redis [roottssvr1-c1 sysconfig]# [roottssvr…...

八股文打卡day18——操作系统(1)

面试题:进程和线程的区别? 我的回答: 1.概念上。进程是系统进行资源分配和调度的基本单位。线程是系统进行运算调度的最小单位。线程是进程的子任务,一个进程至少包含一个线程,一个进程可以运行多个线程,…...

设计模式—行为型模式之模板方法模式

设计模式—行为型模式之模板方法模式 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。 模板方法(Template Metho…...

机器学习的分类与经典算法

机器学习算法按照学习方式分类,可以分为有监督学习(Supervised Learning)、无监督学习(Unsupervised Learning)、半监督学习(Semi-supervised Learning)、强化学习(Reinforcement Le…...

2.3物理层下面的传输媒体

目录 2.3物理层下面的传输媒体2.3.1导引型传输媒体1.双绞线2.同轴电缆3.光纤 2.3.2非导引型传输媒体无线电微波通信 2.3物理层下面的传输媒体 传输媒体是数据传输系统中在发送器和接收器之间的物理通路 两大类: 导引型传输媒体:电磁波被导引沿着固体媒体…...

笙默考试管理系统-MyExamTest----codemirror(57)

笙默考试管理系统-MyExamTest----codemirror(57) 目录 一、 笙默考试管理系统-MyExamTest----codemirror 二、 笙默考试管理系统-MyExamTest----codemirror 三、 笙默考试管理系统-MyExamTest----codemirror 四、 笙默考试管理系统-MyExamTest---…...

Qt高质量的开源项目合集

文章目录 1.Qt官网下载/文档2.第三方开源 1.Qt官网下载/文档 Qt Downloads Qt 清华大学开源软件镜像站 Qt 官方博客 2.第三方开源 记录了平常项目开发中用到的第三方库,以及一些值得参考的项目! Qt AV 基于Qt和FFmpeg的跨平台高性能音视频播放框…...

HarmonyOS ARKUI深度解析:图像组件及权限配置实战指南

文章目录 深入学习RKUI中的图片组件及权限配置图片组件简介图片源的三种格式Image : 图片显示组件图片组件属性及样式控制图片权限配置文章总结问题总结深入学习RKUI中的图片组件及权限配置 在本文中,我们将深入学习ArkUI(HarmonyOS UI框架)中的图片组件及其相关属性,同时…...

萨姆·奥尔特曼的预言

Sam Altman(萨姆奥尔特曼)是 OpenAI 的首席执行官,这家初创公司开发了众所周知的 ChatGPT。2023年11月,他突然被董事会解雇,并短暂调往微软。在 OpenAI 的每个人都威胁要辞职后,他又回来了。 新的商业模式…...

iPhone 13 Pro 更换『移植电芯』和『超容电池』体验

文章目录 考虑换电池Ⅰ 方案一Ⅱ 方案二 总结危险 Note系列地址 简 述: 首发买的iPhone 13P &#xff08;2021.09&#xff09;&#xff0c;随性使用一年出头&#xff0c;容量就暴跌 85%&#xff0c;对比朋友一起买的同款&#xff0c;还是95%。这已经基本得一天两充 >_<&a…...

JavaScript 常用事件演示

Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍在在JavaScript 常用事件演示以及部分理论知识 &#x1f349;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f4dd;私信必回哟&#x1f601; &#x1f349;博主收将持续更新学习记录获&#xff0c;友友们有任何问题可以在评论区…...

gzip引入后node_modules中.cache compression-webpack-plugin占用内存过多

1.Gzip Gzip&#xff08;GNU zip&#xff09;是一种常见的文件压缩格式和压缩算法&#xff0c;通常用于在 Web 服务器上对静态资源文件进行压缩&#xff0c;以减小文件大小并加快文件传输速度。在前端开发中&#xff0c;经常会使用 Gzip 压缩来优化网站的性能。 Gzip 压缩通过…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

微信小程序 - 手机震动

一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注&#xff1a;文档 https://developers.weixin.qq…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架&#xff08;一&#xff09; 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中&#xff0c;我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道&#xff0c;它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...