一.概述

3D人体姿态估计的方法主要分为两类:直接估计(Direct estimation)和 2D 到 3D (2D to 3D lifting) 。

其中 2D 到 3D 的方法先利用 SOTA 2D 人体姿态估计算法得到 2D 关键点,再通过神经网络估计 3D 人体姿态。基于其优异的表现,2D 到 3D 已成为主流方法。

与从单张图片中估计 3D 人体姿态相比,从视频中估计 3D 人体姿态能利用时序信息进行更准确的预测。然而主流方法大多利用时序卷积(Temporal convolutional network)来学习视频的时序信息,其表现往往受制于感受野的大小。

得益于 self-attention 机制,Transformer 能捕捉长时序输入的内在关联,且不受制于其距离。受此启发,我们设计了一种不含卷积的时空 Transformer 的网络结构。

针对多帧输入,其中 spatial transformer 能提取每帧 2D 骨架中的人体关节联系,temporal transformer 能捕捉多帧信息的时间相关性,最后输出中间帧的准确3D人体姿态。

二.模型

如何将transformer运用在视频流中的3D人体姿态估计中是本文的一大创新

上图是文中提到的两种设想的baseline,也是最容易想到的使用transformer进行人体姿态估计的方法,(a)是将每一帧图像中的17个关节坐标作为一个token,然后将给定帧数的图像送入transformer中,这样的方法将注意力集中在了不同帧之间,也就是时间维度,对于空间维度(关节点与关节点之间的联系)并没有考虑到注意力机制。

于是自然地想到可以将每一帧的每个关节坐标作为一个token,这样就既考虑到了空间上的注意力也考虑到了事件维度上的注意力的关系,如(b)所示,但是带来的问题就是token过多,这会需求极大的内存,显然是不合理的,于是本文将空间和时间的注意力提取分开,设计了一种新的结构:

与VIT中的结构类似,理解起来也较为容易,其中先进行Spatial transformer,token为一帧中的每个关节点坐标,经过encoder后可以得到一个feature,然后将给定的帧数的每一帧经过Spatial transformer分别得到一个feature,然后将feature送入temporal transformer中,在经过类似的操作最终得到3D的姿态。

三.细节部分

Spatial transformer和temporal transformer都使用了位置向量进行嵌入

不同于VIT额外学习一个用于分类的token,本文中是将得到的feature通过求均值将其变为一维向量,然后通过MLP层进行回归得到3D pose

使用了多头注意力机制

损失函数使用MPJPE损失

四.结果

红色数据表示最好,蓝色数据表示次好,MPJPE指标越小表示与groundtrue的差距越小

消融实验:

注意力的可视化结果:

五.总结

本文将transformer分别用在事件维度和空间维度上,在从2D视频中估计3D姿势的工作上得到了sota的效果,一方面依赖于2D姿态检测的技术较为成熟,另一方面依赖于引入的注意力机制,但是对于有遮挡的姿态估计还是会出现预测的错误,这往往是由于2D姿态估计是产生错误导致的,也就导致后续的3D姿态估计工作出现错误。

3D Human Pose Estimation with Spatial and Temporal Transformers论文笔记相关推荐

  1. 【论文笔记】3D Human Pose Estimation with Spatial and Temporal Transformers

    论文链接:https://arxiv.org/pdf/2103.10455.pdf github地址:https://github.com/zczcwh/PoseFormer 1. 方法归类 3d h ...

  2. 论文笔记--3D Human Pose Estimation with Spatial and Temporal Transformers(用空间和时间变换器进行三维人体姿势估计)

    用空间和时间变换器进行三维人体姿势估计 摘要   Transformer架构已经成为自然语言处理中的首选模型,现在正被引入计算机视觉任务中,如图像分类.物体检测和语义分割.然而,在人类姿势估计领域,卷 ...

  3. 论文笔记--3D human pose estimation in video with temporal convolutions and semi-supervised training

    3D human pose estimation in video with temporal convolutions and semi-supervised training(利用时间卷积和半监督 ...

  4. 视频中的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 ...

  5. 3D Human Pose Estimation with 2D Marginal Heatmaps

    3D Human Pose Estimation with 2D Marginal Heatmaps 一. 论文简介 主要做的贡献如下(可能之前有人已提出): 使用2Dheatmap代替3Dheatm ...

  6. 2D/3D人体姿态估计 (2D/3D Human Pose Estimation)

    1. 基本概念 算法改进入口 网络设计 特征流 损失函数 数据集的重要性:只要有一个好的.针对性的数据集,问题都可以解决 过集成新一代AutoML技术,可降低算法试错成本 人体姿态估计(Human P ...

  7. 《Towards Viewpoint Invariant 3D Human Pose Estimation》--深度图领域人体姿态估计的CNN算法

    <Towards Viewpoint Invariant 3D Human Pose Estimation>–深度图领域人体姿态估计的CNN算法 这篇文章是ECCV 2016的一篇3D人体 ...

  8. 论文阅读 [TPAMI-2022] Locally Connected Network for Monocular 3D Human Pose Estimation

    论文阅读 [TPAMI-2022] Locally Connected Network for Monocular 3D Human Pose Estimation 论文搜索(studyai.com) ...

  9. 论文阅读: 3D Human Pose Estimation in the Wild by Adversarial Learning

    论文地址:https://arxiv.org/abs/1803.09722 出自港中文,CUHK-SenseTime Joint Lab 一.总体框架描述 1.本篇论文主体思路是提出了一个对抗性的学习 ...

最新文章

  1. 计算机视觉常用图像数据集标记平台
  2. SP3946 MKTHNUM - K-th Number(整体二分)
  3. keepalived重新加载配置——不用重启不发生切换
  4. 解决微信小程序 [Component] slot ““ is not found.
  5. 说说计算机发展史在你印象里都有哪些内容,《老王》导学案及答案
  6. OPENWRT的串口初试
  7. 某程序员9点离岗被主管罚款200,写bug扣光主管年终奖?
  8. 将图片上传到数据库 因File.Open遭遇System.UnauthorizedAccessException
  9. VSS 2005,项目解决方案重新签入管理的方法
  10. ubuntu16.04.4环境下mingw32交叉编译环境搭建
  11. 【Excel】如何去掉编辑栏
  12. 在pfSense上搭建透明网桥
  13. 【小工具】用js自动生成pdf目录索引
  14. Python -- 使用if语句处理列表
  15. 树莓派——槑槑智能音箱
  16. 什么是latch以及如何导致latch争用
  17. 小鸟云服务器登录密码忘记了怎么办?
  18. Latex常用符号表
  19. 电脑重装系统如何安装
  20. 人教版三年级计算机教学计划,2017人教版三年级信息技术教学计划范文

热门文章

  1. ABAP总结之二,BDC完整版
  2. matlab 三维图 输出,MATLAB三维曲线图绘制并输出到指定文件夹(突出几组不同数据)...
  3. ableton live10中文版|音乐制作软件 附安装教程
  4. php伪协议xss,XSS漏洞学习
  5. iPhoneXR过于廉价,iPhoneX或许成为畅销的手机
  6. antdesignpro ProTable 搜索模式自定义搜索字段
  7. dio java_Flutter -------- dio网络请求
  8. canvas绘制虚线图表
  9. 如何在谷歌地球上画路线或者运动轨迹?根据纬经高信息在谷歌地球Google earth中画运动轨迹,首先将Excel文件纬经高信息转换为.csv文件,再转换为.kml文件,最终在谷歌地球中显示。
  10. java中Hashset集合删除元素_从Java中的HashSet中删除单个元素