[OpenMMLab] MMTools学习-笔记2

文章介绍了人体姿态估计的重要性及其应用,包括2D姿态的自顶向下和自底向上方法,如DeepPose、Hourglass和HRNet,以及3D姿态估计的直接预测和利用视频、多视角信息的方法。此外,还提及了姿态估计的评估指标如PCK和OKS-basedmAP,以及DensePose和人体参数化模型如SMPL在人体表面重建中的作用。
摘要由CSDN通过智能技术生成

[OpenMMLab] MMTools学习-笔记2

MMPose-姿态估计

人体姿态估计(Human Pose Estimation)是计算机视觉领域中的一个重要研究方向,也是计算机理解人类动作、行为必不可少的一步,人体姿态估计是指通过计算机算法在图像或视频中定位人体关键点,目前被广泛应用于动作检测、虚拟现实、人机交互、视频监控等诸多领域。本次课程涵盖人体姿态估计的介绍与应用、2D 姿态估计、3D 姿态估计、DensePose、Body Mesh 以及 MMPose 等内容



1. 姿态估计概述

  • 什么是姿态估计
    定义:从给定的图像中识别人脸、手部、身体等关键点,即输入:图像,输出:人体关键点的坐标
  • 关键点数量
    通常人脸:68个,手势:21个,人体:18个
  • 3D姿态估计
    定义:预测关键点在三维空间的坐标,在三维空间中还原姿态
  • 人体参数化模型
    定义:更进一步,从图像或视频中恢复出运动的3D模型

基于以上基础任务,可以继续进行下游任务:

  • 行为识别:基于人体姿态识别行为动作(PoseC3D)
  • 生成CG,动画
  • 人机交互:比如基于手势识别控制
  • 动物行为分析

2. 2D姿态估计相关方法

基本思路

输入:image --> 输出:关键点坐标/关键点热力图

热力图 -->关键点坐标:

  1. 朴素方法:极大值获取
  2. 归一化热力图概率,再根据位置算期望(重心)得到(可导)

监督信息:

  1. 直接用关键点坐标和预测坐标算MSE
  2. 根据关键点坐标生成对应高斯分布热力图,与预测热力图逐点算

模型预测热力图比直接回归坐标相对容易,模型精度相对更高,因此主流算法更多基于热力图,但预测热力图的计算消耗大于直接回归


以及两种典型解决思路:

在这里插入图片描述

自顶向下的方法

先目标检测 --> 再根据检测结果估计单人姿态

相关paper:

  • DeepPose(2014)—基于回归预测
    整体上复刻了AlexNet,只变了输出处。从原来的一维向量(长为分类的“类别数“)变成了一维向量(长为“两倍的关键点数“)。而之所以输出的长度改成了两倍的关键点数,是因为每个点有横纵两个坐标要预测。
    为了达到更棒的局部观测效果,又对小尺度下的各个关键点额外建立更多的AlexNet来学习。其实相当于针对不同关键点提取出更小的图片框,再对这些提出出来的局部图片框进行标准化(坐标标准化)和DNN(神经网络)的重新计算,这样做的原因是在放大目标位置的过程中有利于精度的提高。

  • Hourglass(2016)—基于热力图预测
    提出 “stacked hourglass” 的网络来进行姿态估计,它可以获取到所有尺度图像的信息,因为网络结构的下采样和上采样操作,从结构上看像一个沙漏(hourglass) 而得名。
    并且可以多个Hourglass级联形成,每一个级联预测的 heatmaps 都会与真值热力图对比产生一个 loss,最后将这些 loss 都加在一起,进行中间监督。

  • HRNet(2019)
    HRNet通过并行多个分辨率的分支,加上不断进行不同分支之间的信息交互,同时达到强语义信息和精准位置信息的目的。

自底向上的方法

先检测出所有关键点 --> 再基于其他辅助信息将关键点聚类(分配给不同对象)

  • Part Affinity & OpenPose(2016)
    • 基于图像同时预测关节位置和四肢走向,利用肢体走向辅助关键点聚类(若两个关键点由某个肢体相连,亲和度高,则很有可能属于同一人),标注分为两部分,一个是关键点的标注,一个是肢体的标注:关键点的标注和其他论文的一样都是关键点的高斯撒点,肢体标注如果点p在肢体上,那就标注为这个肢体的单位向量,否则就标为(0,0)。
    • 于是可以根据预测出的关键点坐标,计算两个点之间的亲和度,然后根据亲和度构建带权重的K部图,图的匹配问题求解关键点归属(匈牙利算法)
      在这里插入图片描述

单阶段的方法

  • SPM(2019)- 首次提出单阶段方法
    该方法可以直接从2D图像扩展到3D图像的人体姿态估计
    Reference
    在这里插入图片描述

    • 通常一个人体的姿态是由人体上几个具有代表性的关键点来表征(如下图(b))。作者的思路是首先找到每个人体的中心点,也即root joint(如下图 c),然后再计算需要检测的每个关键点到root joint的偏差量,每一个人体姿态就可以由root joint以及这些每个关键点到root joint的偏差量表示
    • 所以CNN网络的任务就是回归出root joint以及这些每个关键点到root joint的偏差量就可以完成人体姿态估计了。由于要回归距离root joint较远的关键点的偏差量较为困难,为了简化这一任务,作者提出了Hierarchical SPR的策略,其核心思想是先计算距离root joint较近的几个关键点的偏差量,再以这几个关键点为下一层的root joint,计算该root joint周围的几个关键点的偏差量,逐层向外围推进,直到计算出所有关键点的偏差量,如下图(d)所示。
      在这里插入图片描述

基于Transformer方法(TODO)

  • PRTP(2021)
  • TokenPose(2021)

总结

在这里插入图片描述


3. 3D姿态估计相关方法

任务:预测关键点在三维空间的坐标
输入2D图像–>输出关键点的空间坐标
注意是回归相对坐标:关键点相对于骨盆点(pelvis)的坐标

基本思路

  1. 直接预测:从2D图片直接暴力回归得到3D坐标

    • Coarsse-to-Fine Volumetric Prediction(2017)
      单张图片输入卷积网络,预测3D热力图,模型是用的Hourglass级联网络,对每个关键点,预测出6464d的3D热力图,d表示深度方向分辨率,逐级增加,如图
      请添加图片描述
    • Simple Baseline 3D(2017)
      有趣的发现:直接2D坐标–>3D坐标,就可以取得较好的结果
      在这里插入图片描述
  2. 利用视频信息:

    • VideoPose3D(2018)
      基于单帧图像预测2D关键点,基于多帧2D关键点结果预测3D关键点位置
      在这里插入图片描述
  3. 基于多视角图片:VoxelPose(2020)


4. 姿态估计评估指标

PCP(Percentage of Correct Parts):肢体的检出率

PDJ(Percentage of Detected Joints):关节点的位置精度,PDJ@0.2-指位置精度在0.2躯干直径范围内的

PCK(Percentage of Correct Key-points):关键点的检测精度

OKS based mAP:以关键点相似度OKS(Object Keypoints Similarity)作为评价指标计算mAP, 这个也是COCO竞赛指定的关键点评价指标


5. DensePose与人体参数化模型(TODO)

人体表面参数化:将人体表面分为24个部分,将每个部分参数化到同样大小256*256的UV平面
在这里插入图片描述

  • DensePose
  • 人体参数化模型
    SMPL,SMPLify,HMR



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值