CVPR2023:UniHCP:一个以人为中心的感知统一模型

论文题目:

UniHCP: A Unified Model for Human-Centric Perceptions

摘要

以人为中心的感知(例如,姿势估计、人类解析、行人检测、人的重新识别等)在视觉模型的工业应用中发挥着关键作用。虽然特定的以人为中心的任务有其相关的语义方面需要关注,但它们也共享人体的相同底层语义结构。然而,很少有工作试图利用这种同质性,并为以人为中心的任务设计一个通用的建议模型。在这项工作中,我们重新审视了一系列以人为中心的任务,并以最低限度的方式将它们统一起来。我们提出了UniHCP,这是一种以人为中心感知的统一模型,它以简化的端到端方式将各种以人为中心的任务与普通视觉转换器架构统一起来。通过在33个以人为中心的数据集上进行大规模联合训练,通过直接评估,UniHCP可以在几个领域内和下游任务上优于强基线。当适用于特定任务时,UniHCP在各种以人为中心的任务上实现了新的SOTA,例如,用于人类解析的CIHP上的69.8 mIoU,用于属性预测的PA100K上的86.18 mA,用于ReID的Market1501上的90.3 mAP,以及用于行人检测的CrowdHuman上的85.8 JI,其性能优于为每个任务定制的专用模型。代码和预训练模型在https://github.com/OpenGVLab/UniHCP.

1.简介

近年来,对以人为中心的感知的研究取得了长足的进步,已经开发了许多方法来提高姿态估计、人类解析、行人检测和许多其他以人为中心的任务的性能。这些重大进展在推动视觉模型在许多领域的应用方面发挥了关键作用,如运动分析、自动驾驶和电子零售。

尽管不同的以人为中心的感知任务有自己的相关语义信息需要关注,但这些语义都依赖于人体的相同基本结构和每个身体部位的属性。有鉴于此,有人试图利用这种同质性,并与不同的以人为中心的任务联合训练共享神经网络。例如,人类解析已与人类关键点检测、行人属性识别、行人检测或人员重新识别(ReID)一起进行了训练。这些工作的实验结果从经验上验证了一些以人为中心的任务在一起训练时可能会使彼此受益。

在这些工作的激励下,一个自然的期望是,一个更通用的一体式模型可能是一般以人为中心的感知的可行解决方案,它可以利用以人为中心任务的同质性来提高性能,能够快速适应新任务,与针对特定任务的特定模型相比,降低了大规模多任务系统部署中的内存成本负担。

然而,考虑到数据的多样性和输出结构,将不同的以人为中心的任务统一到一个通用模型中是具有挑战性的。从数据的角度来看,不同的以人为中心的任务和不同数据集中的图像具有不同的分辨率和特征(例如,白天和晚上,室内和室外),这需要一个强大的代表性网络来适应它们。从输出的角度来看,不同的以人为中心的任务的注释和预期输出具有不同的结构和粒度。尽管可以通过为每个任务/数据集部署单独的输出头来绕过这一挑战,但当任务和数据集的数量很大时,这是不可扩展的。

在这项工作中,我们旨在探索一种简单、可扩展的统一人类中心系统公式,并首次提出了一种统一人类中心感知模型(UniHCP)。如图1所示,UniHCP统一并同时处理五个不同的以人为中心的任务,即姿态估计、语义部分分割、行人检测、ReID和人属性识别。受视觉转换器非凡的能力和灵活性的启发,采用了一种简单而统一的编码器-解码器架构和普通视觉转换器来处理输入多样性,该架构以简单的前馈和端到端方式工作,可以在所有以人为中心的任务和数据集中共享,以提取一般的以人为中心知识。为了使用统一模型生成不同任务的输出,UniHCP定义了任务特定查询,这些查询在具有相同任务定义的所有数据集之间共享,并通过在不同数据集和任务之间共享的任务引导解释器解释为不同的输出单元。通过特定任务查询和通用解释器,UniHCP避免了广泛使用的特定任务输出头,这最大限度地减少了用于知识共享的特定任务参数,并使骨干编码功能在任务中可重复使用。

由于这些设计,UniHCP适合并且易于大规模执行多任务预训练。为此,我们在33个标记的以人为中心的数据集的大规模集合上预训练了一个UniHCP模型。通过利用每个任务的丰富监督信号,我们表明,与依赖于专门架构的强大基线相比,这样的模型可以同时很好地处理预训练任务中的这些任务,并具有竞争性的性能。当我们的模型适应于域和下游的特定任务时,它在几个以人为中心的任务基准上实现了新的SOTA。总之,所提出的模型具有以下特性:

统一五个不同的以人为中心的任务并同时处理它们。

基于普通transformer的共享编码器-解码器网络。

识别输出的简单任务特定查询。

与任务引导解释器的最大权重共享(99.97%的共享参数)。

可大规模训练,与任务专用模型相比表现出有竞争力的表现。

以下部分组织如下:第2节回顾了相关工作,重点是以人为中心的感知和统一模型,第3节描述了所提出的模型,第4节提供了实施细节以及经验结果和消融研究,最后,我们在第5节中总结了本文。

2.相关工作

2.1以人为中心的感知

以人为中心的感知对于实际应用至关重要,根据目标视觉概念,解码图像特征输出的方式因任务而异。具体而言,姿态估计和行人检测都是定位任务,可以通过基于回归的方法或基于热图的方法来解决。人类解析作为一个细粒度的分割问题,通常通过逐像素分类来解决。虽然基于轮廓的方法也可以获得分割掩码,但它需要实例级掩码注释,而这些注释并不总是可用的,ReID被视为特征学习任务。

最近,针对这些以人为中心的任务,提出了几种基于变压器的解决方案,在主干和解码网络上都进行了注意力块设计。然而,这些方法涉及不同的特定任务设计,因此无法无缝集成到一个模型中。在这些工作取得普遍成功的基础上,我们又迈出了一步,将以人为中心的任务统一到基于普通视觉转换器的同一架构下。

2.2.统一模型

长期以来,能够以统一的方式处理不同任务的通用模型一直是专门为不同任务定制的模型的令人垂涎的替代品。关于自然语言处理(NLP)、视觉语言和基本视觉任务的开创性工作已经表明了这种统一的跨任务模型的有效性。ExT5和OFA进一步为大规模多任务协同训练的性能优势提供了一定程度的前景。在支持视觉任务的模型中,UniHead和UViM提出了一种用于多个视觉任务的统一架构,然而,他们只是以单一任务的方式进行训练和评估。

对于支持多任务协同训练的方法,UniPerceiver专注于期望输出本质上是语言或标签的任务,这不适合以人为中心的任务。而UniT、OFA、Unified IO、和Pix2Seq v2进一步扩展了对检测、关键点检测、分割和许多其他视觉任务的支持,它们依赖于独立的解码器头或自回归建模,这些工作并不关注以人为中心的视觉任务。不同的是,我们的工作以并行前馈的方式为以人为中心的视觉任务引入了共享解码器头(任务引导解释器),这很简单,但最大限度地实现了不同任务之间的参数共享。

在以人为中心的任务的情况下,许多工作通过共同训练一对以人为中心任务而取得了巨大成功。然而,目前还没有探索一个能够处理所有具有代表性的以人为中心的任务的通用统一模型的工作。我们的工作是首次尝试设计、训练和评估一个具有大规模多任务设置的统一的以人为中心的模型。

3. UniHCP

为了在各种以人为中心的任务中共享最多的知识,我们试图最大限度地实现UniHCP中所有任务的权重共享。具体而言,如图2所示,我们的UniHCP由三个组件组成:(1)用于提取图像特征的任务不可知的转换器编码器E。(2) 转换器解码器D,根据任务特定查询{Qt}处理任务特定信息,其中t表示特定任务。(3) 任务引导解释器I产生输出单元,其中我们将多个以人为中心的感知任务的输出分解为不同粒度的可共享单元,即特征表示、局部概率图、全局概率、边界框坐标。由于只有对解码器的查询在任务之间不共享,我们可以通过设计的解释器在不同粒度上学习以人为中心的知识,并在所有任务之间实现最大的参数共享,即99.97%的共享参数。


如表1所示,我们的UniHCP的管道描述如下。

步骤1:给定从任务t中的数据集采样的图像X,通过任务不可知的转换器编码器E提取编码特征F(第3.1节)。

步骤2:具有任务特定查询Qt的变换器解码器D从编码特征F中提取任务特定特征(第3.2节)。

步骤3:通过任务引导解释器i根据查询到的任务生成输出单元,即关注特征Yf、局部概率图Ym、全局概率Yp和边界框坐标Ybbox(第3.3节)。例如,对于人类解析,两个单元:局部概率图Ym(用于语义部分分割)和全局概率Yp(用于图像中身体部分的存在),生成。

步骤4:通过反向传播计算用于优化编码器E、解码器D、任务特定查询Qt和任务引导解释器I的相应任务的损失(第3.4节)。

3.1.任务无关的变压器编码器

UniHCP使用普通视觉转换器(ViT)作为编码器。为了处理不同分辨率的输入图像,我们使用大小为84 84的共享可学习位置嵌入,并在投影后基于输入图像的空间大小对其进行插值,编码特征F可以在数学上计算为

其中PE是插值后的位置嵌入,E表示任务不可知的变换器编码器。

3.2.具有任务特定查询的解码器

为了在最大限度地实现知识共享的同时获得每个任务的最具判别力的特征,我们设计了特定于任务的查询,以引导转换器解码器只关注与任务相关的信息。

任务特定查询 任务t的任务查询表示为

其中,Nt表示任务t中表示Nt个不同语义的查询数量。对于行人属性识别、姿势估计、人类解析和ReID,查询数量分别等于属性数量、姿势关节数量、语义解析类数量和所需ReID特征的长度。对于行人检测,我们将任务特定查询Qt随机初始化为可学习嵌入Qt0,并使用以下解码器块对其进行细化。

根据常见实践,所有Qt也与位置嵌入Qtp相关联,该位置嵌入与Qt具有相同的维度,并且不在任务之间共享。与将在解码器块中逐渐细化的Qt不同,Qtp在解码器块之间共享。对于行人检测以外的任务,Qtp只是一个随机初始化的可学习位置嵌入。对于行人检测,我们有

其中AQ RN t 2是指以均匀分布初始化的N t个可学习锚点,proj是从坐标到位置嵌入的投影(关于投影仪的更多细节在补充材料中详细说明)。

解码器 转换器解码器的目的是根据任务查询来处理特定于任务的特征。我们遵循变压器解码器的标准设计[,在解码器中,对于l 1,2...,L由交叉注意模块、自注意模块和前馈模块(FFN)组成,其中L表示变压器块的数量,我们将交叉注意力置于自我注意力之前。对于每个块D1,我们通过任务查询来处理来自编码特征的任务特定信息,这些信息可以公式化为

AF RHFWF 2是F RHF WF中所有特征标记相对于原始图像的坐标,对于解码器D1中的交叉注意力,查询是 Qtl Qtl 1+Qtp,关键字是K F0+Fp,值是V F0,其中F0从编码器F的特征线性投影以对齐信道维度。交叉注意力的结果然后在Dl中传递给自我注意力。

3.3.任务导向解析

任务引导解释器I根据特定任务的请求将查询令牌Qt解释为四个输出单元。如图3所示

这四个输出单元如下:

其中C是解码器的输出维度,H W表示局部概率图的期望分辨率。

给定任务t和输出解释器I,UniHCP的输出定义如下:

其中,tt {reid,…,pose}表示任务t的任务类型,gt {gtu}是一组特定于任务的二进制门(g {0,1}),表示任务类型t的期望输出单元。

从任务到输出单元的指导 对于人类解析,局部概率图(用于语义部分分割)和全局概率(用于图像中身体部分的存在)被激活,分别对应于gsegm=1和gsegp=1。对于人物ReID,使用特征向量,对应于greidf 1。对于姿态估计,gposem=1(用于定位关键点)和gposep=1(用于图像中存在关键点)。对于检测,gdetbbox=1(对于边界框预测)和gdetp=1(对于对象的存在)。对于行人属性预测,gparp=1(对于图像中是否存在属性)。因此,全局概率的输出单元在姿势估计、人类解析、行人检测和属性识别之间共享。局部概率图的输出单元在姿态估计和人类解析之间共享。

讨论任务引导解释器独立地解释每个查询令牌 先前的工作集中于具有标记化或特定任务头的自回归解码,以处理特定任务所需的不同输出单元。相比之下,任务引导解释器可以处理涉及不同数量类的任务,并行生成所有结果,并且不需要特定于任务的头。这是通过我们的UniHCP框架中的两种设计实现的:1)类/实例信息自包含在查询中。如第3.2节所述,查询表示姿势估计、属性预测、人类解析和行人检测中的特定语义类。我们只需要从查询中检索标量概率值,就可以获得特定类/人类实例的置信度信息。2) 相同模态的输出共享相同的输出单元。例如,姿势估计中特定关节的热图和人体解析中特定身体部位的热图具有相同的维度。尽管这些输出具有不同的含义,但第4.3节中的实验结果表明,通过相同的输出单元来获得它们是合适的,并完全让特定任务的查询来处理要表示的首选信息的差异。

3.4.目标函数

在本节中,我们将介绍用于一起训练各种以人为中心的任务的目标函数,并说明这些目标如何与等式6中定义的输出单元相关。除非另有规定,否则为了简洁起见,我们省略了损失函数中的GT输入。

总体目标函数 给定数据集的集合D={D|tD {reid,…,pose}},其中tD表示数据集D的任务类型,我们还注意到tD作为数据集D中的任务,我们将总损失定义为:

其中wD是数据集D的损失权重,它是基于任务类型和批量大小计算的(计算在补充材料中详细说明)。

ReID 人物ReID是用于提取识别信息的特征学习任务,因此,我们通过身份注释直接监督解码器之后的特征。具体而言,对于ReID任务,提取的特征是所有特征向量Yf [y1f;…;yNtf]的简单级联,其中默认情况下Nt 6。损失函数是ID损失和三元组损失的组合,如下所示:

PAR 行人属性识别仅预测全局图像中是否存在属性,因此,我们只监督来自任务引导解释器的全局概率Yp的输出单元。具体来说,遵循常见的实践,我们采用加权二进制交叉熵损失,给定与NT个属性相关联的概率预测Yp,我们得到:

其中yn表示第n个属性的注释,γn表示第n属性的正示例比率。

人体解析 人体解析可以被认为是对人体部分的语义分割,我们将语义类的存在视为可预测的属性,因为语义类并不总是存在于图像中。因此,从输出单元中选择全局概率Yp和局部概率图Ym,以分别描述在图像级别(全局)和像素级别(局部)上是否存在语义部分。给定等式2中定义的查询ql。2对应于人类解析中的一个语义类,我们在行人属性识别中采用二进制交叉熵损失作为Lpar来约束全局概率Yp,并将二进制交叉熵丢失和骰子损失的组合用于监督局部概率图Ym,如下所示:

姿势估计 我们遵循常见的自上而下的姿势估计设置,即基于裁剪的人体实例预测关键点,我们预测了w.r.t的热图。通过均方误差的关键点,与人类解析公式类似,我们还选择全局概率Yp和局部概率图Ym来分别预测图像级别和像素级别中是否存在关键点。从数学上讲,我们有:

行人检测 行人检测是一项局部预测任务,但以稀疏的方式进行。根据端到端基于变换器的检测中广泛采用的设计,通过所有NT个预测和GT框之间的最优二分匹配来确定Ql中NT个查询特征的基本事实。给定输出单位Yp和Ybbox,我们采用相同的成本公式和损失,

其中Lcls、Liou和LL1分别是焦点损失、GIoU损失和L1损失,它们相应的损失权重λ也与[110]中的设置相同。

4.实验

4.1实施细节

数据集 为了实现一般的以人为中心的感知,我们在大量多样的以人为核心的数据集上大规模预训练了所提出的UniHCP。具体而言,收集33个公开可用数据集的训练分割,以形成UniHCP的训练集,包括9个用于姿势估计的数据集和6个用于ReID、人类解析、属性预测、行人检测等的数据集。对于ReID,有两个不同的子任务:常规ReID和布料更改ReID,其中的区别在于是否考虑人员ReID的布料更改。我们根据经验发现,最好将它们视为不同的任务,并使用不同的任务查询来解决它们。因此,我们将这两个子任务视为不同的任务,并为它们提供单独的查询。

我们仔细遵循[102]中介绍的重复数据消除做法,以删除可能出现在评估数据集中的样本。我们还删除了没有给出基本事实标签的图像,导致总共有230万个不同的训练样本。为了评估,除了33个训练集的可用验证或测试划分外,我们还为每种类型的以人为中心的任务包括了几个预训练外的下游数据集。关于数据集设置的更多细节可以在补充材料中找到。

训练 我们使用标准ViT-B作为编码器网络,并使用MAE预训练权重对其进行初始化。对于主要结果,我们总共使用了4324的批量大小,数据集特定的批量大小与每个数据集的大小成比例。除非另有规定,预训练中使用的图像分辨率为256 192,用于姿态估计和属性预测,256 128用于ReID,480 480用于人类解析,最大高度/宽度为1333,用于行人检测。

为了计算效率,每个GPU只运行一个特定的任务,并且每个任务可以均匀地分布到多个GPU,而单个GPU无法处理其工作负载。为了在训练时间内进一步节省GPU内存,我们在所有任务中的编码器前向传递中采用梯度检查点,并额外使用累积梯度进行检测任务。由于检测数据集对GPU内存的高需求,检测任务的批量大小被定时0.6。

我们使用Adafactor优化器,并遵循建议的修改将其应用于ViT,我们将β1=0.9,β2剪裁为0.999,禁用参数缩放和解耦权重衰减为0.05。我们将前1500次迭代的学习率线性预热到1e-3,之后学习率按照余弦衰减调度器衰减到0。我们还在ViT-B编码器中使用0.2的下降路径速率和0.75的逐层学习速率衰减。对于主要结果,整个训练过程需要105k次迭代,对于检测数据集大约为130个epoch,对于其他数据集大约是200个epoch。整个训练在88个NVIDIA V100 GPU上总共花费了120个小时。

4.2.主要结果

为了证明UniHCP作为以人为中心的感知的统一模型的能力,我们首先在预训练阶段出现的13个数据集上评估我们的UniHCP(见第4.2.1节),例如CIHP。此外,我们使用了五个训练分割不包括在预训练阶段的数据集来评估UniHCP的跨数据集可转移性(见第4.2.2节)。我们还证明,UniHCP有潜力有效地转移到预训练中没有出现的新数据集,只使用少量图像(见第4.2.3节)。对于详细的评估配置,请参阅补充资料。

4.2.1预训练数据集结果

我们对13个预训练数据集进行了广泛的评估,以证明我们的UniHCP的有效性。

表3-7总结了UniHCP对五项具有代表性的以人为中心的任务的评估结果,即人ReID、行人属性识别、人解析、行人检测和姿势估计。我们报告了我们的UniHCP的两种评估结果:(1)直接评估,其中具有跨任务共享编码器-解码器权重和任务特定查询的预训练模型直接用于对目标数据集的评估;(2)微调,其中预训练的UniHCPs先用目标数据集中的训练分割进行微调,然后进行评估。

正如所观察到的,UniHCP的直接评估结果在大多数以人为中心的任务上显示出有希望的性能,特别是在人工解析和姿势估计任务上,这些任务显示出更好或与现有技术(SOTA)不相上下的性能。例外情况是人员ReID任务,该任务观察到与SOTA存在明显的性能差距,我们认为这是由于它与其他任务的巨大差异,可以通过快速微调来弥补。

通过微调,我们的UniHCP在总共12个数据集中的9个数据集上实现了新的SOTA,在其余3个数据集中实现了相同的性能,即使没有架构中的特定任务设计或特定任务先验,这表明UniHCP可以在以人为中心的任务中提取互补知识。具体而言,表4显示,在人类属性识别任务中,UniHCP在PA-100K上和RAPv2数据集上分别显著超过了先前的SOTA DAFL+3.79%mA和+1.20%mA,这表明UniHCP很好地提取了解释器中使用全局概率输出单位的共享属性信息。其次,UniHCP还将另一项重要人工任务(即人工解析)的性能提升到了一个新的水平。具体而言,在Human3.6M、LIP和CIHP数据集上分别观察到+3.45%mIoU、+3.56%mIoU和+4.24%mIoU的性能增益。我们建议新添加的全局监督Lpar将有助于UniHCP抑制对未出现的语义部分的错误预测。UniHCP在姿态估计方面也显示出优于先前方法的性能。在个人ReID方面,UniHCP在Market1501上的表现优于TransReid,在没有评估期间任何额外的相机信息和训练图像的帮助。对于行人检测,与Iter Deformable DETR相比,我们的UniHCP实现了+1.8%的JI性能增益,并且在mAP上与Iter Sparse RCNN的性能不相上下。在五项任务的不同数据集上的这些强大性能证明了统一的以人为中心的模型和大规模预训练的可行性和强大性。

4.2.2跨数据集迁移结果

由于任务引导解释器将以人为中心的任务的所有请求公式化为四个输出单元,因此在这些单元后面学习的以人为中心知识可以很容易地转移到看不见的数据集。我们对另外五个在预训练过程中没有出现的数据集进行了评估,以评估UniHCP的可转移性。UniHCP经过微调,以适应除SenseReID之外的新数据集,SenseReID的性能通过直接评估进行测试。如表8所示,UniHCP在五分之四的数据集中优于现有的SOTA。具体而言,UniHCP实现了+0.35%pACC,+111.4%top 1,-1.6%重度闭塞MR 2( ), +在ATR、SenseReID、Caltech、MPII和PETA上分别为0.1% mAP和+1.71% mAP。在MPII上,UniHCP通过多数据集训练的SOTA实现了同等的性能,同时将单数据集训练后的SOTA提高了+0.9%mAP。值得注意的是,即使没有微调,UniHCP也能实现-8.8%的重度遮挡MR 2( ) 在单个数据集训练的SOTA上的性能增益。转移任务的持续改进为UniHCP的良好转移性提供了强有力的支持

4.2.3数据高效迁移

随着UniHCP在全数据微调设置上实现SOTA,我们进一步评估了其转移到具有极其稀缺的训练图像的新数据集的潜力,例如,每个类只有一个图像用于训练。如表9所示,通过对每类一个图像进行即时调整,UniHCL在用于解析的TR上分别实现了93.65%的pACC,在用于姿态估计的MPII上分别实现83.8%的mAP。

对于MPII的即时调优,我们只更新查询及其关联的位置嵌入。即时调整结果接近于全数据微调设置的结果,并且抑制了在大幅度裕度的情况下用每类一个图像微调整个模型的结果。此外,在人工解析和姿态估计任务上,具有即时调整的UniHCP显示出比一次性微调低得多的标准偏差,验证了UniHCP学习通用的以人为中心的表示,这有利于以低计算成本高效迁移数据。

4.3.关于权值共享的消融研究

由于UniHCP在各种以人为中心的任务上实现了理想的性能,同时在不同的任务之间共享大多数参数,一个问题仍然是更多的特定任务参数是否有利于学习。为了回答这个问题,我们在预训练过程中使用60k迭代训练计划和1k批量消除了UniHCP的三种重量共享变体。表10(b)中的结果显示,与最初的UniHCP(即基线)相比,在所有任务中统一任务引导解析的平均性能与使用特定头相当,同时减少了约30%的参数。我们还注意到,与原始UniHCP相比,使用特定于任务或特定于任务类型的解码器和解释器会导致平均性能明显下降(分别为-6.8%和-2.4%)(见表10(b)和(c)中的结果)。我们推测,在这些消融设置中,以人为中心的互补知识无法在任务之间正确共享,这导致大多数任务的性能下降。

5.结论

在这项工作中,我们提出了一个以人为中心的感知统一模型(UniHCP),基于简单的基于查询的任务公式,UniHCP可以轻松地同时处理多个明确定义的以人为中心的任务。在不同数据集上进行的大量实验表明,与特定任务模型相比,在大量以人为中心的数据集上预训练的UniHCP提供了具有竞争力的性能。当适应特定任务时,UniHCP在广泛的以人为中心的基准上获得了一系列SOTA性能。进一步的分析还证明了UniHCP在参数和数据高效传输方面的能力以及权重共享设计的好处,我们希望我们的工作能够激励未来更多的以人为中心的通用模型开发工作。

展开阅读全文

页面更新:2024-03-06

标签:模型   语义   中心   解码器   概率   行人   属性   图像   性能   数据

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top