RTMO:最强姿态识别模型,超越YOLO-pose

 

本文介绍了一种名为RTMO的实时多人姿态估计框架,它采用了一种无缝集成坐标分类的方法,使用双1-D热图来表示关键点,同时在保持高速度的同时实现了与两阶段自顶向下方法相当的准确性。RTMO采用了动态坐标分类器和定制的损失函数来学习热图,以解决坐标分类和密集预测模型之间的不兼容性。RTMO在COCO数据集上的表现优于现有的一阶段姿态估计器,具有更高的准确性和更快的速度。最大的模型RTMO-l在COCO val2017上达到了74.8%的AP,单个V100 GPU上的帧率为141 FPS。

 

简介

 

本文介绍了实时多人姿态估计(MPPE)的挑战和现有方法的局限性,包括基于预训练检测器的自上而下方法和直接预测关键点位置的单阶段方法。作者提出了一种新的实时单阶段MPPE方法,称为RTMO,它将坐标分类技术与YOLO架构相结合,实现了性能和速度的最佳平衡。RTMO引入了动态坐标分类器(DCC)和基于最大似然估计(MLE)的新损失函数,以有效地训练坐标热图。实验结果表明,RTMO在精度和速度方面均优于现有方法,并在CrowdPose基准测试中取得了新的单阶段方法的最高水平。

 

《RTMO:最强姿态识别模型,超越YOLO-pose》- 投稿作者:灵度智能 - 发布于:GetAI社区

 

相关工作

 

一阶段姿态估计

 

一阶段姿态估计方法可以在单次前向传递中执行多人姿态估计,直接从预定根位置回归实例特定的关键点。相比于二阶段方法,一阶段方法不需要预处理和后处理,具有一致的推理时间和简化的流程。但现有的一阶段方法在高精度和实时推理之间存在权衡,高精度模型通常依赖于资源密集的骨干网络,而实时模型则会牺牲性能。该模型解决了这个问题,提供了高精度和快速实时推理。

 

坐标分类

 

SimCC和RTMPose采用坐标分类进行姿态估计,通过沿水平和垂直轴的子像素区间对关键点进行分类,实现了空间判别,同时保持了准确性和速度。然而,对于密集预测方法,跨越整个图像的区间是不切实际的,因为需要大量的区间来减少量化误差,这会导致许多区间对于单个实例来说是多余的。我们的方法根据每个实例的大小分配区间,将它们放置在局部区域内,优化了区间利用率,确保了关键点的覆盖,并最小化了量化误差。

 

Transformer增强的姿态估计

 

Transformer-based架构在姿态估计中变得普遍,利用最先进的Transformer骨干网络来提高准确性。TokenPose和Poseur展示了基于标记的关键点嵌入在热图和回归方法中的有效性。PETR和ED-Pose在多人姿态估计中引入了transformers。RTMPose和RTMO将自注意力与SimCC框架相结合,用于关键点依赖性分析。本文提出了一种创新的方法,利用位置编码形成每个空间bin的表示向量,从而实现bin-关键点相似性的计算,从而促进准确的定位预测。

 

方法

 

《RTMO:最强姿态识别模型,超越YOLO-pose》- 投稿作者:灵度智能 - 发布于:GetAI社区

 

本文介绍了一个基于YOLO架构的目标检测模型,采用CSPDarknet作为骨干网络,使用Hybrid Encoder处理最后三个特征图,生成P4和P5两个空间特征图,用于预测边界框、关键点坐标和可见性。模型使用动态坐标分类器生成1-D热力图预测,并提出了基于MLE的热力图损失函数。文章详细介绍了训练和推理过程。

 

动态坐标分类器

 

本文探索了将坐标分类与一阶姿势估计框架相结合,以提高关键点定位精度。

 

动态Bin分配。现有的坐标分类方法存在静态策略的问题,无法适应密集预测环境,为此引入了动态坐标分类器(DCC)。in分配。现有的坐标分类方法存在静态策略的问题,无法适应密集预测环境,为此引入了动态坐标分类器(DCC)。DCC通过动态分配范围和形成二维热图中的bin表示来解决了坐标分类的不兼容性问题。DCC通过动态分配bin来对齐每个实例的边界框,确保局部覆盖。

 

《RTMO:最强姿态识别模型,超越YOLO-pose》- 投稿作者:灵度智能 - 发布于:GetAI社区

 

动态Bin编码。DCC将每个bin的坐标编码为位置编码,以创建特定于bin的表示。DCC的主要目标是根据bin坐标和关键点特征准确预测每个bin中关键点出现的概率。DCC使用门控注意力单元(GAU)模块提取和改进关键点特征,生成概率热图。

 

《RTMO:最强姿态识别模型,超越YOLO-pose》- 投稿作者:灵度智能 - 发布于:GetAI社区

 

《RTMO:最强姿态识别模型,超越YOLO-pose》- 投稿作者:灵度智能 - 发布于:GetAI社区

 

MLE用于坐标分类

 

本文探索将坐标分类与单阶段姿态估计框架相结合,以提高关键点定位精度。提出了动态坐标分类器(Dynamic Coordinate Classifier, DCC),它在两个1-D热图中动态分配区间并形成box的表示,有效地解决了坐标分类在稠密预测上下文中的不兼容性。

 

动态bin分配。自顶向下姿态估计器中采用的坐标分类技术在整个输入图像中分配bin。边界框最初使用逐点卷积层进行回归,然后将其扩大1.25倍以覆盖所有关键点。这些扩展的边界框沿水平和垂直轴被均匀划分。计算每个水平box的x坐标:

 

《RTMO:最强姿态识别模型,超越YOLO-pose》- 投稿作者:灵度智能 - 发布于:GetAI社区

 

动态bin编码。在DCC的上下文中,每个box的位置随着网格的不同而不同。我们将每个box的坐标编码为位置编码,以创建特定于box的表示。我们利用正弦位置编码定义为:

 

《RTMO:最强姿态识别模型,超越YOLO-pose》- 投稿作者:灵度智能 - 发布于:GetAI社区

 

我们使用一个全连接层来改进位置编码对我们任务的适应性,该层应用了一个可学习的线性变换ϕ,从而优化了它在DCC中的有效性。

 

DCC的主要目标是在box坐标和关键点特征的基础上,准确地预测关键点在每个箱子上出现的概率。从姿态特征中提取关键点特征,通过RTMPose之后的门控注意力单元(GAU)模块对关键点特征进行细化,以增强关键点间的一致性。通过将关键点特征f k与每个箱子P E (xi)的位置编码相乘,然后是softmax来生成概率热图:

 

《RTMO:最强姿态识别模型,超越YOLO-pose》- 投稿作者:灵度智能 - 发布于:GetAI社区

 

MLE用于坐标分类

 

在实践中,我们对P (μ x | x i)采用拉普拉斯分布和负对数似然损失:

 

《RTMO:最强姿态识别模型,超越YOLO-pose》- 投稿作者:灵度智能 - 发布于:GetAI社区

总的最大似然估计(MLE)损失为L MLE = L MLE (x) + L MLE (y)。与KLD不同,我们的MLE损失允许可学习的方差,代表不确定性。这种不确定性学习框架自动调整各种样本的难度。对于难样本,模型预测的方差很大,以便于优化。对于简单样本,它预测的方差很小,有助于提高精度。使用KLD,采用可学习的方差是有问题的——模型倾向于预测较大的方差来平坦目标分布,因为这简化了学习。

 

训练和推理

 

训练。模型遵循yolo样结构,采用密集网格预测进行人体检测和姿态估计。扩展SimOTA进行训练,根据网格分数、边界框回归和姿态估计精度分配正网格。头部的分数分支在可变焦点损失L cls的监督下对这些网格进行分类,目标分数是每个网格的预测姿态和分配的地面真实值之间的对象关键点相似性(OKS)。

 

正网格标记生成边界框、关键点坐标和可见性预测。关键点坐标通过DCC导出,而其他预测来自逐点卷积层。应用的损失是边界框的IoU损失L bbox,关键点的MLE损失L MLE,以及可见性L vis的BCE损失。

 

考虑到DCC的计算需求,实现了一个逐点卷积层用于初步坐标回归,类似于YOLO-Pose,以缓解内存不足问题。这个回归关键点kpt reg在SimOTA中充当正网格选择的代理,解码关键点kpt dec后来用于计算OKS。回归分支的loss为OKS loss:

 

《RTMO:最强姿态识别模型,超越YOLO-pose》- 投稿作者:灵度智能 - 发布于:GetAI社区

 

所提模型的总损失为:

 

《RTMO:最强姿态识别模型,超越YOLO-pose》- 投稿作者:灵度智能 - 发布于:GetAI社区

 

推理。在推理过程中,该模型采用分数阈值0.1和非极大值抑制进行网格过滤。然后,它将所选网格的姿态特征解码为热图,使用热图上的积分来导出关键点坐标。这种选择性解码方法最小化了要处理的特征数量,降低了计算成本。

 

实验

 

设置

 

数据集。实验主要在COCO2017关键点检测基准库上进行。为了探索模型的性能上限,训练也被扩展到包括其他数据集:CrowdPose、AIC、MPII、JHMDB、Halpe和PoseTrack18。RTMO在CrowdPose基准上进行了进一步评估,该基准因拥挤和遮挡场景而闻名。基于oks的平均精度(AP)作为两个数据集的评估指标。

 

实现细节。在训练过程中,采用了来自YOLOX的图像增强管道,融合了马赛克增强、随机颜色调整、几何变换和MixUp。训练过程分为两个阶段:第一个阶段涉及使用姿态注释训练代理分支和DCC,第二个阶段将代理分支的目标从DCC转移到解码后的姿态。使用AdamW优化器,权重衰减为0.05,并在Nvidia GeForce RTX 3090 gpu上进行训练,batch大小为256。两个训练阶段的初始学习率设置为4 ×10−3和5 ×10−4,通过余弦退火衰减到2 ×10−4。

 

比较结果

在一阶段方法中,我们考虑了KAPAO、YOLOv8-Pose和YOLOXPose。在自顶向下的方法中,选择了RLE、SimCC和RTMPose进行比较。RTMDetnano作为人体检测器用于自顶向下模型。RTMO系列在性能和速度上都优于其他轻量级一阶段方法。

 

《RTMO:最强姿态识别模型,超越YOLO-pose》- 投稿作者:灵度智能 - 发布于:GetAI社区

 

与自顶向下模型相比,RTMO-m和RTMO-l的准确性与RTMPose-m和RTMPosel相当,并且在图像中出现更多人时速度更快。使用ONNXRuntime,RTMO与RTMPose的速度相当,当有四个人时,使用TensorRT FP16,RTMO更快。这证明了RTMO在多人场景中的优势。重要的是,尽管处理的令牌数量随图像中的人数而变化,但推理延迟的差异很小。

 

《RTMO:最强姿态识别模型,超越YOLO-pose》- 投稿作者:灵度智能 - 发布于:GetAI社区

 

RTMO-s使用ResNet-50骨干网络时,比PETR快十倍但保持相似的准确性。与KAPAO和YOLO-Pose等轻量级模型相比,RTMO在不同模型大小上始终表现出更高的准确性。通过在其他人体姿势数据集上进行进一步训练,RTMO-l在准确性方面在一阶姿势估计器中表现最好。

 

《RTMO:最强姿态识别模型,超越YOLO-pose》- 投稿作者:灵度智能 - 发布于:GetAI社区

定量结果

 

RTMO采用坐标分类方法,在多人场景中表现出强大的性能,即使在个体相对较小且频繁遮挡的情况下,也能生成空间准确的热图,为每个关键点提供强大的上下文感知预测。

 

《RTMO:最强姿态识别模型,超越YOLO-pose》- 投稿作者:灵度智能 - 发布于:GetAI社区

 

消融分析

 

分类与回归。为了评估坐标分类对回归的有效性,我们将模型的1-D热图生成替换为用于回归的全连接层,由OKS损失监督。表3比较了这些性能。使用DCC模块和MLE损失,坐标分类在COCO上取得了2.1%的AP优于回归。

 

《RTMO:最强姿态识别模型,超越YOLO-pose》- 投稿作者:灵度智能 - 发布于:GetAI社区

 

坐标分类损失。与其他使用KLD作为损失函数的坐标分类的姿态估计方法相反,我们的研究表明它对于RTMO并不适用。表3的证据表明,与MLE损失相比,KLD的准确率较低。

 

坐标分类中的动态策略。首先采用一种类似于DFL的静态坐标分类策略,在每个网格周围划分固定范围内的bins。这种方法在COCO数据集上的表现优于回归方法,但在CrowdPose上的表现不佳。在基线上引入动态箱分配(Dynamic Bin Allocation, DBA策略会导致在两个数据集上的性能下降。这个问题通过合并动态二进制编码(DBE)得到了纠正。在DBE中,DCC方法在两个数据集上的效果都超过了静态策略。此外,如果没有动态箱子编码(DBE),附近箱子的概率可能会显著变化,如图5所示,这与相邻空间位置应该具有相似概率的期望相矛盾。相比之下,结合DBE可以得到更平滑的输出热图,这表明通过使表示向量更好地捕捉附近位置之间的相似性来改进解码器训练。

 

《RTMO:最强姿态识别模型,超越YOLO-pose》- 投稿作者:灵度智能 - 发布于:GetAI社区

特征映射选择。特征金字塔利用多尺度特征来检测不同大小的实例,更深的特征通常检测更大的物体。我们的初始模型受YOLOX启发,使用了P3、P4、P5特征。如表4所示,省略P3可以在最小精度损失的情况下获得显著的速度增益,这表明P4和P5单独用于多人姿态估计是有效的。这表明,P3在检测较小实例方面的作用可以被其余特征充分补偿。

 

《RTMO:最强姿态识别模型,超越YOLO-pose》- 投稿作者:灵度智能 - 发布于:GetAI社区

总结

 

本文介绍了一种基于RTMO模型的一阶多人姿态估计方法,该方法在YOLO框架中集成了坐标分类,实现了实时处理和高精度。该方法采用动态坐标分类器和基于最大似然估计的损失函数,有效提高了密集预测模型的位置精度。该方法不仅提高了姿态估计的准确性,还为未来视觉检测任务的密集预测奠定了坚实的基础。

0

评论0

请先
显示验证码