
摘要
尽管在设计过程中未引入特定领域知识,普通的视觉Transformer已在视觉识别任务中展现出卓越的性能。然而,针对此类简单结构在姿态估计任务中潜力的研究仍十分有限。本文通过一个名为ViTPose的简单基准模型,从多个方面系统揭示了普通视觉Transformer在姿态估计任务中的惊人能力,包括模型结构的简洁性、模型规模的可扩展性、训练范式的灵活性以及模型间知识的可迁移性。具体而言,ViTPose采用普通且非分层的视觉Transformer作为主干网络,用于提取目标人体实例的特征,并搭配一个轻量级解码器完成姿态估计。得益于Transformer固有的可扩展性与高度并行性,ViTPose可从约1亿参数规模扩展至10亿参数级别,显著提升了模型容量,同时在吞吐量与性能之间实现了新的帕累托前沿(Pareto front)。此外,ViTPose在注意力机制类型、输入分辨率、预训练与微调策略,以及多姿态任务处理方面均表现出极强的灵活性。我们还通过实验证明,大型ViTPose模型的知识可通过一种简单的“知识令牌”(knowledge token)高效迁移至小型模型中,实现性能的显著提升。实验结果表明,我们的基础版ViTPose模型在具有挑战性的MS COCO关键点检测基准上超越了现有代表性方法,而最大规模的模型则达到了新的最先进水平(state-of-the-art)。相关代码与模型已开源,地址为:https://github.com/ViTAE-Transformer/ViTPose。
代码仓库
vitae-transformer/vitpose
官方
pytorch
GitHub 中提及
vitae-transformer/qformer
pytorch
GitHub 中提及
huggingface/transformers
pytorch
gpastal24/ViTPose-Pytorch
pytorch
JunkyByte/easy_ViTPose
pytorch
jaehyunnn/ViTPose_pytorch
pytorch
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| 2d-human-pose-estimation-on-human-art | ViTPose-h | AP: 0.468 AP (gt bbox): 0.800 |
| 2d-human-pose-estimation-on-human-art | ViTPose-s | AP: 0.381 AP (gt bbox): 0.738 |
| 2d-human-pose-estimation-on-human-art | ViTPose-l | AP: 0.459 AP (gt bbox): 0.789 |
| 2d-human-pose-estimation-on-human-art | ViTpose-b | AP: 0.410 AP (gt bbox): 0.759 |
| pose-estimation-on-coco-test-dev | ViTPose (ViTAE-G, ensemble) | AP: 81.1 AP50: 95.0 AP75: 88.2 APL: 86.0 APM: 77.8 AR: 85.6 |
| pose-estimation-on-coco-test-dev | ViTPose (ViTAE-G) | AP: 80.9 AP50: 94.8 AP75: 88.1 APL: 85.9 APM: 77.5 AR: 85.4 |
| pose-estimation-on-coco-val2017 | ViTPose-B (Single-task_GT-bbox_256x192) | AP: 77.3 AP50: 93.5 AP75: 84.5 AR: 80.4 |
| pose-estimation-on-coco-val2017 | ViTPose-B (Single-task_Det-bbox_256x192) | AP: 75.8 AP50: 90.7 AP75: 83.2 AR: 81.1 |
| pose-estimation-on-crowdpose | ViTPose-G | AP: 78.3 AP Hard: 67.9 AP50: 85.3 AP75: 81.4 APM: 86.6 |
| pose-estimation-on-ochuman | ViTPose (ViTAE-G, GT bounding boxes) | Test AP: 93.3 Validation AP: 92.8 |