CN112232439A - 非监督ReID中的伪标签更新方法及系统 - Google Patents

非监督ReID中的伪标签更新方法及系统 Download PDF

Info

Publication number
CN112232439A
CN112232439A CN202011233432.9A CN202011233432A CN112232439A CN 112232439 A CN112232439 A CN 112232439A CN 202011233432 A CN202011233432 A CN 202011233432A CN 112232439 A CN112232439 A CN 112232439A
Authority
CN
China
Prior art keywords
sample
samples
cluster
clustering
center
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011233432.9A
Other languages
English (en)
Other versions
CN112232439B (zh
Inventor
匡卫军
赵科
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Yuncong Tianfu Artificial Intelligence Technology Co Ltd
Original Assignee
Sichuan Yuncong Tianfu Artificial Intelligence Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan Yuncong Tianfu Artificial Intelligence Technology Co Ltd filed Critical Sichuan Yuncong Tianfu Artificial Intelligence Technology Co Ltd
Priority to CN202011233432.9A priority Critical patent/CN112232439B/zh
Publication of CN112232439A publication Critical patent/CN112232439A/zh
Application granted granted Critical
Publication of CN112232439B publication Critical patent/CN112232439B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Abstract

本发明涉及图像处理无监督学习领域,针对传统ReID模型自动化数据标注训练过程耗时长以及标注不稳定而难以稳定学习样本特征的缺陷,提出本发明的非监督ReID中的伪标签更新方法、系统及介质,旨在解决如何缩短标注数据的时耗避免聚类样本标签跳变的技术问题。为此,本发明的方法包括通过仅使用部分样本在每轮迭代中进行在线标注数据即样本标签的更新以及在适当的时候更新模型参数直到收敛。由于部分样本的使用和在线迭代更新大大缩短自动化标注上的消耗的时间且不对全部样本重新聚类而避免了标签跳变。

Description

非监督ReID中的伪标签更新方法及系统
技术领域
本发明涉及机器学习领域,具体涉及一种非监督ReID中的伪标签更新方法及系统。
背景技术
在深度学习领域,标注数据的质量直接影响了算法在应用时的性能,而对数据进行标注需要耗费大量人力,在此情形下利用无标签数据的非监督学习应运而生。跨镜追踪(ReID):是指通过将查询的图片向量化,然后与数据库中的图片进行比对,找出属于同一个ID的图片。在跨镜追踪(ReID)领域,非监督ReID运用在无法获取标注数据或者对数据进行标注非常困难的场景。在非监督ReID中,往往需要对无标签的数据进行自动化数据标注(伪标签),自动化数据标注的质量对非监督ReID算法的性能有重要影响。传统的非监督ReID训练时对全部样本重新聚类而大量时间会消耗在标注数据生成上,且标注数据不稳定导致ReID模型在学习时难以稳定的学习到样本特征。
发明内容
为了克服上述缺陷,提出了本发明,以提供解决或至少部分解决如何通过部分样本每轮迭代在线更新的训练无监督模型以减少训练时标注数据生成时间消耗、提高训练速度以及避免全部样本聚类时的标签跳变的技术问题。本发明为解决上述技术问题提供了一种非监督ReID中的伪标签更新方法、系统、装置及介质。
第一方面,提供一种非监督ReID中的伪标签更新方法,包括:基于非监督ReID神经网络模型从无标签的图片的数据集中获取每个样本的特征向量,进行聚类后得到多个聚类中心并分配类别标签给所述每个样本以标识其所属的聚类中心;在聚类后的数据集中采样部分样本,训练所述非监督ReID神经网络模型,并在训练的每次迭代中更新模型参数以获得所述部分样本的新的特征向量;基于每次迭代中获得的所述部分样本的新的特征向量和所述多个聚类中心,计算所述部分样本中每个样本的新的类别标签并更新到所述每个样本所在的数据集中;当达到预定迭代条件时,对所述多个聚类中心进行更新、重新为所属的每个样本分配类别标签并且更新所述非监督ReID神经网络模型的参数,以及如果达到了迭代收敛条件则结束训练并记录训练好的非监督ReID神经网络模型。
其中,在聚类后的数据集中采样部分样本,训练所述非监督ReID神经网络模型,并在训练的每次迭代中更新模型参数以获得所述部分样本的新的特征向量,具体包括:从所述数据集中采样miniBatch个样本,提供给所述非监督ReID神经网络模型进行卷积神经网络的迭代训练,并在每次迭代时根据损失函数进行一次所述非监督ReID神经网络模型的参数更新;基于更新的模型参数,所述非监督ReID神经网络模型通过前向传播获取所述miniBatch个样本新的特征向量;通过动量法叠加所述新的特征向量到对应样本原来的特征向量上,或者直接利用所述新的特征向量替换对应样本原来的特征向量,以便在每次迭代中获得所述部分样本的新的特征向量。
其中,基于每次迭代中获得的所述部分样本的新的特征向量和所述多个聚类中心,计算所述部分样本中每个样本的新的类别标签并更新到所述每个样本所在的数据集中,具体包括:对于每次迭代获得的所述部分样本的新的特征向量,分别计算每个所述新的特征向量与多个聚类中心的距离而得到所述新的特征向量对应样本的新的类别标签,并用新的类别标签更新数据集中对应样本原来的类别标签。
其中,当达到预定迭代条件时,对所述多个聚类中心进行更新、重新为所属的每个样本分配类别标签并且更新所述非监督ReID神经网络模型的参数,具体包括:当达到预定迭代条件时,统计多个聚类中心中样本数量少于预设值的小聚集,计算当前一个小聚集中的每个样本与其余每个聚类中心的距离,重新为当前小聚集中的每个样本分配对应样本距离最近的聚类中心的类别标签,直到当前小聚集没有样本;将所述其余每个聚类中心中样本数量最多的大聚集分成两个分裂聚集,随机将其中一个分裂聚集的类别标签置为没有样本的当前小聚集的类别标签,作为其余每个聚类中心的一个;如果所有的小聚集都完成样本重新分配以及类别标签设置到分裂聚集后,对每个聚类中心中样本的特征向量通过求均值方式重新确定每个聚类中心的中心向量;利用重新计算的多个聚类中心的中心向量,通过动量法替换或直接替换非监督ReID神经网络模型的头部网络中分类损失分支的全连接层的权重参数,从而更新所述权重的权值。
其中,所述预定迭代条件为:迭代次数达到预设迭代次数n的整数倍;统计多个聚类中心中样本数量少于预设值的小聚集,具体包括:
统计当前多个聚类中心中样本数量少于预设值M的一个或多个小聚集并记为C-small,并将其余样本数量大于M的其余每个聚类中心的聚集记为C-normal;在“计算当前一个小聚集中的每个样本与其余每个聚类中心的距离,重新为当前小聚集中的每个样本分配对应该样本距离最近的聚类中心的类别标签,直到当前小聚集没有样本”之前,所述方法还包括:判断当前一个小聚集C-small中的样本数量是否为0;若不为0,则计算当前小聚集C-small中的每个样本与每个其余聚集C-normal的中心之间的距离,并将当前小聚集C-small中的每个样本分配到计算出的与该样本距离最近的中心所在的其余聚集C-normal中去、同时重新分配该其余聚集C-normal的类别标签,直到当前小聚集C-small的样本数量为0,进入当前小聚集C-small的样本数量为0的处理;若为0,则进入当前小聚集C-small的样本数量为0的处理,具体包括:将当前其余聚集C-normal中样本数量最多的大聚集分成两个分裂聚集,随机选择一个分裂聚集并将其类别标签置为样本数量为0的当前小聚集C-small的类别标签,并且将该重置了类别标签的分裂聚类作为一个其余聚集并记为C-normal。
其中,在“对每个聚类中心中样本的特征向量通过求均值方式重新确定每个聚类中心的中心向量”之前,所述方法还包括:判断是否所有的小聚集C-small都已经完成样本重新分配以及类别标签设置到分裂聚集;如果没有则继续对剩下的小聚集C-small进行处理。
其中,基于非监督ReID神经网络模型从无标签的图片的数据集中获取的每个样本的特征向量,进行聚类后得到多个聚类中心,具体包括:初始化所述非监督ReID神经网络模型并通过前向传播从所述无标签的图片的数据集中获取所述每个样本的特征向量;利用聚类算法对所有的所述特征向量进行聚类,将所述特征向量所在的所述无标签的数据集划分为多个类别并获取对应个数的聚类中心。
其中,初始化所述非监督ReID神经网络模型,具体包括:对所述非监督ReID神经网络模型的骨干网络和头部网络进行初始化,其中,骨干网络的参数用预先训练的权重进行初始化,头部网络的参数随机初始化;在初始化时,将所有样本的特征向量的维数Dim固定。
其中,所述头部网络中包含三元组损失和分类损失两个分支;初始化所述非监督ReID神经网络模型时,基于所述多个聚类中心初始化所述分类损失分支中的全连接层的权重参数。
其中,所述聚类算法为Kmeans;所述“利用聚类算法对所有的所述特征向量进行聚类,将所述特征向量所在的所述无标签的数据集划分为多个类别并获取对应个数的聚类中心”,具体包括:利用聚类算法Kmeans对所有的所述特征向量进行聚类;将所述特征向量所在的所述无标签的数据集划分为K个类别并获取对应的K个聚类中心;为每个聚类中心中的样本分配所属聚类中心的类别标签,其中,K为聚类中心的个数;
所述“头部网络的参数随机初始化”,具体包括:利用所述K个聚类中心初始化所述头部网络的所述分类损失分支中的全连接层的权重参数;所述“对所述多个聚类中心进行更新”包括:对K个聚类中心进行更新。
第二方面,提供一种计算机可读存储介质,该存储介质存储有多条程序代码,其特征在于,所述程序代码适于由处理器加载并运行以执行前述第一方面任一种所述的非监督ReID中的伪标签更新方法的步骤。
第三方面,提供一种控制装置,包括处理器和存储装置,其特征在于,所述存储装置适于存储多条程序代码,其特征在于,所述程序代码适于由所述处理器加载并运行以执行前述第一方面任一种所述的非监督ReID中的伪标签更新方法。
第四方面,提供一种非监督ReID中的伪标签更新系统,包括:初始化聚类模块,用于基于非监督ReID神经网络模型从无标签的图片的数据集中获取每个样本的特征向量,进行聚类后得到多个聚类中心并分配类别标签给所述每个样本以标识其所属的聚类中心;特征向量更新模块,用于在聚类后的数据集中采样部分样本,训练所述非监督ReID神经网络模型,并在训练的每次迭代中更新模型参数以获得所述部分样本的新的特征向量;样本更新模块,用于基于每次迭代中获得的所述部分样本的新的特征向量和所述多个聚类中心,计算所述部分样本中每个样本的新的类别标签并更新到所述每个样本所在的数据集中;模型参数更新模块,用于当达到预定迭代条件时,对所述多个聚类中心进行更新、重新为所属的每个样本分配类别标签并且更新所述非监督ReID神经网络模型的参数,以及如果达到了迭代收敛条件则结束训练并记录训练好的非监督ReID神经网络模型。
其中,所述初始化聚类模块,具体包括:第一单元,用于初始化所述非监督ReID神经网络模型并通过前向传播从所述无标签的图片的数据集中获取所述每个样本的特征向量;第二单元,用于利用聚类算法对所有的所述特征向量进行聚类,将所述特征向量所在的所述无标签的数据集划分为多个类别并获取对应个数的聚类中心;所述特征向量更新模块,具体包括:第三单元,用于从所述数据集中采样miniBatch个样本,提供给所述非监督ReID神经网络模型进行卷积神经网络的迭代训练,并在每次迭代时根据损失函数进行一次所述非监督ReID神经网络模型的参数更新;第四单元,用于基于更新的模型参数,所述非监督ReID神经网络模型通过前向传播获取所述miniBatch个样本新的特征向量;第五单元,用于通过动量法叠加所述新的特征向量到对应样本原来的特征向量上,或者直接利用所述新的特征向量替换对应样本原来的特征向量,以便在每次迭代中获得所述部分样本的新的特征向量;所述样本更新模块,具体包括:第六单元,用于对于每次迭代获得的所述部分样本的新的特征向量,分别计算每个所述新的特征向量与多个聚类中心的距离而得到所述新的特征向量对应样本的新的类别标签,并用新的类别标签更新数据集中对应样本原来的类别标签;所述模型参数更新模块,具体包括:第七单元,用于当达到预定迭代条件时,统计多个聚类中心中样本数量少于预设值的小聚集,计算当前一个小聚集中的每个样本与其余每个聚类中心的距离,重新为当前小聚集中的每个样本分配对应样本距离最近的聚类中心的类别标签,直到当前小聚集没有样本;第八单元,用于将所述其余每个聚类中心中样本数量最多的大聚集分成两个分裂聚集,随机将其中一个分裂聚集的类别标签置为没有样本的当前小聚集的类别标签,作为其余每个聚类中心的一个;第九单元,用于如果所有的小聚集都完成样本重新分配以及类别标签设置到分裂聚集后,对每个聚类中心中样本的特征向量通过求均值方式重新确定每个聚类中心的中心向量;第十单元,用于利用重新计算的多个聚类中心的中心向量,通过动量法替换或直接替换非监督ReID神经网络模型的头部网络中分类损失分支的全连接层的权重参数,从而更新所述权重的权值。
其中,所述第一单元执行初始化所述非监督ReID神经网络模型操作具体包括:对所述非监督ReID神经网络模型的骨干网络和头部网络进行参数初始化,其中,骨干网络的参数用预先训练的权重进行初始化,并且,基于所述多个聚类中心的中心向量初始化头部网络的分类损失分支中的全连接层的权重参数;以及,在初始化时,将所有样本的特征向量的维数Dim固定;所述第七单元在执行“计算当前一个小聚集中的每个样本与其余每个聚类中心的距离,重新为当前小聚集中的每个样本分配对应该样本距离最近的聚类中心的类别标签,直到当前小聚集没有样本”操作之前,先执行判断操作,以判断当前一个小聚集C-small中的样本数量是否为0,如果为0则直接执行第八单元的操作;所述第九单元在执行“对每个聚类中心中样本的特征向量通过求均值方式重新确定每个聚类中心的中心向量”之前,会先执行判断操作,判断是否所有小聚集都已经完成样本重新分配以及类别标签设置到分裂聚集;如果没有则继续执行第七单元的操作。
本发明上述一个或多个技术方案,至少具有如下一种或多种有益效果:
在实施本发明的技术方案中,利用聚类算法给未标注数据集中每个样本分配类别标签并保存每个聚集的中心向量;通过ReID模型前向传播获取样本新的特征向量,将得到的特征向量通过叠加/替换到样本原来的特征向量上,得到新的样本特征向量,通过计算该特征向量与聚类中心的距离得到该样本新的类别标签;基于当前样本的特征向量及类别标签,将其重新分配给新的聚集,然后根据新的聚集计算新的聚类中心的中心向量;再用聚类中心更新ReID模型中头部网络中分类损失分支中全连接层的权重参数,继续下一次迭代,直到收敛。本发明的技术方案,针对非监督ReID中标注数据生成过多的生成耗时和较低的训练速度、以及所有样本重新聚导致的样本标签分布跳变等缺陷,设计了通过在每轮迭代中进行在线标注数据更新的方法来使得在非监督ReID训练过程中每一轮迭代时标注数据更新耗时缩短,标注数据的标签更稳定。这缓解了传统非监督ReID训练时大量时间消耗在标注数据生成和标注数据不稳定导致ReID模型在学习难以稳定的学习到样本特征的问题。在训练过程中采用部分样本在线更新的方式代替传统方法中对所有样本重新聚类来更新的方式,避免了重新聚类导致样本的标签分布出现跳变的问题,有利于加速模型的收敛。
附图说明
下面参照附图来描述本发明的具体实施方式,附图中:
图1是根据本发明的非监督ReID中的伪标签更新方法的一个实施例的主要步骤流程示意图;
图2是根据本发明的方法的迭代训练的一个实施例的主要步骤流程示意图;结构框图;
图3是根据本发明的方法的聚类中心更新的一个实施例的主要步骤流程示意图;
图4是根据本发明的非监督ReID中的伪标签更新系统的一个实施例的主要结构框图;
具体实施方式
下面参照附图来描述本发明的一些实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
在本发明的描述中,“模块”、“处理器”可以包括硬件、软件或者两者的组合。一个模块可以包括硬件电路,各种合适的感应器,通信端口,存储器,也可以包括软件部分,比如程序代码,也可以是软件和硬件的组合。处理器可以是中央处理器、微处理器、图像处理器、数字信号处理器或者其他任何合适的处理器。处理器具有数据和/或信号处理功能。处理器可以以软件方式实现、硬件方式实现或者二者结合方式实现。非暂时性的计算机可读存储介质包括任何合适的可存储程序代码的介质,比如磁碟、硬盘、光碟、闪存、只读存储器、随机存取存储器等等。术语“A和/或B”表示所有可能的A与B的组合,比如只是A、只是B或者A和B。术语“至少一个A或B”或者“A和B中的至少一个”含义与“A和/或B”类似,可以包括只是A、只是B或者A和B。单数形式的术语“一个”、“这个”也可以包含复数形式。
本发明主要通过对构建的非监督ReID神经网络模型初始化后得到所有样本的特征向量,并利用聚类算法对这些无标签样本的特征向量进行聚类并分配对应类别的标签;通过聚类中心向量初始化所述模型头部网络权重参数;在线每次迭代时都更新部分样本的特征向量及其样本标签;并在多次迭代后更新聚类中心的中心向量进而更新所述模型中头部网络权重参数;继续重复迭代训练直到损失收敛。在本发明实施例中,通过在每轮迭代中进行在线标注数据更新的方法来使得在非监督ReID训练过程中每一轮迭代时标注数据更新耗时缩短,标注数据的标签更稳定。这缓解了传统非监督ReID训练时大量时间消耗在标注数据生成和标注数据不稳定导致ReID模型在学习难以稳定的学习到样本特征的问题,尤其是,实验效果体现了,通过本发明使得非监督ReID神经网络模型的训练过程中,在样本自动化标注上的消耗的时间明显缩小,特别是对于十万数量级以上的样本。在训练过程中采用部分样本在线更新的方式代替传统方法中对所有样本重新聚类来更新的方式,也避免了重新聚类导致样本的标签分布出现跳变的问题,有利于加速模型的收敛。
下面结合图1所示本发明的非监督ReID中的伪标签更新方法方法的一个实施例的流程图,对本发明的实现过程进行介绍。
步骤SS110,基于所述非监督ReID神经网络模型从无标签的图片的数据集中获取的每个样本的特征向量,进行聚类后得到多个聚类中心并分配类别标签给所述每个样本以标识其所属的聚类中心。
在一个实施方式中,首先构建一个非监督ReID神经网络模型,例如卷积神经网络CNN模型,并进行初始化。具体地,该神经网络模型至少包含主干网络、头部网络两部分。其中,头部网络中包含三元组损失和分类损失两个分支。
其中,跨镜追踪(ReID,Person Re-identification)或称为行人重识别:是指通过将视频或图像序列中要查询的图片向量化(即图片样本的特征向量),然后与数据库中的图片进行比对,找出属于同一个ID的图片,即实现图像检索。这里,所述模型可以通过在线进行迭代训练后,存储并可以在线进行检索识别时使用甚至数据更新。
在一个实施方式中,初始化所述非监督ReID神经网络模型并通过前向传播/前馈方式从所述无标签/未标注的图片的数据集中获取所述每个样本(例如图片)的特征向量。
在一个实施方式中,利用聚类算法对该数据集中的所有的样本的所述特征向量进行聚类,将所述特征向量所在的该无标签的数据集划分为多个类别,即将对应特征向量的样本划分到了不同的聚类/聚集中,并获取对应个数的聚类中心/聚类/聚集,每个聚类中心具有一个中心向量。
在一个实施方式中,在初始化时,将所有样本的特征向量的维数Dim固定。具体地,利用初始化的ReID网络前向传播得到的未标注数据集中每个样本的特征向量,所有样本的特征向量的维数Dim是固定不变的可以是128或者256。
其中,初始化所述模型包括:将所述模型的骨干网络,头部网络等都进行初始化,主要是参数的初始化,例如:骨干网络的参数一般用预训练权重进行初始化,头部网络的参数随机初始化。优选例如,初始化ReID神经网络模型时,可以基于所述多个聚类中心初始化所述分类损失分支中的全连接层的权重参数;并且,后续可以更具更新了的聚类中心的中心向量来更新该权重参数(例如:将这些聚类中心的中心向量归一化后替换该模型头部网络中的分类损失中的全连接层的权重参数)。
优选例子:所述聚类算法为Kmeans;对所有的所述特征向量进行聚类后得到K个类别,或者称为K个聚类中心,每个聚类中心即聚类或聚集,都有一个中心向量,并且,K个类别有K个对应的类别标签,保存这些中心向量。
进一步,将无标签的该数据集中的所有样本划分成所述K个类别,并分配所属类别的类别标签给所有样本。
进一步,利用所述K个聚类中心的中心向量来初始化所述分类损失分支中的全连接层的权重参数。
步骤SS120,在聚类后的数据集中采样部分样本,训练所述非监督ReID神经网络模型,并在训练的每次迭代中更新模型参数以获得所述部分样本的新的特征向量。
一个实施方式中,所述非监督ReID神经网络模型的训练是卷积神经网络的迭代训练。
具体地,在线的一次迭代中,可以从所述数据集中采样部分样本例如采样miniBatch个样本,提供给所述非监督ReID神经网络模型计算,并在本次迭代时根据损失函数进行一次所述非监督ReID神经网络模型的参数更新。
进一步,例如,具体可以取出样本输入数据、样本标签、分类等各项数据,计算输入数据、使用损失函数计算标签、分类损失等,调用反向传播/后馈处理并执行梯度下降的优化等,统计损失的累计值以及分类的正确模型,每次迭代完成时还要计算正确率等。由此,调用反向传播/后馈处理可以对所述模型的参数进行一次更新。
一个实施方式中,基于更新的模型的参数,所述非监督ReID神经网络模型通过前向传播获取所述miniBatch个样本新的特征向量。即通过当前更新了的模型的参数可以重新获得的部分样本的新的特征向量。
进一步,得到这些新的特征向量后,可以通过动量法,叠加到对应的样本的原来的特征向量上;或者,直接利用所述新的特征向量替换对应样本原来的特征向量。由此,获得本次迭代获得的所述部分样本的新的特征向量。
步骤SS130,基于每次迭代中获得的所述部分样本的新的特征向量和所述多个聚类中心,计算所述部分样本中每个样本的新的类别标签并更新到所述每个样本所在的数据集中。
一个实施方式中,对于本次迭代获得的所述部分样本(如minibatch个样本)的新的特征向量,分别计算每个所述新的特征向量与多个聚类中心(如K个)的中心向量的距离,而得到所述新的特征向量对应的样本的新的类别标签,并用新的类别标签更新数据集中对应样本原来的类别标签。也就是说,每次迭代都可能部分样本的标签或者说类别会变化,在线即时标注且只需要部分样本标注发生变化。
这样在线训练时每一次迭代,都会更新该miniBatch样本用于表征它的特征向量和在数据集中的标签。
步骤SS140,当达到预定迭代条件时,对所述多个聚类中心进行更新、重新为所属的每个样本分配类别标签并且更新非监督ReID神经网络模型的参数,以及,如果达到了迭代收敛条件则结束训练并记录训练好的非监督ReID神经网络模型。
一个实施方式中,当达到预定迭代条件时,统计多个聚类中心中样本数量少于预设值的小聚集,计算当前一个小聚集中的每个样本与其余每个聚类中心的距离,重新为当前小聚集中的每个样本分配对应样本距离最近的聚类中心的类别标签,直到当前小聚集没有样本。
一个实施方式中,将所述其余每个聚类中心中样本数量最多的大聚集分成两个分裂聚集,随机将其中一个分裂聚集的类别标签置为没有样本的当前小聚集的类别标签,作为其余每个聚类中心的一个。
一个实施方式中,如果所有的小聚集都完成样本重新分配以及类别标签设置到分裂聚集后,对每个聚类中心中样本的特征向量通过求均值方式重新确定每个聚类中心的中心向量。
具体地,预定迭代条件为:预设的迭代次数n的整数倍。判断是否达到该n次的整数倍,当判断结果为真,就可以认为达到条件。
其中,统计多个聚类中心中样本数量少于预设值的小聚集,包括:统计当前多个聚类中心中样本数量少于预设值M的一个或多个小聚集并记为C-small,并将其余样本数量大于M的其余每个聚类中心的聚集记为C-normal。
进一步,在“计算当前一个小聚集中的每个样本与其余每个聚类中心的距离,重新为当前小聚集中的每个样本分配对应该样本距离最近的聚类中心的类别标签,直到当前小聚集没有样本”之前,包括:判断当前一个小聚集C-small中的样本数量是否为0即没有样本。
其中,如果不是为0,则执行“计算当前一个小聚集中的每个样本与其余每个聚类中心的距离,重新为当前小聚集中的每个样本分配对应样本距离最近的聚类中心的类别标签,直到当前小聚集没有样本”。具体为:计算当前小聚集C-small中的每个样本与每个其余聚集C-normal的中心之间的距离,并将当前小聚集C-small中的每个样本分配到计算的与该样本距离最近的中心所在的其余聚集C-normal中去、同时重新分配该其余聚集C-normal的类别标签,直到当前小聚集C-small的样本数量为0,进入当前小聚集C-small的样本数量为0的处理。
其中,如果是为0,则进入当前小聚集C-small的样本数量为0的处理,包括:将当前其余聚集C-normal中样本数量最多的大聚集分成两个分裂聚集,随机选择一个分裂聚集并将其类别标签置为样本数量为0的当前小聚集C-small的类别标签,并且将该重置了类别标签的分裂聚类作为一个其余聚集并记为C-normal。
进一步,“如果所有的小聚集都完成样本重新分配以及类别标签设置到分裂聚集后,对每个聚类中心中样本的特征向量通过求均值方式重新确定每个聚类中心的中心向量”之前,还包括:判断是否所有的小聚集C-small都已经完成样本重新分配以及类别标签设置到分裂聚集;如果没有则继续对剩下的小聚集C-small进行处理,如果所有C-small都处理完了,就可以进行聚类中心的中心向量更新。
其中,对所述多个聚类中心进行更新包括:对K个聚类中心进行更新,K个聚类中心个数不变,将K个聚类中心中样本数量少于预设值的小聚集中的样本全部重新分配类别标签后,K个聚类中心中样本数量相对最多的分裂成两个并将没有样本的所述小聚集的分类标签配置给其中一个。
例如:
(1)K个类别,有3个C-small,对第一个C-small.1其标签为x1,进行判断,其样本有2个a和b,不为0,则先分别计算这两个样本a、b与K-3个聚类中心的K-3个中心向量的距离,a与C-normal.3的中心的距离最近则a划分到该C-normal.3,b与C-normal.8的中心的距离最近则b划分到C-normal.8;
(2)划分完后,此时C-small.1的样本是0,则进入分裂处理:将K-3个类别中样本数量最多的一个聚集(聚类中心)如C-normal.7最多,划分成两部分C-normal.7-1和C-normal.7-2,人选一个比如选C-normal.7-2保留原来的类别标签,而另一个C-normal.7-1就用上C-small.1的类别标签x1,然后该C-normal.7-1作为K-2个类别中的一个,余下还有2个C-small没有处理;
(3)依次将另外两个C-small进行(1)、(2)描述的处理,判断C-small处理完成后,K个类别都不再有C-small,都是C-normal,这样,对各自的聚类中心中的样本的特征向量求均值,重新确定各自的聚类中心的中心向量。
进一步,利用重新计算的多个聚类中心的中心向量,通过动量法替换或直接替换所述模型的头部网络中分类损失分支的全连接层的权重参数,从而更新所述权重的权值。进一步,在线训练时多次迭代后利用新的样本特征向量重新计算的K个聚类中心的中心向量,可以先归一化后再替换Reid头部网络中的分类损失分支中的全连接层的权重参数。
进一步,继续反复迭代训练,直到损失收敛,也可以规定的迭代收敛的条件。
一个实施例中,更新完权重值之后判断是否达到了所述模型迭代收敛条件,如果达到了迭代收敛条件则结束训练并记录训练好的非监督ReID神经网络模型,比如:是否已经迭代了预定的迭代次数n,如果达到了n次则认为已经收敛足够,满足条件。如果没有达到,进入下一次迭代。
下面参阅图2,图2为本发明的方案关于整个模型在迭代训练一个实施例的主要步骤流程示意图,进一步对本发明的方案进行说明。
步骤S101,模型初始化;
构建一个ReID模型神经网络并进行初始化,该神经网络至少包含主干网络、头部网络两部分;头部网络中包含三元组损失和分类损失两个分支。将ReID模型的骨干网络,头部网络等进行初始化,其中骨干网络的参数一般用预训练权重进行初始化,头部网络的参数随机初始化,例如在数据集初始化时聚类数据集后得到的K个类别的中心向量,可以对头部网络的分类损失分支的权重参数进行初始化、以及后续对每次迭代的头部网络的分类损失分支的权重参数进行更新。
步骤S102,数据集初始化;
利用初始化的ReID网络前向传播得到未标注数据集中每个样本的特征向量,所有样本的特征向量的维数Dim是固定不变的,可以是128或者256,这个参数在S101中确定。利用聚类方法对所有特征向量进行聚类;聚类之后得到每个样本的标签和K个聚类中心并记录各自的中心向量。聚类方法可以为Kmeans,但是不限于此方法,还可以为K-MEDOIDS、Clara等。
步骤S103,ReID模型迭代;
利用卷积神经网络的训练方法,从样本中采样miniBatch个样本喂给模型,模型根据损失函数进行一次参数更新。
步骤S104,样本更新;
将S103中的miniBatch个样本,利用ReID模型当前的参数前向传播获取样本新的特征向量;得到这些特征向量后,可以通过动量法或其他可替代方法叠加到原来的特征向量上(例如:样本特征的更新方法除使用动量法之外,也可以直接替换),得到新的样本特征向量。根据新的特征向量计算每个特征向量与K个聚类中心的距离得到该样本的新的类别标签,并更新到数据集中。
步骤S105,条件判断:迭代次数为n的整数倍;这里的n为预设值,表示迭代n次。例如n=40次。
步骤S106,聚类中心更新;
若S105中条件为真,则进行该步骤。对数据集中所有样本的特征向量及类别标签,为了防止少量样本聚集成样本数很小的聚集,需要平衡聚集中的样本数目,具体步骤如图3。如果条件为假则到步骤S108。
步骤S107,权重参数更新;
利用S106得到的新的聚类中心更新ReID网络中头部网络中的分类损失的分支的权值。
步骤S108,判定迭代次数是否已经达到预定次数/条件(n次或根据需要预先设定的次数/收敛次数或收敛条件),若是则结束非监督ReID的训练,若否则再次执行S103。
参阅图3,图3为本发明的方案中关于聚类中心更新流程,即步骤S106的具体实现的一个例子:
步骤S201,统计样本数量小于M的聚集;
根据预设值M,从K个聚集中找出样本数量小于M的聚集,令其为C-small,样本数量大于M的聚集,令其为C-normal。一种方式,可以根据实际需要标注的样本数量和类别来选择M,例如:10个类别总共1000个样本,每个类别平均可以有100个,将一百的5%的个数预设为M。
步骤S202,判定;
从C-small中取出一个判断其样本数是否为0,若为控即为0则执行步骤S204,若不为空则执行步骤S203;
步骤S203,重新给样本分配标签;
计算当前一个聚集C-small中每个样本与其余不为C-small的多个聚集C-large中的每个聚类中心C-normal的中心向量的距离,将其标签重置为距离最近的聚类中心所属的类别。分配完成后该聚集中元素为空。
这样,采用部分样本在线更新的方式代替传统方法中对所有样本重新聚类来更新的方式,避免了重新聚类导致样本的标签分布出现跳变的问题,有利于加速模型的收敛。参见步骤SS140中的例子。
步骤S204,分裂样本最多的聚集;
从C-normal中选择一个样本数量最多的聚集,利用聚类方法比如但不限于Kmeans将其分成两个聚集,随机将其中一个聚集的标签置为步骤S203中所述聚集C-small的标签,并将其加入到C-normal中;另一个聚集的标签维持不变。
步骤S205,判定;
C-small中所有聚集即都为C-small的小聚集,是否处理完毕,若否则执行步骤S202,若是执行步骤S206。
步骤S206,计算K个聚类中心;
将C-small中的聚集全部重新分配完标签后,通过将每个聚集中所有样本的特征向量求均值的方式,重新计算K个聚集的中心向量。
步骤S207,更新网络参数;
利用步骤S206中的K个中心向量替换头部网络中分类损失分支中全连接层的权重参数。其中权重参数的更新方法可以是直接替换,也可以是采用动量法进行替换。
针对目前非监督ReID中标注数据生成/更新的需求设计了通过在每轮迭代中进行在线标注数据更新的方案来使得在非监督ReID训练过程中每一轮迭代时标注数据生成/更新耗时缩短,标注数据的标签更稳定。这缓解了传统非监督ReID训练时大量时间消耗在标注数据生成和标注数据不稳定导致ReID模型在学习难以稳定的学习到样本特征的问题。训练过程中采用部分样本在线更新的方式代替传统方法中对所有样本重新聚类来更新的方式,避免了重新聚类导致样本的标签分布出现跳变,有利于加速模型的收敛。
进一步,本发明还提供了一种非监督ReID中的伪标签更新系统,参见图4所示本发明的系统的一个实施例的框图。该系统至少包括:初始化聚类模块410,具有第一单元和第二单元;特征向量更新模块420,具有第三单元、第四单元和第五单元;样本更新模块430,具有第六单元;模型参数更新模块440,具有第七单元、第八单元、第九单元和第十单元。
初始化聚类模块410,基于所述非监督ReID神经网络模型从无标签的图片的数据集中获取的每个样本的特征向量,进行聚类后得到多个聚类中心并分配类别标签给所述每个样本以标识其所属的聚类中心。
在一个实施方式中,首先构建一个非监督ReID神经网络模型,例如卷积神经网络CNN模型,并进行初始化。具体地,该神经网络模型至少包含主干网络、头部网络两部分。其中,头部网络中包含三元组损失和分类损失两个分支。
其中,跨镜追踪(ReID,Person Re-identification)或称为行人重识别:是指通过将视频或图像序列中要查询的图片向量化(即图片样本的特征向量),然后与数据库中的图片进行比对,找出属于同一个ID的图片,即实现图像检索。这里,所述模型可以通过在线进行迭代训练后,存储并可以在线进行检索识别时使用甚至数据更新。
在一个实施方式中,第一单元,初始化所述非监督ReID神经网络模型并通过前向传播/前馈方式从所述无标签/未标注的图片的数据集中获取所述每个样本(例如图片)的特征向量。
在一个实施方式中,第二单元,利用聚类算法对该数据集中的所有的样本的所述特征向量进行聚类,将所述特征向量所在的该无标签的数据集划分为多个类别,即将对应特征向量的样本划分到了不同的聚类/聚集中,并获取对应个数的聚类中心/聚类/聚集,每个聚类中心具有一个中心向量。
在一个实施方式中,第一单元在初始化时,将所有样本的特征向量的维数Dim固定。具体地,利用初始化的ReID网络前向传播得到的未标注数据集中每个样本的特征向量,所有样本的特征向量的维数Dim是固定不变的可以是128或者256。
其中,第一单元初始化所述模型包括:将所述模型的骨干网络,头部网络等都进行初始化,主要是参数的初始化,例如:骨干网络的参数一般用预训练权重进行初始化,头部网络的参数随机初始化。优选例如,初始化ReID神经网络模型时,可以基于所述多个聚类中心初始化所述分类损失分支中的全连接层的权重参数;并且,后续可以更具更新了的聚类中心的中心向量来更新该权重参数(例如:将这些聚类中心的中心向量归一化后替换该模型头部网络中的分类损失中的全连接层的权重参数)。
优选例子:所述聚类算法为Kmeans;对所有的所述特征向量进行聚类后得到K个类别,或者称为K个聚类中心,每个聚类中心即聚类或聚集,都有一个中心向量,并且,K个类别有K个对应的类别标签,保存这些中心向量。
进一步,将无标签的该数据集中的所有样本划分成所述K个类别,并分配所属类别的类别标签给所有样本。
进一步,利用所述K个聚类中心的中心向量来初始化所述分类损失分支中的全连接层的权重参数。
特征向量更新模块420,在聚类后的数据集中采样部分样本,训练所述非监督ReID神经网络模型,并在训练的每次迭代中更新模型参数以获得所述部分样本的新的特征向量。
一个实施方式中,所述非监督ReID神经网络模型的训练是卷积神经网络的迭代训练。
具体地,第三单元,在线的一次迭代中,可以从所述数据集中采样部分样本例如采样miniBatch个样本,提供给所述非监督ReID神经网络模型计算,并在本次迭代时根据损失函数进行一次所述非监督ReID神经网络模型的参数更新。
进一步,例如,具体可以取出样本输入数据、样本标签、分类等各项数据,计算输入数据、使用损失函数计算标签、分类损失等,调用反向传播/后馈处理并执行梯度下降的优化等,统计损失的累计值以及分类的正确模型,每次迭代完成时还要计算正确率等。由此,调用反向传播/后馈处理可以对所述模型的参数进行一次更新。
一个实施方式中,第四单元,基于更新的模型的参数,所述非监督ReID神经网络模型通过前向传播获取所述miniBatch个样本新的特征向量。即通过当前更新了的模型的参数可以重新获得的部分样本的新的特征向量。
进一步,得到这些新的特征向量后,第五单元,可以通过动量法,叠加到对应的样本的原来的特征向量上;或者,直接利用所述新的特征向量替换对应样本原来的特征向量。由此,获得本次迭代获得的所述部分样本的新的特征向量。
样本更新模块130,基于每次迭代中获得的所述部分样本的新的特征向量和所述多个聚类中心,计算所述部分样本中每个样本的新的类别标签并更新到所述每个样本所在的数据集中。
一个实施方式中,第六单元,对于本次迭代获得的所述部分样本(如minibatch个样本)的新的特征向量,分别计算每个所述新的特征向量与多个聚类中心(如K个)的中心向量的距离,而得到所述新的特征向量对应的样本的新的类别标签,并用新的类别标签更新数据集中对应样本原来的类别标签。也就是说,每次迭代都可能部分样本的标签或者说类别会变化,在线即时标注且只需要部分样本标注发生变化。
这样在线训练时每一次迭代,都会更新该miniBatch样本用于表征它的特征向量和在数据集中的标签。
模型参数更新模块140,当达到预定迭代条件时,对所述多个聚类中心进行更新、重新为所属的每个样本分配类别标签并且更新非监督ReID神经网络模型的参数,以及,如果达到了迭代收敛条件则结束训练并记录训练好的非监督ReID神经网络模型。
一个实施方式中,第七单元,当达到预定迭代条件时,统计多个聚类中心中样本数量少于预设值的小聚集,计算当前一个小聚集中的每个样本与其余每个聚类中心的距离,重新为当前小聚集中的每个样本分配对应样本距离最近的聚类中心的类别标签,直到当前小聚集没有样本。
一个实施方式中,第八单元,将所述其余每个聚类中心中样本数量最多的大聚集分成两个分裂聚集,随机将其中一个分裂聚集的类别标签置为没有样本的当前小聚集的类别标签,作为其余每个聚类中心的一个。
一个实施方式中,第九单元,如果所有的小聚集都完成样本重新分配以及类别标签设置到分裂聚集后,对每个聚类中心中样本的特征向量通过求均值方式重新确定每个聚类中心的中心向量。
具体地,预定迭代条件为:预设的迭代次数n的整数倍。判断是否达到该n次的整数倍,当判断结果为真,就可以认为达到条件。
其中,统计多个聚类中心中样本数量少于预设值的小聚集,包括:统计当前多个聚类中心中样本数量少于预设值M的一个或多个小聚集并记为C-small,并将其余样本数量大于M的其余每个聚类中心的聚集记为C-normal。
进一步,在“计算当前一个小聚集中的每个样本与其余每个聚类中心的距离,重新为当前小聚集中的每个样本分配对应该样本距离最近的聚类中心的类别标签,直到当前小聚集没有样本”之前,包括:判断当前一个小聚集C-small中的样本数量是否为0即没有样本。
其中,如果不是为0,则执行“计算当前一个小聚集中的每个样本与其余每个聚类中心的距离,重新为当前小聚集中的每个样本分配对应样本距离最近的聚类中心的类别标签,直到当前小聚集没有样本”。具体为:计算当前小聚集C-small中的每个样本与每个其余聚集C-normal的中心之间的距离,并将当前小聚集C-small中的每个样本分配到计算的与该样本距离最近的中心所在的其余聚集C-normal中去、同时重新分配该其余聚集C-normal的类别标签,直到当前小聚集C-small的样本数量为0,进入当前小聚集C-small的样本数量为0的处理。
其中,如果是为0,则进入当前小聚集C-small的样本数量为0的处理,包括:将当前其余聚集C-normal中样本数量最多的大聚集分成两个分裂聚集,随机选择一个分裂聚集并将其类别标签置为样本数量为0的当前小聚集C-small的类别标签,并且将该重置了类别标签的分裂聚类作为一个其余聚集并记为C-normal。
进一步,“如果所有的小聚集都完成样本重新分配以及类别标签设置到分裂聚集后,对每个聚类中心中样本的特征向量通过求均值方式重新确定每个聚类中心的中心向量”之前,还包括:判断是否所有的小聚集C-small都已经完成样本重新分配以及类别标签设置到分裂聚集;如果没有则继续对剩下的小聚集C-small进行处理,如果所有C-small都处理完了,就可以进行聚类中心的中心向量更新。
其中,对所述多个聚类中心进行更新包括:对K个聚类中心进行更新,K个聚类中心个数不变,将K个聚类中心中样本数量少于预设值的小聚集中的样本全部重新分配类别标签后,K个聚类中心中样本数量相对最多的分裂成两个并将没有样本的所述小聚集的分类标签配置给其中一个。
例如:
(1)K个类别,有3个C-small,对第一个C-small.1其标签为x1,进行判断,其样本有2个a和b,不为0,则先分别计算这两个样本a、b与K-3个聚类中心的K-3个中心向量的距离,a与C-normal.3的中心的距离最近则a划分到该C-normal.3,b与C-normal.8的中心的距离最近则b划分到C-normal.8;
(2)划分完后,此时C-small.1的样本是0,则进入分裂处理:将K-3个类别中样本数量最多的一个聚集(聚类中心)如C-normal.7最多,划分成两部分C-normal.7-1和C-normal.7-2,人选一个比如选C-normal.7-2保留原来的类别标签,而另一个C-normal.7-1就用上C-small.1的类别标签x1,然后该C-normal.7-1作为K-2个类别中的一个,余下还有2个C-small没有处理;
(3)依次将另外两个C-small进行(1)、(2)描述的处理,判断C-small处理完成后,K个类别都不再有C-small,都是C-normal,这样,对各自的聚类中心中的样本的特征向量求均值,重新确定各自的聚类中心的中心向量。
进一步,第十单元,利用重新计算的多个聚类中心的中心向量,通过动量法替换或直接替换所述模型的头部网络中分类损失分支的全连接层的权重参数,从而更新所述权重的权值。进一步,在线训练时多次迭代后利用新的样本特征向量重新计算的K个聚类中心的中心向量,可以先归一化后再替换Reid头部网络中的分类损失分支中的全连接层的权重参数。
进一步,继续反复迭代训练,直到损失收敛,也可以规定的迭代收敛的条件。
一个实施例中,更新完权重值之后判断是否达到了所述模型迭代收敛条件,如果达到了迭代收敛条件则结束训练并记录训练好的非监督ReID神经网络模型,比如:是否已经迭代了预定的迭代次数n,如果达到了n次则认为已经收敛足够,满足条件。如果没有达到,进入下一次迭代。
本领域技术人员能够理解的是,本发明实现上述一实施例的方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述存储介质中存储有多条程序代码,所述程序代码适用于由处理器加载并运行以执行前述的非监督ReID中的伪标签更新方法的步骤。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该存储装置可以是包括各种电子设备形成的存储装置设备,可选的,本发明实施例中存储是非暂时性的计算机可读存储介质。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存取存储器、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
进一步,本发明还提供了一种控制装置。在根据本发明的一个终端设备实施例中,其包括处理器和存储器,存储器可以被配置成存储多条程序代码,所述程序代码适于由该处理器加载并运行以执行前述非监督ReID中的伪标签更新方法的步骤。
进一步,应该理解的是,由于各个模块的设定仅仅是为了说明本发明的系统的功能单元,这些模块对应的物理器件可以是处理器本身,或者处理器中软件的一部分,硬件的一部分,或者软件和硬件结合的一部分。因此,图中的各个模块的数量仅仅是示意性的。
本领域技术人员能够理解的是,可以对系统中的各个模块进行适应性地拆分或合并。对具体模块的这种拆分或合并并不会导致技术方案偏离本发明的原理,因此,拆分或合并之后的技术方案都将落入本发明的保护范围内。
至此,已经结合附图所示的一个实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。

Claims (15)

1.一种非监督ReID中的标签更新方法,其特征在于,包括:
基于非监督ReID神经网络模型从无标签的图片的数据集中获取每个样本的特征向量,进行聚类后得到多个聚类中心及每个聚类中心对应的中心向量和类别标签,并分配类别标签给所述每个样本,以标识所述每个样本所属的聚类中心;
在聚类后的数据集中采样部分样本,训练所述非监督ReID神经网络模型,并在训练的每次迭代中更新模型参数以获得所述部分样本的新的特征向量;
基于每次迭代中获得的所述部分样本的新的特征向量和所述多个聚类中心,计算所述部分样本中每个样本的新的类别标签并更新到所述每个样本所在的数据集中;
其中,在每次迭代后,判断是否达到了迭代收敛条件,如果是,则结束训练并记录训练好的非监督ReID神经网络模型,如果否,则进入下一次迭代。
2.如权利要求1所述的方法,其特征在于,在聚类后的数据集中采样部分样本,训练所述非监督ReID神经网络模型,并在训练的每次迭代中更新模型参数以获得所述部分样本的新的特征向量,具体包括:
从所述数据集中采样miniBatch个样本,提供给所述非监督ReID神经网络模型进行卷积神经网络的迭代训练,并在每次迭代时根据损失函数的计算进行反向传播以更新所述非监督ReID神经网络模型的参数;
基于更新后的模型参数,所述非监督ReID神经网络模型通过前向传播获取所述miniBatch个样本新的特征向量;
通过动量法叠加所述新的特征向量到对应样本原来的特征向量上,或者直接利用所述新的特征向量替换对应样本原来的特征向量,以便在每次迭代中获得所述部分样本的新的特征向量。
3.如权利要求1所述的方法,其特征在于,基于每次迭代中获得的所述部分样本的新的特征向量和所述多个聚类中心,计算所述部分样本中每个样本的新的类别标签并更新到所述每个样本所在的数据集中,具体包括:
对于每次迭代获得的所述部分样本的新的特征向量,分别计算每个所述新的特征向量与多个聚类中心中每一个聚类中心的中心向量的距离,将计算出的距离最小的一个中心向量所在的聚类中心对应的类别标签分配给所述新的特征向量,以得到所述新的特征向量对应样本的新的类别标签,并用新的类别标签更新数据集中对应样本原来的类别标签。
4.如权利要求1所述的方法,其特征在于,所述“在每次迭代后,判断是否达到迭代收敛条件”之前,还包括:
判断是否达到预定迭代条件;
如果达到预定迭代条件,则更新所述多个聚类中心中每一个聚类中心对应的中心向量、以重新为所属的每个样本分配类别标签并且更新所述非监督ReID神经网络模型的部分参数用于下一次迭代。
5.如权利要求4所述的方法,其特征在于,所述“如果达到预定迭代条件,则更新所述多个聚类中心中每一个聚类中心对应的中心向量、以重新为所属的每个样本分配类别标签并且更新所述非监督ReID神经网络模型的部分参数用于下一次迭代”,具体包括:
当达到预定迭代条件时,统计多个聚类中心中样本数量少于预设值的聚类中心作为小聚集,计算当前一个小聚集中的每个样本与非小聚集的其余的聚类中心中的每一个聚类中心对应的中心向量的距离,为当前小聚集中的每个样本分配计算出的距离最小的一个中心向量所在的聚类中心对应的类别标签,以逐个将当前小聚集中的所有样本分别分配给所述其余的聚类中心;
将所述其余的聚类中心中样本数量最多的一个聚类中心作为大聚集并分成两个分裂聚集,随机选择其中一个分裂聚集并将其类别标签设置为已经没有样本的当前小聚集的类别标签,并将获得当前小聚集的类别标签的所述分裂聚集作为所述其余的聚类中心中的一个新的其余的聚类中心;
如果所有的小聚集都完成样本重新分配以及将自身的类别标签设置到各个分裂聚集后,对每个聚类中心中样本的特征向量通过求均值方式重新确定每个聚类中心的中心向量;
利用重新计算的多个聚类中心的中心向量,通过动量法替换或直接替换非监督ReID神经网络模型的头部网络中分类损失分支的全连接层的权重权值,从而更新所述非监督ReID神经网络模型的部分参数。
6.如权利要求5所述的方法,其特征在于,
所述预定迭代条件为:迭代次数达到预设迭代次数n的整数倍;
统计多个聚类中心中样本数量少于预设值的小聚集,具体包括:
统计当前多个聚类中心中样本数量少于预设值M的一个或多个聚类中心作为小聚集并记为C-small,并将其余样本数量大于M的其余的聚类中心的各个聚集记为C-normal;
在“计算当前一个小聚集中的每个样本与非小聚集的其余的聚类中心中的每一个聚类中心对应的中心向量的距离,为当前小聚集中的每个样本分配计算出的距离最小的一个中心向量所在的聚类中心对应的类别标签,以逐个将当前小聚集中的所有样本分别分配给所述其余的聚类中心”之前,所述方法还包括:
判断当前一个小聚集C-small中的样本数量是否为0;
若不为0,则计算当前小聚集C-small中的每个样本与每个其余聚集C-normal的中心向量之间的距离,并将当前小聚集C-small中的每个样本分配到计算出的与该样本距离最近的中心向量所在的其余聚集C-normal中去、并分配该其余聚集C-normal的类别标签给新分配来的样本,直到当前小聚集C-small的样本数量为0,进入当前小聚集C-small的样本数量为0的处理;
若为0,则进入当前小聚集C-small的样本数量为0的处理,具体包括:将当前其余聚集C-normal中样本数量最多的大聚集分成两个分裂聚集,随机选择一个分裂聚集并将其类别标签置为样本数量为0的当前小聚集C-small的类别标签,并且将该重置了类别标签的分裂聚类作为一个新的其余聚集并记为C-normal;
在“对每个聚类中心中样本的特征向量通过求均值方式重新确定每个聚类中心的中心向量”之前,所述方法还包括:
判断是否所有的小聚集C-small都已经完成样本重新分配以及类别标签设置到分裂聚集;
如果没有则继续对剩下的小聚集C-small进行处理。
7.如权利要求1至6中任一项所述的方法,其特征在于,基于非监督ReID神经网络模型从无标签的图片的数据集中获取的每个样本的特征向量,进行聚类后得到多个聚类中心及每个聚类中心对应的中心向量和类别标签,具体包括:
初始化所述非监督ReID神经网络模型并通过前向传播从所述无标签的图片的数据集中获取所述每个样本的特征向量;
利用聚类算法对所有的所述特征向量进行聚类,将所述特征向量所在的所述无标签的数据集划分为多个类别并获取对应个数的聚类中心,每个聚类中心对应一个中心向量和类别标签。
8.如权利要求7所述的方法,其特征在于,初始化所述非监督ReID神经网络模型,具体包括:
对所述非监督ReID神经网络模型的骨干网络和头部网络进行初始化,其中,骨干网络的参数用预先训练的权重进行初始化,头部网络的参数随机初始化;
在初始化时,将所有样本的特征向量的维数Dim固定。
9.如权利要求8所述的方法,其特征在于,
所述头部网络中包含三元组损失和分类损失两个分支;
初始化所述非监督ReID神经网络模型时,基于所述多个聚类中心各自对应的中心向量,初始化所述分类损失分支中的全连接层的权重参数。
10.如权利要求9所述的方法,其特征在于,
所述聚类算法为Kmeans;
所述“利用聚类算法对所有的所述特征向量进行聚类,将所述特征向量所在的所述无标签的数据集划分为多个类别并获取对应个数的聚类中心,每个聚类中心对应一个中心向量和类别标签”,具体包括:
利用聚类算法Kmeans对所有的所述特征向量进行聚类;
将所述特征向量所在的所述无标签的数据集划分为K个类别并获取对应的K个聚类中心以及每个聚类中心对应的中心向量;
为每个聚类中心中的样本分配所属聚类中心的类别标签,其中,K为聚类中心的个数;
所述“头部网络的参数随机初始化”,具体包括:
利用所述K个聚类中心各自的中心向量初始化所述头部网络的所述分类损失分支中的全连接层的权重参数;
所述“对所述多个聚类中心进行更新”包括:对K个聚类中心各自对应的样本进行更新。
11.一种计算机可读存储介质,该存储介质存储有多条程序代码,其特征在于,所述程序代码适于由处理器加载并运行以执行权利要求1至10中任一项所述的非监督ReID中的伪标签更新方法。
12.一种控制装置,包括处理器和存储装置,其特征在于,所述存储装置适于存储多条程序代码,其特征在于,所述程序代码适于由所述处理器加载并运行以执行权利要求1至10中任一项所述的非监督ReID中的伪标签更新方法。
13.一种非监督ReID中的伪标签更新系统,其特征在于,包括:
初始化聚类模块,用于基于非监督ReID神经网络模型从无标签的图片的数据集中获取每个样本的特征向量,进行聚类后得到多个聚类中心及每个聚类中心对应的中心向量和类别标签,并分配类别标签给所述每个样本,以标识所述每个样本所属的聚类中心;
特征向量更新模块,用于在聚类后的数据集中采样部分样本,训练所述非监督ReID神经网络模型,并在训练的每次迭代中更新模型参数以获得所述部分样本的新的特征向量;
样本更新模块,用于基于每次迭代中获得的所述部分样本的新的特征向量和所述多个聚类中心,计算所述部分样本中每个样本的新的类别标签并更新到所述每个样本所在的数据集中;
模型参数更新模块,用于在每次迭代后,如果达到预定迭代条件,则更新所述多个聚类中心对应的中心向量、以重新为所属的每个样本分配类别标签并且更新所述非监督ReID神经网络模型的部分参数用于下一次迭代,以及此后如果再判断已经达到了迭代收敛条件,则结束训练并记录训练好的非监督ReID神经网络模型。
14.如权利要求13所述的系统,其特征在于,
所述初始化聚类模块,具体包括:
第一单元,用于初始化所述非监督ReID神经网络模型并通过前向传播从所述无标签的图片的数据集中获取所述每个样本的特征向量;
第二单元,用于利用聚类算法对所有的所述特征向量进行聚类,将所述特征向量所在的所述无标签的数据集划分为多个类别并获取对应个数的聚类中心,其中,每个聚类中心对应一个中心向量和类别标签;
所述特征向量更新模块,具体包括:
第三单元,用于从所述数据集中采样miniBatch个样本,提供给所述非监督ReID神经网络模型进行卷积神经网络的迭代训练,并在每次迭代时根据损失函数的计算进行反向传播以更新所述非监督ReID神经网络模型的参数;
第四单元,用于基于更新后的模型参数,所述非监督ReID神经网络模型通过前向传播获取所述miniBatch个样本新的特征向量;
第五单元,用于通过动量法叠加所述新的特征向量到对应样本原来的特征向量上,或者直接利用所述新的特征向量替换对应样本原来的特征向量,以便在每次迭代中获得所述部分样本的新的特征向量;
所述样本更新模块,具体包括:
第六单元,用于对于每次迭代获得的所述部分样本的新的特征向量,分别计算每个所述新的特征向量与多个聚类中心中每一个聚类中心的中心向量的距离,将计算出的距离最小的一个中心向量所在的聚类中心对应的类别标签分配给所述新的特征向量,以得到所述新的特征向量对应样本的新的类别标签,并用新的类别标签更新数据集中对应样本原来的类别标签;
所述模型参数更新模块,具体包括:
第七单元,用于当达到预定迭代条件时,统计多个聚类中心中样本数量少于预设值的聚类中心作为小聚集,计算当前一个小聚集中的每个样本与非小聚集的其余的聚类中心中的每一个聚类中心对应的中心向量的距离,为当前小聚集中的每个样本分配计算出的距离最小的一个中心向量所在的聚类中心对应的类别标签,以逐个将当前小聚集中的所有样本分别分配给所述其余的聚类中心;
第八单元,用于将所述其余的聚类中心中样本数量最多的一个聚类中心作为大聚集并分成两个分裂聚集,随机选择其中一个分裂聚集并将其类别标签设置为已经没有样本的当前小聚集的类别标签,并将获得当前小聚集的类别标签的所述分裂聚集作为所述其余的聚类中心中的一个新的其余的聚类中心;
第九单元,用于如果所有的小聚集都完成样本重新分配以及将自身的类别标签设置到各个分裂聚集后,对每个聚类中心中样本的特征向量通过求均值方式重新确定每个聚类中心的中心向量;
第十单元,用于利用重新计算的多个聚类中心的中心向量,通过动量法替换或直接替换非监督ReID神经网络模型的头部网络中分类损失分支的全连接层的权重权值,从而更新所述非监督ReID神经网络模型的部分参数。
15.如权利要求14所述的系统,其特征在于,
所述第一单元执行初始化所述非监督ReID神经网络模型操作具体包括:对所述非监督ReID神经网络模型的骨干网络和头部网络进行参数初始化,其中,骨干网络的参数用预先训练的权重进行初始化,并且,基于所述多个聚类中心的中心向量初始化头部网络的分类损失分支中的全连接层的权重参数;以及,在初始化时,将所有样本的特征向量的维数Dim固定;
所述第七单元在执行“计算当前一个小聚集中的每个样本与非小聚集的其余的聚类中心中的每一个聚类中心对应的中心向量的距离,为当前小聚集中的每个样本分配计算出的距离最小的一个中心向量所在的聚类中心对应的类别标签,以逐个将当前小聚集中的所有样本分别分配给所述其余的聚类中心”操作之前,先执行判断操作,以判断当前一个小聚集中的样本数量是否为0,如果为0则直接执行第八单元的操作;
所述第九单元在执行“对每个聚类中心中样本的特征向量通过求均值方式重新确定每个聚类中心的中心向量”之前,会先执行判断操作,判断是否所有小聚集都已经完成样本重新分配以及类别标签设置到分裂聚集;如果没有则继续执行第七单元的操作对剩下的小聚集进行处理。
CN202011233432.9A 2020-11-06 2020-11-06 非监督ReID中的伪标签更新方法及系统 Active CN112232439B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011233432.9A CN112232439B (zh) 2020-11-06 2020-11-06 非监督ReID中的伪标签更新方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011233432.9A CN112232439B (zh) 2020-11-06 2020-11-06 非监督ReID中的伪标签更新方法及系统

Publications (2)

Publication Number Publication Date
CN112232439A true CN112232439A (zh) 2021-01-15
CN112232439B CN112232439B (zh) 2024-04-05

Family

ID=74122522

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011233432.9A Active CN112232439B (zh) 2020-11-06 2020-11-06 非监督ReID中的伪标签更新方法及系统

Country Status (1)

Country Link
CN (1) CN112232439B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112836675A (zh) * 2021-03-01 2021-05-25 中山大学 一种基于聚类生成伪标签的无监督行人重识别方法及系统
CN113326731A (zh) * 2021-04-22 2021-08-31 南京大学 一种基于动量网络指导的跨域行人重识别算法
CN113822262A (zh) * 2021-11-25 2021-12-21 之江实验室 一种基于无监督学习的行人重识别方法
CN113836300A (zh) * 2021-09-24 2021-12-24 中国电信股份有限公司 日志分析方法、系统、设备及存储介质
CN113989596A (zh) * 2021-12-23 2022-01-28 深圳佑驾创新科技有限公司 图像分类模型的训练方法及计算机可读存储介质
CN114550307A (zh) * 2022-04-22 2022-05-27 中国科学技术大学 动作定位模型的训练方法、装置及动作定位方法
CN116030502A (zh) * 2023-03-30 2023-04-28 之江实验室 一种基于无监督学习的行人重识别方法和装置
US20230154223A1 (en) * 2021-11-18 2023-05-18 Realtek Semiconductor Corp. Method and apparatus for person re-identification

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109934281A (zh) * 2019-03-08 2019-06-25 电子科技大学 一种二分类网络的非监督训练方法
CN110263697A (zh) * 2019-06-17 2019-09-20 哈尔滨工业大学(深圳) 基于无监督学习的行人重识别方法、装置及介质
CN110298415A (zh) * 2019-08-20 2019-10-01 视睿(杭州)信息科技有限公司 一种半监督学习的训练方法、系统和计算机可读存储介质
CN110942025A (zh) * 2019-11-26 2020-03-31 河海大学 一种基于聚类的无监督跨域行人重识别方法
WO2020081504A1 (en) * 2018-10-15 2020-04-23 Upmc Systems and methods for specimen interpretation
CN111291887A (zh) * 2020-03-06 2020-06-16 北京迈格威科技有限公司 神经网络的训练方法、图像识别方法、装置及电子设备
CN111639561A (zh) * 2020-05-17 2020-09-08 西北工业大学 基于类别自适应聚类的无监督行人重识别方法
CN111666851A (zh) * 2020-05-28 2020-09-15 大连理工大学 一种基于多粒度标签的交叉域自适应行人重识别方法
CN111860678A (zh) * 2020-07-29 2020-10-30 中国矿业大学 一种基于聚类的无监督跨域行人重识别方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020081504A1 (en) * 2018-10-15 2020-04-23 Upmc Systems and methods for specimen interpretation
CN109934281A (zh) * 2019-03-08 2019-06-25 电子科技大学 一种二分类网络的非监督训练方法
CN110263697A (zh) * 2019-06-17 2019-09-20 哈尔滨工业大学(深圳) 基于无监督学习的行人重识别方法、装置及介质
CN110298415A (zh) * 2019-08-20 2019-10-01 视睿(杭州)信息科技有限公司 一种半监督学习的训练方法、系统和计算机可读存储介质
CN110942025A (zh) * 2019-11-26 2020-03-31 河海大学 一种基于聚类的无监督跨域行人重识别方法
CN111291887A (zh) * 2020-03-06 2020-06-16 北京迈格威科技有限公司 神经网络的训练方法、图像识别方法、装置及电子设备
CN111639561A (zh) * 2020-05-17 2020-09-08 西北工业大学 基于类别自适应聚类的无监督行人重识别方法
CN111666851A (zh) * 2020-05-28 2020-09-15 大连理工大学 一种基于多粒度标签的交叉域自适应行人重识别方法
CN111860678A (zh) * 2020-07-29 2020-10-30 中国矿业大学 一种基于聚类的无监督跨域行人重识别方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DONGKAI WANG 等: "Unsupervised Person Re-Identification via Multi-Label Classification", 《2020 IEEE/CVF CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR)》, pages 10978 - 10987 *
王志豪: "基于深度学习的行人再识别鲁棒性研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, pages 138 - 698 *
祁磊;于沛泽;高阳;: "弱监督场景下的行人重识别研究综述", 软件学报, no. 09, pages 263 - 282 *
魏文钰 等: "基于深度学习的行人再识别技术研究综述", 《计算机应用》, vol. 40, no. 09, pages 2479 - 2492 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112836675A (zh) * 2021-03-01 2021-05-25 中山大学 一种基于聚类生成伪标签的无监督行人重识别方法及系统
CN112836675B (zh) * 2021-03-01 2023-06-23 中山大学 一种基于聚类生成伪标签的无监督行人重识别方法及系统
CN113326731A (zh) * 2021-04-22 2021-08-31 南京大学 一种基于动量网络指导的跨域行人重识别算法
CN113326731B (zh) * 2021-04-22 2024-04-19 南京大学 一种基于动量网络指导的跨域行人重识别方法
CN113836300A (zh) * 2021-09-24 2021-12-24 中国电信股份有限公司 日志分析方法、系统、设备及存储介质
US20230154223A1 (en) * 2021-11-18 2023-05-18 Realtek Semiconductor Corp. Method and apparatus for person re-identification
CN113822262A (zh) * 2021-11-25 2021-12-21 之江实验室 一种基于无监督学习的行人重识别方法
CN113822262B (zh) * 2021-11-25 2022-04-15 之江实验室 一种基于无监督学习的行人重识别方法
CN113989596A (zh) * 2021-12-23 2022-01-28 深圳佑驾创新科技有限公司 图像分类模型的训练方法及计算机可读存储介质
CN114550307A (zh) * 2022-04-22 2022-05-27 中国科学技术大学 动作定位模型的训练方法、装置及动作定位方法
CN116030502A (zh) * 2023-03-30 2023-04-28 之江实验室 一种基于无监督学习的行人重识别方法和装置

Also Published As

Publication number Publication date
CN112232439B (zh) 2024-04-05

Similar Documents

Publication Publication Date Title
CN112232439A (zh) 非监督ReID中的伪标签更新方法及系统
CN109902849B (zh) 用户行为预测方法及装置、行为预测模型训练方法及装置
WO2019153759A1 (zh) 确定运输方案的方法、训练快速装载模型的方法及设备
CN111507768B (zh) 一种潜在用户的确定方法及相关装置
CN106886599A (zh) 图像检索方法以及装置
US10540608B1 (en) Dynamically scaled training fleets for machine learning
CN106919957B (zh) 处理数据的方法及装置
CN108804577B (zh) 一种资讯标签兴趣度的预估方法
CN111143685B (zh) 一种商品推荐方法及装置
CN111242319A (zh) 模型预测结果的解释方法和装置
CN113469372A (zh) 强化学习训练方法、装置、电子设备以及存储介质
CN111507400A (zh) 应用分类方法、装置、电子设备以及存储介质
CN113870863B (zh) 声纹识别方法及装置、存储介质及电子设备
CN109992679A (zh) 一种多媒体数据的分类方法及装置
US11928182B1 (en) Artificial intelligence system supporting semi-supervised learning with iterative stacking
CN116244612B (zh) 一种基于自学习参数度量的http流量聚类方法及装置
CN112258129A (zh) 配送路径预测网络训练、配送资源调度方法及装置
CN113392867A (zh) 一种图像识别方法、装置、计算机设备及存储介质
CN116980824A (zh) 一种轻量化的加权集成学习室内csi定位方法
CN116030502A (zh) 一种基于无监督学习的行人重识别方法和装置
CN110059813A (zh) 利用gpu集群更新卷积神经网络的方法、装置及设备
CN116366603A (zh) 一种活跃IPv6地址的确定方法及装置
CN109241322A (zh) 代码生成方法、代码生成装置和电子设备
CN113656046A (zh) 一种应用部署方法和装置
CN112818241A (zh) 一种内容推广方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant