《RTMPose: Real-Time Multi-Person Pose Estimation based on MMPose》,主要介绍了一种高性能实时多人姿态估计框架RTMPose,能在多种设备上实现实时推理,平衡模型性能和复杂度。
原文链接:https://arxiv.org/abs/2303.07399
代码:https://github.com/open-mmlab/mmpose/tree/main/projects/rtmpose

  1. 研究背景:2D姿态估计在学术基准测试中表现不错,但因模型参数多、延迟高,在工业领域应用受限。实时人体姿态估计在人机交互、动作识别等方面有很大需求,因此本文旨在缩小差距,设计出更适用于工业应用的模型。

  2. 创新点

    1. 采用新范式:使用自上而下的方法,借助实时检测器的高效性,让检测不再成为速度瓶颈,在多数场景能实时处理多人实例。
    2. 选择合适骨干网络:采用CSPNeXt作为骨干网络,在速度、准确性和部署友好性上达到较好平衡。
    3. 新的关键点预测算法:用基于SimCC的算法预测关键点,将其看作分类任务,计算量更低,部署更容易。
    4. 优化训练策略:重新研究并引入适用于姿态估计任务的训练策略,提升了模型性能。
    5. 优化推理流程:联合优化推理流程,用跳帧检测策略降低延迟,通过姿态非极大值抑制(NMS)和平滑滤波提高稳定性。还提供不同尺寸的模型,满足不同场景需求。
  3. 网络设计:整体架构包含卷积层、全连接层和门控注意力单元(GAU)。骨干网络用CSPNeXt/(目标检测),通过全连接层扩展特征维度,再经GAU模块优化关键点表示,最后将2D姿态估计视为对x轴和y轴坐标的两个分类任务,预测关键点的水平和垂直位置。
    RTMPose网络结构

  4. 原理:基于SimCC将关键点定位看作分类问题,把水平和垂直轴划分成等宽的区间,将连续坐标离散化为区间标签,模型训练预测关键点所在区间。利用高斯标签平滑策略,用软标签替代独热标签,减少量化误差,提高模型性能。

  5. 训练策略

    • 预训练:用基于热图的UDP方法对骨干网络预训练,提升模型准确性。
    • 优化策略:采用指数移动平均(EMA)减轻过拟合,使用平坦余弦退火策略提高准确率,抑制归一化层和偏差的权重衰减。
    • 两阶段训练增强:先使用强数据增强训练180个epoch,再用弱增强策略训练30个epoch ,防止模型过拟合,使其更好地学习姿态结构信息。
  6. 实验结果:在COCO、COCO-SinglePerson、COCO-WholeBody等多个数据集上进行实验,RTMPose相比其他开源库,在准确率和复杂度上表现更优。在不同设备上测试推理速度,结果显示RTMPose能在多种设备(CPU、GPU、移动设备)上实现实时推理。

  7. 研究结论:该研究探索了姿态估计中的关键因素,提出的RTMPose框架在平衡模型性能和复杂度方面表现出色,可在多种设备上实时推理。希望该算法及其开源实现能满足工业中姿态估计的部分需求,推动人体姿态估计任务的进一步研究。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐