CN114282035A - 图像检索模型的训练和检索方法、装置、设备及介质 - Google Patents
图像检索模型的训练和检索方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114282035A CN114282035A CN202110945262.5A CN202110945262A CN114282035A CN 114282035 A CN114282035 A CN 114282035A CN 202110945262 A CN202110945262 A CN 202110945262A CN 114282035 A CN114282035 A CN 114282035A
- Authority
- CN
- China
- Prior art keywords
- sample
- network
- triplet
- training
- quantization index
- 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
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/53—Querying
-
- 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/51—Indexing; Data structures therefor; Storage structures
-
- 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/53—Querying
- G06F16/538—Presentation of query results
-
- 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
- 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)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种图像检索模型的训练和检索方法、装置、设备及介质,属于人工智能领域。图像检索模型包括嵌入向量网络和量化索引网络,图像检索模型的训练方法包括:获取用于训练图像检索模型的n个样本三元组;将n个样本三元组的基础特征向量输入嵌入向量网络;根据嵌入向量网络输出的特征向量的误差,筛选出用于训练量化索引网络的第一样本三元组集合;将n个样本三元组的基础特征向量输入量化索引网络;根据量化索引网络输出的量化索引的误差,筛选出用于训练嵌入向量网络的第二样本三元组集合;基于第一样本三元组集合训练量化索引网络,以及基于第二样本三元组集合训练嵌入向量网络。上述方法提高了图像检索的准确率。
Description
技术领域
本申请涉及人工智能领域,特别涉及一种图像检索模型的训练和检索方法、装置、设备及介质。
背景技术
在基于查询图像进行图像检索时,往往通过召回多个候选图像进行排序选取置信度较高的候选图像作为检索结果。
相关技术中,常常先通过嵌入向量网络获取查询图像的特征向量,对特征向量进行PQ量化(Product Quantization,乘积量化)得到量化索引,再从量化码本中找到与量化索引匹配的m个特征向量,召回与m个特征向量对应的m个候选图像,再根据m个候选图像的特征向量与查询图像的特征向量之间的距离排序结果,选取排名较高的候选图像作为最终召回的图像。
相关技术中,PQ量化把特征向量的每个维度的数值切分成多段,每段用不同的数码表征(如某位值为0~1间的浮点数,则可能切分为0.1、…0.9、1.0共10段,分别用1~10的数字表示每一段的量化方法),检索时将量化到相同段的候选图像召回。然而,PQ量化的方法容易造成相似的特征被割裂到两个相邻的段中,临界样本容易漏召回或多召回(如段1、段2的临界样本可能跟段1相似也可能跟段2相似,而单独召回任何一段都存在漏召回,而召回两段又会使误召回增多)。
发明内容
本申请提供了一种图像检索模型的训练和检索方法、装置、设备及介质,能够提高图像检索的准确率。所述技术方案如下:
根据本申请的一个方面,提供了一种图像检索模型的训练方法,图像检索模型包括嵌入向量网络和量化索引网络,嵌入向量网络用于获取图像的特征向量,量化索引网络用于提取图像的量化索引;所述方法包括:
获取用于训练图像检索模型的n个样本三元组;样本三元组包括目标样本、与目标样本构成相似样本对的正样本、以及与目标样本不构成相似样本对的负样本;n为大于1的正整数;
将n个样本三元组的基础特征向量输入嵌入向量网络;根据嵌入向量网络输出的特征向量的误差,筛选出用于训练量化索引网络的第一样本三元组集合;
将n个样本三元组的基础特征向量输入量化索引网络;根据量化索引网络输出的量化索引的误差,筛选出用于训练嵌入向量网络的第二样本三元组集合;
基于第一样本三元组集合训练量化索引网络,以及基于第二样本三元组集合训练嵌入向量网络。
根据本申请的另一方面,提供了一种图像检索方法,所述方法包括:
获取查询图像的基础特征向量;
将基础特征向量输入至量化索引网络和嵌入向量网络;
通过量化索引网络获取查询图像的量化索引,以及通过嵌入向量网络获取查询图像的特征向量;
基于量化索引,从量化码本中索引得到m个候选图像的特征向量;量化码本存储有量化索引与m个候选图像的特征向量之间的映射关系;m为正整数;
分别计算m个候选图像的特征向量与查询图像的特征向量的第五距离,得到m个第五距离;
在m个第五距离由小到大的排序结果中,筛选出排序在前z%的第五距离对应的候选图像。
根据本申请的另一方面,提供了一种图像检索模型的训练装置,图像检索模型包括嵌入向量网络和量化索引网络,嵌入向量网络用于获取图像的特征向量,量化索引网络用于提取图像的量化索引;装置包括:
获取模块,用于获取用于训练图像检索模型的n个样本三元组;样本三元组包括目标样本、与目标样本构成相似样本对的正样本、以及与目标样本不构成相似样本对的负样本;
筛选模块,用于将n个样本三元组的基础特征向量输入嵌入向量网络;根据嵌入向量网络输出的特征向量,筛选出用于训练量化索引网络的第一样本三元组集合;
筛选模块,还用于将n个样本三元组的基础特征向量输入量化索引网络;根据量化索引网络输出的量化索引,筛选出用于训练嵌入向量网络的第二样本三元组集合;
训练模块,用于基于第一样本三元组集合训练量化索引网络,以及基于第二样本三元组集合训练嵌入向量网络。
根据本申请的另一方面,提供了一种图像检索装置,所述装置包括:
获取模块,用于获取查询图像的基础特征向量;
输入模块,用于将基础特征向量输入至量化索引网络和嵌入向量网络;
获取模块,还用于通过量化索引网络获取查询图像的量化索引,以及通过嵌入向量网络获取查询图像的特征向量;
索引模块,用于基于量化索引,从量化码本中索引得到m个候选图像的特征向量;量化码本存储有量化索引与m个候选图像的特征向量之间的映射关系;
计算模块,用于分别计算m个候选图像的特征向量与查询图像的特征向量的第五距离,得到m个第五距离;
筛选模块,用于在m个第五距离由小到大的排序结果中,筛选出排序在前z%的第五距离对应的候选图像。
根据本申请的一个方面,提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如上所述的图像检索模型的训练方法,和/或,图像检索方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序由处理器加载并执行以实现如上所述的图像检索模型的训练方法,和/或,图像检索方法。
根据本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述图像检索模型的训练方法,和/或,图像检索方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过样本三元组训练嵌入向量网络和量化索引网络,不仅将通过嵌入向量网络筛选得到的第一样本三元组集合作为训练量化索引网络的样本三元组,还将通过量化索引网络筛选得到的第二样本三元组集合作为训练嵌入向量网络的样本三元组,上述方法使得嵌入向量网络支持计算m个候选图像的特征向量与查询图像的特征向量之间的距离,还使得量化索引网络得到的查询图像的量化索引更加准确。上述图像检索模型的训练方法剔除了噪声样本三元组,同时使得量化索引网络与嵌入向量网络对正负样本的预测效果相似,通过双分支预测噪声样本三元组,并使得双分支彼此学习表现优异的样本三元组,实现去噪学习,使得双分支具有相似的预测效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的PQ量化的示意图;
图2是本申请一个示例性实施例的图像检索模型的实施环境的示意图;
图3是本申请一个示例性实施例的图像检索模型的训练方法的流程图;
图4是本申请一个示例性实施例的图像检索模型的训练***的示意图;
图5是本申请另一个示例性实施例的图像检索模型的训练方法的流程图;
图6是本申请另一个示例性实施例的图像检索模型的训练方法的流程图;
图7是本申请另一个示例性实施例的图像检索模型的训练方法的流程图;
图8是本申请另一个示例性实施例的图像检索模型的训练***的示意图;
图9是本申请另一个示例性实施例的图像检索模型的训练方法的流程图;
图10是本申请的一个示例性实施例提供的图像检索方法的流程图;
图11是本申请一个示例性实施例提供的图像检索模型的使用***的示意图;
图12是本申请一个示例性实施例提供的图像检索模型的训练装置的结构框图;
图13是本申请一个示例性实施例提供的图像检索装置的结构框图;
图14是本申请一个示例性实施例提供的计算机设备的结构框图;
图15是本申请一个示例性实施例提供的数据共享***的示意图;
图16是本申请一个示例性实施例提供的区块链结构的示意图;
图17是本申请一个示例性实施例提供的新区块生成过程的示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例中涉及的名词进行简单介绍:
PQ量化:在训练阶段,参考图1,针对N个训练样本,假设样本维度为128维,将其切分为4个子空间,则每一个子空间的维度为32维,在每一个子空间中,对特征向量采用k-means(一种聚类算法)对其进行聚类(图1所示256个聚类中心),针对每一个子空间都能得到一个码本。且每个训练样本的每个子段,都可以用子空间的聚类中心来近似,对应的编码即为聚类中心的数值。最终得到的N个训练样本构成一个索引码本。对于待量化的样本,将其进行相同的切分,然后在各个子空间里逐一找到距离它们最近的聚类中心,然后用聚类中心的数值来表示每个子段,即完成了待量化样本的索引向量。
在检索阶段,将查询图像的特征向量分成4个子段,然后在每个子空间中,计算子段到该子空间中所有聚类中心的距离,可以得到4*256个距离,将这些算好的距离作为距离表。在计算某个样本到查询向量的距离时,比如编码为(124,56,132,222)这个样本到查询向量的距离时,我们分别到距离表中取各个子段对应的距离即可,比如编码为124这个子段,在第1个算出的256个距离里面把编号为124的那个距离取出来就可,所有子段对应的距离取出来后,将这些子段的距离求和相加,即得到该样本到查询样本间的非对称距离。所有距离算好后,召回距离排序靠前的样本。
在本申请中,考虑到PQ量化的方式计算速度较慢,且容易造成相似的基础特征被割裂到两个相邻的聚类中心,采用构建深度符号量化网络的方式。
深度符号量化网络(量化索引网络):首先,对于N个训练样本的D维特征向量,向量归一化后每维的取值范围为-1~1的浮点数,把D维特征向量压缩到指定位数取值为0、1的二进制码,为符号量化。如,对4维的特征向量归一化后得到(-1,1,0.5,-0.2),符号量化后得到(0,1,1,0)量化索引。
计算机视觉技术(Computer Vision,CV):计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能***。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR(Optical Character Recognition,计算机文字识别)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
人工智能云服务:所谓人工智能云服务,一般也被称作是AIaaS(AI as aService,中文为“AI即服务”)。这是目前主流的一种人工智能平台的服务方式,具体来说AIaaS平台会把几类常见的AI(Artificial Intelligence,人工智能)服务进行拆分,并在云端提供独立或者打包的服务。这种服务模式类似于开了一个AI主题商城:所有的开发者都可以通过API(Application Program Interface,应用程序接口)接口的方式来接入使用平台提供的一种或者是多种人工智能服务,部分资深的开发者还可以使用平台提供的AI框架和AI基础设施来部署和运维自已专属的云人工智能服务。
本申请实施例的方案包括图像检索模型的训练阶段和图像检索阶段,图2示出了本申请一个示例性实施例提供的图像检索模型的训练方法和使用方法所在的计算机***200。其中,终端220用于训练图像检索模型和/或使用图像检索模型,服务器240用于训练图像检索模型和/或使用图像检索模型。
终端220安装和运行有支持图像检索的客户端。该客户端可以是支持图像检索的应用程序、网页和小程序中的任意一种。终端220可以训练图像检索模型和/或使用图像检索模型。可选的,终端220上安装的客户端是操作***平台(安卓或IOS)上的客户端。终端220可以泛指多个终端中的一个,本实施例仅以终端220举例说明。终端220的设备类型包括:智能手机、智能手表、智能电视、平板电脑、电子书阅读器、MP3播放器、MP4播放器、膝上型便携计算机和台式计算机中的至少一种。本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端的数量和设备类型不加以限定。
终端220通过无线网络或有线网络与服务器240相连。
服务器240包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。示例性的,服务器240包括处理器244和存储器242,存储器242又包括接收模块2421、控制模块2422和发送模块2423,接收模块2421用于接收客户端发送的请求,如训练图像检索模型和使用图像检索模型;控制模块2422用于控制图像检索模型的训练和使用;发送模块2423用于向终端发送响应,如向客户端返回检索得到的图像,或返回训练完成的图像检索模型。服务器240用于为图像检索和/或图像模型训练提供后台服务。可选地,服务器240承担主要计算工作,终端220承担次要计算工作;或者,服务器240承担次要计算工作,终端220和第二终端160承担主要计算工作;或者,服务器240、终端220之间采用分布式计算架构进行协同计算。
下述以图像检索模型的训练方法、图像检索方法可以由计算机设备执行进行举例说明,可选的,计算机设备可以为终端或服务器,本申请对图像检索模型的训练方法和图像检索方法的执行主体并不加以限制。
为实现通过构建深度量化网络进行图像检索,图3是本申请一个示例性实施例的图像检索模型的训练方法的流程图。本实施例以该方法由图2所示的计算机设备来执行进行举例说明,其中,图像检索模型包括嵌入向量网络和量化索引网络,嵌入向量网络用于获取图像的特征向量,量化索引网络用于提取图像的量化索引,所述方法包括:
步骤320,获取用于训练图像检索模型的n个样本三元组;
其中,样本三元组包括目标样本、与目标样本构成相似样本对的正样本、以及与目标样本不构成相似样本对的负样本,n为大于1的正整数。
图像检索:通过查询图像的特征向量,得到量化索引,再从量化码本中找到与量化索引匹配的m个特征向量,计算m个特征向量与查询图像的特征向量的距离,选取与排名靠前的距离对应的图像作为最终筛选出的图像,m为正整数。
量化索引:在图像检索模型表现优异的情况下,往往一个量化索引对应一类图像,比如,所有的样本图像的图像类别分为:人物类别和动物类别,则存在一个量化索引与人物类型相对应,存在另一个量化索引与动物类别相对应。
需要说明的是,为了更好地训练量化索引网络和尽可能地让图像检索模型在量化索引和特征向量的距离计算上表现优异,往往采用样本三元组对图像检索模型进行训练。
步骤340,将n个样本三元组的基础特征向量输入嵌入向量网络;根据嵌入向量网络输出的特征向量的误差,筛选出用于训练量化索引网络的第一样本三元组集合;
基础特征向量:指样本三元组内的图像基础特征的向量,图像基础特征包括但不限于颜色特征、纹理特征、形状特征和空间关系特征。
其中,嵌入向量网络由n个样本三元组的基础特征向量生成n组三元组特征向量,基于n组三元组特征向量筛选出用于训练量化索引网络的第一样本三元组集合。
步骤360,将n个样本三元组的基础特征向量输入量化索引网络;根据量化索引网络输出的量化索引的误差,筛选出用于训练嵌入向量网络的第二样本三元组集合;
量化索引网络由n个样本三元组的基础特征向量生成n组三元组量化索引,筛选出用于训练嵌入向量网络的第二样本三元组集合。
步骤381,基于第一样本三元组集合训练量化索引网络;
步骤382,基于第二样本三元组集合训练嵌入向量网络。
基于第一样本三元组集合训练量化索引网络,以及基于第二样本三元组集合训练嵌入向量网络。
综上所述,通过样本三元组训练嵌入向量网络和量化索引网络,不仅将通过嵌入向量网络筛选得到的第一样本三元组集合作为训练量化索引网络的样本三元组,还将通过量化索引网络筛选得到的第二样本三元组集合作为训练嵌入向量网络的样本三元组,上述方法使得嵌入向量网络支持计算m个候选图像的特征向量与查询图像的特征向量之间的距离,还使得量化索引网络得到的查询图像的量化索引更加准确。
图4是本申请一个示例性实施例提供的图像检索模型的训练***,其中图像检索模型的训练***包括嵌入向量网络401和量化索引网络402。
嵌入向量网络401用于由n个样本三元组的基础特征向量生成n组三元组特征向量,三元组特征向量可用于计算样本三元组内目标样本、正样本和负样本之间的相似度距离。
量化索引网络402用于由n个样本三元组的基础特征向量生成n组三元组量化索引,三元组量化索引用于量化样本三元组。
图4所示的图像检索模型的训练***,由样本构建得到样本三元组,并将构建得到的n个样本三元组分别输入嵌入向量网络401和量化索引网络402,之后进行筛选样本三元组,通过嵌入向量网络401筛选得到的第一样本三元组集合计算量化索引网络的损失函数,并基于损失函数值训练量化损失网络402;通过量化索引网络402筛选得到的第二样本三元组集合计算嵌入向量网络的损失函数,并基于损失函数值训练嵌入向量网络401。
值得说明的一点是,上述通过两个分支对n个样本三元组进行筛选,原理在于:噪声样本三元组(负样本与目标样本构成正样本对的样本三元组)在嵌入向量网络401和量化索引网络402的表现并不一定一致,如:噪声样本三元组中的负样本与目标样本通过嵌入向量网络401被认为构成正样本对,即产生高损失函数值,噪声样本三元组中的负样本与目标样本通过量化索引网络402被认为构成负样本对,产生低损失函数值。此时若把表现不一致的噪声样本三元组剔除,即可更好地训练嵌入向量网络401和量化索引网络402。
针对步骤320,获取用于训练图像检索模型的n个样本三元组。
在本申请的图像检索模型中,为训练嵌入向量网络和量化索引网络需引入样本三元组,样本三元组通过若干个相似样本对构建得到。
相似样本对:在本申请的图像检索模型中,为训练嵌入向量网络和量化索引网络需引入相似样本对,相似样本对中包含目标图像,与目标图像极度相似或相同的正样本,可选的,视频中相邻的两帧图像可构建相似样本对。
样本三元组:在本申请的图像检索模型中,为生成n个样本三元组,在每批训练(batch)的R个相似样本对中,针对每个相似样本对中的目标样本,从其余的(R-1)个相似样本对的每个相似样本对中随机选择一张图像,分别计算(R-1)张图像的特征向量与目标样本的特征向量的距离,将(R-1)个距离从小到大排序,选取与前n个距离对应的图像与目标样本所在的相似样本对构成n个样本三元组。即,获取用于训练图像检索模型的n个样本三元组。
示意性的,构建样本三元组的方法如下:
26个相似样本对包括(A,A’)、(B,B’)、(C,C’)、(D,D’)、…、(Z,Z’),针对相似样本对(A,A’),A为目标样本(anchor),A’为正样本(positive),从其余的相似样本对(B,B’)、(C,C’)、(D,D’)、…、(Z,Z’)中每个相似样本对随机选择一张图像,如选择B、C’、D、E’…、Z,分别计算B、C’、D、E’…、Z的特征向量与目标样本A的特征向量的距离,得到25个距离,将25个距离从小到大排序,选取与前20个距离对应的图像与目标样本A所在的相似样本对(A,A’)构成20个样本三元组。即,获取用于训练图像检索模型的20个样本三元组。
综上所述,上述方法实现了由相似样本对构建n个样本三元组,使得得到的n个样本三元组可用于本申请提供的图像检索模型的训练。
图5示出了本申请一个示例性实施例提供的图像检索模型的训练方法,以该方法应用于图2所示的计算机设备为例进行说明,其中步骤320、步骤360、步骤381和步骤382均与图3所示一致。
针对步骤340,将n个样本三元组的基础特征向量输入嵌入向量网络;根据嵌入向量网络输出的特征向量的误差,筛选出用于训练量化索引网络的第一样本三元组集合。
步骤340可以包括以下步骤:
步骤341,获取嵌入向量网络对n个样本三元组输出的n组三元组特征向量;
通过将n个样本三元组输入至嵌入向量网络401,嵌入向量网络401输出n组三元组特征向量。
步骤342,计算n组三元组特征向量对应的n个第一误差损失;
其中,计算n组三元组特征向量对应的n个第一误差损失包括:
针对每组三元组特征向量,计算目标样本的特征向量和正样本的特征向量之间的第一距离;针对每组三元组特征向量,计算目标样本的特征向量和负样本的特征向量之间的第二距离;计算第一距离和第二距离之间的差值与第一距离阈值之间的第一误差损失,第一距离阈值是目标样本与正样本之间的距离和目标样本与负样本之间的距离的差值的阈值。
示意性的,在每组三元组(a,p,n)中,对三元组特征向量进行L2范式归一化,然后计算第一误差损失。a(anchor)表示目标样本,p(positive)表示正样本,n(nagative)表示负样本。
第一误差损失的计算如下:
ltri=max(||Xa-Xp||-||Xa-Xn||+α,0); (1)
其中,ltri表示第一误差损失,Xa表示目标样本的特征向量,Xp表示正样本的特征向量,Xn表示负样本的特征向量,α表示第一距离阈值,||Xa-Xp||表示第一距离、||Xa-Xn||表示第二距离,可选的,α值为4,表示目标样本的特征向量与负样本的特征向量之间的距离,比,目标样本的特征向量与正样本的特征向量之间的距离大于4;采用L2归一化的目的是使得三元组样本的特征空间在0~1范围中,避免特征空间过大不利于优化训练图像检索模型。
步骤343,在n个第一误差损失由小到大的排序结果中,筛选出排序在第一选取范围内的n1个第一误差损失所对应的样本三元组,添加至用于训练量化索引网络的第一样本三元组集合。
通过步骤342,可以获得n个第一误差损失,将n个第一误差损失进行由小到大的排序,筛选出排序在第一选取范围内的n1个第一误差损失所对应的样本三元组,添加至用于训练量化索引网络的第一样本三元组集合,其中,n1为小于n的正整数。
可选的,在n个第一误差损失由小到大的排序结果中,根据预设的x值,筛选出排序在前x%的n1个第一误差损失所对应的样本三元组,添加至用于训练量化索引网络的第一样本三元组集合。示意性的,x值是基于噪声样本三元组占n个样本三元组的比例设置的,可选的,该比例基于预测或者标定得到。示意性的,x值略大于噪声样本三元组所占n个样本三元组的比例。x为正数。
示意性的,n个第一误差损失的排序结果构成Lem_list,选取Lem_list中排在前85%的n1个第一误差损失所对应的n1个样本三元组,作为第一样本三元组集合。
值得说明的一点是,在训练图像检索模型时,根据多次试验的结果可预测n个样本三元组中存在10%的噪声样本三元组(即n个样本三元组中对某个相似样本对而言,可能存在10%的其他相似样本对中的图像能与目标样本构成正样本对),则选取Lem_list中排在前85%的n1个第一误差损失所对应的n1个样本三元组,作为第一样本三元组集合。但是,在每轮(epoch)图像检索模型的训练中,并不能始终保证噪声样本三元组都排在最后的10%中,尤其在刚开始训练的前几轮,故少取5%可一定程度避免取到噪声样本三元组。
综上所述,上述方法通过设计嵌入向量网络的损失函数,实现了计算n个样本三元组的n组三元组特征向量的损失函数值,并基于损失函数值筛选用于训练量化索引网络的第一样本三元组集合,进一步采用更干净的样本三元组优化量化索引网络的量化效果。
图6示出了本申请一个示例性实施例提供的图像检索模型的训练方法,以该方法应用于图2所示的计算机设备为例进行说明,其中步骤320、步骤340、步骤381和步骤382均与图3所示一致。
针对步骤360,将n个样本三元组的基础特征向量输入量化索引网络;根据量化索引网络输出的量化索引的误差,筛选出用于训练嵌入向量网络的第二样本三元组集合;
步骤360可以包括以下步骤:
步骤361,获取量化索引网络对n个样本三元组输出的n组三元组量化索引;
通过将n个样本三元组的基础特征向量输入量化索引网络,输出n组三元组量化索引。
步骤362,计算n组三元组量化索引对应的n个第二误差损失;
其中,计算n组三元组量化索引对应的n个第二误差损失的方法包括:
针对每组三元组量化索引,计算三元组量化索引的第一三元组损失;针对每组三元组量化索引,计算三元组量化索引的第一量化误差损失;对第一三元组损失和第一量化误差损失进行加权求和,得到第二误差损失。
计算第一三元组损失,示意性的,将三元组量化索引通过激活函数激活,再计算量化索引的第一三元组损失,为保证样本三元组在量化空间可区分,故样本三元组的目标样本与负样本的距离需要足够大,可选的,设置margin(公式(1)中的α)为160。
第一三元组损失的计算方式与上述第一误差损失的计算方式类似,不再赘述,此处的区别在于三元组量化索引的维度与三元组特征向量的维度不一致。
量化索引网络402输出的n组三元组量化索引,可选的,三元组量化索引为256维,通过激活函数将每维转化为(-1,1)的值,之后再进行符号量化,最后得到256维的三元组量化索引。
计算第一量化误差损失,为更好的训练量化索引网络,欲采用的三元组量化索引的每维数值尽可能接近-1或1(若每维数值处于临界值,即0附近,容易造成相似的基础特征向量量化至不同段),因此设置量化损失函数如下式(2)(3),首先计算:
其中ui为未进行符号量化(小于0的数值量化为0,大于0的数值量化为1)的三元组量化索引每维的数值,ui的范围为(-1,1),bi为转化后三元组量化索引每维的数值(-1或1);
然后计算bi和ui之间的回归损失,
其中,Lcoding为第一量化误差损失。
其中上述激活函数可设置为Tanh函数或sgn函数,值得说明的一点是,sgn函数在0位置是不可导的(+0和-0),即没法进行梯度计算(从而不能用于基于sgd梯度回传的深度学习中),而采用Tanh激活则可导并且可映射到-1到1之间。另外激活函数也可以采用sigmoid(激活到0~1之间),然后把0、1作为量化的目标(而非-1、1)。其中tanh由于更快能获得(-1,1),训练效果更好。
计算第二误差损失,基于上述已求得的第一三元组损失和第一量化误差损失,进行加权求和可得第二误差损失。
Lq=w21Ltriplet+w22Lcoding; (4)
其中,此时Lq输出为第二误差损失,Ltriplet为第一三元组损失,Lcoding为第一量化误差损失,w21和w22为权重,可选的,由于第一量化误差损失收敛比第一三元组损失收敛快,为了保证第一三元组损失在整体第二误差损失中处于主导地位,从而保证嵌入向量网络始终具有相似度度量的能力,故此处w21设为1,w22设为0.5。
值得说明的一点是,上述w21和w22的值并不固定,只需保证w22的值小于w21即可。
步骤363,在n个第二误差损失由小到大的排序结果中,筛选出排序在第二选取范围内的n2个第二误差损失所对应的样本三元组,添加至用于训练嵌入向量网络的第二样本三元组集合。
通过步骤362,可以获得n个第二误差损失,将n个第二误差损失进行由小到大的排序,筛选出排序在第二选取范围内的n2个第二误差损失所对应的样本三元组,添加至用于训练量化索引网络的第二样本三元组集合。
可选的,在n个第二误差损失由小到大的排序结果中,根据预设的y值,筛选出排序在前y%的n2个第二误差损失所对应的样本三元组,添加至用于训练量化索引网络的第二样本三元组集合。示意性的,y值是基于噪声样本三元组占n个样本三元组的比例设置的,可选的,该比例基于预测或者标定得到。示意性的,y值略大于噪声样本三元组所占n个样本三元组的比例。y为正数。
示意性的,n个第二误差损失的排序结果构成Lq_list,选取Lq_list中排在前85%的n2个第二误差损失所对应的n2个样本三元组,作为第二样本三元组集合,n2为小于n的正整数。
值得说明的一点是,在训练图像检索模型时,根据多次试验的结果可预测n个样本三元组中存在10%的噪声样本三元组(即n个样本三元组中对某个相似样本对而言,可能存在10%的其他相似样本对中的图像能与目标样本构成正样本对),则选取Lq_list中排在前85%的n2个第二误差损失所对应的n2个样本三元组,作为第二样本三元组集合。但是,在每轮(epoch)图像检索模型的训练中,并不能始终保证噪声样本三元组都排在最后的10%中,尤其在刚开始训练的前几轮,故少取5%可一定程度避免取到噪声样本三元组。
综上所述,上述方法通过设计量化索引网络的损失函数,实现了计算n个样本三元组的n组三元组量化索引的损失函数值,并基于损失函数值筛选用于训练嵌入向量网络的第二样本三元组集合,进一步采用更干净的样本三元组优化嵌入向量网络的特征向量的计算效果。
图7示出了本申请一个示例性实施例提供的图像检索模型的训练方法,以该方法应用于图2所示的计算机设备为例进行说明,其中步骤320、步骤340和步骤360均与图3所示一致。
针对步骤381,基于第一样本三元组集合训练量化索引网络,包括:
步骤381-1,将第一样本三元组集合输入量化索引网络得到n1个第三误差损失;
其中,第一样本三元组集合包括n1个样本三元组,第一样本三元组是基于嵌入向量网络401输出的n组三元组特征向量的第一误差损失排序得到的,具体参考上述“针对步骤340”。
其中,将第一样本三元组集合输入量化索引网络得到n1个第三误差损失包括:
针对第一样本三元组集合的每个样本三元组,通过量化索引网络计算三元组特征向量的第二三元组损失,其中,三元组特征向量是嵌入向量网络输出的特征向量;针对第一样本三元组集合的每个样本三元组,通过量化索引网络计算三元组特征向量的第二量化误差损失;对第二三元组损失和第二量化误差损失进行加权求和,得到第三误差损失。
计算n1个第三误差损失的方法与上述步骤362中计算n个第二误差损失的方式相类似,不再赘述。
步骤381-2,基于n1个第三误差损失,训练量化索引网络。
计算机设备基于n1个第三误差损失,训练量化索引网络。
针对步骤382,基于第二样本三元组集合训练嵌入向量网络,包括:
步骤382-1,将第二样本三元组集合输入嵌入向量网络得到n2个第四误差损失;
其中,第二样本三元组集合包括n2个样本三元组,第二样本三元组是基于量化索引网络402输出的n组三元组量化索引的第二误差损失排序得到的,具体参考上述“针对步骤360”。
其中,将第二样本三元组集合输入嵌入向量网络得到n2个第四误差损失包括:
针对第二样本三元组集合的每个样本三元组,通过嵌入向量网络计算目标样本的特征向量和正样本的特征向量之间的第三距离;
针对第二样本三元组集合的每个样本三元组,通过嵌入向量网络计算目标样本的特征向量和负样本的特征向量之间的第四距离;
计算第三距离和第四距离之间的差值与第二距离阈值之间的第四误差损失,第二距离阈值是目标样本与正样本之间的距离和目标样本与负样本的距离的差值的阈值。
计算n2个第四误差损失的方法与上述步骤342中计算n个第一误差损失的方式相类似,不再赘述。
步骤382-2,基于n2个第四误差损失,训练嵌入向量网络。
计算机设备基于n2个第四误差损失,训练嵌入向量网络。
综上所述,采用第一样本三元组集合训练量化索引网络,以及采用第二样本三元组集合训练嵌入向量网络,优化了量化索引网络的量化效果和嵌入向量网络的特征向量计算效果。
图8示出了本申请一个示例性实施例提供的图像检索模型的训练***,其比图4所示的图像检索模型的训练***多增加了基础特征网络403。
基于图3所示的图像检索模型的训练方法,在步骤320和步骤340之间还包括:通过基础特征网络,获取n个样本三元组的基础特征向量。
基础特征网络403用于提取输入的样本三元组的图像基础特征,基础特征包括但不限于颜色特征、纹理特征、形状特征和空间关系特征。
图9示出了本申请一个示例性实施例提供的图像检索模型的训练方法的示意图,以该方法应用于图2所示的计算机设备进行举例说明,该方法包括:
步骤320,获取用于训练图像检索模型的n个样本三元组;
计算机设备获取用于训练图像检索模型的n个样本三元组。
关于步骤320的详细介绍,可参考上述“针对步骤320”。
步骤330,通过基础特征网络,获取n个样本三元组的基础特征向量;
通过基础特征网络,计算机设备获取n个样本三元组的基础特征向量。
步骤341,获取嵌入向量网络对n个样本三元组输出的n组三元组特征向量;
计算机设备获取嵌入向量网络对n个样本三元组输出的n组三元组特征向量。
步骤342,计算n组三元组特征向量对应的n个第一误差损失;
计算机设备计算n组三元组特征向量对应的n个第一误差损失。
步骤343,在n个第一误差损失由小到大的排序结果中,筛选出排序在第一选取范围内的n1个第一误差损失所对应的样本三元组,添加至用于训练量化索引网络的第一样本三元组集合。
在n个第一误差损失由小到大的排序结果中,计算机设备筛选出排序在第一选取范围内的n1个第一误差损失所对应的样本三元组,添加至用于训练量化索引网络的第一样本三元组集合。
关于步骤341、步骤342和步骤343的详细介绍,可参考图5所示的实施例。
步骤381-1,将第一样本三元组集合输入量化索引网络得到n1个第三误差损失;
计算机设备将第一样本三元组集合输入量化索引网络得到n1个第三误差损失。其中,将第一样本三元组集合输入量化索引网络得到n1个第三误差损失包括:
针对第一样本三元组集合的每个样本三元组,计算机设备计算三元组特征向量的第二三元组损失;针对第一样本三元组集合的每个样本三元组,计算机设备计算三元组特征向量的第二量化误差损失;计算机设备对第二三元组损失和第二量化误差损失进行加权求和,得到第三误差损失。
步骤381-2,基于n1个第三误差损失,训练量化索引网络;
计算机设备基于n1个第三误差损失,训练量化索引网络。
步骤361,获取量化索引网络对n个样本三元组输出的n组三元组量化索引;
计算机设备通过将n个样本三元组的基础特征向量输入量化索引网络,输出n组三元组量化索引。
步骤362,计算n组三元组量化索引对应的n个第二误差损失;
计算机设备计算n组三元组量化索引对应的n个第二误差损失的方法包括:
针对每组三元组量化索引,计算机设备计算三元组量化索引的第一三元组损失;针对每组三元组量化索引,计算机设备计算三元组量化索引的第一量化误差损失;计算机设备对第一三元组损失和第一量化误差损失进行加权求和,得到第二误差损失。
步骤363,在n个第二误差损失由小到大的排序结果中,筛选出排序在第二选取范围内的n2个第二误差损失所对应的样本三元组,添加至用于训练嵌入向量网络的第二样本三元组集合;
计算机设备在n个第二误差损失由小到大的排序结果中,筛选出排序在前y%的n2个第二误差损失所对应的样本三元组,添加至用于训练量化索引网络的第二样本三元组集合。
关于步骤361、步骤362和步骤363的详细介绍,可参考图6所示的实施例。
步骤382-1,将第二样本三元组集合输入嵌入向量网络得到n2个第四误差损失;
计算机设备将第二样本三元组集合输入嵌入向量网络得到n2个第四误差损失。
步骤382-2,基于n2个第四误差损失,训练嵌入向量网络。
计算机设备基于n2个第四误差损失,训练嵌入向量网络。
关于步骤381-1、步骤381-2、步骤382-1和步骤382-2的详细介绍,可参考图7所示的实施例。
综上所述,通过样本三元组训练嵌入向量网络和量化索引网络,不仅将通过嵌入向量网络筛选得到的第一样本三元组集合作为训练量化索引网络的样本三元组,还将通过量化索引网络筛选得到的第二样本三元组集合作为训练嵌入向量网络的样本三元组,上述方法使得嵌入向量网络支持计算m个候选图像的特征向量与查询图像的特征向量之间的距离,还使得量化索引网络得到的查询图像的量化索引更加准确。上述图像检索模型的训练方法剔除了噪声样本三元组,同时使得量化索引网络与嵌入向量网络对正负样本的预测效果相似,通过双分支预测噪声样本三元组,并使得双分支彼此学习表现优异的样本三元组,实现去噪学习,使得双分支具有相似的预测效果。
基于上述,已完整论述了本申请的技术方案,接下来介绍图像检索模型的相关训练参数。
针对基础特征网络,可选的,基础特征网络是resnet101网络(一种卷积神经网络),即,基础特征网络可采用resnet101网络训练,具体参数详见下表1,其中基础特征网络的Conv1-Conv5采用在ImageNet(大型通用物体识别开源数据集)数据集上预训练的ResNet101的参数,可选的,基础特征网络还可以采用resnet18CNN网络。
表1
针对嵌入向量网络,采用如下表2的参数训练,嵌入向量网络也可称为Embedding网络,嵌入向量网络采用方差为0.01,均值为0的高斯分布进行初始化,可选的,嵌入向量网络还可以采用多层Fc连接,嵌入向量网络输出64维向量。
表2
针对量化索引网络,采用如下表3所示的参数训练,量化索引网络采用方差为0.01,均值为0的高斯分布进行初始化。
表3
针对图像检索模型:
设置学习参数:在更新图像检索模型时,第一阶段训练嵌入向量网络时需要更新底层基础特征,设置学习参数如表1和表2所示。第二阶段训练量化索引网络时,不需要更新基础特征网络和嵌入向量网络。
设置学习率:基础特征网络、嵌入向量网络和量化索引网络均采用lr1=0.005学习率,每经过10轮迭代后lr变为原来的0.1倍。
设置学***均epoch损失(由上述第三误差损失和第四误差损失加权求和得到的图像检索模型的总损失)不再下降。
设置每轮迭代中的具体操作:将所有的相似样本对按批尺寸(batch-size)分为Nb个批次,对于每批次,获取到上述n个样本三元组。
设置模型参数更新:采用SGD(一种梯度下降方法)随机梯度下降法,把上一批次得到的损失函数值进行梯度后向计算得到嵌入向量网络和量化索引网络的参数的更新值,并更新网络。
为实现通过构建深度量化网络进行图像检索,图10是本申请一个示例性实施例提供的图像检索方法的流程图。本实施例以该方法由图2所示的计算机设备来执行进行举例说明,所述方法包括:
步骤1001,获取查询图像的基础特征向量;
查询图像是用于图像检索的图像。
在一个实施例中,图像检索模型还包括基础特征网络,通过基础特征网络,获取n个样本三元组的基础特征向量,示意性的,图11示出了本申请一个示例性实施例提供的图像检索模型的使用***的示意图,其中,将查询图像1101输入基础特征网络403,即可获的查询图像1101的基础特征向量。
步骤1002,将基础特征向量输入至量化索引网络和嵌入向量网络;
结合参考图11,将查询图像1101的基础特征向量输入至量化索引网络402和嵌入向量网络401。
步骤1003,通过量化索引网络获取查询图像的量化索引,以及通过嵌入向量网络获取查询图像的特征向量;
结合参考图11,通过量化索引网络402获取查询图像1101的量化索引(1,0,0),以及,通过嵌入向量网络401获取查询图像1101的特征向量(0.2,0.8,0.3,0.3)。
步骤1004,基于量化索引,从量化码本中索引得到m个候选图像的特征向量;
其中,量化码本存储有量化索引与m个候选图像的特征向量之间的映射关系,m为正整数。
结合参考图11,基于量化索引(1,0,0),从量化码本中索引得到3个候选图像的特征向量:(0.2,0.7,0.3,0.3)、(0.1,0.5,0.2,0.2)和(0.2,0.4,0.2,0.3)。
图11还示出了本申请一个示例性实施例提供的量化码本的构建过程,将图像库中的所有图像进行特征提取,得到量化索引和特征向量。
在一个实施例中,量化码本是由以下步骤构建的:
第一、对图像库中任意一个图像i输入上述图像检索模型,其中可由嵌入向量网络401得到特征向量e,由量化索引网络402得到量化索引q(q是经符号函数得到的每维度为0或1的向量),纪录图像i嵌入向量网络401的映射表T[i:e](其中i表示图像的序号,e表示图像i经嵌入向量网络输出的特征向量)。
第二、将具有相同q的图像序号记录到q的映射表Linvert[i:q],如,{q1:[图像1,图像2,图像5],q2:[图像3],q3:[图像4]},保存所有量化索引的列表Lindex:[q1,q2,q3]。
第三、对于新加入图像库的图像i’,可以计算其qi’和ei’,当qi’存在于列表Lindex中时,直接把i’加入到Lindex下qi’对应的映射表Linvert中,把图像序号i’和ei’加入到T映射表(新增一个序号与特征的记录,如i’:ei’)。
上述量化索引的列表Lindex、q的映射表Linvert和T列表共同组成了一个量化码本。
在一个实施例中,基于量化索引,从量化码本中索引得到m个候选图像的特征向量包括:计算得到查询图像的量化索引,从列表Lindex中确定与查询图像的量化索引的汉明距离小于阈值的若干个量化索引,并从映射表Linvert中确定与若干个量化索引对应的m个候选图像,通过T映射表中确定m个候选图像的特征向量。
步骤1005,分别计算m个候选图像的特征向量与查询图像的特征向量的第五距离,得到m个第五距离;
结合参考图11,分别计算查询图像1101的特征向量(0.2,0.8,0.3,0.3)与3个候选图像的特征向量:(0.2,0.7,0.3,0.3)、(0.1,0.5,0.2,0.2)和(0.2,0.4,0.2,0.3)的第五距离,得到3个第五距离。第五距离为欧式距离。
步骤1006,在m个第五距离由小到大的排序结果中,根据预设的z值,筛选出排序在前z%的第五距离对应的候选图像。
结合参考图11,在3个第五距离由小到大的排序结果中,根据预设的z值,筛选出排序在前z%的第五距离对应的候选图像,其中,z%可由预先配置图像检索模型得到,可选的,根据检索需求可合理设置z值,使得筛选得到的候选图像满足图像检索模型的检索预期。z为正数。
在一个实施例中,计算机设备还将筛选得到的候选图像发送至运行有图像检索功能的客户端。
综上所述,上述方法通过包含有基础特征网络、嵌入向量网络和量化索引网络的图像检索模型,可进行查询图像与m个候选图像的距离排序并筛选出排序靠前的图像,上述方法不仅实现了筛选得到的图像更接近查询图像,还避免了在确定m个候选图像时丢失或额外增加候选图像。
图12是本申请一个示例性实施例提供的图像检索模型的训练装置的结构框图,图像检索模型包括嵌入向量网络和量化索引网络,嵌入向量网络用于获取图像的特征向量,量化索引网络用于提取图像的量化索引,该图像检索模型的训练装置包括:
获取模块1201,用于获取用于训练图像检索模型的n个样本三元组;样本三元组包括目标样本、与目标样本构成相似样本对的正样本、以及与目标样本不构成相似样本对的负样本,n为大于1的正整数;
筛选模块1202,用于将n个样本三元组的基础特征向量输入嵌入向量网络;根据嵌入向量网络输出的特征向量的误差,筛选出用于训练量化索引网络的第一样本三元组集合;
筛选模块1202,还用于将n个样本三元组的基础特征向量输入量化索引网络;根据量化索引网络输出的量化索引的误差,筛选出用于训练嵌入向量网络的第二样本三元组集合;
训练模块1203,用于基于第一样本三元组集合训练量化索引网络,以及基于第二样本三元组集合训练嵌入向量网络。
在一个可选的实施例中,筛选模块1202,还用于获取嵌入向量网络对n个样本三元组输出的n组三元组特征向量。
在一个可选的实施例中,筛选模块1202,还用于计算n组三元组特征向量对应的n个第一误差损失。
在一个可选的实施例中,筛选模块1202,还用于在n个第一误差损失由小到大的排序结果中,筛选出排序在第一选取范围内的n1个第一误差损失所对应的样本三元组,添加至用于训练量化索引网络的第一样本三元组集合。
在一个可选的实施例中,筛选模块1202,还用于针对每组三元组特征向量,计算目标样本的特征向量和正样本的特征向量之间的第一距离。
在一个可选的实施例中,筛选模块1202,还用于针对每组三元组特征向量,计算目标样本的特征向量和负样本的特征向量之间的第二距离。
在一个可选的实施例中,筛选模块1202,还用于计算第一距离和第二距离之间的差值与第一距离阈值之间的第一误差损失,第一距离阈值是目标样本与正样本之间的距离和目标样本与负样本之间的距离的差值的阈值。
在一个可选的实施例中,筛选模块1202,还用于在n个第一误差损失由小到大的排序结果中,根据预设的x值,筛选出排序在前x%的n1个第一误差损失所对应的样本三元组,添加至用于训练量化索引网络的第一样本三元组集合,n1为小于n的正整数。x为正数。
在一个可选的实施例中,筛选模块1202,还用于获取量化索引网络对n个样本三元组输出的n组三元组量化索引。
在一个可选的实施例中,筛选模块1202,还用于计算n组三元组量化索引对应的n个第二误差损失。
在一个可选的实施例中,筛选模块1202,还用于在n个第二误差损失由小到大的排序结果中,筛选出排序在第二选取范围内的n2个第二误差损失所对应的样本三元组,添加至用于训练嵌入向量网络的第二样本三元组集合,n2为小于n的正整数。
在一个可选的实施例中,筛选模块1202,还用于针对每组三元组量化索引,计算三元组量化索引的第一三元组损失。
在一个可选的实施例中,筛选模块1202,还用于针对每组三元组量化索引,计算三元组量化索引的第一量化误差损失。
在一个可选的实施例中,筛选模块1202,还用于对第一三元组损失和第一量化误差损失进行加权求和,得到第二误差损失。
在一个可选的实施例中,筛选模块1202,还用于在n个第二误差损失由小到大的排序结果中,根据预设的y值,筛选出排序在前y%的n2个第二误差损失所对应的样本三元组,添加至用于训练量化索引网络的第二样本三元组集合。y为正数。
在一个可选的实施例中,训练模块1203,还用于将第一样本三元组集合输入量化索引网络得到n1个第三误差损失。
在一个可选的实施例中,训练模块1203,还用于基于n1个第三误差损失,训练量化索引网络。
在一个可选的实施例中,训练模块1203,还用于针对第一样本三元组集合的每个样本三元组,计算三元组特征向量的第二三元组损失。
在一个可选的实施例中,训练模块1203,还用于针对第一样本三元组集合的每个样本三元组,计算三元组特征向量的第二量化误差损失。
在一个可选的实施例中,训练模块1203,还用于对第二三元组损失和第二量化误差损失进行加权求和,得到第三误差损失。
在一个可选的实施例中,训练模块1203,还用于将第二样本三元组集合输入嵌入向量网络得到n2个第四误差损失。
在一个可选的实施例中,训练模块1203,还用于基于n2个第四误差损失,训练嵌入向量网络。
在一个可选的实施例中,训练模块1203,还用于针对第二样本三元组集合的每个样本三元组,计算目标样本的特征向量和正样本的特征向量之间的第三距离。
在一个可选的实施例中,训练模块1203,还用于针对第二样本三元组集合的每个样本三元组,计算目标样本的特征向量和负样本的特征向量之间的第四距离。
在一个可选的实施例中,训练模块1203,还用于计算第三距离和第四距离之间的差值与第二距离阈值之间的第四误差损失,第二距离阈值是目标样本与正样本之间的距离和目标样本与负样本的距离的差值的阈值。
在一个可选的实施例中,图像检索模型还包括基础特征网络。
在一个可选的实施例中,获取模块1201,还用于通过基础特征网络,获取n个样本三元组的基础特征向量。
综上所述,上述图像检索模型的训练装置通过样本三元组训练嵌入向量网络和量化索引网络,不仅将通过嵌入向量网络筛选得到的第一样本三元组集合作为训练量化索引网络的样本三元组,还将通过量化索引网络筛选得到的第二样本三元组集合作为训练嵌入向量网络的样本三元组,上述图像检索模型的训练装置使得嵌入向量网络支持计算m个候选图像的特征向量与查询图像的特征向量之间的距离,还使得量化索引网络得到的查询图像的量化索引更加准确。
图13示出了本申请一个示例性实施例提供的图像检索装置的结构框图,该装置包括:
获取模块1301,用于获取查询图像的基础特征向量;
输入模块1302,用于将基础特征向量输入至量化索引网络和嵌入向量网络;
获取模块1301,还用于通过量化索引网络获取查询图像的量化索引,以及通过嵌入向量网络获取查询图像的特征向量;
索引模块1303,用于基于量化索引,从量化码本中索引得到m个候选图像的特征向量;量化码本存储有量化索引与m个候选图像的特征向量之间的映射关系,m为正整数;
计算模块1304,用于分别计算m个候选图像的特征向量与查询图像的特征向量的第五距离,得到m个第五距离;
筛选模块1305,用于在m个第五距离由小到大的排序结果中,根据预设的z值,筛选出排序在前z%的第五距离对应的候选图像。z为正数。
在一个可选的实施例中,获取模块1301还用于通过图像检索模型的基础特征网络,生成查询图像的基础特征向量。
综上所述,上述图像检索装置通过包含有基础特征网络、嵌入向量网络和量化索引网络的图像检索模型,可进行查询图像与m个候选图像的距离排序并筛选出排序靠前的图像,上述图像检索装置不仅实现了筛选出的图像更接近查询图像,还避免了在确定m个候选图像时丢失或额外增加候选图像。
需要说明的是:上述实施例提供的图像检索的训练装置和图像检索装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的图像检索模型的训练装置,与图像检索模型的训练方法实施例属于同一构思,图像检索装置与图像检索方法属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图14示出了本申请一个示例性实施例提供的计算机设备1400的结构框图。该计算机设备可以为终端或服务器,在本实施例可以简单描述为终端单独训练图像检索模型和/或终端单独使用图像检索模型,或,服务器单独训练图像检索模型和/或服务器单独使用图像检索模型,或,终端和服务器共同训练图像检索模型和/或终端和服务器共同使用图像检索模型。
通常,计算机设备1400包括有:处理器1401和存储器1402。
处理器1401可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1401可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1401也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1401可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1401还可以包括AI处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1402可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1402还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1402中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1401所执行以实现本申请中方法实施例提供的图像检索模型的训练方法或图像检索方法。
在一些实施例中,计算机设备1400还可选包括有:***设备接口1403和至少一个***设备。处理器1401、存储器1402和***设备接口1403之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口1403相连。具体地,***设备包括:射频电路1404、显示屏1405、摄像头组件1406、音频电路1407、定位组件1408和电源1409中的至少一种。
***设备接口1403可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器1401和存储器1402。在一些实施例中,处理器1401、存储器1402和***设备接口1403被集成在同一芯片或电路板上;在一些其他实施例中,处理器1401、存储器1402和***设备接口1403中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1404用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1404通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1404将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1404包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1404可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1404还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1405用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1405是触摸显示屏时,显示屏1405还具有采集在显示屏1405的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1401进行处理。此时,显示屏1405还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1405可以为一个,设置在计算机设备1400的前面板;在另一些实施例中,显示屏1405可以为至少两个,分别设置在计算机设备1400的不同表面或呈折叠设计;在另一些实施例中,显示屏1405可以是柔性显示屏,设置在计算机设备1400的弯曲表面上或折叠面上。甚至,显示屏1405还可以设置成非矩形的不规则图形,也即异形屏。显示屏1405可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(OrganicLight-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1406用于采集图像或视频。可选地,摄像头组件1406包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1406还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1407可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1401进行处理,或者输入至射频电路1404以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在计算机设备1400的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1401或射频电路1404的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1407还可以包括耳机插孔。
定位组件1408用于定位计算机设备1400的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件1408可以是基于美国的GPS(Global Positioning System,全球定位***)、中国的北斗***或俄罗斯的伽利略***的定位组件。
电源1409用于为计算机设备1400中的各个组件进行供电。电源1409可以是交流电、直流电、一次性电池或可充电电池。当电源1409包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,计算机设备1400还包括有一个或多个传感器1410。该一个或多个传感器1410包括但不限于:加速度传感器1411、陀螺仪传感器1412、压力传感器1413、指纹传感器1414、光学传感器1415以及接近传感器1416。
加速度传感器1411可以检测以计算机设备1400建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1411可以用于检测重力加速度在三个坐标轴上的分量。处理器1401可以根据加速度传感器1411采集的重力加速度信号,控制显示屏1405以横向视图或纵向视图进行用户界面的显示。加速度传感器1411还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1412可以检测计算机设备1400的机体方向及转动角度,陀螺仪传感器1412可以与加速度传感器1411协同采集用户对计算机设备1400的3D动作。处理器1401根据陀螺仪传感器1412采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1413以设置在计算机设备1400的侧边框和/或显示屏1405的下层。当压力传感器1413设置在计算机设备1400的侧边框时,可以检测用户对计算机设备1400的握持信号,由处理器1401根据压力传感器1413采集的握持信号进行左右手识别或快捷操作。当压力传感器1413设置在显示屏1405的下层时,由处理器1401根据用户对显示屏1405的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1414用于采集用户的指纹,由处理器1401根据指纹传感器1414采集到的指纹识别用户的身份,或者,由指纹传感器1414根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1401授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1414可以被设置在计算机设备1400的正面、背面或侧面。当计算机设备1400上设置有物理按键或厂商Logo时,指纹传感器1414可以与物理按键或厂商Logo集成在一起。
光学传感器1415用于采集环境光强度。在一个实施例中,处理器1401可以根据光学传感器1415采集的环境光强度,控制显示屏1405的显示亮度。具体地,当环境光强度较高时,调高显示屏1405的显示亮度;当环境光强度较低时,调低显示屏1405的显示亮度。在另一个实施例中,处理器1401还可以根据光学传感器1415采集的环境光强度,动态调整摄像头组件1406的拍摄参数。
接近传感器1416,也称距离传感器,通常设置在计算机设备1400的前面板。接近传感器1416用于采集用户与计算机设备1400的正面之间的距离。在一个实施例中,当接近传感器1416检测到用户与计算机设备1400的正面之间的距离逐渐变小时,由处理器1401控制显示屏1405从亮屏状态切换为息屏状态;当接近传感器1416检测到用户与计算机设备1400的正面之间的距离逐渐变大时,由处理器1401控制显示屏1405从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图14中示出的结构并不构成对计算机设备1400的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请还提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述方法实施例提供的图像检索模型的训练方法或图像检索方法。
本申请提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法实施例提供的图像检索模型的训练方法或图像检索方法。
在一个实施例中,上述样本三元组、基础特征网络输出的基础特征向量、嵌入向量网络输出的特征向量和量化索引网络输出的量化索引可以存储在数据共享***的节点中。参见图15所示的数据共享***,数据共享***1500是指用于进行节点与节点之间数据共享的***,该数据共享***中可以包括多个节点1501,多个节点1501可以是指数据共享***中各个客户端。每个节点1501在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该数据共享***内的共享数据。为了保证数据共享***内的信息互通,数据共享***中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当数据共享***中的任意节点接收到输入信息时,数据共享***中的其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得数据共享***中全部节点上存储的数据均一致。
对于数据共享***中的每个节点,均具有与其对应的节点标识,而且数据共享***中的每个节点均可以存储有数据共享***中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至数据共享***中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表4中仅以IP地址为例进行说明。
表4
节点名称 | 节点标识 |
节点1 | 117.114.151.174 |
节点2 | 117.116.189.145 |
… | … |
节点N | 119.123.789.258 |
数据共享***中的每个节点均存储一条相同的区块链。区块链由多个区块组成,参见图16,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
在生成区块链中的各个区块时,参见图17,区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET
其中,SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。
这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据数据共享***中其他节点的节点标识,将新生成的区块分别发送给其所在的数据共享***中的其他节点,由其他节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种图像检索模型的训练方法,其特征在于,所述图像检索模型包括嵌入向量网络和量化索引网络,所述嵌入向量网络用于获取图像的特征向量,所述量化索引网络用于提取所述图像的量化索引;所述方法包括:
获取用于训练所述图像检索模型的n个样本三元组;所述样本三元组包括目标样本、与所述目标样本构成相似样本对的正样本、以及与所述目标样本不构成相似样本对的负样本,n为大于1的正整数;
将所述n个样本三元组的基础特征向量输入所述嵌入向量网络;根据所述嵌入向量网络输出的特征向量的误差,筛选出用于训练所述量化索引网络的第一样本三元组集合;
将所述n个样本三元组的基础特征向量输入所述量化索引网络;根据所述量化索引网络输出的量化索引的误差,筛选出用于训练所述嵌入向量网络的第二样本三元组集合;
基于所述第一样本三元组集合训练所述量化索引网络,以及基于所述第二样本三元组集合训练所述嵌入向量网络。
2.根据权利要求1所述的方法,其特征在于,所述根据所述嵌入向量网络输出的特征向量的误差,筛选出用于训练所述量化索引网络的第一样本三元组集合,包括:
获取所述嵌入向量网络对所述n个样本三元组输出的n组三元组特征向量;
计算所述n组三元组特征向量对应的n个第一误差损失;
在所述n个第一误差损失由小到大的排序结果中,筛选出排序在第一选取范围内的n1个第一误差损失所对应的样本三元组,添加至用于训练所述量化索引网络的第一样本三元组集合,n1为小于n的正整数。
3.根据权利要求2所述的方法,其特征在于,所述计算所述n组三元组特征向量对应的n个第一误差损失,包括:
针对每组所述三元组特征向量,计算所述目标样本的特征向量和所述正样本的特征向量之间的第一距离;
针对每组所述三元组特征向量,计算所述目标样本的特征向量和所述负样本的特征向量之间的第二距离;
计算所述第一距离和所述第二距离之间的差值与第一距离阈值之间的第一误差损失,所述第一距离阈值是所述目标样本与所述正样本之间的距离和所述目标样本与所述负样本之间的距离的差值的阈值。
4.根据权利要求2所述的方法,其特征在于,所述在所述n个第一误差损失由小到大的排序结果中,筛选出排序在第一选取范围内的n1个第一误差损失所对应的样本三元组,添加至用于训练所述量化索引网络的第一样本三元组集合,包括:
在所述n个第一误差损失由小到大的排序结果中,根据预设的x值,筛选出排序在前x%的n1个第一误差损失所对应的样本三元组,添加至用于训练所述量化索引网络的第一样本三元组集合,x为正数。
5.根据权利要求1所述的方法,其特征在于,所述根据所述量化索引网络输出的量化索引的误差,筛选出用于训练所述嵌入向量网络的第二样本三元组集合,包括:
获取所述量化索引网络对所述n个样本三元组输出的n组三元组量化索引;
计算所述n组三元组量化索引对应的n个第二误差损失;
在所述n个第二误差损失由小到大的排序结果中,筛选出排序在第二选取范围内的n2个第二误差损失所对应的样本三元组,添加至用于训练所述嵌入向量网络的第二样本三元组集合,n2为小于n的正整数。
6.根据权利要求5所述的方法,其特征在于,所述计算所述n组三元组量化索引对应的n个第二误差损失,包括:
针对每组三元组量化索引,计算所述三元组量化索引的第一三元组损失;
针对每组三元组量化索引,计算所述三元组量化索引的第一量化误差损失;
对所述第一三元组损失和所述第一量化误差损失进行加权求和,得到所述第二误差损失。
7.根据权利要求5所述的方法,其特征在于,所述在所述n个第二误差损失由小到大的排序结果中,筛选出排序在第二选取范围内的n2个第二误差损失所对应的样本三元组,添加至用于训练所述嵌入向量网络的第二样本三元组集合,包括:
在所述n个第二误差损失由小到大的排序结果中,根据预设的y值,筛选出排序在前y%的n2个第二误差损失所对应的样本三元组,添加至用于训练所述量化索引网络的第二样本三元组集合,y为正数。
8.根据权利要求1至7任一所述的方法,其特征在于,所述基于所述第一样本三元组集合训练所述量化索引网络,包括:
针对所述第一样本三元组集合的每个所述样本三元组,通过所述量化索引网络计算三元组特征向量的第二三元组损失,所述三元组特征向量是所述嵌入向量网络输出的特征向量,所述第一样本三元组集合包括n1个样本三元组;
针对所述第一样本三元组集合的每个所述样本三元组,通过所述量化索引网络计算所述三元组特征向量的第二量化误差损失;
对所述第二三元组损失和所述第二量化误差损失进行加权求和,得到所述第三误差损失;
基于n1个所述第三误差损失,训练所述量化索引网络。
9.根据权利要求1至7任一所述的方法,其特征在于,所述基于所述第二样本三元组集合训练所述嵌入向量网络,包括:
针对所述第二样本三元组集合的每个所述样本三元组,通过所述嵌入向量网络计算所述目标样本的特征向量和所述正样本的特征向量之间的第三距离,所述第二样本三元组集合包括n2个样本三元组;
针对所述第二样本三元组集合的每个所述样本三元组,通过所述嵌入向量网络计算所述目标样本的特征向量和所述负样本的特征向量之间的第四距离;
计算所述第三距离和所述第四距离之间的差值与第二距离阈值之间的第四误差损失,所述第二距离阈值是所述目标样本与所述正样本之间的距离和所述目标样本与所述负样本的距离的差值的阈值;
基于n2个所述第四误差损失,训练所述嵌入向量网络。
10.根据权利要求1所述的方法,其特征在于,所述图像检索模型还包括基础特征网络;
所述方法还包括:
通过所述基础特征网络,获取所述n个样本三元组的基础特征向量。
11.一种图像检索方法,其特征在于,所述方法应用于权利要求1至10任一项训练得到的图像检索模型,所述方法包括:
获取查询图像的基础特征向量;
将所述基础特征向量输入至所述量化索引网络和所述嵌入向量网络;
通过所述量化索引网络获取所述查询图像的量化索引,以及通过所述嵌入向量网络获取所述查询图像的特征向量;
基于所述量化索引,从量化码本中索引得到m个候选图像的特征向量;所述量化码本存储有所述量化索引与所述m个候选图像的特征向量之间的映射关系,m为正整数;
分别计算所述m个候选图像的特征向量与所述查询图像的特征向量的第五距离,得到m个第五距离;
在所述m个第五距离由小到大的排序结果中,根据预设的z值,筛选出排序在前z%的第五距离对应的候选图像,z为正数。
12.一种图像检索模型的训练装置,其特征在于,所述图像检索模型包括嵌入向量网络和量化索引网络,所述嵌入向量网络用于获取图像的特征向量,所述量化索引网络用于提取所述图像的量化索引;所述装置包括:
获取模块,用于获取用于训练所述图像检索模型的n个样本三元组;所述样本三元组包括目标样本、与所述目标样本构成相似样本对的正样本、以及与所述目标样本不构成相似样本对的负样本,n为大于1的正整数;
筛选模块,用于将所述n个样本三元组的基础特征向量输入所述嵌入向量网络;根据所述嵌入向量网络输出的特征向量,筛选出用于训练所述量化索引网络的第一样本三元组集合;
筛选模块,还用于将所述n个样本三元组的基础特征向量输入所述量化索引网络;根据所述量化索引网络输出的量化索引,筛选出用于训练所述嵌入向量网络的第二样本三元组集合;
训练模块,用于基于所述第一样本三元组集合训练所述量化索引网络,以及基于所述第二样本三元组集合训练所述嵌入向量网络。
13.一种图像检索装置,其特征在于,所述装置应用于权利要求1至10任一项训练得到的图像检索模型,所述装置包括:
获取模块,用于获取查询图像的基础特征向量;
输入模块,用于将所述基础特征向量输入至所述量化索引网络和所述嵌入向量网络;
获取模块,还用于通过所述量化索引网络获取所述查询图像的量化索引,以及通过所述嵌入向量网络获取所述查询图像的特征向量;
索引模块,用于基于所述量化索引,从量化码本中索引得到m个候选图像的特征向量;所述量化码本存储有所述量化索引与所述m个候选图像的特征向量之间的映射关系,m为正整数;
计算模块,用于分别计算所述m个候选图像的特征向量与所述查询图像的特征向量的第五距离,得到m个第五距离;
筛选模块,用于在所述m个第五距离由小到大的排序结果中,根据预设的z值,筛选出排序在前z%的第五距离对应的候选图像,z为正数。
14.一种计算机设备,其特征在于,所述计算机设备包括:处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至10任一所述的图像检索模型的训练方法,和/或,权利要求11所述图像检索方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至10任一所述的图像检索模型的训练方法,和/或,权利要求11所述图像检索方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110945262.5A CN114282035A (zh) | 2021-08-17 | 2021-08-17 | 图像检索模型的训练和检索方法、装置、设备及介质 |
PCT/CN2022/107973 WO2023020214A1 (zh) | 2021-08-17 | 2022-07-26 | 检索模型的训练和检索方法、装置、设备及介质 |
EP22857527.0A EP4386579A1 (en) | 2021-08-17 | 2022-07-26 | Retrieval model training method and apparatus, retrieval method and apparatus, device and medium |
US18/134,447 US20230252070A1 (en) | 2021-08-17 | 2023-04-13 | Method and apparatus for training retrieval model, retrieval method and apparatus, device and medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110945262.5A CN114282035A (zh) | 2021-08-17 | 2021-08-17 | 图像检索模型的训练和检索方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114282035A true CN114282035A (zh) | 2022-04-05 |
Family
ID=80868404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110945262.5A Pending CN114282035A (zh) | 2021-08-17 | 2021-08-17 | 图像检索模型的训练和检索方法、装置、设备及介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230252070A1 (zh) |
EP (1) | EP4386579A1 (zh) |
CN (1) | CN114282035A (zh) |
WO (1) | WO2023020214A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023020214A1 (zh) * | 2021-08-17 | 2023-02-23 | 腾讯科技(深圳)有限公司 | 检索模型的训练和检索方法、装置、设备及介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116912535B (zh) * | 2023-09-08 | 2023-11-28 | 中国海洋大学 | 一种基于相似筛选的无监督目标重识别方法、装置及介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180341805A1 (en) * | 2015-11-06 | 2018-11-29 | Thomson Licensing | Method and Apparatus for Generating Codebooks for Efficient Search |
CN109815355A (zh) * | 2019-01-28 | 2019-05-28 | 网易(杭州)网络有限公司 | 图像搜索方法及装置、存储介质、电子设备 |
CN113127672B (zh) * | 2021-04-21 | 2024-06-25 | 鹏城实验室 | 量化图像检索模型的生成方法、检索方法、介质及终端 |
CN113254687B (zh) * | 2021-06-28 | 2021-09-17 | 腾讯科技(深圳)有限公司 | 图像检索、图像量化模型训练方法、装置和存储介质 |
CN114282035A (zh) * | 2021-08-17 | 2022-04-05 | 腾讯科技(深圳)有限公司 | 图像检索模型的训练和检索方法、装置、设备及介质 |
-
2021
- 2021-08-17 CN CN202110945262.5A patent/CN114282035A/zh active Pending
-
2022
- 2022-07-26 EP EP22857527.0A patent/EP4386579A1/en active Pending
- 2022-07-26 WO PCT/CN2022/107973 patent/WO2023020214A1/zh unknown
-
2023
- 2023-04-13 US US18/134,447 patent/US20230252070A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023020214A1 (zh) * | 2021-08-17 | 2023-02-23 | 腾讯科技(深圳)有限公司 | 检索模型的训练和检索方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
US20230252070A1 (en) | 2023-08-10 |
EP4386579A1 (en) | 2024-06-19 |
WO2023020214A1 (zh) | 2023-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109086709B (zh) | 特征提取模型训练方法、装置及存储介质 | |
CN110097019B (zh) | 字符识别方法、装置、计算机设备以及存储介质 | |
CN109299315B (zh) | 多媒体资源分类方法、装置、计算机设备及存储介质 | |
CN110083791B (zh) | 目标群组检测方法、装置、计算机设备及存储介质 | |
CN110059652B (zh) | 人脸图像处理方法、装置及存储介质 | |
CN110795625B (zh) | 推荐方法、装置、计算机设备及存储介质 | |
CN111243668B (zh) | 分子结合位点检测方法、装置、电子设备及存储介质 | |
CN111104980B (zh) | 确定分类结果的方法、装置、设备及存储介质 | |
CN111931877B (zh) | 目标检测方法、装置、设备及存储介质 | |
CN114332530A (zh) | 图像分类方法、装置、计算机设备及存储介质 | |
CN111897996A (zh) | 话题标签推荐方法、装置、设备及存储介质 | |
CN110162604B (zh) | 语句生成方法、装置、设备及存储介质 | |
CN111476783A (zh) | 基于人工智能的图像处理方法、装置、设备及存储介质 | |
CN112733970B (zh) | 图像分类模型处理方法、图像分类方法及装置 | |
CN110503160B (zh) | 图像识别方法、装置、电子设备及存储介质 | |
CN114282035A (zh) | 图像检索模型的训练和检索方法、装置、设备及介质 | |
CN111581958A (zh) | 对话状态确定方法、装置、计算机设备及存储介质 | |
CN111738365B (zh) | 图像分类模型训练方法、装置、计算机设备及存储介质 | |
CN113569042A (zh) | 文本信息分类方法、装置、计算机设备及存储介质 | |
CN114283299A (zh) | 图像聚类方法、装置、计算机设备及存储介质 | |
CN110942046B (zh) | 图像检索方法、装置、设备及存储介质 | |
CN113505256A (zh) | 特征提取网络训练方法、图像处理方法及装置 | |
CN113918767A (zh) | 视频片段定位方法、装置、设备及存储介质 | |
CN113822263A (zh) | 图像标注方法、装置、计算机设备及存储介质 | |
CN114299306A (zh) | 获取图像检索模型的方法、图像检索方法、装置和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40068483 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |