一种基于Pose-Transformer网络的动物行为识别方法
文献发布时间:2023-06-19 18:58:26
技术领域
本发明涉及计算机视觉领域,具体是一种基于Pose-Transformer网络的动物行为识别方法。
背景技术
物种多样性和人类的生活息息相关,生物种群的发展对人类生活有着至关重要的影响,自动识别动物园和自然保护区动物的行为,有助于管理者合理管理动物的饮食、了解动物的情绪、身体状况等,进而为濒临灭绝的动物保护的科学决策提供有力的技术支撑。
动物早期的保护主要依靠人工的监视和手写的记录,然后是在动物的身体部位放置各种传感器监测动物的异常行为,然而,佩戴传感器的方式本身也会给动物带来干扰,导致动物表现出一些异常举动。随着视频监控技术的发展,应用监控视频自动识别动物的行为,越来越受到科研工作者的关注。但是,仍然处于研究探索阶段,使用图像处理技术的动物行为识别的研究还很缺乏。
动物的行为往往是一个连续的过程,在单张图片上很难体现出来,基于骨架的动物行为识别方式只需根据动物的骨架关节点信息识别行为,可以较好地规避背景和复杂环境的影响,提高动物行为识别的准确率。动物的不同行为不仅与动物骨架的单个关节点的信息有关,而且同一个骨架的不同关节点存在空间关联性,以及骨架序列中不同帧的同一部位关节点存在时序关联性,因此,提取动物行为的时空关联特征,对于提高动物识别方法的性能具有重要的意义。
发明内容
经研究,动物运动过程中关节点在时间维和空间维上是连动的,提取动物行为的时空关联特征对于提高动物识别方法的性能具有重要的意义。然而,现有的动物行为识别方法不能很好地获取动物行为视频中帧间的关节点的连动信息,导致无法区别相似的行为,尤其是一个行为由多个子动作构成时,容易发生错误识别的情况。
基于上述原因,本发明构建了一种Pose-Transformer深度神经网络模型,并将其应用于动物行为识别;
本发明将骨架序列划分为姿态块序列,为姿态块构建了基于Transformer的时空编码器,用于捕获动物身体关节点之间的时空关联特征;
本发明将姿态块的时空关联特征通过聚合操作,获取一个行为的各个子动作之间的时序关系,区分相似的动物行为。
本发明的具体步骤包括:
1)获取动物身体部位关节点的位置,生成动物的关节点坐标和置信(可以采用Deeplabcut);对于输入T0帧的骨架序列,将其划分为姿态块序列;
2)将步骤1)得到的姿态块进行时空Transformer Encoder,时序TransformerEncoder和空间Transformer Encoder分别在时序和空间上,根据不同行为对应的关节点之间关联性强度的不同,为不同姿态块的骨架关节点赋予不同的权重,用于表征不同行为关节点之间的时空关联程度;
3)通过一个姿态块聚合层建模步骤2)得到的姿态块序列的时序信息,并通过全局平均池化和全连接层获得动物的行为分类结果。
步骤2)中,
2.1)在Embedding层后加入位置编码器,将每个姿态块的动物骨架序列的关节点信息转换为Transformer向量表示,生成的向量有查询向量Q、键向量K和值向量V;
2.2)获取关节点间的空间相关性。将步骤2.1)得到的向量输入到空间Transformer Encoder层(Spatial Transformer Encoder),空间Transformer Encoder层由N个Spatial Transformer Encoder块堆叠,得到每个姿态块的每个动物骨架的关节点空间关联特征;
2.3)获取关节点间的时序相关性。将步骤2.2)得到的向量输入到时序Transformer Encoder层(Temporal Transformer Encoder),时序Transformer Encoder层由N个Temporal Transformer Encoder块堆叠,得到每个姿态块的动物骨架序列的关节点的时序关联特征;
步骤3)中
3.1)将步骤2.2)和步骤2.3)得到的空间关联特征和时序关联特征进行Concate操作后,通过姿态块聚合操作分析连续姿态块序列的时序相关性,即姿态块对应姿态的相关性,并将相关性较大的姿态进行聚合,这有助于区别包含相似姿态的两种不同的动物行为。
3.2)通过姿态块聚合操作分析连续姿态块序列的时序相关性即姿态块对应姿态的相关性;
3.3)根据步骤3.2)得到的姿态块的相关性,通过全局平均池化和全连接层获得动物的行为分类结果。
本发明的有益效果在于:
(1)本发明提出一种Pose-Transformer深度神经网络模型的动物行为识别方法,主要步骤包括:视频骨架序列划分为姿态块序列、姿态块时空Transformer编码、姿态块时空特征的聚合操作,提高了动物行为识别的准确率。
(2)本发明为姿态块构建了基于Transformer的时空编码器,其中:空间Transformer编码器提取空间上相关的关节点之间的关联特征,时序Transformer编码器提取时序上相关的关节点之间的关联特征,用于获取动物行为的关节点之间的时空连动特征;
(3)本发明将姿态块的时空关联特征通过聚合操作,获取一个行为的各个子动作之间的时序关系,能够更好地区分包含相似子动作的不同动物行为。
附图说明
图1为本发明的动物行为识别网络的结构图;
图2为空间Transformer编码(Spatial Transformer Encoder)的关节点之间关联权重计算方法示意图;
图3为时序Transformer编码(Temporal Transformer Encoder)的关节点之间关联权重计算方法示意图;
图4为一个姿态块中帧的数目n不同,动物行为识别的准确率(Accuracy)实验结果图;
图5为迭代步数与Accuracy的实验结果图;
图6为迭代步数与损失函数的实验结果图。
具体实施方式
针对现有方法无法获取骨架序列中不同帧的关节点存在时序关联性,以及难以区分包含相似子动作的不同动物行为的问题,本发明提出一种基于Pose-Transformer深度神经网络模型的动物行为识别方法,网络的结构如图1所示,步骤包括:
1)用Deeplabcut获取动物身体部位关节点的位置,生成动物的关节点坐标和置信,对于输入T0帧的骨架序列,将其划分为姿态块序列;
对于输入T0帧的骨架序列,每一帧的骨架序列包含k0个关节点,将其划分为姿态块序列,以连续的n帧作为一个姿态块,则每个姿态块共有n×k0个关节点,姿态块的个数为
2)将步骤1)得到的姿态块进行时空Transformer Encoder,时序TransformerEncoder和空间Transformer Encoder分别在时序和空间上,根据不同行为对应的关节点之间关联性强度的不同,为不同姿态块的骨架关节点赋予不同的权重,用于表征不同行为关节点之间的时空关联程度;
2.1)在Embedding层后加入位置编码器,将每个姿态块的动物骨架序列的关节点信息转换为Transformer向量表示,生成的向量有查询向量Q、键向量K和值向量V;
2.2)获取关节点间的空间相关性。将步骤2.1)得到的向量输入到空间Transformer Encoder层(Spatial Transformer Encoder),空间Transformer Encoder层由N个Spatial Transformer Encoder块堆叠,得到每个姿态块的每个动物骨架的关节点空间关联特征,步骤包括:
2.2.1)将动物骨架划分为5个不同的部分,分别为脊背和4个腿部,由于每个部分的关节点之间有连动,不同身体部分的关节点之间关联较小,为了较少计算量,本发明计算每个部分的关节点之间的空间相关性,如动物腿部的3个关节的空间相关性;
2.2.2)构建空间自注意力机制(Spatial Self-Attention),运用空间自注意力模块计算步骤2.2.1)划分的每个部分的关节点之间的空间相关性,为骨架关节点赋予不同的权重。自注意力机制的关联权重计算公式如式(1):
其中,q
如图2所示,公式(1)计算一个帧的动物骨架的第i个节点与其处于同一个动物骨架的相同部分的其余关节点的空间关联权重;
2.2.3)步骤2.2.2)的自注意力模块后面跟随前馈网络层和归一化层,共同构成Spatial Transformer Encoder块;
2.2.4)由N个Spatial Transformer Encoder块堆叠成空间Transformer Encoder层,得到每个姿态块的每个动物骨架的关节点的空间关联特征;
2.3)获取关节点间的时序相关性。将步骤2.1)得到的向量输入到时序Transformer Encoder层(Temporal Transformer Encoder),时序Transformer Encoder层由N个Temporal Transformer Encoder块堆叠,得到每个姿态块的动物骨架序列的关节点的时序关联特征,步骤包括:
2.3.1)构建姿态块的动物骨架序列的关节点的时序自注意力机制(TemporalSelf-Attention);
2.3.2)在一个姿态块中,运用时序自注意力模块(Temporal Self-Attention)计算该姿态块的某一帧的某个关节点与该姿态块的其余帧的相同位置的关节点的时序相关性,为骨架关节点赋予不同的权重。自注意力机制的关联权重计算公式如式(2):
其中,q
如图3所示,公式(2)计算一个姿态块的某一帧动物骨架的第i个节点与该姿态块的其余帧的骨架第i个节点的时序关联权重。
2.3.3)步骤2.3.1)的自注意力模块后面跟随前馈网络层和归一化层,共同构成Temporal Transformer Encoder块;
2.3.4)由N个Temporal Transformer Encoder块堆叠成时序TransformerEncoder层,得到每个姿态块的骨架序列的关节点的时序关联特征;
3)通过一个姿态块聚合层建模步骤2)得到的姿态块序列的时序信息,并通过全局平均池化和全连接层获得动物的行为分类结果。
3.1)将步骤2.2)和步骤2.3)得到的空间关联特征和时序关联特征进行Concate操作后,通过姿态块聚合操作分析连续姿态块序列的时序相关性,即姿态块对应姿态的相关性,并将相关性较大的姿态进行聚合,这有助于区别包含相似姿态的两种不同的动物行为。
3.2)通过姿态块聚合操作分析连续姿态块序列的时序相关性即姿态块对应姿态的相关性,步骤包括:
3.2.1)计算每一个注意力头的输出,并对每一个注意力头的输出进行Concat操作,如公式(3);
其中,
3.2.2)运用公式(4)对步骤3.2.1)得到的XAttn进行卷积操作,得到姿态块聚合模块的多头注意力的输出;
其中,
3.2.3)运用公式(5)对步骤3.2.2)得到的多注意力头输出XSTTA进行卷积操作,最终实现姿态块的聚合。
其中,
3.3)根据步骤3.2)得到的姿态块的相关性,通过全局平均池化和全连接层获得动物的行为分类结果。
实验分析
(1)实验对比
为了证明本发明所提出方法的先进性,以下在构建的视频数据集上将所提出的动物行为识别方法与现有的时空深度神经网络行为识别方法进行了对比实验,采用评价指标为Accuracy,实验结果如表1所示:
表1实验结果对比
(2)姿态块的数目n的确定
为了在姿态块划分时获得最佳识别效果,本发明设定不同姿态块的数目n,进行实验,实验结果如附图4,从图中可以看出,当姿态块的姿态块的数目n太大或太小时,动物行为识别的准确率会降低。经过分析实验视频,发现一个动物行为中子动作完成通常会持续8~12帧,这应该是姿态块的数目n的值为10左右时,动物行为识别的准确率较高的原因。
(3)模型的收敛性
如附图4所示,随着迭代步数的增加,本发明的动物行为识别方法的Accuracy逐渐增加,当Epoch增加到30以后,动物行为识别方法的Accuracy基本稳定在最大值;如图5所示,当Epoch增加到30以后,动物行为识别方法的损失函数开始收敛,说明本发明的方法的收敛速度较快。
- 一种基于深度卷积神经网络的日常人体行为识别方法
- 一种基于运动轨迹的3D卷积神经网络的行为识别方法
- 一种基于深度卷积神经网络的禽类动物行为识别方法
- 基于自适应时空图注意力Transformer网络的四足动物行为识别方法