关于transformer:ViTPose迈向通用身体姿态估计的视觉Transformer基础模型-京东探索研究院
身材姿势预计旨在辨认出给定图像中人或者动物实例身材的关键点,除了典型的身材骨骼关键点,还能够包含手、脚、脸部等关键点,是计算机视觉畛域的根本工作之一。目前,视觉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主观后果展现 ...