掌桥专利:专业的专利平台
掌桥专利
首页

一种无监督行人重识别方法、设备及介质

文献发布时间:2024-04-18 20:01:30


一种无监督行人重识别方法、设备及介质

技术领域

本申请涉及神经网络技术领域,具体涉及一种无监督行人重识别方法、设备及介质。

背景技术

行人重新识别(re-ID)指跨摄像头设备检索行人的任务,其在智能交通、公共安全、新零售以及与人脸识别技术的整合等领域的应用得到了研究人员的广泛关注。近年来,随着深度神经网络的成功发展,城市创新应用需求的不断增长,以及大规模行人数据集的出现,行人重识别已经从传统方法发展到基于深度学习的方法,并取得了诸多突破。

目前,为提高行人重识别的准确度,常用的无监督方法主要集中在噪声伪标签的改进和各种对比度损失函数的设计上。例如,通过查询实例以确定信息损失或分类损失,这些方式需要将所有实例特征向量存储在记忆字典中,但是,实例级网络训练数据的不平衡分布会导致存储器中的特征更新不一致,并且,聚类结果不能为伪标记提供最准确的特征表示。当它与噪声标注结合使用时,可能会污染相关的聚类特征表达,从而影响最终的识别结果。

发明内容

为了解决上述问题,本申请提出了一种无监督行人重识别方法,包括:

通过预设的Transformer网络,确定输入所述Transformer网络中未标记的原始行人图像所对应的特征标记;

生成所述Transformer网络中末端Transformer层对应的Transformer层副本,将所述Transformer层副本连接于所述Transformer网络中所述末端Transformer层的前一Transformer层后,得到由两个分支网络构成的Transformer网络;

通过所述分支网络对所述特征标记进行重塑,得到重塑后的所述特征标记对应的局部特征和全局特征;

基于预设的聚类算法,对所述局部特征和全局特征进行聚类,得到若干聚类集合,并生成由各聚类集合对应聚类特征向量所组成的记忆字典;

从所述原始行人图像中采集若干查询图像,通过所述Transformer网络输出所述查询图像对应的查询实例特征,并根据所述查询实例特征和所述记忆字典,对所述聚类特征向量进行迭代更新;

确定更新后的所述聚类特征向量与所述查询实例特征之间的对比损失值,通过所述对比损失值对所述Transformer网络进行更新,以通过更新后的所述Transformer网络,对采集到的待识别行人图像进行重识别。

在本申请的一种实现方式中,通过预设的Transformer网络,确定输入所述Transformer网络中未标记的原始行人图像所对应的特征标记,具体包括:

将未标记的原始行人图像输入至预设的卷积块中,得到所述原始行人图像对应的特征图像,并对所述特征图像进行分割和投影,得到分割后的图像块所对应的图像块标记;

确定所述图像块对应的类标记和位置标记,针对每个图像块,根据所述图像块标记、所述类标记和所述位置标记,生成所述特征图像对应的图像块嵌入序列;其中,所述图像块嵌入序列由多个图像块对应的嵌入标记构成;

将所述图像块嵌入序列至所述Transformer网络,通过所述Transformer网络中的多层Transformer层,对所述图像块嵌入序列进行特征融合,得到所述原始行人图像对应的特征标记。

在本申请的一种实现方式中,通过所述Transformer网络中的多层Transformer层,对所述图像块嵌入序列进行特征融合,得到所述原始行人图像对应的特征标记,具体包括:

通过以下公式,提取所述图像块嵌入序列中的隐藏特征:

其中,LN表示每一层的标准化,

针对所述Transformer网络中的任意一个Transformer层,确定所述Transformer层中所述隐藏特征对应的多个类标记,以及由所述多个类标记组成的初始类标记序列;

获取所述Transformer层的前一Transformer层中首个嵌入的图像块所对应的前一类标记,并将所述前一类标记连接在所述初始类标记序列之前,得到连接后的类标记序列;

重复上述过程,以确定所述Transformer网络中的末端Transformer层对应的类标记序列,并将所述末端Transformer层对应的类标记序列作为所述原始行人图像对应的特征标记;其中,所述特征标记包括融合有各层级隐藏特征的全局特征标记,以及所述Transformer网络中末端Transformer层的各隐藏特征对应的局部特征标记。

在本申请的一种实现方式中,通过所述分支网络对所述特征标记进行重塑,得到重塑后的所述特征标记对应的局部特征和全局特征,具体包括:

通过以下公式,对所述局部特征标记进行重塑:

其中,f

将重塑后的局部特征图分割为若干个水平部分,对所述若干个水平部分进行平均池化,得到重塑后的所述局部特征标记对应的局部特征,具体包括:

h

其中,h

对所述全局特征标记进行平均化操作,得到重塑后的全局特征;

对所述局部特征和所述全局特征进行规范化处理,得到处理后的局部特征和全局特征。

在本申请的一种实现方式中,基于预设的聚类算法,对所述局部特征和全局特征进行聚类,得到若干聚类集合,并生成由各聚类集合对应聚类特征向量所组成的记忆字典,具体包括:

计算所述局部特征和所述全局特征对应的成对距离矩阵;

获取预设的平衡因子,根据所述平衡因子,对所述局部特征和所述全局特征分别对应的成对距离矩阵进行加权,得到对应的加权成对距离矩阵;

基于预设的聚类算法,对所述加权成对距离矩阵进行聚类,得到若干聚类集合,并对所述聚类集合分配对应的伪标签;

针对每个聚类集合,确定所述聚类集合对应的聚类特征向量,并生成由各聚类集合对应聚类特征向量所组成的记忆字典。

在本申请的一种实现方式中,针对每个聚类集合,确定所述聚类集合对应的聚类特征向量,具体包括:

针对每个聚类集合,确定所述聚类集合中的特征实例数量,并将所述聚类集合中的各特征实例进行加和;

将加和后的所述特征实例与所述特征实例数量作商,得到所述聚类集合对应的聚类特征向量。

在本申请的一种实现方式中,根据所述查询实例特征和所述记忆字典,对所述聚类特征向量进行迭代更新,具体包括:

通过以下公式,对所述聚类特征向量进行迭代更新:

其中,m表示动量更新因子,q表示查询实例特征,C

在本申请的一种实现方式中,确定更新后的所述聚类特征向量与所述查询实例特征之间的对比损失值,具体包括:

通过以下公式,确定对比损失值:

其中,φ

本申请实施例提供了一种无监督行人重识别设备,所述设备包括:

至少一个处理器;

以及,与所述至少一个处理器通信连接的存储器;

其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述所述的一种无监督行人重识别方法。

本申请实施例提供了一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:如上述所述的一种无监督行人重识别方法。

通过本申请提出的无监督行人重识别方法能够带来如下有益效果:

对Transformer网络结构进行改进,通过提出的分支网络,能够提取图像多粒度特征,并且更便于同时挖掘图像中细粒度线索。通过在聚类级记忆字典中存储聚类特征向量并计算对比损失值,解决了聚类更新的一致性问题。提取图像中具有细粒度的全局特征和局部特征,在此基础上进行聚类和聚类特征向量的确定,能够减少噪声和离群点,保证聚类结果的准确性,进而提高模型的准确度。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请实施例提供的一种无监督行人重识别方法的流程示意图;

图2为本申请实施例提供的一种Transformer网络的结构示意图;

图3为本申请实施例提供的另一种无监督行人重识别方法的流程示意图;

图4为本申请实施例提供的一种无监督行人重识别设备的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

随着深度学习技术的发展,目前有两种方式来解决行人重识别精度不高的问题。一是完全无监督学习(USL)re-ID,其通常使用来自完全无标记数据集的伪标记数据进行重新识别。二是无监督域自适应(UDA)re-ID,它通过在源域数据集上预训练模型来预训练模型,该方法主要在目标域未标记数据集上学习模型。总的来说,由于源域的引入,UDA在性能方面优于USL。然而,复杂的训练要求和过程使得UDA的源领域和目标领域之间的差异变得微不足道。

因此,本申请实施例提出了一种基于多分支Transformer与聚类对比学习的无监督行人重识别方法,旨在不使用任何标记数据,专注于学习USL re-ID工作。

以下结合附图,详细说明本申请各实施例提供的技术方案。

如图1所示,本申请实施例提供的无监督行人重识别方法,包括:

S101:通过预设的Transformer网络,确定输入Transformer网络中未标记的原始行人图像所对应的特征标记。

本申请基于预设的TransformerTransformer网络,能够从未标记的原始行人图像中提取到具有多粒度的全局和局部特征。如图2所示,假设X={x

上述标记过程可表示为:

f

M

其中,f

标记完成后,将图像块嵌入序列作为Transformer网络的输入部分,通过Transformer网络中的多层Transformer层,对图像块嵌入序列进行特征融合,得到原始行人图像对应的特征标记。

具体地,Transformer网络由L个Transformer层即Transformer层组成,与视觉Transformer网络相同,本申请实施例中的每个Transformer层均由MLP和MSA模块构成。当图像块嵌入序列输入至Transformer网络后,每一层Transformer层可通过以下公式,提取图像块嵌入序列中的隐藏特征:

其中,LN表示每一层的标准化操作,

然而,上述过程所提取到的隐藏特征并未得到有效利用,从而限制了Transformer网络的表达能力,因此,对于Transformer网络中的每个Transformer层,通过添加并连接不同Transformer层之间的类标记,能够对各层级的隐藏特征进行融合,将浅层中的细节特征都可以融合到深层中去,提高模型的全局表达能力。

此时,对于Transformer网络中的任意一个Transformer层,确定Transformer层中隐藏特征对应的多个类标记,以及由所述多个类标记组成的初始类标记序列,比如,对于第二层Transformer层对应的隐藏特征M

S102:生成Transformer网络中末端Transformer层对应的Transformer层副本,将Transformer层副本连接于Transformer网络中末端Transformer层的前一Transformer层后,得到由两个分支网络构成的Transformer网络。

为了提取多粒度的特征,本申请实施例构建了双分支架构网络,并在保持所有前面的Transformer层不变的情况下,生成Transformer网络中末端Transformer层对应的Transformer层副本,将Transformer层副本连接于Transformer网络中末端Transformer层的前一Transformer层后,得到由两个分支网络构成的Transformer网络。如图3所示,通过两个末端Transformer层即Transformer层L,形成了双分支架构的Transformer网络。

S103:通过分支网络对特征标记进行重塑,得到重塑后的特征标记对应的局部特征和全局特征。

将第L层Transformer层输出的特征标记输入至两个分支网络后,分支网络可分别学习局部特征标记中含有的具有细粒度的丰富的局部信息,对局部特征标记进行重塑,得到重塑后的局部特征。

具体可通过以下公式,对局部特征标记进行重塑:

其中,f

将重塑后的局部特征图分割为若干个即K个水平部分,对若干个水平部分进行平均池化,得到重塑后的局部特征标记对应的局部特征,具体可通过以下过程实现:

h

其中,h

同样,分支网络还可以对全局特征标记进行重塑,即将两个分支网络中输入的全局特征标记进行平均化操作,便可得到重塑后的全局特征。具体过程可表示为:

其中

待得到重塑后的局部特征和全局特征后,通过L2规格化层和批量规格化层对局部特征和全局特征进行规范化处理,便可得到处理后的局部特征和全局特征。由于存在两个分支网络,最终得到的局部特征向量集合数量也为两个,最终所得到的三组特征向量可表示为:

其中,F

S104:基于预设的聚类算法,对局部特征和全局特征进行聚类,得到若干聚类集合,并生成由各聚类集合对应聚类特征向量所组成的记忆字典。

在得到分支网络输出的三组特征向量后,计算局部特征和全局特征对应的成对距离矩阵Z

Z=(1-2λ

其中,Z为加权成对距离矩阵,λ

在得到加权成对距离矩阵后,基于预设的聚类算法,对加权成对距离矩阵进行聚类,得到若干聚类集合,并对聚类集合分配对应的伪标签。伪标签数据集可表示为X′={(x

在完成特征聚类后,为解决聚类更新不一致的问题,避免出现有偏差的聚类中心,需要在Transformer网络的迭代更新过程中,对聚类中心进行调整。而对于每一个聚类集合来说,需使用唯一的聚类特征向量来表示该聚类集合的聚类中心,然后生成由各聚类集合对应聚类特征向量所组成的记忆字典。

具体地,针对每个聚类集合,确定聚类集合中的特征实例数量,并将聚类集合中的各特征实例进行加和。将加和后的特征实例与特征实例数量作商,得到聚类集合对应的聚类特征向量。具体可表示为:

其中,φ

将每个聚类集合对应的聚类特征向量进行统一存储,可形成记忆字典{φ

S105:从原始行人图像中采集若干查询图像,通过Transformer网络输出查询图像对应的查询实例特征,并根据查询实例特征和记忆字典,对聚类特征向量进行迭代更新。

Transformer网络若要实现较为精准的重识别效果,需要对此进行迭代更新,直至得到训练完成。本申请实时汇率通过小批处理实例动量更新记忆字典,来保值聚类集合的一致性。

首先,从原始行人图像中采集若干查询图像,查询图像的数量可通过行人身份S和每个身份下的P个实例之间的乘积来确定,将S×P个查询图像输入至Transformer网络中,可得到对应的查询实例特征q。

然后,在Transformer网络的训练过程中,通过查询实例特征q对记忆字典中的聚类特征向量进行更新,具体可表示为:

其中,m表示动量更新因子,q表示查询实例特征,C

在更新完一个周期后,全部的查询实例特征都会更新一次,且只有当一次训练周期完成后,聚类质心才会一致性更新一次,从而解决了聚类不一致的问题。

S106:确定更新后的聚类特征向量与查询实例特征之间的对比损失值,通过对比损失值对Transformer网络进行更新,以通过更新后的Transformer网络,对采集到的待识别行人图像进行重识别。

在本申请中,通过聚类特征向量与查询实例特征之间的对比损失值,计算聚类特征的损失,从而通过上述得到的对比损失值对Transformer网络中进行更新,直至损失较低时,得到训练完成的Transformer网络。

具体地,损失函数可表示为:

其中,φ

当查询实例特征与正聚类特征φ

图3为本申请实施例提供的另一种无监督行人重识别方法的流程示意图,如图3所示,未标记的原始行人图像输入至Transformer网络中,通过Transformer网络可输出相应的特征标记。将Transformer网络中的末端Transformer层即TransformerL进行复制,可将原本的骨干Transformer网络重组成两个分支网络。特征标记输入两个分支网络后,可进行局部特征和全局特征的重塑,从而得到重塑后的全局特征向量和局部特征向量。计算上述特征向量对应的成对距离矩阵,通过聚类算法随成对距离矩阵进行聚类,可得到相应的聚类集合并生成每个聚类集合的伪标签。至此便完成了存储器的初始化的过程,后续需进行Transformer网络的训练。

确定每个聚类集合对应的聚类特征向量,对每个聚类集合进行初始化,可得到由各个聚类集合对应的聚类特征向量所组成的记忆字典。从原始训练集中采集若干查询图像,通过Transformer网络输出该查询图像对应的查询实例特征后,根据查询实例特征对记忆字典进行更新,并计算查询实例特征和聚类特征向量之间的对比损失值。根据对比损失值可确定查询实例特征的聚类结果准确度,在损失值较小的情况下,Transformer网络训练完成,此时,通过训练完成的Transformer网络,便能够提供准确度更高的行人重识别结果。

以上为本申请提出的方法实施例。基于同样的思路,本申请的一些实施例还提供了上述方法对应的设备和非易失性计算机存储介质。

图4为本申请实施例提供的一种无监督行人重识别设备的结构示意图。如图4所示,包括:

至少一个处理器;以及,

至少一个处理器通信连接的存储器;其中,

存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够:

通过预设的Transformer网络,确定输入Transformer网络中未标记的原始行人图像所对应的特征标记;

生成Transformer网络中末端Transformer层对应的Transformer层副本,将Transformer层副本连接于Transformer网络中末端Transformer层的前一Transformer层后,得到由两个分支网络构成的Transformer网络;

通过分支网络对特征标记进行重塑,得到重塑后的特征标记对应的局部特征和全局特征;

基于预设的聚类算法,对局部特征和全局特征进行聚类,得到若干聚类集合,并生成由各聚类集合对应聚类特征向量所组成的记忆字典;

从原始行人图像中采集若干查询图像,通过Transformer网络输出查询图像对应的查询实例特征,并根据查询实例特征和记忆字典,对聚类特征向量进行迭代更新;

确定更新后的聚类特征向量与查询实例特征之间的对比损失值,通过对比损失值对Transformer网络进行更新,以通过更新后的Transformer网络,对采集到的待识别行人图像进行重识别。

本申请实施例提供了一种非易失性计算机存储介质,存储有计算机可执行指令,计算机可执行指令设置为:

通过预设的Transformer网络,确定输入Transformer网络中未标记的原始行人图像所对应的特征标记;

生成Transformer网络中末端Transformer层对应的Transformer层副本,将Transformer层副本连接于Transformer网络中末端Transformer层的前一Transformer层后,得到由两个分支网络构成的Transformer网络;

通过分支网络对特征标记进行重塑,得到重塑后的特征标记对应的局部特征和全局特征;

基于预设的聚类算法,对局部特征和全局特征进行聚类,得到若干聚类集合,并生成由各聚类集合对应聚类特征向量所组成的记忆字典;

从原始行人图像中采集若干查询图像,通过Transformer网络输出查询图像对应的查询实例特征,并根据查询实例特征和记忆字典,对聚类特征向量进行迭代更新;

确定更新后的聚类特征向量与查询实例特征之间的对比损失值,通过对比损失值对Transformer网络进行更新,以通过更新后的Transformer网络,对采集到的待识别行人图像进行重识别。

本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备和介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本申请实施例提供的设备和介质与方法是一一对应的,因此,设备和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述设备和介质的有益技术效果。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

相关技术
  • 一种保证电子单证内容正确性的方法
  • 一种用于保证数据正确性的方法与设备
技术分类

06120116557354