CN110209867B - 图像检索模型的训练方法、装置、设备及存储介质 - Google Patents
图像检索模型的训练方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110209867B CN110209867B CN201910487664.8A CN201910487664A CN110209867B CN 110209867 B CN110209867 B CN 110209867B CN 201910487664 A CN201910487664 A CN 201910487664A CN 110209867 B CN110209867 B CN 110209867B
- Authority
- CN
- China
- Prior art keywords
- image
- hash
- sample
- loss function
- retrieval model
- 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.)
- Active
Links
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/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
- G06N3/045—Combinations of networks
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请公开了一种图像检索模型的训练方法、装置、设备及存储介质。所述方法包括:获取图像检索模型;获取训练样本,训练样本包括图像样本以及图像样本的标注信息;根据图像样本的标注信息,确定图像样本对应的哈希中心;通过图像样本的哈希码和图像样本对应的哈希中心,对图像检索模型进行训练,得到完成训练的图像检索模型。由于在每一轮训练过程中是将图像样本的哈希码与其所属类别的哈希中心靠近,该哈希中心反映的是图像所属类别的类别特征,因此在每一轮训练中可以同时获取到一个类别的相似度信息;相比于相关技术中,每一轮训练中只能得到两张图像或三张图像的相似度信息,训练效率更高。
Description
技术领域
本申请实施例涉及图像检索技术领域,特别涉及一种图像检索模型的训练方法、装置、设备及存储介质。
背景技术
随着大数据时代的到来,互联网中图像、视频、文本等资源迅猛增长。为了在大规模图像库中进行快速有效地检索,在图像检索模型中引入哈希函数,通过哈希函数将图像保持相似性地转换为二进制哈希码。由于二进制哈希码在汉明距离计算上的高效性和存储空间上的优势,哈希函数广泛应用于大规模图像检索中。
在相关技术中,利用数据的成对相似性(即每轮训练样本为两张图像,该两张图像为相同类别或不同类别)或者数据的三联体相似性(即每轮训练样本为三张图像,其中两张图像为相同类别,另一张图像为其它类别),通过最小化相同类别的两张图像之间的汉明距离,最大化不同类别的两张图像之间的汉明距离训练包含哈希函数的图像检索模型,通过该图像检索模型生成图像的哈希码用于图像检索。
上述相关技术中,每一轮训练中只能得到两张图像或三张图像的相似度信息,训练效率低。
发明内容
本申请实施例提供了一种图像检索模型的训练方法、装置、设备及存储介质,可用于解决相关技术提供的训练方法,训练效率低的技术问题。所述技术方案如下:
一方面,本申请实施例提供一种图像检索模型的训练方法,所述方法包括:
构建图像检索模型;
获取训练样本,所述训练样本包括图像样本以及所述图像样本的标注信息,所述图像样本的标注信息用于指示所述图像样本所属类别;
根据所述图像样本的标注信息,确定所述图像样本对应的哈希中心,所述哈希中心用于通过哈希码反映图像所属类别的类别特征;
通过所述图像样本的哈希码和所述图像样本对应的哈希中心,对所述图像检索模型进行训练,得到完成训练的图像检索模型。
另一方面,本申请实施例提供一种图像检索方法,所述方法包括:
获取待检索图像;
调用图像检索模型,生成所述待检索图像的目标哈希码,所述图像检索模型是通过图像样本的哈希码和所述图像样本对应的哈希中心训练的;
计算所述目标哈希码与图像库中图像的哈希码之间的相似度;
根据所述相似度从所述图像库中选择至少一张图像输出,得到所述待检索图像的检索结果。
又一方面,本申请实施例提供一种图像检索模型的训练装置,所述装置包括:
模型获取模块,用于获取图像检索模型;
样本获取模块,用于获取训练样本,所述训练样本包括图像样本以及所述图像样本的标注信息,所述图像样本的标注信息用于指示所述图像样本所属类别;
中心确定模块,用于根据所述图像样本的标注信息,确定所述图像样本对应的哈希中心,所述哈希中心用于通过哈希码反映图像所属类别的类别特征;
模型训练模块,用于通过所述图像样本的哈希码和所述图像样本对应的哈希中心,对所述图像检索模型进行训练,得到完成训练的图像检索模型。
还一方面,本申请实施例提供一种图像检索装置,所述装置包括:
图像获取模块,用于获取待检索图像;
哈希码生成模块,用于调用图像检索模型,生成所述待检索图像的目标哈希码,所述图像检索模型是通过图像样本的哈希码和所述图像样本对应的哈希中心训练的;
相似度计算模块,用于计算所述目标哈希码与图像库中图像的哈希码之间的相似度;
结果获取模块,用于根据所述相似度从所述图像库中选择至少一张图像输出,得到所述待检索图像的检索结果。
再一方面,本申请实施例提供一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述图像检索模型的训练方法,或者实现上述图像检索方法。
又一方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述图像检索模型的训练方法,或者实现上述图像检索方法。
又一方面,本申请实施例提供一种计算机程序产品,当该计算机程序产品被执行时,其用于执行上述图像检索模型的训练方法,或者上述图像检索方法。
本申请实施例提供的技术方案至少包括如下有益效果:
本申请实施例提供的技术方案,首先获取图像检索模型,并通过训练样本中的图像样本以及图像样本的标注信息,确定出图像样本对应的哈希中心;然后,通过图像样本的哈希码和图像样本对应的哈希中心对图像检索模型进行训练,得到完成训练的图像检索模型。由于在每一轮训练过程中是将图像的哈希码与其所属类别的哈希中心靠近,该哈希中心反映的是图像所属类别的类别特征,因此在每一轮训练中可以同时获取到一个类别的相似度信息;相比于相关技术中,每一轮训练中只能得到两张图像或三张图像的相似度信息,训练效率更高。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示例性示出了本申请提供的图像检索模型的训练方法的流程图;
图2是本申请一个实施例提供的图像检索模型的训练方法的流程图;
图3是本申请另一个实施例提供的图像检索模型的训练方法的流程图;
图4示例性示出了生成图像样本的哈希码的流程示意图;
图5示例性示出了采用本方案与相关技术得到的哈希码分布的示意图;
图6是本申请一个实施例提供的图像检索方法的流程图;
图7示例性示出了图像检索方法的流程示意图;
图8示例性示出了采用本方案与相关技术得到的图像检索结果的示意图;
图9是本申请一个实施例提供的图像检索模型的训练装置的框图;
图10是本申请另一个实施例提供的图像检索模型的训练装置的框图;
图11是本申请一个实施例提供的图像检索装置的框图;
图12是本申请一个实施例提供的计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例中涉及的名词进行简要介绍。
哈希码:指通过哈希函数将图像保持相似性地转换为一组固定长度的二进制编码,该编码即为该图像的哈希码,通常使用-1和1,或者0和1表示其中的比特。在本申请实施例中,图像的哈希码采用0和1表示。由于哈希码在汉明距离计算上的高效性和存储空间上的优势,哈希函数广泛应用于大规模图像检索中。在本申请实施例中,将哈希函数应用于哈希码生成器中,以生成输入图像的哈希码。
汉明距离(Hamming Distance):表示两个相同长度的字符串对应位不同的数量。例如,以DH(X,Y)表示两个字符串之间的汉明距离,X和Y表示两个字符串,对两个字符串进行异或运算,对应位的值相同时运算结果为0,对应位的值不同时运算结果为1,统计运算结果为1的个数,该个数即为汉明距离。
例如,X=(x1,x2,…,xn),Y=(y1,y2,…,yn),则X和Y之间的汉明距离可以表示为:
例如,X为1011101,Y为1001001,其中只有第三对应位和第五对应位上X和Y的值不相同,即X和Y之间的汉明距离为2。
在本申请实施例中,汉明距离是指两张图像的哈希码之间不同的比特位的个数,该汉明距离可以衡量两个哈希码之间的相似性,进一步衡量两张图像之间的相似度。汉明距离的值越小,表示两个哈希码越相似,进一步表示该两个哈希码对应的两张图像更相关。
哈达玛矩阵(Hadamard matrix):是指由1和0作为元素组成的矩阵,其任意两行(或两列)的内积为0,且哈达玛矩阵的阶数为以2为底的幂指数。
以哈达玛矩阵HK为一个K*K的矩阵为例,HK可以表示为:
本申请实施例提供的方法,各步骤的执行主体可以是计算机设备,该计算机设备是指具备数据计算、处理和存储能力的电子设备,如PC(Personal Computer,个人计算机)或服务器。
请参考图1,其示例性示出了本申请提供的图像检索模型的训练方法的流程图。首先获取图像检索模型10,该图像检索模型10包括特征提取器11和哈希码生成器12。计算机设备获取至少一个训练样本20,每个训练样本中包括一张图像样本21和该图像样本的标注信息22;通过图像样本21、该图像样本的标注信息22以及样本哈希中心30,可以确定该图像样本对应的哈希中心40;图像检索模型10中特征提取器11先提取该图像样本21的抽象特征,该抽象特征经哈希码生成器12,生成该图像样本的哈希码50;然后,根据图像样本的哈希码50与该图像样本对应的哈希中心40,得到图像检索模型10的误差损失函数的误差60;另外,还可以得到图像检索模型10的量化损失函数的值70;之后可以将该误差损失函数的误差60和量化损失函数的值70反馈至图像检索模型10,图像检索模型10通过调整其参数,在平衡误差损失函数和量化损失函数的同时,最小化目标函数的值,得到完成训练的图像检索模型。本申请实施例提供的技术方案,由于在每一轮训练过程中是将图像的哈希码与其所属类别的哈希中心靠近,该哈希中心反映的是图像所属类别的类别特征,因此在每一轮训练中可以同时获取到一个类别的相似度信息。相比于相关技术中,每一轮训练中只能得到两张图像或三张图像的相似度信息,训练效率更高。
本申请实施例提供的技术方案,可应用于AI(Artificial Intelligence,人工智能)领域的图像检索任务的模型训练过程中。
请参考图2,其示出了本申请一个实施例提供的图像检索模型的训练方法的流程图。该方法可以包括以下几个步骤(201~204):
步骤201,获取图像检索模型。
计算机设备可以获取图像检索模型,该图像检索模型可以是设计人员构建的。
可选地,构建图像检索模型可以包括确定图像检索模型的如下内容:确定图像检索模型的组成部分,该组成部分可以包括特征提取器和哈希码生成器;确定每个组成部分所包括的层级,该层级可以包括卷积层、归一化层、一维化层、全连接层等等;另外,还可以确定图像检索模型的各个组成部分的参数和连接关系,以及每个组成部分中各个层级的数量、参数和连接关系等等。
当该图像检索模型获取到待检索图像时,可以基于该待检索图像的内容进行检索,最后将与待检索图像最相似的至少一张图像返回给用户。
步骤202,获取训练样本,训练样本包括图像样本以及图像样本的标注信息。
在模型的训练过程中,计算机设备可以获取至少一个训练样本。该训练样本中的图像样本可以是图像采集装置(如摄像头、摄像机、扫描仪、医疗设备、激光雷达等等)采集的图像,也可以是预先存储在本地的图像,还可以是从网络上获取的图像,本申请实施例对此不作限定。另外,上述图像样本可以是图片格式的图像,也可以是视频图像,该视频图像是指对视频进行解析得到图像。在本申请实施例中,对上述图像样本的格式也不作限定。
上述图像样本的标注信息用于指示图像样本所属类别。图像样本所属类别可以是人工预先标注的。在本申请实施例中,每张图像样本属于一个类别。例如,若图像样本中为狗,则该图像样本所属类别为“狗”;若图像样本中为猫,则该图像样本所属类别为“猫”。上述至少一个训练样本可以包括相同或者不同类别的多张图像样本。
需要说明的是,上述训练样本中可以包括全部图像样本的标注信息,也可以部分图像样本的标注信息,本申请实施例对此不作限定。
步骤203,根据图像样本的标注信息,确定图像样本对应的哈希中心。
上述哈希中心用于通过哈希码反映图像所属类别的类别特征,图像样本对应的哈希中心用于通过哈希码反映图像样本所属类别的类别特征。由于图像的哈希码是基于图像内容的特征生成的,图像的哈希码同样能够反映图像内容的特征;进而,属于相同类别的多张图像,其各自的哈希码也具有相似的特征。因此,对于属于同一类别的图像,可以确定一个哈希中心,以反映该类别的图像的特征。
可选地,上述根据图像样本的标注信息,确定图像样本对应的哈希中心,包括:根据图像样本的标注信息,从m个样本哈希中心中确定图像样本对应的哈希中心,每个样本哈希中心对应于各自的类别,m为大于等于1的整数。
在训练图像检索模型之前,计算机设备可以预先获取上述m个样本哈希中心。该样本哈希中心与类别的对应关系可以是人工分配的。
在一个示例中,上述每个样本哈希中心对应于一种类别,例如,有3个样本哈希中心,第一个样本哈希中心对应于哈士奇类别,第二个样本哈希中心对应于柴犬类别,第三个样本哈希中心对应于金毛类别;在另一个示例中,多个样本哈希中心对应于一种类别,例如,有3个样本哈希中心,第一个样本哈希中心对应于哈士奇,第二个样本哈希中心对应于柴犬,第三个样本哈希中心对应于金毛,则上述三个样本哈希中心均对应于狗类别。本申请实施例对于样本哈希中心与类别的对应关系不作限定。
可选地,该m个样本哈希中心可以是人工确定后存储在计算机设备中的,也可以是计算机设备预先自行确定后存储的,本申请实施例对此不作限定。
可选地,在根据图像样本的标注信息,从m个样本哈希中心中确定图像样本对应的哈希中心之前,还包括:选择m个满足目标条件的候选哈希中心,确定为m个样本哈希中心,其中,目标条件包括:每个候选哈希中心中各个维度的值为1或者0,和,m个候选哈希中心中任意两个候选哈希中心之间的平均距离小于或等于距离阈值。上述距离阈值可以是候选哈希中心总维度的二分之一。在一些其它示例中,该距离阈值还可以是其它值,如候选哈希中心总维度的三分之一,本申请实施例对此不作限定。
示例性地,假设m个候选哈希中心,每个候选哈希中心均为K维向量,则m个候选哈希中心满足下述目标条件包括:
(1)每个候选哈希中心中各个维度的值为1或者0,则m个候选哈希中心可以表示为:
其中,ci表示第i个候选哈希中心,i为大于等于1,且小于m的整数。
(2)上述m个候选哈希中心中任意两个候选哈希中心之间的平均距离还需要满足如下条件:
其中,T是m个样本哈希中心中任意两个不同的样本哈希中心进行组合的总数;DH(ci,cj)表示任意两个不同的样本哈希中心之间的汉明距离。
由于哈达玛矩阵符合上述目标条件,因此,可以从哈达玛矩阵中选择任意m行作为m个候选哈希中心,确定为m个样本哈希中心。关于哈达玛矩阵已在名词的简要介绍中进行了阐述,此处不再赘述。
需要说明的是,当m小于等于K时,可以直接将哈达玛矩阵中的任意m行作为m个候选哈希中心;当m大于K且小于2K时,需要先构建矩阵H2K=[HK,-HK]T,然后选择其中的任意m行作为m个候选哈希中心;当K=2n时,哈达玛矩阵可以表示为:
然后选择其中的任意m行作为m个候选哈希中心。
在确定上述m个候选哈希中心后,进一步可以确定m个样本哈希中心,该m个样本哈希中心对应于各自的类别。对于至少一个训练样本,由于其标注信息指示出图像样本所属类别,从而可以确定出图像样本对应的哈希中心。例如,通过哈达玛矩阵得到3个样本哈希中心,第一个样本哈希中心0010对应的类别为“狗”,第二个样本哈希中心1001对应的类别为“猫”,第三个样本哈希中心1101对应的类别为“人”,图像样本的标注信息指示该图像样本所属类别为“猫”,则该图像样本对应的哈希中心为“1001”。
步骤204,通过图像样本的哈希码和图像样本对应的哈希中心,对图像检索模型进行训练,得到完成训练的图像检索模型。
在获取到图像样本的哈希码和图像样本对应的哈希中心后,通过不断减小图像样本的哈希码和图像样本对应的哈希中心之间的差异,来对图像检索模型进行训练,不断更新图像检索模型的参数,从而得到完成训练的图像检索模型。
可选地,上述通过图像样本的哈希码和图像样本对应的哈希中心对图像检索模型进行训练,得到完成训练的图像检索模型,包括:通过图像样本的误差损失函数和量化损失函数,来调整图像检索模型的参数,得到完成训练的图像检索模型;其中,误差损失函数用于衡量图像样本的哈希码与图像样本对应的哈希中心之间的差异程度,量化损失函数用于衡量图像样本的哈希码中各个维度的值与二值之间的差异程度。关于图像样本的误差损失函数、量化损失函数以及根据上述损失函数训练图像检索模型,在下述图3实施例中进行详细介绍,此处不再赘述。
该完成训练的图像检索模型,可用于生成的图像的哈希码,且生成的哈希码与该图像对应的哈希中心之间的差异更小,因此属于同一类别图像的哈希码之间的更相似,从而通过该图像的哈希码可以检索到更多与该图像相关的其它图像,进一步使图像检索结果更加精确。
综上所述,本申请实施例提供的技术方案,首先获取图像检索模型,并通过训练样本中的图像样本以及图像样本的标注信息,确定出图像样本对应的哈希中心;然后,通过图像样本的哈希码和图像样本对应的哈希中心对图像检索模型进行训练,得到完成训练的图像检索模型。由于在每一轮训练过程中是将图像的哈希码与其所属类别的哈希中心靠近,该哈希中心反映的是图像所属类别的类别特征,因此在每一轮训练中可以同时获取到一个类别的相似度信息;相比于相关技术中,每一轮训练中只能得到两张图像或三张图像的相似度信息,训练效率更高。
结合参考图3,其示出了本申请另一个实施例提供的图像检索模型的训练方法的流程图。该方法可以包括以下几个步骤(301~309):
步骤301,获取图像检索模型。
对于此步骤的介绍与图2实施例中步骤201介绍的内容相同或类似,此处不再赘述。
步骤302,获取训练样本,训练样本包括图像样本以及图像样本的标注信息。
对于此步骤的介绍与图2实施例中步骤202介绍的内容相同或类似,此处不再赘述。
步骤303,根据图像样本的标注信息,从m个样本哈希中心中确定图像样本对应的哈希中心,m为大于等于1的整数。
由于哈达玛矩阵符合候选哈希中心的目标条件,因此,可以从哈达玛矩阵中选择任意m行作为m个候选哈希中心。在确定上述m个候选哈希中心后,进一步可以确定m个样本哈希中心,该m个样本哈希中心对应于各自的类别。对于至少一个训练样本,由于其标注信息指示出图像样本所属类别,从而可以确定出图像样本对应的哈希中心。
关于此步骤的其它介绍内容,可参考上述图2实施例中步骤203介绍的内容,此处不再赘述。
步骤304,将图像样本输入特征提取器,得到图像样本的抽象特征。
上述图像检索模型包括特征提取器和哈希码生成器。其中,特征提取器用于对图像数据进行分析,提取图像样本本身内容的向量表示或描述,该向量即图像样本的抽象特征。该抽象特征是可以反映图样样本的低维度的特征,如颜色特征、纹理特征、形状特征等等的高维度特征,该高纬度特征包含有丰富的语义信息。
可选地,上述特征提取器的架构可以是二维CNNs(Convolutional NeuralNetworks,卷积神经网络),也可以是三维CNNs,还可以是其它可用于提取图像的抽象特征的网络架构,本申请实施例对此不作限定。
示例性地,该特征提取器可以包含一组堆叠的卷积层。图像样本在经过每一个卷积层时,会有多个不同的卷积核对其进行卷积。由于不同的卷积核对不同的特征敏感,因此每经过一个卷积层,就能得到图像样本的一组特征,在经过多个卷积层之后,得到图像样本的抽象特征。
步骤305,将图像样本的抽象特征输入哈希码生成器,得到图像样本的哈希码。
该哈希码生成器中部署有哈希函数,以便在获取到图像样本的抽象特征后,通过哈希函数将该抽象特征保持相似性地转换为哈希码,即得到图像样本的哈希码。
可选地,该哈希码生成器包括至少一层全连接层(Fully Connected Layer)。另外,除去最后一层全连接层之外的每一层全连接层之后都可以随一个激活函数,该激活函数可以是leaky ReLU、ReLU、RReLU等,本申请实施例对此不作限定。
示例性地,结合参考图4,其示例性示出了生成图像样本的哈希码的流程示意图。假设特征提取器11为三维CNNs,哈希码生成器12包括三层全连接层,如FC1 13、FC2 14和FC3 15,激活函数为ReLU。图像样本21在输入图像检索模型后,首先通过特征提取器11提取该图像样本21的抽象特征,然后将该抽象特征依次输入FC1 13、FC2 14和FC3 15,且在FC113和FC2 14之后分别跟随有激活函数ReLU,最终生成图像样本的哈希码50,如100101。
步骤306,根据图像样本的哈希码与图像样本对应的哈希中心,计算误差损失函数的误差。
误差损失函数用于衡量图像样本的哈希码与图像样本对应的哈希中心之间的差异程度。该误差损失函数的误差越大,表示图像样本的哈希码与图像样本对应的哈希中心之间的差异越大。由于图像样本对应的哈希中心反映的是该图像样本所属类别的类别特征,当图像样本的哈希码与图像样本对应的哈希中心之间的差异越大时,基于该图像样本的哈希码进行检索,得到的检索结果越不准确。
可选地,误差损失函数可以采用交叉熵(Cross Entropy,CE)损失函数。
上述计算误差损失函数的值可以包括:取每个训练样本中图像样本的哈希码中各个维度的值的对数;计算上述每个训练样本中图像样本的哈希码中各个维度的值的对数,与该图像样本对应的哈希中心中各个维度的值之间差异的和;进一步,计算至少一个训练样本中,图像样本的哈希码中各个维度的值的对数,与该图像样本对应的哈希中心中各个维度的值之间差异的总和,并计算该总和的平均值。
示例性地,上述误差损失函数LC可以表示为:
其中,n表示训练样本的数量,i表示第i个训练样本,即训练样本的编号,i为大于等于1,且小于或等于n的整数;K为哈希码总维度,k表示哈希码的维度编号,k为大于等于1,且小于或等于K的整数;c'i,k表示第i个训练样本中图像样本对应的哈希中心的第k维的值,hi,k表示第i个训练样本中图像样本的哈希码的第k维的值。只有当c'i,k与hi,k相同时,误差损失函数的值为0。
因此,在训练过程中,通过最小化误差损失函数的值,可以不断减小图像样本的哈希码与该图像样本对应的哈希中心之间的差异,进而使同一类别图像的哈希码更相似,基于该图像样本的哈希码进行检索,得到的检索结果也越准确。
步骤307,根据图像样本的哈希码,计算量化损失函数的值。
上述量化损失函数用于衡量图像样本的哈希码中各个维度的值与二值之间的差异程度,该二值为0和1。由于误差损失函数无法确保训练样本中图像样本的哈希码均为二值,该图像样本的哈希码可能为连续哈希码,因此在训练过程中,哈希码生成器还需要将图像样本的连续哈希码不断量化为二值哈希码,以使完成训练的图像检索模型生成的图像的哈希码为二值哈希码。
可选地,将连续哈希码进行量化可以包括:设定一个阈值,将连续哈希码中每个维度的值与该阈值进行比较,然后,将大于或等于该阈值的维度的值映射为1,将小于该阈值的维度的值映射为0。在一些其它示例中,还可以采用其它量化方法,本申请实施例对此不作限定。
示例性地,哈希码生成器在获取到图像样本的抽象特征后,先将该抽象特征转换为图像样本的连续哈希码,如17286385,然后还需要将该连续哈希码量化二值哈希码,假设量化时设定的阈值为5,即将大于等于5的维度的值映射为1,小于或等于5的维度的值映射为0,那么该连续哈希码经量化后得到的二值哈希码为01011011。
上述计算量化损失函数的值可以包括:根据每个训练样本中图像样本的哈希码中各个维度的值与二值,采用双曲余弦函数,计算各个维度的值与二值的差异;对上述各个维度的值与二值的差异取对数,得到对数值;根据各个维度得到的对数值计算图像样本的各个维度的对数值和;根据每个图像样本的对数值和,计算至少一个训练样本中图像样本的对数值和的总和。
示例性地,上述量化损失函数LQ可以表示为:
其中,n表示训练样本的数量,i表示第i个训练样本,即训练样本的编号,i为大于等于1,且小于或等于n的整数;K为哈希码总维度,k表示哈希码的维度编号,k为大于等于1,且小于或等于K的整数;cosh为双曲余弦函数,hi,k表示第i个训练样本中图像样本的哈希码的第k维的值。当hi,k的值为0或者1时,上述量化损失函数的值为0。
在训练过程中,通过最小化量化损失函数的值,可以使完成训练的图像检索模型生成的哈希码为二值哈希码,进一步提高图像的哈希码的准确度。
步骤308,根据误差损失函数与量化损失函数,构建目标函数。
上述图像检索模型训练的目标函数可以表示为:
LT=LC+μLQ;
其中,LC表示误差损失函数,LQ表示量化损失函数,μ表示用于控制误差损失函数和量化损失函数的权重的超参数。该μ的值可以由人工进行配置。通过该超参数的控制,可以平衡训练过程中误差损失函数和量化损失函数。
在目标函数中加入量化损失,通过减小量化损失函数的值,有效降低哈希码生成器量化造成的误差,使得完成训练的图像检索模型生成的哈希码为二值哈希码,增强哈希码的表达能力,进一步提高图像检索的准确率。
步骤309,通过最小化目标函数的值,来调整图像检索模型的参数,得到完成训练的图像检索模型。
在获取到上述误差损失函数的误差和量化损失函数的值之后,可以将该误差损失函数的误差和量化损失函数的值反馈至图像检索模型,图像检索模型通过调整其参数,在平衡误差损失函数和量化损失函数的同时,最小化目标函数的值,使得图像检索模型生成的图像的哈希码与其所属类别的哈希中心之间的差异不断减小,进而使图像的哈希码与其所属类别的哈希中心更加相似,提高了哈希码的表达能力和准确度。
在图像检索模型满足停止训练条件时,停止对该模型的训练,得到完成训练的图像检索模型。该完成训练的图像检索模型生成图像的哈希码为二值哈希码,且与其所属类别的哈希中心更相似。其中,图像检索模型的停止训练条件可以预先进行设定,如损失函数的值达到预设阈值、训练轮数达到预设轮数或训练时长达到预设时长等,本申请实施例对此不作限定。
综上所述,本申请实施例提供的技术方案,在获取到训练样本后,将训练样本中的图像样本输入特征提取器,得到图像样本的抽象特征,进一步将抽象特征输入哈希码生成器,得到图像样本的哈希码;然后通过最小化由误差损失函数和量化损失函数构建的目标函数的值,来调整图像检索模型的参数,得到完成训练的图像检索模型。由于每一轮训练过程中,不断减小图像样本的哈希码与其所属类别的哈希中心之间的差异程度,相比于相关技术中,每一轮训练过程只能减小两张图像的哈希码之间的差异,一方面,训练效率更高,另一方面,提高了哈希码的表达能力,从而通过该图像的哈希码可以检索到更多与该图像相关的其它图像。
另外,在目标函数中加入量化损失,通过减小量化损失函数的值,有效降低哈希码生成器量化造成的误差,使得完成训练的图像检索模型生成的哈希码为二值哈希码,增强了哈希码的表达能力,进一步提高了图像检索的准确率。
下面,结合参考图5,通过采用本方案提供的完成训练的图像检索模型生成的哈希码,与采用数据成对相似性训练的哈希码生成器生成的哈希码分布进行对比,进一步描述本方案的有益效果。
如图5所示,方形表示猫类图像的哈希码,三角形表示蝴蝶类图像的哈希码,圆形表示狗类图像的哈希码,五角星表示每一类图像的哈希中心;图(a)表示和图(c)表示训练之前的哈希码生成器生成的哈希码,图(b)表示采用数据成对相似性训练的哈希码生成器,生成的哈希码的分布情况,图(d)表示采用本方案提供的完成训练的图像检索模型,生成的哈希码的分布情况。从图中5中可以看出,本方案提供的完成训练的图像检索模型,由于在训练过程中不断缩小图像的哈希码与该图像所属类别的哈希中心之间的差异,相较于相关技术中基于数据成对相似性训练的方法,每轮训练只能缩小两张图像的哈希码之间的差异,训练效率更高;另外,还可以使同类别图像的哈希码分布更加紧密,即同一类别的图像的哈希码更加相似,从而通过该图像的哈希码可以检索到更多与该图像相关的其它图像,进一步使图像检索结果更加精确。
结合参考图6,其示出了本申请一个实施例提供的图像检索方法的流程图。该方法可以包括以下几个步骤(601~604):
步骤601,获取待检索图像。
用户上传待检索图像,以检索与该待检索图像相关的图像。对应地,计算机设备获取该待检索图像。该待检索图像可以是图像采集装置(如摄像头、摄像机、扫描仪、医疗设备、激光雷达等等)采集的图像,也可以是预先存储在本地的图像,还可以是从网络上获取的图像,本申请实施例对此不作限定。另外,上述待检索图像可以是图片格式的图像,也可以是视频图像,在本申请实施例中,对上述待检索图像的格式也不作限定。
可选地,计算机设备在获取该待检索图像之前,还可以获取图像库中图像的哈希码,该图像的哈希码是采用图像检索模型生成的,该图像检索模型是通过图像样本的哈希码和图像样本对应的哈希中心训练的。另外,该图像的哈希码均为二值哈希码。
关于上述图像检索模型的训练过程的详细介绍,可参考上文图2和图3实施例的内容,此处不再赘述。
图像库中包括大量相同或不同类别的图像,计算机设备可以预先调用图像检索模型,以生成图像库中图像的哈希码。由于该图像检索模型是通过图像样本的哈希码和图像样本对应的哈希中心训练的,因此图像的哈希码与其所属类别的哈希中心之间的差异较小,进而使同一类别的图像的哈希码之间的差异较小。
步骤602,调用图像检索模型,生成待检索图像的目标哈希码。
在接收到用户上传的待检索图像后,计算机设备可以调用图像检索模型,以生成待检索图像的目标哈希码,该目标哈希码可用于检索与该待检索图像相关的其它图像。
可选地,图像检索模型包括特征提取器和哈希码生成器;则上述调用图像检索模型,生成待检索图像的目标哈希码,包括:将待检索图像输入特征提取器,得到待检索图像的抽象特征;将待检索图像的抽象特征输入哈希码生成器,得到待检索图像的目标哈希码。由于待检索图像的目标哈希码是调用图像检索模型生成的,因此该目标哈希码每个维度的值为1或0。
步骤603,计算目标哈希码与图像库中图像的哈希码之间的相似度。
在获取到待检索图像的目标哈希码与图像库中图像的哈希码之后,可以计算目标哈希码与图像库中图像的哈希码之间的相似度。相似度越高,表示两张图像的内容越相关。
在一个示例中,可以计算目标哈希码与图像库中每张图像的哈希码之间的相似度;在另一个示例中,可以计算目标哈希码与图像库中部分图像的哈希码之间的相似度。本申请实施例对此不作限定。
可选地,该相似度可以采用汉明距离、欧氏距离、编辑距离等等来表示,本申请实施例对此不作限定。以汉明距离为例,汉明距离的值越小,表示目标哈希码与图像库中图像的哈希码之间的相似度越高,即两张图像的相似度越高。关于汉明距离已在前文的名词解释中进行了介绍,此处不再赘述。
步骤604,根据相似度从图像库中选择至少一张图像输出,得到待检索图像的检索结果。
在计算得到目标哈希码与图像库中图像的哈希码之间的相似度之后,可以从图像库中选择至少一张图像输出,即得到待检索图像的检索结果。可选地,计算机设备可以选取图像库中相似度处于目标范围的至少一张图像输出,得到待检索图像的检索结果。本申请实施例中对于上述目标范围不作限定,可根据实际需求进行设定。
示例性地,上述至少一张图像可以按照从高到低的顺序进行排序,并以该排序输出。在一些其它实施例中,上述至少一张图像可以根据实际的输出展示需求进行调整,本申请实施例对此不作限定。
示例性地,以采用汉明距离表示相似度为例,假设图像库中三张图像,如图像A、图像B和图像C,其中图像A的哈希码为10000,图像B的哈希码为11011,图像C的哈希码为11101;待检索图像的目标哈希码为11010;计算可知,目标哈希码与图像A的哈希码之间的汉明距离为2,目标哈希码与图像B的哈希码之间的汉明距离为1,目标哈希码与图像C的哈希码之间的汉明距离为3,因此,相似度从高到低的顺序为图像B、图像A、图像C,从而图像检索结果可以表示为图像B、图像A、图像C;然后,计算机设备可以按图像B、图像A、图像C的顺序返回给用户。
示例性地,结合参考图7,其示例性示出了图像检索方法的流程示意图。以汉明距离表示相似度。在获取到待检索图像100后,通过调用图像检索模型101生成待检索图像的目标哈希码102,如1001011;然后计算该目标哈希码102与图像库中图像的哈希码103之间的汉明距离104,汉明距离104的值越小,表示相似度越高;然后将图像库中所有图像按照相似度从高到低的顺序进行排序,输出相似度最高的前K张图像,K为大于或等于1的整数,即为待检索图像的检索结果105。
综上所述,本申请实施例提供的技术方案,通过在获取待检索图像后,调用图像检索模型生成该待检索图像的目标哈希码,进一步计算该目标哈希码与图像库中图像的哈希码之间的相似度,并根据相似度从图像库中选择至少一张图像输出,得到待检索图像的检索结果。由于图像检索模型是通过图像样本的哈希码和图像样本对应的哈希中心训练的,使图像的哈希码与其所属类别的哈希中心之间的差异更小,属于同一类别图像的哈希码之间的相似度更高,提高了哈希码的表达能力,从而通过该图像的哈希码可以检索到更多与该图像相关的其它图像,进一步使图像检索结果更加精确。
下面,结合参考图8,通过将本方案提供的图像检索方法的检索结果与相关技术提供的图像检索方法的检索结果进行对比,进一步描述本方案的有益效果。
如图8所示,包括两组检索结果,其中第一组的待检索图像中包括水牛,检索结果中符号√表示该图像中也包括水牛,符号×为表示该图像中并不包括水牛。对比本方案的检索结果与相关技术的检索结果,可以看出,采用本方案提供的图像检索方法,可以检索到更多与待检索图像更加相似的相关图像。
第二组的待检索图像中包括交通灯、车、树和人,检索结果中符号√表示该图像中包括交通灯、车、树和人中的至少一种,符号√之后的数字表示该图像中包括交通灯、车、树和人中的几种。例如,√2表示该图像中包含交通灯、车、树和人中的2种。对比本方案的检索结果与相关技术的检索结果,可以看出,采用本方案提供的图像检索方法,可以得到的检索结果更加精确。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图9,其示出了本申请一个实施例提供的图像检索模型的训练装置的框图。该装置具有实现上述图像检索模型的训练方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是计算机设备,也可以设置在计算机设备中。该装置900可以包括:模型获取模块910、样本获取模块920、中心确定模块930和模型训练模块940。
模型获取模块910,用于获取图像检索模型。
样本获取模块920,用于获取训练样本,所述训练样本包括图像样本以及所述图像样本的标注信息,所述图像样本的标注信息用于指示所述图像样本所属类别。
中心确定模块930,用于根据所述图像样本的标注信息,确定所述图像样本对应的哈希中心,所述哈希中心用于通过哈希码反映图像所属类别的类别特征。
模型训练模块940,用于通过所述图像样本的哈希码和所述图像样本对应的哈希中心,对所述图像检索模型进行训练,得到完成训练的图像检索模型。
综上所述,本申请实施例提供的技术方案,首先获取图像检索模型,并通过训练样本中的图像样本以及图像样本的标注信息,确定出图像样本对应的哈希中心;然后,通过图像样本的哈希码和图像样本对应的哈希中心对图像检索模型进行训练,得到完成训练的图像检索模型。由于在每一轮训练过程中是将图像的哈希码与其所属类别的哈希中心靠近,该哈希中心反映的是图像所属类别的类别特征,因此在每一轮训练中可以同时获取到一个类别的相似度信息;相比于相关技术中,每一轮训练中只能得到两张图像或三张图像的相似度信息,训练效率更高。
在一些可能的设计中,所述中心确定模块930,用于根据所述图像样本的标注信息,从m个样本哈希中心中确定所述图像样本对应的哈希中心,每个所述样本哈希中心对应于各自的类别,所述m为大于等于1的整数。
在一些可能的设计中,所述中心确定模块930,还用于选择m个满足目标条件的候选哈希中心,确定为m个所述样本哈希中心;其中,所述目标条件包括:每个所述候选哈希中心中各个维度的值为1或者0,和,m个所述候选哈希中心中任意两个所述候选哈希中心之间的平均距离小于或等于距离阈值。
在一些可能的设计中,所述中心确定模块930,还用于从哈达玛矩阵中选择任意m行作为m个所述候选哈希中心,确定为m个所述样本哈希中心,所述哈达玛矩阵符合所述目标条件。
在一些可能的设计中,所述模型训练模块940,用于通过所述图像样本的误差损失函数和量化损失函数,来调整所述图像检索模型的参数,得到所述完成训练的图像检索模型;其中,所述误差损失函数用于衡量所述图像样本的哈希码与所述图像样本对应的哈希中心之间的差异程度,所述量化损失函数用于衡量所述图像样本的哈希码中各个维度的值与二值之间的差异程度,所述二值包括1和0。
在一些可能的设计中,如图10所示,所述装置900还包括:第一计算模块950和第二计算模块960。
第一计算模块950,用于根据所述图像样本的哈希码与所述图像样本对应的哈希中心,计算所述误差损失函数的误差。
第二计算模块960,用于根据所述图像样本的哈希码,计算所述量化损失函数的值。
在一些可能的设计中,所述模型训练模块940,用于根据所述误差损失函数与所述量化损失函数,构建目标函数;通过最小化所述目标函数的值,来调整所述图像检索模型的参数,得到所述完成训练的图像检索模型。
在一些可能的设计中,如图10所示,所述图像检索模型包括特征提取器和哈希码生成器;所述装置900还包括:特征提取模块970和哈希码生成模块980。
特征提取模块970,用于将所述图像样本输入所述特征提取器,得到所述图像样本的抽象特征。
哈希码生成模块980,用于将所述图像样本的抽象特征输入所述哈希码生成器,得到所述图像样本的哈希码。
请参考图11,其示出了本申请一个实施例提供的图像检索装置的框图。该装置具有实现上述图像检索方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是计算机设备,也可以设置在计算机设备中。该装置1100可以包括:图像获取模块1110、哈希码生成模块1120、相似度计算模块1130和结果获取模块1140。
图像获取模块1110,用于获取待检索图像。
哈希码生成模块1120,用于调用图像检索模型,生成所述待检索图像的目标哈希码,所述图像检索模型是通过图像样本的哈希码和所述图像样本对应的哈希中心训练的。
相似度计算模块1130,用于计算所述目标哈希码与图像库中图像的哈希码之间的相似度。
结果获取模块1140,用于根据所述相似度从图像库中选择至少一张图像输出,得到所述待检索图像的检索结果。
综上所述,本申请实施例提供的技术方案,通过在获取待检索图像后,调用图像检索模型生成该待检索图像的目标哈希码,进一步计算该目标哈希码与图像库中图像的哈希码之间的相似度,并根据相似度从图像库中选择至少一张图像输出,得到待检索图像的检索结果。由于图像检索模型是通过图像样本的哈希码和图像样本对应的哈希中心训练的,使图像的哈希码与其所属类别的哈希中心之间的差异更小,属于同一类别图像的哈希码之间的相似度更高,提高了哈希码的表达能力,从而通过该图像的哈希码可以检索到更多与该图像相关的其它图像,进一步使图像检索结果更加精确。
在一些可能的设计中,所述图像检索模型包括特征提取器和哈希码生成器。
所述哈希码生成模块1120,用于将所述待检索图像输入所述特征提取器,得到所述待检索图像的抽象特征;将所述待检索图像的抽象特征输入所述哈希码生成器,得到所述待检索图像的目标哈希码。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图12,其示出了本申请一个实施例提供的计算机设备的结构示意图。该计算机设备可以是任何具备数据处理和存储功能的电子设备,如PC或服务器。该计算机设备用于实施上述实施例中提供的图像检索模型的训练方法,或者图像检索方法。具体来讲:
所述计算机设备1200包括中央处理单元(CPU)1201、包括随机存取存储器(RAM)1202和只读存储器(ROM)1203的系统存储器1204,以及连接系统存储器1204和中央处理单元1201的系统总线1205。所述计算机设备1200还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1206,和用于存储操作系统1213、应用程序1214和其他程序模块1215的大容量存储设备1207。
所述基本输入/输出系统1206包括有用于显示信息的显示器1208和用于用户输入信息的诸如鼠标、键盘之类的输入设备1209。其中所述显示器1208和输入设备1209都通过连接到系统总线1205的输入输出控制器1210连接到中央处理单元1201。所述基本输入/输出系统1206还可以包括输入输出控制器1210以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1210还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1207通过连接到系统总线1205的大容量存储控制器(未示出)连接到中央处理单元1201。所述大容量存储设备1207及其相关联的计算机可读介质为计算机设备1200提供非易失性存储。也就是说,所述大容量存储设备1207可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1204和大容量存储设备1207可以统称为存储器。
根据本申请的各种实施例,所述计算机设备1200还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1200可以通过连接在所述系统总线1205上的网络接口单元1211连接到网络1212,或者说,也可以使用网络接口单元1211来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集经配置以由一个或者一个以上处理器执行,以实现上述图像检索模型的训练方法,或者实现上述图像检索方法。
在示例性实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被计算机设备的处理器执行时实现上述图像检索模型的训练方法,或者实现上述图像检索方法。
在示例性实施例中,上述计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被执行时,其用于实现上述图像检索模型的训练方法,或者实现上述图像检索方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.一种图像检索模型的训练方法,其特征在于,所述方法包括:
获取图像检索模型,所述图像检索模型用于生成图像的哈希码;
获取训练样本,所述训练样本包括图像样本以及所述图像样本的标注信息,所述图像样本的标注信息用于指示所述图像样本所属类别;
根据所述图像样本的标注信息,从m个样本哈希中心中确定所述图像样本对应的哈希中心,所述哈希中心用于通过哈希码反映图像所属类别的类别特征,每个样本哈希中心与类别的对应关系是预先分配的,所述m为大于等于1的整数;
通过所述图像样本的误差损失函数和量化损失函数,来调整所述图像检索模型的参数,得到完成训练的图像检索模型;
其中,所述误差损失函数用于衡量所述图像样本的哈希码与所述图像样本对应的哈希中心之间的差异程度,所述量化损失函数用于使完成训练的图像检索模型生成的图像的哈希码为二值哈希码,所述二值哈希码的二值包括1和0,所述量化损失函数用于衡量所述图像样本的哈希码中各个维度的值与所述二值之间的差异程度。
2.根据权利要求1所述的方法,其特征在于,所述根据所述图像样本的标注信息,从m个样本哈希中心中确定所述图像样本对应的哈希中心之前,还包括:
选择m个满足目标条件的候选哈希中心,确定为m个所述样本哈希中心;
其中,所述目标条件包括:每个所述候选哈希中心中各个维度的值为1或者0,和,m个所述候选哈希中心中任意两个所述候选哈希中心之间的平均距离小于或等于距离阈值。
3.根据权利要求2所述的方法,其特征在于,所述选择m个满足目标条件的候选哈希中心,确定为m个所述样本哈希中心,包括:
从哈达玛矩阵中选择任意m行作为m个所述候选哈希中心,确定为m个所述样本哈希中心,所述哈达玛矩阵符合所述目标条件。
4.根据权利要求1所述的方法,其特征在于,所述通过所述图像样本的误差损失函数和量化损失函数,来调整所述图像检索模型的参数,得到完成训练的图像检索模型之前,还包括:
根据所述图像样本的哈希码与所述图像样本对应的哈希中心,计算所述误差损失函数的误差;
根据所述图像样本的哈希码,计算所述量化损失函数的值。
5.根据权利要求4所述的方法,其特征在于,所述通过所述图像样本的误差损失函数和量化损失函数,来调整所述图像检索模型的参数,得到完成训练的图像检索模型,包括:
根据所述误差损失函数与所述量化损失函数,构建目标函数;
通过最小化所述目标函数的值,来调整所述图像检索模型的参数,得到完成训练的图像检索模型。
6.根据权利要求4或5所述的方法,其特征在于,所述图像检索模型包括特征提取器和哈希码生成器;
所述通过所述图像样本的误差损失函数和量化损失函数,来调整所述图像检索模型的参数,得到完成训练的图像检索模型之前,还包括:
将所述图像样本输入所述特征提取器,得到所述图像样本的抽象特征;
将所述图像样本的抽象特征输入所述哈希码生成器,得到所述图像样本的哈希码。
7.一种图像检索方法,其特征在于,所述方法包括:
获取待检索图像;
调用图像检索模型,生成所述待检索图像的目标哈希码,所述图像检索模型是通过图像样本的误差损失函数和量化损失函数训练的,所述误差损失函数用于衡量所述图像样本的哈希码与所述图像样本对应的哈希中心之间的差异程度,所述图像样本对应的哈希中心是根据所述图像样本的标注信息,从m个样本哈希中心中确定得到,所述哈希中心用于通过哈希码反映图像所属类别的类别特征,每个样本哈希中心与类别的对应关系是预先分配的,所述m为大于等于1的整数,所述量化损失函数用于使完成训练的图像检索模型生成的图像的哈希码为二值哈希码,所述二值哈希码的二值包括1和0,所述量化损失函数用于衡量所述图像样本的哈希码中各个维度的值与所述二值之间的差异程度;
计算所述目标哈希码与图像库中图像的哈希码之间的相似度;
根据所述相似度从所述图像库中选择至少一张图像输出,得到所述待检索图像的检索结果。
8.根据权利要求7所述的方法,其特征在于,所述图像检索模型包括特征提取器和哈希码生成器;
所述调用图像检索模型,生成所述待检索图像的目标哈希码,包括:
将所述待检索图像输入所述特征提取器,得到所述待检索图像的抽象特征;
将所述待检索图像的抽象特征输入所述哈希码生成器,得到所述待检索图像的目标哈希码。
9.一种图像检索模型的训练装置,其特征在于,所述装置包括:
模型获取模块,用于获取图像检索模型,所述图像检索模型用于生成图像的哈希码;
样本获取模块,用于获取训练样本,所述训练样本包括图像样本以及所述图像样本的标注信息,所述图像样本的标注信息用于指示所述图像样本所属类别;
中心确定模块,用于根据所述图像样本的标注信息,从m个样本哈希中心中确定所述图像样本对应的哈希中心,所述哈希中心用于通过哈希码反映图像所属类别的类别特征,每个样本哈希中心与类别的对应关系是预先分配的,所述m为大于等于1的整数;
模型训练模块,用于通过所述图像样本的误差损失函数和量化损失函数,来调整所述图像检索模型的参数,得到完成训练的图像检索模型;
其中,所述误差损失函数用于衡量所述图像样本的哈希码与所述图像样本对应的哈希中心之间的差异程度,所述量化损失函数用于使完成训练的图像检索模型生成的图像的哈希码为二值哈希码,所述二值哈希码的二值包括1和0,所述量化损失函数用于衡量所述图像样本的哈希码中各个维度的值与所述二值之间的差异程度。
10.一种图像检索装置,其特征在于,所述装置包括:
图像获取模块,用于获取待检索图像;
哈希码生成模块,用于调用图像检索模型,生成所述待检索图像的目标哈希码,所述图像检索模型是通过图像样本的误差损失函数和量化损失函数训练的,所述误差损失函数用于衡量所述图像样本的哈希码与所述图像样本对应的哈希中心之间的差异程度,所述图像样本对应的哈希中心是根据所述图像样本的标注信息,从m个样本哈希中心中确定得到,所述哈希中心用于通过哈希码反映图像所属类别的类别特征,每个样本哈希中心与类别的对应关系是预先分配的,所述m为大于等于1的整数,所述量化损失函数用于使完成训练的图像检索模型生成的图像的哈希码为二值哈希码,所述二值哈希码的二值包括1和0,所述量化损失函数用于衡量所述图像样本的哈希码中各个维度的值与所述二值之间的差异程度;
相似度计算模块,用于计算所述目标哈希码与图像库中图像的哈希码之间的相似度;
结果获取模块,用于根据所述相似度从所述图像库中选择至少一张图像输出,得到所述待检索图像的检索结果。
11.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至6任一项所述的方法,或者实现如权利要求7或8所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至6任一项所述的方法,或者实现如权利要求7或8所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910487664.8A CN110209867B (zh) | 2019-06-05 | 2019-06-05 | 图像检索模型的训练方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910487664.8A CN110209867B (zh) | 2019-06-05 | 2019-06-05 | 图像检索模型的训练方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110209867A CN110209867A (zh) | 2019-09-06 |
CN110209867B true CN110209867B (zh) | 2023-05-16 |
Family
ID=67791102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910487664.8A Active CN110209867B (zh) | 2019-06-05 | 2019-06-05 | 图像检索模型的训练方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110209867B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110942046B (zh) * | 2019-12-05 | 2023-04-07 | 腾讯云计算(北京)有限责任公司 | 图像检索方法、装置、设备及存储介质 |
CN111612080B (zh) * | 2020-05-22 | 2021-11-09 | 深圳前海微众银行股份有限公司 | 模型解释方法、设备及可读存储介质 |
CN111860588A (zh) * | 2020-06-12 | 2020-10-30 | 华为技术有限公司 | 一种用于图神经网络的训练方法以及相关设备 |
CN111832706A (zh) * | 2020-07-08 | 2020-10-27 | 西安电子科技大学 | 基于哈希中心的连续学习方法 |
CN111930980B (zh) * | 2020-08-21 | 2023-07-07 | 深圳市升幂科技有限公司 | 图像检索模型的训练方法及图像检索方法、装置、及介质 |
CN111968098A (zh) * | 2020-08-24 | 2020-11-20 | 广东工业大学 | 一种带钢表面缺陷检测方法、装置和设备 |
CN112287134B (zh) * | 2020-09-18 | 2021-10-15 | 中国科学院深圳先进技术研究院 | 检索模型的训练和识别方法、电子设备及存储介质 |
CN112232360A (zh) * | 2020-09-30 | 2021-01-15 | 上海眼控科技股份有限公司 | 图像检索模型优化方法、图像检索方法、装置及存储介质 |
CN112529018A (zh) * | 2020-12-22 | 2021-03-19 | 北京百度网讯科技有限公司 | 图像局部特征的训练方法、装置及存储介质 |
CN113159095B (zh) * | 2021-01-30 | 2024-04-30 | 华为技术有限公司 | 一种训练模型的方法、图像检索的方法以及装置 |
CN112925940B (zh) * | 2021-03-04 | 2022-07-01 | 浙江中设天合科技有限公司 | 一种相似图像检索方法、装置、计算机设备及存储介质 |
CN113254688A (zh) * | 2021-04-28 | 2021-08-13 | 广东技术师范大学 | 一种基于深度哈希的商标检索方法 |
CN113360700B (zh) * | 2021-06-30 | 2023-09-29 | 北京百度网讯科技有限公司 | 图文检索模型的训练和图文检索方法、装置、设备和介质 |
CN114676279B (zh) * | 2022-05-25 | 2022-09-02 | 腾讯科技(深圳)有限公司 | 图像检索方法、装置、设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105512289A (zh) * | 2015-12-07 | 2016-04-20 | 郑州金惠计算机系统工程有限公司 | 基于深度学习和哈希的图像检索方法 |
CN107766555A (zh) * | 2017-11-02 | 2018-03-06 | 电子科技大学 | 基于软约束无监督型跨模态哈希的图像检索方法 |
CN107992611A (zh) * | 2017-12-15 | 2018-05-04 | 清华大学 | 基于柯西分布哈希方法的高维数据检索方法与系统 |
CN109829549A (zh) * | 2019-01-30 | 2019-05-31 | 宁波大学 | 基于演化树的哈希学习方法及其无监督的在线哈希学习方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6104209B2 (ja) * | 2014-04-08 | 2017-03-29 | 日本電信電話株式会社 | ハッシュ関数生成方法、ハッシュ値生成方法、装置、及びプログラム |
CN105512273A (zh) * | 2015-12-03 | 2016-04-20 | 中山大学 | 一种基于可变长深度哈希学习的图像检索方法 |
CN107092918B (zh) * | 2017-03-29 | 2020-10-30 | 太原理工大学 | 一种基于语义特征和有监督哈希的图像检索方法 |
CN108491430B (zh) * | 2018-02-09 | 2021-10-15 | 北京邮电大学 | 一种基于对特征方向进行聚类的无监督哈希检索方法 |
CN108629414B (zh) * | 2018-05-09 | 2020-04-14 | 清华大学 | 深度哈希学习方法及装置 |
CN109063112B (zh) * | 2018-07-30 | 2022-04-01 | 成都快眼科技有限公司 | 一种基于多任务学习深度语义哈希的快速图像检索方法、模型及模型构建方法 |
CN109284675B (zh) * | 2018-08-13 | 2022-06-07 | 创新先进技术有限公司 | 一种用户的识别方法、装置及设备 |
-
2019
- 2019-06-05 CN CN201910487664.8A patent/CN110209867B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105512289A (zh) * | 2015-12-07 | 2016-04-20 | 郑州金惠计算机系统工程有限公司 | 基于深度学习和哈希的图像检索方法 |
CN107766555A (zh) * | 2017-11-02 | 2018-03-06 | 电子科技大学 | 基于软约束无监督型跨模态哈希的图像检索方法 |
CN107992611A (zh) * | 2017-12-15 | 2018-05-04 | 清华大学 | 基于柯西分布哈希方法的高维数据检索方法与系统 |
CN109829549A (zh) * | 2019-01-30 | 2019-05-31 | 宁波大学 | 基于演化树的哈希学习方法及其无监督的在线哈希学习方法 |
Non-Patent Citations (2)
Title |
---|
基于深度卷积神经网络和二进制哈希学习的图像检索方法;彭天强 等;电子与信息学报;第38卷(第08期);2068-2075 * |
基于监督核哈希生成视觉词袋模型的图像分类;刘相利 等;测控技术;第37卷(第03期);6-9 * |
Also Published As
Publication number | Publication date |
---|---|
CN110209867A (zh) | 2019-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110209867B (zh) | 图像检索模型的训练方法、装置、设备及存储介质 | |
WO2021143800A1 (en) | System and method for semantic analysis of multimedia data using attention-based fusion network | |
CN111353076B (zh) | 训练跨模态检索模型的方法、跨模态检索的方法和相关装置 | |
CN111062871B (zh) | 一种图像处理方法、装置、计算机设备及可读存储介质 | |
CN112131350B (zh) | 文本标签确定方法、装置、终端及可读存储介质 | |
CN111738001B (zh) | 同义词识别模型的训练方法、同义词确定方法及设备 | |
CN113298197B (zh) | 数据聚类方法、装置、设备及可读存储介质 | |
CN107545276A (zh) | 联合低秩表示和稀疏回归的多视角学习方法 | |
CN111782826A (zh) | 知识图谱的信息处理方法、装置、设备及存储介质 | |
CN112800173B (zh) | 标准化数据库和医学文本库的构建方法、装置及电子设备 | |
CN114298122A (zh) | 数据分类方法、装置、设备、存储介质及计算机程序产品 | |
CN110457523B (zh) | 封面图片的选取方法、模型的训练方法、装置及介质 | |
CN113705596A (zh) | 图像识别方法、装置、计算机设备和存储介质 | |
CN114282059A (zh) | 视频检索的方法、装置、设备及存储介质 | |
EP3166022A1 (en) | Method and apparatus for image search using sparsifying analysis operators | |
CN113190696A (zh) | 一种用户筛选模型的训练、用户推送方法和相关装置 | |
CN114580354B (zh) | 基于同义词的信息编码方法、装置、设备和存储介质 | |
CN114155388B (zh) | 一种图像识别方法、装置、计算机设备和存储介质 | |
CN115600017A (zh) | 特征编码模型训练方法及装置、媒体对象推荐方法及装置 | |
CN115034225A (zh) | 应用于医学领域的词语处理方法、装置、电子设备和介质 | |
CN115129863A (zh) | 意图识别方法、装置、设备、存储介质和计算机程序产品 | |
Bhardwaj et al. | An employment of neural network classifiers to evaluate the performance of color feature descriptors in an image retrieval system: An experimental survey | |
CN113345553B (zh) | 一种基于分布式特征的交互方法、系统、设备和介质 | |
US11790650B2 (en) | Contrastive captioning for image groups | |
CN114049634B (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 |