点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

本文转自|3D视觉工坊

英文版: 3D-Human-Pose-Estimation-Notes

姿态估计

人体姿态估计:估计人的关节点坐标(回归问题)

  • RGB or RGBD

  • 图像 or 视频

  • 单目 or 多视角

  • 单人 or 多人

  • 2D or 3D

  • 3D姿态 or 3D形态

2D姿态估计

任务

  • 单人姿态估计

    • Benchmark: MPII (2014)

    • 代表作: CPM (CVPR 2016), Hourglass (ECCV 2016)

  • 多人姿态估计

    • Benchmark: COCO (2016), CrowdPose (2018)

    • 自底向上: OpenPose (CVPR 2017), Associative Embedding (NIPS 2017)

    • 自顶向下: CPN (CVPR 2018), MSPN (Arxiv 2018), HRNet (CVPR 2019)

  • 人体姿态跟踪

    • Benchmark: PoseTrack (2017)

    • 代表作: Simple Baselines (ECCV 2018)

挑战

  • 遮挡

  • 复杂背景

  • 特殊姿态

3D姿态估计

问题

从图片或视频中估计出关节点的三维坐标 (x, y, z) (回归问题)

  • 输入: 包含人体的图片

  • 输出: N×3个人体关节点

挑战

  • 巨大的3D姿态空间、自遮挡

  • 单视角2D到3D的映射中固有的深度模糊性、不适定性(一个2D骨架可以对应多个3D骨架)

  • 缺少大型的室外数据集(主要瓶颈)

    • 缺少特殊姿态的数据集(如摔倒,打滚等)

    • 由于数据集是在实验室环境下建立的,模型的泛化能力较差

    • 3D姿态数据集是依靠适合室内环境的动作捕捉(MOCAP)系统构建的。MOCAP系统需要带有多个传感器和紧身衣裤的复杂装置,在室外环境使用是不切实际的

应用

  • 动画,游戏

  • 运动捕捉系统

  • 行为理解

  • 姿态估计可以做为其他算法的辅助环节(行人重识别)

  • 人体姿态估计跟人体相关的其他任务一起联合学习(人体解析)

方法

  • 从2D图片直接暴力回归得到3D坐标

    • 3D Human Pose Estimation from Monocular Images with Deep Convolutional Neural Network (ACCV 2014)

    • Coarse-to-Fine Volumetric Prediction for Single-Image 3D Human Pose (CVPR 2017)

    • 通过深度学习模型建立单目RGB图像到3D坐标的端到端映射,但是对于单一模型来说需要学习的特征太过复杂。

  • 先获取2D信息,然后再“提升”到3D姿态

    • 联合2D,3D共同训练(2D信息通常以heatmap来表示)

      • Towards 3D Human Pose Estimation in the Wild (ICCV 2017)

      • 3D Hand Shape and Pose Estimation from a Single RGB Image (CVPR 2019)

      • 需要复杂的网络架构和充足的训练样本。

    • 直接用预训练好的2D姿态网络,将得到的2D坐标输入到3D姿态估计网络中(得益于2D姿态估计较为成熟)

      • Simple Yet Effective Baseline (ICCV 2017)

      • 3D human pose estimation in video with temporal convolutions (CVPR 2019)

      • 2D姿态网络: Hourglass (ECCV 2016), CPN (CVPR 2018)

      • 优点

        • 减少了模型在2D姿态估计上的学习压力

        • 网络结构简单,轻量级

        • 实时性,快速

        • 训练快,占用显存少

      • 缺点

        • 缺少原始图像输入,可能会丢失一些空间信息

        • 2D姿态估计的误差会在3D估计中放大

  • 为什么要先进行2D估计再进行3D估计?

    • 因为基于检测的模型在2D的关节点检测中表现更好,而在3D空间下,由于非线性程度高,输出空间大,所以基于回归的模型比较流行。

数据集

  • Human3.6M (2014)

    • 3D姿态估计最大、最广泛使用的数据集

    • 360万张图像,4个不同的视角 (原数据集提供的是视频,50fps)

    • 15个动作: directions, discussion, eating, greeting, phoning, posing, purchases, sitting, sitting down, smoking, taking photo, waiting, walking, walking dog, walking together

    • 11 个人,但只有7个人包含3D姿态标签

      • 训练: S1, S5, S6, S7, S8 (1559752张图像)

      • 测试: S9, S11 (550644张图像)

    • 备注:实际使用的时候只用了7个人的数据,总共210万张图像,所以我感觉应该称为Human2.1M。而且从原数据的视频中提取出图片的时候,提取出的图片数会比标签要多,提取出来有2137070张图像,而标签只有2110396个。在使用这个数据集的时候将每个视频舍弃尾部几帧多出来的图像使得与标签一一对应。

  • HumanEva (2010)

  • MPI-INF-3DHP (2017)

评价指标

  • Mean Per Joint Position Error (MPJPE): Protocol 1,关节点坐标误差的平均值

    • 网络输出的关节点坐标与ground truth的平均欧式距离(通常转换到相机坐标)

  • Procrustes analysis MPJPE (P-MPJPE): Protocol 2,基于Procrustes分析的MPJPE

    • 先对网络输出进行刚性变换(平移,旋转和缩放)向ground truth对齐后,再计算MPJPE

  • Percentage of Correct Key-points (PCK),正确关键点的百分比

    • 如果预测关节与ground truth之间的距离在特定阈值内,则检测到的关节被认为是正确的

  • Percentage of Correct Parts (PCP),正确部件的百分比

    • 如果两个预测的关节位置与ground truth之间的距离小于肢体长度的一半,则认为肢体被检测到

  • 备注:做3D的问题,需要掌握各个坐标系间的转换,如世界坐标、相机坐标、图像坐标等。可参考以下两篇博文

    • 计算机视觉:相机成像原理:世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的转换

    • 相机成像模型——建立过程(世界坐标系,相机坐标系,图像坐标系,图像像素坐标系,四者之间的关系

监督方法

  • 弱监督: 不直接用标签,而用其他信息计算Loss

    • 深度图、点云、网格、GAN、3D投影到2D

  • 半监督

    • 3D投影到2D

  • 自监督

  • 全监督

视频序列的优点

  • 当前帧有遮挡的时候,可利用相邻帧的完整性解决这个问题

  • 由于单独预测每个帧的3D姿态时,每个帧中的结果与其他帧无关,会导致输出不连贯,带有视频抖动

  • 单张图片包含的深度信息是有限的,网络可以从序列中挖掘到更丰富的深度信息

  • 一张2D图片可以对应无穷多个3D姿态,让模型“多看”同个视角不同时间人的图片,可以减少深度模糊性,缩小3D姿态的空间范围

3D形态估计

问题

人体姿态重建:从图片或视频中重建或恢复人体姿态的3D模型

3D形态的表示

  • 网格: 由三角形组成的多边形网格

  • 深度图: 每个像素值代表的是物体到相机xy平面的距离

  • 体素: 三维空间中的一个有大小的点,一个小方块,相当于是三维空间中的像素

  • 点云:  某个坐标系下的点的数据集。点包含了丰富的信息,包括三维坐标xyz、颜色、分类值、强度值、时间等

SMPL(A Skinned Multi-Person Linear Model)

  • 3D Mesh: SMPL

    • 输入 (82): Shape + Pose

      • 各个参数代表人体哪个部分?可参考“SMPL模型Shape和Pose参数”

    • 输出: Mesh

    • 优点: 只需要估计少量的参数便可得到包含6890个顶点的高质量的人体3D Mesh

  • 3D Pose

    • 可从3D Mesh中回归得到,其中 为预先训练好的线性回归器

  • 2D Pose

    • 可从3D Pose中使用相机内参计算得到

Reference

  • 人体姿态估计的过去,现在,未来

  • 重新思考人体姿态估计

  • 人体姿态估计(Human Pose Estimation)经典方法整理

  • A 2019 guide to Human Pose Estimation with Deep Learning

  • 从DeepNet到HRNet,这有一份深度学习“人体姿势估计”全指南

  • A 2019 guide to 3D Human Pose Estimation

  • Human Pose Estimation 101

  • 3D人体姿态估计最新研究2019

  • 3D姿态估计:语义图卷积SematicGCN与GAN-RepNet

  • 谈谈三维形态估计

  • 人体3D姿态重建与估计

  • 基于深度学习的视觉三维重建研究总结

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲

在「小白学视觉」公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲

在「小白学视觉」公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

3D人体姿态估计笔记相关推荐

  1. 3D人体姿态估计(介绍及论文归纳)

    推荐镜子大佬的知乎 2D 多人姿态估计论文汇总.分类与简介 2D多人姿态估计指南:热图回归与坐标回归流程指南 openmmlab微信公众号里的3DHPE综述 opemmlab框架下的MMPose库,有 ...

  2. 3D人体姿态估计论文汇总(CVPR/ECCV/ACCV/AAAI)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:Vegetabird | 来源:知乎 https://zhuanlan.zhihu.com/p/ ...

  3. 3d人体姿态估计资料

    人字姿态估计数据集 - 知乎 SMPL论文解读和相关基础知识介绍 - 知乎 3D人体姿态估计方法 MHFormer:Multi-Hypothesis Transformer - 知乎 论文阅读笔记: ...

  4. 3D人体姿态估计综述 - 《3D Human pose estimation: A review of the literature and analysis of covariates》

    <3D Human pose estimation: A review of the literature and analysis of covariates> CVIU 2016 论文 ...

  5. 网络摄像头+net_今日 Paper | 神经网络结构搜索;视觉目标;人物识别;视频3D人体姿态估计等...

    目录 基于进化算法和权值共享的神经网络结构搜索 检测视频中关注的视觉目标 包含状态信息的弱监督学习方法进行人物识别 基于解剖学感知的视频3D人体姿态估计 RandLA-Net:一种新型的大规模点云语义 ...

  6. PoseFormer:首个纯基于Transformer的 3D 人体姿态估计网络,性能达到 SOTA

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 本文分享一篇 52CV 粉丝的论文『3D Human Pose Estimation with Spa ...

  7. 3D人体姿态估计--Coarse-to-Fine Volumetric Prediction for Single-Image 3D Human Pose

    Coarse-to-Fine Volumetric Prediction for Single-Image 3D Human Pose Project and Code: https://www.se ...

  8. ECCV 2020 论文大盘点-3D人体姿态估计篇

    本文盘点ECCV 2020 中所有与3D姿态估计(3D Human Pose Estimation)相关的论文,总计 14 篇,其中一篇Oral 论文,7 篇已经或者将开源代码. 下载包含这些论文的 ...

  9. 视频中的3D人体姿态估计(3D human pose estimation in vide)--------Facebook research: VideoPose3D

    视频中的3D人体姿态估计(3D human pose estimation in video) 解读Facebook AI Research in CVPR2019: <3D human pos ...

  10. 姿态估计之3D 人体姿态估计 - 总结(1)【转】

    参考 3D 人体姿态估计简述 - 知乎 3D人体姿态估计(介绍及论文归纳) [2021-CVPR]Graph Stacked Hourglass Networks for 3D Human Pose ...

最新文章

  1. 2015-01-30工作日记
  2. jQueryt过滤选择器
  3. C#中多线程同步的Monitor理解
  4. 全面讲解Python列表数组(四)什么是元组?元组跟列表数组的差异?元组的特征符号是啥子?
  5. docker基础介绍
  6. 改变select元素原来的事件属性,并加快捷键
  7. string_View理解与用法(一)
  8. 使用 .NET 进行游戏开发
  9. QT中如何实现Thread与GUI的主线程连通
  10. 深入浅出Mybatis系列(七)---mapper映射文件配置之insert、update、delete
  11. LA 4794 状态DP+子集枚举
  12. oracle not like优化,Oracle中的like优化
  13. 【CS224N-2019】斯坦福CS224N-2019自然语言处理----作业详解
  14. 很重要,padding margin百分比按照父元素width作为参照物
  15. 曾被尊称为“教父级”人物的郭盛华,现在到底怎么样了?
  16. 笔记本 安装服务器系统,笔记本电脑安装Windows Server 2016之我见
  17. 计算机网络序号是什么,Excel序号是什么 Excel序号详细介绍
  18. ubuntu14.04安装Y430P-GTX850M的nvidia驱动和cuda-8.0
  19. 宝宝大战落幕,互联网金融二战爆发
  20. 自旋锁为什么不适用于单处理器系统

热门文章

  1. linux备份目录命令tar,Linux中使用tar命令备份与还原数据
  2. Python爬虫用到的一些浏览器代理标识
  3. 极光推送入门教程-后端
  4. 地磁计HMC5883L
  5. angular封装七牛云图片上传,解决同一页面多个上传按钮分别上传
  6. 【Uniapp 原生插件】芯烨云打印机插件
  7. 精心整理10个高逼格的优质素材(视频、图片)网站
  8. 中国行政村边界数据、乡镇街道边界
  9. 2018-2019-1 20165211 20165230 20165208 实验二 固件程序设计-1
  10. Arcgis 区位图绘制