当前位置: 首页 > news >正文

论文阅读:《Deep Learning-Based Human Pose Estimation: A Survey》——Part 1:2D HPE

目录

人体姿态识别概述

论文框架

HPE分类

人体建模模型

二维单人姿态估计

回归方法

目前发展

优化

基于热图的方法

基于CNN的几个网络

利用身体结构信息提供构建HPE网络

视频序列中的人体姿态估计

2D多人姿态识别

方法

自上而下

自下而上

2D HPE 总结

数据集和评估指标

2D HPE 数据集

2D HPE 评价指标

2D HPE 方法性能的比较

单人2D HPE

多人2D HPE

未来展望


人体姿态识别概述

应用模块:人机交互、运动分析、增强现实、虚拟现实

目的:精确的估计关节位置和姿势信息

存在问题:姿势变化、遮挡、尺度变化、训练数据不足、深度模糊

论文框架

HPE分类

2D HPE:通过在2D图像或视频中估计姿势

3D HPE:三维空间中完成更复杂的任务,尤其是真实环境中。

基于单人

 1. 回归:基于深度学习回归直接将输入图像到人体关节坐标进行映射

 2. 身体部位检测:

         (1)生成关键点(关节)的热图用于身体部位定位;

         (2)将检测到的关键点组装成整个身体的姿势或骨架

基于多人

 1. 自上而下:先检测人,然后利用单人HPE预测每个人的关键点来构造人体姿势

 2. 自下而上:先检测身体关键点,然后将关键点组合成单独的姿势(不知道人数)

人体建模模型

要点:从输入数据中提取关键点和特征

方法:N关节刚性运动学模型

补充:刚体——不变形的物体

刚体模型: 将人体看作刚体(即不变形的物体),通过关节和链接建立关系,以模拟关节的运动。这种模型适用于对关节运动的基本仿真。

常用模型:

(1)运动学模型(基于骨架模型 / 运动链模型)

优点:图形表示灵活直观

局限性:表示纹理和形状信息方面存在局限性

(2)平面模型:利用近似人体轮廓的矩形表示

(3)体积模型

                         

二维单人姿态估计

1. 应用背景

        用于定位单人图像中的人体关节位置。当输入的图像包含多个人时,通常会先对先对图像进行裁剪,确保每个裁剪的部分只包含一个人(通过上半身检测器 / 全身检测器自动完成)

2. 单人姿势估计方法

i. 回归方法:通过学习从输入图像到人体关节位置或人体模型参数的映射。这种方法的目标是直接回归出人体关键点的坐标或其他相关参数——关键点坐标映射

ii.基于热图方法(heatmap):旨在预测身体部位和关节的近似位置,通过热图来表示这些位置。热图是一种表示,其中图像上的每个点都对应于人体的某个部位,颜色或强度表示该部位的置信度。

回归方法

目前发展

1. DeepPose——基于AlexNet的级联深度神经网络回归

2. 端到端的回归方法,采用Soft-argmax函数,将特征映射转为关节坐标。 soft-argmax是一种允许通过概率分布的加权平均来计算具有最大概率的位置的函数

3. Transformer-based casecade network——基于transformer的级联网络,用于回归人体关键点。通过自我注意力机制(self-attention mechanism)来捕捉关节之间的空间相关性和外观信息

4. Compositional pose regression(结构感知回归方法)——基于ResNet-50的结构感知回归方法——组合姿态回归,采用人体信息和姿态结构的重新参数化的基于骨骼的表示方法

5. RLE(Log-likelihood Estimation)——正则化流模型,用于捕捉关节位置的分布。目的是通过残差对数似然估计来找到优化的参数

优化

关键点:特征质量

策略:多任务学习共享表示——学习更好的特征表示。多任务学习通过在相关任务之间共享表示,例如姿势估计和基于姿势的动作识别,使模型能够更好地泛化到原始任务(姿势估计)。

1. 异构多任务框架

   包含两个任务:

    i. 第一个任务通过回归器从完整图像中预测关节坐标。

    ii.第二个任务通过使用滑动窗口从图像块中检测身体部位。

   通过在两个不同的任务之间共享表示,增强模型在姿势估计任务上的性能。

2. 双源CNN模型(DS-CNN

   包含两个任务:

   i. 第一个任务是关节检测,用于确定图像块是否包含人体关节。

   ii.第二个任务是关节定位,用于找到图像块中关节的确切位置。

   损失函数: 每个任务对应一个损失函数,两个任务的结合导致了性能的提升。

基于热图的方法

由每个关节点位置上添加2D高斯核生成2D热图

假设有K个关键点,则有K个热图{H1,H2,...,HK},热图中的每个像素值Hi(x, y)表示关键点位于位置(x, y)的概率。

训练过程:使用姿态估计网络,通过最小化预测热图与目标热图之间的差异(均方误差 MSE)来进行训练

与关节点坐标相比,热图保留了空间位置信息,同时可以使训练过程更加平滑。

基于CNN的几个网络

1. CPMConvolutional Pose Machines):采用多阶段处理,每个阶段的卷积基于前一阶段生成的2D置信图生成,并产生逐渐精炼的身体部位位置预测

2. 堆叠沙漏SHGstacked hourglass):由一个编码器和一个对应的解码器组成,其中编码器负责从输入图像中提取特征,解码器将这些特征映射回姿态估计的输出。网络采用自下而上和自上而下重复处理,先通过自下而上的阶段进行多尺度的特征提取,然后通过自上而下的阶段进行姿态的预测。为了捕捉每个尺度的信息,SHG网络由连续的池化和上采样层的步骤组成,使得网络可以捕捉不同尺度的信息。基于此,进行了一些升级:

(1) 沙漏残差单元 HRUs(Hourglass Residual Units):将残差单元扩展为具有更大感受野的滤波器的侧分支,来捕捉来自不同尺度的特征

(2) 金字塔残差模块 PRM(Pyramid Residual Module):替代了SHG中的残差单元,从而增强深度CNN尺度的不变形

3. 高分辨率网络 HRNetHigh-Resolution Network):引入高分辨率子网络(网络之间并行连接),每个子网络负责处理不同分辨率的信息,具有可以保留更多细节信息的优点。基于此进行了一系列升级:

Lite-HRNet——轻量级HRNet:设计了条件通道加权块以便在通道和分辨率之间交换信息,在保证了性能的同时减少了网络的计算复杂性

4. 生成对抗网络(GANs):将高置信度的预测与低置信度的预测进行区分,从而推断被遮挡身体部位的姿势。GANs作为一个深度学习模型,主要是通过两个网络模型之间的对抗学习,实现生成新的数据样本。GANs在HPE上的应用主要如下:

   (1)姿态生成:GANs可以生成逼真的姿势,这有助于提高对于人体姿态的生成精度。

   (2)置信度估计:GANs可以用于估计预测结果的置信度。通过引入生成器和判别器的对抗学习,可以使生成器更好地区分真实姿态和不合理的姿态。生成器生成的姿势,如果被判别器成功辨别为真实姿态,可能会提高对这一姿态的置信度。

   (3)遮挡部位的估计:GANs被用于处理遮挡的情况,即当部分身体被遮挡时,模型可以通过生成对抗学习来推断被遮挡部位的姿态。生成器生成的姿态可以帮助填充遮挡的部分,从而提高遮挡区域的姿态估计精度。

后续又针对这一网络进行了相关的改进:

   (1)基于一个结构感知的条件对抗网络 Adversarial PoseNet:包含一个基于沙漏网络的姿势生成器和两个鉴别器,用于区分合理的身体姿势和不合理的姿势

   (2)基于对抗学习的网络:其中包含两个堆叠的沙漏网络,分别用作鉴别器和生成器,二者共享相同的结构。生成器估计每个关节点的位置,而鉴别器则区分地面实况热图和预测热图。

   (3)对抗性数据增强网络:通过将HPE网络视为鉴别器,并使用增强网络作为生成器来执行对抗性增强,从而优化数据增加和网络训练。其中生成器负责生成与原始数据相似但有一些差异的合成数据,以扩充训练数据的多样性,鉴别器负责评估一个给定的数据样本是真实数据还是由生成器生成的伪数据。生成器和鉴别器之间进行对抗性学习,即生成器试图生成更逼真的伪样本,而鉴别器试图辨别真实样本和伪样本之间的区别。这个对抗学习的过程促使生成器生成更加真实的样本,从而提高了数据增强的效果。对抗性数据增强网络可以帮助模型更好地处理各种变换、遮挡和复杂场景,提高模型的鲁棒性和性能。

利用身体结构信息提供构建HPE网络

1. 端到端的CNN框架(End-to-end CNN framework):通过考虑人体部位之间的空间和外观一致性来发现负样本

2. 结构化的特征级学习框架(Structured feature-level learning framework):通过结构化的学习方法推理人体关节之间的相关性,通过捕捉人体关节信息来改善姿态估计的准确性

3. 多尺度结构感知神经网络(Multi-scale structure-aware neural network):结合了多尺度监督、多尺度特征融合、结构感知损失信息方案和关键点遮罩训练方法。该网络能够在复杂场景下更好地理解人体姿态

4. 基于沙漏网络的监督网络(Hourglass-based supervision network):用于描述人体部位之间的关系,学习了人体的组合模式信息,能更准确的估计人体姿态

5. 基于部位的分支网络(Part-based Branches Network):引入基于部位的学习策略,学习特定于每个部位组的表示,而不是所有部位的共享表示。该网络结构更加灵活,能够更好地适应不同部位之间的差异性

视频序列中的人体姿态估计

1. 双分支CNN框架:利用帧对中的颜色和运动特征来建立一个表达力强的时空模型,用于进行HPE。

2. 通过使用光流来对齐相邻帧预测的热图,以利用多个帧的时间上下文信息。

Tips:  光流——指在连续帧之间观察到的像素点的运动模式,描述了图像中每个像素点在时间上的位移或运动方向,光流可以用来表示图像序列中的物体运动轨迹。在计算机视觉中,光流通常通过分析相邻帧之间的像素值的变化来估计得到。通过比较像素点在两个连续帧之间的亮度差异来确定他们的运动方向和轨迹。在HPE中,通过计算光流,可以推断出人体在连续帧之间的运动,从而提高姿势估计的准确性。

3. 带有长短期记忆的循环结构,捕捉来自不同帧的时间几何一致性和依赖性,从而加快HPE网络的训练时间

4. 关键帧提议网络,用于从帧中捕获空间和时间信息,并使用人体姿势插值模块来实现高效的基于视频的HPE

Tips:人体姿势插值模块(Pose Interpolation Module)——基于视频的人体姿势估计(HPE)的技术,可以在两个连续帧之间预测人体姿势,从而实现对视频中人体运动的连续跟踪和姿势估计。

2D多人姿态识别

与单人HPE相比,多人HPE需要确定人数和位置,并需要考虑如何为不同人的关键点分组

方法

自上而下:使用现成的人物检测器将视频中的多人划分成单人(将每个人用小框框框起来,每个框对应一个人),然后将单人姿势估计器应用于每个人框,以生成多人姿势

自下而上:首先定位一张图像中所有的身体关节,然后将其分组为单个对象。主要有两个步骤:① 身体关节检测(提取局部特征和预测身体关节候选项)② 为单个身体组装关节候选(即使用部分关联策略将关节候选项分组来进行姿势表示)

一般来说,自下而上的方法计算速度比自上而下的方法更快,因为不需要分别检测每个人的姿势

自上而下

当前已有技术模块:

1. 在ResNet中添加几个反卷积层,用于生成高分辨率表示的热力图[259]

2. Graph-PCNN:基于图的,与模型无关的仅有两个阶段的框架。它包括一个定位子网络用于获取粗略的关键点位置,以及一个图姿势细化模块用于获得经过优化的关键点定位表示[246]

3. 多阶段网络:包含一个残差步骤网络模块(RSN),通过高效的层内特征融合策略学习精细的局部表示,以及一个姿势细化模块(PRM),在特征中找到局部和全局表示之间的权衡。

在遮挡和阶段场景下估计姿势研究

在多人情况下很容易出现肢体重叠的情况,这样使用自上而下的方法第一步就很难实现。为此:

1. 基于卷积姿势机的姿势估计器来估计重叠起来的人(进行关节候选估计),使用整数线型规划来解决关节与人员关联问题,并在存在严重遮挡的情况下获得人体姿势[78]

2. 区域多人姿势估计(RMPE):提高复杂场景中HPE的性能。该框架具有三个部分:对称空间变换网络(用于检测不准确边界框内的单个人区域),参数化姿势非最大抑制(用于解决冗余检测问题)和姿势引导提议生成器(用于增强训练数据)[55]

3. 采用两阶段架构,结合Faster R-CNN人体检测器(用于为候选人体创建边界框)和关键点估计器(使用热图偏移聚合来预测关键点位置)[180]

4. 级联金字塔网络(CPN):包括两部分:GlobalNet(一个特征金字塔网络,用于预测不可见的关键点)和RefineNet(一个网络,用于将GlobalNet的所有特征级别与关键点挖掘损失集成在一起)。该网络在预测遮挡关键点方面表现良好[29]

5. 开发了一个遮挡姿势估计和校正模块以及一个遮挡姿势数据集,以解决拥挤姿势估计中的遮挡问题[199]

6. 提出了一个关键点对应框架,利用前一帧的时间信息在遮挡场景中恢复丢失的姿势。该网络使用自监督进行训练,以改进稀疏标注视频数据集上的姿势估计结果[237]

7. 设计了两个模块,通道混洗模块和空间与通道注意力残差瓶颈,以实现通道和空间信息增强,以在遮挡场景下更好地进行多人HPE[219]

基于TransformerHPE上的研究

Transformer中的注意力机制可以捕获预测关键点的长距离依赖性和全局信息,这比CNN更强大。为此:

1. TokenPose:纯Transformer-based模型,通过使用token表示捕捉约束线索和视觉外观关系[125]

2. HRFormer:高分辨率Transformer,通过将HRNet中的块与Transformer模块进行交换,改善了内存和计算效率[277]

3. Token-Pruned Pose Transformer(PPT):定位人体部位,使模型能够高效地估计多视角姿态[150]

4. 基于注意机制的完全端到端框架:能够直接估计感知实例的身体姿势[216]

视频中的多帧姿势估计

可以利用视频序列中的时间信息来促进姿势估计。

1. PoseWarper:该网络旨在减少视频帧标记的成本,通过改进帧之间的标签传播,并利用稀疏注释进行训练。

2. DCpose:用于多帧HPE,旨在减轻视频帧之间的运动模糊和姿势遮挡。主要包含三个模块(姿势时序合并器、姿势残差融合器和姿势校正网络),利用帧之间的时间信息进行关键点检测。

上面两个方法并不能充分利用相邻帧的信息。为此:

3. 引入一个分层对齐框架,用于减轻两个帧之间不对齐上下文的聚合[140]

自下而上

两阶段自底向上方法的发展和改进

1. DeepCut基于Fast R-CNN的身体部位检测器,是最早的两阶段自底向上的方法之一。首先检测所有身体部位的候选项,然后使用整数线性规划(ILP)标记每个部位,并通过ILP组装这些部位形成最终的姿势。缺点是计算开销大[192]

2. DeeperCut通过应用更强的身体部位检测器、改进的增量优化策略和图像条件的配对项来提高性能并加快速度[76]

3. OpenPose使用卷积姿势机来通过热图预测关键点坐标,并使用部件关联场(PAFs)将关键点与每个人进行关联。OpenPose大大加速了自底向上的多人姿势估计的速度[16]

Tips:PAFs(Part Affinity Fields)是一组二维矢量场,用于表示人体关节之间的亲和关系。每个关节对应的 PAF 是一个矢量图,每个矢量场对应一个关节到其他关节的连接。这些矢量表示了关节之间的方向和连接强度。PAFs 的作用是帮助将图像中的关键点(例如头、肩膀、手臂等)连接成完整的人体姿势。

随后又基于OpenPose,通过向PAF中添加冗余边来增加关节之间的连接,改进了OpenPose结构,并获得了比基线方法更好的性能[315]

4. PifPafOpenPose在处理高分辨率图像上效果很好,但是在低分辨率图像和遮挡场景下的性能较差。为此引入PifPaf的方法,使用部位强度场(预测身体部位的位置)和部位关联场(表示关节之间的关联)来解决这个问题[104]

5. 单阶段深度网络:受到OpenPose和堆叠沙漏结构的启发,引入单阶段深度网络,同时实现姿势检测和组别分配[170]

6. 可微分的分层图组合方法:学习人体部分的分组

7. Higher Resolution Network基于单阶段深度网络和HRNet,引入了HRNet的扩展,通过反卷积高分辨率热图来解决自底向上多人姿势估计中的尺度变化挑战[31]

多任务结构在自底向上多人HPE中的应用

1. PersonLab将姿势估计模块和人物分割模块组合在一起进行关键点检测和关联。PersonLab包括短程偏移(细化热图)、中程偏移(预测关键点)和长程偏移(将关键点分组成实例)[179]

2. MultiPoseNet包括姿势残差网络,可以同时进行关键点预测、人体检测和语义分割任务。通过将这些任务结合在一起,MultiPoseNet能够更全面地理解图像中的人物姿势[99]

上述两个方法在处理人体尺度变化方面存在挑战,为此:

3. SAHR通过自适应地优化关节的标准偏差,提高了对不同人体尺度和标注模糊的容忍度[146]

2D HPE 总结

2D HPE 依然面临的几个挑战

1 .在存在较大遮挡(例如拥挤场景)下对个体的可靠检测:自上而下的2D HPE方法中的人物检测器可能无法准确识别重叠的人体边界。同样,自底向上的方法在遮挡场景中更难进行关键点的关联。

2. 计算效率:虽然一些方法(如OpenPose)可以在特定硬件上实现接近实时的处理速度,但仍然难以将这些网络应用到资源受限的设备上。实际应用(如游戏、增强现实和虚拟现实)需要在商用设备上使用更高效的HPE方法,以提供更好的用户交互体验。

3. 针对稀有姿势的训练数据集的有限性:虽然当前的2D HPE数据集(如COCO数据集)对于常见姿势(如站立、行走、奔跑)来说已经足够大,但对于不寻常的姿势(如摔倒)的训练数据仍然有限。数据不平衡可能导致模型偏见,在这些姿势上表现较差。因此,开发 有效的 数据 生成或增强 技术 来生成额外的姿势数据,以训练更鲁棒的模型将是必要的。

数据集和评估指标

2D HPE 数据集

1. Max Planck Institute for Informatics (MPII) Human Pose Dataset:马普莱克计算机科学研究所人体姿势数据集。数据集包含了25000个姿势注释图像,其中包括超过40000个不同的带有注释的身体关键点(例如头部、肩膀、手肘、手腕、臀部、膝盖和脚踝等)的个体。图像涵盖了不同的场景,包括室内外、日常活动、体育运动等。它是一个多人姿势估计数据集,每个图像中可能包含多个人物。此外,该数据集还提供了丰富的姿势多样性,包括不同的动作、姿态和视角。MPII中的图像适用于2D单人或多人HPE。

2. Microsoft Common Objects in Context (COCO) Dataset:COCO是一个用于目标检测、图像分割和人体姿势估计的大型公共数据集,也是目前使用最广泛的大规模数据集。它有超过33万张图片和20万个标有关键点的主题,每个人都标有17个关节。与其他许多数据集相比,COCO 数据集具有更高的注释精度和更广泛的注释范围。它不仅提供了目标检测和图像分割任务的注释信息,还提供了每个人体关键点的精确位置和可见性信息。

3. COCO-WholeBody Dataset:专用于HPE的带有全身注释的数据集,是对COCO数据集的扩展。除了COCO数据集中的人体关键点注释外,COCO-WholeBody数据集还提供了更全面的全身人体姿势数据,包括额外的关键点如脖子、膝盖、脚踝等,旨在为全身人体姿势估计算法的研究提供更丰富和详细的数据,以满足对全身姿势估计精度和鲁棒性的需求。

3. PoseTrack Dataset:主要用于HPE的视频中关节跟踪的大规模数据集,包括在拥挤环境中的被遮挡和截断的身体部位。PoseTrack数据集有两个版本:PoseTrack2017(包含514个视频序列和16219个姿势注释,其中250个用于训练序列,50个作为验证序列,214个作为测试序列)和PoseTrack2018(包含1138个视频序列和153615个姿势注释,其中593个用于训练,170个用于验证,375个用于测试)。PoseTrack中的每个人都标有15个关节和一个用于关键点可见性的附加标签

2D HPE 评价指标

1. Percentage of Correct Parts (PCP) :通过计算正确预测的身体部位数量占总部位数量的比例来衡量算法的准确性。PCP 指标衡量了在预测的关键点位置与真实位置之间的距离是否在一定的阈值范围内。具体来说,对于每个关键点,如果预测的关键点与真实关键点之间的距离小于某个阈值,则该关键点被认为是正确的。然后,计算所有正确的关键点的比例作为 PCP 指标。PCP 指标的取值范围通常为0到1之间,表示关键点的定位准确率的比例。值越高表示算法的性能越好。

PCP = (正确预测的部位数 / 总部位数) * 100%

因为当肢体较短,PCP并不能反映真实的性能,因此 PDJ将躯干直径(torso diameter)

作为归一化因子。

引入了PDJ对此进行了改进:① 考虑关键点的可见性:只有在图像中可见的关键点才会被用于计算PDJ指标,这样可以避免不可见的关键点对评估结果的影响;② PDJ根据关键点的重要性分配了不同的权重;③ PDJ在计算时考虑了关键点之间的相对位置关系。除了单独考虑关键点的检测准确性外,PDJ还考虑了关键点之间的连接关系,从而更全面地评估姿态估计算法的性能;④ PDJ降低阈值对结果的影响

2. PDJ检测关节百分比。如果预测关节和真实关节之间的距离在躯干直径的某个分数内,则预测关节被视为检测到。计算成功检测到的关节点数量与真实关节点数量的比例,即PDJ值。

PCP 和 PDJ 的区别在于它们关注的准确度方面不同,PCP 关注的是关键点的定位准确度,而 PDJ 关注的是关键点的检测准确度。

3. Percentage of Correct Keypoints (PCK):相当于改进版的PDJ。因为PDJ的躯干直径鲁棒性较差,因此PCK将头部分割长度作为归一化因子。PCK值越高,认为模型性能越好。

4. Average Precision (AP) and Average Recall (AR):平均精度和平均召回率。是用于衡量关键点检测准确性的指标。AP(真 正例结果和总 正例结果的比值),AR(正 正例结果 与 所有真实 正例数量的比值)。除此之外还有mAP(平均精确率)和mAR(平均召回率)、OKS(对象关键点相似度)、IoU(交并比),其中OKS和IoU均可用于AP或AR。例如COCO评估指标通常使用10个OKS阈值的mAP作为评估指标

2D HPE 方法性能的比较

单人2D HPE

上图显示了在MPII数据集上使用PCKh@0.5指标对不同2D单人姿态估计方法进行的比较结果

(1)回归方法:回归方法可以通过端到端框架学习从输入图像到关键点坐标的非线性映射,提供了一种快速学习范式和亚像素级别的预测精度。然而,由于高度非线性的问题,它们通常会给出次优解

(2)基于热图的方法:相对于回归方法,基于热图的方法在2D姿态估计中更广泛使用。这是因为热图中每个像素的概率预测可以提高关键点定位的准确性,并且热图通过保留空间位置信息提供了更丰富的监督信息。但是,预测关键点的精度取决于热图的分辨率,使用高分辨率热图时会增加计算成本和内存占用。

多人2D HPE

上图展示了不同2D姿态估计方法在COCO数据集的测试-开发集上的实验结果,同时还总结了实验设置(额外数据,模型中的主干网络,输入图像尺寸)以及每种方法的AP值。

比较实验突显了多人姿态估计中自顶向下和自底向上方法的显著结果。

(1)自顶向下流程产生更好的结果,因为它首先使用检测方法从图像中检测出每个个体,然后使用单人姿态估计方法预测关键点的位置。在这种情况下,由于减小了背景对于关键点估计的影响,更容易检测到人的关键点。

(2)自底向上方法通常比自顶向下方法更快,因为它们直接检测所有关键点,并使用关键点关联策略(如亲和链接、关联嵌入和像素级关键点回归)将它们分组成单个姿势。

下表说明了PoseTrack2017和PoseTrack2018数据集上最新的基于视频的工作的比较,总结了测试集的详细结果。

未来展望

1. 人体姿态估计在特定应用领域数据不足,需要解决领域差距问题:针对某些特定应用领域(如婴儿图片或艺术作品集合),现有标准数据集中的训练数据不足,且分布与这些特定应用领域不同,导致现有的HPE方法在不同领域之间泛化能力不佳。近期的研究趋势是利用基于GAN的学习方法来缓解领域差距,但如何有效地将人体姿态知识转移以弥合领域差距仍未得到解决。

Tips:领域差距问题指的是,由于不同领域数据分布特征的不同,使用某个领域的训练数据来训练模型,然后将该模型应用于另一个领域时,可能会导致模型性能下降。这是因为在不同领域中,人体的姿态变化、人体部位的形状等都有所不同,导致现有的人体姿态估计方法在不同领域之间泛化能力不佳。解决领域差距问题的方法包括增加训练数据、使用迁移学习方法、利用领域自适应技术等。

2.人体模型参数庞大,需减少参数同时保持模型质量:使用人体模型来建模人体网格表示时模型参数数量庞大(如SMPL、SMPL-X、GHUM & GHUML、Adam等)。如何在保持重建网格质量的同时减少参数数量,以及不同人的身体形状变化多样,如何设计更有效的人体模型可能会利用其他信息(如BMI和轮廓)以实现更好的泛化。

3.研究人体与场景的关系约束,以提高3D HPE的可靠性:大多数现有方法忽略了人体与3D场景的交互。对人体-场景之间的强关系约束进行探索,如人物不可能同时出现在场景中其他物体的位置。物理约束与语义线索相结合可提供可靠和现实的3D HPE。

4. 需要改进视频中的3D HPE算法,使其更加平滑连续:3D HPE 在视觉跟踪和分析中起着重要作用。现有的从视频中进行的3D HPE 不够平滑连续。应开发适当的帧级评估指标,重点关注时间一致性和动作平滑度。

5. 现有网络忽视了分辨率不匹配问题,需要构建分辨率感知性的HPE网络:现有训练良好的网络往往忽视了分辨率不匹配的问题,这可能导致在低分辨率输入下预测人体姿态时出现不准确估计。对抗性学习方案可能有助于构建具有分辨率感知性的HPE网络。

6. 研究对抗攻击的防御,提高HPE网络的鲁棒性:视觉任务中的深度神经网络容易受到对抗攻击的影响。微小的噪音可以显著影响HPE的性能,因此研究对抗攻击的防御可以提高HPE网络的鲁棒性。

7. 探索不同身体部位的专门神经网络架构,以提高HPE的准确性和效率:由于人体部位具有不同的运动模式和形状,单个共享网络架构可能不适用于估计所有具有不同自由度的身体部位。神经网络架构搜索(NAS)可以搜索最佳架构来估计每个身体部位,也可用于发现高效的HPE网络架构以减少计算成本。同时,探索多目标NAS在HPE中的应用也具有一定价值,特别是需要达到多个目标(如延迟、准确性和能耗)时。

相关文章:

论文阅读:《Deep Learning-Based Human Pose Estimation: A Survey》——Part 1:2D HPE

目录 人体姿态识别概述 论文框架 HPE分类 人体建模模型 二维单人姿态估计 回归方法 目前发展 优化 基于热图的方法 基于CNN的几个网络 利用身体结构信息提供构建HPE网络 视频序列中的人体姿态估计 2D多人姿态识别 方法 自上而下 自下而上 2D HPE 总结 数据集…...

C语言——oj刷题——杨氏矩阵

目录 1. 理解杨氏矩形的特点 2. 实现杨氏矩形查找算法 3. 编写示例代码 当我们谈到杨氏矩形时,我们指的是一种在二维数组中查找目标元素的高效算法。它是由杨氏(Yan Shi)教授提出的,因此得名为杨氏矩形。 杨氏矩形问题的场景是…...

C++ 50道面试题

1. static关键字 1.全局static变量 存储位置:静态存储区,在程序运行期间一直存在 初始化: 未手动初始化的变量自动初始化为0 作用域: 从定义之处开始,到文件结束,仅能在本文件中使用 2.局部static变量…...

寒假学习记录14:JS字符串

目录 查找字符串中的特定元素 String.indexOf() (返回索引值) 截取字符串的一部分 .substring() (不影响原数组)(不允许负值) 截取字符串的一部分 .slice() (不影响原数…...

【数学建模】【2024年】【第40届】【MCM/ICM】【C题 网球运动中的“动量”】【解题思路】

一、题目 (一) 赛题原文 2024 MCM Problem C: Momentum in Tennis In the 2023 Wimbledon Gentlemen’s final, 20-year-old Spanish rising star Carlos Alcaraz defeated 36-year-old Novak Djokovic. The loss was Djokovic’s first at Wimbledon…...

无人驾驶LQR控制算法 c++ 实现

参考博客: (1)LQR的理解与运用 第一期——理解篇 (2)线性二次型调节器(LQR)原理详解 (3)LQR控制基本原理(包括Riccati方程具体推导过程) (4)【基础…...

Karnaugh map (卡诺图)

【Leetcode】 289. Game of Life According to Wikipedia’s article: “The Game of Life, also known simply as Life, is a cellular automaton devised by the British mathematician John Horton Conway in 1970.” The board is made up of an m x n grid of cells, wh…...

C# CAD 框选pdf输出

在C#中进行AutoCAD二次开发时,实现框选(窗口选择)实体并输出这些实体到PDF文件通常涉及以下步骤: public ObjectIdCollection GetSelectedEntities() {using (var acTrans HostApplicationServices.WorkingDatabase.Transaction…...

【Linux】 Linux 小项目—— 进度条

进度条 基础知识1 \r && \n2 行缓冲区3 函数介绍 进度条实现版本 1代码实现运行效果 版本2 Thanks♪(・ω・)ノ谢谢阅读!!!下一篇文章见!!! 基础知识 1 \r &&a…...

Sora和Pika,RunwayMl,Stable Video对比!网友:Sora真王者,其他都是弟

大家好,我是木易,一个持续关注AI领域的互联网技术产品经理,国内Top2本科,美国Top10 CS研究生,MBA。我坚信AI是普通人变强的“外挂”,所以创建了“AI信息Gap”这个公众号,专注于分享AI全维度知识…...

Go内存优化与垃圾收集

Go提供了自动化的内存管理机制,但在某些情况下需要更精细的微调从而避免发生OOM错误。本文介绍了如何通过微调GOGC和GOMEMLIMIT在性能和内存效率之间取得平衡,并尽量避免OOM的产生。原文: Memory Optimization and Garbage Collector Management in Go 本…...

【Spring】Bean 的生命周期

一、Bean 的生命周期 Spring 其实就是一个管理 Bean 对象的工厂,它负责对象的创建,对象的销毁等 所谓的生命周期就是:对象从创建开始到最终销毁的整个过程 什么时候创建 Bean 对象?创建 Bean 对象的前后会调用什么方法&#xf…...

云计算基础-存储基础

存储概念 什么是存储: 存储就是根据不同的应用程序环境,通过采取合理、安全、有效的方式将数据保存到某些介质上,并能保证有效的访问,存储的本质是记录信息的载体。 存储的特性: 数据临时或长期驻留的物理介质需要保…...

问题:人的安全知识和技能是天生的。() #媒体#知识分享#学习方法

问题:人的安全知识和技能是天生的。() 人的安全知识和技能是天生的。() 参考答案如图所示 问题:()是党和国家的根本所在、命脉所在,是全国各族人民的利益所在、幸福所在。 A.人民当家作主 B.坚持和完善…...

【数据分享】2001~2020年青藏高原植被净初级生产力数据集

各位同学们好,今天和大伙儿分享的是2001~2020年青藏高原植被净初级生产力数据集。如果大家有下载处理数据等方面的问题,您可以私信或评论。 朱军涛. (2022). 青藏高原植被净初级生产力数据集(2001-2020). 国家青藏高原数据中心. …...

【Spring MVC篇】返回响应

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【Spring MVC】 本专栏旨在分享学习Spring MVC的一点学习心得,欢迎大家在评论区交流讨论💌 目录 一、返回静态页面…...

阿里云BGP多线精品EIP香港CN2线路低时延,价格贵

阿里云香港等地域服务器的网络线路类型可以选择BGP(多线)和 BGP(多线)精品,普通的BGP多线和精品有什么区别?BGP(多线)适用于香港本地、香港和海外之间的互联网访问。使用BGP&#xf…...

(08)Hive——Join连接、谓词下推

前言 Hive-3.1.2版本支持6种join语法。分别是:inner join(内连接)、left join(左连接)、right join(右连接)、full outer join(全外连接)、left semi join(左…...

创新技巧|迁移到 Google Analytics 4 时如何保存历史 Universal Analytics 数据

Google Universal Analytics 从 2023 年 7 月起停止收集数据(除了付费 GA360 之外)。它被Google Analytics 4取代。为此,不少用户疑惑:是否可以将累积(历史)数据从 Google Analytics Universal 传输到 Goog…...

一个小而实用的 Python 包 pangu,实现在中文和半宽字符(字母、数字和符号)之间自动插入空格

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一个小巧的库,可以避免自己重新开发功能。利用 Python 包 pangu,可以轻松实现在 CJK(中文、日文、韩文)和半宽字符(字母、数字和符号&#xf…...

openJudge | 中位数 C语言

总时间限制: 2000ms 内存限制: 65536kB 描述 中位数定义:一组数据按从小到大的顺序依次排列,处在中间位置的一个数或最中间两个数据的平均值(如果这组数的个数为奇数,则中位数为位于中间位置的那个数;如果这组数的个…...

ctfshow-文件上传(web151-web161)

目录 web151 web152 web153 web154 web155 web156 web157 web158 web159 web160 web161 web151 提示前台验证不可靠 那限制条件估计就是在前端设置的 上传php小马后 弹出了窗口说不支持的格式 查看源码 这一条很关键 这种不懂直接ai搜 意思就是限制了上传类型 允许…...

cudnn免登录下载

现在要下载cuDNN,点击下载的页面后都是出现要求先加入Nvidia developers才能进行下载,但这个注册的过程非常慢,常常卡在第二个步骤,这里根据亲身的经验介绍一个可以绕过这个注册或登陆步骤的方式直接下载cuDNN。遇到此类问题的可以…...

SQLyog安装配置(注册码)连接MySQL

下载资源 博主给你打包好了安装包,在网盘里,只有几Mb,防止你下载到钓鱼软件 快说谢谢博主(然后心甘情愿的点个赞~😊) SQLyog.zip 安装流程 ①下载好压缩包后并解压 ②打开文件夹,双击安装包 ③…...

java+SSM+mysql 开放式实验管理系统78512-计算机毕业设计项目选题推荐(免费领源码)

摘 要 我国高校开放式实验管理普遍存在实验设备使用率较低、管理制度不完善,实验设备共享程度不高等诸多问题。要在更大范围推行开放式实验管理,就必须在开放式实验教学管理流程中,通过引入信息化管理加大信息技术在其中的应用,才能真正发挥这种教学模式的开放性优势。 本系统…...

代码随想录算法训练营第三十三天|1005.K次取反后最大化的数组和、134.加油站、135.分发糖果

1005.K次取反后最大化的数组和 public class Solution {public int LargestSumAfterKNegations(int[] nums, int k) {int cnt0;int sum0;int minint.MaxValue;Array.Sort(nums);for(int i0;i<nums.Length;i){if(nums[i]>0){continue;}else{nums[i]-nums[i];cnt;}if(cntk…...

解决LeetCode编译器报错的技巧:正确处理位操作中的数据类型

一天我在leetcode上刷题时&#xff0c;遇到了这样的题目&#xff1a; 随即我写了如下的代码&#xff1a; int convertInteger(int A, int B) {int count 0;int C A ^ B;int flag 1;while(flag){if (C & flag){count;}flag<<1;}return count;} 但LeetCode显示如下…...

一周学会Django5 Python Web开发-Django5操作命令

锋哥原创的Python Web开发 Django5视频教程&#xff1a; 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计11条视频&#xff0c;包括&#xff1a;2024版 Django5 Python we…...

反转链表【基础算法精讲 06】

视频地址 反转链表【基础算法精讲 06】_哔哩哔哩_bilibili 概念 链表的每一个结点都包含节点值 和1指向下一个结点的next指针 , 链表的最后一个结点指向空; 206 . 反转链表 用cur记录当前遍历到的结点 &#xff0c; 用pre表示下一个结点 &#xff0c; 用nxt表示cur的下一个…...

Git 初学

目录 一、需求的产生 二、版本控制系统理解 1. 认识版本控制系统 2. 版本控制系统分类 &#xff08;1&#xff09;集中式版本控制系统 缺点&#xff1a; &#xff08;2&#xff09;分布式版本控制系统 三、初识 git 四、git 的使用 例&#xff1a;将 “ OLED文件夹 ”…...

智胜未来,新时代IT技术人风口攻略-第四版(弃稿)

文章目录 前言鸿蒙生态科普调研人员画像高校助力鸿蒙高校鸿蒙课程开设占比教研力量并非唯一原因 企业布局规划全盘接纳仍需一段时间企业对鸿蒙的一些诉求 机构入场红利机构鸿蒙课程开设占比机构对鸿蒙的一些诉求 鸿蒙实际体验高校用户群体高度认同与影响体验企业用户群体未来可…...

渗透专用虚拟机(公开版)

0x01 工具介绍 okfafu渗透虚拟机公开版。解压密码&#xff1a;Mrl64Miku&#xff0c;压缩包大小&#xff1a;15.5G&#xff0c;解压后大小&#xff1a;16.5G。安装的软件已分类并在桌面中体现&#xff0c;也可以使用everything进行查找。包含一些常用的渗透工具以及一些基本工…...

HCIA-HarmonyOS设备开发认证V2.0-3.2.轻量系统内核基础-时间管理

目录 一、时间管理1.1、时间接口1.2、代码分析&#xff08;待续...&#xff09; 坚持就有收获 一、时间管理 时间管理以系统时钟为基础&#xff0c;给应用程序提供所有和时间有关的服务。系统时钟是由定时器/计数器产生的输出脉冲触发中断产生的&#xff0c;一般定义为整数或长…...

嵌入式培训机构四个月实训课程笔记(完整版)-Linux ARM驱动编程第五天-ARM Linux编程之file_operations详解 (物联技术666)

链接&#xff1a;https://pan.baidu.com/s/1V0E9IHSoLbpiWJsncmFgdA?pwd1688 提取码&#xff1a;1688 struct file_operations{ struct module *owner; // 指向拥有该结构的模块的指针&#xff0c;避免正在操作时被卸载&#xff0c;一般为初始化THIS_MODULES loff_t &#…...

第9章 网络编程

9.1 网络通信协议 通过计算机网络可以实现多台计算机连接&#xff0c;但是不同计算机的操作系统和硬件体系结构不同&#xff0c;为了提供通信支持&#xff0c;位于同一个网络中的计算机在进行连接和通信时必须要遵守一定的规则&#xff0c;这就好比在道路中行驶的汽车一定要遵…...

Python setattr函数

在Python编程中&#xff0c;setattr()函数是一个有用且灵活的内置函数&#xff0c;用于设置对象的属性值。它可以在运行时动态地设置对象的属性&#xff0c;无论是新建对象还是已有对象。本文将深入探讨setattr()函数的用法、语法、示例代码&#xff0c;并探讨其在实际编程中的…...

[C#]winform制作仪表盘好用的表盘控件和使用方法

【仪表盘一般创建流程】 在C#中制作仪表盘文案&#xff08;通常指仪表盘上的文本、数字或指标显示&#xff09;涉及到使用图形用户界面&#xff08;GUI&#xff09;组件&#xff0c;比如Windows Forms、WPF (Windows Presentation Foundation) 或 ASP.NET 等。以下是一个使用W…...

探索弗洛姆的思想:人类本质与爱的哲学

探索弗洛姆的思想&#xff1a;人类本质与爱的哲学 摘要&#xff1a;艾里希弗洛姆是20世纪著名的德裔美国哲学家和精神分析学家&#xff0c;他的理论在心理学、社会学和哲学领域均产生了广泛影响。弗洛姆的核心思想围绕人的本性、自由发展以及爱的重要性展开&#xff0c;强调了人…...

【碎片知识点】安装Linux系统 VMware与kali

天命&#xff1a;VMware就是可以运行操作系统的载体&#xff0c;kali就是Linux的其中一个分支 天命&#xff1a;Linux有两个分支版本&#xff1a;centos与ubuntu&#xff0c;kali底层就是ubuntu&#xff08;所有Linux用起来都差不多&#xff0c;没啥区别&#xff09; 天命&…...

Android 车载应用开发之SystemUI 详解

一、SystemUI SystemUI全称System User Interface,直译过来就是系统级用户交互界面,在 Android 系统中由SystemUI负责统一管理整个系统层的 UI,它是一个系统级应用程序(APK),源码在/frameworks/base/packages/目录下,而不是在/packages/目录下,这也说明了SystemUI这个…...

C# CAD-Xdata数据 添加(一)

运行环境Visual Studio 2022 c# cad2016 一、XData&#xff08;扩展数据&#xff09;特定代码值 XData&#xff08;扩展数据&#xff09;特定代码值 XData通过一系列DXF组码&#xff08;DxfCode&#xff09;存储不同类型的数据&#xff0c;包括但不限于ASCII字符串、已注册应…...

【NLP】MHA、MQA、GQA机制的区别

Note LLama2的注意力机制使用了GQA。三种机制的图如下&#xff1a; MHA机制&#xff08;Multi-head Attention&#xff09; MHA&#xff08;Multi-head Attention&#xff09;是标准的多头注意力机制&#xff0c;包含h个Query、Key 和 Value 矩阵。所有注意力头的 Key 和 V…...

nginx upstream server主动健康监测模块添加https检测功能

1 缘起 前面的《nginx upstream server主动健康检测模块ngx_http_upstream_check_module 使用和源码分析》系列已经分析了ngx_http_upstream_check_module的实现原理&#xff0c;并且在借助这个模块的框架实现了一个udp健康检测的新功能。   但是ngx_http_upstream_check_mod…...

OCP的operator——(4)用户任务:使用Operator创建etcd集群

文章目录 环境在namespace中安装Operator先决条件使用Web console从OperatorHub安装删除 使用CLI从OperatorHub安装从已安装的Operator创建应用使用Operator创建etcd集群报错从web console debug从命令行debug分析 参考 环境 RHEL 9.3Red Hat OpenShift Local 2.32 在namespa…...

win7自带截图工具保存失效解决办法

今日发现一台远航技术的win7中自带的截图工具使用时正常&#xff0c;保存图片时没有弹出保存位置的对话窗口&#xff0c;无法正常保存图片。解决方案如下&#xff1a; 1、进入注册表编辑器。开始-搜索程序和文件-输入 regedit 按下回车键&#xff0c;打开注册表&#xff1b; 2、…...

Android14之Android Rust模块编译语法(一百八十七)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…...

分布式文件系统 SpringBoot+FastDFS+Vue.js【三】

分布式文件系统 SpringBootFastDFSVue.js【三】 七、创建后台--分角色管理7.1.创建后台数据库表7.2.创建实体类7.2.1.Admin7.2.2.Menu7.2.3.MenuBean7.2.4.Role7.2.5.RoleMenu 7.3.编辑配置文件application.yml7.4.编写工具类7.4.1.AuthContextHolder7.4.2.HttpUtils7.4.3.Stri…...

【深度学习每日小知识】全景分割

全景分割 全景分割是一项计算机视觉任务&#xff0c;涉及将图像或视频分割成不同的对象及其各自的部分&#xff0c;并用相应的类别标记每个像素。与传统的语义分割相比&#xff0c;它是一种更全面的图像分割方法&#xff0c;传统的语义分割仅将图像划分为类别&#xff0c;而不…...

机器人能否返回原点

657. 机器人能否返回原点 在二维平面上&#xff0c;有一个机器人从原点 (0, 0) 开始。给出它的移动顺序&#xff0c;判断这个机器人在完成移动后是否在 (0, 0) 处结束。 移动顺序由字符串 moves 表示。字符 move[i] 表示其第 i 次移动。机器人的有效动作有 R&#xff08;右&a…...

Mysql5.6忘记密码,如何找回(windows)

mysql5.6安装 第一步&#xff1a;关闭正在运行的数据库服务 net stop mysql第二步&#xff1a;在my.ini文件当中的[mysqld] 任意一个位置放入 skip-grant-tables第三步&#xff1a;启动mysql服务 net start mysql第四步&#xff1a;服务启动成功后就可以登录了&#xff0c;…...