一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于Transformer时空建模的视频行人重识别方法与流程

2021-11-10 03:50:00 来源:中国专利 TAG:

基于transformer时空建模的视频行人重识别方法
技术领域
1.本发明属于行人重识别领域,特别是涉及一种基于transformer时空建模的视频行人重识别方法。


背景技术:

2.行人重识别作为计算机视觉领域的热点问题,其主要任务是利用图像处理的相关技术完成对不同相机下图像或视频数据中特定行人的检索。近些年来,由于公共安全需求和监控网络需求的日益提高,对于行人重识别的关注及要求也随之增长。然而,在以监控网络为主的实际应用场景中,当前的主流方法还是人工分析视频数据流以提取目标信息,这种方法在面对海量数据集时会存在效率和准确率上的局限性。由此,对行人重识别技术的研究已成为一个亟待解决的问题。
3.实际上,行人重识别领域的工作已在静止图像上进行了广泛而深入的探索,但视频数据却未收获到同等的关注。相比于静止图像而言,视频数据可以采用更自然的方式进行重识别任务,也更符合实际应用场景。同时,视频数据包含了更丰富的运动信息,这对行人重识别的任务也是极有帮助的。然而,基于视频的行人重识别也存在着一些颇具挑战性的问题,例如,难以处理任意长度或不同帧速率的视频序列,难以在待识别的序列中精准构建外观模型,还有最关键的是难以提出一种有效的方法完成帧序列特征的聚合以提取运动信息。
4.视频行人重识别任务通常是给定一个人的查询视频,在系统数据库中自动化搜索识别目标人物的相关视频。在当前基于深度学习的视频行人重识别方法中,主要有三个模块会对方法效果具有决定性的影响,即图像级特征提取器、用于聚合图像级特征的时序建模模块以及用于训练网络的损失函数。特征提取和损失函数已在基于图像的行人重识别中取得了极大地进展,因此,如何设计聚合图像级特征的时序建模模块以完成运动信息的学习,就成了视频任务的当务之急。在时序建模部分的先前工作中,已经尝试了池化、循环神经网络、时序注意力网络等建模方式,结果显示丢失了时序信息的池化方式反而在时序建模任务中表现得最突出,由此可知,当前的主流时序建模方式未能实现从视频行人重识别中有效提取运动信息,我们需要针对性地提出一种更为鲁棒的时序建模方法。
5.综上所述,作为一种视频检索任务,在视频提供了丰富时序信息的前提下,如何提取图像级特征并根据其间的关系完成帧级特征聚合以实现对目标运动信息的建模即成为基于视频的行人重识别的关键。


技术实现要素:

6.本发明针对现有技术的不足,提出了一种基于transformer时空建模的视频行人重识别方法。首先利用图像级特征网络resnet50提取到帧级特征后,通过位置编码层给帧级特征加上位置信息以最大程度地保证视频帧的序列信息,然后将重编码后的特征经过transformer网络完成时空建模,进而提取到更具判别性的时空特征。
self

attention)模块、前向传播网络(feedforwardnetwork)模块和add&norm模块,其中add表示残差连接(residual connection),用于防止网络退化,norm表示图层归一化(layernormalization),用于对每一层的激活值进行归一化,具体包括以下几个步骤:
28.步骤3.2.1,将步骤3.1得到的加上位置信息的帧级特征作为transformer模块的输入,分别经过变换矩阵w
q
、w
k
、w
v
得到q、k、v三个矩阵,其中矩阵q表示待查询的视频信息,矩阵k表示视频中的关键信息,矩阵v表示视频中的附加信息,计算公式如下:
29.q=w
q
f
′ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
30.k=w
k
f
′ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
31.v=w
v
f
′ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
32.步骤3.2.2,计算权重矩阵o,并经过前向传播网络模块和add&norm模块得到加权特征a,计算公式如下:
33.o=q
·
k v
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
34.a=layernormalization(o feedforwardnetwork(o))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
35.步骤3.2.3,将步骤3.2.2得到的加权特征a输入到分类层产生分类预测,分类层为一个输出维度等于行人类别数的全连接层;
36.步骤3.3.3,利用分类预测与视频标签计算交叉熵损失,再通过反向传播进行网络参数更新。
37.而且,所述步骤4.1中初始化训练参数包括采用adam优化器,初始学习率设为0.0003,batch size设为32,训练模型800个周期,每经过200个周期学习率下降十倍,最终得到训练完成的时空建模网络模型权重。
38.而且,所述步骤4.2中对网络使用softmax交叉熵损失l
id
和三元组损失l
triplet
共同优化,如式(8)和式(9)所示:
[0039][0040]
式中,n
s
表示类别数,q
i
表示每个类别的权重,如果真值为第i类,则q
i
=1,否则q
i
=0,z
i
是身份分类器的输出,表示每个id标签的预测概率;
[0041][0042]
式中,x表示训练批次中的视频片段,x
a
是锚点,x
p
是与输入视频x
a
具有相同身份的困难样本,x
n
是与视频x
a
具有不同身份的困难样本,f(
·
)表示视频的特征,是两个视频特征之间的欧式距离,[
·
]

表示max(0,
·
),α是余量参数,取经验值;
[0043]
最终网络损失函数l
total
表示为:
[0044]
l
total
=λ1×
l
id
λ2×
l
triplet
ꢀꢀꢀ
(10)
[0045]
式中,λ1、λ2是超参数,设定初始值后在训练过程中不断迭代优化得到。
[0046]
而且,所述步骤5中视频预处理是通过pytorch内置函数将待查询的视频处理为4
×3×
224
×
112的视频片段。
[0047]
而且,所述步骤6中提取有效的时空特征表示是将待查询视频和视频库数据分别输入到transformer时空建模网络模型中提取行人特征表示,将transformer模块输出的2048维特征作为最终的行人特征表示。
[0048]
与现有技术相比,本发明具有如下优点:(1)本发明将位置编码引入特征提取,在帧级特征提取过程中加入位置信息进行特征融合,较为完整地保留了视频的时序信息;(2)本发明利用transformer结构将输入特征映射到三个空间进行特征融合,从而提取到更加鲁棒的时空特征,提高了网络的性能;(3)本发明提出了一种端到端的网络模型,实现了输入到模型到输出的应用过程,降低了基于视频的行人重识别网络模型的训练难度。
附图说明
[0049]
图1为本发明实施例的流程图。
[0050]
图2为本实施例整体网络模型结构图。
[0051]
图3为本实施例transformer模块结构图。
[0052]
图4为本实施例行人检索结果图。
具体实施方式
[0053]
本发明提供一种基于transformer时空建模的视频行人重识别方法,首先利用图像级特征网络resnet50提取到帧级特征后,通过位置编码层给帧级特征加上位置信息以最大程度地保证视频帧的序列信息,然后将重编码后的特征经过transformer网络完成时空建模,进而提取到更具判别性的时空特征。
[0054]
下面结合附图和实施例对本发明的技术方案作进一步说明。
[0055]
如图1所示,本发明实施例的流程包括以下步骤:
[0056]
步骤1,对行人重识别视频数据集进行视频预处理,得到便于训练的视频片段。
[0057]
首先将mars视频数据集的视频大小调整为4
×3×
224
×
112,分别对应着batchsize
×
帧数、通道数、高度、宽度,然后利用随机翻转、随机裁剪等方法进行数据增强,最后通过pytorch内置函数把调整后的视频转化为pytorch框架可以处理的张量数据。
[0058]
步骤2,使用resnet50网络提取步骤1预处理后的视频片段的帧级特征。
[0059]
将预处理后的视频片段以帧的形式输入到resnet50网络中,并去掉resnet50网络的最后两层,网络输出结果作为提取到的帧级特征。
[0060]
步骤3,构建基于transformer的时空建模网络,包括位置编码模块和transformer模块。
[0061]
步骤3.1,构建位置编码模块用于给帧级特征加上位置信息,以最大程度地保证视频帧的序列信息。
[0062]
步骤3.1.1,通过二维平均池化层提取步骤2中得到的特征图的显式信息,将特征图f∈r
b
×
c
×
h
×
w
转换为f

∈r
b
×
t
×
d
,其中b、c、h和w分别表示batchsize
×
帧数、特征图的通道、高度和宽度,b、t和d分别表示batchsize、序列帧数和通道数。
[0063]
步骤3.1.2,利用pe层(positional encoding)为f

加入位置信息,pe的计算公式
如下:
[0064][0065][0066]
式中,pos表示当前帧在序列中的位置,i表示pe的维度,取值范围为[0,...,d/2]。
[0067]
步骤3.2,构建transformer模块用于聚合帧级特征以实现序列信息的运动建模,完成时空特征的提取。transformer模块包含多头自注意力(multi

head self

attention)模块、前向传播网络(feedforward network)模块和add&norm模块,其中add表示残差连接(residual connection),用于防止网络退化,norm表示图层归一化(layernormalization),用于对每一层的激活值进行归一化。
[0068]
步骤3.2.1,将步骤3.1得到的加上位置信息的帧级特征作为transformer模块的输入,分别经过变换矩阵w
q
、w
k
、w
v
得到q、k、v三个矩阵,其中矩阵q表示待查询的视频信息,矩阵k表示视频中的关键信息,矩阵v表示视频中的附加信息,计算公式如下:
[0069]
q=w
q
f
′ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0070]
k=w
k
f
′ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0071]
v=w
v
f
′ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0072]
步骤3.2.2,计算权重矩阵o,并经过前向传播网络模块和add&norm模块得到加权特征a,计算公式如下:
[0073]
o=q
·
k v
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0074]
a=layernormalization(o feedforwardnetwork(o))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0075]
步骤3.2.3,将步骤3.2.2得到的加权特征a输入到分类层产生分类预测,分类层为一个输出维度等于行人类别数的全连接层。
[0076]
步骤3.3.3,利用分类预测与视频标签计算交叉熵损失,再通过反向传播进行网络参数更新。
[0077]
步骤4,用步骤3.1得到的加上位置信息的帧级特征训练基于transformer的时空建模网络。
[0078]
步骤4.1,初始化训练参数。
[0079]
采用adam优化器,初始学习率设为0.0003,batch size设为32,训练模型800个周期,每经过200个周期学习率下降十倍,最终得到训练完成的行人重识别网络模型权重。
[0080]
步骤4.2,使用softmax交叉熵损失和三元组损失共同对网络进行优化。
[0081]
对基于transformer的时空建模网络使用softmax交叉熵损失l
id
和三元组损失l
triplet
共同优化,如式(8)和式(9)所示:
[0082]
[0083]
式中,n
s
表示类别数,q
i
表示每个类别的权重,如果真值为第i类,则q
i
=1,否则q
i
=0,z
i
是身份分类器的输出,表示每个id标签的预测概率。
[0084][0085]
式中,x表示训练批次中的视频片段,x
a
是锚点,x
p
是与输入视频x
a
具有相同身份的困难样本,x
n
是与视频x
a
具有不同身份的困难样本,f(
·
)表示视频的特征,是两个视频特征之间的欧式距离,[
·
]

表示max(0,
·
),α是余量参数,取经验值。
[0086]
最终网络损失函数l
total
表示为:
[0087]
l
total
=λ1×
l
id
λ2×
l
triplet
ꢀꢀꢀ
(10)
[0088]
式中,λ1、λ2是超参数,设定初始值后在训练过程中不断迭代优化得到。
[0089]
步骤5,对待查询的视频和视频库做视频预处理,将其转化为可计算的张量数据。
[0090]
输入待查询的视频,通过pytorch内置函数将其处理为4
×3×
224
×
112的视频片段。
[0091]
步骤6,将步骤5转化得到的张量数据输入到训练后的transformer时空建模网络模型,提取到有效的时空特征表示。
[0092]
将待查询视频和视频库数据分别输入到transformer时空建模网络模型中提取行人特征表示,将transformer模块输出的2048维特征作为最终的行人特征表示。
[0093]
步骤7,计算目标视频特征与视频库数据特征之间的欧几里得距离,根据距离从小到大对视频库中查询到的结果进行排序,匹配到对应的视频。
[0094]
具体实施时,以上流程可采用计算机软件技术实现自动运行流程。
[0095]
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献