第二十二周周报

论文研读:Camera Distance-aware Top-down Approach for 3D Multi-person Pose

Estimation from a Single RGB Image

粗读10篇文献。

在这里插入图片描述

通过图2 我可以知道这个论文大概实现的这个姿态估计效果的方法,首先是把图片输入到DetectNet网络,该网络的作用是将人从图片中识别出来,然后根据识别出来的人物框图,分别送入到RootNet和PoseNet网络中去,RootNet是根节点识别网络,能够将这个图像的根节点信息估计出来,得到根节点的坐标(x,y,z)。PoseNet网络是来估计人的姿态,估计出的也是人的3d姿态。最后整合整个图的对应的3d人体姿态的空间系。

LCR-net:单张图的进行3d多人姿态估计的。

(对抗性)Wei Yang, Wanli Ouyang, Xiaolong Wang, Jimmy Ren,
Hongsheng Li, and Xiaogang Wang. 3d human pose esti-
mation in the wild by adversarial learning. In CVPR, 2018.

联合训练姿势回归和身体部位检测器的多任务框架。

Sijin Li and Antoni B Chan. 3d human pose estimation from
monocular images with deep convolutional neural network.
In ACCV, 2014.

自身编码器结构对高维关节依赖进行建模。

Bugra Tekin, Isinsu Katircioglu, Mathieu Salzmann, Vincent
Lepetit, and Pascal Fua. Structured prediction of 3d human
pose with deep neural networks. BMVC, 2016.

单阶段和两阶段方法。

贡献:

1.一种新的通用框架,用于从单个RGB图像中估计3D多人姿势。该框架是第一个完全基于学习的、相机距离感知的自上而下方法。

2.作者的框架输出多个人体关键点的绝对以相机为中心的坐标。为此,提出了一个3D人体根部定位网络(RootNet)。该模型可以很容易地将3D单人姿态估计技术扩展到多人的绝对3D姿态估计。

3.在几个公开可用的数据集上显著优于以前的3d多人姿态估计。

模型概述:

该方法由DetectNet、Root-Net和PoseNet组成。DetectNet检测输入图像中每个人的人类绑定框。
RootNet从DetectNet上截取人的图像,并定位人的根R =(xR,yR,ZR),其中xR和yR是像素坐标,ZR是绝对深度值。将相同的裁剪后的人体图像馈送到PoseNet,它估计根相对三维姿态Prelj = (xj, yj, Zjrel),其中xj和yj是裁剪后的图像空间中的像素坐标,Zjrel是根相对深度值。我们将Zjrel转换为Zjabs,方法是在原始输入图像空间中加入ZR并变换xj和yj。然后,通过简单的反投影得到最终的绝对3D位姿{Pabsj}Jj=1。

DetectNet

第一部分是backbone,通过使用深度残差网络(ResNet)[12]和特征金字塔网络从输入图像中提取有用的局部和全局特征。基于提取的特征,

第二部分,区域提议网络,提出人类边界框候选。

RoIAlign层提取每个提议的特征并将它们传递给第三部分,即分类头网络。头部网络判断给定的提议是否为人类,并估计边界框的细化偏移量。

RootNet

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

这个是解释了k的方程的由来,其实就是用了小孔成像的原理,用相似三角形,在已知相机的焦距情况下,

+在这里插入图片描述

在这里插入图片描述

图4说明了,在不同的实际面积情况下,相同的距离;相同的实际面积和不同的距相机的距离。这也就说明如果单纯用假设实际面积和其在图片中的边界框里之间的比值来模拟实际的深度信息是存在问题的,如上图4a所示,蹲下的小孩距离相机显然是比站起的小孩近的,因此存在问题的。

网络结构

在这里插入图片描述

RootNet的网络架构由三个组件组成,

骨干网使用ResNet提取输入人体图像的有用全局特征。

其次,二维图像坐标估计部分从主干部分提取特征映射,并使用三个连续的去卷积层进行上采样,使用批处理归一化层和ReLU激活函数。然后,
应用1 × 1卷积生成根的2D热图。Soft-argmax从2D热图中提取2D图像坐标xR,yR。

第三个组件是深度估计部分。它也从骨干部分取一个特征图,应用全局平均池化。然后,池化后的特征图经过1 × 1的卷积,输出单个标量值γ。最后的绝对深度值ZR通过k乘以√ γ得1到。在实践中,我们实现了RootNet输出γ0并将其与k相乘以获得绝对深度值ZR=ZR = γ’k。

损失函数:我们通过最小化估计坐标和groundtruth坐标之间的L1距离来训练RootNet。损失函数Lroot定义如下:

在这里插入图片描述

其中*表示接地真值。

PoseNet

第一部分是主干,利用ResNet从裁剪后的人类图像中提取有用的全局特征。其次,姿态估计部分从主干部分提取特征映射,并使用三个连续的反卷积层对其进行上采样,并使用批处理归一化层和ReLU激活函数。对上采样的特征图进行1 × 1卷积,生成每个关节的3D热图。使用soft-argmax操作提取二维图像坐标(xj,yj)和根相对深度值Zjrel。

实验

数据集与评价指标:

1.Human3.6m:首先用MPJPE来衡量关键点预测的误差:。第一个是平均每个关节位置误差
(MPJPE),它是在对估计的和真实的三维姿态的人根对齐后计算的;第二个是进一步校准后的MPJPE。这个度量被称为PA-MPJPE。为了评估绝对三维人体根的定位,我们引入根R的估计坐标与基真R *之间的欧几里得距离的平均
值,即根位置误差的平均值(MRPE)作为一个新的度量。

在这里插入图片描述

其中上标i为样本指标,N为测试样本总数。

2.MuCo-3DHP和MuPoTS-3D数据集:为了进行评估,在与groundt
ruth进行根对齐后,使用来自各种阈值的正确关键点的3D百分比(3DPCKrel
)和3DPCK曲线下的面积。当预测值与真实坐标之间的欧几里得距离小于25cm时,认为预测值的平均精度(AP25root)是正确的。

3.方案:(1)方案1使用6名受试者(S1、S5、S6、S7、S8、S9)进
行训练,S11进行测试。PA MPJPE用作评估指标。
方案2使用5名受试者(S1、S5、S6、S7、S8)进行训练,
2名受试者(S9、S11)进行测试。MPJPE被用作评估指
标。我们在视频中每隔第5帧和第64帧进行训练和测
试,分别如下[43,44]。在训练时,除了Human3.6M数
据集外,我们还使用了后续的MPII 2D人体姿态估计
数据集[1][37,43,44,52]。每个小批由一半Human3.6M
数据和一半MPII数据组成。对于MPII数据,在Sun et
al.[44]之后,RootNet和PoseNet的z轴损失值都变为零。

(2)MuCo-3DHP和MuPoTS-3D数据集。按照之前的协议,我们合成了400K帧,其中一半是背景增强的。为了增强,我们使用COCO数据集中的图像,除了人类图像。在Mehta等人的MuCo-3DHP数据集上训练我们的模型时,我们使用了额外的COCO 2D人类关键点检测数据集。每个小批由一半MuCo-3DHP和一半COCO数据组成。对于COCO数据,在Sun et al.之后,RootNet和PoseNet的z轴损失值都变为零。

消融研究

在这里插入图片描述

将RootNet和PoseNet组合成一个共享骨干部分的单一模型(即ResNet)。来自主干的图像特征以并行方式馈送到RootNet和PoseNet的每个分支。与联合学习相比,在相似的运行时间下,作者的脱节学习给出了更低的误差。作者认为这是因为RootNet和PoseNet的每个任务不是高度相关的,所以联合训练所有的任务会增加训练的难度,导致准确率降低。

DetectNet的作用。为了展示人体检测的性能如何影响最终的3D人体根定位和3D多个人姿态估计的准确性,我们在表2的第二,第三和第四行中使用DetectNet在各种主干(即ResNet-50 [48], ResNeXt-101-32[48]) 和 groundtruth box 中比较了aprot25, AUCrel和3dpckab。由表可知,基于相同的RootNet,更好的人体检测模型提高了三维人体根定位和三维多人姿态估计的性能。然而,与其他Detect-Net模型相比,groundtruth box并没有显著提高整体精度。因此,我们有足够的理由相信,给定的框覆盖了大多数具有如此高检测AP的人实例。我们也可以得出结论,边界框估计精度对3D多人姿态估计精度没有太大的影响。

RootNet的影响。为了展示3D人体根定位的性能如
何影响3D多人姿势估计的准确性,我们使用表2中的各
种RootNet设置比较AUCrel和3DPCKabs。第一行和第二行
显示,基于相同的DetectNet,我们的RootNet显示出显着与直接使用k作为深度值的设置相比,aprot25和3dpckab更高。当k用作深度值时,我们使用RootNet的x和y。这个结果表明,RootNet成功地纠正了k值。第四行和最后
一行显示,与我们的RootNet相比,groundtruth人类根提
供了类似的AUCrel,但显着更高3DPCKabs
。这一发现表明,为了获得更准确的绝对3D多人姿态估计结果,需
要更好的人类根定位。

PoseNet的影响。表2中的所有设置都提供类似
AUCrel。特别是,表的第一行和最后一行显示,使用
groundtruth box和human root并没有提供明显更高的
AUCrel。
由于表中的结果是基于相同的PoseNet,我们可
以得出结论,AUCrel,这是对根相对3D人体姿态估计的
评估,高度依赖于PoseNet的准确性。

论文研读:BlazePose: On-device Real-time Body Pose tracking

摘要:

提出了BlazePose,这是一种用于人体姿势估计的轻量级卷积神经网络架构,专为移动设备上的实时推理而定制。在推理过程中,该网络为单个人生成33 个身体关键点,并在Pixel 2 手机上以每秒30 帧以上的速度运行。这使得它特别适合于健身跟踪和手语识别等实时用例。

贡献:

我们的主要贡献包括一个新颖的身体姿势跟踪解决方案和一个轻量级的身体姿势估计神经网络,它同时使用热图和回归到关键点坐标。

在这里插入图片描述

图1意思是,这一帧的目标位置(锚框)是由上一帧来的,也就是说不是每一帧都是执行Face detector识别人要检测的人,触发face detector的条件是当整个画面没有锚框时,再把当前帧送入face detector中,获得锚框。

在这里插入图片描述

在目标检测中,我们多数使用的是NMS,非极大值抑制的方法(生成很多框,取交并比最大的)去得到合适的锚框,但是这种方法是适合于刚性物体。而人体是非刚性的物体,比如说人招手、拥抱的时候,这个锚框就没法被交并比来筛选出来。因此作者们提出了一个观点:在单人人体检测中,即对于我们的单人用例,人的头部应该总是可见的。而人的脸是特征很鲜明的,五官位置也相当固定的,两个眼睛一个鼻子,相对位置信息是比较全面的。作者使用了一个人脸检测器,并且它还能识别出人的肩膀的中部和臀部的连线。这样所构成的圆圈,能够包含整个人体进去。

在这里插入图片描述

网络结构

仅在训练阶段使用热图和偏移损失,并在运行推理之前从模型中删除相应的输出层。因此,我们有效地使用热图来监督轻量嵌入,然后由回归编码器网络利用。训练用两个方法,预测用一个方法(回归),减少了计算量。**由图可以见,不同层块是进行跨层连接的,这样做的好处是,既发挥深层网络的语义信息,又能发挥浅层网络提取出的边缘、细粒度等底层的图像信息。图片中的实线是能够反向回传梯度的,虚线是不能回传的。**这个结构是受沙漏文献的启发。

对齐和咬合增强

在这里插入图片描述

作者认为在关键点检测中至关重要的是姿势的先验,也就是能否正确输入检测框,检测框的位置是精确的。因此需要对检测框进行处理。作者提出了对齐的操作。基于检测阶段或前一帧关键点,对人进行对齐,使臀部之间的点位于作为神经网络输入传递的方形图像的中心。估计旋转为臀部中部和肩部中部点之间的直线 L,并旋转图像,使 L 平行于 y 轴。对尺度进行估计,使所有的身体点都适合在身体周围划定的方形边界框中,如所示。最重要的是,应用 10%的缩放和移位增强,以确保跟踪器处理帧之间的身体运动和扭曲的对齐。

实验

手动标注了两个数据集,AR 数据集,而第二个数据集仅由瑜伽/健身姿势组成,使用了MS coco支持的17个关键点,用预测关键点和目标实际的关键点之间的欧氏距离来判断预测精确度。如果小于如果二维欧几里得误差小于相应人躯干尺寸的 20%,我们假设正确检测到的点。

我们训练了两个不同容量的模型:BlazePose Full (6.9MFlop, 3.5M Params)和 BlazePose Lite (2.7 MFlop, 1.3MParams)。尽管我们的模型表现出比 OpenPose 模型稍差的性能在 AR 数据集上,BlazePose Full 在瑜伽/健身用例上优于OpenPose。与此同时,BlazePose 在单个中间层手机 CPU上的执行速度比在 20 核桌面 CPU 上的 OpenPose 快 25-75倍,具体取决于所要求的质量。

在这里插入图片描述

BlazePose的两个大小模型与OpenPose在两个数据集的效果对比。其实精度是差不多的,但是帧数得到大幅度提升,因此这个方法可以用于轻量化应用。

本周总结:花了大量的时间在准备复现Camera Distance-aware Top-down Approach for 3D Multi-person Pose Estimation from a Single RGB Image上,最终因数据集没下载好,导致只能跑demo,没有办法自己训练走一编流程。下周安排,找一篇容易复现的文献,粗读2013年左右的文章。

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

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

相关文章

Python批量提取Word文档表格数据

在大数据处理与信息抽取领域中,Word文档是各类机构和个人普遍采用的一种信息存储格式,其中包含了大量的结构化和半结构化数据,如各类报告、调查问卷结果、项目计划等。这些文档中的表格往往承载了关键的数据信息,如统计数据、项目…

打破信息差,计算机专业必须知道的进大厂的方式

现在的信息茧房有多可怕,如果你提前知道这几个进大厂实习的方法,你将超越百分之九十的大学生。 一、高校就业指导中心 大学生们找实习可以从本校高校就业指导中心网站上找,这个渠道建议重点关注下,此类渠道推荐的实习机会&#…

B2B2C电商系统源代码部署,让你轻松开启网店生意

在当今数字化时代,开设一家网店已经变得异常简单。借助B2B2C电商系统源代码部署,你可以轻松搭建自己的在线商城,开始网店生意。这种系统为企业提供了一个强大的平台,让他们可以直接与制造商和消费者进行交易,从而实现品…

ETL的数据挖掘方式

ETL的基本概念 数据抽取(Extraction):从不同源头系统中获取所需数据的步骤。比如从mysql中拿取数据就是一种简单的抽取动作,从API接口拿取数据也是。 数据转换(Transformation):清洗、整合和转…

Java项目:46 ssm005基于SSM框架的购物商城系统+jsp(含文档)

作者主页:舒克日记 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 项目是单体ssm电商水果平台,包括前台商城平台及后台管理系统 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流…

连接端口和连接端口转换OrCAD补丁

来介绍此功能之前先复习一下一些OrCAD的基础知识。 说到连通两个器件,有什么办法呢?最直接的就是用线连通。比如下面这两个器件需要连通,我们可以直接用线Place wire连接。 但是如果这两个器件由于某些原因,他们之间相隔很远&…

c# 使用 Oxyplot 创建和绘制 ContourSeries

我有一个 WPF 应用程序,我需要在其中可视化 y y(x1, x2),其中 x1、x2 是线性坐标。我可以使用 Oxyplot 中的 HeatMapSeries 来做到这一点,但是当我想在同一窗口中绘制两组数据时,热图不是合适的工具。几个轮廓系列会更好。 现在&…

MS5583N高分辨率模数转换器

产品简述 MS5583N 是一款高分辨率模数转换器,内部集 成高阶 Σ-Δ 调制器、低噪声可编程增益放大器、多 路输入选择器和多种内部数字滤波器。其转换速率 从 250SPS 到 4kSPS 。此外,芯片内部集成失调校准 寄存器和增益校准寄存器。 MS5583N …

haproxy-高性能负载均衡反向代理服务

目录 一、HAProxy(High Availability Proxy)概述 1、HAProxy的概念 2、HAProxy的主要特性 3、HAProxy的优缺点 4、Haproxy负载均衡策略 5、LVS、nginx、HAProxy的区别 二、安装HAProxy 1、yum安装 2、第三方rpm包安装 3、编译安装 3.1 解决 l…

day52 动态规划part13● 300.最长递增子序列 ● 674. 最长连续递增序列 ● 718. 最长重复子数组

考虑到一般动态规划的写法是n方,为了降低复杂度,考虑每次假如选择当前数dp[i]对应最长的序列,就找前面上一个数(已经做递推的时候记录了上一个数的比他小的一个数,因为等于上一个比他小的数的序列长度(已经…

寻找峰值(二分查找思想)

解法一&#xff1a;暴力求解 int findPeakElement(int* nums, int numsLen ) {// write code herefor (int i 1; i < numsLen - 1; i) {if ((nums[i] > nums[i - 1]) && (nums[i] > nums[i1])) {return i;}}if (nums[numsLen - 1] > nums[numsLen - 2]) …

蓝桥杯练习系统(算法训练)ALGO-980 斐波那契串

资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;10.0s Java时间限制&#xff1a;30.0s Python时间限制&#xff1a;50.0s 问题描述 斐波那契串由下列规则生成&#xff1a;   F[0] "0";   F[1] "1";   F[n] F[n-1] F[n-2]…

鸿蒙开发为什么这么火,现在入行鸿蒙是否来的及?

鸿蒙开发是当前备受关注的技术领域之一&#xff0c;对于想要入门学习鸿蒙开发的初学者来说&#xff0c;需要掌握一定的基础知识和技能。鸿蒙开发又是否能为程序员们带来一片光明的未来呢&#xff1f;让我们一同探讨这些问题。 对于初学者来说&#xff0c;鸿蒙开发是否易于上手呢…

MySQL基础-----多表关系与查询概述

目录 前言 一、多表关系 1.一对多 2.多对多 3.一对一 二、多表查询概述 1.概述 2.笛卡尔积 3.分类 前言 本期我们开始学习新的章节&#xff0c;也就是MySQL的多表关系与查询&#xff0c;在本期主要是讲述概念性的东西&#xff0c;大概介绍多表关系是什么&#xff0c;为什…

应用方案 | D54123B低功耗漏电保护电路

概 述 A&#xff09;、D54123B是一款高性能 CMOS 漏电保护器专用电路。芯片内部包含稳压电源、放大电路、比较器电路、延时电路、计数器电路、跳闸控制电路及跳闸驱动电路。芯片外围应用有脱扣线圈、压敏电阻、稳压二级管、二级管、电阻、电容等元器件。 B&#xff09;、内部…

基于SSM SpringBoot vue家教交流平台

基于SSM SpringBoot vue家教交流平台 系统功能 管理员登录 家长登录注册 学生登录注册 教师登录注册 个人中心 家长信息管理 学生信息管理 教师信息管理 招聘家教管理 应聘家教管理 确认招聘管理 论坛管理 系统管理 我的收藏管理 管理员管理 开发环境和技术 开发语言&#x…

宏任务与微任务:JavaScript异步编程的秘密

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

高等数学常用公式

高等数学常用公式 文章目录 内容大纲 内容 大纲 感谢观看 期待关注 有问题的小伙伴请在下方留言&#xff0c;喜欢就点个赞吧

并发容器介绍(二)

并发容器介绍&#xff08;二&#xff09; 文章目录 并发容器介绍&#xff08;二&#xff09;BlockingQueueBlockingQueue 简介ArrayBlockingQueueLinkedBlockingQueuePriorityBlockingQueue ConcurrentSkipListMap 文章来自Java Guide 用于学习如有侵权&#xff0c;立即删除 Bl…

YOLO V9 C++版本部署

文章目录 一、环境配置二、编译三、运行yolo四、测试效果 一、环境配置 下载MNN git clone https://github.com/alibaba/MNN.git下载MNN-YOLO git clone https://github.com/wangzhaode/mnn-yolo.git二、编译 ### compile mnn ### cd MNN mkdir build_s cd build_s/ cmake …