【OpenMMLab-AI实战营】笔记02:人体关键点检测与MMPose

Bxc. 2023-06-02 17:48:10

MMPose官方文档:https://mmpose.readthedocs.io/zh_CN/latest/overview.html

Github:https://github.com/open-mmlab/mmpose

目录

一、概述

二、人体姿态估计的介绍和应用

1、什么是人体姿态估计

2、 3D姿态估计

 3、人体参数化模型

4、人体姿态估计的常见下游任务

(1)行为识别

(2)CG、动画 

(3)人机互动(例如:手势识别)

(4)动物行为分析

三、2D 姿态估计

1、自顶向下方法(多人姿态估计)

Deep Pose(2014)

 Residual Log-likehood Estimation(RLE)(2021)

背景知识:标准化流Normalizing Flow 

 Hourglass(2016)

 Simple Baseline(2018)

HRNet(2020)

2、自底向上方法(多人姿态估计)

Part Affinity Field & OpenPose(2016)

3、单节段方法(多人姿态估计)

SPM(2019)

 Structured Pose Representation(SPR)

 Hierarchical SPR

4、基于 Transformer 的方法

PRTR 2021

 TokenPose(2021)

2D 姿态估计小结

四、3D 姿态估计

Coarse-to-Fine Volumetric Prediction 2017

Simple Baseline 3D (2017)

VideoPose3D(2018)

VoxelPose(2020)

五、人体姿态估计的评估方法

Percentage of Correct Parts(PCP)

Percentage of Detected Joints(PDJ)

 Percentage of Correct Key-points(PCK)

 Object Keypoint Similarity(OKS)based mAP


一、概述

overview

MMPose 是一款基于 Pytorch 的姿态估计开源工具箱,是 OpenMMLab 项目的成员之一,包含了丰富的 2D 多人姿态估计、2D 手部姿态估计、2D 人脸关键点检测、133关键点全身人体姿态估计、动物关键点检测、服饰关键点检测等算法以及相关的组件和模块,下面是它的整体框架:

MMPose 由 8 个主要部分组成:apisstructuresdatasetscodecsmodelsengineevaluation visualization

  • apis -- 提供用于模型推理的高级 API

  • structures -- 提供 bbox、keypoint 和 PoseDataSample 等数据结构

  • datasets -- 支持用于姿态估计的各种数据集

    • transforms --包含各种数据增强变换

  • codecs -- 提供姿态编解码器:编码器用于将姿态信息(通常为关键点坐标)编码为模型学习目标(如热力图),解码器则用于将模型输出解码为姿态估计结果

  • models -- 以模块化结构提供了姿态估计模型的各类组件

    • pose_estimators -- 定义了所有姿态估计模型类

    • data_preprocessors -- 用于预处理模型的输入数据

    • backbones -- 包含各种骨干网络

    • necks -- 包含各种模型颈部组件

    • heads -- 包含各种模型头部

    • losses -- 包含各种损失函数

  • engine -- 包含与姿态估计任务相关的运行时组件

    • hooks -- 提供运行时的各种钩子

  • evaluation -- 提供各种评估模型性能的指标

  • visualization -- 用于可视化关键点骨架和热力图等信息

二、人体姿态估计的介绍和应用

1、什么是人体姿态估计

从给定的图像中识别人脸、手部、身体等关键点。

输入:图像I

输出:所有关键点的像素坐标(x1,y1),(x2,y2) ... (xj,yj),这里的 为关键点的总数,取决于具体的关键点模型

2、 3D姿态估计

预测人体关键点在三维空间中的坐标,可以在三维空间中还原人体的姿态。

 3、人体参数化模型

从图像或者视频中恢复出运动的3D人体模型

4、人体姿态估计的常见下游任务

(1)行为识别

PoseC3D:基于人体姿态识别行为动作 

(2)CG、动画 

(3)人机互动(例如:手势识别)

(4)动物行为分析

三、2D 姿态估计

任务描述

2D 人体姿态估计:在图像上定位人体估计点(通常为人体主要关节)的坐标

 基本思路:基于回归(Regression Based)

将关键点检测问题建模成一个回归问题,让模型直接回归关键点的坐标,即

 基本思路:基于热力图(Heatmap Based)

并不是直接回归关键点的坐标,而是预测关键点位于每个位置的概论,即

 表示关键点在 j 位于(xjyj)的概率为1,H 称为热力图,尺寸与原图 I 相同或按比例缩小 

  •  热力图可以基于原始关键点坐标生成,作为训练网络的监督信息
  • 网络预测的热力图也可以通过求极大值等方法得到关键点的坐标

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

从数据标注生成热力图

 使用热力图训练模型

从热力图还原关键点

1、朴素方法:求热力图最大值位置

2、归一化热力图(Integral Human Pose Regression)

1、自顶向下方法(多人姿态估计)


Deep Pose(2014)

 

 通过级联提升精度

回归方法的优势与劣势

 Residual Log-likehood Estimation(RLE)(2021)

背景知识:回归和最大似然估计的联系

背景知识:标准化流Normalizing Flow 

RLE的整体设计

 重参数化

残差似然估计

 完整的RLE模型


 Hourglass(2016)

 级联 Hourglass 模块

 不同的级联和监督方式

Hourglass 模块

 Simple Baseline(2018)

HRNet(2020)

HRNet的特征融合方法

HRNet 配合不同任务头

2、自底向上方法(多人姿态估计)


Part Affinity Field & OpenPose(2016)

 关键点与肢体的预测

关键点与关节预测 

 肢体定义的关键点亲和度

 基于亲和度匹配关键点

 


3、单节段方法(多人姿态估计)


SPM(2019)

 Structured Pose Representation(SPR)

 Hierarchical SPR

 网络设计

回归策略 

损失函数


4、基于 Transformer 的方法

PRTR 2021

 PRTR 两阶段算法

PRTR 单节段算法

 TokenPose(2021)

 


2D 姿态估计小结

 


四、3D 姿态估计

任务描述

相对坐标 VS 绝对坐标

 

难点!!!!

3D 人体姿态估计要求从 2D 图像(或视频)恢复 3D 信息

问题:3D 信息从何而来?

 思路1:直接预测

思路2:利用视频信息

 

思路3:利用多视角图像

 


Coarse-to-Fine Volumetric Prediction 2017

Simple Baseline 3D (2017)

VideoPose3D(2018)

VoxelPose(2020)


五、人体姿态估计的评估方法

Percentage of Correct Parts(PCP)

Percentage of Detected Joints(PDJ)

 Percentage of Correct Key-points(PCK)

 Object Keypoint Similarity(OKS)based mAP

...全文
364 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文档为《硬件工程师笔试面试学习器件篇最终版》,系统介绍了电子电路中常用元器件的基础知识与实际应用,涵盖电阻、电容、电感、二极管、三极管、继电器、IGBT、MOS管、变压器、滤波器、传感器、显示器件、无线通信模块及集成电路等核心元件。文档详细阐述了各类器件的定义、工作原理、分类、关键参数、选型方法、应用场景及设计注意事项,重点针对高频电路、电源管理、信号完整性、热设计、电磁兼容性(EMC)等问题提供了优化策略与解决方案,旨在帮助硬件工程师掌握器件级设计要点,提升电路可靠性与性能。; 适合人群:准备硬件工程师笔试与面试的电子类专业学生、初级硬件工程师及从事电路设计相关工作的技术人员。; 使用场景及目标:①系统复习电子元器件核心知识点,备战技术面试;②在实际电路设计中,作为电阻、电容、电感、MOSFET、IGBT等器件选型与应用的参考指南;③深入理解高频电路设计、电源完整性、热管理及EMC设计等关键技术问题。; 阅读建议:建议结合文档中的原理图与实际案例,重点研读“相关问题”部分,理解器件参数之间的权衡关系(如电阻的功率与阻值、电容的ESR与频率特性、MOSFET的开关速度与EMI等),并将理论知识应用于实际电路设计与调试中,以强化理解和记忆。

535

社区成员

发帖
与我相关
我的任务
社区描述
构建国际领先的计算机视觉开源算法平台
社区管理员
  • OpenMMLab
  • jason_0615
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧