CN114417046A - 特征提取模型的训练方法、图像检索方法、装置及设备 - Google Patents
特征提取模型的训练方法、图像检索方法、装置及设备 Download PDFInfo
- Publication number
- CN114417046A CN114417046A CN202210330051.5A CN202210330051A CN114417046A CN 114417046 A CN114417046 A CN 114417046A CN 202210330051 A CN202210330051 A CN 202210330051A CN 114417046 A CN114417046 A CN 114417046A
- Authority
- CN
- China
- Prior art keywords
- sample image
- image
- candidate
- class
- sample
- 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
Links
- 238000000605 extraction Methods 0.000 title claims abstract description 136
- 238000000034 method Methods 0.000 title claims abstract description 119
- 238000012549 training Methods 0.000 title claims abstract description 61
- 238000003062 neural network model Methods 0.000 claims abstract description 76
- 238000002372 labelling Methods 0.000 claims abstract description 74
- 238000012545 processing Methods 0.000 claims abstract description 40
- 239000011159 matrix material Substances 0.000 claims description 194
- 238000004590 computer program Methods 0.000 claims description 20
- 230000015654 memory Effects 0.000 claims description 17
- 230000004913 activation Effects 0.000 description 22
- 230000006870 function Effects 0.000 description 22
- 238000005516 engineering process Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 14
- 238000013473 artificial intelligence Methods 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 238000011176 pooling Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000013145 classification model Methods 0.000 description 4
- 238000007667 floating Methods 0.000 description 4
- 241001436679 Adama Species 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000003064 k means clustering Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012015 optical character recognition Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 description 1
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2431—Multiple classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Library & Information Science (AREA)
- Databases & Information Systems (AREA)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种特征提取模型的训练方法、图像检索方法、装置及设备,属于图像处理技术领域。方法包括:获取多个样本图像对和多个样本图像对中各张样本图像的标注类别;根据神经网络模型获取多个样本图像对中各张样本图像的图像特征;基于多个样本图像对中各张样本图像的图像特征,确定多个样本图像对中各张样本图像的第一类别特征;基于多个样本图像对中各张样本图像的标注类别,确定多个样本图像对中各张样本图像的第二类别特征;基于多个样本图像对中各张样本图像的图像特征、第一类别特征和第二类别特征,对神经网络模型进行调整,得到特征提取模型。实现了利用样本图像的预测类别、标注类别约束模型来提取图像特征,提高了模型的准确性。
Description
技术领域
本申请实施例涉及图像处理技术领域,特别涉及一种特征提取模型的训练方法、图像检索方法、装置及设备。
背景技术
在图像处理技术领域中,图像检索处理是一种非常重要的处理技术。图像检索处理是基于目标图像的图像特征与各候选图像的图像特征,从各候选图像中检索出与目标图像相似的图像,而目标图像的图像特征和各候选图像的图像特征通常是利用特征提取模型确定的。
相关技术中,可以利用多个样本图像对训练得到特征提取模型,其中,样本图像对包括两张相似的样本图像。训练时,将各个样本图像对输入神经网络模型,由神经网络模型输出各个样本图像对中各张样本图像的图像特征。基于各个样本图像对中各张样本图像的图像特征,对神经网络模型进行调整,得到特征提取模型。
上述相关技术训练得到的特征提取模型是利用样本图像对中各张样本图像的图像特征对神经网络模型进行调整得到的,使得特征提取模型的准确性不高,从而导致利用特征提取模型提取的图像特征的准确性较差,影响了图像检索结果的准确性。
发明内容
本申请实施例提供了一种特征提取模型的训练方法、图像检索方法、装置及设备,可用于解决相关技术中因特征提取模型的准确性不高而导致的图像检索结果的准确性不高的问题,所述技术方案包括如下内容。
一方面,本申请实施例提供了一种特征提取模型的训练方法,所述方法包括:
获取多个样本图像对和所述多个样本图像对中各张样本图像的标注类别,所述样本图像对包括两张相似的样本图像;
根据神经网络模型获取所述多个样本图像对中各张样本图像的图像特征;
基于所述多个样本图像对中各张样本图像的图像特征,确定所述多个样本图像对中各张样本图像的第一类别特征,所述样本图像的第一类别特征用于表征预测的所述样本图像的类别;
基于所述多个样本图像对中各张样本图像的标注类别,确定所述多个样本图像对中各张样本图像的第二类别特征,所述样本图像的第二类别特征用于表征标注的所述样本图像的类别;
基于所述多个样本图像对中各张样本图像的图像特征、第一类别特征和第二类别特征,对所述神经网络模型进行调整,得到特征提取模型。
另一方面,本申请实施例提供了一种图像检索方法,所述方法包括:
获取目标图像和多个候选图像;
基于特征提取模型确定所述目标图像的图像特征和各个候选图像的图像特征,所述特征提取模型是根据上述任一项所述的特征提取模型的训练方法训练得到的;
根据所述目标图像的图像特征和所述各个候选图像的图像特征,从所述多个候选图像中检索出与所述目标图像相似的图像。
另一方面,本申请实施例提供了一种特征提取模型的训练装置,所述装置包括:
获取模块,用于获取多个样本图像对和所述多个样本图像对中各张样本图像的标注类别,所述样本图像对包括两张相似的样本图像;
所述获取模块,还用于根据神经网络模型获取所述多个样本图像对中各张样本图像的图像特征;
确定模块,用于基于所述多个样本图像对中各张样本图像的图像特征,确定所述多个样本图像对中各张样本图像的第一类别特征,所述样本图像的第一类别特征用于表征预测的所述样本图像的类别;
所述确定模块,还用于基于所述多个样本图像对中各张样本图像的标注类别,确定所述多个样本图像对中各张样本图像的第二类别特征,所述样本图像的第二类别特征用于表征标注的所述样本图像的类别;
调整模块,用于基于所述多个样本图像对中各张样本图像的图像特征、第一类别特征和第二类别特征,对所述神经网络模型进行调整,得到特征提取模型。
在一种可能的实现方式中,所述样本图像的标注类别为至少一个,所述确定模块,用于对于所述多个样本图像对中各张样本图像的任一个标注类别,从多个候选类别中确定与所述任一个标注类别相同的候选类别,将与所述任一个标注类别相同的候选类别的类别特征确定为所述任一个标注类别的类别特征;对于所述多个样本图像对中的任一张样本图像,基于所述任一张样本图像的至少一个标注类别的类别特征,确定所述任一张样本图像的第二类别特征。
在一种可能的实现方式中,所述确定模块,还用于根据所述多个样本图像对中各张样本图像的标注类别,确定共现矩阵,所述共现矩阵中的任一个数据表征所述任一个数据所在行对应的候选类别与所述任一个数据所在列对应的候选类别共同出现的概率或者次数,一个标注类别是一个候选类别;基于阿达马矩阵和所述共现矩阵,确定各个候选类别的类别特征,所述阿达马矩阵的阶数大于候选类别的数量。
在一种可能的实现方式中,所述样本图像的标注类别为至少两个,所述确定模块,用于获取初始化矩阵,所述初始化矩阵的各行对应各个候选类别,且所述初始化矩阵的各列对应各个候选类别;对于所述多个样本图像对中的任一张样本图像,根据所述任一张样本图像的至少两个标注类别,在目标行和目标列的交叉位置处添加非零数据,所述目标行是所述初始化矩阵中与所述任一张样本图像的一个标注类别相同的候选类别所对应的行,所述目标列是所述初始化矩阵中与所述任一张样本图像的除所述一个标注类别之外的其他标注类别相同的候选类别所对应的列;将所述初始化矩阵中各行和各列的交叉位置处的非零数据进行累加,得到所述共现矩阵。
在一种可能的实现方式中,所述确定模块,用于从未确定类别特征的候选类别中随机选择第一候选类别;从所述阿达马矩阵中随机选择未被使用过的一行数据,作为所述第一候选类别的类别特征;根据所述第一候选类别的类别特征和所述阿达马矩阵,确定所述共现矩阵中所述第一候选类别对应的行中各个非零数据所在列所对应的候选类别的类别特征;若存在所述未确定类别特征的候选类别,则从所述从未确定类别特征的候选类别中随机选择第一候选类别开始循环,直至不存在所述未确定类别特征的候选类别。
在一种可能的实现方式中,所述确定模块,用于基于所述共现矩阵中所述第一候选类别对应的行中的各个非零数据,确定最大非零数据所在列所对应的且未确定类别特征的第二候选类别;从所述阿达马矩阵中确定与所述第一候选标签的类别特征最接近且未被使用过的一行数据,作为所述第二候选类别的类别特征;若所述共现矩阵中所述第一候选类别对应的行中存在未确定类别特征的且为非零数据所在列所对应的候选类别,则从所述基于所述共现矩阵中所述第一候选类别对应的行中的各个非零数据,确定最大非零数据所在列所对应的且未确定类别特征的第二候选类别开始循环,直至所述共现矩阵中所述第一候选类别对应的行中不存在未确定类别特征的且为非零数据所在列所对应的候选类别。
在一种可能的实现方式中,所述调整模块,用于对于任一个样本图像对,基于所述任一个样本图像对中至少一张样本图像的图像特征,确定所述任一个样本图像对的第一损失值;确定所述任一个样本图像对的三元组图像,所述任一个样本图像对的三元组图像包括所述任一个样本图像对和目标样本图像对中的一张样本图像,所述目标样本图像对是所述多个样本图像对中除所述任一个样本图像对之外且满足距离条件的样本图像对;基于所述任一个样本图像对的三元组图像中各张样本图像的图像特征,确定所述任一个样本图像对的第二损失值;基于所述多个样本图像对中各张样本图像的第一类别特征、第二类别特征和所述多个样本图像对的第一损失值、第二损失值,对所述神经网络模型进行调整,得到特征提取模型。
在一种可能的实现方式中,所述调整模块,用于对所述任一个样本图像对中至少一张样本图像的图像特征进行二值化处理,得到所述任一个样本图像对中至少一张样本图像的二值图像特征;基于所述任一个样本图像对中至少一张样本图像的图像特征和二值图像特征,确定所述第一损失值。
在一种可能的实现方式中,所述调整模块,用于确定所述任一个样本图像对中的一张样本图像分别和各个其他样本图像对中的一张样本图像之间的第一距离信息,所述各个其他样本图像对是所述多个样本图像对中除所述任一个样本图像对之外的各个样本图像对;从所述各个其他样本图像对中确定第一距离信息小于第一参考距离信息的目标样本图像对;基于所述目标样本图像对中的一张样本图像和所述任一个样本图像对,确定所述任一个样本图像对的三元组图像。
在一种可能的实现方式中,所述调整模块,用于从候选样本图像对中确定第一距离信息小于所述第一参考距离信息的目标样本图像对,所述候选样本图像对是所述各个其他样本图像对中第一距离信息不小于第二参考距离信息的其他样本图像对,所述第一参考距离信息大于所述第二参考距离信息。
在一种可能的实现方式中,所述调整模块,用于针对所述任一个样本图像对的三元组图像,基于所述任一个样本图像对中一张样本图像的图像特征和另一张样本图像的图像特征,确定所述任一个样本图像对中一张样本图像和另一张样本图像之间的第二距离信息,基于所述任一个样本图像对中一张样本图像的图像特征与所述目标样本图像对中的一张样本图像的图像特征,确定所述任一个样本图像对中一张样本图像与所述目标样本图像对中的一张样本图像之间的第三距离信息;基于所述第二距离信息和所述第三距离信息,确定所述任一个样本图像对的第二损失值。
在一种可能的实现方式中,所述调整模块,用于基于所述多个样本图像对中各张样本图像的第一类别特征和第二类别特征,确定类别特征损失值;基于所述多个样本图像对的第一损失值和第二损失值,确定图像特征损失值;基于所述类别特征损失值和所述图像特征损失值,对所述神经网络模型进行调整,得到特征提取模型。
另一方面,本申请实施例提供了一种图像检索装置,所述装置包括:
获取模块,用于获取目标图像和多个候选图像;
确定模块,用于基于特征提取模型确定所述目标图像的图像特征和各个候选图像的图像特征,所述特征提取模型是根据上述任一项所述的特征提取模型的训练方法训练得到的;
检索模块,用于根据所述目标图像的图像特征和所述各个候选图像的图像特征,从所述多个候选图像中检索出与所述目标图像相似的图像。
在一种可能的实现方式中,所述检索模块,用于将所述目标图像的图像特征和所述各个候选图像的图像特征进行对比,得到各个候选图像的对比结果;从所述多个候选图像中选择对比结果为一致的候选图像,作为所述目标图像相似的图像。
在一种可能的实现方式中,所述检索模块,用于基于所述各个候选图像的图像特征对所述多个候选图像进行聚类处理,得到多个聚类簇,所述聚类簇包括至少一个候选图像;对于任一个聚类簇,基于所述任一个聚类簇中各个候选图像的图像特征,确定参考图像特征,根据所述目标图像的图像特征和所述参考图像特征,确定所述目标图像与所述任一个聚类簇之间的第四距离信息;从所述多个聚类簇中选择第四距离信息小于第三参考距离信息的目标聚类簇,从所述目标聚类簇的各个候选图像中确定与所述目标图像相似的图像。
另一方面,本申请实施例提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,以使所述电子设备实现上述任一所述的特征提取模型的训练方法或者实现上述任一所述的图像检索方法。
另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,以使电子设备实现上述任一所述的特征提取模型的训练方法或者实现上述任一所述的图像检索方法。
另一方面,还提供了一种计算机程序产品,所述计算机程序产品中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,以使电子设备实现上述任一种特征提取模型的训练方法或者实现上述任一所述的图像检索方法。
本申请实施例提供的技术方案至少带来如下有益效果:
本申请实施例提供的技术方案是基于多个样本图像对中各张样本图像的图像特征、表征预测类别的第一类别特征和表征标注类别的第二类别特征,对神经网络模型进行调整,得到特征提取模型,实现了利用多个样本图像对中各张样本图像的预测类别和标注类别,来约束特征提取模型对图像特征的提取,提高特征提取模型的准确性,从而提高了利用特征提取模型提取的图像特征的准确性,进而提高了图像检索结果的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种特征提取模型的训练方法或图像检索方法的实施环境示意图;
图2是本申请实施例提供的一种特征提取模型的训练方法的流程图;
图3是本申请实施例提供的一种图像检索方法的流程图;
图4是本申请实施例提供的一种特征提取模型的训练方法的示意图;
图5是本申请实施例提供的一种图像检索方法的示意图;
图6是本申请实施例提供的一种特征提取模型的训练装置的结构示意图;
图7是本申请实施例提供的一种图像检索装置的结构示意图;
图8是本申请实施例提供的一种终端设备的结构示意图;
图9是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种特征提取模型的训练方法或图像检索方法的实施环境示意图,如图1所示,该实施环境包括终端设备101和服务器102。其中,本申请实施例中的特征提取模型的训练方法或图像检索方法可以由终端设备101执行,也可以由服务器102执行,或者由终端设备101和服务器102共同执行。
终端设备101可以是智能手机、游戏主机、台式计算机、平板电脑、膝上型便携计算机、智能电视、智能车载设备、智能语音交互设备、智能家电等。服务器102可以为一台服务器,或者为多台服务器组成的服务器集群,或者为云计算平台和虚拟化中心中的任意一种,本申请实施例对此不加以限定。服务器102可以与终端设备101通过有线网络或无线网络进行通信连接。服务器102可以具有数据处理、数据存储以及数据收发等功能,在本申请实施例中不加以限定。终端设备101和服务器102的数量不受限制,可以是一个或多个。
本申请实施例的特征提取模型的训练方法或图像检索方法是基于人工智能(Artificial Intelligence,AI)技术实现的。人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、光学字符识别(Optical Character Recognition,OCR)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、三维(3-Dimension,3D)技术、虚拟现实、增强现实、地图构建、自动驾驶、智慧交通等技术。
基于上述实施环境,本申请实施例提供了一种特征提取模型的训练方法,以图2所示的本申请实施例提供的一种特征提取模型的训练方法的流程图为例,该方法可由图1中的终端设备101或者服务器102执行,也可以由终端设备101和服务器102共同执行。为便于描述,将执行本申请实施例中的特征提取模型的训练方法的终端设备101或者服务器102称为电子设备,该方法可以由电子设备来执行。如图2所示,该方法包括步骤201-步骤205。
步骤201,获取多个样本图像对和多个样本图像对中各张样本图像的标注类别,样本图像对包括两张相似的样本图像。
本申请实施例中,可以获取多个样本图像对,任一个样本图像对包括两张相似的样本图像。可选地,从视频库包含的任一个视频中随机抽取两帧图像,若这两帧图像相似,则将这两帧图像作为一个样本图像对。其中,本申请实施例不对两帧图像相似的确定方式做限定,示例性的,人工对两帧图像是否相似进行标注,若人工标注相似,则确定两帧图像相似,若人工标注不相似,则确定两帧图像不相似。或者,先根据每一帧图像的像素信息确定每一帧图像的图像特征,再根据两帧图像的图像特征计算两帧图像之间的距离。若两帧图像之间的距离小于距离阈值,则标注两帧图像相似,若两帧图像之间的距离不小于距离阈值,则标注两帧图像不相似。其中,距离阈值可以根据经验、历史实验数据等确定,且距离阈值的数值在此不做限定。
对于任一个样本图像对,需要确定该任一个样本图像对中各张样本图像的标注类别。其中,任一张样本图像对应至少一个标注类别,任一个标注类别用于表征该任一张样本图像所属的一个分类类别。本申请实施例不对任一个标注类别的类别内容做限定,示例性的,任一个标注类别是图像识别数据库(如ImageNet、Open Image)中的分类类别。
可选地,可以人工确定任一个样本图像对中各张样本图像的标注类别,也可以利用分类模型确定任一个样本图像对中各张样本图像的标注类别。其中,可以利用训练图像集对初始模型(如ResNet101网络模型)进行训练得到分类模型,或者,直接获取线上应用的分类模型,本申请实施例不对训练图像集的获取方式做限定。示例性的,训练图像集包括从图像识别数据库(如ImageNet、Open Image)中获取的多张图像。利用分类模型确定任一个样本图像对中各张样本图像的预测结果。任一张样本图像的预测结果是任一张样本图像属于各个分类类别的概率,若任一张样本图像属于任一个分类类别的概率大于分类阈值,则任一个分类类别作为任一张样本图像的一个标注类别;若任一张样本图像属于任一个分类类别的概率不大于分类阈值,则任一个分类类别不是任一张样本图像的一个标注类别。其中,分类阈值可以根据实际情况进行调整,可选地,分类阈值为0.5。
步骤202,根据神经网络模型获取多个样本图像对中各张样本图像的图像特征。
本申请实施例中,将多个样本图像对输入神经网络模型,由神经网络模型确定并输出多个样本图像对中各张样本图像的图像特征。可选地,每一轮训练,将多个样本图像对分为多个批次(Batch)输入神经网络模型。例如,每一轮训练,将N个样本图像对分别为N/bs个批次,每个批次包含bs个样本图像对。也就是说,每次将bs个样本图像对输入神经网络模型,由神经网络模型确定并输出bs个样本图像对中各张样本图像的图像特征,共输入N/bs次。其中,N、bs和N/bs均为正整数。本申请实施例中,需要对神经网络模型进行多轮(如epoch轮,epoch为正整数)训练,得到特征提取模型。
本申请实施例不对神经网络模型的结构、大小等做限定。示例性的,神经网络模型包括深度网络层和哈希网络层。其中,本申请实施例不对深度网络层做限定,示例性的,深度网络层为ResNet101网络模型或者Swin-Transformer网络模型。请参见表1,表1示出了ResNet101网络模型的模型结构。
表1
其中,ResNet101网络模型包括五个卷积网络层和一个池化层,这五个卷积网络层的网络层名称分别为Conv1、Conv2_x、Conv3_x、Conv4_x和Conv5_x。Conv1的输出尺寸为300×500,其网络层结构为64维的、步长为2的7×7卷积网络。Conv2_x的输出尺寸为150×250,其网络层结构包括步长为2的3×3最大池化层以及3个块,每一个块包括64维的1×1卷积网络、64维的3×3卷积网络以及256维的1×1卷积网络。Conv3_x的输出尺寸为76×126,其网络层结构包括4个块,每一个块包括128维的1×1卷积网络、128维的3×3卷积网络以及512维的1×1卷积网络。Conv4_x的输出尺寸为38×63,其网络层结构包括23个块,每一个块包括256维的1×1卷积网络、256维的3×3卷积网络以及1024维的1×1卷积网络。Conv5_x的输出尺寸为19×32,其网络层结构包括3个块,每一个块包括512维的1×1卷积网络、512维的3×3卷积网络以及2048维的1×1卷积网络。池化层的输出尺寸为1×2048,其网络层结构为一个最大池化层的网络结构。
可选地,ResNet101网络模型可以仅包括五个卷积网络层,在这五个卷积网络层之后添加池化层,得到深度网络层。其中,可以从图像识别数据库(如ImageNet、Open Image)中采样得到多张图像,利用多张图像对这五个卷积网络层进行预训练,得到初始化的五个卷积网络层。采用方差为0.01、均值为0的高斯分布对池化层进行初始化,得到初始化的池化层。在初始化的五个卷积网络层之后添加初始化的池化层,得到初始的深度网络层。
本申请实施例不对哈希网络层做限定,示例性的,请参见表2,表2示出了哈希网络层的模型结构。
表2
如表2所示,哈希网络层的输出尺寸为1×Nh,其网络层结构为全连接层的网络结构。其中,Nh为正整数,本申请实施例不对Nh的具体数值做限定,示例性的,Nh为256。可选地,采用方差为0.01、均值为0的随机正态分布对哈希网络层进行初始化,哈希网络层的输出是1×Nh的矩阵,矩阵中的每一个数据为浮点数。
本申请实施例中,将多个样本图像对输入神经网络模型之后,对于多个样本图像对中任一张样本图像,深度网络层确定并输出该任一张样本图像的深度特征,该任一张样本图像的深度特征用于描述该任一张样本图像的纹理,该任一张样本图像的深度特征为1×2048的矩阵。哈希网络层可以对该任一张样本图像的深度特征进行转化处理,将1×2048的矩阵转化为1×Nh的矩阵(矩阵中的数据为浮点数),得到该任一张样本图像的哈希特征,该任一张样本图像的哈希特征可以作为该任一张样本图像的图像特征。
可选地,可以将该任一张样本图像的深度特征输入编码层(如Embedding层),通过编码层对该任一张样本图像的深度特征进行降维处理,得到该任一张样本图像的降维处理后的深度特征。将该任一张样本图像的降维处理后的深度特征输入哈希网络层,得到该任一张样本图像的哈希特征。
步骤203,基于多个样本图像对中各张样本图像的图像特征,确定多个样本图像对中各张样本图像的第一类别特征,样本图像的第一类别特征用于表征预测的样本图像的类别。
本申请实施例中,可以将多个样本图像对中各张样本图像的图像特征输入分类层,由分类层确定并输出多个样本图像对中各张样本图像的第一类别特征。请参见表3,表3示出了分类层的模型结构。
表3
如表3所示,分类层的输出尺寸为1×Nh,其网络层结构为全连接层的网络结构。也就是说,分类层的输出尺寸与哈希层的输出尺寸一致。可选地,分类层的输出尺寸也可以与哈希层的输出尺寸不一致,可以采用方差为0.01、均值为0的随机正态分布对哈希网络层进行初始化。
本申请实施例中,样本图像的第一类别特征为1×Nh的矩阵,矩阵中的任一个数据为浮点数。通过样本图像的第一类别特征来表征预测的样本图像的类别(即样本图像的预测类别),预测的样本图像的类别为至少一个。
步骤204,基于多个样本图像对中各张样本图像的标注类别,确定多个样本图像对中各张样本图像的第二类别特征,样本图像的第二类别特征用于表征标注的样本图像的类别。
本申请实施中,对于多个样本图像对中的任一张样本图像,基于该任一张样本图像的标注类别确定该任一张样本图像的第二类别特征。该任一张样本图像的第二类别特征为1×Nh的矩阵,矩阵中的任一个数据为整数(如0或者1)。通过样本图像的第二类别特征来表征标注的样本图像的类别(即样本图像的标注类别),标注的样本图像的类别为至少一个。
可选地,样本图像的标注类别为至少一个,所述基于多个样本图像对中各张样本图像的标注类别,确定多个样本图像对中各张样本图像的第二类别特征,包括:对于多个样本图像对中各张样本图像的任一个标注类别,从多个候选类别中确定与任一个标注类别相同的候选类别,将与任一个标注类别相同的候选类别的类别特征确定为任一个标注类别的类别特征;对于多个样本图像对中的任一张样本图像,基于任一张样本图像的至少一个标注类别的类别特征,确定任一张样本图像的第二类别特征。
本申请实施例中,可以确定多个候选类别各自的类别特征。对于多个样本图像对中的任一张样本图像,通过将该任一张样本图像的各个标注类别分别与多个候选类别进行是否相同的比对,得到各个标注类别的比对结果,通过各个标注类别的比对结果确定该任一张样本图像的第二类别特征。
可选地,将与任一个标注类别相同的候选类别的类别特征确定为任一个标注类别的类别特征之前,还包括:根据多个样本图像对中各张样本图像的标注类别,确定共现矩阵,共现矩阵中的任一个数据表征任一个数据所在行对应的候选类别与任一个数据所在列对应的候选类别共同出现的概率或者次数,一个标注类别是一个候选类别;基于阿达马矩阵和共现矩阵,确定各个候选类别的类别特征,阿达马矩阵的阶数大于候选类别的数量。
本申请实施例中,可以对多个样本图像对中各张样本图像的标注类别进行统计处理,得到共现矩阵。共现矩阵为一个N行N列的矩阵,共现矩阵的各行对应各个候选类别,且共现矩阵的各列对应各个候选类别,N为正整数。其中,任一个候选类别为一个标注类别。也就是说,利用多个样本图像对中的各张样本图像组成一个样本图像集合,该样本图像集合共包括N个标注类别,每一个标注类别为一个候选类别。
可选地,共现矩阵中的任一个数据可以为一个字符(如0、空字符、特殊字符等)或者正整数,此时,共现矩阵中的任一个数据表征任一个数据所在行对应的候选类别与任一个数据所在列对应的候选类别共同出现的次数。其中,若共现矩阵中的任一个数据为一个字符,则表明该任一个数据所在行对应的候选类别与该任一个数据所在列对应的候选类别未共同出现过。若共现矩阵中的任一个数据为一个正整数,则表明该任一个数据所在行对应的候选类别与该任一个数据所在列对应的候选类别共同出现过,且共同出现的次数为这个正整数。
可选地,共现矩阵中的任一个数据可以为一个概率值,该概率值大于等于0且小于等于1,此时,共现矩阵中的任一个数据表征任一个数据所在行对应的候选类别与任一个数据所在列对应的候选类别共同出现的概率。
在一种可能的实现方式中,样本图像的标注类别为至少两个,根据多个样本图像对中各张样本图像的标注类别,确定共现矩阵,包括:获取初始化矩阵,初始化矩阵的各行对应各个候选类别,且初始化矩阵的各列对应各个候选类别;对于多个样本图像对中的任一张样本图像,根据任一张样本图像的至少两个标注类别,在目标行和目标列的交叉位置处添加非零数据,目标行是初始化矩阵中与任一张样本图像的一个标注类别相同的候选类别所对应的行,目标列是初始化矩阵中与任一张样本图像的除一个标注类别之外的其他标注类别相同的候选类别所对应的列;将初始化矩阵中各行和各列的交叉位置处的非零数据进行累加,得到共现矩阵。
本申请实施例中,获取一个初始化矩阵,该初始化矩阵为一个N行N列的矩阵。其中,初始化矩阵中的任一个数据为一个字符,该字符可以是0或者空字符或者特殊字符。本申请实施例不对特殊字符做限定,示例性的,特殊字符为@、¥等字符。可选地,可以利用一个符号(记为类别数量符号,如N1)来记录标注类别的总数量,且初始化该类别数量符号等于0,即N1=0。
对于多个样本图像对中的任一张样本图像,利用该任一张样本图像的至少两个标注类别,更新初始化矩阵。可选地,根据任一张样本图像的至少两个标注类别,在目标行和目标列的交叉位置处添加非零数据,该非零数据可以为1。其中,目标行是初始化矩阵中与任一张样本图像的一个标注类别相同的候选类别所对应的行,目标列是初始化矩阵中与任一张样本图像的除一个标注类别之外的其他标注类别相同的候选类别所对应的列。通过这种方式,利用多个样本图像对中各张样本图像各自的至少两个标注类别,更新初始化矩阵。将初始化矩阵中各行和各列的交叉位置处的非零数据进行累加,得到共现矩阵。可选地,在利用每一张样本图像的至少两个标注类别更新初始化矩阵的过程中,就将初始化矩阵中各行和各列的交叉位置处的非零数据进行累加。
例如,任一张样本图像对应标注类别1-3,初始化矩阵的第一行、第一列均对应候选类别1,初始化矩阵的第二行、第二列均对应候选类别2,初始化矩阵的第三行、第三列均对应候选类别3,且候选类别1-3分别为标注类别1-3。则对于该任一张样本图像的标注类别1,目标行是初始化矩阵的第一行,目标列包括初始化矩阵的第二列和第三列,在初始化矩阵的第一行和第二列的交叉位置处加1(表征候选类别1和候选类别2又共同出现了一次),在初始化矩阵的第一行和第三列的交叉位置处也加1(表征候选类别1和候选类别3又共同出现了一次)。对于该任一张样本图像的标注类别2,目标行是初始化矩阵的第二行,目标列包括初始化矩阵的第一列和第三列,在初始化矩阵的第二行和第一列的交叉位置处加1(表征候选类别2和候选类别1又共同出现了一次),在初始化矩阵的第二行和第三列的交叉位置处也加1(表征候选类别2和候选类别3又共同出现了一次)。对于该任一张样本图像的标注类别3,目标行是初始化矩阵的第三行,目标列包括初始化矩阵的第一列和第二列,在初始化矩阵的第三行和第一列的交叉位置处加1(表征候选类别3和候选类别1又共同出现了一次),在初始化矩阵的第三行和第二列的交叉位置处也加1(表征候选类别3和候选类别2又共同出现了一次)。
可选地,可以根据各张样本图像的至少两个标注类别,对类别数量符号进行更新。如任一张样本图像对应标注类别1-3,则更新类别数量符号N1=N1+3,表征经过对任一张样本图像的统计,标注类别的总数量多了3个。
本申请实施例中,利用各张样本图像各自的至少两个标注类别更新初始化矩阵,并将初始化矩阵中各行和各列的交叉位置处的非零数据进行累加后,得到更新后的初始化矩阵。该更新后的初始化矩阵可以作为共现矩阵,此时,共现矩阵中的任一个数据表征任一个数据所在行对应的候选类别与任一个数据所在列对应的候选类别共同出现的次数。也可以将更新后的初始化矩阵中的每一个数据除以类别数量符号后,得到归一化后的初始化矩阵,该归一化后的初始化矩阵作为共现矩阵,此时,共现矩阵中的任一个数据表征任一个数据所在行对应的候选类别与任一个数据所在列对应的候选类别共同出现的概率。
在得到共现矩阵的同时或者之前或者之后,可以初始化一个阿达马(Hadamard)矩阵,以利用阿达马矩阵和共现矩阵来确定各个候选类别的类别特征,其中,任一个候选类别的类别特征可以为阿达马矩阵的一行数据或者一列数据。一个n阶的阿达马矩阵为含n×n个数据的对称矩阵,对于第一行之外的每一行,有一半数据为+1,另一半数据为-1,且各行数据的排列方式不重复,且对于第一列之外的每一列,有一半数据为+1,另一半数据为-1,且各列数据的排列方式也不重复,n为正整数。将n阶的阿达马矩阵记为H,则2n阶的阿达马矩阵为。
例如,2阶的阿达马矩阵为,则4阶的阿达马矩阵为。由2阶和4阶的阿达马矩阵可知,阿达马矩阵的每一个数据为1或者-1。第一行的各个数据均为1,对于第二至四行中的每一行,一半数据为1,另一半数据为-1。第一列的各个数据均为1,对于第二至四列中的每一列,一半数据为1,另一半数据为-1。阿达马矩阵为对称矩阵,该对称矩阵对角线上数据的和(即对称矩阵的迹)为0。
其中,对于阿达马矩阵的任一个数据,若该数据为1,则该数据所在的位置(即特征位)称为激活位,若该数据为-1,则该数据所在的位置称为未激活位。
本申请实施例中,初始化的阿达马矩阵的阶数(即行数和列数)记为n,n需要满足:,且n>N。其中,任一张样本图像的图像特征为1×Nh的矩阵(即任一张样本图像的图像特征的长度为Nh),共现矩阵为一个N行N列的矩阵(N为候选类别的数量),n、Nh、和N均为正整数。由于任一个候选类别的类别特征为阿达马矩阵的一行数据或者一列数据,因此,阿达马矩阵的阶数大于候选类别的数量。由于样本图像的图像特征需要表征整张样本图像,而任一个候选类别的类别特征是样本图像的一种高度抽象表示,因此,阿达马矩阵的阶数应该小于或者等于样本图像的图像特征的长度Nh。又由于样本图像的图像特征除包含用于分类的图像特征之外,还需要包含样本图像特有的信息,样本图像特有的信息用于区分相同分类的不同图像,因此,且,利用的特征位来表征样本图像特有的信息。
在一种可能的实现方式中,基于阿达马矩阵和共现矩阵,确定各个候选类别的类别特征,包括:从未确定类别特征的候选类别中随机选择第一候选类别;从阿达马矩阵中随机选择未被使用过的一行数据,作为第一候选类别的类别特征;根据第一候选类别的类别特征和阿达马矩阵,确定共现矩阵中第一候选类别对应的行中各个非零数据所在列所对应的候选类别的类别特征;若存在未确定类别特征的候选类别,则从从未确定类别特征的候选类别中随机选择第一候选类别开始循环,直至不存在未确定类别特征的候选类别。
本申请实施例中,从未确定类别特征的候选类别中随机选择一个候选类别,随机选择的这个候选类别作为第一候选类别。从阿达马矩阵中随机选择未被使用过的、除第一行数据之外的一行数据,作为第一候选类别的类别特征。其中,选择除第一行数据之外的一行数据,是由于阿达马矩阵的第一行数据全为1,即阿达马矩阵的第一行数据所在的位置全为激活位,并非一半为激活位,另一半为未激活位。第一行数据所在的位置全为激活位,导致没有留给其他候选类别去表征的未激活位,不利于表征样本图像的至少一个类别,因此,选择除第一行数据之外的一行数据。
之后,根据第一候选类别的类别特征和阿达马矩阵,确定共现矩阵中第一候选类别对应的行中各个非零数据所在列所对应的候选类别的类别特征。若存在未确定类别特征的候选类别,则从“从未确定类别特征的候选类别中随机选择第一候选类别”开始执行循环,直至不存在未确定类别特征的候选类别。
可选地,根据第一候选类别的类别特征和阿达马矩阵,确定共现矩阵中第一候选类别对应的行中各个非零数据所在列所对应的候选类别的类别特征,包括:基于共现矩阵中第一候选类别对应的行中的各个非零数据,确定最大非零数据所在列所对应的且未确定类别特征的第二候选类别;从阿达马矩阵中确定与第一候选标签的类别特征最接近且未被使用过的一行数据,作为第二候选类别的类别特征;若共现矩阵中第一候选类别对应的行中存在未确定类别特征的且为非零数据所在列所对应的候选类别,则从基于共现矩阵中第一候选类别对应的行中的各个非零数据,确定非零数据最大的且未确定类别特征的第二候选类别开始循环,直至共现矩阵中第一候选类别对应的行中不存在未确定类别特征的且为非零数据所在列所对应的候选类别。
本申请实施例中,基于共现矩阵中第一候选类别对应的行中的各个非零数据,确定最大非零数据所在列对应的且未确定类别特征的一个候选类别,将这个候选类别作为第二候选类别。
从阿达马矩阵中确定与第一候选标签的类别特征最接近且未被使用过的一行数据,作为第二候选类别的类别特征。其中,这里的最接近指的是激活位最接近。
例如,第一候选标签的类别特征为[1,-1,1,1,-1,-1],第一候选标签的类别特征的激活位分别为第1、3、4位,阿达马矩阵中存在两个未被使用过的一行数据,分别为[1,1,-1,1,-1,-1]和[1,1,-1,-1,1,-1]。由于第一候选标签的类别特征[1,-1,1,1,-1,-1]的激活位分别为第1、3、4位,而[1,1,-1,1,-1,-1]的激活位分别为第1、2、4位(激活位相差一位),[1,1,-1,-1,1,-1]的激活位分别为第1、2、5位(激活位相差两位)。因此,[1,1,-1,1,-1,-1]为第二候选类别的类别特征。
若共现矩阵中第一候选类别对应的行中存在未确定类别特征的且为非零数据所在列所对应的候选类别,则从“基于共现矩阵中第一候选类别对应的行中的各个非零数据,确定最大非零数据所在列所对应的且未确定类别特征的第二候选类别”开始执行循环,直至共现矩阵中第一候选类别对应的行中不存在未确定类别特征的且为非零数据所在列所对应的候选类别为止。
通过上述方式,可以确定共现矩阵中第一候选类别对应的行中各个非零数据所在列所对应的候选类别的类别特征。
可选地,在确定共现矩阵中第一候选类别对应的行中各个非零数据所在列所对应的候选类别的类别特征之后,将第一候选类别对应的行中各个非零数据按照从大到小的顺序进行排列,得到第一候选类别对应的排列后的各个非零数据。对于第一候选类别对应的排列后的任一个非零数据,该任一个非零数据所在行对应的候选类别的类别特征是已确定的,此时,该任一个非零数据所在行对应的候选类别可以作为第三候选类别。
本申请实施例中,从第一候选类别对应的排列后的第一个非零数据开始,依次执行“将非零数据所在行对应的候选类别作为第三候选类别,根据第三候选类别的类别特征和阿达马矩阵,确定共现矩阵中第三候选类别对应的行中各个非零数据所在列所对应的候选类别的类别特征”,直至第一候选类别对应的排列后的最后一个非零数据为止。之后,若存在未确定类别特征的候选类别,则从“从未确定类别特征的候选类别中随机选择第一候选类别”开始循环,直至不存在未确定类别特征的候选类别。
其中,“根据第三候选类别的类别特征和阿达马矩阵,确定共现矩阵中第三候选类别对应的行中各个非零数据所在列所对应的候选类别的类别特征”的确定方式与“根据第一候选类别的类别特征和阿达马矩阵,确定共现矩阵中所述第一候选类别对应的行中各个非零数据所在列所对应的候选类别的类别特征”的确定方式相类似,在此不再赘述。
通过上述方式,可以确定多个候选类别各自的类别特征。任一个候选类别的类别特征中一半为激活位,另一半为未激活位。与单激活位相比,本申请实施例可以更好的利用所有特征位,避免大量的冗余特征位,提升特征的表征能力。即使样本图像对有偏,通过样本图像对训练得到的特征提取模型依然能够很好的提取图像特征,提高了模型对样本图像域之外的图像的表征能力。如利用独热(One-Hot)编码来确定候选类别的类别特征,该类别特征中仅包含一个激活位(仅有一个特征位为1,其余特征位均为0),存在大量的冗余特征位。
上述方式是将阿达马矩阵的一行数据(第一行数据除外)作为一个候选类别的类别特征,在应用时,还可以将阿达玛矩阵的一列数据(第一列数据除外)作为一个候选类别的类别特征,由于二者实现原理类似,故在此不再赘述。
接下来,对于多个样本图像对中的任一张样本图像,将该任一张样本图像的各个标注类别分别与多个候选类别进行是否相同的比对,得到各个标注类别的比对结果。
其中,对于该任一张样本图像的任一个标注类别,通过该任一个标注类别的比对结果,可以从多个候选类别中确定与任一个标注类别相同的候选类别,将与任一个标注类别相同的候选类别的类别特征确定为该任一个标注类别的类别特征。通过这种方式,可以确定该任一张样本图像的各个标注类别的类别特征。
若该任一张样本图像对应一个标注类别,则将该任一张样本图像的这个标注类别的类别特征,确定为任一张样本图像的第二类别特征。例如,样本图像A对应标注类别1,且标注类别1的类别特征为[1,-1,1,1,-1,-1],则样本图像A的第二类别特征为[1,-1,1,1,-1,-1]。
若该任一张样本图像对应至少两个标注类别,则将该任一张样本图像的各个标注类别的类别特征进行融合,得到任一张样本图像的第二类别特征,此外,还可以确定任一张样本图像的第二类别特征中各个激活位的权重。例如,样本图像B对应标注类别1和2,且标注类别1的类别特征为[1,-1,1,1,-1,-1](第1、3、4位为激活位),标注类别2的类别特征为[1,1,-1,1,-1,-1](第1、2、4位为激活位),则将标注类别1的类别特征和标注类别2的类别特征进行融合,得到样本图像B的第二类别特征[1,1,1,1,-1,-1](第1、2、3、4位为激活位)。同时,确定激活位1、2、3、4各自的权重依次为2、1、1、2,表征激活位1被激活了2次,激活位2被激活了1次,激活位3被激活了1次,激活位4被激活了2次。因此,对于样本图像B来说,样本图像B的第二类别特征中,激活位1和激活位4较为重要,用于从多个候选标签中定位出标注类别1、标注类别2以及对应激活位1、4的候选标签,激活位2和激活位3作为辅助信息,用于准确定位出具体类别(准确定位出标注类别1或者标注类别2)。
步骤205,基于多个样本图像对中各张样本图像的图像特征、第一类别特征和第二类别特征,对神经网络模型进行调整,得到特征提取模型。
本申请实施例中,基于多个样本图像对中各张样本图像的图像特征、多个样本图像对中各张样本图像的第一类别特征和多个样本图像对中各张样本图像的第二类别特征,确定神经网络模型的损失值。基于神经网络模型的损失值对神经网络模型进行调整,得到调整后的神经网络模型。若满足训练结束条件(如训练次数为目标次数,或者神经网络模型的损失值在目标范围内),则将调整后的神经网络模型作为特征提取模型。若不满足训练结束条件,则按照步骤201至步骤205的方式,再次对调整后的神经网络模型进行调整,直至满足训练结束条件,得到特征提取模型为止。
在一种可能的实现方式中,基于多个样本图像对中各张样本图像的图像特征、第一类别特征和第二类别特征,对神经网络模型进行调整,得到特征提取模型,包括:对于任一个样本图像对,基于任一个样本图像对中至少一张样本图像的图像特征,确定任一个样本图像对的第一损失值;确定任一个样本图像对的三元组图像,任一个样本图像对的三元组图像包括任一个样本图像对和目标样本图像对中的一张样本图像,目标样本图像对是多个样本图像对中除任一个样本图像对之外且满足距离条件的样本图像对;基于任一个样本图像对的三元组图像中各张样本图像的图像特征,确定任一个样本图像对的第二损失值;基于多个样本图像对中各张样本图像的第一类别特征、第二类别特征和多个样本图像对的第一损失值、第二损失值,对神经网络模型进行调整,得到特征提取模型。
本申请实施例中,对于任一个样本图像对,可以利用该样本图像对中任一张样本图像的图像特征或者该样本图像对中两张样本图像的图像特征,确定该样本图像对的第一损失值。
可选地,基于任一个样本图像对中至少一张样本图像的图像特征,确定任一个样本图像对的第一损失值,包括:对任一个样本图像对中至少一张样本图像的图像特征进行二值化处理,得到任一个样本图像对中至少一张样本图像的二值图像特征;基于任一个样本图像对中至少一张样本图像的图像特征和二值图像特征,确定第一损失值。
本申请实施例中,对任一个样本图像对中至少一张样本图像的图像特征进行二值化处理,以将图像特征的浮点数据转化为二值数据,得到任一个样本图像对中至少一张样本图像的二值图像特征。可选地,对于任一个样本图像对中的任一张样本图像,按照如下所示的公式(1),对该样本图像的图像特征进行二值化处理,得到该样本图像的二值图像特征。
接下来,基于任一个样本图像对中至少一张样本图像的图像特征和任一个样本图像对中至少一张样本图像的二值图像特征,确定第一损失值。可选地,可以按照如下所示的公式(2),基于任一个样本图像对中一张样本图像的图像特征和任一个样本图像对中这张样本图像的二值图像特征,确定任一个样本图像对的第一损失值。其中,公式(2)为交叉熵损失函数的公式。
其中,为任一个样本图像对的第一损失值,为任一个样本图像对中一张样本图像的二值图像特征中的第个数据,为任一个样本图像对中一张样本图像的图像特征中的第个数据,Σ为求和符号,为图像特征、二值图像特征的长度。
其中,基于任一个样本图像对中两张样本图像的图像特征和任一个样本图像对中两张样本图像的二值图像特征,确定任一个样本图像对的第一损失值的方式,与公式(2)相类似,在此不再赘述。通过第一损失值调整神经网络模型,可以使图像特征的每一个数据均接近二值(比如1或者-1),从而得到准确的图像特征。
可选地,确定任一个样本图像对的三元组图像,包括:确定任一个样本图像对中的一张样本图像分别和各个其他样本图像对中的一张样本图像之间的第一距离信息,各个其他样本图像对是多个样本图像对中除任一个样本图像对之外的各个样本图像对;从各个其他样本图像对中确定第一距离信息小于第一参考距离信息的目标样本图像对;基于目标样本图像对中的一张样本图像和任一个样本图像对,确定任一个样本图像对的三元组图像。
本申请实施例中,可以基于所有的样本图像对,确定每一个样本图像对的三元组图像。也可以基于一个批次内所有的样本图像对,确定每一个样本图像对的三元组图像。二者确定样本图像对的三元组图像的原理相类似,下面以基于一个批次内所有的样本图像对,确定每一个样本图像对的三元组图像为例,进行说明。
对于一个批次,获取任一个样本图像对中一张样本图像的目标特征和各个其他样本图像对中一张样本图像的目标特征,这里的目标特征可以是图像特征,也可以是深度特征,还可以是降维处理后的深度特征。利用任一个样本图像对中一张样本图像的目标特征和任一个其他样本图像对中一张样本图像的目标特征,确定任一个样本图像对中的一张样本图像和任一个其他样本图像对中的一张样本图像之间的第一距离信息。由于样本图像对包括两张相似的样本图像,因此,“任一个样本图像对中的一张样本图像和任一个其他样本图像对中的一张样本图像之间的第一距离信息”相当于“任一个样本图像对和任一个其他样本图像对之间的第一距离信息”。通过这种方式,可以确定任一个样本图像对分别和各个其他样本图像对之间的第一距离信息。
接下来,从各个其他样本图像对中确定第一距离信息小于第一参考距离信息的目标样本图像对,从而确定出目标样本图像对中的一张样本图像。其中,可以将任一个样本图像对分别和各个其他样本图像对之间的第一距离信息按照从小到大的顺序进行排序,取第K(K为正整数)个或者第K%个第一距离信息作为第一参考距离信息,也可以将一个固定的数据作为第一参考距离信息。
在确定出目标样本图像对中的一张样本图像之后,基于任一个样本图像对和目标样本图像对中的一张样本图像,确定任一个样本图像对的三元组图像。其中,任一个样本图像对的三元组图像中,任一个样本图像对的两张样本图像作为正样本对,任一个样本图像对中的一张样本图像和目标样本图像对中的一张样本图像作为负样本对。
本申请实施例中,可以将任一个样本图像对的三元组图像记为APN,其中,A是任一个样本图像对中的一张样本图像,P是任一个样本图像对中的另一张样本图像,N是目标样本图像对中的一张样本图像。
需要说明的是,目标样本图像对是多个样本图像对中除任一个样本图像对之外且满足距离条件的样本图像对,即目标样本图像对是满足距离条件的其他样本图像对。其中,其他样本图像对“满足距离条件”指的是其他样本图像对中的一张样本图像和任一个样本图像对中的一张样本图像之间的第一距离信息满足小于第一参考距离信息。相应的,其他样本图像对“不满足距离条件”指的是该第一距离信息不满足小于第一参考距离信息,即该第一距离信息大于或者等于第一参考距离信息。
可选地,从各个其他样本图像对中确定第一距离信息小于第一参考距离信息的目标样本图像对,包括:从候选样本图像对中确定第一距离信息小于第一参考距离信息的目标样本图像对,候选样本图像对是各个其他样本图像对中第一距离信息不小于第二参考距离信息的其他样本图像对,第一参考距离信息大于第二参考距离信息。
本申请实施例中,在确定出任一个样本图像对分别和各个其他样本图像对之间的第一距离信息之后,可以先从各个其他样本图像对中去除第一距离信息小于第二参考距离信息的其他样本图像对,得到去除后的各个其他样本图像对,此时,去除后的各个其他样本图像对即为候选样本图像对。其中,可以将任一个样本图像对分别和各个其他样本图像对之间的第一距离信息按照从小到大的顺序进行排序,取第M%(M为正整数)个或者第M个第一距离信息作为第二参考距离信息,也可以将一个固定的数据作为第二参考距离信息。接下来,从去除后的各个其他样本图像对中确定第一距离信息小于第一参考距离信息的目标样本图像对。
例如,一个批次包含bs(正整数)个样本图像对,对于一个样本图像对,可以得到这个样本图像对中的一张样本图像分别和bs-1个其他样本图像对中的一张样本图像之间的第一距离信息,即得到这个样本图像对分别和bs-1个其他样本图像对之间的第一距离信息。将bs-1个第一距离信息按照从小到大的顺序进行排序,去除前3%个样本图像对,即去除前(2*bs-2)*0.03个样本图像对(如bs=64,则去除前4个样本图像对)之后,取前10个目标样本图像对中的一张样本图像,分别结合这个样本图像对,构成这个样本图像对的10个三元组图像。其中,每一个样本图像对均可以得到10个三元组图像,因此,对于这个批次,共构建10*bs个三元组图像。
其中,出于对噪声的考量,本申请实施例中去除了第一距离信息小于第二参考距离信息的其他样本图像对。由于对于相似的图像,特征提取模型应提取相似的图像特征,对于不相似的图像,特征提取模型应提取差异较大的图像特征。一般情况下,视频相同镜头下的前后帧图像属于相似的图像,原始图像和在原始图像的基础上进行色调变换后的图像也属于相似的图像,而大多数的两张图像是不相似的图像,因此,同一个批次中的两个样本图像对之间大概率是不相似的图像。通过去除第一距离信息小于第二参考距离信息的其他样本图像对,将与一个样本图像对可能相似的其他样本图像对去掉(即去掉噪声),利用与一个样本图像对不相似但距离较近(即难区分)的其他样本图像对中的一张样本图像,与一个样本图像对构建一个样本图像对的三元组图像,实现了利用难区分的样本图像训练特征提取模型,提高特征提取模型的准确性。
可选地,在确定出任一个样本图像对分别和各个其他样本图像对之间的第一距离信息之后,可以先从各个其他样本图像对中筛选出第一距离信息不小于第二参考距离信息的其他样本图像对,得到筛选出的各个其他样本图像对,此时,筛选出的各个其他样本图像对即为候选样本图像对。接下来,从筛选出的各个其他样本图像对中确定第一距离信息小于第一参考距离信息的目标样本图像对。其中,得到筛选出的各个其他样本图像对的实现原理与得到去除后的各个其他样本图像对的实现原理相类似,在此不再赘述。
可选地,可以根据一个批次内每两个样本图像对之间是否相似的关系,调整第二参考距离信息的大小。例如,统计一个批次内每两个样本图像对之间相似的数量,若数量越大,则第二参考距离信息越大,若数量越小,则第二参考距离信息越小。
在确定出任一个样本图像对的三元组图像之后,基于任一个样本图像对的三元组图像中各张样本图像的图像特征,确定任一个样本图像对的第二损失值。
可选地,基于任一个样本图像对的三元组图像中各张样本图像的图像特征,确定任一个样本图像对的第二损失值,包括:针对任一个样本图像对的三元组图像,基于任一个样本图像对中一张样本图像的图像特征和另一张样本图像的图像特征,确定任一个样本图像对中一张样本图像和另一张样本图像之间的第二距离信息,基于任一个样本图像对中一张样本图像的图像特征与目标样本图像对中的一张样本图像的图像特征,确定任一个样本图像对中一张样本图像与目标样本图像对中的一张样本图像之间的第三距离信息;基于第二距离信息和第三距离信息,确定任一个样本图像对的第二损失值。
请参见公式(3),公式(3)示出了任一个样本图像对的第二损失值的确定方式。其中,公式(3)为交叉熵损失函数的公式。
其中,表征任一个样本图像对的第二损失值,为最大值符号,为任一个样本图像对中一张样本图像的图像特征,为任一个样本图像对中另一张样本图像的图像特征,表征任一个样本图像对中一张样本图像和另一张样本图像之间的第二距离信息。为目标样本图像对中的一张样本图像的图像特征,为任一个样本图像对中一张样本图像与目标样本图像对中的一张样本图像之间的第三距离信息。为参考距离差。
由于图像特征的长度为,图像特征的每一个数据需要接近二值,且三元组图像中A(任一个样本图像对中一张样本图像)和N(目标样本图像对中的一张样本图像)之间的第三距离信息需要大于参考距离差,才能保证三元组图像在图像特征空间上可区分,因此,参考距离差需要设置为较大的数值。本申请实施例不对的取值做限定,示例性的,。
之后,基于多个样本图像对中各张样本图像的第一类别特征、第二类别特征和多个样本图像对的第一损失值、第二损失值,确定神经网络模型的损失值,以利用神经网络模型的损失值对神经网络模型进行调整,得到特征提取模型。
可选地,基于多个样本图像对中各张样本图像的第一类别特征、第二类别特征和多个样本图像对的第一损失值、第二损失值,对神经网络模型进行调整,得到特征提取模型,包括:基于多个样本图像对中各张样本图像的第一类别特征和第二类别特征,确定类别特征损失值;基于多个样本图像对的第一损失值和第二损失值,确定图像特征损失值;基于类别特征损失值和图像特征损失值,对所述神经网络模型进行调整,得到特征提取模型。
本申请实施例中,对于一个样本图像对中的每一张样本图像,按照如下所示的公式(4),基于该样本图像的第一类别特征和该样本图像的第二类别特征,确定该样本图像的类别特征损失值。其中,公式(4)为交叉熵损失函数的公式。
其中,表征一个样本图像对中任一张样本图像的类别特征损失值,表征该样本图像的第二类别特征,表征该样本图像的第一类别特征。其中,由于样本图像的第二类别特征是由1和-1组成的矩阵,因此,可以将样本图像的第二类别特征中的-1替换为0,利用样本图像的第一类别特征和替换后的样本图像的第二类别特征,确定样本图像的类别特征损失值。
按照上述方式,可以确定任一个样本图像对中各张样本图像的类别特征损失值,基于任一个样本图像对中各张样本图像的类别特征损失值,确定任一个样本图像对所对应的类别特征损失值。基于多个样本图像对各自所对应的类别特征损失值,确定多个样本图像对所对应的类别特征损失值。
对于任一个样本图像对,按照如下所示的公式(5),基于该样本图像对的第一损失值和该样本图像对的第二损失值,确定该样本图像对的图像特征损失值。
本申请实施例不对第二损失值的权重系数、第一损失值的权重系数做限定。由于第一损失值对应的损失函数比第二损失值对应的损失函数收敛快,为了保证在训练过程中第二损失值对应的损失函数处于主导地位,是模型始终具有图像相似度的度量能力,因此,第二损失值的权重系数应大于第一损失值的权重系数。可选地,第二损失值的权重系数为1,第一损失值的权重系数为0.5。
按照上述方式,可以确定任一个样本图像对中各张样本图像的图像特征损失值,基于任一个样本图像对中各张样本图像的图像特征损失值,确定任一个样本图像对所对应的图像特征损失值。基于多个样本图像对各自所对应的图像特征损失值,确定多个样本图像对所对应的图像特征损失值。
在确定了多个样本图像对所对应的类别特征损失值和多个样本图像对所对应的图像特征损失值之后,可以基于多个样本图像对所对应的类别特征损失值和多个样本图像对所对应的图像特征损失值,确定神经网络模型的损失值。基于神经网络模型的损失值,对神经网络模型进行调整,得到特征提取模型。
可选地,在确定了任一个样本图像对中各张样本图像的类别特征损失值和任一个样本图像对的图像特征损失值之后,可以按照如下所示的公式(6),确定任一个样本图像对的总损失值。
其中,表征任一个样本图像对的总损失值,为类别特征损失值的权重系数,为任一个样本图像对中第张样本图像的第二类别特征中每一个激活位被激活的次数。为任一个样本图像对中第张样本图像的类别特征损失值。为图像特征损失值的权重系数,为任一个样本图像对的第个三元组图像对应的图像特征损失值。
其中,本申请实施例不对的取值做限定。其中,图像特征损失值对应的损失函数收敛慢,这是由于图像特征损失值是基于第二距离信息和第三距离信息确定的,而第二距离信息是基于三元组图像中两张相似的样本图像的图像特征确定的,第三距离信息是基于三元组图像中两张不相似的样本图像的图像特征确定的。因此,与基于图像特征确定第一类别特征相比,在两张图像上寻找相似或者不相似的部位要更难,故可以提高图像特征损失值对应的损失函数(即语义学习)的收敛速度,避免因图像特征的表征不当而造成语义相关的图像漏召回,也就是说,可以提高图像特征损失值的权重系数。为避免语义收敛过快,影响第一类别特征的表征,可以利用类别特征损失值的权重系数来约束图像特征损失值的权重系数。可选地,类别特征损失值的权重系数为图像特征损失值的权重系数的1/9,即。示例性的,。
其中,由于任一个候选类别的类别特征是阿达马矩阵中除第一行之外的任一行数据(或者除第一列之外的任一列数据),因此,任一个候选类别的类别特征具有均匀的激活位和未激活位,也就是说,任一个候选类别的类别特征是均匀分布的。通过,可以约束图像特征在分布上也倾向于均匀分布,避免图像特征产生特征冗余,能有效的利用图像特征的每一个特征位来表达更多的图像信息,提高图像特征对样本图像域之外的图像的表达能力,从而提高图像检索结果的准确性。
通过公式(6),可以确定各个样本图像对的总损失值,利用多个样本图像对的总损失值,确定神经网络模型的损失值。基于神经网络模型的损失值,对神经网络模型进行调整,得到特征提取模型。
可选地,深度网络层和哈希网络层的学习率为:lr=0.0005,分类层的学习率为:lr=0.005,其中,lr表征学习率。每经过10轮训练后,lr变为原来的0.1倍。在基于神经网络模型的损失值,对神经网络模型进行调整(即梯度回传)时,基于神经网络模型的损失值,先更新分类层,再更新哈希网络层,接着更新深度网络层。通过设置哈希网络层的学习率小于分类层的学习率,可以避免梯度回传时神经网络模型的损失值完全传递到哈希网络层,影响哈希网络层对图像特征的提取,防止造成图像特征的冗余。
本申请实施例中,是需要对神经网络模型进行多轮训练,直至达到目标次数或者某一轮对应的神经网络模型的损失值不再下降为止,得到特征提取模型。可选地,对于每一轮训练均进行如下操作。
(1)针对N个样本图像对,将每bs个样本图像对作为一个批次,共得到Nb=N/bs个批次。其中,N、bs和Nb均为正整数。
(2)对于每个批次,利用该批次中的各个样本图像对,确定任一个样本图像对的三元组图像。
(3)对于每个批次,将该批次中的各个样本图像对输入神经网络模型,由神经网络模型确定该批次中各张样本图像的图像特征。对于每一张样本图像,确定该张样本图像的第一类别特征和第二类别特征。
(4)对于每个批次,利用该批次中各张样本图像的图像特征、各张样本图像的第一类别特征、各张样本图像的第二类别特征,分别确定类别特征损失值、多个样本图像对的第一损失值、多个样本图像对的第二损失值,并基于类别特征损失值、多个样本图像对的第一损失值、多个样本图像对的第二损失值确定神经网络模型的损失值。
(5)采用随机梯度下降(Stochastic Gradient Descent,SGD)法,将神经网络模型的损失值进行梯度后向计算,以更新分类层和神经网络模型中的深度网络层和哈希网络层。其中,最后一次更新分类层、深度网络层和哈希网络层之后,将分类层去掉,得到包含深度网络层和哈希网络层的特征提取模型。
上述方法是基于多个样本图像对中各张样本图像的图像特征、表征预测类别的第一类别特征和表征标注类别的第二类别特征,对神经网络模型进行调整,得到特征提取模型,实现了利用多个样本图像对中各张样本图像的预测类别和标注类别,来约束特征提取模型对图像特征的提取,提高特征提取模型的准确性,从而提高了利用特征提取模型提取的图像特征的准确性,进而提高了图像检索结果的准确性。
基于上述实施环境,本申请实施例提供了一种图像检索方法,以图3所示的本申请实施例提供的一种图像检索方法的流程图为例,该方法可由图1中的终端设备101或者服务器102执行,也可以由终端设备101和服务器102共同执行。为便于描述,将执行本申请实施例中的特征提取模型的训练方法的终端设备101或者服务器102称为电子设备,该方法可以由电子设备来执行。如图3所示,该方法包括步骤301-步骤303。
步骤301,获取目标图像和多个候选图像。
目标图像是待检索的图像,可以是利用网络爬虫从网络中抓取的图像,也可以是拍摄的图像,还可以是从视频中提取的帧图像。候选图像是图像库中的图像,其中,图像库中包括多个候选图像。
步骤302,基于特征提取模型确定目标图像的图像特征和各个候选图像的图像特征。
其中,特征提取模型是根据上述图2提供的特征提取模型的训练方法训练得到的。
本申请实施例中,将目标图像输入特征提取模型,由特征提取模型确定并输出目标图像的图像特征。将各个候选图像输入特征提取模型,由特征提取模型确定并输出各个候选图像的图像特征。其中,特征提取模型确定并输出候选图像的图像特征、特征提取模型确定并输出目标图像的图像特征的方式,可以见上文有关特征提取模型确定并输出样本图像的图像特征的方式,二者实现原理类似,在此不再赘述。
步骤303,根据目标图像的图像特征和各个候选图像的图像特征,从多个候选图像中检索出与目标图像相似的图像。
本申请实施例中,可以根据目标图像的图像特征和各个候选图像的图像特征,从多个候选图像中检索出与目标图像相似的图像。或者对目标图像的图像特征进行二值化处理,得到目标图像的二值图像特征,对各个候选图像的图像特征进行二值化处理,得到各个候选图像的二值图像特征,根据目标图像的二值图像特征和各个候选图像的二值图像特征,从多个候选图像中检索出与目标图像相似的图像。
在一种可能的实现方式中,根据目标图像的图像特征和各个候选图像的图像特征,从多个候选图像中检索出与目标图像相似的图像,包括:将目标图像的图像特征和各个候选图像的图像特征进行对比,得到各个候选图像的对比结果;从多个候选图像中选择对比结果为一致的候选图像,作为目标图像相似的图像。
本申请实施例中,将目标图像的图像特征和各个候选图像的图像特征进行对比,得到各个候选图像的对比结果,任一个候选图像的比对结果是该候选图像的图像特征与目标图像的图像特征是否一致。
可选地,可以对目标图像的图像特征进行二值化处理,得到目标图像的二值图像特征,对各个候选图像的图像特征进行二值化处理,得到各个候选图像的二值图像特征。将目标图像的二值图像特征和各个候选图像的二值图像特征进行对比,得到各个候选图像的对比结果,此时,任一个候选图像的比对结果是该候选图像的二值图像特征与目标图像的二值图像特征是否一致。相较于将目标图像的图像特征和各个候选图像的图像特征进行对比,将目标图像的二值图像特征和各个候选图像的二值图像特征进行对比,可以加快对比速度,提高对比效率。
对于任一个候选图像,若任一个候选图像的比对结果为一致,则将该任一个候选图像作为目标图像相似的图像,若任一个候选图像的比对结果为不一致,则该任一个候选图像不能作为目标图像相似的图像。
可选地,目标图像相似的图像的数量为至少一个。可以根据目标图像的图像特征(或者二值图像特征)和各个目标图像相似的图像的图像特征(或者二值图像特征),确定目标图像与各个目标图像相似的图像之间的第五距离信息。从各个目标图像相似的图像中选择第五距离信息小于第四参考距离信息的图像,作为目标图像的检索结果。其中,可以将目标图像与各个目标图像相似的图像之间的第五距离信息按照从小到大的顺序进行排序,取第A%(A为正整数)个或者第A个第五距离信息作为第四参考距离信息,也可以将一个固定的数据作为第四参考距离信息。例如,从10个目标图像相似的图像中选择出第五距离信息小于第四参考距离信息的前4个图像,作为目标图像的检索结果。
在一种可能的实现方式中,根据目标图像的图像特征和各个候选图像的图像特征,从多个候选图像中检索出与目标图像相似的图像,包括:基于各个候选图像的图像特征对多个候选图像进行聚类处理,得到多个聚类簇,聚类簇包括至少一个候选图像;对于任一个聚类簇,基于任一个聚类簇中各个候选图像的图像特征,确定参考图像特征,根据目标图像的图像特征和参考图像特征,确定目标图像与任一个聚类簇之间的第四距离信息;从多个聚类簇中选择第四距离信息小于第三参考距离信息的目标聚类簇,从目标聚类簇的各个候选图像中确定与目标图像相似的图像。
本申请实施例中,基于各个候选图像的图像特征(或者二值图像特征),对多个候选图像进行聚类处理,得到多个聚类簇,聚类簇包括至少一个候选图像。对于任一个聚类簇,基于任一个聚类簇中各个候选图像的图像特征,确定任一个聚类簇的聚类中心,任一个聚类簇的聚类中心用于表征任一个聚类簇中各个候选图像的图像特征,其中,可以采用K均值聚类算法(K-means Clustering Algorithm),基于任一个聚类簇中各个候选图像的图像特征,确定任一个聚类簇的聚类中心。任一个聚类簇的聚类中心即为任一个聚类簇的参考图像特征。根据目标图像的图像特征和任一个聚类簇的参考图像特征,确定目标图像与任一个聚类簇之间的第四距离信息。之后,从多个聚类簇中选择第四距离信息小于第三参考距离信息的至少一个聚类簇,这至少一个聚类簇作为目标聚类簇,从目标聚类簇的各个候选图像中确定与目标图像相似的图像。其中,可以将目标图像与各个聚类簇之间的第四距离信息按照从小到大的顺序进行排序,取第B%(B为正整数)个或者第B个第四距离信息作为第三参考距离信息,也可以将一个固定的数据作为第三参考距离信息。
可选地,对于目标聚类簇的任一个候选图像,可以根据目标图像的图像特征(或者二值图像特征)和任一个候选图像的图像特征(或者二值图像特征),确定目标图像与任一个候选图像之间的第六距离信息。之后,从目标聚类簇的各个候选图像中选择第六距离信息小于第五参考距离信息的候选图像,作为目标图像的检索结果,即与目标图像相似的图像。其中,可以将目标图像与各个候选图像之间的第六距离信息按照从小到大的顺序进行排序,取第C%(C为正整数)个或者第C个第六距离信息作为第五参考距离信息,也可以将一个固定的数据作为第五参考距离信息。
上述方法的特征提取模型是按照如下方式确定的:基于多个样本图像对中各张样本图像的图像特征、表征预测类别的第一类别特征和表征标注类别的第二类别特征,对神经网络模型进行调整,得到特征提取模型。实现了利用多个样本图像对中各张样本图像的预测类别和标注类别,来约束特征提取模型对图像特征的提取,提高特征提取模型的准确性,从而提高了利用特征提取模型提取的图像特征的准确性,进而提高了图像检索结果的准确性。
上述从方法步骤的角度阐述了本申请实施例的特征提取模型的训练方法以及图像检索方法,下面介绍一个详细的实施例,以系统全面的介绍本申请实施例的特征提取模型的训练方法以及图像检索方法。请参见图4,图4是本申请实施例提供的一种特征提取模型的训练方法的示意图。
本申请实施例中,利用多个样本图像对的标注类别,确定各个候选类别的类别特征,其中,任一个候选类别是一个标注类别。可选地,多个样本图像对是所有的样本图像对。例如,本申请实施例共获取到100个样本图像对,每一个样本图像对的标注类别为至少一个,100个样本图像对总共对应50个标注类别,此时,候选类别也就有50个,利用100个样本图像对的标注类别,确定50个候选类别的类别特征。
对于一个样本图像对,利用一个样本图像对的标注类别和各个候选类别的类别特征,确定一个样本图像对的第二类别特征。同时,将一个样本图像对输入神经网络模型,该神经网络模型包括深度网络层和哈希网络层。深度网络层确定并输出一个样本图像对中各张样本图像的深度特征,哈希网络层基于一个样本图像对中各张样本图像的深度特征,确定并输出一个样本图像对中各张样本图像的图像特征,即一个样本图像对的图像特征。
接下来,一方面,基于一个样本图像对的图像特征,确定一个样本图像对的图像特征损失值。另一方面,将一个样本图像对的图像特征输入分类层,由分类层确定并输出一个样本图像对的第一类别特征。一个样本图像对的第一类别特征和一个样本图像对的第二类别特征,可以确定一个样本图像对的类别特征损失值。
通过上述方式,可以确定各个样本图像对的类别特征损失值和各个样本图像对的图像特征损失值。基于各个样本图像对的类别特征损失值和各个样本图像对的图像特征损失值,确定神经网络模型的损失值。利用神经网络模型的损失值,对神经网络模型进行调整,得到特征提取模型。
在得到特征提取模型之后,利用特征提取模型进行图像检索处理。请参见图5,图5是本申请实施例提供的一种图像检索方法的示意图。其中,特征提取模型包括深度网络层和哈希网络层,图像库包括多个候选图像。
本申请实施例中,将图像库中的各个候选图像输入特征提取模型,由特征提取模型的深度网络层确定并输出各张候选图像的深度特征,由哈希网络层基于各张候选图像的深度特征,确定并输出各张候选图像的图像特征。接下来,基于各张候选图像的图像特征,对多个候选图像进行聚类处理,得到多个聚类簇,如图5中,多个聚类簇包括聚类簇1、聚类簇2、聚类簇3和聚类簇4。
将目标图像输入特征提取模型,由特征提取模型的深度网络层确定并输出目标图像的深度特征,由哈希网络层基于目标图像的深度特征,确定并输出目标图像的图像特征。
之后,基于目标图像的图像特征,从多个聚类簇中确定目标聚类簇,如图5中,确定聚类簇4为目标聚类簇。从目标聚类簇的各个候选图像中确定与目标图像相似的图像,作为目标图像的检索结果。
本申请实施例是利用多个样本图像对中各张样本图像的预测类别和标注类别,来约束特征提取模型对图像特征的提取,提高特征提取模型的准确性,从而提高了利用特征提取模型提取的图像特征的准确性,进而提高了图像检索结果的准确性。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的目标图像、样本图像等,都是在充分授权的情况下获取的。
图6所示为本申请实施例提供的一种特征提取模型的训练装置的结构示意图,如图6所示,该装置包括:
获取模块601,用于获取多个样本图像对和多个样本图像对中各张样本图像的标注类别,样本图像对包括两张相似的样本图像;
获取模块601,还用于根据神经网络模型获取多个样本图像对中各张样本图像的图像特征;
确定模块602,用于基于多个样本图像对中各张样本图像的图像特征,确定多个样本图像对中各张样本图像的第一类别特征,样本图像的第一类别特征用于表征预测的样本图像的类别;
确定模块602,还用于基于多个样本图像对中各张样本图像的标注类别,确定多个样本图像对中各张样本图像的第二类别特征,样本图像的第二类别特征用于表征标注的样本图像的类别;
调整模块603,用于基于多个样本图像对中各张样本图像的图像特征、第一类别特征和第二类别特征,对神经网络模型进行调整,得到特征提取模型。
在一种可能的实现方式中,样本图像的标注类别为至少一个,确定模块602,用于对于多个样本图像对中各张样本图像的任一个标注类别,从多个候选类别中确定与任一个标注类别相同的候选类别,将与任一个标注类别相同的候选类别的类别特征确定为任一个标注类别的类别特征;对于多个样本图像对中的任一张样本图像,基于任一张样本图像的至少一个标注类别的类别特征,确定任一张样本图像的第二类别特征。
在一种可能的实现方式中,确定模块602,还用于根据多个样本图像对中各张样本图像的标注类别,确定共现矩阵,共现矩阵中的任一个数据表征任一个数据所在行对应的候选类别与任一个数据所在列对应的候选类别共同出现的概率或者次数,一个标注类别是一个候选类别;基于阿达马矩阵和共现矩阵,确定各个候选类别的类别特征,阿达马矩阵的阶数大于候选类别的数量。
在一种可能的实现方式中,样本图像的标注类别为至少两个,确定模块602,用于获取初始化矩阵,初始化矩阵的各行对应各个候选类别,且初始化矩阵的各列对应各个候选类别;对于多个样本图像对中的任一张样本图像,根据任一张样本图像的至少两个标注类别,在目标行和目标列的交叉位置处添加非零数据,目标行是初始化矩阵中与任一张样本图像的一个标注类别相同的候选类别所对应的行,目标列是初始化矩阵中与任一张样本图像的除一个标注类别之外的其他标注类别相同的候选类别所对应的列;将初始化矩阵中各行和各列的交叉位置处的非零数据进行累加,得到共现矩阵。
在一种可能的实现方式中,确定模块602,用于从未确定类别特征的候选类别中随机选择第一候选类别;从阿达马矩阵中随机选择未被使用过的一行数据,作为第一候选类别的类别特征;根据第一候选类别的类别特征和阿达马矩阵,确定共现矩阵中第一候选类别对应的行中各个非零数据所在列所对应的候选类别的类别特征;若存在未确定类别特征的候选类别,则从从未确定类别特征的候选类别中随机选择第一候选类别开始循环,直至不存在未确定类别特征的候选类别。
在一种可能的实现方式中,确定模块602,用于基于共现矩阵中第一候选类别对应的行中的各个非零数据,确定最大非零数据所在列所对应的且未确定类别特征的第二候选类别;从阿达马矩阵中确定与第一候选标签的类别特征最接近且未被使用过的一行数据,作为第二候选类别的类别特征;若共现矩阵中第一候选类别对应的行中存在未确定类别特征的且为非零数据所在列所对应的候选类别,则从基于共现矩阵中第一候选类别对应的行中的各个非零数据,确定最大非零数据所在列所对应的且未确定类别特征的第二候选类别开始循环,直至共现矩阵中第一候选类别对应的行中不存在未确定类别特征的且为非零数据所在列所对应的候选类别。
在一种可能的实现方式中,调整模块603,用于对于任一个样本图像对,基于任一个样本图像对中至少一张样本图像的图像特征,确定任一个样本图像对的第一损失值;确定任一个样本图像对的三元组图像,任一个样本图像对的三元组图像包括任一个样本图像对和目标样本图像对中的一张样本图像,目标样本图像对是多个样本图像对中除任一个样本图像对之外且满足距离条件的样本图像对;基于任一个样本图像对的三元组图像中各张样本图像的图像特征,确定任一个样本图像对的第二损失值;基于多个样本图像对中各张样本图像的第一类别特征、第二类别特征和多个样本图像对的第一损失值、第二损失值,对神经网络模型进行调整,得到特征提取模型。
在一种可能的实现方式中,调整模块603,用于对任一个样本图像对中至少一张样本图像的图像特征进行二值化处理,得到任一个样本图像对中至少一张样本图像的二值图像特征;基于任一个样本图像对中至少一张样本图像的图像特征和二值图像特征,确定第一损失值。
在一种可能的实现方式中,调整模块603,用于确定任一个样本图像对中的一张样本图像分别和各个其他样本图像对中的一张样本图像之间的第一距离信息,各个其他样本图像对是多个样本图像对中除任一个样本图像对之外的各个样本图像对;从各个其他样本图像对中确定第一距离信息小于第一参考距离信息的目标样本图像对;基于目标样本图像对中的一张样本图像和任一个样本图像对,确定任一个样本图像对的三元组图像。
在一种可能的实现方式中,调整模块603,用于从候选样本图像对中确定第一距离信息小于第一参考距离信息的目标样本图像对,候选样本图像对是各个其他样本图像对中第一距离信息不小于第二参考距离信息的其他样本图像对,第一参考距离信息大于第二参考距离信息。
在一种可能的实现方式中,调整模块603,用于针对任一个样本图像对的三元组图像,基于任一个样本图像对中一张样本图像的图像特征和另一张样本图像的图像特征,确定任一个样本图像对中一张样本图像和另一张样本图像之间的第二距离信息,基于任一个样本图像对中一张样本图像的图像特征与目标样本图像对中的一张样本图像的图像特征,确定任一个样本图像对中一张样本图像与目标样本图像对中的一张样本图像之间的第三距离信息;基于第二距离信息和第三距离信息,确定任一个样本图像对的第二损失值。
在一种可能的实现方式中,调整模块603,用于基于多个样本图像对中各张样本图像的第一类别特征和第二类别特征,确定类别特征损失值;基于多个样本图像对的第一损失值和第二损失值,确定图像特征损失值;基于类别特征损失值和图像特征损失值,对神经网络模型进行调整,得到特征提取模型。
上述装置是基于多个样本图像对中各张样本图像的图像特征、表征预测类别的第一类别特征和表征标注类别的第二类别特征,对神经网络模型进行调整,得到特征提取模型,实现了利用多个样本图像对中各张样本图像的预测类别和标注类别,来约束特征提取模型对图像特征的提取,提高特征提取模型的准确性,从而提高了利用特征提取模型提取的图像特征的准确性,进而提高了图像检索结果的准确性。
应理解的是,上述图6提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图7所示为本申请实施例提供的一种图像检索装置的结构示意图,如图7所示,该装置包括:
获取模块701,用于获取目标图像和多个候选图像;
确定模块702,用于基于特征提取模型确定目标图像的图像特征和各个候选图像的图像特征,特征提取模型是根据上述任一项的特征提取模型的训练方法训练得到的;
检索模块703,用于根据目标图像的图像特征和各个候选图像的图像特征,从多个候选图像中检索出与目标图像相似的图像。
在一种可能的实现方式中,检索模块703,用于将目标图像的图像特征和各个候选图像的图像特征进行对比,得到各个候选图像的对比结果;从多个候选图像中选择对比结果为一致的候选图像,作为目标图像相似的图像。
在一种可能的实现方式中,检索模块703,用于基于各个候选图像的图像特征对多个候选图像进行聚类处理,得到多个聚类簇,聚类簇包括至少一个候选图像;对于任一个聚类簇,基于任一个聚类簇中各个候选图像的图像特征,确定参考图像特征,根据目标图像的图像特征和参考图像特征,确定目标图像与任一个聚类簇之间的第四距离信息;从多个聚类簇中选择第四距离信息小于第三参考距离信息的目标聚类簇,从目标聚类簇的各个候选图像中确定与目标图像相似的图像。
上述装置的特征提取模型是按照如下方式确定的:基于多个样本图像对中各张样本图像的图像特征、表征预测类别的第一类别特征和表征标注类别的第二类别特征,对神经网络模型进行调整,得到特征提取模型。实现了利用多个样本图像对中各张样本图像的预测类别和标注类别,来约束特征提取模型对图像特征的提取,提高特征提取模型的准确性,从而提高了利用特征提取模型提取的图像特征的准确性,进而提高了图像检索结果的准确性。
应理解的是,上述图7提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图8示出了本申请一个示例性实施例提供的终端设备800的结构框图。该终端设备800包括有:处理器801和存储器802。
处理器801可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器801可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器801可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器801还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器802中的非暂态的计算机可读存储介质用于存储至少一个计算机程序,该至少一个计算机程序用于被处理器801所执行以实现本申请中方法实施例提供的特征提取模型的训练方法或者图像检索方法。
在一些实施例中,终端设备800还可选包括有:外围设备接口803和至少一个外围设备。处理器801、存储器802和外围设备接口803之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口803相连。具体地,外围设备包括:射频电路804、显示屏805、摄像头组件806、音频电路807和电源808中的至少一种。
外围设备接口803可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器801和存储器802。在一些实施例中,处理器801、存储器802和外围设备接口803被集成在同一芯片或电路板上;在一些其他实施例中,处理器801、存储器802和外围设备接口803中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路804用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路804通过电磁信号与通信网络以及其他通信设备进行通信。射频电路804将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路804包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路804可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路804还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏805用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏805是触摸显示屏时,显示屏805还具有采集在显示屏805的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器801进行处理。此时,显示屏805还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏805可以为一个,设置在终端设备800的前面板;在另一些实施例中,显示屏805可以为至少两个,分别设置在终端设备800的不同表面或呈折叠设计;在另一些实施例中,显示屏805可以是柔性显示屏,设置在终端设备800的弯曲表面上或折叠面上。甚至,显示屏805还可以设置成非矩形的不规则图形,也即异形屏。显示屏805可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件806用于采集图像或视频。可选地,摄像头组件806包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件806还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路807可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器801进行处理,或者输入至射频电路804以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端设备800的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器801或射频电路804的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路807还可以包括耳机插孔。
电源808用于为终端设备800中的各个组件进行供电。电源808可以是交流电、直流电、一次性电池或可充电电池。当电源808包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端设备800还包括有一个或多个传感器809。该一个或多个传感器809包括但不限于:加速度传感器811、陀螺仪传感器812、压力传感器813、光学传感器814以及接近传感器815。
加速度传感器811可以检测以终端设备800建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器811可以用于检测重力加速度在三个坐标轴上的分量。处理器801可以根据加速度传感器811采集的重力加速度信号,控制显示屏805以横向视图或纵向视图进行用户界面的显示。加速度传感器811还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器812可以检测终端设备800的机体方向及转动角度,陀螺仪传感器812可以与加速度传感器811协同采集用户对终端设备800的3D动作。处理器801根据陀螺仪传感器812采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器813可以设置在终端设备800的侧边框和/或显示屏805的下层。当压力传感器813设置在终端设备800的侧边框时,可以检测用户对终端设备800的握持信号,由处理器801根据压力传感器813采集的握持信号进行左右手识别或快捷操作。当压力传感器813设置在显示屏805的下层时,由处理器801根据用户对显示屏805的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
光学传感器814用于采集环境光强度。在一个实施例中,处理器801可以根据光学传感器814采集的环境光强度,控制显示屏805的显示亮度。具体地,当环境光强度较高时,调高显示屏805的显示亮度;当环境光强度较低时,调低显示屏805的显示亮度。在另一个实施例中,处理器801还可以根据光学传感器814采集的环境光强度,动态调整摄像头组件806的拍摄参数。
接近传感器815,也称距离传感器,通常设置在终端设备800的前面板。接近传感器815用于采集用户与终端设备800的正面之间的距离。在一个实施例中,当接近传感器815检测到用户与终端设备800的正面之间的距离逐渐变小时,由处理器801控制显示屏805从亮屏状态切换为息屏状态;当接近传感器815检测到用户与终端设备800的正面之间的距离逐渐变大时,由处理器801控制显示屏805从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图8中示出的结构并不构成对终端设备800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图9为本申请实施例提供的服务器的结构示意图,该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器901和一个或多个的存储器902,其中,该一个或多个存储器902中存储有至少一条计算机程序,该至少一条计算机程序由该一个或多个处理器901加载并执行以实现上述各个方法实施例提供的特征提取模型的训练方法或者图像检索方法,示例性的,处理器901为CPU。当然,该服务器900还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器900还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,该存储介质中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行,以使电子设备实现上述任一种特征提取模型的训练方法或者图像检索方法。
可选地,上述计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-OnlyMemory,CD-ROM)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,该计算机程序产品中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行,以使电子设备实现上述任一种特征提取模型的训练方法或者图像检索方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (20)
1.一种特征提取模型的训练方法,其特征在于,所述方法包括:
获取多个样本图像对和所述多个样本图像对中各张样本图像的标注类别,所述样本图像对包括两张相似的样本图像;
根据神经网络模型获取所述多个样本图像对中各张样本图像的图像特征;
基于所述多个样本图像对中各张样本图像的图像特征,确定所述多个样本图像对中各张样本图像的第一类别特征,所述样本图像的第一类别特征用于表征预测的所述样本图像的类别;
基于所述多个样本图像对中各张样本图像的标注类别,确定所述多个样本图像对中各张样本图像的第二类别特征,所述样本图像的第二类别特征用于表征标注的所述样本图像的类别;
基于所述多个样本图像对中各张样本图像的图像特征、第一类别特征和第二类别特征,对所述神经网络模型进行调整,得到特征提取模型。
2.根据权利要求1所述的方法,其特征在于,所述样本图像的标注类别为至少一个,所述基于所述多个样本图像对中各张样本图像的标注类别,确定所述多个样本图像对中各张样本图像的第二类别特征,包括:
对于所述多个样本图像对中各张样本图像的任一个标注类别,从多个候选类别中确定与所述任一个标注类别相同的候选类别,将与所述任一个标注类别相同的候选类别的类别特征确定为所述任一个标注类别的类别特征;
对于所述多个样本图像对中的任一张样本图像,基于所述任一张样本图像的至少一个标注类别的类别特征,确定所述任一张样本图像的第二类别特征。
3.根据权利要求2所述的方法,其特征在于,所述将与所述任一个标注类别相同的候选类别的类别特征确定为所述任一个标注类别的类别特征之前,还包括:
根据所述多个样本图像对中各张样本图像的标注类别,确定共现矩阵,所述共现矩阵中的任一个数据表征所述任一个数据所在行对应的候选类别与所述任一个数据所在列对应的候选类别共同出现的概率或者次数,一个标注类别是一个候选类别;
基于阿达马矩阵和所述共现矩阵,确定各个候选类别的类别特征,所述阿达马矩阵的阶数大于候选类别的数量。
4.根据权利要求3所述的方法,其特征在于,所述样本图像的标注类别为至少两个,所述根据所述多个样本图像对中各张样本图像的标注类别,确定共现矩阵,包括:
获取初始化矩阵,所述初始化矩阵的各行对应各个候选类别,且所述初始化矩阵的各列对应各个候选类别;
对于所述多个样本图像对中的任一张样本图像,根据所述任一张样本图像的至少两个标注类别,在目标行和目标列的交叉位置处添加非零数据,所述目标行是所述初始化矩阵中与所述任一张样本图像的一个标注类别相同的候选类别所对应的行,所述目标列是所述初始化矩阵中与所述任一张样本图像的除所述一个标注类别之外的其他标注类别相同的候选类别所对应的列;
将所述初始化矩阵中各行和各列的交叉位置处的非零数据进行累加,得到所述共现矩阵。
5.根据权利要求3所述的方法,其特征在于,所述基于阿达马矩阵和所述共现矩阵,确定各个候选类别的类别特征,包括:
从未确定类别特征的候选类别中随机选择第一候选类别;
从所述阿达马矩阵中随机选择未被使用过的一行数据,作为所述第一候选类别的类别特征;
根据所述第一候选类别的类别特征和所述阿达马矩阵,确定所述共现矩阵中所述第一候选类别对应的行中各个非零数据所在列所对应的候选类别的类别特征;
若存在所述未确定类别特征的候选类别,则从所述从未确定类别特征的候选类别中随机选择第一候选类别开始循环,直至不存在所述未确定类别特征的候选类别。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第一候选类别的类别特征和所述阿达马矩阵,确定所述共现矩阵中所述第一候选类别对应的行中各个非零数据所在列所对应的候选类别的类别特征,包括:
基于所述共现矩阵中所述第一候选类别对应的行中的各个非零数据,确定最大非零数据所在列所对应的且未确定类别特征的第二候选类别;
从所述阿达马矩阵中确定与所述第一候选标签的类别特征最接近且未被使用过的一行数据,作为所述第二候选类别的类别特征;
若所述共现矩阵中所述第一候选类别对应的行中存在未确定类别特征的且为非零数据所在列所对应的候选类别,则从所述基于所述共现矩阵中所述第一候选类别对应的行中的各个非零数据,确定最大非零数据所在列所对应的且未确定类别特征的第二候选类别开始循环,直至所述共现矩阵中所述第一候选类别对应的行中不存在未确定类别特征的且为非零数据所在列所对应的候选类别。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述基于所述多个样本图像对中各张样本图像的图像特征、第一类别特征和第二类别特征,对所述神经网络模型进行调整,得到特征提取模型,包括:
对于任一个样本图像对,基于所述任一个样本图像对中至少一张样本图像的图像特征,确定所述任一个样本图像对的第一损失值;
确定所述任一个样本图像对的三元组图像,所述任一个样本图像对的三元组图像包括所述任一个样本图像对和目标样本图像对中的一张样本图像,所述目标样本图像对是所述多个样本图像对中除所述任一个样本图像对之外且满足距离条件的样本图像对;
基于所述任一个样本图像对的三元组图像中各张样本图像的图像特征,确定所述任一个样本图像对的第二损失值;
基于所述多个样本图像对中各张样本图像的第一类别特征、第二类别特征和所述多个样本图像对的第一损失值、第二损失值,对所述神经网络模型进行调整,得到特征提取模型。
8.根据权利要求7所述的方法,其特征在于,所述基于所述任一个样本图像对中至少一张样本图像的图像特征,确定所述任一个样本图像对的第一损失值,包括:
对所述任一个样本图像对中至少一张样本图像的图像特征进行二值化处理,得到所述任一个样本图像对中至少一张样本图像的二值图像特征;
基于所述任一个样本图像对中至少一张样本图像的图像特征和二值图像特征,确定所述第一损失值。
9.根据权利要求7所述的方法,其特征在于,所述确定所述任一个样本图像对的三元组图像,包括:
确定所述任一个样本图像对中的一张样本图像分别和各个其他样本图像对中的一张样本图像之间的第一距离信息,所述各个其他样本图像对是所述多个样本图像对中除所述任一个样本图像对之外的各个样本图像对;
从所述各个其他样本图像对中确定第一距离信息小于第一参考距离信息的目标样本图像对;
基于所述目标样本图像对中的一张样本图像和所述任一个样本图像对,确定所述任一个样本图像对的三元组图像。
10.根据权利要求9所述的方法,其特征在于,所述从所述各个其他样本图像对中确定第一距离信息小于第一参考距离信息的目标样本图像对,包括:
从候选样本图像对中确定第一距离信息小于所述第一参考距离信息的目标样本图像对,所述候选样本图像对是所述各个其他样本图像对中第一距离信息不小于第二参考距离信息的其他样本图像对,所述第一参考距离信息大于所述第二参考距离信息。
11.根据权利要求7所述的方法,其特征在于,所述基于所述任一个样本图像对的三元组图像中各张样本图像的图像特征,确定所述任一个样本图像对的第二损失值,包括:
针对所述任一个样本图像对的三元组图像,基于所述任一个样本图像对中一张样本图像的图像特征和另一张样本图像的图像特征,确定所述任一个样本图像对中一张样本图像和另一张样本图像之间的第二距离信息,基于所述任一个样本图像对中一张样本图像的图像特征与所述目标样本图像对中的一张样本图像的图像特征,确定所述任一个样本图像对中一张样本图像与所述目标样本图像对中的一张样本图像之间的第三距离信息;
基于所述第二距离信息和所述第三距离信息,确定所述任一个样本图像对的第二损失值。
12.根据权利要求7所述的方法,其特征在于,所述基于所述多个样本图像对中各张样本图像的第一类别特征、第二类别特征和所述多个样本图像对的第一损失值、第二损失值,对所述神经网络模型进行调整,得到特征提取模型,包括:
基于所述多个样本图像对中各张样本图像的第一类别特征和第二类别特征,确定类别特征损失值;
基于所述多个样本图像对的第一损失值和第二损失值,确定图像特征损失值;
基于所述类别特征损失值和所述图像特征损失值,对所述神经网络模型进行调整,得到特征提取模型。
13.一种图像检索方法,其特征在于,所述方法包括:
获取目标图像和多个候选图像;
基于特征提取模型确定所述目标图像的图像特征和各个候选图像的图像特征,所述特征提取模型是根据权利要求1至12任一项所述的特征提取模型的训练方法训练得到的;
根据所述目标图像的图像特征和所述各个候选图像的图像特征,从所述多个候选图像中检索出与所述目标图像相似的图像。
14.根据权利要求13所述的方法,其特征在于,所述根据所述目标图像的图像特征和所述各个候选图像的图像特征,从所述多个候选图像中检索出与所述目标图像相似的图像,包括:
将所述目标图像的图像特征和所述各个候选图像的图像特征进行对比,得到各个候选图像的对比结果;
从所述多个候选图像中选择对比结果为一致的候选图像,作为所述目标图像相似的图像。
15.根据权利要求13所述的方法,其特征在于,所述根据所述目标图像的图像特征和所述各个候选图像的图像特征,从所述多个候选图像中检索出与所述目标图像相似的图像,包括:
基于所述各个候选图像的图像特征对所述多个候选图像进行聚类处理,得到多个聚类簇,所述聚类簇包括至少一个候选图像;
对于任一个聚类簇,基于所述任一个聚类簇中各个候选图像的图像特征,确定参考图像特征,根据所述目标图像的图像特征和所述参考图像特征,确定所述目标图像与所述任一个聚类簇之间的第四距离信息;
从所述多个聚类簇中选择第四距离信息小于第三参考距离信息的目标聚类簇,从所述目标聚类簇的各个候选图像中确定与所述目标图像相似的图像。
16.一种特征提取模型的训练装置,其特征在于,所述装置包括:
获取模块,用于获取多个样本图像对和所述多个样本图像对中各张样本图像的标注类别,所述样本图像对包括两张相似的样本图像;
所述获取模块,还用于根据神经网络模型获取所述多个样本图像对中各张样本图像的图像特征;
确定模块,用于基于所述多个样本图像对中各张样本图像的图像特征,确定所述多个样本图像对中各张样本图像的第一类别特征,所述样本图像的第一类别特征用于表征预测的所述样本图像的类别;
所述确定模块,还用于基于所述多个样本图像对中各张样本图像的标注类别,确定所述多个样本图像对中各张样本图像的第二类别特征,所述样本图像的第二类别特征用于表征标注的所述样本图像的类别;
调整模块,用于基于所述多个样本图像对中各张样本图像的图像特征、第一类别特征和第二类别特征,对所述神经网络模型进行调整,得到特征提取模型。
17.一种图像检索装置,其特征在于,所述装置包括:
获取模块,用于获取目标图像和多个候选图像;
确定模块,用于基于特征提取模型确定所述目标图像的图像特征和各个候选图像的图像特征,所述特征提取模型是根据权利要求1至12任一项所述的特征提取模型的训练方法训练得到的;
检索模块,用于根据所述目标图像的图像特征和所述各个候选图像的图像特征,从所述多个候选图像中检索出与所述目标图像相似的图像。
18.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,以使所述电子设备实现如权利要求1至12任一所述的特征提取模型的训练方法或者如权利要求13至15任一所述的图像检索方法。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,以使电子设备实现如权利要求1至12任一所述的特征提取模型的训练方法或者如权利要求13至15任一所述的图像检索方法。
20.一种计算机程序产品,其特征在于,所述计算机程序产品中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,以使电子设备实现如权利要求1至12任一所述的特征提取模型的训练方法或者如权利要求13至15任一所述的图像检索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210330051.5A CN114417046B (zh) | 2022-03-31 | 2022-03-31 | 特征提取模型的训练方法、图像检索方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210330051.5A CN114417046B (zh) | 2022-03-31 | 2022-03-31 | 特征提取模型的训练方法、图像检索方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114417046A true CN114417046A (zh) | 2022-04-29 |
CN114417046B CN114417046B (zh) | 2022-07-12 |
Family
ID=81262758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210330051.5A Active CN114417046B (zh) | 2022-03-31 | 2022-03-31 | 特征提取模型的训练方法、图像检索方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114417046B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018196718A1 (zh) * | 2017-04-25 | 2018-11-01 | 北京市商汤科技开发有限公司 | 图像消歧方法、装置、存储介质和电子设备 |
CN110705614A (zh) * | 2019-09-20 | 2020-01-17 | 北京三快在线科技有限公司 | 模型训练方法、装置、电子设备及存储介质 |
EP3767534A1 (en) * | 2019-07-17 | 2021-01-20 | Robert Bosch GmbH | Device and method for evaluating a saliency map determiner |
CN112734641A (zh) * | 2020-12-31 | 2021-04-30 | 百果园技术(新加坡)有限公司 | 目标检测模型的训练方法、装置、计算机设备及介质 |
WO2021190115A1 (zh) * | 2020-03-25 | 2021-09-30 | 北京沃东天骏信息技术有限公司 | 检索目标的方法和装置 |
CN113609326A (zh) * | 2021-08-25 | 2021-11-05 | 广西师范大学 | 基于外部知识和目标间关系的图像描述生成方法 |
CN113761261A (zh) * | 2021-05-26 | 2021-12-07 | 腾讯科技(深圳)有限公司 | 图像检索方法、装置、计算机可读介质及电子设备 |
US20210382936A1 (en) * | 2020-06-09 | 2021-12-09 | Adobe Inc. | Classifying image styles of images based on image style embeddings |
CN114168782A (zh) * | 2021-11-30 | 2022-03-11 | 西安理工大学 | 一种基于三元组网络的深度哈希图像检索方法 |
-
2022
- 2022-03-31 CN CN202210330051.5A patent/CN114417046B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018196718A1 (zh) * | 2017-04-25 | 2018-11-01 | 北京市商汤科技开发有限公司 | 图像消歧方法、装置、存储介质和电子设备 |
EP3767534A1 (en) * | 2019-07-17 | 2021-01-20 | Robert Bosch GmbH | Device and method for evaluating a saliency map determiner |
CN110705614A (zh) * | 2019-09-20 | 2020-01-17 | 北京三快在线科技有限公司 | 模型训练方法、装置、电子设备及存储介质 |
WO2021190115A1 (zh) * | 2020-03-25 | 2021-09-30 | 北京沃东天骏信息技术有限公司 | 检索目标的方法和装置 |
US20210382936A1 (en) * | 2020-06-09 | 2021-12-09 | Adobe Inc. | Classifying image styles of images based on image style embeddings |
CN112734641A (zh) * | 2020-12-31 | 2021-04-30 | 百果园技术(新加坡)有限公司 | 目标检测模型的训练方法、装置、计算机设备及介质 |
CN113761261A (zh) * | 2021-05-26 | 2021-12-07 | 腾讯科技(深圳)有限公司 | 图像检索方法、装置、计算机可读介质及电子设备 |
CN113609326A (zh) * | 2021-08-25 | 2021-11-05 | 广西师范大学 | 基于外部知识和目标间关系的图像描述生成方法 |
CN114168782A (zh) * | 2021-11-30 | 2022-03-11 | 西安理工大学 | 一种基于三元组网络的深度哈希图像检索方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114417046B (zh) | 2022-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109086709B (zh) | 特征提取模型训练方法、装置及存储介质 | |
CN109299315B (zh) | 多媒体资源分类方法、装置、计算机设备及存储介质 | |
CN110083791B (zh) | 目标群组检测方法、装置、计算机设备及存储介质 | |
CN111243668B (zh) | 分子结合位点检测方法、装置、电子设备及存储介质 | |
CN110942046B (zh) | 图像检索方法、装置、设备及存储介质 | |
CN113395542A (zh) | 基于人工智能的视频生成方法、装置、计算机设备及介质 | |
CN110162604B (zh) | 语句生成方法、装置、设备及存储介质 | |
CN114332530A (zh) | 图像分类方法、装置、计算机设备及存储介质 | |
CN111192262A (zh) | 基于人工智能的产品缺陷分类方法、装置、设备及介质 | |
CN110503160B (zh) | 图像识别方法、装置、电子设备及存储介质 | |
CN114359225B (zh) | 图像检测方法、装置、计算机设备及存储介质 | |
CN110555102A (zh) | 媒体标题识别方法、装置及存储介质 | |
CN110675412A (zh) | 图像分割方法、图像分割模型的训练方法、装置及设备 | |
CN111581958A (zh) | 对话状态确定方法、装置、计算机设备及存储介质 | |
CN114511864B (zh) | 文本信息提取方法、目标模型的获取方法、装置及设备 | |
CN113724189A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN114282035A (zh) | 图像检索模型的训练和检索方法、装置、设备及介质 | |
CN114283310A (zh) | 图像识别模型的获取方法、图像识别方法、装置及介质 | |
CN113918767A (zh) | 视频片段定位方法、装置、设备及存储介质 | |
CN114283299A (zh) | 图像聚类方法、装置、计算机设备及存储介质 | |
CN113505256A (zh) | 特征提取网络训练方法、图像处理方法及装置 | |
CN113763931B (zh) | 波形特征提取方法、装置、计算机设备及存储介质 | |
CN115170896A (zh) | 图像处理方法、装置、电子设备及可读存储介质 | |
CN115129932A (zh) | 视频片段的确定方法、装置、设备及存储介质 | |
CN114299306A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40070923 Country of ref document: HK |