基于正交投影的实时三维人体姿态估计

news2024/11/17 17:25:37

王亦洲课题组 ECCV 2022 入选论文解读:基于正交投影的实时三维人体姿态估计

 本文是对发表于计算机视觉领域顶级会议 ECCV 2022的论文 Faster VoxelPose: Real-time 3D Human Pose Estimation by Orthographic Projection 的解读。该论文由北京大学王亦洲课题组与微软亚洲研究院主管研究员王春雨合作完成,研究了多人多相机三维姿态估计问题。通过将 3D 体素空间的复杂计算分解为 2D 和 1D 特征空间的计算,该方法对此前方法实现了约10倍的提速,达到实时应用的要求。

 论文链接:https://arxiv.org/abs/2207.10955

 代码链接:https://github.com/AlvinYH/Faster-VoxelPose

 01 背景介绍

 多相机视角下的三维人体姿态估计是计算机视觉领域的一个重要任务。相比二维的简单情形,我们还需有效整合不同视角下的信息,从而准确重建三维坐标。而多人的拥挤场景还会带来歧义、遮挡等问题。为应对该挑战,VoxelPose 通过重投影热力图获得体素特征表示,并直接使用 3D CNN 回归坐标,避免了显式的跨视角匹配。然而 3D 卷积网络计算开销巨大,当算法部署到实际大场景中,无法满足如体育教学等应用对实时性的要求。为了提升算法效率,本工作提出了以正交投影(orthogonal projection)为基础的 Faster VoxelPose,消除了耗时的 3D 卷积,使得在姿态估计误差小幅增加的情形下,运行速率提升为原先的十倍左右。

 02 方法概览

 

建立相机视角两两间的点对应是处理三维视觉任务的常见思路,可以在此基础上利用三角几何(triangulation)等方法估计三维人体姿态。然而,这类方法对于每个视角的估计误差较为敏感。相比之下,将产生的热力图重投影到三维空间的做法具有更强的鲁棒性。我们希望保留这个优点,因此沿用了 VoxelPose 的体素特征表示。

  下面我们通过一个简单的单人情形来阐释正交投影的想法。如图2(A) 所示,假设肩关节点 P=(X, Y, Z) 是我们的估计目标。通常来说,由重投影构造的体素特征在该点周围应具有显著的分布模式,能够被 3D 卷积网络所识别。则不难推知,若我们将体素表示投影至三个互相正交的平面(即 xy , xz 和 yz 平面),将得到的二维特征图进行 2D 卷积,对应位置点也应具有较大响应值。将三个平面的估计结果相融合,便可组合出最终的三维坐标。

 

 以上正交投影的方式非常朴素直接。但在拥挤的场景下,往三个平面作投影容易导致不同个体特征的重叠、混淆,从而严重影响估计的精度。受到自顶向下的方法启发,我们可以先框定所有个体的紧的三维检测框,从而过滤掉无关特征。为了快速在三维空间中框定范围,我们利用了一个先验知识:绝大多数情形下,两个人的中心点不会处于同一竖直线上,故无需担心沿 z 轴方向的特征相互干扰。因此我们在特征空间的鸟瞰图(BEV)中定位其水平方向的投影,并固定 bounding box 的竖直高度为2m,如图2(B) 所示。基于以上两个想法,我们分别设计了关节回归网络(Joint Localization Networks, JLN)和人体检测网络(Human Detection Networks, HDN)。

在第一阶段(HDN),我们的网络借鉴了 CenterNet 的设计,在对所有人的中心进行初步估计的同时,还输出偏移量和检测框的长和宽,如图3所示。

 在第二阶段(JLN),我们依据每个人的 3D 检测框构造其体素特征表示,然后利用一个权重网络加权融合三个平面的结果,最终得到每个关节点的坐标估计,如图4所示。

 03 实验结论

我们在 CMU panoptic, Shelf 和 Campus 三个数据集上进行实验。可视化结果如图5所示。这是来自 CMU Panoptic 的测试数据,共有5个相机视角。可以看到,在相机2、4和5均有一个人被遮挡,但最终的中心点识别、bounding box 检测和姿态估计都较为准确。

 我们的实验证明了所提出的方法的优越性,定量结果如下表所示。为了比较的公平性,我们将测试时的 batch size 大小统一设置为1,在相同的 GPU 环境下测定 CMU Panoptic 的平均运行时间。和原版 VoxelPose 相比,我们提出的方法的平均关节误差由17.68mm 上升到18.26mm,0.6mm 的误差在实际应用中通常是可接受的。同时,处理帧率 FPS 提高到约10倍。除此之外,PlaneSweep 需要进行跨视角匹配,时间复杂度和相机数量平方线性相关,而我们的方法只需要进行统一的重投影。当相机数量更多、场景更大时,我们所提出方法的优势会更加明显。

 

 04 总   结

综上所述,在这篇论文中,我们优化了 VoxelPose 的网络结构,将笨重的 3D 卷积替换为 2D 或 1D 卷积,使模型在保持较好性能的前提下实现了明显的加速。实验结果证明了我们方法的有效性,并且能扩展到多相机、大场景的设定。

参考文献

[1] Tu, H., Wang, C., Zeng, W.: Voxelpose: Towards multi-camera 3d human pose estimation in wild environment. In: ECCV (2020).

[2] Lin, J., Lee, G.H.: Multi-view multi-person 3d pose estimation with plane sweep stereo. In: CVPR (2021).

[3] Wang, T., Zhang, J., Cai, Y., Yan, S., Feng, J.: Direct multi-view multi-person 3d human pose estimation. Advances in Neural Information Processing Systems (2021).

[4] Joo, H., Liu, H., Tan, L., Gui, L., Nabbe, B., Matthews, I., Kanade, T., Nobuhara, S., Sheikh, Y.: Panoptic studio: A massively multiview system for social motion capture. In: ICCV (2015).

参考:

王亦洲课题组 ECCV 2022 入选论文解读:基于正交投影的实时三维人体姿态估计-新闻动态-北京大学前沿计算研究中心 (pku.edu.cn)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/11749.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Beam Failure Detection

微信同步更新欢迎关注同名modem协议笔记 正如上篇所述NR中所有的上下行信道的发送和接收都是基于波束。基站通过对信道质量的测量来动态选择UE和基站之间波束的方向和频率,进而完成通信。NR中无线链路检测可以分为两种,一种是4G中常见的radio link mon…

《Linux》day5--ssh——ssh登录与scp传文件

文章目录ssh登录基本用法配置文件密钥登录执行命令scp传文件基本用法使用scp配置其他服务器的vim和tmuxssh登录 基本用法 远程登录服务器。 ssh userhostname其中: user:是用户名hostname:是IP地址或域名 第一次登录会提示: …

城市道路积水识别监测系统

城市道路积水识别监测系统基于机器视觉分析,燧机城市道路积水识别监测系统实时识别街道路面积水情况,对严重积水时立即报警。城市道路积水识别监测系统对低洼区域进行实时监测,一旦城市道路积水识别监测系统监测到街道路面积水时,…

【附源码】Python计算机毕业设计宿舍管理系统设计

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

【雨夜】一次nacos 导致的 CPU 飙高问题

今天下午突然 出现 测试环境 cpu飙高,干到了 60%,其他项目 响应时间明显变长。。。有点吓人,不想背锅 项目背景 出问题的项目是 需要连接各个不同nacos 和不同的 namespace 进行对应操作的 一个项目,对nacos的操作都是httpClien…

OSS(minio使用手册)

minio 官方文档地址:MinIO High Performance Object Storage — MinIO Object Storage for Kubernetes 1.本地客户端下载 1.1 docker 版本: docker pull minio/mc docker run minio/mc ls play docker run -it --entrypoint/bin/sh minio/mc (使用mc客户端操作其他…

2022年数维杯国际大学生数学建模挑战赛C题如何利用大脑结构特征和认知行为特征诊断阿尔茨海默病解题过程

2022年数维杯国际大学生数学建模挑战赛 C题 如何利用大脑结构特征和认知行为特征诊断阿尔茨海默病 原题再现: 阿尔茨海默病(AD)是一种起病隐匿的进行性神经退行性疾病。临床特征为全谱痴呆,包括记忆障碍、失语、流利不畅、失认、…

Qt QJsonObject初始化列表的使用问题

在VS2013Qt5.9.7上&#xff0c;QJsonObject的初始化列表构造函数有BUG QJsonObject::QJsonObject(std::initializer_list<QPair<QString, QJsonValue> > args)注&#xff1a;使用初始化列表前先要开启编译选项Q_COMPILER_INITIALIZER_LISTS 以下代码Debug异常 QJs…

SpringBoot整合tkMapper的版本问题

文章主旨&#xff1a;有问题首先看官网 昨天新建了个Spring Boot工程&#xff0c;版本为2.6.13 想要整合 tk.mapper&#xff0c;就去官网查找依赖&#xff0c;如下&#xff1a; <dependency><groupId>tk.mybatis</groupId><artifactId>mapper</a…

基于sklearn实现LDA主题模型(附实战案例)

目录 LDA主题模型 1.LDA主题模型原理 2.LDA主题模型推演过程 3.sklearn实现LDA主题模型&#xff08;实战&#xff09; 3.1数据集介绍 3.2导入数据 3.3分词处理 3.4文本向量化 3.5构建LDA模型 3.6LDA模型可视化 3.7困惑度 LDA主题模型 1.LDA主题模型原理 其实说到LDA…

web前端大一实训 HTML+CSS+JavaScript王者荣耀(60页) web课程设计网页规划与设计 HTML期末大作业 HTML网页设计结课作业

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

【附源码】计算机毕业设计JAVA房产客户信息管理系统

【附源码】计算机毕业设计JAVA房产客户信息管理系统【附源码】 目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#x…

新唐(nuvoton)MCU软件开发指南—环境搭建设置

新唐MCU软件开发指南—环境搭建设置 1. 下载并安装Arm Keil MDK https://www.nuvoton.com/tool-and-software/ide-and-compiler/keil-download/ 2. 申请免费版的Keil License&#xff0c;并激活 https://www.nuvoton.com/tool-and-software/ide-and-compiler/get-keil-mdk-…

Tableau安装详解及密钥申请

文章目录Tableau介绍下载软件申请密钥安装软件❤️ 作者简介&#xff1a;大家好我是小鱼干儿♛是一个热爱编程、热爱算法的大三学生&#xff0c;蓝桥杯国赛二等奖获得者&#x1f41f; 个人主页 &#xff1a;https://blog.csdn.net/qq_52007481⭐ 个人社区&#xff1a;【小鱼干爱…

Linux系统了解 Samba服务器配置的工作流程

了解 Samba服务器配置的工作流程 当Samba 服务安装完毕&#xff0c;并不是直接可以使用 Windows 或 Linux的客户端访问Samba服务器&#xff0c;还必须对服务器进行设置&#xff1a;告诉 Samba 服务器将哪些目录共享出来给客户端进行访问&#xff0c;并根据需要设置其他选项&…

微服务架构陷阱与挑战

六大陷阱 粒度太细 服务关系复杂 需求分析、方案设计、测试、部署。。。难度都会增加 例如&#xff1a; 分布式服务如何保证数据一致性分析设计的时候需要考虑的影响点变多 团队效率低下 需求分析、方案设计、测试、部署。。。工作量都会增加 例如&#xff1a; 接口设计…

Xintell——全生命周期的模型建设+智能数据中台

在业务反欺诈、运营及数据分析上&#xff0c;经常会涉及到模型。模型就是基于目标群体的大规模采样数据&#xff0c;挖掘出某个实际问题或客观事物的现象本质及运行规律&#xff0c;利用抽象的概念分析存在问题或风险&#xff0c;计算推演出减轻、防范问题或风险的对策过程&…

怎么用手机压缩图片?教给大家三种手机压缩图片方法

如何使用手机把图片的内存进行压缩呢&#xff1f;大家在使用照片的时候&#xff0c;如果照片的内存太大&#xff0c;不仅会占用手机的内存&#xff0c;也会影响一些网站上传图片的操作&#xff0c;因为图片内存太大很多都是上传不了的&#xff0c;为了解决这一问题我们可以将图…

【设计模式】适配器模式:攻敌三分,自留七分,以超兽武装的例子来谈谈适配器模式

文章目录1 适配器模式1.1 定义1.2 结构1.3 类图1.3.1 类适配器模式1.3.2 对象适配器模式2 例子2.1 类适配器模式2.1.1 代码2.1.2 效果图2.2 对象适配器模式2.2.1 代码2.2.2 效果通3 优缺点及适用环境3.1 优点3.2 缺点3.3 适用环境1 适配器模式 1.1 定义 将一个类的接口转换成客…

【深入理解C++】RTTI、dynamic_cast、typeid()

文章目录1.RTTI2.dynamic_cast运算符3.typeid运算符4.RTTI与虚函数表1.RTTI RTTI(Run Time Type Identification)&#xff0c;即运行时类型识别&#xff0c;通过 RTTI&#xff0c;程序能够使用基类的指针或引用来检查这些指针或引用所指的对象的实际派生类型。 RTTI 提供了两…