APP下载

基于图的人-物交互识别

2021-02-04刘泽宇

计算机工程与应用 2021年3期
关键词:注意力物体对象

吴 伟,刘泽宇

中南大学 自动化学院,长沙410075

目前,目标检测[1]、分割[2]以及动作识别[3]等图像视觉检测与识别技术已经取得了长足的进展。这些任务的发展为许多相关领域奠定了坚实的基础,包括医疗、自助零售、安防等。然而,这些应用的成功实现不仅需要实例级的检测和识别,还需要对图像内容进行有效的理解。现有的图像理解研究主要集中在视觉关系检测[4]领域。人与物体交互作用(Human-Object Interactions,HOIs)的检测与识别便是视觉关系检测的一个重要分支。其目的是对给定一幅图像,在检测到一个人和一个物体的同时,识别出二者之间的相互作用(interaction),可以定义为检测图像中人类、交互行为以及物体组成的三元组,形如[5-6]。对于HOIs检测的方法可以分为两类:基于传统特征(SIFT、HOG[7]等)的联合建模方法和基于深度学习的方法。

早期对HOIs检测与识别的研究多基于传统图像手工特征。受人类感知心理学研究的推动,Gupta等人[5]首先提出了一种贝叶斯方法,该方法整合了参与理解人与物体相互作用的各种感知任务,可以同时对场景类型、场景对象、人类动作和可操作对象的概率进行估计,在提高人-物体交互作用识别效果的同时也促进了相关感知任务的性能。Yao等人[8]使用名为“grouplet”的全局图像特征来识别HOIs,以捕获HOIs的结构化信息。通过应用数据挖掘算法找寻出具有判别作用的grouplet 特征,并通过SVM 对其进行识别。Desai 等人[9]提出了一种基于模拟人体和附近物体之间的上下文相互作用的识别方法。通过同时学习对象模板,基于姿势的模板及其上下文关系,生成了一个简单而又准确的HOIs 判别模型。由于上述方法需要对于训练图像样本进行细粒度的标注,工作量巨大。因此,Prest 等人[10]提出一个弱监督学习方法,通过对图像中人的检测估计出人与物体空间关系的概率分布,大大缩小了交互对象的搜索范围。受困于较小的数据集规模,以及手工构建的低精度目标检测器,这些早期工作的识别效果非常有限。

近年来,由于深度学习的成功和大规模HOIs 数据集的出现,一些基于深度学习的HOIs 检测与识别模型应运而生[6,11]。Chao等人[6]认为人与物体的空间位置会对交互作用的识别提供线索。其使用卷积神经网络CNN 对由人与物体的边框信息bounding boxes 组成的双通道二值图像进行编码,取得了不错的效果。受到Prest 等人工作的启发,Gkioxari 等人[12]基于人类的外观特征使用混合密度网络(Mixture Density Network)来预测潜在交互物体对象的空间位置分布。采用类似于Chao等人的多流网络预测得分融合方式对HOI类别进行打分。随着注意力(Attention)机制在自然语言处理和计算机视觉领域的广泛应用,Fang等人[13]将注意机制引入HOIs 识别中,提出了一种新的成对身体注意模型(Pairwise Body-Part Attention),对与物体交互的身体部位给予更多的关注。Qi 等人[14]提出了一种完全不同的基于图解析神经网络(GPNN)的端到端解析图推理方法。图像中的所有HOIs 都可以同时预测,无需像以前的方法那样成对预测。与Prest 等人的思路相似,为了解决样本不均造成的长尾(long tail)问题,Shen 等人[15]提出了一种弱监督模型,将零样本学习(zero-shot learning)扩展到HOIs 识别中,实现对数据集中未出现过的HOIs类别的识别。

本文提出了一种基于图注意力网络的HOIs识别方法。将输入图像以HOI 图(graph)的形式进行表示,图的节点(nodes)表示图像中的实例,图的边(edges)表示图像中人类对象与物体对象的交互关系。图的节点特征通过引入注意力机制的特征处理网络(Feature Processing Network,FPNet)联合Faster R-CNN[16]生成并嵌入。最后利用图注意力网络(GAT)对HOI 图中所含的真实的人-物交互关系进行推理。本文提出的方法框架如图1所示。

图1 本文方法框架示意图

1 HOI图的构建与图节点特征表示

1.1 HOI图的构建

当前主流的方法通常采用独立的人与物体对(human-object pairs)来检测与识别图像中的HOIs。然而,由于全局信息的缺乏,当诸如遮挡等客观因素存在时,它们的性能常常受到干扰。为了解决这个问题,试图找到一种能够充分表达图像中对象之间交互关系的数据结构。在文献[17]中,对于视觉问答(Visual Question Answer,VQA)任务,提出了利用图对图像以及文本问题分别进行描述的新思路,并通过实验证明了图可以捕获单词之间以及图像中对象之间的关系。文献[18]利用时空图对视频中的人与物体的交互关系进行捕捉,借助循环神经网络(RNN)完成帧级的交互推理。在上述文献的启发下,本文最终采用了图来对图像中的对象之间的关系进行描述。

1.2 图节点的特征表示

在生成图像的图结构表示后,还需要利用对图中的每个节点嵌入一个特征向量。在本文中为了对每个节点构造一个强有力的特征表示,采用了基于注意力机制的特征处理网络FPNet(如图3)对特征图上的对象特征进行了加工,将其与上下文(context)信息进行融合,提高特征的表达能力。

图2 HOI图构建过程

图3 基于注意力机制的特征处理网络

在计算机视觉领域,上下文信息已被证实对于图像理解、目标检测以及动作识别等多个领域的发展有着非常明显的促进作用。因此本文在构建节点特征时考虑将对象的上下文信息融入以提高其鲁棒性。与直接将整个图像区域作为对象的上下文不同,受到人类视觉系统注意力特性的启发,且应该选择性地获取更有意义的上下文信息,尽可能地忽略一些无关信息。于是在本文FPNet网络的结构设计时,以Hu等人[19]提出的轻量级注意力模块SENet(如图4)为基础,进行了修改。SENet的设计思想是以输入特征张量为条件,通过全局平均池化(Global Average Pooling,GAP)结合两个全连接层(Fully Connected layer,FC)将其映射得到一组特定的通道注意力权重,将权重向量与输入张量进行通道乘法得到更有表达能力的特征。本文借鉴其设计思想,选择以对象区域卷积特征为条件,通过与SENet计算注意力权重方法类似的结构(如图3 虚线框部分)计算得到特定的注意力权重,接着与经过降维得到的特征图进行通道乘法得到以对象为条件的注意力特征图,实现对对象所在上下文信息进行有选择地利用。

图4 注意力模块SENet框图

对图3 所示整个FPNet 的网络结构可进行如下描述。输入图像在经过Faster R-CNN后得到目标对象的具体位置,接着在backbone 输出的大小为H×W×512的特征图上,提取对应区域特征图,通过感兴趣区域池化(ROI pooling)操作得到大小为7×7×512 的特征图。为了在不影响网络性能的前提下减少参数量,降低训练过程中的内存消耗,本文在此处采用与SENet 相同的GAP操作将该特征图转换为512维的特征向量。接着,通过两个FC层配合得到一个128维的注意力权重向量,以此对原特征图进行通道加权(channel-wise attention)操作,这一过程可以有效地提取目标对象的上下文信息。对得到的引入注意力的特征图再次执行GAP 操作,通过一个FC 层得到对象的上下文特征向量xcontext。最后,将目标对象特征xinstance与其上下文的特征向量xcontext进行拼接(concatenate),得到256 维的节点特征向量表示。

2 基于图注意力网络的人-物交互识别

图神经网络(Graph Neural Network,GNN)的概念最早由Gori等人[20]提出,主要用于处理图结构数据。随着越来越多的图形结构数据出现在社交网络、三维网格、电信网络等各个领域,应用于这类不规则数据的GNN 变体层出不穷,在相应的任务中表现出了优异的性能。文献[21]提出了一种多层图卷积网络(Graph Convolutional Network,GCN),将卷积思想引入到了GNN 中。然而,和大多数GNN 变体一样,GCN 需要在卷积之前知道图的结构。这意味着它只能处理固定的图结构。在人-物交互识别中,不同训练样本的图结构不同。因此需要固定图结构的网络如GCN不适合本文的任务。Velickovic 等人[22]提出的图注意力(GAT)网络可以更好地解决上述问题,它放松了对图结构的要求,可以通过自注意机制从数据中完全学习或改进。于是在本文中,采用GAT来挖掘图中的人-物交互作用。

2.1 图注意力网络

图注意力网络作为图神经网络的一个重要变体,其核心是将注意机制融入节点信息的传播过程中。通过一种自注意力(self-attention)策略对每个节点的邻居节点施以不同的注意力权重来计算每个节点的隐藏状态。图注意力网络基本构成单元为图注意层(GAT Layer),可以通过堆叠注意力层来搭建任意的图注意力网络。

图注意力层是图注意力网络的基石,其输入是一组节点特征向量其中N表示节点的数量,F是节点特征的维数。输出是一组的新的节点特征向量为节点特征的维数。的映射过程是整个图注意力层的核心所在,其工作原理主要由注意力系数的计算以及节点信息的加权聚合两部分构成。

(1)注意力系数的计算。首先,为了获取更有力的特征表达,需要对输入的节点特征采取至少一次线性变换[22]。本文在此处参考文献[22]采取一次线性变换,权重矩阵为接着对每个节点使用一个共享的注意力机制计算其对邻居节点的注意力系数。a(·)采用的是一个权重向量为的单层前馈神经网络,其以经过线性变换的节点特征向量为输入,输出每个节点对其邻居节点的初始注意力系数。并对其结果利用LeakyReLU 激活函数进行了非线性化。具体公式如下:

为了更好地观察比较对邻居节点的注意力,利用softmax函数对计算出的注意系数进行标准化处理:

其中,Ni是节点i的所有邻居节点。

(2)节点信息的加权聚合。在完成节点i对其邻居节点Ni的注意力系数αij的计算后,对节点i的输出特征可由参数W与注意力系数αij根据式(3)计算得到:

其中,K表示head的个数,即独立的注意力机制的个数;表示第k个注意力机制计算出来的相应的注意力系数;Wk表示第k个注意力机制中相应的线性变换矩阵。

2.2 基于图注意力网络的人-物交互识别

当前许多方法主要是对由目标检测器得到的所有对象按照<人,物体>这样的二元组进行组合后,再进行交互作用的一一识别。这样的做法引入了过多的人为因素,缺乏模型对<人,物体>匹配的推理能力。而本文以使模型自行推理出真实交互的人、物双方并实现交互作用的识别为目的,采取以图的形式对图像中的所有对象进行表示,并借助GAT 进行图中人与物体交互关系的推理。在2.1 节图注意力网络的介绍中可以发现,GAT的输出考虑了图中不同节点的信息,通过加权聚合的形式得到表现力更强的节点特征表示。在本文中,节点特征来自于通过FPNet 得到的包含有对象的外观与相应上下文信息的特征向量,其本身已具有很强的表达能力,再经过GAT后会得到鲁棒性更强的特征表示,这对于最终的分类任务十分重要。除此而外,GAT的核心是引入了注意力机制,实现了图中某一节点对其邻居节点信息的选择性利用。本文借助其这一特质,利用在模型输出层得到的人类节点对其邻居节点的注意力系数来自动推理出交互的双方。实验结果也证明了GAT具备挖掘人-物交互作用的能力。

2.2.1 损失函数

本文采用两层GAT模型来对HOI图中的人-物交互作用进行识别。在最后的输出层,利用sigmoid 函数对所有更新后节点特征进行处理,得到n维概率向量,其中n是交互动作类别的数量。考虑到一些节点可能同时有多个标签。例如发生如图1中的情况,一个人同时与两个物体都发生了真实的交互,则对应人类的图节点标签将同时被标记为“carry”和“hold”,鉴于此,本文选择了多标签软间隔损失函数,基本公式如下:

其中,C表示交互动作的类别数,如HICO-DET 数据集中交互动作的类别数为117。为损失函数的输入向量的元素。为标签向量的元素。在损失函数的优化上,本文选择了Adam 算法[23]来最小化模型的损失函数。

2.2.2 算法流程

本文方法的识别流程可概述为:

(1)输入RGB图像,通过2.1节进行HOI图的构建。

(2)利用FPNet对HOI图进行节点特征嵌入。

(3)通过GAT 对HOI 图上真实的人与物体的交互关系进行推理。

(4)通过GAT 输出层得到节点分类结果标(actionlabel),同时通过保留GAT 模型输出层的高注意力系数(即公式(2)中的α)来确定发生交互动作的双方(human,object),即得到对应的HOI 三元组

(5)最终的人-物交互得分是通过human 节点和交互object节点的动作概率(action label probability)相乘得到。

3 实验与结果

3.1 实验数据集与评价指标

为了评估本文方法的有效性,本文在“Human and Common Object Interaction Detection”(HICO-DET)数据集[6]和“Verb in COCO”(V-COCO)数据集[11]上进行了实验。

3.1.1 实验数据集

HICO-DET 数据集是用于HOI 研究的一个大型基准数据集,它对图像中每对发生交互的人、物体双方的空间位置都进行了详细的标注。HICO-DET 数据集中有47 776 幅图像,标注了600 种人-物交互类别(如“喂猫”“清洗小刀”),117个动作类别(如“喂”“清洗”)和80个对象类别(如“猫”“小刀”)。共有151 276个实例注释(annotation)。整个数据集中有38 118 幅图像(80%)用于训练,9 558幅图像(20%)用于测试。

V-COCO数据集是微软目标检测数据集MS COCO(Microsoft COCO:Common Objects in Context)的一个子集,共有10 346幅图像,其中5 400幅图像用于训练和验证,4 946 幅图像用于测试。数据集共注释了26 个常用的动作类,以及人和交互对象的边界框。在该数据集中,一个人不仅可以在同一个物体上执行多个动作(例如,边滑雪边握滑雪板),还可以在不同类型的物体上执行相同的动作。数据集示例如图5所示。

3.1.2 评价指标

本文针对人-物交互检测问题采用了平均精度(mean Average Precision,mAP)作为衡量方法的标准,并对判断准则进行了适当的修改,以适应本文的研究内容。在目标检测领域,如果算法预测的目标边框与真实边框(ground truth)的重叠的交并比(Intersection over Union,IoU)大于0.5,就会被认为是真阳性(True Positive,TP)。在具体实验中,本文对TP的判断做了一定的修改,规定只有满足以下三个条件,对于人-物交互的检测才能被认为是真阳性:(1)预测到人类边框和其真实边框(ground truth)之间的IoU大于或等于0.5;(2)预测到的物体边框与真实的物体边框之间的IoU 大于或等于0.5;(3)对人与交互物体之间交互动作的预测与真实发生的交互动作应一致。在本文所使用的两个数据集上对模型的性能评估均采用此评价标准。

3.2 实验细节

在本文的实验中,对于Faster R-CNN 的特征提取网络采用牛津大学提出的VGG16[24]网络。因为MS COCO 与HICO-DET 和V-COCO 数据集具有相同的对象类别,为了简化整个模型的训练过程,缩短训练时间,直接使用了在MS COCO 数据集上训练好的模型。实验中根据特定任务,本文对文献[22]中提出的GAT模型进行了调整。主要有两处调整:(1)与文献[22]中的模型设置不同,本文使用的隐藏层神经元数量是1 024。在选用此参数前,分别将其设置为256、512 以及2 048进行了测试,发现随着数量的上升,虽然模型效果有一定的提升,但相应的内存占用巨大,训练十分缓慢。在确保一定的模型效果下,折中选择了1 024,本文还在图注意网络层的线性变换运算之后加入了批处理规范化(Batch Normalization,BN)层,在提高模型收敛速度的同时也降低了过拟合的风险。(2)由于本文的目标是进行人-物交互识别,在此过程中会出现一人同时与多个物体交互的情况,这时对交互动作的识别就是一个多分类问题,对应到本文的图模型就是对图节点进行多标签分类,所以在图注意力网络输出时,用Sigmoid函数来代替原始的Softmax函数。并将原文献的交叉熵损失函数改为了如式(5)的多标签软间隔损失函数。

整个实验使用PyTorch 框架实现,并部署在一台带有Nvidia TITAN GPU 的机器上。设定的初始学习率为1E-3,每6 个阶段学习率下降0.7,批处理大小batch size为10,整个训练过程持续30 h逐渐收敛。

3.3 实验结果

3.3.1 与其他方法的比较

为了验证所提出的方法的有效性,本文与近年来在HICO-DET 和V-COCO 数据集上有较好效果的方法进行了比较。对于HICO-DET 数据集,遵循文献[6]的设置,将数据集划分为三个子集:完整(Full)、稀有(Rare)和非稀有(Non-Rare)。Full 表示使用整个数据集样本,Rare表示包含138类较少出现的人-物交互类别的集合,Non-Rare表示包含462类较常出现的人-物交互类别的集合。对于HICO-DET与V-COCO数据集,都以平均精度mAP为评价指标。本文方法在两个数据集的测试集上的结果分别呈现在表1与表2中,部分可视化结果如图6。

图5 数据集样本示例

图6 数据集测试样本可视化结果示例

表1 与其他方法在HICO-DET数据集上的平均精度均值mAP比较 %

表2 与其他方法在V-COCO数据集上的平均精度均值mAP比较%

表1 与表2 的结果表明,本文方法利用图结构对图像中对象进行表示,在捕捉到人与物体之间关系的同时也能很好地利用图像上下文信息,相对其他单一地使用对象外观信息性能更好。除此而外,本文还对主要算法在数据集上的平均测试时间进行了比较,如表3。从表3可以看出本文基于图的方法的平均测试时间较低,主要是其他方法采用成对的人-物组合去预测,当图像中人、物体数量较多时,推理时间会剧增,且这些方法采用的网络较深,参数量很大,计算耗时。

表3 主要方法的计算复杂度

3.3.2 模型相关因素考察

为了进一步探究本文方法的有效性,通过实验对整个模型的重要影响因素进行了分析。主要考虑四个方面:(1)本文提出的利用HOI 图代替全连接图的观点的必要性;(2)本文提出的FPNet 中注意力机制的必要性;(3)FPNet 的必要性;(4)GAT 层数对模型性能的影响。实验结果如表4,表中“W/o FPNet”表示去除FPNet网络后的模型,“W/o Attention”表示模型中FPNet不引入注意力机制,“FC Graph”表示采用全连接图的模型,“Single layer”表示使用单层注意力网络的模型,“Three layer”表示使用三层注意力网络的模型。所用评价指标同上。

表4 模块有效性测试%

从表4 中可看出,(1)使用全连接图的模型总体性能由于受到过多无关信息的干扰,性能反而较原模型有所下降。(2)未在FPNet 中引入注意力的模型由于其节点特征构造过程中直接将对象外观及背景的特征直接通过拼接,缺少对重点信息的提取,引入了噪声,导致节点特征的鲁棒性不好。(3)去除了FPNet 模块,将对象ROI pooling 后的特征调整到256 维后直接送入图注意力网络中。相比于完整模型其性能有了明显的下降,由此可以看出特征处理网络提供的上下文信息对模型的性能提升有很大的促进作用,能够帮本文的模型提取到更为健壮的特征表示。(4)除此以外还探索了图注意力层(GAT Layer)对整个框架性能的影响。从实验结果可以看出,无论层数是低于两层还是高于两层,模型的性能都产生了不同幅度的下降。

4 结语

本文针对静态图像中人与物体的交互识别问题,提出了一种具有双重注意力的检测与识别框架,利用图结构对图像中潜在的HOIs 进行建模,并通过引入注意力机制的FPNet 将图像上下文信息融入到图节点的特征表示中去,最后联合GAT 对真实的HOIs 加以推断。为了验证该方法的性能,本文在HICO-DET与V-COCO数据集上与其他方法进行了实验比较,结果证明了该方法的有效性。在下一步工作中,会尝试将知识图谱与本文方法进行结合,改进模型效果。

猜你喜欢

注意力物体对象
神秘来电
让注意力“飞”回来
深刻理解物体的平衡
我们是怎样看到物体的
攻略对象的心思好难猜
“扬眼”APP:让注意力“变现”
基于熵的快速扫描法的FNEA初始对象的生成方法
A Beautiful Way Of Looking At Things
区间对象族的可镇定性分析
为什么同一物体在世界各地重量不一样?