基于时空注意力机制的群组行为识别方法研究
2023-06-20王传旭于潇媛
王传旭,于潇媛
(青岛科技大学 信息科学技术学院,山东 青岛 266061)
群组行为识别是通过对视频序列中群组成员运动特征的感知、计算、提纯,并归纳出稳定的、鲜明的模式,进而再通过分类归纳出代表整个群组典型行为特征的群组行为类别、以及每个成员的行为类别。近年来,它已经成为计算机视觉、人工智能等领域的热点课题,其对体育赛事分析、异常行为检测及预警、实时人群场景的视频分类等方面具有重要价值。
识别群组行为的难点是其成员之间交互关系的建模。本工作定义群组交互关系是指群组成员之间互动关系总和,它表现为某一行为过程中的成员间彼此影响、相互制约,并由此把多个成员交融为一个有序群组结构体。对此,近年提出了不少交互关系建模的深度学习方法,常见方案是图形化交互关系图模型,以此来刻画场景中成员整体的交互关系,实现群组行为的“细腻化”描述。诸如:LIU等[1]提出基于全连接的条件随机场模型捕捉并推理群组成员间的交互关系,首先,将视频图像经过卷积神经网络和长短时记忆网络,得到群组活动中每个人的观测信息,以及每个成员行为类别的初步预测;然后,基于得到的单人行为信息,定义群组中两个成员间的势函数,得出具有相近位置和相似特征信息的两个成员之间交互关系比较强,并使用全连接条件随机场推理人与人交互关系的演化,最后群组行为的识别则是通过由该二元势函数参与计算的吉布斯能量概率值实现判别。ZHANG等[2]通过对群组构造加权关系图捕捉每个成员的运动信息和上下文信息,最后通过支持向量机对群组事件进行分类。LAN等[3]提出了一种基于上下文的判别模型,用结构、功能和混合模型3种不同的方法来模拟整个群组中人与人之间的交互关系。QI等[4]通过节点RNN 和边RNN 构建个体间交互的语义关系图,从而推理得到每个子组行为和整个群组行为标签。
通过对整体成员之间的交互关系进行提取和推理,提供了群组成员之间全面的交互关系,可为群组行为识别提供重要的线索。但是,如果场景中参与成员的数量过多时,则其网络参数量就会增加,尤其是时空全连接的网络架构会导致网络负荷过大,影响群组行为识别算法的训练,进而影响识别精度。因此,构建高效轻量级交互关系模型成为后续的研究重点,本工作提出的时空注意力机制建模方案可以构建以关键成员为核心的简约交互关系,并结合关键时序子网络实现整体群组中显著性时空特征的过滤,抑制无关信息干扰。
1 总体算法框架与关键技术分析
1.1 总体框架的概述
本研究总体网络架构如图1所示,大致包含如下3个步骤:
第2步为帧级群组特征的生成。通过I3D 网络提取场景的全局信息,并与上述简约交互关系级联,获得帧级群组特征。
第3步为关键时序的优化。将获得的帧级群组特征通过层叠LSTM 得到了群组行为的预判断结果。为了获得时序的简约,本框架设计了一个支路通过提取的单人特征进行单人的行为识别,进而通过计算交合相似度系数实现时序帧的权重计算,以此优化时序信息,最后对得到的简约关键时空驱动下的交互关系特征进行分类,实现组群行为识别。
以下将针对其中的“基于图注意力网络GAT的交互关系推理”和“利用交合相似度系数进行时序提纯”两个环节重点阐述。
1.2 基于图注意力网络GAT的交互关系推理
根据预处理阶段得到的成员特征构建成员关系图,GAT 中每个节点表示一个成员,每条边代表成员与成员之间的交互关系。由于检测器检测到的N个人对整个群组行为的贡献是不一样的,本工作利用GAT 中的注意力机制对成员关系图进行提纯,得到关键节点并构建简约交互关系模型,以此抑制无关人员的干扰。
1.2.1 成员交互关系初始化图的建立
1.2.2 关键成员建模以及交互关系简约化
而节点成员重要性衡量则是根据对节点i邻域N i内K个注意力概率及其K个线性加权后平均后,经过激活函数非线性映射算出此节点的特征信息量输出,该信息输出量大则表明该节点更重要。将所有节点输出信息量的平均值E作为阈值,并若某节点输出信息量大于该阈值,则判定为关键节点,并保留该节点;仅有关键节点构成的交互关系即为简约化稀疏交互关系Key-Interaction。
最后将全局场景特征Global Feature和关键核心成员的交互关系特征Key-Interaction 进行级联得到了每一帧的群组特征Zt。
其中GlobalFeature表示场景级特征,‖表示级联操作。
1.3 利用成员行为与群组行为关联度进行时序提纯
群组行为只是发生在视频中的特定时序区间内,该视频段内的时空特征才是具有“区别性”的,应该给予足够重视,而其它时序上的内容应该予以忽略。因此,构建了关键时序检测子网路,通过预判定单人行为和群组行为,并计算两者的交合相似度作为评价时序重要性的定量指标,进而实现视频时空特征的时序简约。其过程如下:
1) 首先,将帧级群组特征序列Zt送入层叠LSTM、FC层和Re LU,预判定群组行为类别得分Gt_action=(A1,A2,…,AM)。
2) 然后,利用时序检测子网络,将场景视频经YOLO v5进行成员检测,并通过LSTM 预判断当前帧中成员个体的行为属性得分,即:
式中C表示成员个体行为类别总数,t表示当前时序帧,和wh′表示可学习参数矩阵,gt是成员的外观、位置以及轨迹特征,b′表示偏置向量,ot为单人行为属性,其取决于当前输入gt以及LSTM 层的t-1时间的隐藏状态h′t-1;
3) 最后,根据当前帧成员行为属性得分与群组行为属性得分之间的关联程度,进而获得当前帧在输入序列中的重要性权重βt,其可以通过计算集合Gt_action与集合ot=(o1,o2,…,oC)t的交合相似度系数来表示,即:
其中∩表示交集计算,n()表示求解集合中的元素数量。
将所有帧中的群组特征和时间注意权重βt加权得到视频级特征:
1.4 损失函数设计以及群组/个人行为识别
将整个网络模型的综合损失函数定义如下:
2 算法测试实验
为了验证所提模型的性能,在两个公开群组行为识别数据集上进行了测试,并且与现有的模型进行对比。
2.1 数据集简介
本实验中,采用的两个群组行为识别数据集分别是CAD 数据集[5]和Volleyball数据集[6]。
1)Volleyball数据集中标注了从55 个带有9个球员动作标签和8个群组行为标签的视频中精选的4 830个视频片段。本工作使用2/3的视频帧进行训练,剩下的1/3用于测试。此数据集的9个球员动作标签包括:Waiting,Setting,Digging,Falling,Spiking,Blocking,Jumping,Moving,Standing。8种群组行为标签,即每帧行为中N个人共同完成的场景标签:Right Set,Right Spike,Right Winpoint,Left Winpoint,Left Pass,Right Pass,Left Spike,Left Set。
2)CAD 数据集由44个短视频序列组成,由低分辨率手持相机拍摄。该数据集给每个人分配5种类型的行为标签:Crossing,Queuing,Walking,Talking和Waiting;5 个群组行为标签:Crossing,Queuing,Walking,Talking和Waiting,在所有视频序列中,每隔10帧就会标注人物的图像位置、行为类别ID 和姿态方向,其中约73%的视频用于训练,约27%的视频用于测试。
2.2 实验设置和网络参数初始化
本实验基于pytorch深度学习网络框架,ubuntu版本为20.04,cuda 版本为8.0,cudnn 版本为6.0,显卡型号为NVIDIA Corporation GP102[Ge-Force GTX 1080 Ti](rev a1)。为了降低所需内存,使用Adam 随机梯度下降算法学习网络参数,在特征提取之前将输入图像调整为240×640。对于排球数据集,训练时采用的最小批量为32帧,测试时采用的最小批量为16帧,epoch设置为200,初始学习率为0.000 2,每迭代20 次降低0.2 倍。对于CAD数据集,训练时采用的最小批量为16帧,测试时采用的最小批量为8帧,epoch设置为100,初始学习率为0.001,每迭代10次降低0.1倍。
2.3 基于Volleyball数据集的算法性能测试
2.3.1 消融实验
为了测试算法性能,设计了4种基线方法与本工作模型进行比较,结果如表1所示。
表1 模型在Volleyball数据集上各种基线方法的比较Table 1 Comparison of various baseline methods of the model on the Volleyball dataset
Baseline1 表示将原始场景视频帧经YOLO v5、RoIAlign、DeepSort以及全连接层后,进一步得到的成员初始化交互关系图,送入softmax分类器得到的识别结果,简称B1。
Baseline2在B1的基础上使用GAT 对成员初始化交互关系图进行关系推理,并将获得的成员简约交互关系特征送入分类器进行识别,简称B2。
Baseline3在B2的基础上加入了由I3D 提取的场景全局时空特征GlobalFeature,将两个特征级联后得到帧级群组特征进行识别,简称B3。
Baseline4在B3的基础上将帧级群组特征送入串联连接的层叠LSTM 网络、FC 层和ReLU 进行识别,简称B4。
Baseline5(即本工作算法)在B4 的基础上,增加时序帧交合相似度系数计算支路,将交合相似度系数与帧级群组特征加权得到视频级特征后,实现行为识别,简称B5。
经过表1实验对比可得:1)与基线方法B1相比,B2的准确率提高了0.8%,这是因为GAT 的关系推理能力简约了复杂群组的初始化交互关系建模,降低了无关人员对群组行为识别的影响,因此能够提高群组行为识别率;2)B3的准确率比B1提高了1.5%,因为加入了场景全局时空特征使得到的群组交互关系特征信息更加全面准确,从而能够更准确地识别群组行为;3)B4的准确率比B1提高了1.7%,因为层叠LSTM 除具有单层LSTM 的长时记忆功能、能够处理群组行为中长序列的上下文依赖关系并对其建模外,还可以对复杂帧级特征Zt在每一层LSTM 上建立时序关联信息,进一步把时空特征进行融合,所以效果更好。4)本方法B5达到了最佳识别效果93.8%,得益于设计的时序检测子网络,根据子网络中当前帧的行为属性得分和主网络中群组行为得分的关联程度得到当前帧的权重,将B4中的交互关系进一步简约得到强区分性的时空特征描述符,大大提高了群组行为识别的准确率。这个观察结果再次表明,噪声群组成员和冗余视频都会影响本模型的训练,而GAT 关键人物建模和交合相似度时序简约对于删除这些干扰是有效的。
2.3.2 混淆矩阵
图2显示了本方法在排球数据集上获得的混淆矩阵。从混淆矩阵中,观察到除了“Setting”和“Passing”行为准确率较低外,其它活行为准确率都表现的非常优秀,高达98%,证明了本方法的有效性。这是因为“Setting”和“Passing”活动通常看起来相似,并且在个人层面上具有相似的交互关系,容易混淆。此外,“Setting”和“Spiking”“Passing”和“Spiking”“Left Winpoint”和“Right Winpoint”也会出现一定程度的混淆。
图2 提出的模型在Volleyball数据集上的混淆矩阵Fig. 2 Confusion matrix of the proposed model on the Volleyball dataset
2.4 基于CAD数据集的算法性能测试
2.4.1 CAD 数据集特殊性及其实验设计
群组行为识别数据集大致概括为两大类,其一为场景中的大部分人做相似的行为,如CAD数据集,其群组行为则是把场景中大部分成员的行为作为群组行为。其二,群组行为的定义取决于场景中的“标志性行为”,而忽略其他“大众性平淡无奇的行为”,如图3,在图3(a)场景中标志性行为是“两个人在打架”,而周围有较多“站立围观者”。从信息量的角度定义场景群组行为也应该为“Fighting”,而非“Standing”,因 为“Fighting”行为是标志性的,是高信息量的;类似地,在Volleyball数据集场景中,如图3(b),左边球员“Spiking”行为是Volleyball场景中的“标志性行为”,而其他球员大都在“Waiting”和“Standing”,同样地,该高信息量的“Spiking”也应该定义为此时的群组行为类别。
图3 群组行为的属性取决于场景中“标志性行为”的类别Fig. 3 Attributes of group behaviors depend on the category of"iconic behaviors"in the scene
由于CAD 数据集中组群成员间的“弱交互关系”特性,故取消了“交互关系初始化人数对识别精度的影响实验”,对其只进行了消融实验和混淆矩阵分析。
2.4.2 消融实验
CAD 数据集上的消融实验结果见表2。
表2 模型在CAD数据集上各种基线方法的比较Table 2 Comparison of various baseline methods of the model on the CAD
经过对表2分析得到:1)B2与B1相比,准确率提高了0.2%,提升较小,这说明CAD 数据集对关键人物建模不太敏感;2)B3比B1的准确率提高了0.9%,比B2提高了0.7%,这说明加入场景全局时空特征是有效的;3)B4比B1提高了1.6%,比B3提高了0.7%,体现了层叠LSTM 强大的长时序动作建模功能;4)本工作方法B5比B1提高了1.9%,比B4提高了0.3%,提升较小,这表明CAD 数据集对关键时序的建模不太敏感,但整体上GAT 和ISC的特征选择能力可以用来捕捉本文的CAD 数据集中的长时间结构信息。
2.4.3 CAD 数据集的混淆矩阵
图4显示了本模型在CAD 数据集上获得的混淆矩阵,从混淆矩阵中,观察到本模型很好地用于“talking”和“Queuing”行为,表明本算法可以更好地捕获“交互关系”这一特征,并以此作为描述符进行识别,可以获得较高识别精度。然而,“Crossing”和“Walking”出现较大混淆,原因是两者有很高的相似性;此外,由于“Waiting”行为的运动特征不鲜明,并且交互关系很弱,故“Waiting”行为的识别表现也不佳。
图4 提出的模型在CAD数据集上的混淆矩阵Fig. 4 Confusion matrix of the proposed model on the CAD
2.5 与其它方法的比较
在Volleyball和CAD 数据集上的其它算法与本算法进行比较,结果如表3、表4所示。
表3 在CAD数据集上与其它方法的比较Table 3 Comparison with other methods on the CAD
表4 Volleyball上与其它方法的比较Table 4 Comparison with other methods on volleyball
依据算法特点,上述算法与本方法性能比较,可以归纳为如下3点:
1)模型中有/无交互关系建模对群组行为识别的影响。
文献[6]提出两阶段分层深度时间模型,先后得到个人级时空特征和组群级时空特征,并实现组群行为识别。文献[8]提出一种多实例基数潜在内核方法,可以通过计算个人的行为以及多少帧包含该活动来对群组的活动进行分类,即对场景中执行动作的人数关系建模并编码以排除不包含发生事件的帧和未参与群体活动的个人,依据这些编码实现群组行为分类。文献[9]提出基于语义的群组行为识别方法:SBGAR(semantics based group activity recognition),此方法分为两阶段,第一阶段是语义生成模型,此模型使用LSTM 为每个视频帧生成描述符句子,第二阶段是行为预测模型,此模型训练另一个LSTM,根据第一阶段的生成语义预测最终的行为类别。文献[14]模型提出Actor-transformer模型,通过两支路将提取的静态特征和动态特征进行初级融合,再用transformer细化和聚合成员的特征进行群组行为识别。以上4种方法都缺少交互关系建模这一关键信息的提取,使得其组群时空特征更多地只关注了底层特征,缺少高层交互关系特征的刻画,因此表现不如本研究。
2)有/无关键人物交互关系建模对群组行为识别的影响
文献[4]通过节点RNN 和边RNN 构建个体间交互的语义关系图,从而推理得到每个子组行为和整个群组行为标签。文献[7]提出结构推理机(SIM),利用循环神经网络构建同一场景中个体之间的交互关系。文献[10]采用两层LSTM 形成一个前馈深度架构建模交互关系,并端到端的训练,实现个人和群组行为识别。文献[15]通过交互关系的强弱将成员分为若干小组,精准刻画每个小组内成员的行为特征,再与I3D 网络提取的全局关系特征融合进行群组行为识别。上述4种方法虽然有交互关系建模,但没有对关键人物交互关系的建模,模型不简约,未能排除噪声干扰,因此准确率不如本工作。
3)有无关键帧建模对群组行为识别的影响[11-13]。
文献[11]提出了角色关系图,利用图卷积网络GCN 进行关系推理,以此进行关键人物的建模,但没有进行关键帧建模。文献[12]利用Bi-LSTM 模块为成员之间的交互关系建模,然后利用LSTM 模块逐步聚合具有可训练注意力权重的Bi-LSTM 潜在输出状态,根据个体成员行为与群组行为的关联程度,得到关键人物,但是整个模块缺少对时序信息的提纯。文献[13]通过CCG-LSTM 模型捕捉与群组行为相关的成员行为,并通过注意力机制量化个体行为对群组行为的贡献,也缺少对时序信息的提纯。以上3种方法都没有对关键帧建模,因此导致他们的准确率不如本工作。
3 结语
针对如何构建群组成员间的简约交互关系以及如何从时序上优选区别性强的时空特征构建简约的行为描述符,提出了一种基于时空注意力机制建模框架,并通过基线实验和对比文献算法,显示出了本工作方法的优越性。主要得益于本工作利用GAT简约成员初始化交互关系特征,与I3D 提取的场景全局时空特征结合得到精准的全局场景加局部成员简约交互关系特征,并设计一个子网络得到视频帧的重要性权重进行关键帧的判别,以此构建简约的时空行为描述符,提高群组行为识别准确率。
另一方面,本工作基于交互关系建模实现群组行为识别方法也有其不足,主要是需要较多底层特征的支持,因为交互关系建模主要是两两成员间(pair-wise)的交互关系描述,本工作采用成员的外观和位置信息、运动轨迹、邻域上下文信息等信息,来初始化交互关系,这些信息需要多目标跟踪算法作为底层特征提取的保障,但是这些底层算法的精度却是有限的,因此,导致成员间交互关系的精度有待进一步提高。