本文出自华中科技大学、北京航空航天大学、商汤科技联合团队,作者重新将 HOI 定义为了一个自适应的集合预测问题,设计了一种基于 Transformer 框架的双流 HOI 检测模型,效果远超目前的 SOTA 算法。
本文中,作者将HOI检测重新表述为一个自适应集预测问题,利用这个新的公式,论文提出了一个基于自适应集的one-stage框架(AS-Net),该框架具有并行实例和交互分支。为了实现这一点,作者将一个可训练的交互查询集映射到一个带有Transformer的交互预测集。每个查询通过多头共同关注自适应地聚合来自全局上下文的交互相关特征。此外,通过将每个地面实况与交互预测相匹配,自适应地监督训练过程。此外,作者设计了一个有效的实例感知注意模块,以将指导性特征从实例分支引入交互分支。在三个具有挑战性的HOI检测数据集上,此方法在没有任何额外的人类姿态和语言特征的情况下优于先前的先进方法。 特别是,此方法在大规模的HICO-DET数据集上实现了超过31%的相对改进。
接下来对论文作进一步介绍。
论文:
Reformulating HOI Detection as Adaptive Set Predictionhttps://arxiv.org/pdf/2103.05983.pdf代码:
GitHub - yoyomimi/AS-Net: Code for one-stage adaptive set-based HOI detector AS-Net.https://github.com/yoyomimi/AS-Net
确定要集中的图像区域对于人-对象交互(HOI)检测至关重要。传统的HOI检测器专注于检测到的人和物对或预定义的交互位置,这限制了有效特征的学习。在本文中,我们将HOI检测重新表述为一个自适应集预测问题,利用这个新的公式,我们提出了一个基于自适应集的one-st0age框架(AS-Net),该框架具有并行实例和交互分支。为了实现这一点,我们利用Transformer将一个可训练的交互查询集映射到一个交互预测集。每个查询通过多头协同注意力自适应地聚合来自全局上下文的交互相关特征。此外,通过将每个地面实况与交互预测相匹配,自适应地监督训练过程。而且,我们设计了一个有效的实例感知注意模块,以将指导性特征从实例分支引入交互分支。在三个具有挑战性的HOI检测数据集上,我们的方法在没有任何额外的人类姿态和语言特征的情况下优于先前的先进方法。特别是,我们在大规模的HICO-DET数据集上实现了超过31%的相对改进。
人-物交互(HOI)检测旨在从给定图像中识别HOI三元组,这是向高级语义理解迈出的重要一步传统的HOI方法可分为两阶段方法和一阶段方法。大多数两阶段方法检测实例(人和物),并逐一匹配检测到的人和物体,以在第一阶段形成成对建议。接下来,在第二阶段,这些方法基于裁剪的人-物成对提议的特征来推断交互。两阶段方法在HOI检测方面取得了巨大进展,但其效率和有效性受到其串行结构的限制。随着一阶段物体检测器的发展,一阶段HOI检测逐渐流行。现有的一阶段HOI检测器将HOI检测表述为并行检测问题,该问题直接从图像中检测HOI三元组。一阶段方法在效率和有效性方面都有很大的提高。
对于HOI检测来说,确定要集中在哪些区域是关键和挑战性的。为了获得交互预测的基本特征,传统的两阶段方法通常涉及额外的特征,例如人类姿态和语言。然而,即使具有额外的特征,两阶段方法仍然关注检测到的可能不准确的实例,这些实例的适应性较差,并且受到检测到的实例的限制。一阶段方法通过直接从整个图像推断交互作用,部分缓解了这些问题。这样的方法直观地定义了位置相关介质来预测交互,并且可以主要分为基于锚的方法和基于点的方法。基于锚的方法是基于每对人和物体实例的联合框来预测交互。而基于点的方法推断每个对应的人-物对的交互中点。然而,我们认为通过预定义的交互位置来预测交互是次优的。图1显示了一个示例。交互“直接”(黄色)和“驱动”(紫色)非常不同,因此需要不同的视觉特征来进行交互预测。然而,它们的联合框相当重叠(图1(a)),并且它们的交互中点非常接近(图1 (b))。因此,这些一阶段方法专注于两种不同交互的相似视觉特征。
图1.基于锚的(a)和基于点的(b)一阶段方法都推断出两种不同的交互“驱动”和“直接”位于相似的位置,并集中于相似的特征。
为了进一步解决一阶段方法中交互定位的局限性,我们将交互检测重新表述为基于集合的预测问题。我们定义了一个具有多个可学习嵌入的交互查询集和一个交互预测集。查询集合中的每个嵌入由基于Transformer的交互解码器映射到交互预测集合。通过将交互查询集馈送到多头协同注意力模块中,我们能够自适应地聚合来自全局上下文的特征。我们提出的方法将每个真实情况与相似的交互预测相匹配,用于自适应监督。因此,我们提出的方法自适应地集中于每个预测的最适合的特征,而不受传统一阶段方法的位置限制。如图1(c)所示,我们的方法聚合了左侧人的手臂特征和右侧人的姿势特征,以做出两种不同的交互预测。然后,这些预测分别与真实互动“直接”和“驱动”相匹配。
图1(c)
我们的集合预测方法(c)通过交互解码器将交互查询集合映射到交互预测集合。然后,交互预测自适应地与真实情况相匹配。为此,我们首先将一组可学习的嵌入训练为交互查询集。接下来,每个交互查询通过共同关注自适应地聚合交互相关特征。最后,我们将每个地面实况与预测进行匹配,以进行自适应监控。这种机制使我们的方法能够准确预测“驱动”和“直接”的两种交互作用。视觉上的最佳颜色。
为此,我们提出了一种新的基于自适应集的一阶段框架,即AS-Net。我们的AS-Net由两个并行分支组成:实例分支和交互分支。这两个分支都利用Transformer的编码-解码器结构,该结构利用全局特性来执行集合预测。实例分支预测每个实例的位置和类别,而交互分支预测交互向量及其对应的类别。交互向量从人类实例的中心指向物体实例的中心。我们通过将来自交互分支的每个交互向量与来自实例分支的检测到的实例进行匹配来获得预测的交互三元组。此外,我们以协同注意力的方式利用实例感知注意力模块来执行分支聚合。具体来说,该模块聚合实例分支中的信息,并将聚合的特性引入交互分支。我们还利用语义嵌入来执行更精确的人类对象匹配。
我们在三个数据集上测试了我们提出的AS-Net,例如,HICO-Det、V-COCO和HOI-A。在所有数据集中,我们提出的AS-Net优于所有其他算法。具体而言,与之前最先进的HICO-DET一阶段方法相比,我们提出的AS-Net获得了31%的相对改进。
我们的贡献可以归结为以下三个方面:
- 我们将HOI检测表述为一个集合预测问题,它打破了现有方法的以实例为中心的限制和位置限制。因此,我们的方法可以自适应地集中于最适合的特征,以提高预测精度。
- 我们提出了一种新的基于Transformer的一阶段HOI检测框架,即AS-Net。我们还设计了一个实例感知注意力模块,将实例分支中的信息引入交互分支。
- 在不引入任何额外特征的情况下,我们的方法优于所有先前最先进的方法,与HICO-DET数据集上第二好的一阶段方法相比,实现了31%的相对改进。
两阶段方法。大多数传统的HOI检测器是两级的。在第一阶段,应用物体检测器来检测实例。在第二阶段,对裁剪的实例特征进行分类以获得交互类别。除了裁剪的实例特征之外,先前的方法利用组合的空间特征、联合框特征或上下文特征来提高HOI检测的准确性。为了专注于更多与交互相关的特征,一些方法利用了额外的特征,例如人体姿态、人体部位和语言特征。然而,这种两阶段方法的串行架构损害了HOI检测的效率。此外,预测精度通常受到实例检测结果的限制。
一阶段方法。最近,具有更高效率的一阶段HOI检测方法引起了越来越多的关注。大多数一阶段方法使用自底向上的结构提取特征,并直接从图像中并行检测HOI三元组。具体而言,根据其交互预测的方式,一阶段方法可分为基于锚的方法和基于点的方法。基于锚点的方法基于每个联合框预测交互。基于点的方法在每个交互关键点(例如每个对应的人类对象对的中点)执行推理。尽管打破了实例检测的限制,但这种将每个地面真实交互预先分配给预测的方法仍然是非自适应的,并且受到交互位置的限制。
HOI检测的目的是预测
我们的AS-Net构建在Transformer的编码器-解码器结构上,并对HOI三元组进行基于并行集的预测。如图2所示,我们提出的As网络由四部分组成。我们首先利用主干(第3.1节)提取具有全局上下文的视觉特征序列。主干之后的实例(第3.2节)和交互分支(第3.3节)分别从特征序列并行检测实例和交互预测集。为了强化对交互推理有价值的实例特征,我们设计了一个实例感知注意力模块(第3.4节)来执行分支聚合。具体来说,我们在实例和交互分支中引入了语义嵌入(第3.5节),以实现更准确的三元组预测。最后,我们匹配检测到的实例和交互,以获得最终的HOI三元组(第3.6节)。
图2 提出的框架概览。首先,应用CNN和Transformer编码器来提取具有全局上下文的特征序列。然后在Transformer的解码器层上建立两个分支:a)实例分支将一组可学习的实例查询逐一变换为实例预测集b)交互分支使用交互查询集来估计交互预测集。实例感知注意力模块旨在将与交互相关的实例特征从实例分支引入到交互分支。最后,将检测到的实例与交互预测相匹配,以推断HOI三元组。
我们通过结合CNN和Transformer编码器来定义主干,以提取图像特征。编码器采用多层方式,其中每一层包括一个多头自注意力模块和一个两层前馈网络(FFN)。对于给定的图像,我们首先提取视觉特征图。然后我们利用1×1卷积将视觉特征图的通道维数从C降到d,并将该特征图重塑为特征序列
。接下来,我们将特征序列馈送到编码器,编码器通过将全局上下文引入输出特征序列
来细化特征序列。
实例分支用于对实例进行本地化和分类。在检测器DETR之后,我们的实例分支由多层Transformer解码器和几个FFN头组成。解码器的每一层都包括一个自我关注模块和一个多头共同关注模块。每个解码器层的输入是可学习位置嵌入序列的总和以及最后一层的输出。除了第一层没有最后一层的输出之外,我们向可学习的位置嵌入序列添加了0。我们首先将输入输入到自注意力模块。然后,多头协同注意力模块自适应地聚合从
到
的关键内容,其中我们将自注意力输出的
作为查询,将具有相应固定位置编码的
作为关键字。每个解码器层的顶部都有一个FFN头,用于解码来自
的一组实例预测。FFN头包括三个独立的分支。一个用于预测每个检测到的实例的
格式的标准化边界框。另一个是推断
个类别的
维得分,其中最后一个维度指的是无物体
类别。最后一个生成每种情况下独特的语义嵌入
每种情况下,将在第3.5节中解释。每个分支由一个或多个感知层组成。每个解码器层的FFN头共享权重。
训练。对于基于集的训练过程,我们首先发现检测到的实例集与真值
之间的一对一二分匹配(无实例填充∅到一组尺寸
)。为此,我们部署了一个匹配损失,这是边界框损失和实例与所有基本事实边界框之间的类别语义距离的总和。根据论文《End-to-end object detection with transformers》,边界框损失由
损失和GIoU损失组成。类别语义距离是每个真实类别的预测得分总和的负值。
预测的通用索引置换集表示为
。我们考虑
将所有匹配成本
的总和最小化为检测到的实例集的最优索引排列,我们采用匈牙利算法来计算。索引排列的第i个元素
被定义为
,并且
被公式化为:
对于具有索引排列的实例预测,预测的边界框和类别分别表示为和
。我们遵循DETR检测器来构造基于集合的实例检测损失
:
其中和
分别表示匹配的真实实例的边界框和类别,
是类别
的置信分数。
交互分支预测每个交互的交互向量和类别。它的架构类似于实例分支,它构成了一个多层Transformer解码器和几个FFN头。每个解码器层利用若干交互查询集来聚合相应的来自共享特征序列
的密钥内容
。每个解码器层配备有FFN头作为实例分支。每个FFN头也分为三个子分支。对于每个交互预测,我们预测一个具有类别和两个语义嵌入的4维交互向量,即
和
分别用于相应的人和物体实例。交互向量从标准化的人类中心
指向对象中心
。考虑到同一人物对可能存在多个交互,我们使用多标签分类器分别预测每个动词类别的得分。
训练。我们将真实交互表示为,其中v是t的交互向量,z表示t的L个真实交互类别。我们计算t与每个预测的交互之间的匹配损失,其中,v表示预测的交互向量并且z表示交互类别的置信分数。匹配成本
可通过以下公式计算:
其中,指的是
的第
个地面真相交互类别
的得分。类似于实例分支的基于集合的训练过程,我们使用匈牙利算法来找到预测交互集合
真实的最优索引分配。
对于具有索引的交互作用预测,我们将预测的交互作用向量和类别分别定义为:
和
。为了平衡每个分类器的正样本和负样本之间的比率,我们将焦点损失(表示为
)应用于交互分类的训练。此外,我们采用
损失,表示为
,用于相互作用向量的回归。相互作用损失
计算如下:
其中,和
分别为
和
的权重系数。
分析。自适应从两个方面参与了交互预测。首先,对于每个交互查询,我们将多头协同注意力应用于来自特征序列中每个元素的聚合信息。因此,每个查询可以自适应地聚合与交互相关的视觉特征。第二,我们考虑预测的相互作用向量和类别,以使每个真实相互作用与相似预测相匹配,而不是将每个真实交互预先分配给相应的预测。因此,每个交互预测可以更自适应地由最合适的真实交互来监督。
我们在每个实例和交互层之间构造了一个实例感知注意力模块,以强调交互预测的相关实例特征。
首先,我们计算实例特征和交互特征
之间的亲密度得分
:
然后,我们应用Softmax来获得实例感知注意力权重矩阵:
其中是指第j个检测到的实例相对于第i个预测交互的关注权重。最终输出实例感知注意力模块的交互特征
的公式为:
交互向量不是直接指向实例,而是指向区域。我们在匹配策略中引入了由MLP块推断的语义嵌入,而不是仅使用来自交互向量的位置指示的匹配。我们从中推断出实例分支中每个检测到的实例的语义嵌入
。在交互分支中,从
中推断出两个语义嵌入
和
,一个用于人物实例,另一个用于每个预测的物体实例。
在训练过程中,不同实例的语义嵌入被相互分开。推送程序可描述为:
式中,是指地面真实实例的总数,
是指与第i个目标实例匹配的预测实例的语义嵌入。如果两个语义嵌入之间的
距离大于阈值
,我们认为两个嵌入足够独立,并将
设置为0。
我们将引用相同实例的语义嵌入拉向彼此:
其中,我们将预测的人类语义嵌入表示为,并且将物体嵌入表示为与索引
的交互预测的
。语义嵌入
和
分别指实例和交互分支中的同一人类实例。类似地,
和
指同一物体实例。
是指真实相互作用的总数。
目标损失是上述损失的加权和:
其中是平衡不同损失的超参数。
在后处理过程中,我们首先根据预测的交互向量和语义嵌入将检测到的人类实例与物体实例进行匹配。一个好的人-物交互匹配应该满足以下三个要求:1)匹配的人/物体实例的归一化中心分别接近交互向量的起点和终点;2) 匹配的实例在其预测的类别上具有高的置信度分数;3) 引用相同匹配实例的语义嵌入彼此相似。
我们将所有检测到的实例视为物体实例。对于每个预测的相互作用向量,匹配距离D可以计算为:
其中表示检测到的人和物体实例的中心,置信度分别为
和
。
当引入语义嵌入以进行匹配时,给定实例分支的人()和物体(
)语义嵌入,交互分支的预测人(
)与物体(
)的嵌入匹配距离R可以定义为:
最终匹配成本计算为。我们将检测到的实例与每个交互预测的最小匹配成本进行匹配。每个预测三元组的HOI置信度分数是交互类别分数、匹配实例分数
和
等的乘积。具有最高N个置信分数的三元组被保存为最终的HOI三元组预测。
数据集。为了验证我们模型的有效性,我们在三个HOI检测数据集HICO-DET、V-COCO和HOI-A上进行了实验。HICO-DET包含38118张用于训练的图像和9658张用于测试的图像,包含与MS-COCO相同的80个物体类别和117个动词类别。宾语和动词构成了600类HOI三元组。V-COCO提供2533幅图像用于训练,2867幅图像用于验证,4946幅图像用于测试。V-COCO源自MS-COCO数据集,注释了29个动作类别。HOI-A数据集由38668张带注释的图像、11种物体和10个动作类别组成。
度量。根据《Learning to detect human-object interactions》,采用平均精度(mAP)作为评价指标。对于一个正预测HOI三元组,也包括正确预测的动词。
我们的实现是基于两个具有共享主干的并行6层transformer解码器,其中主干构建在具有6层自注意力编码器的ResNet-50上。在检测器DETR之后,我们基于聚合的交互相关内容在实例分支上的来推断
个实例。在交互作用分支上,我们推断出一组
个交互作用向量,其类别来自
。此外,预测的语义嵌入都具有K=8的维度。在匹配过程3.6之后,最后保留了前N=100个预测。
在训练过程中,我们将输入图像的最短边调整到范围[480,800],最长边不超过1333。我们将第3.6节中的权重系数、
和
分别设置为1、2和0.1。该模型在HICO-DET和HOI-A数据集上用AdamW训练了90个epochs,在V-COCO数据集上训练了75个epochs,学习率为
,在第70个epochs减少了10倍。在MS-COCO数据集上预训练的所有实例检测相关参数(主干和实例解码器层)都被冻结在V-COCO数据集中,并以
的学习率在其他两个数据集上进行训练。我们的实验都是在GeForce GTX 1080Ti GPU和CUDA 9.0上进行的,32个GPU上的批处理大小为64。
我们在三个HOI检测基准上进行了实验,以验证我们的AS-Net的有效性。表1、表2和表3显示,我们的AS-Net在所有三个基准中都达到了最先进水平。具体而言,在HICO-DET数据集上,与之前采用Hourglass-104作为主干的最先进的一阶段方法PPDM相比,我们的As-Net使用相对轻的主干(即ResNet-50)实现了31%的性能增益。由于两阶段方法中的目标检测器仅在MS-COCO上训练,因此,我们还显示了仅训练交互分支进行公平比较时的结果。在这种情况下,我们的AS-Net*实现了24.40%的mAP,这优于所有现有的两阶段方法,并实现了3%以上的mAP改进。
表1.HICO-DET测试集的性能比较。“P”、“L”分别表示人体姿势信息和语言特征。*表示冻结在MS-COCO数据集上预处理的实例检测相关参数。我们的一阶段模型具有71ms/14.08 FPS的高推理速度,大大超过了之前的所有工作。
表2.V-COCO测试集的性能比较。“P”、“L”分别表示人体姿势信息和语言特征。*表示冻结在MS-COCO数据集上预处理的实例检测相关参数。
我们将我们在V-COCO数据集上的结果与其他最先进的方法进行了比较。冻结在MS-COCO数据集上预处理的实例检测相关参数,我们只训练模型的其余参数。如表2所示,我们的模型在mAProle上达到53.9%,优于之前的工作。考虑到V-COCO数据集的相对较小的规模可能会削弱训练的语义嵌入的表示能力,我们使用匹配策略来测试结果,而不使用语义嵌入。
表3.HOI-A测试集的性能比较。“P”表示额外的人体姿势或身体部位信息。
表3还说明了我们在HOIA测试集上的有效性。我们达到了72.19%的mAP,优于之前的所有方法,包括采用相对较重的Hourglass-104作为主干的方法。
匹配策略。实现了两种推理匹配方法。如表4a所示,当仅使用第3.6节中的向量匹配距离D或仅使用语义嵌入距离R时,效果都会受到影响。
表4(a) 匹配策略:分析不同的匹配策略,即交互向量和语义嵌入。
语义嵌入设置。为了探索合适的语义嵌入设置,我们评估了具有不同嵌入维度K和训练损失和
的权重系数
的模型。如表4b所示,我们的模型的有效性对嵌入维度不敏感。当K从4变为32时,mAP结果的变化仅为0.66点。关于有效性和计算成本两者的权衡,嵌入维度K被设置为8。如表4c所示,当
时,模型表现最好,而当
增加或减少时,有效性将受损。
表4(b) 语义嵌入维度:语义嵌入维度的选择。
表4(c) 权重系数:不同减肥设置的影响。
单分支变量。我们实现了一个单独的分支变体,以检测实例及其交互,同时保留所有超参数。如表4d所示,该变体在HICO-DET数据集上获得25.91%的mAP,比我们的As-Net低2.96%。特别是,Rare mAP为17.88%,比我们的低6.37%。我们认为这是因为检测和交互依赖于一些不同的特征。由于缺少与交互相关的特征(如人体姿态),单分支变体更可能推断出在检测到的物体存在时频繁出现的动作。
表4(d) 成分分析:具有各种成分的变体的结果,即交互分支(Int)、实例感知注意模块(IA Attn)和语义嵌入(emb)。
实例感知注意力。通过使用实例感知注意力模块来验证分支聚合的贡献,评估了另外两个变体。如表4d所示,我们的基本模型上的实例感知注意力模块(+IA Attn×6,Int w/o emb×6)将mAP提高了0.44个点。对于具有语义嵌入的基本模型(+Int w/emb×6),使用实例感知注意模块(+IA Attn×6,Int w/emb×6,)的改进为1.12个点。因此,我们得出结论,来自实例分支的实例感知注意力特征对于交互预测是有价值的。
语义嵌入和实例感知注意力。与基本模型(基本模型,Int×6)相比,具有语义嵌入的基本模型(+Int×6w/emb)略有改进,但没有实例感知注意力,如表4d所示。作为连接预测实例和交互向量的桥梁,语义嵌入也有助于训练。然而,从结果来看,语义嵌入不如实例感知交互注意力模块强大。基于语义嵌入的基本模型,实现了几个变体,这些变体由不同的交互解码器层或注意力模块组成:1)3个具有6层交互解码器的实例感知注意力模块(+IA Attn×3,Int w/emb×6),每隔一层执行注意;2) 3个实例感知注意模块,具有3层交互解码器(+IA Attn×3,Int w/emb×3)。从表4d中可以看出,联合使用注意模块和语义嵌入,性能提高了约1点。此外,最好使用相同次数的实例感知模块和解码器层。当我们以更少的时间使用两个模块时,效率略有降低,而模型参数的数量显著减少。
如图3的前三行所示,我们分别可视化了我们的基本模型、具有语义嵌入(+Int w/emb×6)的基本模型和具有实例感知注意力模块以及语义嵌入(+IA Attn×6,Int w/emb×7)的模型中一些交互对的交互解码器注意。我们还将每个示例交互对的最后一行中的实例感知注意力可视化,以展示注意力模块如何对交互预测做出贡献。
从图3(a)中可以看出,没有任何分支聚合的基本模型专注于一些分散的冗余特征区域,而忽略了一些与交互相关的特征。从图3(b)中可以看出,带有语义嵌入的模型只是部分缓解了这个问题。例如,第一栏的数字中有一个女孩拿着伞。为了预测这种互动,基本模型集中在女孩的头部和一个不相关的人的身体上。相应地,具有语义嵌入的模型关注伞的边缘和女孩的身体,同时仍然关注不相关的人。当我们涉及实例感知注意模块时,如图3(c)和图3(d)所示,交互分支集中在整个伞和靠近伞的一些身体部位,而实例感知注意力模块集中在女孩的身体和头部。在这种分离聚焦机制中,我们的模型可以更准确地集中于特征。
图3 互动相关注意力的可视化。在每个子图中,红色的交互向量从对应的人类中心指向对象中心。
在本文中,我们将HOI检测重新表述为一个自适应集预测问题,并提出了一种新的一阶段HOI检测框架,即As-Net。通过从全局上下文中聚合与交互相关的特征,并将每个基本事实与交互预测相匹配,我们的方法在特征聚合和监督方面都显示了自适应能力。此外,设计的实例感知注意力模块有助于强化有指导意义的实例特征,我们还引入了语义嵌入来提高性能。消融实验验证了我们模型中每个关键组件的有效性。我们的AS-Net在三个HOI检测数据集上优于所有现有方法。未来,我们计划扩展AS-Net以处理更一般的关联问题,例如视觉关系检测和多对象跟踪。
以上是这篇文章的大部分内容,有些翻译可能不够准确,敬请谅解,仅供学习交流使用。