1. 引言
注视目标检测是计算机视觉领域中的一项重要的研究任务,旨在定位图像(视频帧)中的每个人物的头部位置和相应的注视目标位置,是很多视觉任务的基础性工作。视频注视目标检测旨在视频数据中检测每个视频帧中所有人物的注视目标。随着深度学习技术的发展和计算资源的不断提升,视频注视目标检测在自动驾驶、智能监控、人机交互等领域具有广泛的应用前景,因而近年来引起了人们较大的研究兴趣。
基于深度学习的注视目标检测方法能够克服基于几何特征的方法 [1] 对于使用环境存在限制的问题,因为后者必须通过眼部特征对视线进行估计。利用深度网络对场景和头部姿态等信息进行提取和处理,实现了不需要佩戴视线追踪设备、在非限制性场景下对注视目标进行检测。在这个方向上的关键一步是Recasens等人 [2] 的工作,这项工作提出了第一个相关数据集GazeFollow,并提出了一个双分支卷积神经网络,其第一个分支用于估计图像场景显著性特征,第二个分支用于获取头部位置及头部姿态特征。在随后的几项工作中, [3] [4] [5] [6] [7] 均采用了这种双分支结构的设计方式,并进一步引入了额外的组件。例如,Chong等人 [3] 在双分支结构的基础上引入了检测场景中不存在注视目标的情况(即注视目标在帧外)。随后,同样的作者 [5] 将CNN-LSTM集成到双分支结构的模型中,对视频中的注视关系进行动态建模,并提出了VideoAttentionTarget数据集。与 [5] 方法相似的是Fan等人 [8] 的方法,不同的是,他们研究的是在社交场景中的共同注视问题(两人或两人以上注视同一目标),并提出VideoCoAtt数据集。
一些研究除了从场景显著性和头部姿态中获得外,还加入了从单目深度估计器中获得的深度图 [4] [9] [10] [11] ,例如Fang等人 [12] 整合了头部姿态、眼部姿态及场景深度信息。Jin等人 [13] ,在提取场景和头部特征的基础上利用场景图深度信息和三维视线方向的基础上,利用残差特征过滤模块进一步增强各特征之间的信息融合。
与上述方法不同,Tu等人 [14] 提出的基于Transformer的注视目标检测方法,其使用卷积神经网络提取图像的高级特征,将图像特征送入Transformer编码器中强化空间特征,并利用解码器并行解码个注视关系查询构成的查询序列,取得了优于基于卷积神经网络方法的所有方法。Tonini等人 [15] ,在Tu等人 [14] 的基础上,通过建立图像每个人物和被注视目标之间的关系,引入目标感知注意力机制,在公开数据集上取得了最好的结果。相同的作者 [16] 还研究了注视目标检测中的跨域问题。
但是我们可以看出,现有的方法更多的是处理静态图像中的信息,很少关注在视频中动态的注视关系问题,即在连续的视频帧中,人物的头部姿态变化较小,但注视位置变化较大的问题。尽管Chong等人 [4] 的方法,通过Conv-LSTM对视频中的注视关系进行动态建模,但其采用的两分支结构需要一个额外的头部探测器,会大大降低在现实的应用性。 [14] [15] 提出的方法只利用Transformer在空间范围内进行建模,由于缺乏对时序信息的建模,这些方法不能很好地处理在视频中出现的注视转移、运动模糊、部分遮挡等情景。这在Tonini等人 [15] 的实验结果中有较为明显的体现,其提出的方法在图片数据集(GazeFollow)中有非常明显的性能提升,但在视频数据(VideoAttentionTarget)中的性能提升较小。所以我们认为对时序信息进行建模,对于视频中的注视目标检测是十分有必要的。
为了更好地解决在视频中的注视目标检测问题,我们提出了基于时空Transformer的端到端的视频注视目标检测模型,目的是采用端到端的方式检测视频序列中每一个视频帧中所有人的注视目标位置,我们的模型利用Transformer从空间和时间两个维度进行建模,将视频注视目标检测视为端到端的序列解码问题。根据Tu等人 [14] 的设计,我们将输出表示为个注视关系实例,格式为<头部位置,注视目标位置>,其中为当前帧中的人数。所以视频注视目标检测可以表述为一个基于集合的预测问题,我们定义了一个具有多个可学习嵌入的注视关系查询序列,作为解码器的输入,每个注视关系查询被设计为最多捕获一个注视关系实例。
为了更好的建模时序信息,受到Long等人 [17] 设计的SIFA块和Deformable DETR [18] 的启发,设计了帧间可变形注意力机制和帧间局部可变形注意力机制,两种机制都利用相邻两帧之间的时序差异,前者对动态的注视关系进行更好的建模,后者对当前帧中每个空间位置的特征进行加强。除此之外,我们还设计了时序可变形注意力机制有效地聚合多帧空间信息。
从模型整体上看,我们的模型包含特征提取模块、帧间可变形Transformer、时序Transformer和一个预测模块。特征提取模块利用卷积神经网络从单个视频帧中提取高级图像特征,之后利用帧间局部可变形注意力机制和帧间可变形注意力机制构建的帧间可变形Transformer对帧注视关系查询向量进行学习,然后通过时序Transformer将每个视频帧的注视关系查询向量和注视关系特征同时连接起来。时序Transformer包含三个部分:用于编码多帧空间信息的时序注视关系特征编码器,用于融合注视关系查询的时序注视关系查询编码器以及用于获取当前帧检测结果的时序注视关系解码器。这些模块为每个帧共享,并且可以端到端方式进行训练。通过这样的设计,可以很好地探索时间信息对动态注视关系的影响。总的来说,本文的贡献如下:
1) 我们提出了一种新的针对视频注视目标检测的模型,它可以以端到端的方式检测视频中每帧中所有人物的注视目标。
2) 我们设计了帧间可变形注意力机制和帧间局部可变形注意力机制,通过关注相邻帧的时序变化,对动态的注视关系以及模糊特征进行更好的建模,提高了模型的鲁棒性。
3) 我们设计了一种时序Transformer,同时对多帧的空间特征和注视关系查询进行融合,实现帧序列层次的时间建模。
4) 我们的模型设计了基于相邻帧间和基于视频帧序列间两种融合时间信息的的方式,并在VideoAttentionTarget和VideoCoAtt两个数据集上取得了较好的结果。
2. 相关工作
2.1. 注视目标检测
本文的主要任务是从第三人称视角采集的视频中检测每个视频帧中所有人物的头部位置及其注视目标位置。对于注视目标检测任务,Recasens等人 [2] 提出了第一个相关数据集GazeFollow,并提出了一个融合场景显著性特征和头部姿态特征的双分支卷积神经网络,在随后的几项工作中, [3] - [8] 均采用了这种双分支结构的设计方式,并进一步引入了额外的组件。Saran等人 [19] 将这种方法应用于人机交互任务中,Chong等人 [3] 将其扩展至检测注视目标不在帧内的情况。后来,同样的作者 [5] 将CNN-LSTM集成到双分支结构中,对视频中的动态注视关系进行建模,并提出VideoAttentionTarget数据集。与 [5] 方法相似的是Fan等人 [8] 的方法,不同的是,他们研究的是在社交场景中的共同注视问题(两人或两人以上注视同一目标),并提出VideoCoAtt数据集。一些研究除了从场景显著性和头部姿态中获得外,还加入了从单目深度估计器中获得的深度图 [4] [9] [10] [11] ,我们可以称之为三分支结构,例如Fang等人 [12] 整合了头部姿态、眼睛位置及场景深度信息。Jin等人 [13] ,在提取场景和头部特征的基础上利用场景图深度信息和三维视线方向的基础上,利用残差特征过滤模块进一步增强各特征之间的信息融合。与上述方法不同的是Tu等人 [14] 提出的基于Transformer的检测方法,其使用预选训练好的卷积神经网络作为特征提取主干网络,利用Transformer具有全局感受野的特点,更好地建模长距离的依赖关系,取得了优于基于卷积神经网络方法的所有方法的结果。Tonini等人 [15] ,在此基础上,通过建立图像中每个人物和被注视目标直接的关系,引入目标感知注意力,在公开数据集上取得了最好的结果。但是,除Chong等人 [5] 的工作之外,现有的方法没有考虑时序信息对于视频中注视目标检测的影响,然而 [5] 中的方法仍采用双分支的结构,其不得不需要一个额外的头部检测器,无法实现端到端的检测。对于视频中的动态注视关系,对时序信息建模是有必要的。
2.2. Transformer
Transformer [20] 最早是为了解决自然语言处理中的相关问题而提出的。以自注意力机制为关键组件,其具有捕获长期依赖的能力。所以利用Transformer全局建模的优点,将Transformer应用于计算机视觉任务,成为近年来的研究热点 [21] 。Dosovitskiy等人 [22] 提出了一种纯Transformer架构(ViT)用于解决图像分类方面的问题,并取得了最优的性能。Carion等人 [23] 利用Transformer实现了目标检测算法DETR,其将目标检测问题视为一个集合预测的问题,设置指定长度的目标查询集合在解码器中与编码器的输出做交叉注意力将图像特征序列转换成了包含对象级别信息的集合序列,最后利用多层感知机层从目标查询集合产生预测结果。Zhu等人 [18] 设计Deformable DETR,通过多尺度可变行注意力机制用于解决DETR对于小目标不敏感、计算量较大以及训练周期较长的问题,并取得了优异的性能。
对于注视关系的研究,Cheng [24] 等人首次将Transformer结构应用于视线估计任务中,其使用Transformer的编码器结构处理人的头部图像,在视线估计任务中实现了最优性能。Tu等人 [14] 首次将Transformer应用于注视目标检测的任务中,其沿用DETR的结构和预测模块设计,用“人物-注视目标”查询替代目标查询,能够同时检测人类头部的位置及其注视目标的位置,采用端到端的方式实现了注视目标检测任务。但是,目前的方法都仅利用Transformer结构对空间上下文进行建模,忽略了视频中的时序信息对于注视目标检测的影响。
3. 端到端视频注视目标检测任务设定
根据引言的描述可知,视频注视目标检测的任务是检测出每个视频帧中所有的人物头部位置和人物的注视目标位置,因为我们的目标是同时检测人物的位置和人物的注视目标的位置,所以我们将两者构成一个检测对<人物头部位置,注视目标位置>,并命名为“注视关系实例”,所以我们的任务转化为检测出视频帧中所有的“注视关系实例”。
根据上述对于任务的转化以及Tu等人 [14] 的设计,我们将视频注视目标检测问题定义为一个基于集合的预测问题。具体来说,给定一段视频,视频中的每个视频帧包含一个或多个人物以及相应的场景,我们将当前视频帧和其前后几个连续的参考帧作为输入,我们的模型被设计为检测出当前视频帧的所有人物的头部位置以及他们的注视目标,即检测出所有的“注视关系实例”。其输出可以用N个注视关系实例来表示,其中N为当前视频帧中人物的数量。在数学上,我们通过下面四个向量来定义每个注视关系实例:1) 一个由相应的视频帧大小归一化的头部边界框向量
;2) 一个表示是否头部的概率值
3) 一个表示帧外注视(注视目标在帧外)的概率值
;4) 一个注视目标热图向量
,
和
表示输出注视目标热图的空间分辨率。
具体来说,对于当前视频帧
,
为当前视频帧的时间索引,我们将其前后各i个视频帧作为其参考帧,将视频帧
和2i个参考帧构成一个连续的视频帧序列X。对于视频帧序列中的每个视频帧,我们将其表示为
,
,
。我们同时检测当前视频帧
中所有人的头部位置
,及他们的注视目标位置
。头部位置
被表示为一个边界框
,其中x和y分别表示横纵坐标,下标lt和rb分别表示边界框的左上角和右下角,即用左上角二维坐标和右下角二维坐标确定唯一的边界框。同时,注视目标
用高斯热图表示。
4. 方法
整体结构如图1所示,模型以当前帧和周围几个参考帧构成一个视频帧序列作为输入,输出当前帧(中间视频帧)中所有注视关系实例的检测结果。模型主要由以下四个部分构成:特征提取模块、帧间可变形Transformer、时序Transformer、预测模块。特征提取模块:由各视频帧共享参数的CNN主干网络用来提取视频帧的特征。帧间可变形Transformer:以相邻两帧的特征图为输入,建模两帧中前一帧的注视关系特征以及注视关系查询向量。时序Transformer包含三个组成部分:时序注视关系特征编码器用来融合来自所有的帧间可变形编码器输出的注视关系特征,形成时序注视关系特征,作为时序注视关系查询的空间线索。时序注视关系查询编码器沿时间维度连接所有的空间解码器输出的注视关系查询向量。时序注视关系解码器以时序注视关系查询编码器和时序注视关系特征编码器的输出为输入,解码产生当前视频帧的最终的注视关系查询向量,用于预测模块产生最终的预测结果。

Figure 1. Overall structure of the model
图1. 模型整体结构图
4.1. 特征提取模块
对于特征提取模块,我们使用ResNet-50 [25] 作为主干网络来提取视频帧的特征。具体来说,对于视频帧
,通过ResNet-50得到特征图
,然后将
送入一个卷积核大小为1 × 1的二维卷积层中,将通道维度由C降低到
,表示为
。其中
,
,t代表时序索引,H代表高度,W代表宽度。
4.2. 帧间可变形Transformer
根据Tu等人 [14] 的设计方式,我们的帧间可变形Transformer采用“编码器-解码器”的结构进行设计。具体来说包含一个帧间可变形编码器和一个空间解码器。Tu等人在HGTTR中设计的编码器和解码器结构使用了标准的Transformer结构,核心是多头自注意力机制和多头交叉注意力机制,与之不同的是,我们把标准的Transformer编码器中的自注意力机制替换为我们设计的帧间可变形注意力机制,提高模型对于动态注视关系的学习能力。我们还设计了帧间局部可变形注意力机制,提高了模型对于模糊特征的学习能力。空间解码器使用标准的Transformer解码器结构。
4.2.1. 帧间局部可变形注意力机制
我们从SIFA [17] 中获得启发,提出帧间可变形注意力机制,我们的帧间局部可变形注意力机制是为了利用相邻帧的局部特征信息,对当前帧的模糊特征进行加强。我们通过融合当前查询元素和在相邻帧中以当前查询元素为中心的局部区域内的特征,对当前查询元素的特征进行加强。然而,简单地在相同大小的局部区域(k × k网格)上使用注意力机制,容易忽略物体在不同帧中的不规则变换。为了缓解这一问题,我们设计了帧间局部可变形注意力模块,工作机制如图2所示。

Figure 2. The interframe local deformable attention mechanism implements the details
图2. 帧间局部可变形注意力机制实现细节
我们通过计算连续两个视频帧的特征图差异来获得时序差异线索,用两个视频帧的特征图差异来估计k × k网格内所有参考点的二维偏移量。特征图差异作为一种监督信号,指导每个参考点产生采样点。
具体来说,对于一对相邻的视频帧
和
的特征图
和
,我们首先计算两个特征图的时序差异
,公式如下:
(1)
然后,我们使用一个sigmoid函数对
进行操作,得到一个标准化的注意力图。这张注意力图包含着人物的注视关系变化趋势。因此,将注意力图
和第
帧的特征图
相乘,获得注视关系变化趋势图(Gaze Variation Trend Map, GVTM)
,公式如下:
(2)
以注视关系变化趋势图(GVTM)
为条件,我们利用偏移估计器来预测特征图
中以查询向量
位置为中心的k × k局部区域中的每个空间位置p的二维偏移量
。我们采用一个2D卷积实现偏移估计器,输出维度为2k2。
我们以特征图
的每个像素点作为查询向量
,q为查询向量的索引,并以p表示以查询向量
为中心的k×k网格中的每个空间位置,
表示每个空间位置加上偏移量后的量,即
,
是小数,所以
是小数。我们通过双线性插值对每个不规则空间位置
处的特征
进行采样,公式如下:
(3)
其中,p枚举了k × k网格中的所有整数空间位置,
表示规则空间位置p处的特征,
为双线性插值算法。在对第
帧的特征图
中所有的k2个可变形特征进行采样后,我们将其作为第t帧的特征图
中每个查询向量
的键向量
和值向量
。然后,我们通过公式4,对相邻视频帧的局部可变形区域执行注意力机制,聚合这些可变形特征,提高每个查询向量
的特征表示鲁棒性,进一步加强第t帧的特征图
的表示。
(4)
4.2.2. 帧间可变形注意力机制
自注意力机制针对特征图上的所有像素点计算关联权重。为了解决这个问题,Deformable DETR [18] 受可变形卷积 [10] 的启发,提出可变形注意力机制,即无论特征图的空间大小如何,都只关注给定的参考点周围的一小组关键采样点。可变形注意力机制通过计算参考点的偏移来得到采样点,偏移量的计算通过当前查询向量的线性映射得到。也就是说偏移量是通过输入特征的本身得到的,而没有利用到连续帧的时序线索。我们从SIFA [17] 中获得启发,提出帧间可变形注意力机制,如图所示,我们通过计算连续两个视频帧的特征图差异来获得时序线索,用两个视频帧的特征图差异来估计参考点的二维偏移量。特征图差异作为一种监督信号,指导参考点产生采样点,实现了动态采样,从而实现对于动态注视关系的时序建模。图3展示了我们提出的帧间可变形注意力机制的详细结构。

Figure 3. The interframe deformable attention mechanism implements the details
图3. 帧间可变形注意力机制实现细节
具体来说,对于一对连续视频帧
和
的特征图
和
,我们首先计算两个特征图的时序差异
,公式如下:
(5)
然后,我们使用一个sigmoid函数对
进行操作,得到一个标准化的注意力图。这张注意力图包含着人物的注视关系变化趋势。因此,将注意力图
和第
帧的特征图
相乘,获得注视关系变化趋势图(Gaze Variation Trend Map, GVTM)
,公式如下:
(6)
以注视关系变化趋势图(GVTM)作为输入,我们利用偏移估计器来预测所有参考点的位置p的二维偏移
,并采用一个2D卷积实现偏移估计器,输出通道为2MK。
具体来说,对于我们设计的帧间可变注意力机制,给定一对连续视频帧
和
的特征图
和
,我们以特征图
的每个像素点作为查询向量
,q为查询向量的索引。
表示参考点的二维坐标点,即查询向量
对应的二维坐标点。根据标准Transformer对于多头自注意力 [6] 的设计,我们将帧间可变形注意力机制扩展到多头的形式,即帧间多头可变形注意力机制,用公式表示注意力特征的计算过程如下:
(7)
上述公式中,m表示多头注意力的头的索引,M表示多头注意力的头数,k表示采样点的索引,K表示采样点的总数量。
和
表示第m个注意头中第k个采样点的采样偏移量和注意力权重。
是经过归一化后标量,表示在
范围内的注意力权重,由
进行标准化。我们将查询向量
通过线性投影和归一化得到
,输出通道为MK。
是无约束的二维实数,所以
是小数,我们使用双线性插值计算
。
和
都是可学习的权重矩阵,其中
。
4.2.3. 帧间可变形编码器(Inter-Frame Deformable Encoder, IFDE)
根据Tu等人提出的HGTTR [14] ,我们的帧间可变形编码器包含多个编码器层。如图所示,每个编码器层以帧间局部可变形注意力机制和帧间可变形注意力机制为核心,对于每个视频帧经过特征提取模块后得到的特征图
,其相邻的下一个视频帧的特征图
同时作为输入指导采样点的产生,我们首先对
的空间维度进行展平操作,维度变为作为
。由于Transformer结构与排列位置无关,我们添加一个固定的位置编码
用来补充位置信息。
和p相加后作为编码器的输入,并被学习为查询向量
、键向量
和值向量
。
(8)
其中,
,
,
都是可学习向量矩阵。我们将帧间可变形编码器的输出表示为
。
4.2.4. 空间解码器(Spatial Decoder, SD)
我们以标准的Transformer解码器结构构建我们的空间解码器,空间解码器包含多个解码器层。我们的空间解码器以自注意力机制和交叉注意力机制为核心。对于自注意力模块查询向量
、键向量
和值向量
用公式表示为:
(9)
其中,
是我们在解码器的第一层初始化的一个常数向量,
是可学习的位置编码,我们将其称之为注视关系查询向量,其中每一个注视关系查询元素对应一个注视关系实例(定义见第3节)。和编码器类似,我们将其添加到每个注意层的输入中。
是一个常数,其大小设置远大于任意一个视频中所有的注视关系实例的数量,
,
,
都是可学习向量矩阵。
对于交叉注意力模块,模块查询向量
、键向量
和值向量
用公式表示为:
(10)
其中,
是自注意模块的输出,
的设置和公式(9)中的
一样。
,
,
都是可学习向量矩阵。
总的来说,空间解码器有三个输入:来自帧间可变形编码器的输出特征,注视关系查询集合和可学习的位置编码。空间编码器将
个注视关系查询转换为一个输出嵌入,我们将空间解码器的输出表示为
。
4.3. 时序Transformer
时序Transformer包含三个组成部分:时序注视关系特征编码器用来融合来自所有的帧间可变形编码器输出的特征,形成时序注视关系特征,作为时序注视关系查询的空间线索。时序注视关系查询编码器沿时间维度连接所有的空间解码器输出的注视关系查询向量。时序注视关系解码器以时序注视关系查询编码器和时序注视关系特征编码器的输出为输入,解码产生当前视频帧的最终的时序注视关系查询向量,用于预测模块产生最终的预测结果。
4.3.1. 时序注视关系查询编码器(Temporal Gaze Query Encoder, TGQE)
如前一部分所述,可学习的注视关系查询在训练过程中自动学习整个视频帧的空间上下文特征。这意味着注视关系查询与不相邻视频帧的时间上下文无关。因此,我们提出了一个简单而有效的编码器来建模当前帧中的注视关系查询和参考帧中的注视关系查询之间的相互作用。
我们的核心思想是通过一个编码器将每个视频帧通过帧间可变形Transformer建模得到的注视关系查询连接起来,从而学习整个视频帧序列的时间上下文信息。我们将此模块命名为时序注视关系查询编码器。该编码器通过编码当前视频帧与所有参考视频帧中所有的注视关系查询,以增强当前帧的注视关系查询,它输出融合时序信息后的时序注视关系查询。
根据第3节中的设置,对于视频帧序列X中的每个视频帧
,
,我们将其经过帧间可变形Transformer后得到的注视关系查询向量
表示为
,并将其构成序列
。将序列I中的每个
通过可学习的线性映射层,得到一个具有可学习性的特征表达。时序注视关系查询编码器利用时序位置编码来保留时间序列的位置信息。可表述为:
(11)
其中,
表示线性映射层中可学习映射矩阵,通过线性映射层后与时序位置编码
相加,输入序列I变为
,其中
为线性映射后的维度。Z构成了时序注视关系查询编码器的输入。通过不同的可学习线性变化作为自注意力模块的查询向量、键向量和值向量。
时序注视关系查询编码器的输出
和输入
有着相同的特征维度大小。因为我们通过编码当前视频帧与所有参考视频帧中所有的注视关系查询,以增强当前帧的注视关系查询,得到的编码器的输出Y需要通过取帧维度中的平均值被压缩到向量
,然后通过一个使用层归一化的多层感知机模块,将结果回归到
,最后调整y的维度,将其表示为
,用来表示融合后的中间帧的注视关系查询,我们将其成为时序注视关系查询向量。
4.3.2. 时序注视关系特征编码器(Temporal Gaze Feature Encoder, TGFE)
受到Zhou等人提出TransVOD [27] 的启发,我们使用时序可变形注意力机制构建一个编码器,用于融合当前帧和参考帧的注视关系特征
,并输出增强的时序注视关系特征
,我们将其称之为时序注视关系特征编码器。编码器包含自注意力机制和时序可变形注意力机制,自注意力机制为标准Transformer自注意力模块。对于多头时序可变形注意力机制,表示如下:
(12)
上述公式中,q和k分别表示查询和键元素的索引,我们以特征图
中的每个像素点作为查询向量
。
表示参考点的二维坐标,即查询向量
对应的二维坐标点。
为
归一化坐标,坐标
代表左上角,
代表右下角。m表示多头注意力头的索引,M表示多头注意力的头数,t表示视频帧的索引,T表示视频帧索引的集合,k表示采样点的索引,K表示在所有帧特征图上的采样点总数量。
和
表示第m个注意力头中第t帧的第k个采样点的采样偏移量和注意力权重。
是经过归一化后标量,由
标准化。
是无约束范围的二维实数,我们将查询特征
通过线性投影得到
和
。因为
是小数,我们使用双线性插值计算
。
表示将归一化坐标
重新扩展到第t帧的特征图。
4.3.3. 时序注视关系解码器(Temporal Gaze Decoder, TGD)
我们以标准的Transformer解码器结构构建我们的时序注视关系解码器,其包含多个解码器层。我们的时序注视关系解码器以自注意力机制和交叉注意力机制为核心。注意力模块以时序注视关系特征编码器的输出
为输入,用于学习查询向量、键向量和值向量。
交叉注意力的输入有两部分:由自注意力模块的输出学习键向量和值向量,由时序注视关系查询编码器的输出
学习为查询向量。时序解码器的输出表示为
,用于预测模块的输入。
4.4. 预测模块
预测模块将时序解码器的解码输出的时序注视关系查询向量分解到每个注视关系查询通道中,以描述每一对注视关系。给定注视关系查询通道r,使用特征
学习头部标签
、头部位置
、观看外部标签
和注视目标位置热图
。
具体来说,我们分别使用两个由一层全连接层和softmax函数构成的多层感知机来预测头部置信度得分
和注视位置(帧内/帧外)
。同时,设置一个由三层全连接层和sigmoid函数构成的多层感知机来预测头部边界框
,以及一个由五层全连接层和sigmoid函数构成的多层感知机来预测注视目标位置热图
,表示如下:
(13)
4.5. 损失函数
原始的DETR为了避免后处理的过程,对每个对象查询的解码器的输出特征通过FFN进一步转换,以输出每个对象的类别得分和边界框位置。给定边界框和类别得分,在预测值和真实值之间应用匈牙利算法,为每个对象查询进行一对一匹配。我们遵循DETR的训练方式,并使用匈牙利算法算法进行二部匹配,匹配完成后,再按照匹配对计算损失和。
4.5.1. 二分匹配
在我们的模型输入设置中,
是足够大的,具体可见第5节的消融实验,数据集中所有视频帧中的注视关系实例均小于
,我们用
(无注视关系实例)填充真实标签,使所有的真实标签的注视关系实例集合的大小变为
。
如图中所示,模型输出一组大小固定的数据
表示预测的注视关系实例。我们将这些数据表示为
。同时,我们将真实值表示为:
,其中M表示一个视频帧中真实的注视关系实例的数量。所以,匹配的过程可以表示为:
,i表示真实值的索引,
表示匹配到的第i个真实值的预测值的索引。我们定义匹配权重函数为:
(14)
是第i个真实值和第
个预测值之间的匹配损失。匹配损失
包含四个部分:头部分类损失
使用二分类交叉熵损失、头部边界框损失
由
损失和GIoU损失构成、帧外注视损失
使用二分类交叉熵损失、注视目标热图损失
使用
损失,公式表示如下:
(15)
其中,i表示真实值的索引,
表示匹配到的第i个真实值的预测值的索引。
表示头部标签的真实值,
表示头部边界框的真实值,
表示注视目标的真实值,
表示帧外注视概率的真实值。
表示头部标签的预测值,
表示头部边界框的预测值,
表示帧外注视概率的预测值,
表示预测的注视目标热图中最大值点的坐标。
然后,我们利用匈牙利算法来确定所有的一一匹配关系,以达到最优分配。
4.5.2. 损失函数
在找到真实值和预测值之间的最优的一对一匹配后,计算损失函数公式同公式(15)所示,超参数的设置同公式(14)。
5. 实验
5.1. 数据集和评价指标
5.1.1. 数据集介绍
我们在VideoAttentionTarget [5] 和VideoCoAtt [8] 两个数据集上定量的评估了我们提出的模型的性能。
VideoAttentionTarget数据集由Youtube上各种视频来源的1331个视频剪辑组成。VideoAttentionTarget的注释包括164,541个帧级头部边界框,109,574个帧内凝视目标,54,967个帧外凝视目标。测试集包含31,978个标签,其余用于训练集。我们使用VideoAttentionTarget数据集评估我们的模型在视频注视目标检测任务中的性能。
VideoCoAtt数据集是从20个不同的电视节目或电影中精心收集的380个RGB视频序列构成的。每个视频序列持续的时间不同,从20秒左右到1分钟以上,帧率为25 fps。总共有492,100个视频帧,数据集标注了人物头部边界框及注视目标边界框,由于数据集是用于研究共同注视目标的,我们使用VideoCoAtt数据集评估我们的模型在视频中共同注视目标检测任务中的性能。
5.1.2. 评价指标
因为VideoAttentionTarget [5] 和VideoCoAtt [8] 两个数据集的标注略有不同,所以在两个数据集上使用的的评价指标略有不同,如下所述:
对于VideoAttentionTarget数据集,数据集标注给出了每个人物的头部边界框(由左上角坐标和右下角坐标确定出唯一的框)和注视点的位置(单点坐标)。我们采用标准的评价指标来评估我们模型的性能:AUC和L2距离(欧氏距离)。
:我们使用曲线下面积(AUC)标准来评估预测热图的置信度。
表示AUC值越大,模型预测精度越高。L2距离
:我们使用注视目标位置热图中最大值所对应的像素点坐标作为预测的注视目标坐标,以此来计算预测值与真实注视点之间的L2距离,我们将所有坐标点按照视频帧分辨率大小进行归一化,
表示L2距离越小,模型的预测越准确。此外,我们还使用
来评价模型在检测注视目标位置在该视频帧外还是帧内任务上性能,
表示AP值越大,模型预测精度越高。
对于VideoCoAtt数据集,数据集标注给出了每个人物的头部边界框和共同注视目标的边界框。我们使用L2距离(欧氏距离)来评价模型在检测共同注视目标任务上的性能。我们使用注视目标位置热图中最大值所对应的像素点坐标作为预测的注视目标坐标,使用注视目标边界框的中心点作为真实注视目标坐标,用两者来计算L2距离。除此之外,我们使用共同注视预测精度(Acc)来评价模型在检测共同注视帧上的性能。
:预测结果中存在共同注视的视频帧占所有标注的存在共同注视的视频帧的比例作为预测精度。
表示Acc值越大,模型预测精度越高。存在共同注视目标的定义为:一个视频帧中存在两个及两个以上人物在注视同一个目标时,此视频帧为存在共同注视的视频帧。
5.2. 实现细节
我们用PyTorch实现了我们的模型。每个视频帧在输入时,尺寸被调整为224 × 224。根据Tu等人 [14] 对于HGTTR的设计,我们使用ResNet-50 [26] 作为我们的骨干网络用来提取视频帧的特征。对于帧间可变形Transformer,我们遵循DETR [23] 的设计,使用具有6层8头256维的编码器和具有6层8头256维的解码器。我们设置时序注视关系查询编码器的层数为3,时序注视关系特征编码器的层数为1,两者的输入帧数均使用5帧(即参考帧数量为4)。时序解码器的层数为1。输出注视目标位置热图的分辨率为[64, 64]。我们通过设置高斯中心作为地面真值凝视目标的位置,并设置高斯标准差为3像素来提供地面真值凝视目标热图。我们将主干网络的学习率设为2 × 10−5,Transformer的学习率为2 × 10−4,权重衰减设为1 × 10−4,使用AdamW作为优化器,批次大小为16。所有Transformer结构的参数都是用Xavier初始化。注视关系查询数量
为20,匹配损失函数中的权值
分别设置为2,1,1,2。我们使用在ImageNet数据集上预训练的ResNet-50参数初始化我们的主干网络。在训练方式上,为了模型更快的收敛,我们首先对帧间可变形Transformer训练80个epoch,然后保持此部分参数不变,对剩下的模块训练40个epoch。
5.3. 模型的整体性能
5.3.1. 视频注视目标检测
如表1所示,我们在VideoAttentionTarget数据集上用我们的模型和之前的方法进行了定量的对比实验。需要注意的是,由于基于卷积的方法需要裁剪后的头部图像和头部位置,所以我们将对比数据分为了“HeadGT”和“ExHead”两种情况下。其中,“HeadGT”表示直接使用数据集标签中给出的真实的头部框的位置作为输入,“ExHead”表示使用一个额外的头部位置检测器。根据 [5] ,我们在VideoAttentionTarget数据集上微调了一个基于SSD的头部检测网络。

Table 1. Experimental results of the model on the VideoAttentionTarget dataset
表1. 模型在VideoAttentionTarget数据集上的实验结果
根据表1中的实验数据,可以看出我们的模型在此数据集上优于之前的所有方法。我们将之前的方法分为两大类:基于卷积提取注视特征的方法和基于Transformer提取注视特征的方法。对于基于卷积提取注视特征的方法,Chong等人 [5] 提出的VideoAttention除了考虑头部姿态、场景显著信息,额外使用Conv-LSTM融合时序信息。我们的方法提取了相邻帧间和整个序列两个维度的时序信息,提高了模型对于动态注视关系的建模能力,也取得了更好的性能表现。另外,Tu等人提出HGTTR [14] 首次使用Transformer结构提取注视关系特征,GOT在此基础上加入了目标感知注意力,提升了模型在静态场景下的表现,但是没有结合视频数据集中的时序信息,因此我们的模型在帧内注视目标的检测指标上表现均优于两者。
5.3.2. 视频共同注视目标检测
我们的方法旨在同时检测视频帧中所有人物的注视目标,因此模型在本质上非常适合用于推断社交场景中的共同注视目标。如表2所示,我们在VideoCoAtt数据集上用我们的模型和之前的方法进行了定量的对比实验。从实验结果可以看出,我们的方法在两项评价指标上均优于之前提出的所有方法。这证明,我们的模型具有在社交场景中识别高水平的人类注视关系的能力。

Table 2. Experimental results on the VideoCoAtt dataset
表2. 在VideoCoAtt数据集上的实验结果
5.4. 消融实验
为了证明我们提出的方法中关键模块的效果,我们进行了大量的实验,用来研究这些模块对于整体模型的影响。如无特别说明,均以ResNet-50作为骨干网络在VideoAttentionTarget数据集上进行消融实验。
5.4.1. 模型的各个组成模块的影响
表3展示了我们模型各个组成模块的有效性。帧间可变形Transformer、时序注视关系查询编码器、时序注视关系特征编码器和时序注视关系解码器是我们提出的四个关键模块。方法A为Tu等人提出的HGTTR,与之相对比的是方法B,仅使用帧间可变形Transformer。由于我们使用相邻两帧的特征差异,指导产生动态采样点,从而实现对于动态注视关系的建模,取得了一定的性能提升。方法C在B的基础上添加时序注视关系查询编码器,通过对视频帧序列的所有视频帧输出的注视关系查询向量进行融合,增强了当前帧的注视关系查询向量的表达性,取得了了较大的性能提升。方法D使用时序注视关系特征编码器和时序注视关系解码器,可以看出性能弱于方法C,说明时序注视关系查询编码器的作用更大。方法E使用时序注视关系查询编码器和时序注视关系解码器,相对方法B取得了更好的结果。实验结果表明,我们所提出的这些模块,对最终的模型性能提升都是有必要的。

Table 3. The ablation results were obtained for each component module of the model
表3. 对模型的各个组成模块进行消融结果
5.4.2. 参考视频帧的数量对模型性能的影响
表4展示了对于参考视频帧数量的消融研究。当参考帧数量大于1时,实验前提设置时序注视关系查询编码器为1个编码器层,时序注视关系特征编码器为1个编码器层,时序注视关系解码器为1个解码器层。实验结果表明,当参考帧数增加时,三项评价指标均会随着提高。但是当参考帧数达到4时,模型的性能将趋于稳定,综合考虑,我们在最终的模型中将参考帧的数量,设置为4,即视频帧序列的长度为5。

Table 4. The influence of the number of different reference frames on the experimental results
表4. 不同参考帧的数量对实验结果的影响
5.4.3. 帧间注视关系查询编码器的层数影响
我们对帧间注视关系查询编码器层数的消融实验结果在表5中呈现。实验前提设置参考帧数量为4,时序注视关系特征编码器层数为1,时序注视关系解码器层数为1。实验结果说明,当层数设置为3时,效果最好。当层数再增加时,性能基本保持不变。

Table 5. The effect of the number of layers of TGQE
表5. 帧间注视关系查询编码器的层数影响
5.4.4. 帧间注视关系特征编码器层数的影响
我们对帧间注视关系特征编码器中编码器层数的消融实验结果在表6中呈现。实验前提设置为参考帧数量为4,时序注视怪查询编码器的层数为1,时序注视关系解码器层数为1。实验结果表明,当编码器层的数量设置为1时效果最好,这意味着更多的编码器层数不会对最终性能带来任何好处。实验说明了通过时序可变形注意力模块将特征聚集在一个时间维度上,对于学习视频帧序列中的时间上下文信息是有用的。

Table 6. The effect of the number of layers of TGFE
表6. 帧间注视关系特征编码器的层数影响
5.4.5. 时序注视关系解码器层数的影响
表7说明了对时序注视关系解码器中解码器层数的消融研究。实验设置的基本前提为:参考视频帧的数量为4个,帧间注视关系查询编码器层数为1,帧间注视关系特征编码器层数为1。实验结果表明,在TDTD中只需要一个解码器层。

Table 7. The effect of the number of layers of TGD
表7. 时序注视关系解码器的层数影响
5.4.6. 注视关系查询集合大小Nq的影响
我们探究了不同大小的注视关系查询集合对模型性能的影响。如表8所示,当集合中注视关系查询的数量设置为30时效果最好,但在超过20时,模型的性能基本保持不变。综合考虑,我们将实例的数量设置为20。

Table 8. The effect of gaze query set size
表8. 注视关系查询集合大小的影响
5.5. 可视化结果
如图4、图5所示,两组实验均是在VideoAttentionTarget数据集上的结果。其中,图5主要表现了我们的模型在运动模糊情况下的表现。可以看出在第二帧和第三帧中出现了较严重的运动模糊,第二帧中单帧模型对于注视目标检测出现较大误差,而我们的模型检测更为精准。单帧模型对于第三帧中人物头部的检测出现较大误差,而我们的模型对于头部边界框的预测更接近真实值。图5主要表现了我们的模型在动态注视情况下的表现。可以看出从第一帧到第二帧,图中人物的注视目标有着较大的变化,但是其头部姿态的变化较小,单帧模型对于第2、3、4帧的检测均出现较大的误差,而我们的模型由于结合了时序变化信息,并且具有较长的时序信息捕获能力,预测的结果也更加精确。

Figure 4. Performance of the model in the case of motion ambiguity
图4. 模型在运动模糊情况下的表现

Figure 5. The performance of the model under dynamic gaze
图5. 模型在动态注视情况下的表现
6. 结束语
在这篇论文中,我们提出了一种新颖的端到端的视频注视目标检测模型,通过利用帧间局部可变形注意力、帧间可变形注意力和时序Transformer实现了空间、相邻帧间和视频帧序列三个维度的建模,从而提高了对空间特征和时序特征的表达能力。我们的核心思想是通过帧间局部可变形注意力提高对于空间特征的表示,通过帧间可变形注意力提高对动态注视关系的表示能力,通过时序Transformer在每一帧中聚合空间注视关系查询和注视关系特征。这些设计通过显著的提升了在视频数据上对人物注视目标的检测性能。我们还进行了大量实验来验证核心组件的有效性。我们在VideoAttentionTarget和VideoCoAtt两个公开数据集中取得了最好的性能,并且我们的工作是第一个将Transformer应用于视频注视目标检测任务。
参考文献