共计 4819 个字符,预计需要花费 13 分钟才能阅读完成。
身材姿势预计旨在辨认出给定图像中人或者动物实例身材的关键点,除了典型的身材骨骼关键点,还能够包含手、脚、脸部等关键点,是计算机视觉畛域的根本工作之一。目前,视觉 transformer 曾经在辨认、检测、宰割等多个视觉工作上展示进去很好的性能。在身材姿势预计工作上,应用 CNN 提取的特色,联合定制化的 transformer 模块进行特色加强,视觉 transformer 获得了很好的成果。然而,简略的视觉 transformer 自身在姿势预计工作上是否能有很好的体现呢?
京东摸索研究院联结悉尼大学 在这方面做出了摸索,提出了基于简略视觉 transformer 的姿势预计模型 ViTPose 和改良版本 ViTPose+。ViTPose 系列模型在 MS COCO 多个人体姿势预计数据集上达到了新的 SOTA 和帕累托前沿。其中,ViTPose 已收录于 Neurips 2022。ViTPose+ 进一步拓展到多种不同类型的身材姿势预计工作,涵盖动物、人体以及典型的身材骨骼、手、脚、脸部等关键点类型,在不减少推理阶段模型复杂度和计算复杂度的状况下,实现了多个数据集上的最佳性能。
一、钻研背景
ViTPose 和 ViTPose+ 的性能和速度比照图,圆圈大小代表了模型大小
近年来,视觉 transformer 在多个视觉畛域展现出了极佳的性能。在姿势预计畛域,也涌现出许多基于 transformer 的计划,并获得了很好的成果。如 TokenPose 等工作,应用 CNN 进行特征提取,并应用 transformer 作为后处理模块来建模多个关键点之间的关系。只管他们展示了很好的成果,然而依然依赖 CNN 提取特色,很难充沛开掘 transformer 在姿势预计畛域的后劲。
为了缩小 CNN 的影响,HRFormer 等工作仅应用 transformer 来进行特征提取和建模人体关键点。为了晋升模型性能,模型采纳了一些非凡的设计,如多尺度建模、多层级构造等形式。这些构造在 CNN 模型设计和 transformer 模型设计中都体现出很好的后果。然而,咱们是否须要为姿势预计工作定制化的设计 Transformer 网络结构呢?为此,京东摸索研究院联结悉尼大学提出了基于简略视觉 transformer 的姿势预计基线 ViTPose,充沛开掘 transformer 在姿势预计畛域的后劲。基于常见的无监督预训练技术并联合非常简单的解码器,ViTPose 展现了视觉 transformer 在姿势预计方面的简略性,可扩展性,灵活性,和可迁移性,并在人体,动物,全身关键点检测等方面达到 SOTA 性能。
二、ViTPose 办法
2.1 ViTPose 构造简介
图 1 ViTPose 构造
为了尽可能防止简单的设计,ViTPose 采纳了最简略的形式来利用简略的视觉 transformer。具体来说,ViTPose 应用了简略的视觉 transformer 作为编码器对输出图像进行特征提取。提取失去的特色会作为解码器的输出来失去最终的关键点预测。带有 transposed 卷积上采样和预测层的规范解码器(c)和间接应用双线性插值的简略解码器(d)被用于评估简略视觉 transformer 的简略性;用于 Bottom-up 预测的解码器(e)也被采纳来掂量 ViTPose 对于不同关键点检测范式的灵活性。
此外,得益于采纳了最简略的编码器 - 解码器设计,ViTPose 能够很容易的兼容更大规模的简略视觉 transformer 模型,并失去性能晋升,展现出良好的扩展性;此外,通过应用不同的预训练形式,和不同大小模型的迁徙,ViTPose 展现出优良的灵活性和可迁移性。只管没有简单的模型设计,ViTPose 在人体,动物,全身关键点预计等多个设置下达到或超过了 SOTA 的模型,充沛展现了简略视觉 transformer 在姿势预计畛域的后劲。
2.2 简略性和扩展性
表 1 应用不同 decoder 的 ViTPose 在 MS COCO 的性能比照
为了验证 ViTPose 的简略性和可扩展性,研究者应用了不同的解码器和不同尺寸的编码器,后果如表 1 所示。相比于应用经典的反卷积解码器,应用简略双线性解码器的 CNN 模型呈现了极大的性能降落,如 ResNet-50 和 ResNet-152 有靠近 20 均匀准确度的降落。然而,视觉 transformer 模型则体现出了很强的竞争力:应用简略的解码器和经典解码器的性能差距不到 0.3 均匀准确度,充分说明因为视觉 transformer 的强表征能力,它能够学习到线性可分性极强的特色示意,从而仅须要简略的线性解码器即能够达到很好的成果。此外,应用更大规模的编码器,ViTPose 的性能持续上升,展现了 ViTPose 良好的扩展性。
2.3 ViTPose 的数据灵活性
表 2 应用不同预训练数据的 ViTPose 在 MS COCO 的性能比照
在过往的试验中,应用 ImageNet 对编码器进行预训练曾经成为了一种默认设置。然而,对于姿势预计工作来说,这引入了额定的数据需要。为了摸索应用 ImageNet 数据进行预训练是否是不可避免的,ViTPose 摸索了是否只应用姿势预计数据(MS COCO 和 AI Challenger 数据)进行预训练。后果如表 2 所示,无论是否应用人体的地位(人体实例的检测框标注)进行裁剪操作,只应用姿势预计的数据进行预训练的 ViTPose 在应用更少的数据量的状况下达到了和应用 ImageNet 数据进行预训练的 ViTPose 相当的成果。
2.4 ViTPose 的构造灵活性
表 3 应用不同注意力形式的 ViTPose 性能
因为应用全注意力形式的计算复杂度,在应用大尺寸特色图进行训练时,ViTPose 模型的显存耗费会大幅度增长。为此,ViTPose 也摸索了是否在微调阶段应用不同的注意力形式进行计算。如表 3 所示,应用窗口注意力机制的 ViTPose 在占用更少显存耗费的状况下能够达到和应用全注意力机制的 ViTPose 相当的成果。
2.5 ViTPose 的训练灵活性
表 4 应用不同模块进行训练的 ViTPose 性能
为了充沛摸索 ViTPose 中各个模块对于姿势预计工作的奉献,ViTPose 进一步摸索了仅应用 FFN 模块或者 MHSA 模块进行训练而放弃其余模块不动的训练形式。后果如表 4 所示。仅调整 FFN 模块能够达到和全副可训练相当的成果,而只训练 MHSA 模块则会带来较大的性能降落,阐明 FFN 模块负责更多特定工作相干的建模,在上游工作迁徙学习中施展更大作用。
2.6 ViTPose+ 应用 MoE 机制扩大多数据集
图 2 ViTPose+ 中的 FFN-MoE 构造
表 5 ViTPose+ 性能比拟
然而,不同的姿势预计数据集有不同的散布,简略通过繁多模型来建模不同的姿势预计数据集会因为数据集之间的抵触造成各个数据集上的性能降落。例如,应用动物数据集和人体数据集进行联结训练会影响人体姿势预计性能(如表 5 中 I -FFN 所示)。为解决这一问题,ViTPose+ 模型摸索了应用 MoE 机制来解决数据集抵触的问题,如图 2 所示,通过注意力机制解决后的特色会分块输出 FFN 模块中进行解决。通过本人数据集独有的局部和各个数据集共享的局部解决后的 FFN 模块会拼接起来输出到之后的模块中。如表 5 所示,这一机制超过了多任务学习的基线办法(MT Baseline),并与应用独立和共享 FFN 模块(IS-FFN)获得了相当的成果,但节俭了更多的参数量。
三、试验后果
3.1 主观后果
表 6 在 MS COCO 数据集上不同模型采纳 Top-down 检测范式的性能
表 7 在 MS COCO 数据集上不同模型采纳 Bottom-up 检测范式的性能
如表 6 和表 7 所示,ViTPose 在 top-down 和 bottom-up 两种检测形式下达到了和之前模型相当或者更好的成果。应用更多数据集联结训练的 ViTPose+ 系列模型达到了更好的速度和性能的均衡,如 ViTPose+- S 模型在 22M 的参数量下达到了 1439fps 的速度和 75.8 AP 的准确度。这展现了应用简略视觉 transformer 在姿势预计工作上的后劲和可能性。
3.2 主观后果
图 3 MS COCO 主观后果展现
图 4 AI Challenger 主观后果展现
图 5 OCHuman 主观后果展现
图 6 MPII 主观后果展现
图 7 WholeBody 主观后果展现
图 8 动物主观后果展现
如图 3 - 8 所示,ViTPose+ 在多个姿势预计数据集和多种姿势预计工作上均能够失去优异的后果,较好的应答遮挡、截断等多种富裕挑战性的场景。这充沛展示了简略的视觉 transformer 作为姿势预计根底模型的后劲。
四、论断
本文提出了 ViTPose,通过应用简略的视觉 transformer 进行特征提取和简略的解码器的形式,在姿势预计工作上展示了简略视觉 transformer 的简略性,可扩展性,灵活性和可迁移性。通过应用 MoE 的机制解决数据集之间的抵触,ViTPose+ 系列模型在多个姿势预计数据集上刷新了之前办法的最好后果,达到了新的 SOTA 和帕累托前沿。咱们心愿这个工作能够启发更多基于简略视觉 transformer 的工作来摸索简略视觉 transformer 在更多视觉工作上的可能性,并建设对立多个姿势预计工作的视觉根底模型。
【文章】ViTPose:https://arxiv.org/abs/2204.12484 或 https://openreview.net/pdf?id=6H2pBoPtm0s
ViTPose+:https://arxiv.org/abs/2212.04246
【代码】https://github.com/ViTAE-Transformer/ViTPose
参考文献:
[1] Yufei Xu, Jing Zhang, Qiming Zhang, and Dacheng Tao. “ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation.” Neurips 2022.
[2] Yufei Xu, Jing Zhang, Qiming Zhang, and Dacheng Tao. “ViTPose+: Vision Transformer Foundation Model for Generic Body Pose Estimation.” arXiv preprint arXiv:2212.04246 (2022). [3] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. “Deep residual learning for image recognition.” CVPR 2016.
[4] Jia Deng, Wei Dong, Richard Socher, Li-Jia Li, Kai Li, and Li Fei-Fei. “Imagenet: A large-scale hierarchical image database.” CVPR 2009.
[5] Tsung-Yi Lin, Michael Maire, Serge Belongie, James Hays, Pietro Perona, Deva Ramanan, Piotr Dollár, and C. Lawrence Zitnick. “Microsoft coco: Common objects in context.” ECCV 2014.
[6] Yuhui Yuan, Rao Fu, Lang Huang, Weihong Lin, Chao Zhang, Xilin Chen, and Jingdong Wang. “Hrformer: High-resolution vision transformer for dense predict.” Neurips 2021.
[7] Yanjie Li, Shoukui Zhang, Zhicheng Wang, Sen Yang, Wankou Yang, Shu-Tao Xia, and Erjin Zhou. “Tokenpose: Learning keypoint tokens for human pose estimation.” ICCV 2021.