[论文评析]AdaptivePose: Human Parts as Adaptive Points,AAAI 2022

news2025/1/23 13:02:56

AdaptivePose: Human Parts as Adaptive Points

  • 文章信息
  • 背景
  • AdaptivePose
    • 身体表示方法Body Representation
    • AdaptivePose
      • Part Perception Module
      • Enhanced Center-aware Branch
      • Two-hop Regression Branch
      • Loss function
    • 推理Inference
  • 总结
  • References


文章信息

论文题目:AdaptivePose: Human Parts as Adaptive Points
发表:AAAI 2022
作者:Yabo Xiao,1 Xiao Juan Wang, 1,* Dongdong Yu, 2 Guoli Wang, 3 Qian Zhang, 4 Mingshu He

背景

当前多人姿态估计大都采用自下而上或者自上而下的两阶段方法,这篇文章基于adaptive points这样一种新的表示方法提出了一种新的单阶段多人姿态估计方法

那么传统的身体表示方法有哪些,都有什么问题呢? 如下图(a) -©所示,
在这里插入图片描述
(a)通过绝对关键点的位置建立人体姿势模型: 这种方式割裂了人体与关键点之间的联系,

(b)通过中心点表示人的实例,并利用中心到关节的偏移量来形成人的姿态, 然而这种方式的问题在于:由于各种姿势的变形和中心的接受场的改变 因此很难处理中心到关节的长距离偏移问题

(c)通过根关节表示实例,并进一步提出了一个固定的分层树状结构,根据关节运动学将根关节和关键点分为四个层次。它将长距离偏移分解为累积的短距离偏移,依然存在着 沿着骨架传播的累积误差的问题

作者提出了一种新的身体表示方法,如(d)所示, 将人体部分表示为自适应点 并使用一个自适应点集,包括人类中心 和7个与人体部位相关的点来表示不同的人体实例。 这样一来人的姿势是以身体(中心)-顶部(适应点)-关节点的方式形成的

AdaptivePose

下图展示了所提出的AbaptivePose的示意图。
在这里插入图片描述
给定一个输入图像,我们首先通过Backbone提取一般的语义特征,然后通过三个精心设计的组件来预测具体信息
(1)我们利用部分感知模块Part Perception Module,从每个人的实例的假定中心回归七个自适应的人体部分相关点。

(2)然后,我们在增强型中心感知分支Enhanced Center-aware Branch.中通过聚合自适应点的特征来预测中心热图,进行接受场适应。

(3)此外,两跳回归分支Two-hop Regression Branch将自适应的人体部分相关点作为一跳节点,间接回归从中心到每个关键点的偏移量。

下面首先介绍所提出的新型身体表示方法, 然后再分别介绍这三个模块。

身体表示方法Body Representation

所提出的表示方法引入了自适应的人体部位相关点,用于精确捕捉具有各种变形的结构化人体姿势,并自适应地将长距离的中心到关节的偏移量分解为短距离的偏移量,同时避免了沿着变形的关节骨架传播的累积误差。

在这里插入图片描述

如上图所示,将人体分为7个部分,每个部分用一个 human-part related point来表示,这个点通过距离中心点的偏移量动态地回归得到
这个过程用如下公式表示:
在这里插入图片描述
其中 C i n s t C_{inst} Cinst表示人体实例的中心,其余7个点对应人体的7个组成部分。

为了方便, 将右边7个点用 P p a r t P_{part} Ppart表示, 然后,我们利用人体部位的相关点来定位属于相应部位的关键点,用如下公式表示
在这里插入图片描述

新颖的表征从实例(身体中心)-> 部分(适应性的人体部分相关点)-> 联合(身体关键点)来形成人体姿势。

AdaptivePose

下图显示了3个子网络模块:
在这里插入图片描述

Part Perception Module

Part Perception Module通过预测七个自适应的人体部分相关点来感知人体部分。对于每个部位,我们自动回归一个自适应的点来表示它,而不需要任何明确的监督。如上图所示,特征Fk被送入3×3卷积层,回归从中心到7个自适应的人体部位相关点的14个通道的x-y偏移量

这些自适应点作为中间节点,用于后续进一步预测关键点,也就是文中所说的Joints。

Enhanced Center-aware Branch

如图,首先通过3x3的卷积来产生特定分支的特征Fc, 然后通过 linear transform 来获得压缩后的Fc0, 再通过对Fc0进行bilinear interpolation来获得 adaptive points的特征向量, 各部分的特征向量如下表示:
在这里插入图片描述

然后再将其与Fc进行拼接的得到最终的特征 F C a d a p t F_{C}^{adapt} FCadapt, 最后,使用 F C a d a p t F_{C}^{adapt} FCadapt与自适应接收场来预测中心定位的单通道概率图。其中ground_truth center map通过Gaussian分布产生,
在这里插入图片描述

Two-hop Regression Branch

我们利用两跳回归方法来预测位移,而不是直接回归中心到关节的偏移量。这样,由部件感知模块预测的自适应人与部件的相关点作为一跳节点,将长距离的中心到关节的偏移量自适应地分解为中心到部件和部件到关节的偏移量, 这种两跳的方式用如下公式表示:
在这里插入图片描述
其中第一个偏移量表示从ceneter到对应adaptive points的偏移, 第二个偏移量表示从对对应adaptive points到对应keypoints的偏移。

下面介绍损失函数

Loss function

Loss总共有三部分组成:

(1)中心点ceneter的预测损失,
由于ground_truth已经转化为了heatmap, 将该损失建模为逐像素的Focal loss, 定义如下:
在这里插入图片描述
其中P表示预测/ GT的置信度值。

(2)Keypoints的预测损失
Keypoints的预测通过偏移量offset来体现, 基于L1范数计算Loss, 定义如下:
在这里插入图片描述
其中K表示正的keypoints的数量。

(3)Keypoints的辅助损失函数
除了直接基于offset计算keypoints的loss以外, 作者还定义了额外的辅助损失来学习keypoints的heatmap表示, 使得该特征能够保持更多的人类结构几何信息。 损失的定义与中心点ceneter的预测损失类似。

推理Inference

在推理过程中,增强型中心感知分支Enhanced Center-aware Branch输出中心热图,表明该位置是否为中心。两跳回归分支Two-hop Regression Branch 输出从中心到每个关节的偏移量。

我们首先通过在中心热图上使用5×5的max-pooling核来保持20个候选位置,然后检索相应的偏移量(δix, δiy)来形成人体姿势,而不需要任何后处理和额外的修正。keypoints的预测用如下公式表示:
在这里插入图片描述
其中(Cx, Cy)表示预测的中心点center, δ x i , δ y i \delta_{x}^{i}, \delta_{y}^{i} δxi,δyi表示预测的偏移量,

总结

不多的one-stage多人姿态估计方法,

References

1.Xiao Y, Wang X J, Yu D, et al. Adaptivepose: Human parts as adaptive points[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2022, 36(3): 2813-2821.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/40344.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Boot JPA 存储库派生查询示例

在之前的文章中,您已经知道如何使用JPQL和本机查询通过注释从数据库中检索数据。今天,我将向您展示如何使用派生查询方法在 Spring 引导中实现 Spring Data JPA 存储库查询:Query 派生查询方法的结构配置 Spring 引导应用程序以使用不同的数…

【教学类-19-02】20221127《ABCABC式-规律排序-A4竖版2份》(中班)

展示效果: 单人使用样式: 单页打印样式 ​ 背景需求: 中班幼儿需要掌握ABCABC的排序规律 ​ 前文制作了ABAB单元格色块,微调word表格的列数,调整python的参数,随机生成ABC排序样式,引导幼儿…

Android 单ABI架构适配指南:保姆级教学 INSTALL_FAILED_NO_MATCHING_ABIS

单ABI架构 64位 安装报错误详情如下 : Installation did not succeed. The application could not be installed: INSTALL_FAILED_NO_MATCHING_ABIS 产品需求: 单ABI架构支持拆解 迎合市场需求 32/64位独立包 目前项目ABI架构如下: …

基于Mxnet实现语义分割-整体多模型【完整、附部分源码】

文章目录前言语义分割发展史及意义一、数据集的准备二、基于Mxnet的语义分割框架构建1.引入库2.CPU/GPU配置3.数据标准化4.解析数据集到列表中JSON格式Label 图像的标注格式5.设置数据迭代器6.模型构建fcn模型结构pspnet模型结构deeplabv3模型结构deeplabv3模型结构ICNet模型结…

刷爆力扣之构建乘积数组

刷爆力扣之构建乘积数组 HELLO,各位看官大大好,我是阿呆 🙈🙈🙈 今天阿呆继续记录下力扣刷题过程,收录在专栏算法中 😜😜😜 该专栏按照不同类别标签进行刷题&#xff0c…

合作对策模型的简单实现

以如下题目作为示例: 一位歌手(S),一位钢琴家 (P) 和一位鼓手(D) 组成一个小乐队在俱乐部同台演出能得到演出费1000元,若歌手和钢琴家一起演出能得800元。而只有钢琴家和鼓手一起演出能得到650元,钢琴独奏表演能得300元&#xff…

表单与列表在HTML与CSS中是这么玩的

文章目录表单应用场景实例讲解表单描述标签的使用 label表单约束属性详解表单访问限制技巧常用字段类型扩展隐藏与表单提交技巧表单验证使用总结大文本与列表框技巧详解选项框标准打开方式文件上传的正确打开方式时期与时间表单项使用详解搜索表单与DATALIST数据列表表单历史数…

【Java多线程】线程状态及线程方法大全

➤ Java多线程编程【一文全解】 文章目录线程状态线程方法> 停止线程 stop( )> 线程休眠 sleep( )> 线程礼让 yield( )> 线程强行执行 join( )> 线程状态观测 Thread.State> 线程的优先级 Priority> 守护多线程 daemon线程状态 线程有五大状态: 创建状态…

Java代码审计——XML 外部实体注入(XXE)

目录 前言: (一)XML 的常见接口 1.XMLReader 2.SAXBuilder 3.SAXReader 4.SAXParserFactory 5.Digester 6.DocumentBuilderFactory (二)XXE 漏洞审计…

MongoDB的安装

配置环境变量,将F:\MongoDB\Server\bin的路径添加到PATH环境变量中配置环境变量,将F:\MongoDB\Server\bin的路径添加到PATH环境变量中 1、下载 在安装数据库之前将所有杀毒软件、防护软件全部关闭掉 官网下载地址:Download MongoDB Community Server | MongoDB …

【软件测试】测试人我明明测了,生产环境还出问题?又出幺蛾子......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 测试人对于线上问题…

大数据_数据中台建设与架构

目录 一、持续让数据用起来的机制框架 二、数据中台建设方法论 三、数据中台架构 一、持续让数据用起来的机制框架 数据中台的使命就是持续让数据用起来,它的根本性特点就是把“数据资产”作为基础要素独立出来,让成为资产的数据作为生产资料融入业务…

【SVM分类】基于matlab鸽群算法优化支持向量机SVM分类【含Matlab源码 2242期】

⛄一、鸽群算法简介 基于鸽群在归巢过程中的特殊导航行为,Duan等提出了一种仿生群体智能优化算法———鸽群优化算法.在这个算法中,通过模仿鸽子在寻找目标的不同阶段使用不同导航工具这一机制,提出了2种不同的算子模型: 1)地图和指南针算子(map and compass operator).鸽子可…

ElasticSearch入门

1. ELASTICSEARCH 1、安装elastic search dokcer中安装elastic search (1)下载ealastic search和kibana docker pull elasticsearch:7.6.2 docker pull kibana:7.6.2(2)配置 mkdir -p /mydata/elasticsearch/config mkdir -p…

day01 Redis

day01 Redis 第一章 非关系型数据库的简介 第一节 技术发展线路 第二节 互联网发展所面临的问题 1. Web1.0 时代 2. Web2.0时代 3. 互联网三高问题 3.1 高并发、大流量 大型网站系统需要面对高并发(QPS)用户,大流量访问。Google日均PV数35亿,日均IP…

centos8.4下搭建 rocketmq集群部署 4.9.4

1.简单介绍 搭建rocketmq集群,nameserver至少3个节点,brokerserver采用2主2从同步,服务器资源多的,可以至少部署在7台服务器上,资源少的可以准备至少3台服务器 172.16.4.15nameserver172.16.4.16nameserver172.16.4.17nameserver…

三维种子点生长算法(以及Python递归深度问题)

前言 种子点生长算法是从一个种子点向周围的遍历图像的每个像素的图遍历算法。 通常在二维中有8邻域方法,三维中有6邻域与26邻域方法。 本文实现了三维种子点生长的6邻域算法。 种子点生长算法本质上是对图像的连通部分进行遍历,因此可以分别利用深度优…

spring initializr脚手架搭建详解

前段时间,我在「基于start.spring.io,我实现了Java脚手架定制」一文中讲述了敝司的微服务脚手架落地过程中的前世今生,并提到了基于 spring initializr 的搭建了 2.0 版本的脚手架。今天我打算和你分享一下这其中的实现过程与细节&#xff0c…

Vue3 如何实现一个全局搜索框

前言:自从学习 vue 以来,就对 vue 官网全局的 command K 调出全局关键词搜索这个功能心心念念。恰好最近项目也是需要实现一个全局搜索的功能,也正好可以正大光明的带薪学习这个功能的思路。网上的教程水平参差不齐,而恰好之前的…

qmake 与 配置文件

用qmake生成makefile的时候,背后会先执行一堆用qmake language编写的库文件(配置文件),用于初始化一些环境相关的工作,为后续解析pro文件做准备。 下面是qmake解析一个新建的qt工程的pro文件背后所解析的配置文件的文件…