OpenPose-人体姿态估计

OpenPose是一种实时的多人2D姿态检测系统,使用PartAffinityFields(PAFs)提高准确率并去除身体部分预测阶段,提升了速度和性能。该方法适用于人体、脚部、手和脸部关键点检测,且在多人场景下仍能保持高效。此外,OpenPose还能应用于机动车关键点检测,但对某些复杂或罕见姿势可能出现检测失败。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 简介

本文根据2019年5月《OpenPose: Realtime Multi-Person 2D PoseEstimation using Part Affifinity Fields》翻译总结。不过openpose在2017年就发了。这个是更新版。

人体姿态估计面临多种挑战:1)每张图片可能包含未知数量的人,他们出现在不同的未知,也不同的大小尺度;2)人体之间的交互,如接触,产生了复杂的空间预测;3)预测时间随着人的数量增加,增加了在实时场景预测的难度。

人体姿态估计有两种方法,分别是top-down方法和bottom-up方法。其中top-down方法先预测人,再预测每个人的姿体。而bottom-up方法就直接对多人姿体同时预测,openpose采用的这种。

本版本较2017CVPR版本有如下新贡献:

  1. 我们证明PAF( Part Affifinity Fields,下面正文介绍)对于提高准确率是必要的,而身体部分预测精炼不是重要的。所以我们增加了网络深度,去除了身体部分精炼阶段。最终网络再速度方面增加200%,再准确率方面增加7%。
  2. 我们提出了一个脚部数据,包括1.5万个脚部实例。我们显示了采用身体和脚部关键点的联合模型在保持只采用身体的模型的速度下,也保持了准确率。脚本标注示例如下:大拇指、小拇指、脚跟。

3.我们显示了我们模型的泛化性,可以应用于机动车关键点检测。

4.我们开放了openpose。应该是首个实时的多人2D姿体检测系统,包括身体、脚部、手、脸的关键点检测。

2 方法

如上图,描述了openpose的处理过程。首先输入一个w*h的图像(图a),接着一个前向网络预测出身体部位位置的置信图( Confidence Maps)S(图b),和part affifinity fields (PAFs) L (图c),其表示身体部位之间连接的程度。

最后,置信图和PAF通过一个贪婪算法(图d),输出最终的2D关键点(图e)。

2.1 网络结构

如下图,每一步t,其前半部分预测part affifinity fields (PAFs) L,后半部分预测置信图( Confidence Maps)S。

2.2 同时检测和组合

上面图片(Fig 3)中的F是有一个CNN生成的特征图,该CNN采用GNN的前面10层初始化和微调的。

损失函数分别如下:

总体损失函数如下:

3.3 part affifinity fields (PAFs)

PAF同时提供位置和方向信息,如下图:

对于肢体区域的每一个像素,有一个2D向量编码方向,该方向表示从肢体一个部位到另一个。每种肢体都有一个对应的PAF,其连接两个关联的身体部位。

公式4中L的groundtruth等于图片中所以人的L的平均值,如下:

3.4 使用PAFs多人解析

多人问题说是NP-HARD的,为此,我们采用了下面两个方法。如下图,1)我们采用图c的方法,选择最小化数量的边来生成树形骨架,而不是使用完整的图(图b)。2)我们进一步压缩匹配问题到两两(bipartite)匹配问题,如图d。

3 openpose

3.1 系统

openpose可以运行在不同的平台,包括Ubuntu、windows、Max OSX、嵌入式系统(如Nvidia Tegra TX2)。

也支持不同的硬件,如CUDA GPUs、OpenCL GPUs和CPU。

openpose包括3个不同模块:a)身体和脚本检测;b)手势检测;c)脸部检测。

OpenCV已支持openpose。

4 实验结果

4.1 MPII 多人数据集上的结果

如下表,openpose效果较好,预测速度也快。

4.2 COCO关键点结果

4.3 预测时间分析

top-down方法,如Mask R-CNN、Alpha-Pose。其预测时间与图片中人的数量成比例。如下图所示,openpose不随图片中人的数量增加,而预测时间增加。

openpose的预测时间包括两部分,1)CNN的处理时间,其与人的时间复杂度是O(1),即恒定,和人数量无关;2)多人解析时间,其时间复杂度为O(n的2次方),但是其时间占比与第一个相比很小。例如,对于9人,CNN花了36毫秒,多人解析花了0.58毫秒。

openpose不同模型运行时间:

4.4 车辆姿体检测

如下图,效果不错。

4.5 失败案例

当然也有检测失败的情况,如下图,比如当出现稀有的姿体、雕塑等情况,检测不正确。

### 回答1: 基于openpose人体姿态估计算法是一种新型的通过计算机视觉技术,利用深度学习的方法来检测人类身体姿态的技术。openpose算法主要基于卷积神经网络,通过对人体进行端到端的检测和识别,精确地提取出人体的关键节点,以达到精准估计人体姿态的目的。 该算法使用了一个称为“多尺度卷积神经网络”的深度学习模型,双臂、双腿、脊柱、头等身体的关键节点可以在三维空间中进行跟踪和预测,从而实现高精度的人体姿态估计。关键节点的位置可以被表示为一个全局的三维关键点矩阵,同时还使用了一组类似于线性回归的模型,来处理和分析这些关键点之间的复杂空间情况和人体姿态。 基于openpose人体姿态估计算法,不仅可以应用于人体姿态的识别和分析,还可以被广泛应用于虚拟现实、影视特效、游戏开发、医学影像、人机交互、体育运动等领域。该算法的优点是在相对小的数据集的基础上进行训练,能够很好地处理的人体姿态的多变性和复杂性,被认为是未来计算机视觉领域的重要技术之一。 ### 回答2: 基于openpose人体姿态估计算法是一种用于从图像或视频中准确估计人类姿势的算法。该算法的核心思想是基于深度学习和计算机视觉技术,通过对人体骨骼关节进行检测和跟踪,实现对人体姿态估计。 该算法首先通过图像或视频帧的输入,使用深度学习模型提取特征信息。深度学习模型通常是由大规模训练集训练而来的,并具有较强的泛化能力。这些特征信息可用于定位人体关节点,例如头部、手臂、腿部等。然后,通过关节的组合和连接,可以得到完整的人体骨骼结构。 在算法的实现过程中,还需要解决一些挑战。例如,对于遮挡、低对比度等情况,该算法需要具备一定的鲁棒性,能够从复杂的背景中准确提取人体的姿态信息。此外,算法的速度也是一项重要考量,以实现实时的人体姿态估计。 基于openpose人体姿态估计算法已经在姿势分析、运动捕捉、动作识别等领域展示了广泛应用的潜力。在人机交互、健康监测、体育训练等方面,该算法可以提供实时、准确的姿态信息,为各种应用场景带来更加智能、高效的解决方案。 总的来说,基于openpose人体姿态估计算法利用深度学习和计算机视觉的技术,实现了对人体姿态的准确估计。它具备广泛的应用潜力,有望在多个领域带来新的突破和创新。 ### 回答3: 基于openpose人体姿态估计算法是一种基于计算机视觉技术的人体姿态分析方法。这个算法利用深度学习和机器学习的方法,通过对图像或视频进行分析,检测人体关键点位置,从而实现对人体姿态估计和跟踪。 openpose的算法基于卷积神经网络(CNN),它经过大量的训练数据集,能够识别和定位人体的各个关键点,包括头部、手臂、腿部等等。这个算法能够在不同角度、不同尺度、不同光照条件下对姿态进行准确的估计。 基于openpose人体姿态估计算法具有以下特点: 1. 高效快速:openpose的算法使用GPU并行计算,能够实时处理高分辨率图像或视频流,具有较快的速度和高效的性能。 2. 鲁棒性强:算法具有较强的鲁棒性,能够处理复杂场景下的人体姿态估计,如多人姿态识别、遮挡、动作快速变化等情况。 3. 准确性高:通过深度学习技术的训练,openpose的算法能够极大地提高准确性,对人体关键点的检测和定位能够达到较高的精度。 基于openpose人体姿态估计算法在许多领域应用广泛,如体育训练、健康医疗、虚拟现实等。它可以实时监测和分析人体的动作,为用户提供更加智能和个性化的服务。随着深度学习和计算机视觉的不断发展,基于openpose人体姿态估计算法将会在未来发挥更加重要的作用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值