跨模态行人重识别方法、系统及计算机

文档序号:32980648发布日期:2023-01-17 22:00阅读:110来源:国知局
跨模态行人重识别方法、系统及计算机

1.本发明涉及计算机视觉技术领域,更具体地,涉及一种跨模态行人重识别方法、系统及计算机。


背景技术:

2.随着社会信息化进程不断发展,我们的身边充斥着大量的摄像头,如何合理利用这些信息为社会提供服务成了新的热点。在不同的摄像头下进行人员的查找的问题称之为行人重识别。随着行人重识别技术的日渐成熟,其巨大的应用价值和市场潜力也得到了越来越多的关注。在公共安全领域,行人重识别不仅能够帮助定位可疑的、具有潜在危险的人员,还能够在老人小孩走失的情况下,进行快速查找,这对营造一个安全的社会环境有着至关重要的作用;在新零售领域,商家可以通过行人重识别技术获取顾客的行为轨迹,进而获得其数字化信息,挖掘更多的商业价值。
3.计算机视觉根据其主要任务由粗到细可以分为:图像级别的图像分类(image classification),物体级别的目标检测(object detection),以及像素级别的语义分割(semantic segmentation)。它们的具体含义分别为识别图中存在何种物体,给出图中存在物体的位置和边界,和确定图中每个像素属于何种物体。在计算机视觉领域,卷积神经网络是网络模型主要的特征提取网络,但是卷积神经网络训练难,过深的层次会使得网络梯度消失或者梯度爆炸。在目标检测领域,目标检测网络还有其他变体,例如使用胶囊网络使得网络具有推理能力并且输出向量。但是胶囊网络的主要应用下需要分类的数目一般为数十个,例如cifar10等数据集,在自然语言处理(nlp)领域中的分类预测也只有几个类别。在regdb和sysu数据集中,需要分类和学习的对象数量为几百个,部分行人之间有较高的重叠度,在大量人员下的特征学习是否符合预期是一个挑战。
4.综上所述,当前的行人检测方法仅针对单一的可见模态模块开发,跨模态特征无法对齐、存在模态内数据特征差异的问题,这限制了实际监视中的适用性。


技术实现要素:

5.由于现有技术存在上述缺陷,本发明提供了一种基于双约束胶囊网络的跨模态行人重识别方法,以解决传统行人重识别输入模态单一导致识别准确率低的问题。
6.为实现上述目的,一方面,本发明提供一种基于双约束胶囊网络的跨模态行人重识别方法,其特征在于,包括以下步骤:
7.s1、在深度学习框架下搭建胶囊网络模型,融入densenet代替胶囊网络中的卷积层,实现通用分类模型;
8.s2、制作跨模态行人重识别数据集,使用跨模态行人重识别的两个主要数据集,得到数据集训练样本;
9.s3、引入细节增强模块:在胶囊网络内部加入模态缓和模块;
10.s4、固定步骤s3中模态缓和模块模型的结果,并在此基础上加入类内聚合模块
(cam)和类间稀疏模块(ism)进行双约束;
11.s5、引入损失函数,并设计不同的评估指标,对模型结果进行消融实验验证其有效性。
12.所述行人重识别方法利用了胶囊网络使用向量代替标量进行处理数据的优势,使得模型可以适应不同模态下的数据对齐问题,并使用densenet替换胶囊网络的卷积层提升性能;使用模态缓和模块提炼特征,然后将这些特征送入胶囊网络中以向量的形式进行传递,通过路由机制获取目标对象;提出了类内聚合模块和类间稀疏模块,类内聚合模块有效的提升了同一模态下相同对象的聚合程度,将他们在空间中的表示更加紧密;同时,类间稀疏模块提升了同一模态下的不同对象的稀疏程度,降低了不同对象之间的干扰。所述方法有效地解决了目前主要存在的特征对齐问题和模态内特征稠密的问题,从而提升跨模态行人重识别的准确率。
13.优选地,所述步骤s1包括以下处理:将所述胶囊网络中的卷积层删除,使用densenet代替;所述densenet保留了低维度的特征,所述胶囊网络使得特征向量具有方向性。利用densenet更强的梯度流动能力、更少的参数计算使得模型的效率更高,同时densenet保留了低维度的特征,可以更好地提取特征,改进后的动态路由得到更好的分类效果。胶囊网络使得特征向量具有方向性,通过使用不同的方向来表示图片特征所处的模态,用特征向量的长度来表示对象,因此相比于原始的特征映射对不上的问题,可以更好的表示人员在不同模态下的信息,也可以更好的解释不同模态下的特征之间的关系。
14.优选地,所述步骤s3包括以下处理:
15.对于一个给定的输入图片x,假设通过卷积层获取到的特征为其中h、w、c分别是它的高、宽、特征维数;使用的通道注意力模块可以用如下公式表述:
[0016][0017]
其中mc是通道注意力的掩膜;是输入z的归一化结果。输出f的结构与输入z相同。然后我们生成一个通道注意力掩膜mc,mc的表达式如下:
[0018]
mc=σ(w2σ(w1g(z)))#
[0019]
其中g(
·
)表示全局平均池化,δ表示relu激活函数,σ表示sigmoid激活函数,w1和w2分别是两个可学习的参数。w1和w2在两个无偏置的全连接层中,其中
[0020]
参数实例归一化被定义为公式如下:
[0021][0022]
其中表示特征z的第k维度,∈是为了避免被0除,每个维度计算均值e[
·
]和标准差var[
·
]。
[0023]
优选地,所述步骤s5中,选取交叉熵作为损失函数;损失函数定义为:
[0024]
[0025]
其中,γ1、γ2和γ3是分别用于平衡胶囊网络、类间稀疏模块和类内聚合模块之间贡献率的权重,和分别表示平衡胶囊网络、类间稀疏模块和类内聚合模块的损失。ism和cam都被用来增强特征提取的性能,这些学习性能好的特征将被高效用于向量网络层中。
[0026]
优选地,所述步骤s4包括以下处理:
[0027]
挤压激励网络紧跟胶囊网络的输出胶囊网络通过卷积算子核心构造快使网络通过各层局部感受野构造空间和信道的信息特征;通过显示地构造模型通道之间的相互依赖性,自适应校准通道的特征相应,以改善胶囊网络的性能。
[0028]
优选地,所述步骤s4中所述类内聚合模态通过在胶囊网络的输出上使用神经符号认知代理模型(nsca)来提高主干网的鉴别能力。此特征可突出的信息特征,并抑制无用的特征。
[0029]
优选地,所述步骤s4中所述类间稀疏模块在主干网上,使用全局平均池化来输出反馈,从而获得图像的胶囊网络输入表示
[0030][0031]
其中h和w分别表示的高和宽。
[0032]
优选地,所述类间稀疏模块增强胶囊网络输出的泛化能力是通过dropout机制使得成为一个稀疏表示。众所周知,dropout机制通过随机剔除神经元,证明了其防止cnn过拟合的有效性。的泛化能力通过反向传播转移到提升整个网络鲁棒性的中,从而影响整个网络的学习能力。
[0033]
另一方面,本发明提供一种跨模态行人重识别系统,其特征在于,用以实现上述的跨模态行人重识别方法,包括densenet代替卷积层的胶囊网络、胶囊网络内部加入的模态缓和模块、对所述胶囊网络进行双约束的类内聚合模块和类间稀疏模块。
[0034]
再一方面,本发明提供一种计算机终端,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述处理器调用所述存储器存储的计算机程序,执行上述的跨模态行人重识别方法。
[0035]
与现有技术相比,上述发明具有如下优点或者有益效果:
[0036]
(1)利用densenet更强的梯度流动能力、更少的参数计算使得模型的效率更高,同时densenet保留了低维度的特征,可以更好地提取特征,改进后的动态路由得到更好的分类效果;
[0037]
(2)胶囊网络通过使用不同的方向来表示图片特征所处的模态,用特征向量的长度来表示对象,相比于原始的特征映射对不上的问题,可以更好的表示人员在不同模态下的信息,也可以更好的解释不同模态下的特征之间的关系,使得模型可以适应不同模态下的数据对齐;
[0038]
(3)通过构造类内特征聚合模块和类间特征稀疏模块,提出了一种基于双约束胶
囊网络的跨模态行人重识别方法和模型,可以将模态内同一人员的特征聚合于空间中的更小区域,不同人员的特征稀疏于空间分布,使得模型的特征对齐能力得到提升,准确率得到了进一步的提升。
附图说明
[0039]
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明及其特征、外形和优点将会变得更加明显。在全部附图中相同的标记指示相同的部分。并未可以按照比例绘制附图,重点在于示出本发明的主旨。
[0040]
图1为本发明的跨模态行人重识别方法的流程图;
[0041]
图2为本发明实施例中胶囊网络的网络结构图;
[0042]
图3为本发明实施例中模态缓和模块的胶囊网络结构图;
[0043]
图4为本发明实施例中挤压激励网络的结构图;
[0044]
图5为本发明实施例的消融实验示意图;
[0045]
图6为本发明实施例的loss图。
具体实施方式
[0046]
下面结合附图和具体的实施例对本发明中的结构作进一步的说明,但是不作为本发明的限定。
[0047]
一种基于双约束胶囊网络的跨模态行人重识别方法,包括以下步骤:
[0048]
s1、在深度学习框架下搭建胶囊网络模型,融入densenet代替胶囊网络中的卷积层,实现通用分类模型;所述深度学习框架可以是pytorch深度学习框架。
[0049]
s2、制作跨模态行人重识别数据集,使用跨模态行人重识别的两个主要数据集,得到数据集训练样本;所述数据集可以是数据集regdb和sysu-mm01。
[0050]
s3、引入细节增强模块:在胶囊网络内部加入模态缓和模块;
[0051]
s4、固定步骤s3中模态缓和模块模型的结果,并在此基础上加入类内聚合模块cam和类间稀疏模块ism进行双约束;
[0052]
s5、引入损失函数,并设计不同的评估指标,对模型结果进行消融实验验证其有效性。
[0053]
如图1所示,跨模态行人重识别模型可以分为三个部分:(1)特征提取与胶囊网络分类模块,主要是提取图像的特征,并对提取出的特征在不同模态上进行分类;(2)类内特征聚合模块cam,将不同模态中的同一人的特征聚合到空间中的邻近位置;(3)类间特征稀疏模块ism,将不同模态中的不同人的特征在特征空间中稀疏表示。
[0054]
参见图2,胶囊网络的基本思路为使用不同层级的胶囊对图片进行层次划分,使胶囊具有一定的推理能力。对于输入图像,进行卷积操作得到卷积层,并将其作为向量输入到胶囊网络中。胶囊网络分为两层,分别是主胶囊层和数字胶囊层,主胶囊层是数字胶囊层的基础,通过投票机制将更有用的胶囊路由到更上一层的数字胶囊层。具体来说,首先是矩阵乘法,通过矩阵w来映射下层胶囊与上层胶囊的对应关系。通过加权相加,衡量下层特征胶囊对上层特征胶囊的重要程度。更新参数权重时,通过计算低层特征与输出特征的相似度,乘积为正,权重增加,乘积为负,权重减少。最后,将输出的结果通过squash非线性变化函数
得到输出胶囊。所述步骤s1包括以下处理:将所述胶囊网络中的卷积层删除,使用densenet代替;所述densenet保留了低维度的特征,所述胶囊网络使得特征向量具有方向性。利用densenet更强的梯度流动能力、更少的参数计算使得模型的效率更高,同时densenet保留了低维度的特征,可以更好地提取特征,改进后的动态路由得到更好的分类效果。胶囊网络使得特征向量具有方向性,通过使用不同的方向来表示图片特征所处的模态,用特征向量的长度来表示对象,因此相比于原始的特征映射对不上的问题,可以更好的表示人员在不同模态下的信息,也可以更好的解释不同模态下的特征之间的关系。
[0055]
参见图3,所述胶囊网络可在客户端运行,主要由三部分组成:1、视觉提取模块:使用densenet训练的模型来提取低维度的特征信息,并将这些特征信息传入胶囊网络中以丰富人物信息和模态信息。这一部分与胶囊网络通过cnn网络来提取视觉信息并喂入胶囊网络相似。2、人物与模态提取信息:我们使用胶囊层来感知图形的人物信息和模态信息。人物信息主要由每个vn的长度来感知,而模态信息由vn的方向决定。3、模态缓和模块:使用通道注意力机制,提升模型对于不同模态特征的注意力,关注更为重要的特征信息。为了获取不同模态下的特征信息,我们使用了两种不同的胶囊层,一个主胶囊层和一个分类胶囊层。两种网络都被提出用于识别数字,但我们修改了两个网络层的参数设置为了适应人员重识别的任务和基于imagenet预训练的densenet结构。特别来说,对于给定的8个32通道的卷积操作被用于构建主胶囊。此外,重构操作被用于连接各个模块在主胶囊中相对应的通道。在此之后,我们在主胶囊层中获得了288个8维向量胶囊。
[0056]
对于一个给定的输入图片x,假设通过卷积层获取到的特征为其中h、w、c分别是它的高、宽、特征维数;使用的通道注意力模块可以用如下公式表述:
[0057][0058]
其中mc是通道注意力的掩膜;是输入z的归一化结果。输出f的结构与输入z相同。然后我们生成一个通道注意力掩膜mc,mc的表达式如下:
[0059]
mc=σ(w2σ(w1g(z)))#
[0060]
其中g(
·
)表示全局平均池化,δ表示relu激活函数,σ表示sigmoid激活函数,w1和w2分别是两个可学习的参数。w1和w2在两个无偏置的全连接层中,其中为了平衡性能与复杂度,我们将维度r设置为16。
[0061]
参数实例归一化被定义为公式如下:
[0062][0063]
其中表示特征z的第k维度,∈是为了避免被0除,每个维度计算均值e[
·
]和标准差var[
·
]。
[0064]
相比resnet,使用基于imagenet预训练的densenet结构,具有更激进的密集连接机制:即互相连接所有的层,具体来说就是每个层都会接受其前面所有层作为其额外的输入。densenet中,每个层都会与前面所有层在channel维度上concat在一起并作为下一层的
输入,这可以实现特征重用,提升效率。在denseblock中,各个层的特征图大小一致,可以在channel维度上连接。denseblock中的非线性组合函数h(
·
)采用的是bn+relu+3x3 conv的结构,所有denseblock中各个层卷积之后均输出k个特征图,即得到的特征图的channel数为k。
[0065]
我们使用的densenet有三个密集块,每个块都有相等数量的层。在进入第一个密集块之前,对输入图像执行16个输出通道的卷积。对于内核大小为3
×
3的卷积层,输入的每一侧都被零填充一个像素,以保持特征图大小不变。我们使用1
×
1卷积和2
×
2平均池作为两个相邻致密块之间的过渡层。在最后一个密集块的末尾,执行全局平均池,然后附加softmax分类器。三个密集区块的特征图大小分别为32
×
32、16
×
16和8
×
8。我们选择了densenet-121作为本实验的骨干网络,我们将骨干网络的输出表示为
[0066]
最终,使用非线性压缩函数来确保每个vn胶囊的长度被归一化:其中表示主胶囊层中第k个8维的向量胶囊。k∈[1,288]。
[0067][0068]
主胶囊层之后是分类胶囊层。该层包括n个人员胶囊,其中n表示人员在训练集中的数量。分类胶囊层中的人员胶囊链接了在主胶囊层中的所有向量胶囊。对于给定的在主胶囊层中的一个8维向量胶囊首先通过如下公式将其维度映射到24维:其中是权重矩阵,是一个映射后的24维向量胶囊。分类胶囊层中的人员胶囊可以被表述成如下的形式:
[0069][0070][0071]
其中n∈[1,n],表示耦合系数,该系数由主胶囊层和分类胶囊层之间的协议路由(r-by-a)过程确定。此外,所有都被压缩函数归一化了。
[0072]
r-by-a过程是建立在主胶囊层和分类胶囊层之间的关键技术。不同的是r-by-a过程的迭代次数由3次提升到5次,在实验中,我们发现5次迭代可以获得更好的重识别精度。
[0073]
路由过程包括两层,即输入胶囊与输出胶囊,输入的胶囊由提取的特征进行表示,对于输出胶囊,每个输入胶囊ω
in
都是一个有限制的投票向量,这些投票向量表示有多少信息从这个输入单元转换到相应的输出单元。他们之间的比例是基于投票向量和输出包之间的协议迭代更新的。对于给定的n个输出胶囊,每个输入胶囊分别支持n个投票向量,该过程可以被如下表示:
[0074]
[0075][0076]
对于给定的图片输入我们使用margin损失来表示行人存在的可能性:
[0077][0078]
其中yn表示对于输入图片行人存在的可能性;如果输入行人n,则yn=1否则,yn=0,λ=0.5用于平衡中两部分loss的权重;m
+
和m-用于控制的长度,如果人员在图片中存在,则期待的长度更长,否则更短。我们设置
[0079]
参见图4,挤压激励网络通过显示地构造模型通道之间的相互依赖性,自适应校准通道的特征相应,以改善网络的性能。挤压激励网络se block的结构由两部分组成,其一是全局平均池化产生1*1*c大小的特征图;其二是生成两个全连接层,中间维度有缩减来产生每个通道的权重。c
×h×
w挤压激励网络方法中的维度缩减不利于通道注意力的特征学习。
[0080]
参见图1,在类内聚合模块机制中,我们的目标是通过在上使用nsca来提高主干网的鉴别能力,通过该机制,我们能突出的信息特征,并抑制无用的特征。这是基于cnn的结构和胶囊层之间的关键链接。此时,让densenet网络学习到的先验知识输入胶囊模块中时,我们可以更有效地使用这些知识。我们首先在后使用全局平均池化来获得然后我们将通过nsca模块自适应的学习kernel的大小。
[0081][0082]
最终权重块通过将和缩放得到。其中表示和
之间的通道乘积。在类内聚合模块的全连接层后面使用分别使用relu和sigmoid激活函数。最终,我们使用交叉熵损失函数在ism和cam分支后面用于在训练集上学习分类。
[0083]
类间稀疏模块在主干网上,使用全局平均池化来输出反馈,来获得图像的cnn输入表示其中h和w分别表示的高和宽,h=7,w=7。
[0084][0085]
在ism机制中,我们期待增强cnn输出的泛化能力,从而影响整个网络的学习能力。众所周知,dropout机制通过随机剔除神经元,证明了其防止cnn过拟合的有效性。我们通过dropout机制使得成为一个稀疏表示。的泛化能力通过反向传播转移到提升整个网络鲁棒性的中。在类间稀疏模块中,我们设置dropout为0.75。
[0086]
损失函数定义如下:
[0087][0088]
其中γ1、γ2和γ3是分别用于平衡胶囊网络和辅助模块之间贡献率的权重,胶囊网络层、两个辅助模块ism和cam的loss分别表示为和ism和cam都是用来增强特征提取的性能的。这些学习性能好的特征将被高效用于向量网络层中。
[0089]
表1、表2和表3分别为胶囊网络不同迭代次数和不同辅助网络的结果对比、胶囊网络和传统网络结果对比表和胶囊网络中模态缓和机制的消融对比结果。参见图5、图6和表1~3,跨模态行人重识别胶囊网络经过ism和cam双约束的准确度明显提高;跨模态行人重识别胶囊网络在迭代1次和10次的输出结果准确度明显高于传统网络;胶囊网络中引入模态缓和机制能在一定程度上提高网络输出准确度。
[0090]
表1胶囊网络不同迭代次数和不同辅助网络的结果对比
[0091][0092]
表2胶囊网络和传统网络结果对比表
[0093][0094]
表3胶囊网络中模态缓和机制的消融对比结果
[0095][0096][0097]
本发明实施例还提供一种跨模态行人重识别系统,用以实现上述的跨模态行人重识别方法,包括densenet代替卷积层的胶囊网络、胶囊网络内部加入的模态缓和模块、对所述胶囊网络进行双约束的类内聚合模块和类间稀疏模块。
[0098]
本发明实施例还提供一种计算机终端,所述计算机终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序。所述处理器调用所述存储器存储的计算机程序,执行本发明实施例提供的跨模态行人重识别方法及其模型。
[0099]
综上,本发明提供了一种跨模态行人重识别方法、系统及计算机,以解决传统行人重识别输入模态单一导致识别准确率低的问题。所述方法包括在深度学习框架下搭建胶囊网络模型,融入densenet代替胶囊网络中的卷积层、制作跨模态行人重识别数据集、在胶囊网络内部加入模态缓和模块、加入类内聚合模块cam和类间稀疏模块ism进行双约束、引入损失函数,并设计不同的评估指标,对模型结果进行消融实验等五个步骤。本发明使得模型可以适应不同模态下的数据对齐,并使用densenet替换卷积层提升性能;使用模态缓和模块提炼特征,提出了类内聚合模块和类间稀疏模块,提升了同一模态下相同对象的聚合程度,同时提升了同一模态下的不同对象的稀疏程度,降低了不同对象之间的干扰。
[0100]
本领域技术人员应该理解,本领域技术人员在结合现有技术以及上述实施例可以实现变化例,在此不做赘述。这样的变化例并不影响本发明的实质内容,在此不予赘述。
[0101]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0102]
以上对本发明的较佳实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,其中未尽详细描述的设备和结构应该理解为用本领域中的普通方式予以实施;任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例,这并不影响本发明的实质内容。因此,凡是未脱离本发明技术方案的内容,依据
本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1