人体姿态估计的基本概念

注:B站有相应视频,点击此链接即可跳转观看https://www.bilibili.com/video/BV1hb4y117mu/

第1节:人体姿态估计的基本概念

1.1含义

人体姿态估计的任务是确定图像人体关键点位置坐标,通常包括17个关键点,如图1-1所示。

人体姿态估计的基本概念_第1张图片图 1-1 人体姿态估计效果展示

  • 作为计算机视觉技术的重点领域,人体姿态估计在电影和动画、虚拟现实、人机交互、视频监控、医疗康复、自动驾驶、运动分析等。
  • 电影和动画:电影和动画中需要捕捉人类动作才能塑造出生动的数字角色,廉价且精确的人体动作捕捉系统可以促进数字娱乐产业的发展。
  • 虚拟现实:虚拟现实技术可以应用在教育和娱乐领域中,是一种非常有前景的技术。人体姿态估计可以进一步明确人与虚拟现实世界的关系,增强人们的互动体验。
  • 人机交互:人体姿态估计可以帮助计算机和机器人更好地理解人的位置和行为,有了人体的姿态,计算机和机器人可以轻松地执行指令,变得更加智能。
  • 视频监控:视频监控是指通过人体姿态估计技术对特定范围内的人进行跟踪、动作识别、再识别。
  • 医疗康复:人体姿态估计可以为医生提供人体运动信息,用于康复训练和物理治疗。
  • 自动驾驶:目前自动驾驶技术发展十分迅速。有了人体姿态估计技术,自动驾驶汽车可以对行人做出正确的反应,并与交警进行互动。
  • 运动分析:运动分析是指通过估计体育视频中运动员的姿势,可以得到运动员各项指标的统计数据(如跑步距离、跳跃次数等)。在训练过程中,可以通过人体姿态估计获得动作细节的定量分析。在体育教学中,教师可以对学生做出更客观的评价。

1.2挑战

人体姿态估计主要面临三大挑战:

  • 姿态灵活多样:复杂且相互依赖的关节和高度自由的肢体可能导致的自我遮挡或罕见/复杂的姿态。
  • 身体差异显著:包括不同的衣服和相似部位。
  • 环境复杂多变:复杂的环境可能导致前景遮挡、附近人的相似部位、不同的视角以及相机视图的截断导致的遮挡。

如图1-2所示:
人体姿态估计的基本概念_第2张图片

人体姿态估计的基本概念_第3张图片
人体姿态估计的基本概念_第4张图片图 1-2 人体姿态估计的挑战

1.3分类

人体姿态估计方法从四个不同角度可以分别归类为(1)生成式和判别式;(2)自顶向下和自底向上;(3)基于回归和基于检测;(4)单阶段和多阶段。

  • 生成式和判别式:它们的区别在于是否使用人体模型,由于人体模型具有不同的表示形式,因此生成式方法可以采用不同的方式进行处理。判别式方法不使用人体模型,直接学习从输入到人体姿势空间的映射。判别式方法比生成式方法的速度快,但是对于未训练过的姿态鲁棒性低。
  • 自顶向下和自底向上:自顶向上是先检测出人体,然后再对人体姿态进行估计。而自底向上则是先检测出每个人各个关键点位置,然后利用人体模型对这些关键点进行组合,或采用其他算法对它们进行分组。多人姿态估计中人数越多,自顶向下方法的计算量就越大,而自底向上方法的计算量则会保持相对稳定;然而,当图像中的人体有大面积重叠,自底向上方法的鲁棒性会降低。
  • 基于回归和基于检测:基于回归的方法是直接将输入图像映射到人体关节坐标或人体模型参数。基于检测的方法是将人体各部位作为检测目标,图像块和关节位置热图是常用的表示方法。图像直接映射到关节坐标是一个高度非线性的难题,小区域表示可以提供密集的像素信息,因此具有较强的鲁棒性,但与原尺寸图像相比,小区域表示的检测结果会限制最终关节坐标的精度。
  • 单阶段和多阶段:单阶段方法通过端到端网络将输入图像映射到人体姿态,而多阶段方法通常分为多个阶段,并伴有中间监督,例如,一些多人姿态估计方法会先检测人的位置,然后再估计每个人的姿态。

1.4数据集

数据集对基于深度学习的人体姿态估计非常重要。它可以比较不同算法的优劣,此外数据集的扩展和改进也为人体姿态估计带来了更多的挑战和复杂性。随着商业运动捕捉系统和众包服务的成熟,数据集不再受数据量或实验室环境的限制。

数据集 类型 内容 关节点数 样本数
LSP 单人 体育 14 2000
FLIC 单人 影视 10 20000
MPII 单人/多人 日常 16 25000
MSCOCO 多人 日常 17 >=300000
AI Challenge 多人 日常 14 380000
Penn Action 单人 体育 13 2000

表 1 2D人体姿态估计数据集

LSP数据集(Leeds Sports Pose Dataset):包含Flickr上的2000张全身姿势图像,这些图片分为八类(田径、羽毛球、棒球、体操、跑酷、足球、网球和排球)。每个人体包含14个关节点。
FLIC数据集(Frames Labeled In Cinema Dataset):包含从30部著名好莱坞电影截取的5003幅图像,在这30部电影中每10帧进行一次人体检测,获得了大约20000个人体候选区,这些人体候选区被发布到Amazon Mechanical Turk,将获得10个上身关节的真实标签,最后人工删除严重遮挡或非正视图的图像。
MPII数据集(Max Planck Institute for Informatics Human Pose Dataset):是当前最先进的基准之一,可以评估带有丰富注释的人体姿态估计方法。包含YouTube 491种活动的3913个视频。从视频中选出包含不同人或同一个人的不同姿势的24920帧。每个人注释了16个关节点,每个关节都注释了可见性和左/右标签。
MSCOCO数据集(Microsoft Common Objects in Context Dataset):COCO数据集是一个大型人体姿态估计数据集,主要从复杂的日常场景中截取图像,图像包括328000影像和2500000个标签。数据集包含超过33 万张图片,其中20 万张有标注,每个人的注释包括17个具有可见性和左/右标签的身体关节。
AI Challenger数据集(AI Challenger Human Keypoint Detection Dataset):训练样本数最多。包含21万张训练集图像、3万张验证集图像,3万张测试A和3万张测试B图像。这些图像是从互联网搜索引擎中收集的日常生活照。图像中的每个人都用一个边界框和14个关节点进行注释。每个关节点都有可见性和左/右标签。
Penn Action数据集(Penn Action Dataset):包含从YouTube下载的2326个视频,视频中共有15个动作:棒球投球、棒球挥杆、卧推、保龄球、挺举、高尔夫挥杆、跳绳、千斤顶、上拉、上推、坐起、深蹲、弹吉他、网球正手和网球发球。每个视频都有一个动作类标签,每帧包含一个人体边界框和13个带有可见性和左/右标签的关节点。

数据集 采集场景 采集人数 样本数 类型
Human3.6M 室内 11 3600000 运动捕捉
HumanEva 室内 4 约80000 运动捕捉
Total Capture 室内 5 1900000 运动捕捉
MPI-INF-3DHP 合成场景 8 >1300000 运动捕捉、图像合成
3DPW 室外 5 >50000 运动捕捉

表 2 3D人体姿态估计数据集

Human3.6M数据集:是在实验室用marker-based MoCap系统收集的,采集了11名演员(5女和6男)的动作。共收集4个不同视图的3600000个3D人体姿势的图像。演员表演17项日常活动:讨论、吸烟、拍照、打电话等。注释了演员的3D关节位置、关节角度、人物边界框和3D激光扫描。
HumanEva数据集:用ViconPeak的MoCap系统捕获注释。数据集包含与3D身体姿势同步的7个视图视频序列(4个灰度和3种颜色)。4名受试者在3m×2m的捕捉区域内展示6种动作(如散步、慢跑、打手势、投球和接球、拳击、连击)。
TotalCapture数据集:是在室内用8个帧率为60hz的高清摄像机拍摄的。5名演员各表演4种不同的动作,例如瑜伽、指路、弯腰和爬行等。
MPI-INF-3DHP数据集:是在室内和室外场景中收集的。它包含来自14个视角的130多万帧。演员进行锻炼、行走等8项活动。
3DPW数据集:是在自然环境中单手持相机拍摄的,该数据集由60个视频序列(超过51000帧)组成,动作包括日常行走、上楼、喝咖啡等。

1.5评估指标

评估指标是评价人体姿态估计方法的重要标准,我们将人体姿态估计的评估指标分为二维和三维评价指标。
二维评价指标:

评估指标 含义 具体描述
PCP 正确部位的百分比 如果两个预测的关节位置与真实肢体关节位置之间的距离小于肢体长度的一半,则认为肢体被检测到(正确的部位),PCP越高,模型越好
PCK 正确关键点的百分比 如果预测关节与真实关节的距离在特定阈值内,则认为检测到的关节是正确的,PCK越高模型越好
AP 平均准确率 真实关节点阈值内的关节点被认为是正确定位的关节点
mAP 平均AP 给AP中的人工阈值T设定不同的值,然后会获得多个AP指标,最后再对多个AP指标求平均,最终获得mAP
Frame Rate、 Number of Weights、GFLOPs 计算性能指标 帧率表示处理输入数据的速度,一般用FPS或s/image表示。权重数和GFLOPs表示网络的效率,与网络设计和使用的gpu / cpu有关

三维评价指标:

评估指标 含义 具体描述
MPJPE 平均关节位置误差 平均关节位置误差是一张图像中所有真实关节与预测关节之间欧式距离的平均值,MPJPE值越小,性能越好
PCK 正确关键点的百分比 类似于2D评价指标的PCK和AUC,PCK表示阈值内预测关节的百分比,再由PCK阈值计算出AUC

表 3 人体姿态估计评价指标

1.5.1二维评价指标:

不同的数据集具有不同的特征(例如上半身/全身)和不同的任务要求(单人/多人姿态估计),因此二维人体姿态估计有多个评估指标。

1.正确部位的百分比 - PCP:

如果两个预测的关节位置与真实肢体关节位置之间的距离小于肢体长度的一半,则认为肢体被检测到(正确的部位)。它测量肢体的检出率。结果是,由于较短的肢体具有较小的阈值,因此它会对较短的肢体进行惩罚。PCP越高,模型越好。

2.正确关键点的百分比 - PCK:

如果预测关节与真实关节的距离在特定阈值内,则认为检测到的关节是正确的。阈值可以是:[email protected]是阈值=头部长度的50%,[email protected] ==预测和真实关节之间的距离<0.2 *躯干直径,有时将150 mm作为阈值。PCK越高模型越好。

3.平均准确率 - AP:

真实关节点阈值内的关节点被认为是正确定位的关节点。此指标用于计算测试集的精度百分比,单人姿态估计和多人姿态估计的计算方式不同。

Ⅰ.单人姿态估计AP:

单人姿态估计,一次仅对一个行人进行估计,即在oks指标中M=1,因此一张图片中groundtruth为一个行人(GT),对此行人进行关键点检测后会获得一组关键点(DT),最后会计算出GT与DT的相似度oks为一个标量,然后人为的给定一个阈值T,可以通过所有图片的oks计算AP:

在这里插入图片描述

Ⅱ.多人姿态估计AP:

多人姿态估计,如果采用的检测方法是自顶向下,先把所有的人找出来再检测关键点,其AP计算方法与单人姿态估计AP相同;如果采用的检测方法是自底向上,先把所有的关键点找出来然后再组成人,那么假设一张图片中共有M个人,预测出N个人,由于不知道预测出的N个人与groundtruth中的M个人的一一对应关系,因此需要计算groundtruth中每一个人与预测的N个人的oks,那么可以获得一个大小为M×N的矩阵,矩阵的每一行为groundtruth中的一个人与预测结果的N个人的oks,然后找出每一行中oks最大的值作为当前GT的oks。最后每一个GT行人都有一个标量oks,然后人为的给定一个阈值T,可以通过所有图片中的所有行人计算AP:

在这里插入图片描述

4.平均AP - mAP:

是常用的检测指标,给AP中的人工阈值T设定不同的值,然后会获得多个AP指标,最后再对多个AP指标求平均,最终获得mAP。

T∈[0.5:0.05:0.95]

5.计算性能指标 - Frame Rate、 Number of Weights、GFLOPs:

帧率表示处理输入数据的速度,一般用FPS或s/image表示。权重数和GFLOPs表示网络的效率,与网络设计和使用的gpu / cpu有关。

1.5.2三维评价指标:

三维人体姿态估计的评价指标有多种,且存在不同的限制因素。我们只讨论广泛使用的评估指标。

1.平均关节位置误差-MPJPE:

是目前最常用的评价指标。平均关节位置误差是一张图像中所有真实关节与预测关节之间欧式距离的平均值,MPJPE值越小,性能越好。

2.PCK:

类似于2D评价指标的PCK和AUC,PCK表示阈值内预测关节的百分比,再由PCK阈值计算出AUC。3D姿态评估的阈值一般为150mm,相当于头长的一半。

你可能感兴趣的:(人体姿态估计,深度学习,机器学习,神经网络)