CN117216305A - 图像检索模型训练方法和装置、计算设备及存储介质 - Google Patents
图像检索模型训练方法和装置、计算设备及存储介质 Download PDFInfo
- Publication number
- CN117216305A CN117216305A CN202310811433.4A CN202310811433A CN117216305A CN 117216305 A CN117216305 A CN 117216305A CN 202310811433 A CN202310811433 A CN 202310811433A CN 117216305 A CN117216305 A CN 117216305A
- Authority
- CN
- China
- Prior art keywords
- feature vector
- image
- global feature
- objects
- global
- 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.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims abstract description 179
- 238000000034 method Methods 0.000 title claims abstract description 116
- 238000003860 storage Methods 0.000 title claims description 39
- 239000013598 vector Substances 0.000 claims abstract description 441
- 238000004590 computer program Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 14
- 238000000605 extraction Methods 0.000 claims description 6
- 230000008929 regeneration Effects 0.000 claims description 5
- 238000011069 regeneration method Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 37
- 238000001514 detection method Methods 0.000 description 26
- 238000012545 processing Methods 0.000 description 23
- 238000005516 engineering process Methods 0.000 description 21
- 238000004422 calculation algorithm Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 13
- 238000013473 artificial intelligence Methods 0.000 description 11
- 239000011159 matrix material Substances 0.000 description 11
- 238000010801 machine learning Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 238000011176 pooling Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 210000003128 head Anatomy 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 230000033001 locomotion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 210000000697 sensory organ Anatomy 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000011524 similarity measure Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
提出了一种图像检索模型训练方法和装置。该图像检索模型训练方法包括:获取包括涉及多个对象的多个图像的训练数据集;将每一个图像输入到图像检索模型的第一子模型,以提取该图像中各个对象的全局特征向量;针对每一个图像,将每一个对象的全局特征向量拆分为第一和第二特征向量,其中第一特征向量表示对象属性相关特征,第二特征向量表示对象环境相关特征,并且第一和第二特征向量的维度之和等于全局特征向量的维度;针对每一个图像,基于每一个对象的第一特征向量和第二特征向量之间的相似度计算第一损失;至少基于第一损失确定图像检索模型的目标损失;以及基于目标损失,对图像检索模型的参数进行迭代更新直至满足预设训练结束条件。
Description
技术领域
本公开涉及计算机技术领域,更具体地涉及一种图像检索模型训练方法和装置、计算设备、计算机可读存储介质及计算机程序产品。
背景技术
在互联网技术快速发展的时代,随着深度学习的发展,图像检索技术已经在许多领域(例如目标检测领域)中得到了广泛应用。图像检索技术是一种使用计算机和图像处理技术来查找、检索与图像特征数据库中已有图像特征类似的新图像的应用领域,其可以对图像进行目标检测以提取出图像中的目标信息,并与图像特征数据库中的目标信息进行比对,找到最相似的目标或图像。
然而,在相关技术的图像检索系统或模型的训练方法中,由于训练数据集本身各种因素的影响,所得到的图像检索系统或模型的表征学习能力不强,最终提取的对象特征通常缺乏鲁棒性并缺少辨识度,从而使得图像检索泛化能力较弱,图像检索的准确率变差。
发明内容
有鉴于此,本公开提供了一种图像检索模型训练方法和装置、计算设备、计算机可读存储介质及计算机程序产品,从而缓解、减轻或甚至消除上述问题中的一些或全部以及其它可能的问题。
根据本公开的一个方面,提出了一种图像检索模型训练方法,其包括:获取训练数据集,所述训练数据集包括涉及多个对象的多个图像,每一个图像包括所述多个对象中的至少一个对象;将所述训练数据集中每一个图像输入所述图像检索模型的第一子模型,以提取每一个图像中各个对象在该图像中的全局特征向量;针对所述训练数据集中每一个图像,将该图像中每一个对象在该图像中的全局特征向量拆分为第一特征向量和第二特征向量,其中所述第一特征向量表示对象属性相关特征,所述第二特征向量表示对象环境相关特征,并且所述第一特征向量和所述第二特征向量的维度之和等于所述全局特征向量的维度;针对所述训练数据集中每一个图像,基于该图像中每一个对象的第一特征向量和第二特征向量之间的相似度计算第一损失;至少基于所述训练数据集中每一个图像对应的第一损失,确定所述图像检索模型的目标损失;基于所述目标损失,对所述图像检索模型的参数进行迭代更新直至满足预设训练结束条件。
根据本公开一些实施例,所述方法进一步包括:针对所述多个图像中每一个图像,将该图像中每一个对象的全局特征向量输入所述图像检索模型的第二子模型,以输出该对象在该图像中的对象标识符;针对所述多个对象中每一个对象,根据该对象在所述训练数据集的涉及该对象的各个图像中的全局特征向量及其相应的对象标识符,更新对象总体特征库,该对象总体特征库包括所述多个对象中每个对象的总体对象标识符及其总体特征向量;并且其中,所述针对所述训练数据集中每一个图像,将该图像中每一个对象在该图像中的全局特征向量拆分为第一特征向量和第二特征向量,包括:根据当前训练轮次的前一次训练轮次得到的对象总体特征库中每一个对象的总体特征向量的多分类操作,确定所述多个对象中每一个对象对应的全局特征向量的维度权重向量;针对所述训练数据集中每一个图像,根据该图像中每一个对象对应的特征维度权重向量,将该对象在该图像中的全局特征向量拆分为第一特征向量和第二特征向量。
根据本公开一些实施例,所述每一个对象对应的全局特征向量的维度权重向量中各个权重分量为0或1,并且其中,所述针对所述训练数据集中每一个图像,根据该图像中每一个对象对应的特征维度权重向量,将该对象在该图像中的全局特征向量拆分为第一特征向量和第二特征向量,包括:针对每一个图像中每一个对象,依据该对象的全局特征向量中对应于权重分量为1的各个维度,形成第一特征向量;针对每一个图像中每一个对象,依据该对象的全局特征向量中对应于权重分量为0的各个维度,形成第二特征向量。
根据本公开一些实施例,所述针对所述训练数据集中每一个图像,基于该图像中每一个对象的第一特征向量和第二特征向量之间的相似度计算第一损失,包括:针对所述训练数据集中每一个图像中每一个对象,执行下述步骤:计算第一特征向量和第二特征向量的线性相似度和非线性相似度中至少一个;基于第一特征向量和第二特征向量的线性相似度和非线性相似度中至少一个,确定第一特征向量与第二特征向量之间的相似度;计算第一特征向量与第二特征向量之间的相似度的F-范数,以确定所述第一损失。
根据本公开一些实施例,所述计算第一特征向量和第二特征向量的线性相似度和非线性相似度中至少一个,包括:利用核方法将第一特征向量和第二特征向量分别投影到再生核希尔伯特空间,以获得分别与第一特征向量和第二特征向量对应的第一投影向量和第二投影向量;计算第一投影向量和第二投影向量之间的协方差,以得到第一特征向量和第二特征向量的非线性相似度。
根据本公开一些实施例,所述计算第一特征向量和第二特征向量的线性相似度和非线性相似度中至少一个,包括:计算第一特征向量与第二特征向量的余弦相似度和欧式距离中至少一个;根据第一特征向量与第二特征向量的余弦相似度和欧式距离中至少一个,确定第一特征向量与第二特征向量的线性相似度。
根据本公开一些实施例,所述至少基于所述训练数据集中每一个图像对应的第一损失,确定所述图像检索模型的目标损失,包括:针对所述多个图像中每一个图像,识别该图像中第一对象集合中的各个对象的对象标识符标签,所述第一对象集合包括该图像中所有对象中的至少一部分对象;针对所述多个图像中每一个图像,响应于作为全体对象集合与所述第一对象集合的差集的第二对象集合为非空集,将第二对象集合中该图像涉及的每一个对象在该图像中的全局特征向量与所述对象总体特征库中的每一个总体特征向量进行匹配,以根据对象总体特征库中每个对象的总体对象标识符向第二对象集合中每一个对象分配对象标识符标签;针对所述训练数据集中每一个图像,基于所述图像检索模型输出的该图像中每一个对象的对象标识符与该对象的对象标识符标签之间的差异,计算第二损失;至少基于每一个图像对应的第一损失和第二损失,确定所述图像检索模型的目标损失。
根据本公开一些实施例,所述针对所述多个图像中每一个图像,响应于作为全体对象集合与所述第一对象集合的差集的第二对象集合为非空集,将第二对象集合中该图像涉及的每一个对象在该图像中的全局特征向量与所述对象总体特征库中的每一个总体特征向量进行匹配,以根据对象总体特征库中每个对象的总体对象标识符向第二对象集合中每一个对象分配对象标识符标签,包括:针对所述多个图像中每一个图像,响应于作为全体对象集合与所述第一对象集合的差集的第二对象集合为非空集,执行下述步骤:针对所述第二对象集合中该图像所涉及的每一个对象,计算该对象的全局特征向量与对象总体特征库中每一个总体特征向量的线性相似度;针对所述第二对象集合中该图像所涉及的每一个对象,基于该对象的全局特征向量与对象总体特征库中每一个总体特征向量的线性相似度,确定该对象的对象标识符标签。
根据本公开一些实施例,所述针对所述第二对象集合中该图像所涉及的每一个对象,计算该对象的全局特征向量与对象总体特征库中每一个总体特征向量的线性相似度,包括:针对所述第二对象集合中该图像所涉及的每一个对象,通过计算余弦相似度得到该对象的全局特征向量与对象总体特征库中每一个总体特征向量的线性相似度。
根据本公开一些实施例,所述针对所述第二对象集合中该图像所涉及的每一个对象,通过计算余弦相似度得到该对象的全局特征向量与对象总体特征库中每一个总体特征向量的线性相似度,包括针对所述第二对象集合中该图像所涉及的每一个对象,执行下述步骤:计算该对象与对象总体特征库中每一个总体特征向量的余弦相似度;针对对象总体特征库中每一个总体特征向量,响应于该总体特征向量与该对象的全局特征向量的余弦相似度小于或等于预设阈值,将该对象与该总体特征向量的线性相似度确定为0;针对对象总体特征库中每一个总体特征向量,响应于该总体特征向量与该对象的全局特征向量的余弦相似度大于预设阈值,将该对象与该总体特征向量的线性相似度确定为所述余弦相似度。
根据本公开一些实施例,所述针对所述第二对象集合中该图像所涉及的每一个对象,基于该对象的全局特征向量与对象总体特征库中每一个总体特征向量的线性相似度,确定该对象的对象标识符标签,包括:针对所述第二对象集合中该图像所涉及的每一个对象,执行如下步骤:基于该对象的全局特征向量与对象总体特征库中每一个总体特征向量的线性相似度,从所述对象总体特征库中选取该对象对应的总体特征向量;根据所述对象总体特征库中所选取的总体特征向量对应的总体对象标识符,向该对象分配对象标识符标签。
根据本公开一些实施例,所述获取训练数据集包括:获取自媒体视频;从所述自媒体视频抽取多个不连续的视频帧图像,以形成训练数据集。
根据本公开一些实施例,所述至少基于每一个图像对应的第一损失和第二损失,确定所述图像检索模型的目标损失,包括:针对所述多个图像中每一个图像,获取该图像中每一个对象及其局部特征标签,所述局部特征标签包括该对象在该图像中的位置、大小和类别中至少一个;将所述训练数据集中每一个图像输入所述目标模型的第三子模型,以提取每一个图像中各个对象在该图像中的局部特征向量,所述局部特征向量与所述局部特征标签对应;针对所述训练数据集中每一个图像,基于该图像中每一个对象的局部特征向量与局部特征标签之间的差异,计算第三损失;至少基于每一个图像对应的第一损失、第二损失以及第三损失,确定所述图像检索模型的目标损失。
根据本公开的另一方面,提出了一种图像检索模型训练装置,包括:获取模块,被配置成获取训练数据集,所述训练数据集包括涉及多个对象的多个图像,每一个图像包括所述多个对象中的至少一个对象;提取模块,被配置成将所述训练数据集中每一个图像输入所述图像检索模型的第一子模型,以提取每一个图像中各个对象在该图像中的全局特征向量;拆分模块,被配置成针对所述训练数据集中每一个图像,将该图像中每一个对象在该图像中的全局特征向量拆分为第一特征向量和第二特征向量,其中所述第一特征向量表示对象属性相关特征,所述第二特征向量表示对象环境相关特征,并且所述第一特征向量和所述第二特征向量的维度之和等于所述全局特征向量的维度;计算模块,被配置成针对所述训练数据集中每一个图像,基于该图像中每一个对象的第一特征向量和第二特征向量之间的相似度计算第一损失;确定模块,被配置成至少基于所述训练数据集中每一个图像对应的第一损失,确定所述图像检索模型的目标损失;迭代模块,被配置成基于所述目标损失,对所述图像检索模型的参数进行迭代更新直至满足预设训练结束条件。
根据本公开的另一方面,提出了一种计算设备,包括:存储器和处理器,其中所述存储器中存储有计算机程序,所述计算机程序在被所述处理器执行时促使所述处理器执行根据本公开一些实施例的图像检索模型训练方法。
根据本公开的另一方面,提出了一种计算机可读存储介质,其上存储计算机可读指令,所述计算机可读指令在被执行时实现根据本公开一些实施例的图像检索模型训练方法。
根据本公开的另一方面,提出了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据本公开一些实施例的图像检索模型训练方法。
在根据本公开一些实施例的图像检索模型训练方法和装置中,首先,通过将训练数据集的每一个图像(训练样本)中对象在该图像中的全局特征向量拆分为第一特征向量(对象属性相关特征)和第二特征向量(对象环境相关特征),从而解耦了训练样本(图像)中对象类别或属性相关维度与对象类别或属性无关(即环境相关)维度;随后基于该对象的第一特征向量和第二特征向量之间的相似度计算损失函数并基于此训练该图像检索模型,从而实现了针对对象属性相关维度与环境相关(或对象属性无关)维度的(线性或非线性)虚假关联的去相关操作,增强了该图像检索模型的表征学习能力,减少或消除了对象本身之外的其他因素(例如环境因素或背景因素)的影响,提升了最终提取的对象特征的鲁棒性和辨识度,增强了图像检索泛化能力,提高了图像检索的准确率。
根据在下文中所描述的实施例,本申请的这些和其它方面将是清楚明白的,并且将参考在下文中所描述的实施例而被阐明。
附图说明
根据以下详细描述和附图,将容易理解本公开的各个不同的方面、特征和优点,在附图中:
图1示意性地示出了根据本公开一些实施例的图像检索模型训练方法的示例实施环境;
图2示意性地示出了根据本公开一些实施例的图像检索模型训练方法的流程图;
图3示意性地示出了根据本公开一些实施例的图像检索模型的训练方法的原理示意图;
图4示意性地示出了根据本公开一些实施例的图像检索模型训练方法的流程图;
图5示意性地示出了根据本公开一些实施例的特征向量去相关操作的原理示意图;
图6示意性地示出了根据本公开一些实施例的图像检索模型训练方法的流程图;
图7示意性地示出了根据本公开一些实施例的图像检索模型训练方法的流程图;
图8A示意性地示出了根据本公开一些实施例的在自动生成标注中存在标签缺失现象的示意图;
图8B示意性地示出了根据本公开一些实施例的缺失标签生成操作的原理示意图;
图9示意性地示出了根据本公开一些实施例的图像检索模型训练装置的示例框图;以及
图10示意性地示出了根据本公开一些实施例的计算设备的示例框图。
应当指出,上述附图仅仅是示意性的和说明性的,并且不一定按照比例绘制。
具体实施方式
下面将参照附图更详细地描述本公开的若干个实施例以便使得本领域技术人员能够实现本公开。本公开可以体现为许多不同的形式和目的并且不应局限于本文所阐述的实施例。提供这些实施例以使得本公开全面且完整,并充分地向本领域技术人员传达本公开的范围。所述实施例并不限定本公开。
将理解的是,尽管术语第一、第二、第三等在本文中可以用来描述各种元件、部件和/或部分,但是这些元件、部件和/或部分不应当由这些术语限制。这些术语仅用来将一个元件、部件或部分与另一个元件、部件或部分相区分。因此,下面讨论的第一元件、部件或部分可以被称为第二元件、部件或部分而不偏离本公开的教导。
本文中使用的术语仅出于描述特定实施例的目的并且不意图限制本公开。如本文中使用的,单数形式“一个”、“一”和“该”意图也包括复数形式,除非上下文清楚地另有指示。将进一步理解的是,术语“包括”和/或“包含”当在本说明书中使用时指定所述及特征、整体、步骤、操作、元件和/或部件的存在,但不排除一个或多个其他特征、整体、步骤、操作、元件、部件和/或其群组的存在或添加一个或多个其他特征、整体、步骤、操作、元件、部件和/或其群组。如本文中使用的,术语“和/或”包括相关联的列出项目中的一个或多个的任意和全部组合。
除非另有定义,否则本文中使用的所有术语(包括技术术语和科学术语)具有与本公开所属领域的普通技术人员所通常理解的相同含义。将进一步理解的是,诸如那些在通常使用的字典中定义的之类的术语应当被解释为具有与其在相关领域和/或本说明书上下文中的含义相一致的含义,并且将不在理想化或过于正式的意义上进行解释,除非本文中明确地如此定义。
附图中所示的方框图仅仅是功能实体,不必然与物理上独立的实体相对应。也就是说,可以采用软件形式来实现这些功能实体,或者在一个或多个硬件模块或集成电路中实现这些功能实体,或者在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的推广信息和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本领域技术人员可以理解,附图只是示例实施例的示例界面,附图中的模块或流程并不一定是实施本申请所必须的,因此不能用于限制本申请的保护范围。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通、自动控制等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习、主动学习等技术。
计算机视觉技术(Computer Vision,CV):计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
在详细介绍本公开的实施例之前,为了清楚起见,首先对一些相关的概念进行解释。
1.YOLOv5:它是YOLO(You Only Look Once)系列算法的最新版本。YOLO算法是一种实时目标检测算法,其核心思想是将目标检测任务转化为一个回归问题,并通过单一前向传播过程来同时预测目标的类别和边界框。因此YOLOv5是一种实时目标检测算法,通过改进模型结构、数据增强、多尺度训练和推理以及自动化优化等手段,提高了目标检测的精度和效率。YOLOv5在每次训练时会自适应地计算不同训练集中的最佳锚框值,从而帮助网络更快地收敛。
2.区域提议网络(Region Proposal Network,简称RPN):它是一种用于目标检测的神经网络模块。它主要用于生成可能包含目标对象的候选区域,作为后续目标检测算法的输入,这加速了目标检测的过程,大大减少了计算量和检测耗时。RPN通过学习锚框与真实目标之间的关联,对生成的锚框进行分类(目标/非目标)和位置回归(调整位置)。具体来说,RPN在每个锚框位置上预测两个值:类别得分和边界框修正参数。通过预测的类别得分和边界框回归参数,可以筛选出具有高概率包含目标的候选区域。
3.ROI-Align(Region of Interest Align):它是一种在目标检测和语义分割等计算机视觉任务中广泛使用的特征对齐方法。它的主要目的是解决传统的ROI池化(ROIPooling)操作在对齐细节信息上存在的粗糙问题。在目标检测任务中,通常需要从图像中提取包含目标的感兴趣区域(Region of Interest,ROI),然后将这些ROI进行特征表示。传统的ROI池化方法会导致边界信息的丢失和粗糙的特征表示。ROI-Align通过引入双线性插值的方式,实现了更精确的特征对齐,在保持细节信息的同时,能够更好地捕捉物体边界和形状等特征。
4.核方法(Kernel Methods):它是一类机器学习算法,通过在输入空间中引入核函数的方式,实现对非线性特征的建模和处理。核方法的主要思想是将输入数据映射到一个高维特征空间,使得原始数据在该特征空间中可以更好地线性可分或近似线性可分。而为了避免直接计算高维特征空间中的内积,核方法使用核函数来隐式地表示原始特征空间中样本之间的相似性。该核函数具备一个非常重要的性质,即核函数能够计算两个样本在高维特征空间中的内积,而不需要显式地进行特征映射。核方法的优势在于它们能够处理非线性数据,并且不需要显式进行特征映射,从而避免了高维空间中的计算复杂度,从而在高维特征空间中实现更好的分类或回归性能。
5.再生核希尔伯特空间(Reproducing Kernel Hilbert Space,简称RKHS):它是一种函数空间,具有很多重要的数学和应用特性。RKHS是希尔伯特空间的一个子集,其中每个元素都可以表示为某个核函数的特定形式。在RKHS中,对于每个输入值x,都存在一个核函数k(x,·),可以将该输入值映射到函数空间中的一个函数k(x,·)·c,其中c是某个常数向量。这样,通过使用核函数,可以将原始的输入空间映射为高维特征空间,从而使得模型更容易进行分类或回归等任务。RKHS还具有再生性质,即对于任意样本点x,核函数k(x,·)与在该点处对应的函数k(x,·)·c的内积等于函数在该点处的函数值,也就是说k(x,x′)=<k(x,·),k(x′,·)>,其中<·,·>表示内积运算。这种性质使得能够通过样本点来刻画该函数空间中的函数,并利用这些特性进行模型的优化和训练。
6.匈牙利算法(Hungarian algorithm):它是一种用于解决指派问题的优化算法。指派问题是在给定的n个人和n个任务之间进行配对,每个人对每个任务都有一个成本或收益,目标是找到一种配对方式,使得总成本最小或总收益最大。匈牙利算法建立在图论的基础上,它通过构建一个二分图模型来表示指派问题,其中一个顶点集表示人,另一个顶点集表示任务,边表示每个人与每个任务之间的成本或收益。匈牙利算法在许多领域中都有应用,如任务分配、资源调度、机器学习中的对应问题等。
7.泛化能力(generalization ability):是指机器学习算法对新鲜样本的适应能力,简而言之是在原有的数据集上添加新的数据集,通过训练输出一个合理的结果。学习的目的是学到隐含在数据背后的规律,对具有同一规律的学习集以外的数据,经过训练的网络也能给出合适的输出,该能力称为泛化能力。
本申请提供一种图像检索模型训练方法,从而可以利用训练好的图像检索模型更加有辨识度地和鲁棒地提升最终输出的特征向量的质量,有效改善使用自媒体视频数据的图像匹配准确率性能。图1示意性地示出了根据本公开一些实施例的图像检索模型训练方法的示例实施环境100。如图1中所示,实施环境100可以包括终端设备110和服务器120以及用于连接终端设备110和服务器120的网络130。在一些实施例中,终端设备110可以用于实现根据本公开的图像检索模型训练方法。例如该终端设备110可以部署有用于执行本公开提供的各种方法的相应程序或指令。可选地,服务器120也可以用于实现根据本公开的各种方法。
终端设备110和第三方终端设备140可以是任何类型的移动计算设备,包括移动计算机(例如,个人数字助理(PDA)、膝上型计算机、笔记本计算机、平板计算机、上网本等)、如图1中所示的移动电话(例如,蜂窝电话、智能手机等)、可穿戴式计算设备(例如智能手表、头戴式设备,包括智能眼镜)或其他类型的移动设备。在一些实施例中,终端设备110也可以是固定式计算设备,例如台式计算机、游戏机、智能电视等。
服务器120可以是单个服务器或服务器集群,或者可以是能够提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器或云服务器集群。应理解,本文所提及的服务器典型地为具有大量存储器和处理器资源的服务器计算机,但是其他实施例也是可能的。可选地,服务器120也可以是普通的台式计算机,其包括主机、显示器等。
网络130的示例包括局域网(LAN)、广域网(WAN)、个域网(PAN)、和/或诸如因特网之类的通信网络的组合。服务器120以及终端设备110可以包括能够通过网络130进行通信的至少一个通信接口(未示出)。这样的通信接口可以是下列各项中的一个或多个:任何类型的网络接口(例如,网络接口卡(NIC))、有线或无线(诸如IEEE 802.11无线LAN(WLAN))无线接口、全球微波接入互操作(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、BluetoothTM接口、近场通信(NFC)接口等。
如图1中所示,终端设备110可以包括显示屏111以及终端用户可以经由显示屏111与终端应用112进行交互。终端设备110可以例如经由网络130与服务器120交互,例如向其发送数据或从其接收数据。终端应用112可以为本地应用程序、网页(Web)应用程序或者作为轻量化应用的小程序(LiteApp,例如手机小程序、微信小程序)。在终端应用为需要安装的本地应用程序的情况下,可以将终端应用112安装在终端设备110中。在终端应用112为Web应用程序的情况下,可以通过浏览器访问终端应用112。在终端应用112为小程序的情况下,可以通过搜索终端应用的相关信息(如终端应用的名称等)、扫描终端应用的图形码(如条形码、二维码等)等方式来在终端设备110上直接打开终端应用112,而无需安装终端应用112。
图1的示例实施环境仅仅是示意性的,根据本公开的图像检索模型训练方法并不限于所示出的示例实施环境和服务器。应该理解,虽然在本文中,服务器120与终端设备110被示出和描述为分离的结构,但是它们可以是同一计算设备的不同组成部分。可选地,根据本公开一些实施例的图像检索模型训练方法的所有步骤也可以在服务器120侧实现,或者也可以在终端设备110侧和服务器120侧共同实现。
图2示意性地示出了根据本公开一些实施例的图像检索模型训练方法的流程图。在一些实施例中,如图1中所示,根据本公开的图像检索模型训练方法可以在终端设备110侧执行。在另一些实施例中,根据本公开的图像检索模型训练方法也可以由服务器120和终端设备110相组合地执行。
如图2中所示,根据本公开一些实施例的图像检索模型训练方法可以包括步骤S210-S260:
S210,获取训练数据集,所述训练数据集包括涉及多个对象的多个图像,每一个图像包括所述多个对象中的至少一个对象;
S220,将所述训练数据集中每一个图像输入所述图像检索模型的第一子模型,以提取每一个图像中各个对象在该图像中的全局特征向量;
S230,针对所述训练数据集中每一个图像,将该图像中每一个对象在该图像中的全局特征向量拆分为第一特征向量和第二特征向量,其中所述第一特征向量表示对象属性相关特征,所述第二特征向量表示对象环境相关特征,并且所述第一特征向量和所述第二特征向量的维度之和等于所述全局特征向量的维度;
S240,针对所述训练数据集中每一个图像,基于该图像中每一个对象的第一特征向量和第二特征向量之间的相似度计算第一损失;
S250,至少基于所述训练数据集中每一个图像对应的第一损失,确定所述图像检索模型的目标损失;
S260,基于所述目标损失,对所述图像检索模型的参数进行迭代更新直至满足预设训练结束条件。
下面结合图3详细描述步骤S210-S260,其中图3示意性地示出了根据本公开一些实施例的图像检索模型的训练方法的原理示意图。
在步骤S210处,获取训练数据集,所述训练数据集包括涉及多个对象的多个图像,每一个图像包括所述多个对象中的至少一个对象。其中,获取涉及多个对象的训练数据集的动作基于对象在知悉平台或系统的相关意图之后进行的主动授权。
一般而言,根据本公开一些实施例的图像检索模型可以应用于目标检测领域,因此在所获取的训练数据集中需要有待检测的目标(即对象),以便于进行目标检测和标注。另外,在计算机领域中,媒体一般指一种或多种媒体的人机交互式信息交流和传播媒体,其中所使用的媒体包括视频、文字、图片、照片、声音、动画、电子游戏和影片以及程式所提供的互动功能。而自媒体是指用户通过网络等途径上传并向外发布事实和新闻的传播方式,它是一种向不特定的大多数或者特定的单个人传递规范性及非规范性信息的新媒体的总称。
因此,在一些实施例中,所述获取训练数据集可以包括:获取自媒体视频;从所述自媒体视频抽取多个不连续的视频帧图像,以形成训练数据集。其中,所述从自媒体视频抽取多个不连续的视频帧图像可以以随机间隔进行抽取,也可以以预设好的固定间隔进行抽取(例如,每20帧采样一帧作为图像训练数据)。如图3所示,其最左边是获取的训练数据集中的一个抽取的视频帧图像,在这个视频帧图像中包括四个对象以及其他的背景和环境。这样的获取训练数据集的方式可以缓解或避免相关技术中因使用人工标注或修正的专业摄像头拍摄数据集作为训练数据而造成的容易存在侵犯隐私、获取难度大、人工标注成本高的问题。
在一些实施例中,所述获取训练数据集也可以包括获取涉及多个对象的其他类型的图像,例如(但不限于)图片、照片、绘图、彩图、漫画等等。也就是说,本公开所述的图像可以是本领域技术人员在一般意义上理解的图像,并且本公开对图像的类型不作限制。同样地,这些其他类型的图像中相应地也可以包括至少一个对象。
接下来,在步骤S220处,将训练数据集中每一个图像输入图像检索模型的第一子模型,以提取每一个图像中各个对象在该图像中的全局特征向量。其中,全局特征向量可以代表每一个对象在各个图像中的所有必要特征,例如,它可以是一个512维的特征向量并且包含了用于表征该对象的所有必要信息。
在一些实施例中,如图3所示,本申请的图像检索模型可以主要包括主干网络、后续的检测分支(Detection Head)及检索分支(Retrieval Head)、以及对象总体特征库。其中,检索分支可以指代图像检索模型的第一子模型,用于基于全局特征向量输出该对象在该图像中的对象标识符的网络分支可以指代图像检索模型的第二子模型,并且检测分支可以指代图像检索模型的第三子模型。主干网络可以包括深度残差网络(Deep residualnetwork,ResNet),其被用于提取整张图像的中间特征向量(图3中未示出)。在一个示例中,主干网络可以由ResNet的前四个块(stage)组成(即,ResNet的第一个块包含一个卷积层和池化层的组合,并且ResNet的第二、第三和第四个块是由多个残差块堆叠而成的),并且检测分支和检索分支可以由两个独立的块构成。主干网络的结构也可以使用参数量更大、表征能力更强的ViT(Vision Transformer)结构。主干网络的每个块先后通过卷积、归一化、激活等操作获取图像的中间特征向量,同时一个并行的区域提议网络(RPN)会为主干网络生成若干可能包含对象的区域提议(proposals)。在通过ROI-Align操作之后,可以获取每个区域提议对应的特征,即将其记为中间特征向量,并将其作为检测分支和检索分支的输入。在该中间特征向量的基础上,检测分支将进行分类子任务和回归子任务,并输出5维的局部特征向量来表示对象在图像中的位置、大小和所属类别,其中局部特征向量的4个维度表示对象的位置(位置坐标)和大小(宽度和高度),并且另1个维度表示这个对象的类别。检索分支则将进一步编码该中间特征向量,从而输出一个用以表征该对象的全局特征向量。可以将上述的整个过程用公式(1)表示为:
其中I为所输入的训练数据集中的一个图像,在经过网络前该图像的大小被缩放固定成C×H×W,该缩放操作是由基础的计算机视觉库缩放的,并且是为了统一做批量化处理;左边的P代表整个特征向量提取过程;b和x分别是对象的局部特征向量和全局特征向量,n代表该图像中对象的数量(number),即输出n个b和x的组合。通过这样的提取操作,可以容易地提取每一个图像中各个对象在该图像中的全局特征向量,以便于后续处理和操作。在一些实施例中,除了图3的图像检索模型之外,还可以拓展到其他图像检索模型,例如基于DETR(DEtection TRansformer)的图像检索模型。
在一些实施例中,在执行步骤步骤S220之后,还可以执行以下步骤:针对多个图像中每一个图像,将该图像中每一个对象的全局特征向量输入图像检索模型的第二子模型,以输出该对象在该图像中的对象标识符;针对多个对象中每一个对象,根据该对象在所述训练数据集的涉及该对象的各个图像中的全局特征向量及其相应的对象标识符,更新对象总体特征库,该对象总体特征库包括多个对象中每个对象的总体对象标识符及其总体特征向量。其中,图像检索模型的第二子模型可以确定每一个对象的全局特征向量与该对象在该图像中的对象标识符之间的关联关系;对象标识符可以表示该对象的身份或编号,总体对象标识符可以表示该对象的对象标识符模板,并且总体特征向量可以表示该对象的特征向量模板。对象总体特征库可以是每轮训练之后更新的缓存库,这可以在图3中更清晰地示出,即检索分支将输出针对多个对象的全局特征向量,并且每一个对象的总体特征向量是基于当前训练轮次得到的每一个对象在各个图像中的全局特征向量更新的。以此方式,可以在每轮训练之后不断更新缓存库中每一个对象的特征向量模板及其对象标识符模板,以在需要时选取这些模板来为相对应的对象生成标签,使得对象总体特征库越来越完善和准确。
为提升最终输出的全局特征向量的质量,可以从维度层面筛选出和对象属性强相关的特征,并将其和那些与对象属性弱相关的特征做去相关操作。因此,在步骤S230处,针对训练数据集中每一个图像,将该图像中每一个对象在该图像中的全局特征向量拆分为第一特征向量和第二特征向量,其中第一特征向量表示对象属性相关特征,第二特征向量表示对象环境相关特征,并且第一特征向量和第二特征向量的维度之和等于全局特征向量的维度。其中,对象属性相关特征可以包括和对象属性强相关的特征(例如对象的面容、五官、身高等,即能够表征该对象的特征属性),并且可以包括对象的位置、对象的尺寸、和对象的类别;而对象环境相关特征可以包括与对象属性弱相关的特征,即可以包括对象所处的环境和背景(例如,大楼、树木、栏杆等)和对象的外在特征(例如对象的衣着、饰品等)。
在一些实施例中,第一特征向量和第二特征向量的维度之和可以等于全局特征向量的维度。例如,对于一个包含了该对象的所有信息的512维的全局特征向量,从它拆分出的第一特征向量可以是200维的并且它的第二特征向量可以是312维的。这样,便可以将全局特征向量的维度精确地拆分为第一特征向量和第二特征向量,而不损失维度。附加地或替代地,在一些实施例中,第一特征向量和第二特征向量的维度之和也可以不等于全局特征向量的维度,这取决于是否还存在其他无关维度以及实际的应用情况。
下面继续结合图4和图5详细描述步骤S230,其中图4示意性地示出了根据本公开一些实施例的图像检索模型训练方法的流程图,并且图5示意性地示出了根据本公开一些实施例的特征向量去相关操作的原理示意图。
在一些实施例中,如图4所示,步骤S230可以包括:
S410,根据当前训练轮次的前一次训练轮次得到的对象总体特征库中每一个对象的总体特征向量的多分类操作,确定所述多个对象中每一个对象对应的全局特征向量的维度权重向量;
S420,针对所述训练数据集中每一个图像,根据该图像中每一个对象对应的特征维度权重向量,将该对象在该图像中的全局特征向量拆分为第一特征向量和第二特征向量。
在一些实施例中,在步骤S410中,多分类操作可以指一种将输入的总体特征向量分为三个或更多个类别的任务,通常使用概率分布来表示每个类别的预测概率,然后根据最高概率选择类别。基于此,可以在进行多分类操作之后,确定每一个对象对应的全局特征向量的维度权重向量。该维度权重向量中元素的大小可以代表该维度的重要性,一般是介于0和1之间的数。该维度的重要性可以是预先定义的,也可以是经过训练之后筛选出来的本征特征。之后,在步骤S420中,根据该图像中每一个对象对应的维度权重向量来拆分该对象在该图像中的全局特征向量,其在数学上的形式可以表示为全局特征向量与维度权重向量相乘。
在一些实施例中,可以将每一个对象对应的维度权重向量中各个权重分量设置为0或1,因此步骤S420可以包括:针对每一个图像中每一个对象,依据该对象的全局特征向量中对应于权重分量为1的各个维度,形成第一特征向量;针对每一个图像中每一个对象,依据该对象的全局特征向量中对应于权重分量为0的各个维度,形成第二特征向量。在矩阵或向量乘法中,权重分量为1可以代表全局特征向量中保持不变的部分,而权重分量为0可以代表将全局特征向量中对应位置的元素变为0,即每个维度都可以分配一个权重但只有一些维度被保留。换句话说,所拆分的第一特征向量可以依据全局特征向量中对应于权重分量为1的各个维度而形成,并且所拆分的第二特征向量可以依据全局特征向量中对应于权重分量为0的各个维度而形成。这样,可以去除对象属性相关维度和对象环境相关维度之间存在的虚假关联,有效地降低特征向量的维度,并提高算法的效率和准确性。
在一个示例中,衡量每个维度重要性的维度权重向量α可以满足如下条件:
min(||α||1),
其中E和Eα是求期望,其可以看作分类后的准确率;M是缓存库中的每个特征向量,α中的元素的取值是0或1,M·α是缓存库中每个特征向量通过α筛选出的维度(比如保留200维度);C是每个特征向量对应的类别;Mc是用来做分类的函数;t是预先设定的可接受的性能阈值,即用降维后的特征做分类后性能不会明显下降。公式(2)的具体含义可以是使维度权重向量α的模最小化(min)以保留最少的维度,同时使得(s.t.)性能不会有明显下降。维度权重向量α可以在每轮训练之后更新。
如图5中所示,可以根据对象总体特征库中每一个对象的总体特征向量的多分类操作进行维度选择,作为对示例全局特征向量进行去相关操作(即拆分操作)的依据。对于对象总体特征库,针对每个对象对应的对象标识符都维护一个单例模板,作为这个对象的总体特征向量。例如,对象总体特征库可以看做是1000个总体特征向量的数据集,因为每一类只有1个样本,所以上述多分类操作就可以将该对象总体特征库中的所有总体特征向量分为1000类。该示例全局特征向量可以分类为对象属性相关维度和对象环境相关维度,然后通过Kernel方法映射,将该示例全局特征向量拆分为(即由图5中的双向箭头所示)第一特征向量Zid和第二特征向量Zds,以去除这两个特征向量之间的相关性。
在将全局特征向量拆分为第一特征向量和第二特征向量之后,执行步骤S240:针对所述训练数据集中每一个图像,基于该图像中每一个对象的第一特征向量和第二特征向量之间的相似度计算第一损失。
下面继续结合图6详细描述步骤S240,其中图6示意性地示出了根据本公开一些实施例的图像检索模型训练方法的流程图。在一些实施例中,如图6所示,步骤S240可以包括:针对所述训练数据集中每一个图像中每一个对象,执行下述步骤:
S610,计算第一特征向量和第二特征向量的线性相似度和非线性相似度中至少一个;
S620,基于第一特征向量和第二特征向量的线性相似度和非线性相似度中至少一个,确定第一特征向量与第二特征向量之间的相似度;
S630,计算第一特征向量与第二特征向量之间的相似度的F-范数,以确定所述第一损失。
一般地,线性相似度和非线性相似度是用于衡量特征向量间相似度的两种不同方法。线性相似度适用于处理连续型数据和简单的线性关系,而非线性相似度适用于处理非线性结构和复杂模式的数据。选择相应的相似度度量方法可以根据具体的问题和数据特点来决定。因此,在一些实施例中,步骤S610可以包括:利用核方法将第一特征向量和第二特征向量分别投影到再生核希尔伯特空间,以获得分别与第一特征向量和第二特征向量对应的第一投影向量和第二投影向量;计算第一投影向量和第二投影向量之间的协方差,以得到第一特征向量和第二特征向量的非线性相似度。非线性相似度的优点是能够处理更复杂的数据结构和模式,可以更好地捕捉数据之间的非线性关系。
在一个示例中,可以使用满足公式组(3)中条件的核函数将Zid和Zds投影至再生核希尔伯特空间(RKHS),这保证了相应的再生核希尔伯特空间服从原始特征概率分布的平方可积函数。
其中,公式组(3)描述了f和g这两个核函数需要满足的条件,E表示求期望,并且P和Q分别是Zid和Zds的原始的、投影之前的概率分布。
接着,使用协方差运算来衡量投影后的第一投影向量和第二投影向量之间的相似度,在欧氏空间中这一运算的公式(4)如下:
其中,公式(4)的左边即为协方差,E表示求期望,圈乘符号代表张量积运算。这一协方差运算当且仅当Zid和Zds之间完全独立时是0,其中完全独立可以指两个特征向量Zid和Zds之间不存在任何的耦合关系,即Zid的变化不会以任何形式引起Zds的变化。基于此,可以计算出Zid和Zds的非线性相似度。
附加地或替代地,在一些实施例中,步骤S610也可以包括:计算第一特征向量与第二特征向量的余弦相似度和欧式距离中至少一个;根据第一特征向量与第二特征向量的余弦相似度和欧式距离中至少一个,确定第一特征向量与第二特征向量的线性相似度。线性相似度的优点是计算简单、易于理解和解释,适用于处理连续型数据和简单的线性关系。
在一个示例中,可以以余弦相似度来衡量第一特征向量Zid与第二特征向量Zds的线性相似度,其可以用公式(5)表示:
其中,上标T是矩阵的转置,它是为了方便矩阵运算。该余弦相似度的取值范围可以在-1到1之间,并且值越接近1表示相似度越高。
接下来,在步骤S620中,可以选择第一特征向量和第二特征向量的线性相似度和非线性相似度作为第一特征向量与第二特征向量之间的相似度,也可以仅选择线性相似度和非线性相似度之一。例如,因为更高维度的非线性相似度中实际包含了欧氏空间中的线性相似度,所以可以将该非线性相似度确定第一特征向量与第二特征向量之间的相似度。
之后,在步骤S630中,计算在步骤S620中确定的相似度的F-范数作为第一损失。可以使用诸如希尔伯特-施密特范数等方式来衡量第一投影向量和第二投影向量之间的独立性,而由于在欧氏空间中希尔伯特-施密特范数等价于F-范数,因此最终可以使用公式(4)中的协方差矩阵的F-范数作为解耦特征向量属性、提高最终输出的特征向量辨识度的约束项Lcov,即如公式(6)所示:
其中,Lcov表示第一损失。F-范数可以用于度量矩阵的大小或者表示矩阵的欧几里得长度,它衡量了矩阵各个元素的绝对值的大小,并且对每个元素的贡献都是平等的;通过将F-范数作为第一损失,可以度量矩阵的大小和控制模型的复杂性。Lcov越小,代表Zid和Zds的独立性越高;当Lcov为0时,Zid和Zds完全独立,即Zid和Zds之间完全去相关。
在步骤S250处,至少基于训练数据集中每一个图像对应的第一损失,确定图像检索模型的目标损失。目标损失是指在使用图像检索模型进行训练的过程中的一个总体损失,该目标损失可以仅包括第一损失,也可以包括其它类型的损失(其将在下文介绍)。因此,目标损失可以通过以下方式来确定:给每一个损失分配相应的权重,然后以所有损失的加权和作为目标损失,其中权重代表相应损失的重要程度。
下面继续结合图7、图8A和图8B详细描述步骤S250,其中图7示意性地示出了根据本公开一些实施例的图像检索模型训练方法的流程图,图8A示意性地示出了根据本公开一些实施例的在自动生成标注中存在标签缺失现象的示意图,并且图8B示意性地示出了根据本公开一些实施例的缺失标签生成操作的原理示意图。
在使用从自媒体视频中抽取的不连续视频帧作为图像检索模型的训练输入时,可能会存在自动生成的训练数据标注中明显的标签缺失的现象,即如图8A中的虚线框所示。在图8A中,待检测目标对应的对象标识符标签分别记为ID1和ID2,实线框代表自动检测出来的带标签的实例(即对象),而虚线框代表标签缺失的实例。可以看出,在从左至右的四幅图中:在第一幅图和第四幅图中,ID1为实线框而ID2为虚线框;在第二幅图和第三幅图中,ID1为虚线框而ID2为实线框。也就是说,针对ID1和ID2分别行走的轨迹,使用自动轨迹标注模型(例如YOLOv5)标注的实例可能会有没有标注上的情况。图8A中除ID1和ID2之外的白色框代表不计入考虑的对象。
针对图8A中的标签缺失现象,可以根据对象总体特征库中的每一个总体特征向量与缺失标签的对象的特征向量进行匹配,从而为其分配相应的标签,在这个过程中也会产生损失。因此,在一些实施例中,如图7所示,步骤S250可以包括:
S710,针对多个图像中每一个图像,识别该图像中第一对象集合中的各个对象的对象标识符标签,所述第一对象集合包括该图像中所有对象中的至少一部分对象;
S720,针对多个图像中每一个图像,响应于作为全体对象集合与第一对象集合的差集的第二对象集合为非空集,将第二对象集合中该图像涉及的每一个对象在该图像中的全局特征向量与所述对象总体特征库中的每一个总体特征向量进行匹配,以根据对象总体特征库中每个对象的总体对象标识符向第二对象集合中每一个对象分配对象标识符标签;
S730,针对训练数据集中每一个图像,基于图像检索模型输出的该图像中每一个对象的对象标识符与该对象的对象标识符标签之间的差异,计算第二损失;
S740,至少基于每一个图像对应的第一损失和第二损失,确定所述图像检索模型的目标损失。
在步骤S710中,可以单独使用目标检测算法(例如YOLOv5模型)自动识别并生成各个对象的对象标识符标签,也可以单独使用其他目标检测模型自动识别并生成各个对象的对象标识符标签,或者可以使用YOLOv5模型和其他目标检测模型的组合分别自动识别并生成各个对象的对象标识符标签、并对相应的对象标识符标签根据其交并比进行合并以得到最终对象标识符标签。也可以使用人工标注的方法为各个对象生成对象标识符标签。也就是说,对象标识符可以是由图像检索模型训练输出的表示对象身份的符号或标记;而对象标识符标签可以是在训练之前预先为每个对象分配的关于对象身份的标签或标注,例如可以是使用目标检测算法自动添加的标签或标注,或者可以是根据对象总体特征库为每个对象分配的标签(参见步骤S720)。然后可以将已经有对象标识符标签的对象记为第一对象集合。
在步骤S720中,第二对象集合可以是全体对象集合与第一对象集合的差集,其表示缺失对象标识符标签的对象。当该差集为空集时,即说明第一对象集合就是全体对象集合,在这种情况下每一个图像中的所有对象都已经被标注。而当该差集为非空集时,即说明第一对象集合是全体对象集合的真子集,在这种情况下存在至少一个对象没有被标注(即缺失标签);此时,可以将将第二对象集合中每一个对象的全局特征向量与对象总体特征库中的每一个总体特征向量(该总体特征向量是在上一轮次训练后得到的全局特征向量)进行匹配,以根据对象总体特征库中每个对象的总体对象标识符向缺失标签的对象分配对象标识符标签。
在一些实施例中,步骤S720可以包括:针对多个图像中每一个图像,响应于作为全体对象集合与所述第一对象集合的差集的第二对象集合为非空集,执行下述步骤:S720a,针对第二对象集合中该图像所涉及的每一个对象,计算该对象的全局特征向量与对象总体特征库中每一个总体特征向量的线性相似度;S720b,针对第二对象集合中该图像所涉及的每一个对象,基于该对象的全局特征向量与对象总体特征库中每一个总体特征向量的线性相似度,确定该对象的对象标识符标签。也就是说,缺失标签的生成可以通过比较特征向量之间的线性相似度来完成。这在图8B中可以更清晰地示出。左边的图像(a)上有4个候选对象,其中2个深色框代表这两个对象已经有对象标识符标签,而另2个白色框代表对象标识符缺失的对象。针对这2个白色框对应的全局特征向量,计算其与下面的对象总体特征库中每一个总体特征向量的线性相似度,从而基于该线性相似度确定该对象的对象标识符标签,即在右边的图像(b)上白色框已变为相应的有对象标识符标签的框,表示已经为对象标识符缺失的对象匹配到对应的总体特征向量(图8B中的双向箭头即表示这种对应和匹配关系)。这可以被看做是一个二分图匹配的过程。这样,可以方便地为每一个图像中缺失标签的对象分配对象标识符,从而保证标注的完整性。
可以存在多种计算相似度的方法。在一些实施例中,步骤S720a可以包括:针对第二对象集合中该图像所涉及的每一个对象,通过计算余弦相似度得到该对象的全局特征向量与对象总体特征库中每一个总体特征向量的线性相似度。在另一些实施例中,也可以通过计算该对象的全局特征向量与对象总体特征库中每一个总体特征向量的欧氏距离来作为所述线性相似度。本申请对计算线性相似度的方法不做限制,只要能够计算出符合要求的线性相似度即可,此处不再赘述。
进一步,在一些实施例中,所述通过计算余弦相似度得到该对象的全局特征向量与对象总体特征库中每一个总体特征向量的线性相似度可以包括:针对第二对象集合中该图像所涉及的每一个对象,执行下述步骤:计算该对象与对象总体特征库中每一个总体特征向量的余弦相似度;针对对象总体特征库中每一个总体特征向量,响应于该总体特征向量与该对象的全局特征向量的余弦相似度小于或等于预设阈值,将该对象与该总体特征向量的线性相似度确定为0;针对对象总体特征库中每一个总体特征向量,响应于该总体特征向量与该对象的全局特征向量的余弦相似度大于预设阈值,将该对象与该总体特征向量的线性相似度确定为所述余弦相似度。其中,预设阈值是指为缺失标签的对象分配对象标识符标签的相似度下限阈值,其可以是预先人为定义的,也可以是计算机自动设定的。当该余弦相似度小于或等于预设阈值时,可以直接将其之间的线性相似度确定为0,即认为它们不相似。因此,利用预设阈值可以减小计算量并调节计算规模,并且更快地匹配到对象总体特征库中的对应总体特征向量。
在一些实施例中,步骤S720b可以包括:针对第二对象集合中该图像所涉及的每一个对象,执行如下步骤:基于该对象的全局特征向量与对象总体特征库中每一个总体特征向量的线性相似度,从对象总体特征库中选取该对象对应的总体特征向量;根据对象总体特征库中所选取的总体特征向量对应的总体对象标识符,向该对象分配对象标识符标签。也就是说,将根据线性相似度选取的与该对象对应的总体特征向量作为该对象的全局特征向量,并分配与之对应的对象标识符标签。这样,可以对缺失对象标识符的对象分配对象标识符标签,以保证训练数据标注的完整性和对应性。
上述对象标识符标签分配过程可以通过一个示例更清楚地阐述。在该示例中,可以使用匈牙利算法来表示相似度矩阵Hi,j(其中i,j表示该矩阵的第i行、第j列):
其中,等号上的“def”表示对Hi,j的定义;bi表示第二对象集合中第i个对象的全局特征向量;tj表示对象总体特征库中的第j个总体特征向量;符号cos代表计算余弦相似度;符号ID()表示该特征向量对应的对象标识符标签;符号φ表示空集;ψ表示为预设阈值,其是指为缺失标签的对象分配对象标识符标签的相似度下限阈值;T代表对象总体特征库中各个对象对应的对象标识符;“elsewise”代表其他情况。因此,利用公式(7),可以为缺失标签的对象分配分配对象标识符标签。具体而言,利用二分图匹配,如果缺失标签的对象对应的对象标识符存在于T中,则直接将Hi,j赋值为1;如果缺失标签的对象对应的对象标识符不存在于T中,并且bi和tj的余弦相似度大于ψ,则将Hi,j赋值为该余弦相似度;以及,如果缺失标签的对象对应的对象标识符不存在于T中,并且bi和tj的余弦相似度不大于ψ,则将Hi,j赋值为0,即可以保证对象总体特征库中不存在的对象在与对象总体特征库中各个对象不相似的情况下不会被分配一个对象标识符标签,以减少或防止分配错误。基于此,可以获得相似度矩阵Hi,j,并且得到的新的对象标识符标签可以用于下一轮次的训练。
在步骤S730中,基于图像检索模型的第二子模型输出的该对象的对象标识符与分配的对象标识符标签之间的差异,计算第二损失,该第二损失可以记为Lret。
在步骤S740中,可以将第一损失Lcov和第二损失Lret的加权和确定为图像检索模型的目标损失,其相应的权重可以在实际的图像检索模型训练中可以根据不同的目标和不同的应用场景通过实验来调节。
除了上述第一损失Lcov和第二损失Lret之外,还可以存在其他损失,例如在提取局部特征向量时产生的损失。因此,在一些实施例中,步骤S740可以包括:针对多个图像中每一个图像,获取该图像中每一个对象及其局部特征标签,所述局部特征标签包括该对象在该图像中的位置、大小和类别中至少一个;将训练数据集中每一个图像输入所述目标模型的第三子模型,以提取每一个图像中各个对象在该图像中的局部特征向量,所述局部特征向量与所述局部特征标签对应;针对训练数据集中每一个图像,基于该图像中每一个对象的局部特征向量与局部特征标签之间的差异,计算第三损失;至少基于每一个图像对应的第一损失、第二损失以及第三损失,确定图像检索模型的目标损失。例如,可以使用YOLOv5模型自动获取该图像中每一个对象及其局部特征标签。第三损失表示所提取的每一个对象的局部特征向量与所获取的局部特征标签之间的差异,其可以包括回归损失Lreg和分类损失Lcls中的至少一个。回归损失Lreg可以包括均方误差损失(L2损失)、平均绝对误差损失(L1损失)、及其各种变体;分类损失Lcls可以包括交叉熵损失函数(Cross Entropy Loss)、Softmax损失函数等。因此,目标损失L可以如公式(8)所示:
L=Lcls+Lreg+Lret+Lcov (8)
在一些实施例中,可以为公式(8)中的各项损失分配相应的权重(这里未示出)。同样地,在实际的模型训练中可以根据不同的目标和不同的应用场景来平衡各项权重。在一些实施例中,除了上述损失之外,目标损失还可以包括其他损失。
在步骤S260处,基于所述目标损失,对所述图像检索模型的参数进行迭代更新直至满足预设训练结束条件。
在一些实施例中,在优化初期,可以采用较大的权重和迭代步长使得参数可以快速收敛到最优解的附近。随后逐渐减小权重,同时调小迭代的步长,使得参数可以在迭代的过程中不断更新,从而缓慢而准确地收敛到最优解。当达到最大迭代次数或者若干次优化后目标损失不再下降就认为可以停止了,从而可以完成对图像检索模型的训练。应理解,此处可以使用一些常见函数(如sigmoid函数)等方式进行模型迭代,也可以使用任何其他方式进行模型迭代,只要损失函数的损失值逐渐减小即可。在一个示例中,当训练数据集中所有的训练图像采样完毕,一次训练周期结束;在完成预设的若干次训练周期后,训练过程结束。本公开在此不进行穷举。此过程可以看作是一个有监督的训练过程。
这样,利用根据本公开一些实施例的图像检索模型训练方法,首先,通过将训练数据集的每一个图像(训练样本)中对象在该图像中的全局特征向量拆分为第一特征向量(对象属性相关特征)和第二特征向量(对象环境相关特征),从而解耦了训练样本(图像)中对象类别或属性相关维度与对象类别或属性无关(即环境相关)维度;随后基于该对象的第一特征向量和第二特征向量之间的相似度计算损失函数并基于此训练该图像检索模型,从而实现了针对对象属性相关维度与环境相关(或对象属性无关)维度的(线性或非线性)虚假关联的去相关操作,增强了该图像检索模型的表征学习能力,减少或消除了对象本身之外的其他因素(例如环境因素或背景因素)的影响,提升了最终提取的对象特征的鲁棒性和辨识度,增强了图像检索泛化能力,提高了图像检索的准确率。
在一些实施例中,可以利用训练好的图像检索模型来检索图像。下表1示出了本公开的图像检索模型与相关技术的图像检索模型在不同数据集上的性能比较。如表1所示,例如,数据集1可以是CUHK-SYSU数据集,并且数据集2可以是PRW数据集,它们都是常见的用于图像检索的数据集。相关技术的模型可以是SeqNet(Sequential End-to-end Network)模型。MAP(mean Average Precision平均精度)是一个经常被用来衡量目标检测模型是否具有较好性能的指标,MAP体现的核心思想是准确率,即MAP越高代表判断正确的精准度越高。Rank-1准确率是用于评估人脸识别系统性能的指标,同样地,Rank-1越高代表匹配的准确率越高。可以看出,使用本公开的图像检索模型训练方法训练的模型,与上述网络结构相同、且使用相同自媒体视频数据训练的SeqNet模型基线相比,在各数据集上的Rank-1准确率和mAP均大幅提升。这体现了本公开的图像检索模型可以有效提升使用自媒体视频数据的图像匹配准确率性能。
表1:本公开的图像检索模型与相关技术的性能对比表
图9示意性地示出了根据本公开一些实施例的图像检索模型训练装置900的示例框图。图9中所示的确定图像检索模型训练装置900可以对应于图1中所示的终端设备110。
如图9中所示,图像检索模型训练装置900可以包括获取模块910、提取模块920、拆分模块930、计算模块940、确定模块950、以及迭代模块960。获取模块910可以被配置成获取训练数据集,所述训练数据集包括涉及多个对象的多个图像,每一个图像包括所述多个对象中的至少一个对象。提取模块920可以被配置成将所述训练数据集中每一个图像输入所述图像检索模型的第一子模型,以提取每一个图像中各个对象在该图像中的全局特征向量。拆分模块930可以被配置成针对所述训练数据集中每一个图像,将该图像中每一个对象在该图像中的全局特征向量拆分为第一特征向量和第二特征向量,其中所述第一特征向量表示对象属性相关特征,所述第二特征向量表示对象环境相关特征,并且所述第一特征向量和所述第二特征向量的维度之和等于所述全局特征向量的维度。计算模块940可以被配置成针对所述训练数据集中每一个图像,基于该图像中每一个对象的第一特征向量和第二特征向量之间的相似度计算第一损失。确定模块950可以被配置成至少基于所述训练数据集中每一个图像对应的第一损失,确定所述图像检索模型的目标损失。迭代模块960可以被配置成基于所述目标损失,对所述图像检索模型的参数进行迭代更新直至满足预设训练结束条件。
应注意,上述各种模块可以以软件或硬件或两者的组合来实现。多个不同模块可以在同一软件或硬件结构中实现,或者一个模块可以由多个不同的软件或硬件结构实现。
在根据本公开一些实施例的图像检索模型训练装置中,首先,通过将训练数据集的每一个图像(训练样本)中对象在该图像中的全局特征向量拆分为第一特征向量(对象属性相关特征)和第二特征向量(对象环境相关特征),从而解耦了训练样本(图像)中对象类别或属性相关维度与对象类别或属性无关(即环境相关)维度;随后基于该对象的第一特征向量和第二特征向量之间的相似度计算损失函数并基于此训练该图像检索模型,从而实现了针对对象属性相关维度与环境相关(或对象属性无关)维度的(线性或非线性)虚假关联的去相关操作,增强了该图像检索模型的表征学习能力,减少或消除了对象本身之外的其他因素(例如环境因素或背景因素)的影响,提升了最终提取的对象特征的鲁棒性和辨识度,增强了图像检索泛化能力,提高了图像检索的准确率。
图10示意性地示出了根据本公开一些实施例的计算设备1000的示例框图。计算设备1000可以代表用以实现本文描述的各种装置或模块和/或执行本文描述的各种方法的设备。计算设备1000可以是例如服务器、台式计算机、膝上型计算机、平板、智能电话、智能手表、可穿戴设备或任何其它合适的计算设备或计算系统,其可以包括从具有大量存储和处理资源的全资源设备到具有有限存储和/或处理资源的低资源设备的各种级别的设备。在一些实施例中,上面关于图9描述的图像检索模型训练装置900可以分别在一个或多个计算设备1000中实现。
如图10中所示,示例计算设备1000包括彼此通信耦合的处理系统1001、一个或多个计算机可读介质1002、以及一个或多个I/O接口1003。尽管未示出,但是计算设备1000还可以包括将各种组件彼此耦合的系统总线或其他数据和命令传送系统。系统总线可以包括不同总线结构的任何一个或组合,所述总线结构可以是诸如存储器总线或存储器控制器、外围总线、通用串行总线、和/或利用各种总线架构中的任何一种的处理器或局部总线。或者,还可以包括诸如控制和数据线。
处理系统1001代表使用硬件执行一个或多个操作的功能。因此,处理系统1001被图示为包括可被配置为处理器、功能块等的硬件元件1004。这可以包括在硬件中实现作为专用集成电路或使用一个或多个半导体形成的其它逻辑器件。硬件元件1004不受其形成的材料或其中采用的处理机构的限制。例如,处理器可以由(多个)半导体和/或晶体管(例如,电子集成电路(IC))组成。在这样的上下文中,处理器可执行指令可以是电子可执行指令。
计算机可读介质1002被图示为包括存储器/存储装置1005。存储器/存储装置1005表示与一个或多个计算机可读介质相关联的存储器/存储装置。存储器/存储装置1005可以包括易失性介质(诸如随机存取存储器(RAM))和/或非易失性介质(诸如只读存储器(ROM)、闪存、光盘、磁盘等)。存储器/存储装置1005可以包括固定介质(例如,RAM、ROM、固定硬盘驱动器等)以及可移动介质(例如,闪存、可移动硬盘驱动器、光盘等)。示例性地,存储器/存储装置1005可以用于存储上文实施例中提及的第一类别用户的第一音频、请求的排队列表等。计算机可读介质1002可以以下面进一步描述的各种其他方式进行配置。
一个或多个I/O(输入/输出)接口1003代表允许用户向计算设备1000键入命令和信息并且还允许使用各种输入/输出设备将信息显示给用户和/或发送给其他组件或设备的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于语音输入)、扫描仪、触摸功能(例如,被配置为检测物理触摸的容性或其他传感器)、相机(例如,可以采用可见或不可见的波长(诸如红外频率)将不涉及触摸的运动检测为手势)、网卡、接收机等等。输出设备的示例包括显示设备(例如,显示器或投影仪)、扬声器、打印机、触觉响应设备、网卡、发射机等。示例性地,在上文描述的实施例中,第一类别用户以及第二类别用户可以通过其各自的终端设备上的输入接口来进行输入以发起请求以及录入音频和/或视频等,并且可以通过输出接口来查看各种通知以及观看视频或聆听音频等。
计算设备1000还包括图像检索模型训练策略1006。图像检索模型训练策略1006可以作为计算程序指令存储在存储器/存储装置1005中,也可以是硬件或固件。图像检索模型训练策略1006可以连同处理系统1001等一起实现关于图9描述的图像检索模型训练装置900的各个模块的全部功能。
本文可以在软件、硬件、元件或程序模块的一般上下文中描述各种技术。一般地,这些模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元素、组件、数据结构等。本文所使用的术语“模块”、“功能”等一般表示软件、固件、硬件或其组合。本文描述的技术的特征是与平台无关的,意味着这些技术可以在具有各种处理器的各种计算平台上实现。
所描述的模块和技术的实现可以存储在某种形式的计算机可读介质上或者跨某种形式的计算机可读介质传输。计算机可读介质可以包括可由计算设备1000访问的各种介质。作为示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
与单纯的信号传输、载波或信号本身相反,“计算机可读存储介质”是指能够持久存储信息的介质和/或设备,和/或有形的存储装置。因此,计算机可读存储介质是指非信号承载介质。计算机可读存储介质包括诸如易失性和非易失性、可移动和不可移动介质和/或以适用于存储信息(诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其他数据)的方法或技术实现的存储设备之类的硬件。计算机可读存储介质的示例可以包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字通用盘(DVD)或其他光学存储装置、硬盘、盒式磁带、磁带,磁盘存储装置或其他磁存储设备,或其他存储设备、有形介质或适于存储期望信息并可以由计算机访问的制品。
“计算机可读信号介质”是指被配置为诸如经由网络将指令发送到计算设备1000的硬件的信号承载介质。信号介质典型地可以将计算机可读指令、数据结构、程序模块或其他数据体现在诸如载波、数据信号或其它传输机制的调制数据信号中。信号介质还包括任何信息传递介质。作为示例而非限制,信号介质包括诸如有线网络或直接连线的有线介质以及诸如声、RF、红外和其它无线介质的无线介质。
如前所述,硬件元件1004和计算机可读介质1002代表以硬件形式实现的指令、模块、可编程器件逻辑和/或固定器件逻辑,其在一些实施例中可以用于实现本文描述的技术的至少一些方面。硬件元件可以包括集成电路或片上系统、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)以及硅中的其它实现或其他硬件设备的组件。在这种上下文中,硬件元件可以作为执行由硬件元件所体现的指令、模块和/或逻辑所定义的程序任务的处理设备,以及用于存储用于执行的指令的硬件设备,例如,先前描述的计算机可读存储介质。
前述的组合也可以用于实现本文所述的各种技术和模块。因此,可以将软件、硬件或程序模块和其它程序模块实现为在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件1004体现的一个或多个指令和/或逻辑。计算设备1000可以被配置为实现与软件和/或硬件模块相对应的特定指令和/或功能。因此,例如通过使用处理系统的计算机可读存储介质和/或硬件元件1004,可以至少部分地以硬件来实现将模块实现为可由计算设备1000作为软件执行的模块。指令和/或功能可以由例如一个或多个计算设备1000和/或处理系统1001执行/可操作以实现本文所述的技术、模块和示例。
本文描述的技术可以由计算设备1000的这些各种配置来支持,并且不限于本文所描述的技术的具体示例。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机程序。例如,本公开的实施例提供一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行本公开的方法实施例中的至少一个步骤的程序代码。
在本公开的一些实施例中,提供了一种或多种计算机可读存储介质,其上存储有计算机可读指令,该计算机可读指令在被执行时实现根据本公开一些实施例的图像检索模型训练方法。根据本公开一些实施例所述的图像检索模型训练方法的各个步骤可以通过程序设计被转化为计算机可读指令,从而存储在计算机可读存储介质中。当这样的计算机可读存储介质被计算设备或计算机读取或访问时,其中的计算机可读指令被计算设备或计算机上的处理器执行以实现根据本公开一些实施例所述的方法。
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点被包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序(包括根据所涉及的功能按基本同时的方式或按相反的顺序)来执行功能,这应被本公开的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,则可以用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路、具有合适的组合逻辑门电路的专用集成电路、可编程门阵列(Programmable Gate Array)、现场可编程门阵列(Field Programmable Gate Array)等。
本技术领域的普通技术人员可以理解,上述实施例方法的全部或部分步骤可以通过程序指令相关的硬件完成,所述程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括执行方法实施例的步骤之一或其组合。
此外,在本公开各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
尽管已经结合一些实施例描述了本公开,但是其不旨在被限于在本文中所阐述的特定形式。相反,本公开的范围仅由所附权利要求来限制。附加地,尽管单独的特征可以被包括在不同的权利要求中,但是这些可以可能地被有利地组合,并且被包括在不同权利要求中不暗示特征的组合不是可行的和/或有利的。特征在权利要求中的次序不暗示特征必须以其工作的任何特定次序。此外,在权利要求中,词语“包括”不排除其它元件,并且术语“一”或“一个”不排除多个。权利要求中的附图标记仅作为明确的示例被提供,不应该被解释为以任何方式限制权利要求的范围。
可以理解的是,在本公开的具体实施方式中,涉及到用于模型训练的各种数据(例如对象标识符、对象特征等)。当本公开中所描述的涉及这样的数据的实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
Claims (17)
1.一种图像检索模型训练方法,其特征在于,所述方法包括:
获取训练数据集,所述训练数据集包括涉及多个对象的多个图像,每一个图像包括所述多个对象中的至少一个对象;
将所述训练数据集中每一个图像输入所述图像检索模型的第一子模型,以提取每一个图像中各个对象在该图像中的全局特征向量;
针对所述训练数据集中每一个图像,将该图像中每一个对象在该图像中的全局特征向量拆分为第一特征向量和第二特征向量,其中所述第一特征向量表示对象属性相关特征,所述第二特征向量表示对象环境相关特征,并且所述第一特征向量和所述第二特征向量的维度之和等于所述全局特征向量的维度;
针对所述训练数据集中每一个图像,基于该图像中每一个对象的第一特征向量和第二特征向量之间的相似度计算第一损失;
至少基于所述训练数据集中每一个图像对应的第一损失,确定所述图像检索模型的目标损失;
基于所述目标损失,对所述图像检索模型的参数进行迭代更新直至满足预设训练结束条件。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
针对所述多个图像中每一个图像,将该图像中每一个对象的全局特征向量输入所述图像检索模型的第二子模型,以输出该对象在该图像中的对象标识符;
针对所述多个对象中每一个对象,根据该对象在所述训练数据集的涉及该对象的各个图像中的全局特征向量及其相应的对象标识符,更新对象总体特征库,该对象总体特征库包括所述多个对象中每个对象的总体对象标识符及其总体特征向量;
并且其中,所述针对所述训练数据集中每一个图像,将该图像中每一个对象在该图像中的全局特征向量拆分为第一特征向量和第二特征向量,包括:
根据当前训练轮次的前一次训练轮次得到的对象总体特征库中每一个对象的总体特征向量的多分类操作,确定所述多个对象中每一个对象对应的全局特征向量的维度权重向量;
针对所述训练数据集中每一个图像,根据该图像中每一个对象对应的特征维度权重向量,将该对象在该图像中的全局特征向量拆分为第一特征向量和第二特征向量。
3.根据权利要求2所述的方法,其特征在于,所述每一个对象对应的全局特征向量的维度权重向量中各个权重分量为0或1,并且
其中,所述针对所述训练数据集中每一个图像,根据该图像中每一个对象对应的特征维度权重向量,将该对象在该图像中的全局特征向量拆分为第一特征向量和第二特征向量,包括:
针对每一个图像中每一个对象,依据该对象的全局特征向量中对应于权重分量为1的各个维度,形成第一特征向量;
针对每一个图像中每一个对象,依据该对象的全局特征向量中对应于权重分量为0的各个维度,形成第二特征向量。
4.根据权利要求1所述的方法,其特征在于,所述针对所述训练数据集中每一个图像,基于该图像中每一个对象的第一特征向量和第二特征向量之间的相似度计算第一损失,包括:
针对所述训练数据集中每一个图像中每一个对象,执行下述步骤:
计算第一特征向量和第二特征向量的线性相似度和非线性相似度中至少一个;
基于第一特征向量和第二特征向量的线性相似度和非线性相似度中至少一个,确定第一特征向量与第二特征向量之间的相似度;
计算第一特征向量与第二特征向量之间的相似度的F-范数,以确定所述第一损失。
5.根据权利要求4所述的方法,其特征在于,所述计算第一特征向量和第二特征向量的线性相似度和非线性相似度中至少一个,包括:
利用核方法将第一特征向量和第二特征向量分别投影到再生核希尔伯特空间,以获得分别与第一特征向量和第二特征向量对应的第一投影向量和第二投影向量;
计算第一投影向量和第二投影向量之间的协方差,以得到第一特征向量和第二特征向量的非线性相似度。
6.根据权利要求4或5所述的方法,其特征在于,所述计算第一特征向量和第二特征向量的线性相似度和非线性相似度中至少一个,包括:
计算第一特征向量与第二特征向量的余弦相似度和欧式距离中至少一个;
根据第一特征向量与第二特征向量的余弦相似度和欧式距离中至少一个,确定第一特征向量与第二特征向量的线性相似度。
7.根据权利要求2所述的方法,其特征在于,所述至少基于所述训练数据集中每一个图像对应的第一损失,确定所述图像检索模型的目标损失,包括:
针对所述多个图像中每一个图像,识别该图像中第一对象集合中的各个对象的对象标识符标签,所述第一对象集合包括该图像中所有对象中的至少一部分对象;
针对所述多个图像中每一个图像,响应于作为全体对象集合与所述第一对象集合的差集的第二对象集合为非空集,将第二对象集合中该图像涉及的每一个对象在该图像中的全局特征向量与所述对象总体特征库中的每一个总体特征向量进行匹配,以根据对象总体特征库中每个对象的总体对象标识符向第二对象集合中每一个对象分配对象标识符标签;
针对所述训练数据集中每一个图像,基于所述图像检索模型输出的该图像中每一个对象的对象标识符与该对象的对象标识符标签之间的差异,计算第二损失;
至少基于每一个图像对应的第一损失和第二损失,确定所述图像检索模型的目标损失。
8.根据权利要求7所述的方法,其特征在于,所述针对所述多个图像中每一个图像,响应于作为全体对象集合与所述第一对象集合的差集的第二对象集合为非空集,将第二对象集合中该图像涉及的每一个对象在该图像中的全局特征向量与所述对象总体特征库中的每一个总体特征向量进行匹配,以根据对象总体特征库中每个对象的总体对象标识符向第二对象集合中每一个对象分配对象标识符标签,包括:
针对所述多个图像中每一个图像,响应于作为全体对象集合与所述第一对象集合的差集的第二对象集合为非空集,执行下述步骤:
针对所述第二对象集合中该图像所涉及的每一个对象,计算该对象的全局特征向量与对象总体特征库中每一个总体特征向量的线性相似度;
针对所述第二对象集合中该图像所涉及的每一个对象,基于该对象的全局特征向量与对象总体特征库中每一个总体特征向量的线性相似度,确定该对象的对象标识符标签。
9.根据权利要求8所述的方法,其特征在于,所述针对所述第二对象集合中该图像所涉及的每一个对象,计算该对象的全局特征向量与对象总体特征库中每一个总体特征向量的线性相似度,包括:
针对所述第二对象集合中该图像所涉及的每一个对象,通过计算余弦相似度得到该对象的全局特征向量与对象总体特征库中每一个总体特征向量的线性相似度。
10.根据权利要求9所述的方法,其特征在于,所述针对所述第二对象集合中该图像所涉及的每一个对象,通过计算余弦相似度得到该对象的全局特征向量与对象总体特征库中每一个总体特征向量的线性相似度,包括针对所述第二对象集合中该图像所涉及的每一个对象,执行下述步骤:
计算该对象与对象总体特征库中每一个总体特征向量的余弦相似度;
针对对象总体特征库中每一个总体特征向量,响应于该总体特征向量与该对象的全局特征向量的余弦相似度小于或等于预设阈值,将该对象与该总体特征向量的线性相似度确定为0;
针对对象总体特征库中每一个总体特征向量,响应于该总体特征向量与该对象的全局特征向量的余弦相似度大于预设阈值,将该对象与该总体特征向量的线性相似度确定为所述余弦相似度。
11.根据权利要求8-10中任一项的方法,其特征在于,所述针对所述第二对象集合中该图像所涉及的每一个对象,基于该对象的全局特征向量与对象总体特征库中每一个总体特征向量的线性相似度,确定该对象的对象标识符标签,包括:
针对所述第二对象集合中该图像所涉及的每一个对象,执行如下步骤:
基于该对象的全局特征向量与对象总体特征库中每一个总体特征向量的线性相似度,从所述对象总体特征库中选取该对象对应的总体特征向量;
根据所述对象总体特征库中所选取的总体特征向量对应的总体对象标识符,向该对象分配对象标识符标签。
12.根据权利要求1所述的方法,其特征在于,所述获取训练数据集包括:
获取自媒体视频;
从所述自媒体视频抽取多个不连续的视频帧图像,以形成训练数据集。
13.根据权利要求7所述的方法,其特征在于,所述至少基于每一个图像对应的第一损失和第二损失,确定所述图像检索模型的目标损失,包括:
针对所述多个图像中每一个图像,获取该图像中每一个对象及其局部特征标签,所述局部特征标签包括该对象在该图像中的位置、大小和类别中至少一个;
将所述训练数据集中每一个图像输入所述目标模型的第三子模型,以提取每一个图像中各个对象在该图像中的局部特征向量,所述局部特征向量与所述局部特征标签对应;
针对所述训练数据集中每一个图像,基于该图像中每一个对象的局部特征向量与局部特征标签之间的差异,计算第三损失;
至少基于每一个图像对应的第一损失、第二损失以及第三损失,确定所述图像检索模型的目标损失。
14.一种图像检索模型训练装置,其特征在于,所述装置包括:
获取模块,被配置成获取训练数据集,所述训练数据集包括涉及多个对象的多个图像,每一个图像包括所述多个对象中的至少一个对象;
提取模块,被配置成将所述训练数据集中每一个图像输入所述图像检索模型的第一子模型,以提取每一个图像中各个对象在该图像中的全局特征向量;
拆分模块,被配置成针对所述训练数据集中每一个图像,将该图像中每一个对象在该图像中的全局特征向量拆分为第一特征向量和第二特征向量,其中所述第一特征向量表示对象属性相关特征,所述第二特征向量表示对象环境相关特征,并且所述第一特征向量和所述第二特征向量的维度之和等于所述全局特征向量的维度;
计算模块,被配置成针对所述训练数据集中每一个图像,基于该图像中每一个对象的第一特征向量和第二特征向量之间的相似度计算第一损失;
确定模块,被配置成至少基于所述训练数据集中每一个图像对应的第一损失,确定所述图像检索模型的目标损失;
迭代模块,被配置成基于所述目标损失,对所述图像检索模型的参数进行迭代更新直至满足预设训练结束条件。
15.一种计算设备,其特征在于,所述计算设备包括:
存储器和处理器,
其中所述存储器中存储有计算机程序,所述计算机程序在被所述处理器执行时促使所述处理器执行权利要求1-13中任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令在被执行时实现权利要求1-13中任一项所述的方法。
17.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310811433.4A CN117216305A (zh) | 2023-07-04 | 2023-07-04 | 图像检索模型训练方法和装置、计算设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310811433.4A CN117216305A (zh) | 2023-07-04 | 2023-07-04 | 图像检索模型训练方法和装置、计算设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117216305A true CN117216305A (zh) | 2023-12-12 |
Family
ID=89041373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310811433.4A Pending CN117216305A (zh) | 2023-07-04 | 2023-07-04 | 图像检索模型训练方法和装置、计算设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117216305A (zh) |
-
2023
- 2023-07-04 CN CN202310811433.4A patent/CN117216305A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111476284B (zh) | 图像识别模型训练及图像识别方法、装置、电子设备 | |
EP3757905A1 (en) | Deep neural network training method and apparatus | |
CN106547880B (zh) | 一种融合地理区域知识的多维度地理场景识别方法 | |
CN109993102B (zh) | 相似人脸检索方法、装置及存储介质 | |
Kim et al. | Color–texture segmentation using unsupervised graph cuts | |
WO2019019935A1 (zh) | 交互方法、交互终端、存储介质和计算机设备 | |
CN113392866A (zh) | 一种基于人工智能的图像处理方法、装置及存储介质 | |
CN115482418B (zh) | 基于伪负标签的半监督模型训练方法、系统及应用 | |
CN118468061B (zh) | 一种算法自动匹配及参数优化方法及系统 | |
Singh et al. | A novel position prior using fusion of rule of thirds and image center for salient object detection | |
CN116129141A (zh) | 医学数据处理方法、装置、设备、介质和计算机程序产品 | |
JP2020123329A (ja) | 人工ニューラルネットワークの関連性スコア割当て | |
Sun et al. | Perceptual multi-channel visual feature fusion for scene categorization | |
Chen et al. | Dual-bottleneck feature pyramid network for multiscale object detection | |
Liu et al. | Attention-embedding mesh saliency | |
WO2022247448A1 (zh) | 数据处理方法、装置、计算设备和计算机可读存储介质 | |
CN117216305A (zh) | 图像检索模型训练方法和装置、计算设备及存储介质 | |
He et al. | Fast depth extraction from a single image | |
CN114692715A (zh) | 一种样本标注方法及装置 | |
Mao et al. | A Transfer Learning Method with Multi-feature Calibration for Building Identification | |
CN118379387B (zh) | 一种基于基础模型的单域泛化方法 | |
CN118447340B (zh) | 基于原型网络对图像类关系进行空间建模的方法和设备 | |
Wei et al. | Wall segmentation in house plans: fusion of deep learning and traditional methods | |
Zhang et al. | Making better use of edges for sketch generation | |
CN111866301B (zh) | 数据的处理方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |