Rethinking Keypoint Representations: Modeling Keypoints and Poses as Objects for Multi-Person Human

article/2025/9/10 8:32:44

在这里插入图片描述

该论文发表于ECCV2022

题目:重新思考关键点表征方法:将关键点和人体姿态作为目标建模以进行多人姿态估计

Abstract

In keypoint estimation tasks such as human pose estimation,heatmap-based regression is the dominant approach despite possessing notable drawbacks: heatmaps intrinsically suffer from quantization error and require excessive computation to generate and post-process. Motivated to find a more efficient solution, we propose to model individual keypoints and sets of spatially related keypoints (i.e., poses) as objects within a dense single-stage anchor-based detection framework. Hence, we call our method KAPAO (pronounced “Ka-Pow”), for Keypoints And Poses As Objects. KAPAO is applied to the problem of single-stage multi-person human pose estimation by simultaneously detecting human pose and keypoint objects and fusing the detections to exploit the strengths of both object representations. In experiments we observe that KAPAO is faster and more accurate than previous methods, which suffer greatly from heatmap post-processing. The accuracy-speed trade-off is especially favourable in the practical setting when not using test-time augmentation.
源码: https://github.com/wmcnally/kapao.
在人体姿态估计这类关键点估计任务当中,基于热图回归的方法是目前最主要最热门的方法,尽管其受限于显著的缺陷:即热图本身受限于一种量化误差且其生成和后处理需要大量的计算开销。为了去找到一种更为有效的解决方案,本文提出了将单独关键点以及一组空间关联的关键点作为目标进行建模的方法,该方法使用了一种密集的单阶段基于锚的检测框架。因此,作者将该方法命名为KAPAO,将关键点和姿态作为目标。KAPAO适用于单阶段多人姿态估计问题,它通过同时检测人体姿态和关键点目标并且融合这些检测结果以同时运用两种目标表征能力。实验中,该方法比过往受限于热图后处理操作的方法速度更快更精确。

背景及问题(由热图方法的缺陷引入需要重新考虑关键点表征方法)

人体姿态估计任务的关键在于如何精确定位人体关键点。估计关键点位置的常用、通用方法为生成热图,即在关键点周围生成高斯概率分布,该方法因能够学习到空间位置信息、表征关键点不确定性(人工标注误差等)比直接回归(x,y)坐标点更具有泛化性和鲁棒性,精度也更高。
但是该方法面临两大缺点:
1.量化误差造成精度上限:使用热图表示,计算成本是图像分辨率的二次函数(坐标回归只需要计算GT坐标点损失,热图需要计算整张图像),因此,为了降低计算成本,标准策略都会进行下采样得到较小分辨率计算。而从较低分辨率的热图映射到原始图像中最终坐标的解码过程,这种分辨率的差距,就会造成量化误差。
(蓝色点表示GT )

目前也有一些处理该量化误差的方法,比如用偏移向量场细化等方法。但这些方法只能减小误差,没办法打破这个上限。想要尽力打破这个上限,只能尽量使用更大分辨率热图。这些方法都会带来额外的计算开销和推理时间,降低推理速度。2.针对于多人姿态估计中,人物紧凑的情况,当两个人体关键点距离过近时,热图表征的概率分布会重合,导致重叠的热图会被认为为单个关键点以致识别不准,这种错误在自底向上方法中会导致关键点缺失错误使得分配不准,在自顶向下方法中导致定位偏差。由此提出如何有效表征关键点位置以打破热图表征缺陷带来的壁垒。
在这里插入图片描述
2.针对于多人姿态估计中,人物紧凑的情况,当两个人体关键点距离过近时,热图表征的概率分布会重合,导致重叠的热图会被认为为单个关键点以致识别不准,这种错误在自底向上方法中会导致关键点缺失错误使得分配不准,在自顶向下方法中导致定位偏差。

由此提出如何有效表征关键点位置以打破热图表征缺陷带来的壁垒。

做点(找出之前工作的缺陷,提出目标):

近年来,许多工作研究基于heatmap-free关键点检测的单阶段多人姿态估计方法。建立在这些前人的工作基础上,作者想要使用基于anchor的目标检测框架将关键点检测任务转换为目标检测任务的方法,将关键点位置作为Keypoints bounding box的中心点以规避热图表征。之前关于此方法的研究更适用于具有局部图像特征的关键点(如眼睛),但是在需要更多全局理解的关键点(如臀部)上表现较差。
因此,本文提出一种能够更有助于检测具有全局空间关系关键点的姿态对象表征方法。此外,该方法能同时检测关键点对象和姿态对象,同意了人的检测和关键点估计。

研究内容及方法:

在这里插入图片描述
KAPAO使用一个密集检测网络同时预测一系列的关键点目标{ O ^ k ∈ O ^ k \ \hat \mathcal O^{k}\in\hat O^{k}  O^kO^k }和一系列姿态目标{ O ^ p ∈ O ^ p \ \hat \mathcal O^{p}\in\hat O^{p}  O^pO^p},将两者融合得到 O ^ = O ^ k ⋃ O ^ p \ \hat O = \hat O^{k}\bigcup\hat O^{p}  O^=O^kO^p。关键点目标表示为以关键点坐标为中心的小BBOX,BBOX的尺寸为超参。姿态对象表征为一系列关键点的坐标以及一个人体目标检测框。

每种目标表征都有其独有的作用和优势。关键点目标专门用于检测具有很强局部特征的关键点,例如眼睛、耳朵、鼻子等。关键点目标没有携带任何关于人体和姿态的信息,如果直接将这些关键点目标用于多人姿态估计,就需要用自底向上的分组方法将他们解析分组到各个人体姿态。相比之下,姿态目标就能够更好地定位具有比较弱的局部特征的关键点因为他们能够让网络学习到一系列关键点之间的局部空间关系,这一点使得他们可以减轻直接进行多人姿态估计的难度即使不使用自底向上的关键点分组操作。【这一段思想特别重要】

认识到关键点目标实际上是姿态目标的子集,KAPAO网络以最小的计算开销使用一个单个的共享网络头以此同时检测两种类型的目标对象。在推理阶段,使用一种简单的基于公差的匹配算法融合关键点目标检测与人体姿态目标检测以达到更精确的人体姿态估计性能而不牺牲推理速度。

推理过程中,预测的中间边界框和关键点都会映射回原来的图像坐标中。
KAPAO的一个限制是姿态目标不包含单独的关键点置信度,因此,人体姿态预测就需要特定地区包含一系列由混合的关键点目标支持的关键点置信度。如果舍弃这个的话,关键点置信度就只能关键点目标诱导。另一限制就是训练时间长,并且GPU的存储能力需要满足一个大的input size(文中为1280)。

本文方法贡献更多在于其新的网络架构,即使在输入图像尺寸大的情况下也能够有比较快的推理速度。在单阶段方法当中,本文方法取得了SOTA精度,该框架在未来是个可以探索的方向。
在这里插入图片描述


http://chatgpt.dhexx.cn/article/qp3NO6SA.shtml

相关文章

[1] A Keypoint-based Global Association Network for Lane Detection

A Keypoint-based Global Association Network for Lane Detection 0. 摘要 概括车道线检测方法: (1)基于Anchor定位的方法,自顶向下根据路线图把预设定的Anchor回归到车道线上。缺点是对复杂车道线不够灵活; &#…

cv::KeyPoint中response的介绍

1. Opencv中的KeyPoint类介绍 KeyPoint类的构造函数如下: KeyPoint(); KeyPoint(Point2f _pt, float _size, float _angle-1, float _response0, int _octave0, int _class_id-1); KeyPoint(float x, float y, float _size, float _angle-1, float _response0, int _octave0…

11种Anchor-free目标检测综述 -- Keypoint-based篇

点击上方“3D视觉工坊”,选择“星标” 干货第一时间送达 导读 anchor-free目标检测算法分为两种,一种是DenseBox为代表的Dense Prediction类型,另一种则是以CornerNet为代表的Keypoint-bsaed Detection类型,以检测目标关键点为主…

SMOKE: Single-Stage Monocular 3D Object Detection via Keypoint Estimation

动机: in this paper that predicts a 3D bounding box for each detected object by combining a single keypoint estimate with regressed 3D variables. As a second contribution, we propose a multi-step disentangling approach for constructing the 3D b…

《PCL Docs 案例详解》KeyPoint——SIFT 关键点提取

SIFT 关键点提取 本节演示如何检测点云的SIFT 关键点。SIFT 即尺度不变特征变换(Scale-invariant feature transform,SIFT) ,最初用于图像处理领域的一种描述。这种描述具有尺度不变性,可以在图像中检测出关键点,是一种局部特征描述。 完整…

OpenCV中KeyPoint类

https://blog.csdn.net/u010821666/article/details/52883580 Opencv中KeyPoint类中的默认构造函数如下: CV_WRAP KeyPoint() : pt(0,0), size(0), angle(-1), response(0), octave(0), class_id(-1) {} 现分析各项属性 pt(x,y):关键点的点坐标; si…

Anchor-free目标检测综述 -- Keypoint-based篇

早期目标检测研究以anchor-based为主,设定初始anchor,预测anchor的修正值,分为two-stage目标检测与one-stage目标检测,分别以Faster R-CNN和SSD作为代表。后来,有研究者觉得初始anchor的设定对准确率的影响很大&#x…

Opencv中特征点Keypoint的解读(特征点与坐标的相互转换)

Opencv中特征点Keypoint的解读 特征点的生成特征点到坐标的转换坐标到特征点的转换 在我们学习特征点检测时,使用特征点检测器,比如ORB和SIFT生成特征点(FAST和SURF好像已经申请专利,较新版本可能用不了),通常生成的特征点形式是一…

COCO数据集Keypoint标注格式梳理和使用COCO-Annotator在自有数据集上进行标注

这里写自定义目录标题 COCO数据集Keypoint标注格式COCO数据集官网Keypoint Detection关键点检测统一数据格式Keypoint标注 使用COCO-Annotator标注自有数据集在Ubuntu 18.04上安装COCO-Annotator安装Docker和Docker-Compose安装COCO Annotator启动COCO Annotator使用COCO Annot…

OpenCV学习之KeyPoint

OpenCV中CV_EXPORTS类别KeyPoint与KeyPointsFilter头文件分析 用OpenCV一段时间了,说实话KeyPoint接触也算比较多,一直没有时间对其数据结构进行分析。今天打开源码对其keypoint.cpp文件进行简单分析一下:keypoint.cpp主要包含两个类KeyPoint…

ubuntu引导删除+win10引导修复

Windowsubuntu双系统,删除安装linux磁盘后没有删除其引导,删其引导的步骤为 使用快捷键winx,打开Windows PowerShell(管理员)(A),依次输入如下命令: 打开diskpart diskpart 列出系统中所有的磁盘 list disk 选择…

win10+ubuntu18.04 双系统修复ubuntu启动引导

win10ubuntu18.04 双系统修复ubuntu启动引导 因为windows是不能引导linux的,而每次win10升级或恢复都会将linux的启动引导覆盖掉,导致无法进入linux, 所以一直就禁止了win10更新.这几天win10出了点小毛病,所以就狠下心来恢复了系…

ubuntu 双系统启动引导修复

1、 准备一个安装U盘,插入电脑开机>选择U盘启动>选择试用Try ubuntu without install。 2、 进入系统后,用CtrlAltT快捷键打开终端,获取root权限,执行以下命令: sodu passwd sudo apt-get install s…

win10+ubuntu双系统,重装win10后修复ubuntu引导的方法

笔记本型号:联想拯救者Y7000P 2019版 操作系统:Windows 10Ubuntu 18.04 LTS 问题:重装系统后发现没办法进入到Ubuntu 解决办法: 首先,我们需要准备一个Ubuntu安装U盘,也就是我们之前进行Ubuntu系统安装…

Windows\Ubuntu修复UEFI引导

目录 1、修复Windows引导2、修复Ubuntu的引导 1、修复Windows引导 修复Windows的EFI引导需要使用到的工具为大白菜装机工具,官网是http://www.winbaicai.com/。使用大白菜制作好装机工具以后,重启选择U盘启动(一定要选“UEFI:你的…

Ubuntu boot-repair系统修复引导

Ubuntu系统修复引导 笔记本上本来已经有了一个ubuntu和一个windows,但是那天作死,想要在移动固态硬盘上安装一个ubuntu,方便使用,结果装完了之后必须要将移动固态插在笔记本上,才能够正常引导。 上网查了半天&#xf…

ubuntu修复启动引导

1. 解决步骤: 1:准备一个安装U盘,插入电脑->开机->选择试用Try ubuntu without install 2:打开终端(Open Terminal),获取root权限…

双系统Ubuntu 引导修复(Boot Repair)

安装完双系统,如果在使用过程中不小心删除了Ubuntu引导向,则会导致开机后无法选择进入Ubuntu系统。或者当我们重装了windows系统后,也会发现原来的Ubuntu引导不见了,当出现这两种情况之一时,最好的解决办法不是重新把U…

Win10+Ubuntu双系统修复Ubuntu系统引导

这两天笔者安装win10ubuntu16.04双系统,因为网络上能找到大量的资料,安装过程此处就不多讲。因为笔者电脑是华硕主板,bios默认设置为安全启动,笔者猜测会阻止加载ubuntu引导,导致双系统不能随意引导。先不管那么多&…

Ubuntu20.04 引导修复(亲测有效)

我电脑装了win10Ubuntu20.04。 Ubuntu的引导因为某种原因被我删了。ESP分区下的文件夹也删除了。 然后就想着怎么把Ubuntu的引导给整回来。 在网上搜索大多有几种 1.通过boot-repair来修复,然而我试过还是不行,提示找不到esp分区,我明明有e…