多视角边缘设备下的人体行为对比识别方法

2023-09-15 03:34张润秀许志伟
软件导刊 2023年9期
关键词:类别损失卷积

张润秀,许志伟,云 静

(1.内蒙古工业大学 数据科学与应用学院;2.内蒙古工业大学 信息工程学院,内蒙古 呼和浩特 010080;3.中国科学院计算技术研究所 北京 100190)

0 引言

在边缘环境中,高效的视频理解是实际环境部署的重要基础。边缘视频识别技术在自动驾驶、智慧医疗、智慧交通、智慧城市等方面都发挥着关键支撑作用。随着科学技术的发展,边缘设备收集数据的技术水平得以逐步提升,在实际环境中部署边缘设备的成本也逐步下降。在此基础上,人们考虑到可以利用边缘节点收集到同一对象不同视角的视频,这引发了学者们对于多视角数据的研究,其中多视角人类行为识别也是热点研究方向之一。边缘多视角数据行为识别图例如图1 所示(彩图扫OSID 码可见)。通过较好地融合多视角数据获得的丰富视角信息,可以学习到泛化性更好的模型,并且从多个视角观察到动作变化之间的相关性是一项具有挑战性的工作。从多视角学习到视角无关动作表示的行为识别是当前比较热门的问题之一,它试图突破成像角度对于行为识别的限制,使得摄像机从任意角度获取的运动都可以被准确识别与理解[1]。视角无关在智能人机互动、异常行为监控等场景的应用中十分重要,研究行为识别多视角无关特征的提取有助于推动现实应用的发展。

Fig.1 Example of multi-view data action recognition model图1 多视角数据行为识别模型示例

多视角数据行为识别研究大多基于RGB 图像、深度图像和骨骼点等多种数据融合的方式以学习视角无关的特征。Ren 等[2]提出一种双向秩池化方法以构建RGB 视觉动态图像(VDI)和深度动态图像(DDI),并且设计了一种基于多模态分层融合策略的有效分割卷积网络架构,用于人体动作识别。Wang 等[3]提出一个生成框架,以探索RGB 和深度模式中的特征分布。Cai 等[4]和Li 等[5]分别提出两种双流网络结构,有效地融合了RGB 和骨架特征。对于深度图和骨骼点的融合方法,Xu 等[6]提出一种基于双线性池和注意力网络(BPAN)的多模态动作识别模型,可以有效地融合多模态进行动作识别。尽管这些方法都显示出较好的效果,但在边缘资源受限情况下,这些方法由于融合了多种数据,时序上动作运动的计算代价过高,不适合部署在实际场景中。边缘视频识别需在无监督情况下更新模型,确保在无需连接数据中心服务器的情况下更新模型。边缘视频识别具有能够正确刻画瞬息万变的实际生产生活环境特点,能够支撑相关识别和预测工作。上述多视角行为识别方法无法在实际应用中有效地学习到视角无关的动作表示,如何在边缘设备有限的资源支撑下高效更新模型,以及如何学习视角无关的特征,特别是高效利用边缘节点收集同一对象不同视角的视频,获取更多有效特征以支持动作识别,是边缘视频识别的关键问题。因此,亟需研究一种自监督的视角无关行为识别技术,提高面向实际环境解决多角度普适问题的能力,同时保证行为识别结果的高准确率。

对比学习是适用于多视角行为识别的一种自监督方法,其最早作为一种降维方法被提出:只需要训练样本空间的相对关系(对比平衡关系)即可在空间内表示向量并将原始数据映射到一个特征空间[7]。在该特征空间中,正样本的相似性被最大化,而负样本的相似性被最小化,对比学习通过最大化正样本对之间的一致性进行学习表示[8]。本文使用对比学习实现最大化同一动作不同视角之间的一致性以获得多视角的视角无关特征。

本文提出一种基于对比学习的端到端多视角人体行为自监督识别网络,从多视角数据中学习和辨别视角无关的特征。模型将同一动作下不同视角的视频作为网络输入,基于对比学习的思想,对比各类多视角下人体的动作变化,学习到多个视角观察下不同动作中的空间不变性特征,从而获取视角无关的各类动作信息。本文模型采用多数据流输入方式,将来自不同视角和时间的多个短视频剪辑作为输入,并使用所提出的多视角人体行为识别网络学习多视角间的视角无关特征。学习到的动作表示用于在下游任务中使用分类网络的动作识别任务。本文主要贡献有3 个方面:①提出了一种边缘环境下自监督的多视角人体行为识别网络模型,可以进行端到端的训练,适用于实时视频监控、智能人机互动等实际应用场景,提供高精度在线行为识别;②模型基于对比学习理论,高效利用多视角数据,来自不同视角的视频被映射到嵌入空间中,在该嵌入空间中,通过拉近同一动作不同视角特征间的距离提取具有空间不变性的特征,从而学习到视角无关的动作表示,在多视角数据研究中保留了视角的信息,增强了模型泛化能力;③本文方法在NTU RGB+D 数据集上优于现有一些算法,在基于单一RGB 模态的自监督方法中表现出良好的识别效果,使用多个评价指标进行比较,证明了本文提出模型所学的动作表示在多视角动作识别任务中的有效性。

1 相关工作

1.1 行为识别方法

早期行为识别大多采用手工特征提取的方式,利用动作的运动轨迹进行动作分类,其中效果最好的方法为Klaser 等[9]提出的密集轨迹算法。Wang 等[10]在密集轨迹算法基础上引入背景光流消除方法,使得特征更集中于对人的运动描述。然而,这些基于特征工程的方法十分耗时费力。

深度学习方法的出现取代了传统行为识别方法。如基于3D 卷积网络的方法[11-13],基于双流卷积网络的方法[14],特征工程与深度学习相结合的方法[15]和基于图卷积网络的方法[16-17]等。文献[18]提出一种新的视角无关特征,将骨架关节点序列的时空信息编码为视角不变骨架图(VISM),并采用3D 卷积神经网络,利用VISM 的特征进行3D 动作识别。文献[19]提出一种基于骨架的动作识别方法改进卷积注意力模块(CBAM),并将改进的模块应用于自适应网络捕获通道域和空间域的隐式加权信息。文献[20]提出一种新的图卷积网络(CTR-GC)以动态学习不同的拓扑结构并有效地聚合不同通道中的联合特征,以进行基于骨架的动作识别。提出的CTR-GC 通过学习共享拓扑,并作为所有通道的通用先验,使用特定于每个通道的相关性对其加以细化,从而对通道拓扑进行建模。这些模型准确率较好,但结构复杂,动作表示计算代价高,不适合部署在边缘设备上。

1.2 多数据模态行为识别方法

近年来,使用双流和多流的行为识别方法取得了不错进展。Li 等[5]提出一种双流网络,该网络由3 个主要组件组成,即提取骨架特征的ST-GCN 网络、提取RGB 特征的R(2+1)D 网络,以及利用这些特征增强RGB 视频中动作相关信息的引导块,并利用分数融合方法进行分类。Zhao等[21]使用两个3DCNN 流(以原始深度数据和深度运动图像为输入)和一个以3D 骨骼为输入的表示流(以深度和骨骼序列为输入)进行特征提取。这3 个网络的分类分数通过加权法进行融合。这些基于多种数据模式输入的方法需要人工标注的可靠2D/3D 姿势信息,在边缘资源受限情况下,基于RGB 视频模式的自监督行为识别方法更为高效。

1.3 自监督行为识别

行为识别过程中,监督学习在深度学习领域占有主导地位,但监督学习需要大量人类标注的数据,实际场景下大量的数据没法进行人工标记,导致监督学习存在不具有实时收集数据训练的局限性。自监督学习能够解决这一难点,已有一些研究利用3D 运动预测作为自监督学习的一种方式[22-24],但需对光流方式和3D 卷积方法进行计算且成本很高,数据扩增的方法包括对边缘设备存储空间的要求[25],这些方法都无法在资源有限的边缘设备上进行部署。因此,本文采用RGB 数据输入,2D 卷积作为模型骨干网络的自监督方案。

2 自监督行为对比识别框架

本文提出端到端多视角人体行为自监督识别网络。使用多视角数据视角丰富的特点,将对比学习的思想引入人体行为识别,通过孪生神经网络模型(Siamese Network)搭建基于多视角的人体行为对比识别框架,提出的自监督网络模型可以在实际场景中提供人体行为在线识别。本文所用到的符号描述如表1所示。

Table 1 Description of symbols表1 符号描述

2.1 多视角数据嵌入

在多个角度下观察人的行为,每个观察视角下行为的运动轨迹都不同。大多数行为识别方法在使用数据进行训练时没能考虑到这一问题,从而导致行为识别准确度不高,不能很好地适应行为随角度变化而运动轨迹不同的情况。因此,本文在构建模型时采用多视角数据输入,利用视角丰富的多视角人体行为数据让模型学习到适应观察角度不同的行为特征,得到泛化性能更好的模型。

数据输入以两个视角为例,从同一行为类别的两个不同视角数据中将视频帧对(x1和x2)作为输入,iϵ{1,2,…,n}表示视频序列长度为n的时刻数,x1和x2分别表示同一行为类别中两个不同视角的视频帧。模型具体输入如下:

从同一动作两个不同视角的视频序列中采集视频帧对x1和x2。x1和x2被认为是一对相似的视频帧并作为对比数据输入,并且同一动作的每个视频采样都从同一时刻开始到同一时刻结束。样本选择如下:从数据集的其中一个视角V1数据中随机抽样N个样本,然后从另一视角V2中找到对应的样本,总样本批次大小为2N。将样本中同一动作V1和V2两个视角对应时间得到的视频帧对x1和x2作为输入。

在实验中,根据下文介绍的数据集划分,从同一时刻同一动作的两个不同视角进行帧采样作为输入。同时,按照数据集验证协议,实验将数据集中同一动作区别于前两个视角的第三视角作为测试集对训练结果进行测试。

2.2 视角不变特征学习

人体行为识别中动作表示的学习尤为重要,动作由人完成,人体姿态的变化在行为识别中是关键。实际场景中人体行为数据记录的人体姿态常常随着观测相机的视角变化而变化。但行为的本质特征是不随视角而改变的,动作特征作为行为的表示也应当不随视角而变化,因此学习视角不变的特征十分重要。

为了使用多视角数据学习视角不变的特征,模型采用Siamese Network 结构作为特征提取网络的整体框架。在模型中使用多视角数据进行对比学习得到利于行为识别的视角不变特征,在两条神经网络中共享网络参数,这是学习的关键。简单而言,通过共享参数实现了让同一个网络同时从不同视角观测某一动作,并理解不同视角下哪些是行为表示的一致性特征从而进一步拉近距离。如图2所示(彩图扫OSID 码可见),两个独立的数据从同一时刻同一动作的两个不同视角视频中采样;一个基本编码器网络f(·)和一个预测MLPg(·)被训练成用于计算对比损失,最大化同类别动作的一致性;训练完成后,使用预测MLPg(·)得到特征z,对下游任务进行处理。该网络框架包括以下主要组件:

Fig.2 Simple example of a visual feature contrast learning framework图2 视觉特征对比学习框架的简单示例

(1)一种神经网络基础编码器f(·)。神经网络基础编码器的主干网络可以由不同的卷积神经网络模型替换,用于提取视频特征。实验中所用的神经网络基础编码器由经典网络VGG16 和一个多层感知器组成,多层感知器包括输入层、隐藏层和输出层。基础编码器输入为视频帧对x1和x2,经过主干网络提取视频特征,隐藏层将视频特征映射到高维度空间后输出的特征用h表示,h=f(x)为输出层输出的二维向量。

(2)一个小型神经网络预测MLPg(·)。参考Simclr[8]和SimSiam[26],模型使用具有一个隐藏层的多层感知器获取特征z=g(h)。

(3)对比任务定义的对比损失函数。损失函数使用编码器f(·)和预测MLPg(·)提取的特征计算其空间距离,使同类动作的相似视频帧对实现最大化一致性。

2.3 自监督行为对比识别

现有的行为识别模型大多为有监督的方法,而有监督学习需要大量人工标签标注,这很难实现。大多行为识别方法无法提供在线识别,不能在实际场景中应用。MARNET 是自监督的网络模型,在对比学习的启发下,通过计算潜在空间中的对比损失,最大化同一动作不同视角之间的一致性来学习表示,可以部署在实际场景中实时学习和识别。

MAR-NET 经过Siamese Network 中的隐藏层将视频帧映射到高维度空间,然后通过对比损失比较其嵌入高维度空间特征的相似程度。具体过程如下:

一对相似视频帧x1和x2由神经网络基础编码器f(·)处理,即h=f(x),由此得到特征对h1和h2,随后经过小型神经网络预测MLPg(·)处理,即z=g(h),由此得到特征对z1和z2,编码器f(·)和预测MLPg(·)在两个视频帧之间共享权重。处理得到的特征对h1和h2以及特征对z1和z2为一对相似视频帧处理得到的特征表示对,具有一定的相似度。对于处理得到的特征表示对,通过使用余弦相似度计算两个向量的夹角余弦值以评估向量间的相似度,适用于同一动作不同视角间的相似度度量,因此,分别最小化z1和h1以及z1和h2的负余弦相似性如下:

其中,‖ · ‖2是L2 范数,这两个公式用来计算向量间的相似程度。因此,两个视角的损失函数定义为:

参考Simsiam 网络框架[28],为了防止模型崩塌,两个视角的损失函数最终定义为:

其中,stopgrad(·)是梯度停止操作,x1的编码器在第一项中没有接收到来自h1的梯度,但是在第二项中接收到来自z1的梯度(对于x2反之亦然)。

当输入角度多于2 个时,例如有x1、x2、……、xv共v个角度,对输入角度进行排列组合,以两个不同角度组成一组正样本。一组正样本的损失为(以x1、x2为例):

则v个角度的总体损失为:

Lv计算v个角度向量间的空间距离总和,在模型迭代过程中,Lv不断优化并最终得到最优解。在这一过程中,不同视角的同一动作表示在嵌入空间中的距离最大限度地被拉近。同时,在拉近同一动作不同视角的空间距离时,相同类别的动作也在嵌入空间中被拉近,不同类别的动作被拉远。不同类别的对比损失定义如下:

其中,y是判断两个样本是否匹配的标签,当两个样本的类别标签一致时y=1,当两个样本的类别标签不一致时y=0;d=‖z1-z2‖2代表两个样本特征的欧氏距离;margin为设定的阈值。

La损失能够用于在嵌入空间中有效区分不同动作类别,当两个样本标签相同,损失计算为d2,即样本为同一动作类别时,如果在嵌入空间的欧式距离较小,则损失函数越小,说明当前模型拉近同一类别动作的效果越好;当两个样本标签不同时,损失计算为max(margin-d,0)2,即样本为不同的动作类别时,其嵌入空间的欧式距离较大,损失函数减小,说明当前模型区别不同类别动作的效果越好。

因此,模型总体的损失定义为Lall:

其中,λ为损失权重,用于平衡动作的视角和类别的损失计算。

最后,在模型训练过程中,相同类别动作的多个视角在嵌入空间中被拉进,学习到视角无关的动作表示,不同类别的动作在空间中被区分开,利于下游进行行为识别。

3 实验与结果分析

3.1 实验配置

本文所有实验都在Ubuntu 16.04 环境的Caffe 深度学习框架下进行,使用一块NVIDIA GeForce RTX 2060 显卡和16 GB 内存。由两个树莓派收集不同视角下的视频并传输到边缘计算服务器,边缘计算服务器完成模型训练和动作识别。边缘计算服务器和树莓派配置如表2、表3所示。

Table 2 Configuration information of edge server hardware表2 边缘服务器硬件配置信息

Table 3 Configuration information of Raspberry Pi 4B hardware表3 树莓派(Raspberry Pi 4B)硬件配置信息

实验过程中,预处理后的视频帧输入深度学习模型,并经过主干网络VGG16 和多层感知机的学习;对不同视角的动作提取视角无关的各类行为表示,训练完成后保存预训练网络模型;对预训练网络模型微调进行下游动作分类任务。微调时使用初始模型架构,将损失换为SoftMax损失并用于动作的多分类。采用SGD 优化器,初始学习率为0.000 1,学习率衰减采用Step 机制,每1 000 轮学习率进行衰减,学习率调整倍数为0.1。损失中Margin 值为1,超参数λ设定为0.5。

3.2 数据准备

NTU-RGB+D 数据集[27]由南洋理工大学提供,包括60种动作,约56 000 个视频片段。分为三大类:40 个日常动作(饮酒、进食、阅读等)、9 个与健康相关的动作(打喷嚏、蹒跚、摔倒等)和11个互动动作(拳打脚踢、拥抱等)。RGB视频的分辨率为1 920×1 080,深度图和红外视频均为512x424,3D 骨骼数据包含每帧25 个身体关节的三维坐标。数据集采用两种不同的评估协议,分别是交叉主体和交叉视图。NTU-RGB+D 120 数据集[28]通过添加另外60类,约57 600 个视频样本以扩展NTU-RGB+D 数据集,即NTU-RGB+D 120数据集总共有120类和114 480个样本。

基于RGB 模式的人体行为识别方法通常对背景杂波敏感。考虑到该问题,对数据进行预处理:对提取的视频帧作进一步去背景处理,即估计出目标人体的大致范围后进行人体框的提取和图片裁剪。对数据集原始采样的视频帧和数据作进一步处理后的采样视频帧如图3所示。

Fig.3 Example of the original sampled picture frame of the data set and the sampled picture frame after further processing of the data图3 数据集原始采样视频帧和数据进一步处理后的采样视频帧示例

图3(a)为数据集原始采样的视频帧,图3(b)为数据进一步处理后的采样视频帧。将进一步处理后的数据放入MAR-NET 模型进行学习。模型设置与之前相同,不同的是采样视频帧有进一步处理,得到的结果与处理前的结果比较如表4 所示。通过对比可以证实采样的视频帧进行处理后对分类准确度有显著提高。

Table 4 Accuracy comparison of sampled frames after further processing表4 采样视频帧进一步处理后准确度对比(%)

本文所有实验使用的数据集均为NTU-RGB+D 数据集[28]的RGB 视频,且采用交叉视角的评估协议。同时,参考文献[29]对数据进行预处理:①将视频的分辨率从1 920×1 080×D(其中D是帧数)降低到512×384×50,在每个视频中,这50 帧的起始点相同;②估计出目标人体的大致范围后进行人体框的提取和图片裁剪;③对输入视频帧进行[0,1]区间内的归一化。

3.3 准确性分析

为了评估MAR-NET 模型性能,本文将其与目前主流的深度学习算法进行比较。表5 给出了本文模型与使用RGB 的空间卷积网络(2D 卷积)、时空卷积网络(CNN-BiLSTM)和使用骨骼的李群网络(Lie group)、时空卷积网络(Skelemotion)、时空交叉注意力网络(STAR-Transformer)的行为识别效果。可以看出,MAR-NET 同基于2D 的空间卷积相比表现出更好的性能,且与文献[31]提出的仅使用RGB 的自监督行为识别方法相比准确度提升18.7%。

Table 5 Comparison with other action recognition methods表5 与其他行为识别方法比较

MAR-NET 与使用骨骼数据的方法相比具有更好的识别准确度。但是,通过与文献[33]、文献[34]提出的方法相比可以看出,由于骨骼模态能够清晰地体现动作变化,基于骨骼的时空卷积方法为识别准确性带来较大提升。然而,在实际场景中使用骨骼存在模态缺失及提取骨骼质量劣质的问题,导致识别效果不佳。本文方法针对边缘环境中资源受限情况下的行为识别,考虑到更多现实环境因素,提高了行为识别算法实际应用时的在线识别精度。

3.4 消融实验

为了验证本文使用对比学习提出对比损失对模型性能的影响,在NTU-RGB+D 数据集上进行了3组消融实验。

(1)模型损失计算仅采用式(6)。模型设置使用与之前相同的设置,损失计算不使用不同类别间的对比损失计算,仅使用计算视角间的对比损失。得到的结果与未修改的对比损失的结果比较如表6 所示。通过对比可以证实,采用本文方法计算不同类别间的对比损失能够形成类间区别性,在特征空间中更好地约束不同行为类别的特征分布,从而得到更加准确的行为分类结果。

Table 6 Accuracy comparison of loss calculation used only by equation(6)表6 仅使用式(6)进行损失计算后的准确度比较(%)

(2)模型损失计算仅采用式(7)。模型设置使用与之前相同的设置,损失计算不使用视角间的对比损失计算,仅使用计算不同类别的对比损失。得到的结果与未修改的对比损失结果比较如表7 所示。通过对比可以证实,采用本文提出的视角间对比损失能够更加有效地学习行为的本质特征,从而获取更为优秀的人体行为表示。

Table 6 Accuracy comparison of loss calculation used only by equation(7)表7 仅使用式(7)进行损失计算后的准确度比较(%)

(3)主干网络不变,自监督损失改为简单分类损失。为了验证使用对比学习思想学习视角无关特征的效果,MAR-NET 的主干网络结构不变,不使用共享参数的多个视角的视频数据输入,人工将视频数据打上类别标签,仅使用分类损失对视频帧进行训练。空间上简单分类的深度学习网络(Supervised-net)最后分类结果与MAR-NET的结果比较如表8 所示。对于多个视角的数据,简单分类方法未考虑视角间动作不一致的问题,无法分辨同一个目标人体做出的不同动作而得到较差的识别结果。通过对比可以证明,本文提出的多视角自监督行为识别方法相比简单的分类学习可以学习到更有效的动作表示,提高了动作分类效果。

4 结语

本文提出了一种基于对比学习的端到端多视角人体行为自监督识别模型,主要解决了实际场景中资源受限,并且因人体角度不同或遮蔽所带来的人体行为识别难题。本文提出的模型基于对比学习的思想,学习不同动作多个视角之间潜在的空间关系,将不同视角学习到的特征映射到同一特征空间,利用迁移学习在下游任务中对视频中的行为类别进行识别。多视角特征学习模型是端到端训练,使得该模型能够更好地学习到多个视角之间的视角不变特征且适用于实际场景中,为行为识别的高准确度和实用性提供了保障。在NTU-RGB+D 数据集上进行实验,证明了该方法对于多视角动作识别的有效性,同时与其他多视角行为识别方法对比,证明了本文方法的优越性。

猜你喜欢
类别损失卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
胖胖损失了多少元
从滤波器理解卷积
玉米抽穗前倒伏怎么办?怎么减少损失?
基于傅里叶域卷积表示的目标跟踪算法
服务类别
一般自由碰撞的最大动能损失
损失
论类别股东会
一种基于卷积神经网络的性别识别方法