第二十二周周报

news2024/9/29 5:22:51

论文研读: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.coloradmin.cn/o/1506544.html

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

相关文章

也就老炮知道:UI设计师和前端,以前叫美工和切片。

过去,UI设计师常常被称为美工,而前端开发人员被称为切片工。这是因为在过去的网页设计中,UI设计师主要负责设计网页的外观和用户界面,包括颜色、布局、图标等,类似于传统的美工工作。而前端开发人员则负责将UI设计师提…

搭建nacos集群,并通过nginx实现负载均衡

nacos、eureka、consul、zookeeper等都是常用的微服务注册中心,这篇文章详细介绍一下在Ubuntu操作系统上搭建一个nacos的集群,以及通过nginx的反向代理功能实现nacos的负载均衡。 目录 一、安装nacos 1、安装nacos 2、修改nacos配置文件 3、创建naco…

Cocos Creator 2d光照

godot游戏引擎是有2d光照的,用起来感觉还是很强大的,不知道他是怎么搞的,有时间看看他们怎么实现的。 之前一直以为cocos社区里面没有2d光照的实现,偶然看到2d实现的具体逻辑,现在整理如下, 一&#xff1…

Spring Boot 中解决跨域的多种方式

Spring Boot 中解决跨域的多种方式 《踏过跨域障碍:Spring Boot 中解决跨域的多种方式》摘要引言正文何为跨域跨域问题出现特征方式一:使用 CrossOrigin 注解方式二:自定义 WebMvcConfigurer方式三:使用 Filter 进行跨域配置 结论…

java之lombok

Lombok是一个实用的java类库&#xff0c;能通过注解的形式自动生成构造器&#xff0c; getter setter equsls hashcode tostring等方法 并且可以自动化生成日志变量&#xff0c;简化java开发&#xff0c;提高效率 作用 导入 <dependency><groupId>org.projectlomb…

集合框架(一)Set系列集合

Set<E>是一个接口 特点 无序&#xff1a;添加数据的顺序和获取出的数据顺序不一致&#xff1b;不重复&#xff0c;无索引 注意&#xff1a;Set要用到的常用方法&#xff0c;基本上就是collection提供的!自己几乎没有额外新增一些常用功能! HashSet集合的底层原理 前置知…

我们的一生都是在挤火车。

哈喽&#xff0c;你好啊&#xff0c;我是雷工&#xff01; 昨天从燕郊坐火车回石家庄&#xff0c;由于赶上元旦假期&#xff0c;所有高铁票都售罄&#xff0c;一张普通火车票&#xff0c;还是一周前就买才买到的。 从燕郊站&#xff0c;到北京站&#xff0c;然后地铁去北京西站…

C++虚继承的一些细节

C虚继承的一些细节 何时使用虚继承普通继承的类对象布局虚继承类对象布局虚函数表指针虚函数表内容 何时使用虚继承 看代码&#xff0c;代码主要是菱形继承&#xff0c;base里面的成员变量会存在二义性 #include<iostream> using namespace std;class base { public:in…

【机器学习】从线性回归模型看一个简单的成本函数

&#x1f338;博主主页&#xff1a;釉色清风&#x1f338;文章专栏&#xff1a;机器学习&#x1f338;今日语录&#xff1a;事情不做&#xff0c;越想越难&#xff1b;事情做了&#xff0c;越做越容易。 从线性回归模型看一个简单的成本函数 &#x1f33c;引入&#xff1a;模型…

基于SpringBoo的火车订票管理系统(程序+文档+数据库)

** &#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;** 一、研究背景…

2024年【G2电站锅炉司炉】考试题及G2电站锅炉司炉证考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年【G2电站锅炉司炉】考试题及G2电站锅炉司炉证考试&#xff0c;包含G2电站锅炉司炉考试题答案和解析及G2电站锅炉司炉证考试练习。安全生产模拟考试一点通结合国家G2电站锅炉司炉考试最新大纲及G2电站锅炉司炉考…

LVS (Linux Virtual server)集群介绍

一 集群和分布式 &#xff08;一&#xff09;系统性能扩展方式&#xff1a; Scale UP&#xff1a;垂直扩展&#xff0c;向上扩展,增强&#xff0c;性能更强的计算机运行同样的服务 &#xff08;即升级单机的硬件设备&#xff09; Scale Out&#xff1a;水平扩展&#xff0…

Python 学会typing的类型注解面向泛型编程

文章目录 文章开篇typing模块简介typing模块作用基本类型注解1.不使用类型注解2.使用类型注解 泛型1.List2.Tuple3.Set4.Dict 特殊类型1.Any2. Union2. Optional4. Callable 类型别名1.TypeVar2. NewType 更多技巧1.NoReturn和None2.Sequence3. Generator 总结 文章开篇 Python…

VUE_自适应布局lib-flexible+postcss-pxtorem、lib-flexible + postcss-px2rem,nuxt页面自适配

lib-flexible postcss-pxtorem适配 我采用的是flexable.js和postcss-pxtorem。我一开始用的是postcss-px2rem后来发现和nuxt引入公共css的时候发生了冲突所以改用了postcss-pxtorem。 安装依赖 npm i lib-flexible -S npm install postcss-pxtorem --save 1、lib-flexible.…

怎么在学习强国网上发布文章,学习强国投稿发稿方法途径,附学习强国多少钱价格明细表

学习强国是一款受用户欢迎的学习软件&#xff0c;许多人希望在其平台上发布自己的文章&#xff0c;以分享和传播自己的学习成果和心得体会。那么&#xff0c;怎么在学习强国网上发布文章呢&#xff1f;接下来&#xff0c;我们将介绍一些投稿发稿的方法和途径。 首先&#xff0c…

蓝桥杯刷题5--GCD和LCM

目录 1. GCD 1.1 性质 1.2 代码实现 2. LCM 2.1 代码实现 3. 习题 3.1 等差数列 3.2 Hankson的趣味题 3.3 最大比例 3.4 GCD 1. GCD 整数a和b的最大公约数是能同时整除a和b的最大整数&#xff0c;记为gcd(a, b) 1.1 性质 GCD有关的题目一般会考核GCD的性质。   …

Java开发从入门到精通(一):Java的进阶语法知识

Java大数据开发和安全开发 Java的方法1.1 方法是什么1.1.1 方法的定义1.1.2 方法如何执行?1.1.3 方法定义时注意点1.1.4 使用方法的好处是? 1.2 方法的多种形式1.2.1 无参数 无返回值1.2.2 有参数 无返回值 1.3 方法使用时的常见问题1.4 方法的设计案例1.4.1 计算1-n的和1.4.…

代码随想录刷题笔记 DAY 42 | 最后一块石头的重量 II No.1049 | 目标和 No.494 | 一和零 No.474

文章目录 Day 4301. 最后一块石头的重量 II&#xff08;No. 1049&#xff09;<1> 题目<2> 笔记<3> 代码 02. 目标和&#xff08;No. 494&#xff09;<1> 题目<2> 笔记<3> 代码 03. 一和零&#xff08;No. 474&#xff09;<1> 题目&l…

知名比特币质押协议项目Babylon确认参加Hack.Summit()2024区块链开发者大会

Babylon项目已确认将派遣其项目代表出席2024年在香港数码港举办的Hack.Summit()2024区块链开发者大会。作为比特币生态的领军项目&#xff0c;Babylon积极参与全球区块链领域的交流与合作&#xff0c;此次出席大会将为其提供一个展示项目进展、交流技术与创新思路的重要平台。B…

ssm游戏社交网站-计算机毕业设计源码05667

目 录 摘要 1 绪论 1.1 研究意义 1.2研究方法 1.3ssm框架 1.4论文结构与章节安排 2 2 游戏社交网站系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据增加流程 2.2.2 数据修改流程 2.2.3数据删除流程 2.3 系统功能分析 2.3.1功能性分析 2.3.2非功能性分析 2…