CN114647751A - 图像检索方法、模型训练方法、装置、设备、介质及产品 - Google Patents
图像检索方法、模型训练方法、装置、设备、介质及产品 Download PDFInfo
- Publication number
- CN114647751A CN114647751A CN202210248604.2A CN202210248604A CN114647751A CN 114647751 A CN114647751 A CN 114647751A CN 202210248604 A CN202210248604 A CN 202210248604A CN 114647751 A CN114647751 A CN 114647751A
- Authority
- CN
- China
- Prior art keywords
- training
- semantic
- image
- visual
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims abstract description 566
- 238000000034 method Methods 0.000 title claims abstract description 85
- 230000000007 visual effect Effects 0.000 claims abstract description 409
- 230000006870 function Effects 0.000 claims abstract description 74
- 238000012545 processing Methods 0.000 claims abstract description 19
- 238000005259 measurement Methods 0.000 claims description 76
- 238000004422 calculation algorithm Methods 0.000 claims description 38
- 238000004364 calculation method Methods 0.000 claims description 36
- 238000000605 extraction Methods 0.000 claims description 35
- 238000005065 mining Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 17
- 238000013528 artificial neural network Methods 0.000 claims description 14
- 238000010276 construction Methods 0.000 claims description 7
- 238000011524 similarity measure Methods 0.000 claims description 4
- 238000013135 deep learning Methods 0.000 abstract description 3
- 230000000875 corresponding effect Effects 0.000 description 154
- 239000013598 vector Substances 0.000 description 15
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000004393 visual impairment Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 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/55—Clustering; Classification
-
- 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/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/23—Clustering techniques
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)
- Databases & Information Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Library & Information Science (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,用户设备1可以为用户输出检索服务的一检索页面1,用户可以在检索页面1中输入待检索图像。检索页面1检测到用户输入的待检索图像时可以将待检索图像发送至配置有本公开提供的图像检索方法的电子设备2。电子设备2例如可以包括计算机、笔记本、普通服务器、云服务器等。图1中的示出的电子设备2为云服务器。云服务器2中可以配置训练获得的视觉检索模型21以及语义检索模型22。通过视觉检索模型21可以对待检索图像的视觉特征进行提取。通过语义检索模型22可以对待检索图像的语义特征进行提取。将待检索图像的视觉特征以及语义特征进行特征拼接,获得目标特征之后,可以利用目标特征从图像库23中查找目标图像。之后云服务器2可以将目标图像发送至用户设备1实现目标图像的快速而准确的获取。
如图2所示,为本公开实施例提供的一种图像检索方法的一个流程图,该方法可以配置为一图像检索装置,图像检索装置可以设置于电子设备中。图像检索方法可以包括以下几个步骤:
201:获取待检索图像。
待检索图像可以为数字图像,可为任意的图像格式,例如可以为联合图像专家组(英文全称:Joint Photographic Experts Group,简称:JPEG)格式、位图(英文全称:Bitmap,简称:BMP)格式、标签图像文件格式(英文全称:Tag Image File Format,简称:TIFF)等格式,本公开实施例中对图像个具体格式并不做出过多限定。
202:基于多个训练任务联合训练获得的视觉检索模型,提取待检索图像的视觉特征。
可选地,视觉检索模型的获取步骤包括:获取视觉检索模型的视觉参数文件,从视觉参数文件中读取视觉模型参数,基于视觉模型参数加载视觉检索模型,完成视觉检索模型的获取。其中,视觉参数文件可以为视觉检索模型训练结束时存储的。语义检索模型的训练步骤可以参考图4所示的实施例。
203:基于多个损失函数联合训练获得的语义检索模型,提取待检索图像的语义特征。
可选地,语义检索模型的获取步骤包括:获取语义检索模型的语义参数文件,从语义参数文件中读取语义模型参数,基于语义模型参数加载语义检索模型,完成语义检索模型的获取。其中,语义参数文件可以为语义检索模型训练结束时存储的。语义检索模型的训练步骤可以参考图5所示的实施例。
其中,多个训练任务联合训练视觉检索模型可以指同时采用多个训练任务对视觉检索模型进行训练。训练任务可以指对视觉特征执行的分类任务、识别任务、检测任务、相似度量任务中等训练任务的至少两个。
多个损失函数联合训练语义检索模型可以指采用多个损失函数对视觉检索模型的目标训练任务进行综合性的损失计算。多个损失函数可以指距离损失函数、中心损失函数、交叉熵损失函数等损失函数中的至少两个。
204:将视觉特征与语义特征进行特征拼接,以获得待检索图像的目标特征。
205:基于目标特征,从图像库中查找与待检索图像满足图像相似条件的目标图像。
可选地,可以确定图像库中多个候选图像分别对应的候选图像特征,将待检索图像分别与多个候选图像特征进行特征相似计算,获得待检索图像在多个候选图像分别对应的图像相似度,将多个候选图像分别对应的图像相似度按照从大到小的顺序排序,从排序中的多个候选图像中选择N个候选图像作为目标图像。其中,N为大于等于1的正整数。
本公开实施例中,获得待检索图像之后,可以利用多个训练任务联合视觉检索模型,提取待检索图像的视觉特征,利用多个训练任务联合语义检索模型,提取待检索图像的语义特征。利用视觉特征以及语义特征进行特征拼接,获得目标特征。通过目标特征可以从图像库中查找与待检索图像满足图像相似条件的目标图像。语义特征以及视觉特征综合了待检索图像的视觉以及语义两个方面的特征,特征更全面,进而可以对待检索图像进行准确识别。
为了实时获得待检索图像,在一种可能的设计中,获取待检索图像可以包括:
接收用户设备发送的图像检索请求;
响应于图像检索请求,获取待检索图像。
可选地,图像检索可以对外提供一图像检索服务,例如可以向用户提供图像检索页面的网页链接。用户设备可以响应于用户在浏览器中输入的网页链接,获取到电子设备发送的图像检索页面,可以为用户展示图像检索页面。用户设备还可以检测用户针对图像检索页面中的图像输入控件触发的选择请求,为用户展示图像路径选择控件,并检测用户基于图像路径选择控件提供的图像路径。按照图像路径读取图像,以基于从图像路径读取的图像生成图像检索请求。图像检索请求中包含的图像即为待检索图像。用户设备还可以将图像检索请求发送至电子设备。在实际应用中,用户设备例如可以包括个人计算机、手机、笔记本电脑等终端设备,本公开中对用户设备的具体类型并不做出过多限定。
本公开实施例中,接收到用户设备发送的图像检索请求时,可以响应于图像检索请求,获得待检索图像。通过与用户进行交互可以实时获得待检索图像,提供对外的图像检索服务,提高服务时效性。
为了提取到准确的视觉特征。作为一个实施例,基于训练获得的视觉检索模型,提取待检索图像的视觉特征,可以包括:
获取多个训练任务联合训练获得的视觉检索模型的第一编码器。
将待检索图像输入第一编码器,利用第一编码器计算获得待检索图像的视觉特征。
视觉检索模型可以包括第一编码器以及多个训练任务。多个训练任务可以为多个任务构成的多个训练任务。
本公开实施例中,采用多个训练任务联合视觉检索模型的第一编码器对待检索图像进行准确的特征提取,提高特征提取效率以及准确性。
为了提取到准确的语义特征。作为又一个实施例,基于训练获得的语义检索模型,提取待检索图像的语义特征,可以包括:
获取多个损失函数联合训练获得的语义检索模型的第二编码器。
将待检索图像输入第二编码器,利用第二编码器计算获得待检索图像的语义特征。
语义检索模型可以包括第二编码器以及目标训练任务。目标训练任务可以为多个损失函数进行损失计算构成的训练任务。
本公开实施例中,采用多个训练任务联合语义检索模型的第二编码器对待检索图像进行准确的特征提取,提高特征提取效率以及准确性。
作为一个实施例,为了获得准确的目标图像,如图3所示,为本公开实施例提供的一种图像检索方法的又一个流程图,该方法可以配置为一图像检索装置,图像检索装置可以设置于电子设备中。与图2所示实施例的不同之处在于,上述步骤205:基于目标特征,从图像库中查找与待检索图像满足图像相似条件的目标图像可以包括:
301:确定图像库中多个候选图像。
图像库中的多个候选图像的特征提取步骤与待检索图像的特征提取步骤相同。
302:基于视觉检索模型提取多个候选图像分别对应的候选视觉特征。
可选地,基于视觉检索模型提取多个候选图像分别对应的候选视觉特征可以包括:获取多个训练任务联合训练获得的视觉检索模型的第一编码器;将候选图像输入第一编码器,利用第一编码器计算获得待检索图像的候选视觉特征,以获得多个候选图像分别对应的候选视觉特征。
303:基于语义检索模型提取多个候选图像分别对应的候选语义特征。
可选地,基于语义检索模型提取多个候选图像分别对应的候选语义特征可以包括:获取多个损失函数联合训练获得的语义检索模型的第二编码器;将候选图像输入第二编码器,利用第二编码器计算获得待检索图像的候选语义特征,以获得多个候选图像分别对应的候选语义特征。
304:将每个候选图像的候选视觉特征和候选语义特征进行特征拼接,获得多个候选图像分别对应的候选特征。
将候选图像的候选视觉特征和候选语义特征进行特征拼接,可以获得该候选图像的候选特征,进而获得多个候选图像分别对应的候选特征。
305:根据多个候选图像分别对应的候选特征,查找与目标特征满足特征相似条件的目标特征,以获得目标特征对应的候选图像为目标图像。
本公开实施例中,确定图像库中多个候选图像,并利用视觉检索模型以及语义检索模型对每个候选图像进行视觉以及语义两个方面的特征的提取,获得多个候选图像分别对应的候选视觉特征和语义视觉特征。通过特征拼接,可以获得每个候选图像的候选特征。通过候选特征的提取,可以对图像库中的候选图像采用与当前待检索图像使用相同的特征提取方式,实现特征的准确提取,可以对特征匹配起到准确的对应作用。
在一种可能的设计中,上述步骤305中,根据多个候选图像分别对应的候选特征,差值与目标特征满足特征相似条件的目标特征,可以包括:
对多个候选图像分别对应的候选特征进行空间聚类,获得多个空间节点形成的空间树、空间节点对应图像类别以及空间特征;父空间节点的图像类别为子空间节点的图像类别的父类别;每个空间节点对应图像类别包括至少一个候选图像分别对应的候选特征;
基于空间树中多个空间节点分别对应的空间特征,确定与目标特征满足空间相似条件的目标空间节点;
从目标空间节点的至少一个候选图像分别对应的候选特征中确定与目标特征满足特征相似条件的目标特征。
可选地,对多个候选图像分别对应的候选特征进行空间聚类可以包括:使用广义非正交反向多索引(英文全称:The Generalized Non-Orthogonal Inverted Multi-Index,简称:GNOIMI)检索算法。
本公开实施例中,对多个候选图像分别对应的候选特征进行空间聚类,可以获得多个空间节点形成的空间树。其中,空间节点对应图像类别以及空间特征。空间树中的父空间节点的图像类别为其子空间节点的图像类别的父类别。每个空间节点对应图像类别包括至少一个候选图像分别对应的候选特征。通过空间类别的聚类,可以对图像库中的图像进行有效分类,使得相似性较高的图像划分至一个空间中,实现图像特征的精准聚类。从而利用空间树中多个空间节点分别对应的空间特征,可以确定与目标特征满足空间相似条件的目标空间节点,实现空间节点的选择。空间节点的选择具备层级选择特性,可以加速目标空间节点的确定。通过目标空间节点的至少一个候选图像分别对应的候选特征依次与目标特征进行特征相似匹配,最终获得满足特征相似条件的目标特征,提升了目标特征的选择效率以及精度。
作为一个实施例,基于空间树中多个空间节点分别对应的空间特征,确定与目标特征满足空间相似条件的目标空间节点,包括:
从空间树的根节点开始,依次计算每个空间节点的空间特征与目标特征的特征距离;
若确定任一个空间节点的特征距离小于距离阈值,则确定空间节点为与目标特征满足空间相似条件的目标空间节点。
可选地,可以计算任一个空间节点的空间特征与目标特征的特征距离;若特征距离小于距离阈值,则获取该空间节点的至少一个子空间节点。若确定至少一个子空间节点不为空,则继续将至少一个子空间节点分别对应的空间特征与目标特征进行特征子距离的计算,获得至少一个子空间节点分别对应的特征子距离,若任一个特征子距离大于距离子阈值,则确定该特征子距离对应的子空间节点为新的空间节点,继续执行确定任一个空间节点的空间特征与目标特征的特征距离的步骤,直至至少一个子空间节点为空。
其中,距离子阈值大于距离阈值,距离子阈值可以根据距离阈值与阈值增加量计算获得,也可以为根据距离阈值随机确定的大于该距离阈值的数值。
可选地,若确定空间节点的至少一个子空间节点为空,则确定该空间节点为目标空间节点。若确定任一个空间节点的特征距离大于或等于距离阈值,则确定该空间节点不满足空间相似条件。
本公开实施例中,利用空间树进行目标空间节点的查找时,可以从空间树的根节点开始,依次计算每个空间节点的空间特征与目标特征的特征距离。若任一个空间节点的特征距离小于距离阈值,则确定空间节点为与目标特征满足空间相似条件的目标空间节点。通过空间特征与特征距离的匹配,可以对目标特征与各个空间节点进行准确匹配,实现对目标空间节点的准确查找。
如图4所示,为本公开实施例提供的一种视觉检索模型的训练方法的一个流程图,该方法可以配置为一视觉检索模型的训练装置,训练装置可以设置于电子设备中。视觉检索模型的训练方法可以包括:
401:基于视觉相似度聚类算法,将图像库中多个候选图像进行视觉聚类处理,获得至少一个视觉类别。
可选地,视觉相似度聚类算法可以包括半监督聚类算法。通过半监督聚类算法可以实现对多个候选图像更快速更准确的距离。基于视觉相似度聚类算法,将图像库中多个候选图像进行视觉聚类处理,获得至少一个视觉类别,可以包括:将图像库中多个候选图像进行视觉特征提取,获得多个候选图像分别对应的候选视觉特征,将多个候选图像分别对应的候选视觉特征按照语义相似度进行划分,将满足语义相似条件的候选视觉特征划分至同一视觉类别中,以获得至少一个视觉类别。至少一个视觉类别的数量较大,例如可以包括高于8万,存在8万以上的视觉类别。通过大量的视觉类别可以对图像库中的多个候选图像进行更详细,更精确的视觉类别划分,实现对图像库中图像的视觉特性的有效管理。
任一个视觉类别可以包括至少一个视觉相似的候选图像。
其中,任一个视觉类别可以对应相应的视觉向量或者视觉标签,以区分不同的视觉类别。任一个视觉类别的视觉向量或者视觉标签可以通过该视觉类别对应的至少一个候选视觉特征中的特征共性提取获得。例如,手机M品牌可以包括两个型号的手机,分别为M1型号和M2型号,这两个型号的手机外观不同,此时可以包括M1手机和M2手机均可以作为一个视觉类别,可以将M1型号的手机对应的候选图像划分至同一视觉类别中,将M2型号的手机对应的候选图像划分至同一视觉类别中。此时M1型号手机的视觉向量即为“M1型号手机外观对应的特征向量”或者视觉标签即为“M品牌M1型号手机”。M2型号的手机的视觉向量为“M2型号手机外观对应的特征向量”或者视觉标签为“M品牌M1型号手机”。视觉向量可以标识语义类别的含义特性。
402:生成包含第一编码器以及多个训练任务的待训练的视觉检索模型。
多个训练任务包括:至少一个视觉类别对应的分类任务以及相似度量任务。
403:确定至少一个第一训练数据;第一训练数据包括标记有视觉真值的第一训练图像以及第二训练图像。
视觉真值包括基于至少一个视觉类别确定的视觉类别真值以及相似度量真值。视觉类别真值为第一训练图像和第二训练图像的真实视觉类别。相似度量真值为第一训练图像和第二训练图像的相似度量结果。
404:将至少一个第一训练数据输入待训练的视觉检索模型,以多个训练任务对视觉检索模型整体产生的第一损失值满足第一误差条件为训练目标,训练获得视觉检索模型的视觉模型参数。
其中,视觉模型参数对应的视觉检索模型的第一编码器用于提取待检索图像的视觉特征。视觉特征用于从图像库中查找目标图像。
视觉特征和语义检索模型对待检索图像提取的语义特征用于从图像库中查找目标图像;语义检索模型基于多个损失函数联合训练获得。
可选地,获得视觉检索模型的视觉模型参数之后,可以将视觉检索模型的视觉模型参数存储于视觉参数文件中,以便于在需要使用视觉检索模型时,从视觉参数文件中读取视觉模型参数,并基于视觉检索模型加载视觉模型参数,完成视觉检索模型的获取。
视觉模型参数对应的视觉检索模型的第一编码器还用于提取图像库中多个候选图像分别对应的候选视觉特征。
本公开实施例中,采用视觉相似度聚类算法,将图像库中的多个候选图像进行视觉聚类处理,获得至少一个视觉类别。每个视觉类别中为满足视觉相似度的至少一个候选图像。至少一个视觉类别的提取,可以确保图像库以视觉类别进行划分。进而利用至少一个视觉类别确定的分类任务以及相似度量任务构成的多个训练任务,对视觉检索模型进行训练。确保视觉检索模型中的第一编码器是对图像的视觉特性进行提取的机器模型。通过对视觉检索模型的训练,获得准确的视觉模型参数,使得训练结束的视觉检索模型中的第一编码器对至少一个视觉类别均具有较强的特征提取性能,提高第一编码器对视觉特征的提取准确度。
作为一个实施例,多个训练任务包括:分类任务以及相似度量任务。生成包含第一编码器以及多个训练任务的待训练的视觉检索模型可以包括:
基于至少一个视觉类别,构建视觉检索模型的分类任务;
基于相似度量模型,构建视觉检索模型的相似度量任务,以获得分类任务以及相似度量任务对应的多个训练任务;
基于神经网络算法,构建视觉检索模型的第一编码器;
确定第一编码器以及多个训练任务构成的待训练的视觉检索模型。
可选地,神经网络算法可以包括:深度神经网络算法或者卷积神经网络算法。第一编码器可以采用多级网络结构,以对第一编码器进行准确定义。
多个训练任务中的分类任务可以包括全连接层,全连接层可以由至少一个视觉类别生成。全连接层的生成方式可以参考相关技术的描述,在此不再赘述。多个训练任务中的相似度量任务可以包括全连接层,全连接层可以用于对第一训练图像的第一视觉特征以及第二训练图像的第二视觉特征进行像素度量,以获得第一训练图像和第二训练图像的相似度。
本公开实施例中,基于至少一个视觉类别可以构建分类任务,以及基于至少一个相似度量模型,可以构建相似度量任务。通过分类任务以及相似度量任务的构建,可以获得多个训练任务。通过神经网络算法可以构建视觉检索模型的第一编码器。以至少一个视觉类别作为分类任务的构建基础,可以使得视觉检索模型的第一编码器能够对不同类别的编码器进行区分,可以获得更具备准确的视觉特征提取功能的第一编码器。
作为一个实施例,将至少一个第一训练数据输入待训练的视觉检索模型,以多个训练任务对视觉检索模型整体产生的第一损失值满足第一误差条件为训练目标,训练获得视觉检索模型的视觉模型参数,包括:
对待训练的视觉检索模型进行参数初始化,获得视觉模型参数对应的第一模型参数;
将至少一个第一训练数据依次输入第一模型参数对应的视觉检索模型的第一编码器,提取至少一个第一训练数据分别对应的第一训练特征;
基于至少一个第一训练数据分别对应的第一训练特征和视觉真值,计算至少一个第一训练数据在分类任务对应的分类误差以及在相似度量任务对应的相似度量误差;
将分类误差与相似度量误差进行加权,获得训练产生的第一损失值;
若确定第一损失值满足第一误差条件,则确定第一模型参数为视觉检索模型的视觉模型参数。
第一训练数据可以包括第一训练图像以及第二训练图像。将第一训练数据输入第一模型参数对应的视觉检索模型,可以利用该第一模型参数对应的第一检索模型对第一训练图像以及第二训练图像分别进行视觉特征的提取,获得第一训练图像的第一视觉特征以及第二训练图像的第二视觉特征。获得第一视觉特征以及第二视觉特征构成的第一训练特征。
本公开实施例中,将至少一个第一训练数据依次输入到第一模型参数对应的第一编码器,利用第一编码器提取获得至少一个第一训练数据分别对应的第一训练特征,可以实现对第一训练特征的准确提取。通过每个第一训练数据的第一训练特征和视觉真值,可以对视觉检索模型对至少一个第一训练数据在分类任务的分类效率以及在相似度量任务的度量结果进行误差计算,获得分类误差以及相似度量误差,通过分类误差和相似度量误差对应的第一损失值可以对第一模型参数是否满足第二误差条件进行准确判断。完成视觉检索模型的准确训练。
作为又一个实施例,将分类误差与相似度量误差进行加权,获得训练产生的第一损失值之后,还包括:
若确定第一损失值不满足第一误差条件,则更新视觉检索模型的第一模型参数,返回至将至少一个第一训练数据依次输入第一模型参数对应的视觉检索模型的第一编码器的步骤继续执行。
第一损失值满足第一误差条件可以指第一损失值小于第一误差阈值。第一损失值不满足第一误差条件可以指第一损失值大于或等于第一误差阈值。第一误差阈值可以根据实际的使用需求设置。
本公开实施例中,利用分类误差和相似度量误差加权计算获得第一损失值之后,可以在确定第一损失值不满足第一误差条件,更新视觉检索模型的第一模型参数,通过不断对视觉检索模型的模型参数进行更新迭代,可以实现对视觉检索模型的有效且准确的训练。
在一种可能的设计中,基于至少一个第一训练数据分别对应的第一训练特征和视觉真值,计算至少一个第一训练数据在分类任务对应的分类误差以及在相似度量任务对应的相似度量误差,包括:
将第一训练数据的第一训练特征输入分类任务,以获得至少一个第一训练数据分别对应的分类结果;分类结果为从至少一个视觉类别中确定的目标视觉类别;
基于至少一个第一训练数据分别对应的目标视觉类别和视觉类别真值,计算获得分类误差;
将第一训练数据的第一训练特征输入相似度量任务,获得相似度量任务对第一训练数据中第一训练图像以及第二训练图像的相似度量结果,以获得至少一个训练数据分别对应的相似度量结果;
基于至少一个第一训练数据分别对应的相似度量结果和相似度量真值,计算获得相似度量误差。
可选地,基于至少一个第一训练数据分别对应的目标视觉类别和视觉类别真值,计算获得分类误差可以包括:计算任一个第一训练数据的目标视觉类别和视觉类别真值的视觉距离,获得至少一个第一训练数据分别对应的视觉距离,根据至少一个第一训练数据分别对应的视觉距离,结合视觉损失函数,计算获得分类误差。基于至少一个第一训练数据分别对应的相似度量结果和相似度量真值,计算获得相似度量误差可以包括:计算任一个第一训练数据的相似度量结果和相似度量真值的相似误差,获得至少一个第一训练数据分别对应的相似误差,根据至少一个第一训练数据分别对应的相似误差,结合相似损失函数,计算获得相似度量误差。
其中,视觉损失函数例如可以包括:交叉熵损失函数,相似损失函数例如可以包括:liftedloss(弥补损失)函数。
本公开实施例中,对至少一个第一训练数据分别对应的第一训练特征执行多个训练任务,可以将每个第一训练特征输入到分类任务以获得至少一个训练数据分别对应的分类结果,分类结果为从至少一个视觉类别中确定的目标视觉类别,完成分类任务。将每个输入到相似度量任务,可以获得相似度量任务实现对第一训练特征中两个视觉特征的相似度量,完成图像之间的相似度量任务。通过相似度量以及视觉类别的分类可以对第一训练数据的第一训练图像以及第二训练图像之间的相似度以及二者的视觉类别进行准确的误差检测,获得准确的分类误差和相似度量误差。
如图5所示,为本公开实施例提供的一种语义检索模型的训练方法的一个流程图,该方法可以配置为一语义检索模型的训练装置,训练装置可以设置于电子设备中。语义检索模型的训练方法可以包括:
501:基于语义类别挖掘算法,将图像库中多个候选图像进行语义类别挖掘,获得至少一个语义类别。
可选地,基于语义类别挖掘算法,将图像库中多个候选图像进行语音类别挖掘,获得至少一个语义类别,可以包括:将图像库中多个候选图像进行语义特征提取,获得多个候选图像分别对应的候选语义特征,将多个候选图像分别对应的候选语义特征按照语义相似度进行划分,将满足语义相似条件的候选语义特征划分至同一语义类别中,以获得至少一个语义类别。至少一个语义类别的数量较大,例如高于10万,也即存在10万以上的语义类别。通过大量的语义类别可以对图像库中的多个候选图像进行更详细,更精确的语义类别划分,实现对图像库中图像的语义特性的有效管理。
其中,任一个语义类别可以对应相应的语义向量或者语义标签,以区分不同的语义类别。任一个语义类别的语义向量或者语义标签可以通过该语义类别对应的至少一个候选语义特征中的特征共性提取获得。例如,手机可以包括A品牌手机和B品牌手机,可以将A品牌手机对应的候选图像划分至同一语义类别中,将B品牌手机对应的候选图像划分至同一语义类别中。此时A品牌手机的语义向量即为“A品牌手机对应的词向量”或者语义标签即为“A品牌手机”。B品牌手机的语义向量即为“B品牌手机对应的词向量”或者语义标签为“B品牌手机”。语义向量可以标识语义类别的含义特性。
502:生成包含第二编码器以及目标训练任务的待训练的语义检索模型;目标训练任务对应多个损失函数。
目标训练任务可以包括至少一个语义类别分别对应的语义分类任务。语义分类任务可以为待分类的训练特征从至少一个语义类别中确定相应的目标语义类别。
503:确定至少一个第二训练数据。第二训练数据包括标记有语义类别真值的第三训练图像。
第三训练图像可以为任意类型的图像。为了提高图像获取效率,第三训练图像可以从图像库中读取获得。
504:将至少一个第二训练数据输入待训练的语义检索模型,以基于多个损失函数对语义检索模型进行整体损失计算获得的第二损失值满足第二误差条件为训练目标,训练获得语义检索模型的语义模型参数。
其中,语义模型参数对应的语义检索模型中的第二编码器用于提取待检索图像的语义特征;语义特征用于从图像库中查找目标图像。
语义特征和视觉检索模型对待检索图像提取的视觉特征用于从图像库中查找目标图像;视觉检索模型基于多个训练任务联合训练获得。
可选地,获得语义检索模型的语义模型参数之后,可以将语义检索模型的语义模型参数存储于语义参数文件中,以便于在需要使用语义检索模型时,从语义参数文件中读取语义模型参数,并基于语义检索模型加载语义模型参数,完成语义检索模型的获取。
本公开实施例中,采用视觉相似度挖掘算法对图像库中多个候选图像进行语义类别的挖掘,可以获得至少一个语义类别。每个语义类别中为满足语义相似度的至少一个候选图像。至少一个语义类别的提取,可以确保对图像库按照语义进行划分,使得图像的语义类别更丰富。进而通过至少一个语义类别构建目标训练任务,该目标训练任务即为包含至少一个语义类别的语义分类任务。在训练过程中可以使用以对第三训练图像的训练目标与其对应的语义类别真值为训练目标,可以训练获得语义检索模型的语义模型参数。通过目标训练任务的训练可以确保语义检索模型可以对至少一个语义类别具有一定的特征区分,可以使得语义检索模型的第二编码器提取的特征能够区分不同的语义类别,实现对语义检索模型的准确训练。
语义检索参数对应的语义检索模型中的第二编码器还用于提取图像库中候选图像的候选语义特征。
作为一个实施例,生成包含第二编码器以及目标训练任务的待训练的语义检索模型,包括:
基于至少一个语义类别,构建语义检索模型的目标训练任务;目标训练任务对应多个损失函数;
基于神经网络算法,构建语义检索模型的第二编码器;
确定第二编码器以及目标训练任务构成的语义检索模型。
可选地,神经网络算法可以包括:深度神经网络算法或者卷积神经网络算法。第二编码器可以采用多级网络结构,以对第二编码器进行准确定义。
目标训练任务可以包括全连接层,全连接层可以由至少一个语义类别生成。全连接层的生成方式可以参考相关技术的描述,在此不再赘述。
本公开实施例中,利用至少一个语义类别构建语义检索模型的目标训练任务,再基于神经网络算法,构建语义检索模型的第二编码器。最终获得第二编码器和目标训练任务构成的语义检索模型。目标训练任务是对至少一个语义类别的语义分类任务,利用第二编码器以及目标训练任务对应的语义检索模型进行模型训练,实现将语义类别与第二编码器的有效管理,获得高准确度的语义检索模型。
作为一种可能的实现方式,将至少一个第二训练数据输入待训练的语义检索模型,以基于多个损失函数对语义检索模型进行整体损失计算获得的第二损失值满足第二误差条件为训练目标,训练获得语义检索模型的语义模型参数,包括:
对待训练的语义检索模型进行参数初始化,获得语义模型参数对应的第二模型参数;
将至少一个第二训练数据依次输入第二模型参数对应的语义检索模型的第二编码器,提取至少一个第二训练数据分别对应的第二训练特征;
基于至少一个第二训练数据分别对应的第二训练特征和语义类别真值,计算至少一个第二训练数据在目标训练任务对应的语义识别误差和中心损失误差;
将语义识别误差与中心损失误差进行加权,获得训练产生的第二损失值;
若确定第二损失值满足第二误差条件,则确定第二模型参数为语义检索模型的语义模型参数。
可选地,若确定第二模型参数为语义检索模型的语义模型参数,则可以停止对语义检索模型的训练。
将至少一个第二训练数据依次输入到第二模型参数对应的语义检索模型的第二编码器,可以利用第二编码器对每个第二训练数据进行特征提取,获得第二编码器对应的第二训练特征。
第二损失值满足第二误差条件可以指第二损失值小于第二误差阈值。第二损失值不满足第二误差条件可以指第二损失值大于或等于第二误差阈值。第二误差阈值可以根据实际的使用需求设置。
本公开实施例中,获得语义模型参数的第二模型参数之后,可以将至少一个第二训练数据依次输入到第二模型参数对应的语义检索模型的第二编码器中。利用第二编码器提取获得至少一个第二训练数据分别对应的第二训练特征,可以实现对第二训练特征的准确提取。通过每个第二训练数据的第二训练特征和语义类别真值,可以计算语义识别误差和中心损失误差。通过语义识别误差和中心损失误差可以对第二模型参数是否满足第二误差条件进行准确判断,完成语义检索模型的准确训练。
作为又一个实施例,若确定第二损失值不满足第二误差条件,则更新语义检索模型的第二模型参数,返回至将至少一个第二训练数据依次输入第二模型参数对应的语义检索模型的第二编码器的步骤继续执行。
本公开实施例中,利用语义识别误差和中心损失误差加权计算获得第二损失值之后,可以若确定第二损失值不满足第二误差条件,则可以更新语义检索模型的第二模型参数,通过不断对语义检索模型的模型参数进行更新迭代,可以实现对语义检索模型的有效而准确的训练。
在某些实施例中,目标训练任务包括基于至少一个语义类别的语义分类任务;基于至少一个第二训练数据分别对应的第二训练特征和语义类别真值,计算至少一个第二训练数据在目标训练任务对应的语义识别误差和中心损失误差,包括:
将第二训练数据的第二训练特征输入目标训练任务对应的语义分类任务,获得第二训练数据对应的目标语义类别,以获得至少一个第二训练数据分别对应的目标语义类别;
基于误差损失函数,对至少一个第二训练数据分别对应的目标语义类别和语义类别真值进行误差计算,获得语义识别误差;
基于中心损失函数,对至少一个第二训练数据分别对应的目标语义类别和语义类别真值进行误差计算,获得中心损失误差。
可选地,第二训练特征输入到语义分类任务中,语义分类任务可以对第二训练特征与至少一个语义类别分别对应的语义向量或者语义标签进行特征距离计算,第二训练特征与至少一个语义类别分别对应的特征距离,从至少一个语义类别分别对应的特征距离中确定最小特征距离对应的语义类别为第二训练特征的目标语义类别。
作为一种可选方式,利用误差损失函数,对至少一个第二训练数据分别对应的目标语义类别和语义类别真值进行误差计算,获得语义识别误差可以包括:将任一个第二训练数据中目标语义类别与语义类别真值进行误差计算,获得至少一个第二训练数据分别对应的误差损失,将至少一个第二训练数据分别对应的误差损失相加获得语义识别误差。
作为一种可选方式,利用中心损失函数,对至少一个第二训练数据分别对应的目标语义类别和语义类别真值进行误差计算,获得中心损失误差,可以包括:将至少一个第二训练数据分别对应的目标语义类别和语义类别真值输入到中心损失函数,利用中心损失函数计算获得中心损失误差。
其中,误差损失函数可以包括交叉熵(Cross-Entropy)、绝对值损失函数、对数损失函数等,本实施例中对误差损失函数的具体类型并不做出过多限定。中心损失函数(center loss)可以指通过特征和特征中心的聚类和softmax loss(回归损失函数)一同作为损失函数,使得类内距离更小。通过中心损失函数和误差损失函数可以对函数损失进行准确计算。
本公开实施例中,目标训练任务具体为基于至少一个语义类别的语义分类任务。将每个第二训练数据的第二训练特征输入到语义分类任务,可以获得语义分类任务对第二训练特征的目标语义类别。通过将第二训练特征输入到语义分类任务,可以实现对至少一个第二训练数据的训练分类。获得至少一个第二训练数据分别对应的目标语义类别,可以基于误差损失函数计算语义识别误差,以及基于中心损失函数计算中心损失误差。通过两个损失函数的计算,可以实现对至少一个第二训练数据的训练误差的准确计算,获得准确的语义识别误差和中心损失误差。
如图6所示,为本公开实施例提供的一种图像检索装置的一个结构示意图,该装置可以应用上述实施例中的图像检索方法,图像检索装置可以设置于电子设备中。图像检索装置600可以包括以下几个单元:
图像获取单元601:用于获取待检索图像;
第一提取单元602:用于基于多个训练任务联合训练获得的视觉检索模型,提取待检索图像的视觉特征;
第二提取单元603:用于基于多个损失函数联合训练获得的语义检索模型,提取待检索图像的语义特征;
第一拼接单元604:用于将视觉特征与语义特征进行特征拼接,以获得待检索图像的目标特征;
目标查找单元605:用于基于目标特征,从图像库中查找与待检索图像满足图像相似条件的目标图像。
本公开实施例中,获得待检索图像之后,可以利用多个训练任务联合视觉检索模型,提取待检索图像的视觉特征,利用多个训练任务联合语义检索模型,提取待检索图像的语义特征。利用视觉特征以及语义特征进行特征拼接,获得目标特征。通过目标特征可以从图像库中查找与待检索图像满足图像相似条件的目标图像。语义特征以及视觉特征综合了待检索图像的视觉以及语义两个方面的特征,特征更全面,进而可以对待检索图像进行准确识别。
作为一个实施例,图像获取单元,包括:
请求接收模块,用于接收用户设备发送的图像检索请求;
图像获取模块,用于响应于图像检索请求,获取待检索图像。
在某些实施例中,第一提取单元,包括:
第一获取模块,用于获取多个训练任务联合训练获得的视觉检索模型的第一编码器;
第一输入模块,用于将待检索图像输入第一编码器,利用第一编码器计算获得待检索图像的视觉特征。
作为一种可能的实现方式,第二提取单元,包括:
第二获取模块,用于获取多个损失函数联合训练获得的语义检索模型的第二编码器;
第二输入模块,用于将待检索图像输入第二编码器,利用第二编码器计算获得待检索图像的语义特征。
在某些实施例中,目标查找单元,包括:
候选确定模块,用于确定图像库中多个候选图像;
第一提取模块,用于基于视觉检索模型提取多个候选图像分别对应的候选视觉特征;
第二提取模块,用于基于语义检索模型提取多个候选图像分别对应的候选语义特征;
第一拼接模块,用于将每个候选图像的候选视觉特征和候选语义特征进行特征拼接,获得多个候选图像分别对应的候选特征;
特征匹配模块,用于根据多个候选图像分别对应的候选特征,查找与目标特征满足特征相似条件的目标特征,以获得目标特征对应的候选图像为目标图像。
在一些可能的设计中,特征匹配模块,包括:
空间聚类子模块,用于对多个候选图像分别对应的候选特征进行空间聚类,获得多个空间节点形成的空间树、空间节点对应图像类别以及空间特征;父空间节点的图像类别为其子空间节点的图像类别的父类别;每个空间节点对应图像类别包括至少一个候选图像分别对应的候选特征;
空间匹配子模块,用于基于空间树中多个空间节点分别对应的空间特征,确定与目标特征满足空间相似条件的目标空间节点;
特征确定子模块,用于从目标空间节点的至少一个候选图像分别对应的候选特征中确定与目标特征满足特征相似条件的目标特征。
在某些实施例中,空间匹配子模块具体用于:
从空间树的根节点开始,依次计算每个空间节点的空间特征与目标特征的特征距离;若确定任一个空间节点的特征距离小于距离阈值,则确定空间节点为与目标特征满足空间相似条件的目标空间节点。
如图7所示,为本公开实施例提供的一种视觉检索模型的训练装置的一个结构示意图,该装置可以应用上述实施例中的视觉检索模型的训练方法,视觉检索模型的训练装置可以设置于电子设备中。视觉检索模型的训练装置700可以包括以下几个单元:
类别聚类单元701:用于基于视觉相似度聚类算法,将图像库中多个候选图像进行视觉聚类处理,获得至少一个视觉类别;
第一生成单元702:用于生成包含第一编码器以及多个训练任务的待训练的视觉检索模型;
第一确定单元703:用于确定至少一个第一训练数据;第一训练数据包括标记有视觉真值的第一训练图像以及第二训练图像;
第一训练单元704:用于将至少一个第一训练数据输入待训练的视觉检索模型,以多个训练任务对视觉检索模型整体产生的第一损失值满足第一误差条件为训练目标,训练获得视觉检索模型的视觉模型参数;
其中,视觉模型参数对应的视觉检索模型的第一编码器用于提取待检索图像的视觉特征;视觉特征和语义检索模型对待检索图像提取的语义特征用于从图像库中查找目标图像;语义检索模型基于多个损失函数联合训练获得。
本公开实施例中,采用视觉相似度聚类算法,将图像库中的多个候选图像进行视觉聚类处理,获得至少一个视觉类别。每个视觉类别中为满足视觉相似度的至少一个候选图像。至少一个视觉类别的提取,可以确保图像库以视觉类别进行划分。进而利用至少一个视觉类别确定的分类任务以及相似度量任务构成的多个训练任务,对视觉检索模型进行训练。确保视觉检索模型中的第一编码器是对图像的视觉特性进行提取的机器模型。通过对视觉检索模型的训练,获得准确的视觉模型参数,使得训练结束的视觉检索模型中的第一编码器对至少一个视觉类别均具有较强的特征提取性能,提高第一编码器对视觉特征的提取准确度。
作为一个实施例,多个训练任务包括:分类任务以及相似度量任务;第一生成单元,包括:
第一构建模块,用于基于至少一个视觉类别,构建视觉检索模型的分类任务;
第二构建模块,用于基于相似度量模型,构建视觉检索模型的相似度量任务,以获得分类任务以及相似度量任务对应的多个训练任务;
第一编码模块,用于基于神经网络算法,构建视觉检索模型的第一编码器;
第一确定模块,用于确定第一编码器以及多个训练任务构成的待训练的视觉检索模型。
在一种可能的设计中,第一训练单元,包括:
第一初始化模块,用于对待训练的视觉检索模型进行参数初始化,获得视觉模型参数对应的第一模型参数;
第一训练模块,用于将至少一个第一训练数据依次输入第一模型参数对应的视觉检索模型的第一编码器,提取至少一个第一训练数据分别对应的第一训练特征;
第一误差模块,用于基于至少一个第一训练数据分别对应的第一训练特征和视觉真值,计算至少一个第一训练数据在分类任务对应的分类误差以及在相似度量任务对应的相似度量误差;
第一加权模块,用于将分类误差与相似度量误差进行加权,获得训练产生的第一损失值;
第一确定模块,用于若确定第一损失值满足第一误差条件,则确定第一模型参数为视觉检索模型的视觉模型参数。
作为一种可选方式,第一训练单元,还包括
第二确定模块,用于若确定第一损失值不满足第一误差条件,则更新视觉检索模型的第一模型参数,返回至将至少一个第一训练数据依次输入第一模型参数对应的视觉检索模型的第一编码器的步骤继续执行。
在某些实施例中,第一误差模块,包括:
第一训练子模块,用于将第一训练数据的第一训练特征输入分类任务,以获得至少一个第一训练数据分别对应的分类结果;分类结果为从至少一个视觉类别中确定的目标视觉类别;
分类误差子模块,用于基于至少一个第一训练数据分别对应的目标视觉类别和视觉类别真值,计算获得分类误差;
相似度量子模块,用于将第一训练数据的第一训练特征输入相似度量任务,获得相似度量任务对第一训练数据中第一训练图像以及第二训练图像的相似度量结果,以获得至少一个训练数据分别对应的相似度量结果;
误差计算子模块,用于基于至少一个第一训练数据分别对应的相似度量结果和相似度量真值,计算获得相似度量误差。
如图8所示,为本公开实施例提供的一种语义检索模型的训练装置的一个结构示意图,该装置可以应用上述实施例中的语义检索模型的训练方法,语义检索模型的训练装置可以设置于电子设备中。语义检索模型的训练装置800可以包括以下几个单元:
类别挖掘单元801:用于基于语义类别挖掘算法,将图像库中多个候选图像进行语义类别挖掘,获得至少一个语义类别;
第二生成单元802:用于生成包含第二编码器以及目标训练任务的待训练的语义检索模型;目标训练任务对应多个损失函数;
第二确定单元803:用于确定至少一个第二训练数据;第二训练数据包括标记有语义类别真值的第三训练图像;
第二训练单元804:用于将至少一个第二训练数据输入待训练的语义检索模型,以基于多个损失函数对语义检索模型进行整体损失计算获得的第二损失值满足第二误差条件为训练目标,训练获得语义检索模型的语义模型参数。
其中,语义模型参数对应的语义检索模型中的第二编码器用于提取待检索图像的语义特征;语义特征和视觉检索模型对待检索图像提取的视觉特征用于从图像库中查找目标图像;视觉检索模型基于多个训练任务联合训练获得。
本公开实施例中,采用视觉相似度挖掘算法对图像库中多个候选图像进行语义类别的挖掘,可以获得至少一个语义类别。每个语义类别中为满足语义相似度的至少一个候选图像。至少一个语义类别的提取,可以确保对图像库按照语义进行划分,使得图像的语义类别更丰富。进而通过至少一个语义类别构建目标训练任务,该目标训练任务即为包含至少一个语义类别的语义分类任务。在训练过程中可以使用以对第三训练图像的训练目标与其对应的语义类别真值为训练目标,可以训练获得语义检索模型的语义模型参数。通过目标训练任务的训练可以确保语义检索模型可以对至少一个语义类别具有一定的特征区分,可以使得语义检索模型的第二编码器提取的特征能够区分不同的语义类别,实现对语义检索模型的准确训练。
作为一个实施例,第二生成单元,包括:
基于至少一个语义类别,构建语义检索模型的目标训练任务;目标训练任务对应多个损失函数。
基于神经网络算法,构建语义检索模型的第二编码器。
确定第二编码器以及目标训练任务构成的语义检索模型。
在某些实施例中,第二训练单元,包括:
第二初始化模块,用于对待训练的语义检索模型进行参数初始化,获得语义模型参数对应的第二模型参数;
第二训练模块,用于将至少一个第二训练数据依次输入第二模型参数对应的语义检索模型的第二编码器,提取至少一个第二训练数据分别对应的第二训练特征;
第二误差模块,用于基于至少一个第二训练数据分别对应的第二训练特征,计算至少一个第二训练数据在目标训练任务对应的语义识别误差和中心损失误差;
第二加权模块,用于将语义识别误差与中心损失误差进行加权,获得训练产生的第二损失值;
第二确定模块,用于若确定第二损失值满足第二误差条件,则确定第二模型参数为语义检索模型的语义模型参数。
在一种可能的设计中,目标训练任务包括基于至少一个语义类别的语义分类任务;第二误差模块,包括:
第二分类子模块,用于将第二训练数据的第二训练特征输入目标训练任务对应的语义分类任务,获得第二训练数据对应的目标语义类别,以获得至少一个第二训练数据分别对应的目标语义类别;
语义识别子模块,用于基于误差损失函数,对至少一个第二训练数据分别对应的目标语义类别和语义类别真值进行误差计算,获得语义识别误差;
中心损失子模块,用于基于中心损失函数,对至少一个第二训练数据分别对应的目标语义类别和语义类别真值进行误差计算,获得中心损失误差。
本公共实施例中的装置可以用于实现对应的方法,关于各个步骤以及其技术效果,可以参考相关方法中的描述,在此不再赘述。
需要说明的是,本实施例中的视觉检索模型和语义检索模型并不是针对某一特定用户的模型,并不能反映出某一特定用户的个人信息。需要说明的是,本实施例中的图像库中的多个图像来自于公开数据集。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
根据本公开的实施例,本公开还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。
图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如图像检索、视觉检索模型的训练或者语义检索模型的训练方法。例如,在一些实施例中,图像检索方法、视觉检索模型的训练方法或者语义检索模型的训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到RAM 903并由计算单元901执行时,可以执行上文描述的图像检索方法、视觉检索模型的训练方法或者语义检索模型的训练方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行图像检索方法、视觉检索模型的训练方法或者语义检索模型的训练方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式***的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (35)
1.一种图像检索方法,包括:
获取待检索图像;
基于多个训练任务联合训练获得的视觉检索模型,提取所述待检索图像的视觉特征;
基于多个损失函数联合训练获得的语义检索模型,提取所述待检索图像的语义特征;
将所述视觉特征与所述语义特征进行特征拼接,以获得所述待检索图像的目标特征;
基于所述目标特征,从图像库中查找与所述待检索图像满足图像相似条件的目标图像。
2.根据权利要求1所述的方法,所述获取待检索图像,包括:
接收用户设备发送的图像检索请求;
响应于所述图像检索请求,获取所述待检索图像。
3.根据权利要求1或2所述的方法,其中,所述基于训练获得的视觉检索模型,提取所述待检索图像的视觉特征,包括:
获取多个训练任务联合训练获得的所述视觉检索模型的第一编码器;
将所述待检索图像输入所述第一编码器,利用所述第一编码器计算获得所述待检索图像的所述视觉特征。
4.根据权利要求1-3任一项所述的方法,其中,所述基于训练获得的语义检索模型,提取所述待检索图像的语义特征,包括:
获取多个损失函数联合训练获得的所述语义检索模型的第二编码器;
将所述待检索图像输入所述第二编码器,利用所述第二编码器计算获得所述待检索图像的所述语义特征。
5.根据权利要求1-4任一项所述的方法,其中,所述基于所述目标特征,从图像库中查找与所述待检索图像满足图像相似条件的目标图像包括:
确定所述图像库中多个候选图像;
基于所述视觉检索模型提取多个所述候选图像分别对应的候选视觉特征;
基于所述语义检索模型提取多个所述候选图像分别对应的候选语义特征;
将每个所述候选图像的候选视觉特征和候选语义特征进行特征拼接,获得多个所述候选图像分别对应的候选特征;
根据多个所述候选图像分别对应的候选特征,查找与所述目标特征满足特征相似条件的目标特征,以获得所述目标特征对应的候选图像为所述目标图像。
6.根据权利要求5所述的方法,其中,所述根据多个所述候选图像分别对应的候选特征,查找与所述目标特征满足特征相似条件的目标特征,包括:
对多个所述候选图像分别对应的候选特征进行空间聚类,获得多个空间节点形成的空间树、所述空间节点对应图像类别以及空间特征;父空间节点的图像类别为其子空间节点的图像类别的父类别;每个空间节点对应图像类别包括至少一个候选图像分别对应的候选特征;
基于所述空间树中多个空间节点分别对应的空间特征,确定与所述目标特征满足空间相似条件的目标空间节点;
从所述目标空间节点的至少一个候选图像分别对应的候选特征中确定与所述目标特征满足特征相似条件的目标特征。
7.根据权利要求6所述的方法,其中,所述基于所述空间树中多个空间节点分别对应的空间特征,确定与所述目标特征满足空间相似条件的目标空间节点,包括:
从所述空间树的根节点开始,依次计算每个空间节点的空间特征与所述目标特征的特征距离;
若确定任一个空间节点的所述特征距离小于距离阈值,则确定所述空间节点为与所述目标特征满足空间相似条件的目标空间节点。
8.一种视觉检索模型的训练方法,包括:
基于视觉相似度聚类算法,将图像库中多个候选图像进行视觉聚类处理,获得至少一个视觉类别;
生成包含第一编码器以及多个训练任务的待训练的视觉检索模型;
确定至少一个第一训练数据;所述第一训练数据包括标记有视觉真值的第一训练图像以及第二训练图像;
将至少一个所述第一训练数据输入所述待训练的视觉检索模型,以多个所述训练任务对所述视觉检索模型整体产生的第一损失值满足第一误差条件为训练目标,训练获得所述视觉检索模型的视觉模型参数;
其中,所述视觉模型参数对应的视觉检索模型的第一编码器用于提取待检索图像的视觉特征;所述视觉特征用于从图像库中查找目标图像。
9.根据权利要求8所述的方法,其中,所述多个训练任务包括:分类任务以及相似度量任务;
所述生成包含第一编码器以及多个训练任务的待训练的视觉检索模型,包括:
基于至少一个所述视觉类别,构建所述视觉检索模型的分类任务;
基于相似度量模型,构建所述视觉检索模型的相似度量任务,以获得所述分类任务以及所述相似度量任务对应的多个训练任务;
基于神经网络算法,构建所述视觉检索模型的所述第一编码器;
确定所述第一编码器以及所述多个训练任务构成的待训练的所述视觉检索模型。
10.根据权利要求8或9所述的方法,其中,所述将至少一个所述第一训练数据输入所述待训练的视觉检索模型,以多个所述训练任务对所述视觉检索模型整体产生的第一损失值满足第一误差条件为训练目标,训练获得所述视觉检索模型的视觉模型参数,包括:
对所述待训练的视觉检索模型进行参数初始化,获得所述视觉模型参数对应的第一模型参数;
将至少一个所述第一训练数据依次输入所述第一模型参数对应的视觉检索模型的第一编码器,提取至少一个所述第一训练数据分别对应的第一训练特征;
基于至少一个所述第一训练数据分别对应的第一训练特征和视觉真值,计算至少一个所述第一训练数据在所述分类任务对应的分类误差以及在所述相似度量任务对应的相似度量误差;
将所述分类误差与所述相似度量误差进行加权,获得训练产生的第一损失值;
若确定所述第一损失值满足第一误差条件,则确定所述第一模型参数为所述视觉检索模型的视觉模型参数。
11.根据权利要求10所述的方法,还包括:
若确定所述第一损失值不满足第一误差条件,则更新所述视觉检索模型的第一模型参数,返回至所述将至少一个所述第一训练数据依次输入所述第一模型参数对应的视觉检索模型的第一编码器的步骤继续执行。
12.根据权利要求10或11所述的方法,其中,所述基于至少一个所述第一训练数据分别对应的第一训练特征和视觉真值,计算至少一个所述第一训练数据在所述分类任务对应的分类误差以及在所述相似度量任务对应的相似度量误差,包括:
将所述第一训练数据的第一训练特征输入所述分类任务,以获得至少一个所述第一训练数据分别对应的分类结果;所述分类结果为从至少一个所述视觉类别中确定的目标视觉类别;
基于至少一个所述第一训练数据分别对应的目标视觉类别和视觉类别真值,计算获得所述分类误差;
将所述第一训练数据的第一训练特征输入所述相似度量任务,获得所述相似度量任务对所述第一训练数据中第一训练图像以及第二训练图像的相似度量结果,以获得至少一个所述训练数据分别对应的相似度量结果;
基于至少一个所述第一训练数据分别对应的相似度量结果和相似度量真值,计算获得所述相似度量误差。
13.一种语义检索模型的训练方法,包括:
基于语义类别挖掘算法,将图像库中多个候选图像进行语义类别挖掘,获得至少一个语义类别;
生成包含第二编码器以及目标训练任务的待训练的语义检索模型;所述目标训练任务对应多个损失函数;
确定至少一个第二训练数据;所述第二训练数据包括标记有语义类别真值的第三训练图像;
将至少一个所述第二训练数据输入所述待训练的语义检索模型,以基于多个所述损失函数对所述语义检索模型进行整体损失计算获得的第二损失值满足第二误差条件为训练目标,训练获得所述语义检索模型的语义模型参数;
其中,所述语义模型参数对应的语义检索模型中的第二编码器用于提取待检索图像的语义特征;所述语义特征用于从图像库中查找目标图像。
14.根据权利要求13所述的方法,其中,所述生成包含第二编码器以及目标训练任务的待训练的语义检索模型,包括:
基于至少一个所述语义类别,构建语义检索模型的目标训练任务;所述目标训练任务对应多个损失函数;
基于神经网络算法,构建所述语义检索模型的第二编码器;
确定所述第二编码器所述目标训练任务构成的所述语义检索模型。
15.根据权利要求13或14所述的方法,其中,所述将至少一个所述第二训练数据输入所述待训练的语义检索模型,以基于多个所述损失函数对所述语义检索模型进行整体损失计算获得的第二损失值满足第二误差条件为训练目标,训练获得所述语义检索模型的语义模型参数,包括:
对所述待训练的语义检索模型进行参数初始化,获得所述语义模型参数对应的第二模型参数;
将至少一个所述第二训练数据依次输入所述第二模型参数对应的语义检索模型的第二编码器,提取至少一个所述第二训练数据分别对应的第二训练特征;
基于至少一个所述第二训练数据分别对应的第二训练特征和语义类别真值,计算至少一个所述第二训练数据在所述目标训练任务对应的语义识别误差和中心损失误差;
将所述语义识别误差与所述中心损失误差进行加权,获得训练产生的第二损失值;
若确定所述第二损失值满足第二误差条件,则确定所述第二模型参数为所述语义检索模型的语义模型参数。
16.根据权利要求15所述的方法,其中,所述目标训练任务包括基于至少一个所述语义类别的语义分类任务;所述基于至少一个所述第二训练数据分别对应的第二训练特征和语义类别真值,计算至少一个所述第二训练数据在所述目标训练任务对应的语义识别误差和中心损失误差,包括:
将所述第二训练数据的第二训练特征输入所述目标训练任务对应的语义分类任务,获得所述第二训练数据对应的目标语义类别,以获得至少一个所述第二训练数据分别对应的目标语义类别;
基于误差损失函数,对至少一个所述第二训练数据分别对应的目标语义类别和语义类别真值进行误差计算,获得所述语义识别误差;
基于中心损失函数,对至少一个所述第二训练数据分别对应的目标语义类别和语义类别真值进行误差计算,获得所述中心损失误差。
17.一种图像检索装置,包括:
图像获取单元,用于获取待检索图像;
第一提取单元,用于基于多个训练任务联合训练获得的视觉检索模型,提取所述待检索图像的视觉特征;
第二提取单元,用于基于多个损失函数联合训练获得的语义检索模型,提取所述待检索图像的语义特征;
第一拼接单元,用于将所述视觉特征与所述语义特征进行特征拼接,以获得所述待检索图像的目标特征;
目标查找单元,用于基于所述目标特征,从图像库中查找与所述待检索图像满足图像相似条件的目标图像。
18.根据权利要求17所述的装置,其中,所述图像获取单元,包括:
请求接收模块,用于接收用户设备发送的图像检索请求;
图像获取模块,用于响应于所述图像检索请求,获取所述待检索图像。
19.根据权利要求17或18所述的装置,其中,所述第一提取单元,包括:
第一获取模块,用于获取多个训练任务联合训练获得的所述视觉检索模型的第一编码器;
第一输入模块,用于将所述待检索图像输入所述第一编码器,利用所述第一编码器计算获得所述待检索图像的所述视觉特征。
20.根据权利要求17-19任一项所述的装置,其中,所述第二提取单元,包括:
第二获取模块,用于获取多个损失函数联合训练获得的所述语义检索模型的第二编码器;
第二输入模块,用于将所述待检索图像输入所述第二编码器,利用所述第二编码器计算获得所述待检索图像的所述语义特征。
21.根据权利要求17-20任一项所述的装置,其中,所述目标查找单元,包括:
候选确定模块,用于确定所述图像库中多个候选图像;
第一提取模块,用于基于所述视觉检索模型提取多个所述候选图像分别对应的候选视觉特征;
第二提取模块,用于基于所述语义检索模型提取多个所述候选图像分别对应的候选语义特征;
第一拼接模块,用于将每个所述候选图像的候选视觉特征和候选语义特征进行特征拼接,获得多个所述候选图像分别对应的候选特征;
特征匹配模块,用于根据多个所述候选图像分别对应的候选特征,查找与所述目标特征满足特征相似条件的目标特征,以获得所述目标特征对应的候选图像为所述目标图像。
22.根据权利要求21所述的装置,其中,所述特征匹配模块,包括:
空间聚类子模块,用于对多个所述候选图像分别对应的候选特征进行空间聚类,获得多个空间节点形成的空间树、所述空间节点对应图像类别以及空间特征;父空间节点的图像类别为其子空间节点的图像类别的父类别;每个空间节点对应图像类别包括至少一个候选图像分别对应的候选特征;
空间匹配子模块,用于基于所述空间树中多个空间节点分别对应的空间特征,确定与所述目标特征满足空间相似条件的目标空间节点;
特征确定子模块,用于从所述目标空间节点的至少一个候选图像分别对应的候选特征中确定与所述目标特征满足特征相似条件的目标特征。
23.根据权利要求22所述的装置,其中,所述空间匹配子模块具体用于:
从所述空间树的根节点开始,依次计算每个空间节点的空间特征与所述目标特征的特征距离;若确定任一个空间节点的所述特征距离小于距离阈值,则确定所述空间节点为与所述目标特征满足空间相似条件的目标空间节点。
24.一种视觉检索模型的训练装置,包括:
类别聚类单元,用于基于视觉相似度聚类算法,将图像库中多个候选图像进行视觉聚类处理,获得至少一个视觉类别;
第一生成单元,用于生成包含第一编码器以及多个训练任务的待训练的视觉检索模型;
第一确定单元,用于确定至少一个第一训练数据;所述第一训练数据包括标记有视觉真值的第一训练图像以及第二训练图像;所述视觉真值包括基于至少一个所述视觉类别确定的视觉类别真值以及相似度量真值;
第一训练单元,用于将至少一个所述第一训练数据输入所述待训练的视觉检索模型,以多个所述训练任务对所述视觉检索模型整体产生的第一损失值满足第一误差条件为训练目标,训练获得所述视觉检索模型的视觉模型参数;
其中,所述视觉模型参数对应的视觉检索模型的第一编码器用于提取待检索图像的视觉特征;所述视觉特征用于从图像库中查找目标图像。
25.根据权利要求24所述的装置,其中,所述多个训练任务包括:分类任务以及相似度量任务;所述第一生成单元,包括:
第一构建模块,用于基于至少一个所述视觉类别,构建所述视觉检索模型的分类任务;
第二构建模块,用于基于相似度量模型,构建所述视觉检索模型的相似度量任务,以获得所述分类任务以及所述相似度量任务对应的多个训练任务;
第一编码模块,用于基于神经网络算法,构建所述视觉检索模型的所述第一编码器;
第一确定模块,用于确定所述第一编码器以及所述多个训练任务构成的待训练的所述视觉检索模型。
26.根据权利要求24或25所述的装置,其中,所述第一训练单元,包括:
第一初始化模块,用于对所述待训练的视觉检索模型进行参数初始化,获得所述视觉模型参数对应的第一模型参数;
第一训练模块,用于将至少一个所述第一训练数据依次输入所述第一模型参数对应的视觉检索模型的第一编码器,提取至少一个所述第一训练数据分别对应的第一训练特征;
第一误差模块,用于基于至少一个所述第一训练数据分别对应的第一训练特征和视觉真值,计算至少一个所述第一训练数据在所述分类任务对应的分类误差以及在所述相似度量任务对应的相似度量误差;
第一加权模块,用于将所述分类误差与所述相似度量误差进行加权,获得训练产生的第一损失值;
第一确定模块,用于若确定所述第一损失值满足第一误差条件,则确定所述第一模型参数为所述视觉检索模型的视觉模型参数。
27.根据权利要求26所述的装置,其中,所述第一训练单元,还包括
第二确定模块,用于若确定所述第一损失值不满足第一误差条件,则更新所述视觉检索模型的第一模型参数,返回至所述将至少一个所述第一训练数据依次输入所述第一模型参数对应的视觉检索模型的第一编码器的步骤继续执行。
28.根据权利要求26或27所述的装置,其中,所述第一误差模块,包括:
第一训练子模块,用于将所述第一训练数据的第一训练特征输入所述分类任务,以获得至少一个所述第一训练数据分别对应的分类结果;所述分类结果为从至少一个所述视觉类别中确定的目标视觉类别;
分类误差子模块,用于基于至少一个所述第一训练数据分别对应的目标视觉类别和视觉类别真值,计算获得所述分类误差;
相似度量子模块,用于将所述第一训练数据的第一训练特征输入所述相似度量任务,获得所述相似度量任务对所述第一训练数据中第一训练图像以及第二训练图像的相似度量结果,以获得至少一个所述训练数据分别对应的相似度量结果;
误差计算子模块,用于基于至少一个所述第一训练数据分别对应的相似度量结果和相似度量真值,计算获得所述相似度量误差。
29.一种语义检索模型的训练装置,包括:
类别挖掘单元,用于基于语义类别挖掘算法,将图像库中多个候选图像进行语义类别挖掘,获得至少一个语义类别;
第二生成单元,用于生成包含第二编码器以及目标训练任务的待训练的语义检索模型;所述目标训练任务对应多个损失函数;
第二确定单元,用于确定至少一个第二训练数据;所述第二训练数据包括标记有语义类别真值的第三训练图像;
第二训练单元,用于将至少一个所述第二训练数据输入所述待训练的语义检索模型,以基于多个所述损失函数对所述语义检索模型进行整体损失计算获得的第二损失值满足第二误差条件为训练目标,训练获得所述语义检索模型的语义模型参数;
其中,所述语义模型参数对应的语义检索模型中的第二编码器用于提取待检索图像的语义特征;所述语义特征用于从图像库中查找目标图像。
30.根据权利要求29所述的装置,其中,所述第二生成单元,包括:
基于至少一个所述语义类别,构建语义检索模型的目标训练任务;所述目标训练任务对应多个损失函数;
基于神经网络算法,构建所述语义检索模型的第二编码器;
确定所述第二编码器以及所述目标训练任务构成的所述语义检索模型。
31.根据权利要求28或29所述的装置,其中,所述第二训练单元,包括:
第二初始化模块,用于对所述待训练的语义检索模型进行参数初始化,获得所述语义模型参数对应的第二模型参数;
第二训练模块,用于将至少一个所述第二训练数据依次输入所述第二模型参数对应的语义检索模型的第二编码器,提取至少一个所述第二训练数据分别对应的第二训练特征;
第二误差模块,用于基于至少一个所述第二训练数据分别对应的第二训练特征和语义类别真值,计算至少一个所述第二训练数据在所述目标训练任务对应的语义识别误差和中心损失误差;
第二加权模块,用于将所述语义识别误差与所述中心损失误差进行加权,获得训练产生的第二损失值;
第二确定模块,用于若确定所述第二损失值满足第二误差条件,则确定所述第二模型参数为所述语义检索模型的语义模型参数。
32.根据权利要求31所述的装置,其中,所述目标训练任务包括基于至少一个所述语义类别的语义分类任务;所述第二误差模块,包括:
第二分类子模块,用于将所述第二训练数据的第二训练特征输入所述目标训练任务对应的语义分类任务,获得所述第二训练数据对应的目标语义类别,以获得至少一个所述第二训练数据分别对应的目标语义类别;
语义识别子模块,用于基于误差损失函数,对至少一个所述第二训练数据分别对应的目标语义类别和语义类别真值进行误差计算,获得所述语义识别误差;
中心损失子模块,用于基于中心损失函数,对至少一个所述第二训练数据分别对应的目标语义类别和语义类别真值进行误差计算,获得所述中心损失误差。
33.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7、8-12或者13-16中任一项所述的方法。
34.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-7、8-12或者13-16中任一项所述的方法。
35.一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-7、8-12或者13-16中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210248604.2A CN114647751A (zh) | 2022-03-14 | 2022-03-14 | 图像检索方法、模型训练方法、装置、设备、介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210248604.2A CN114647751A (zh) | 2022-03-14 | 2022-03-14 | 图像检索方法、模型训练方法、装置、设备、介质及产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114647751A true CN114647751A (zh) | 2022-06-21 |
Family
ID=81993149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210248604.2A Pending CN114647751A (zh) | 2022-03-14 | 2022-03-14 | 图像检索方法、模型训练方法、装置、设备、介质及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114647751A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117808923A (zh) * | 2024-02-29 | 2024-04-02 | 浪潮电子信息产业股份有限公司 | 一种图像生成方法、***、电子设备及可读存储介质 |
-
2022
- 2022-03-14 CN CN202210248604.2A patent/CN114647751A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117808923A (zh) * | 2024-02-29 | 2024-04-02 | 浪潮电子信息产业股份有限公司 | 一种图像生成方法、***、电子设备及可读存储介质 |
CN117808923B (zh) * | 2024-02-29 | 2024-05-14 | 浪潮电子信息产业股份有限公司 | 一种图像生成方法、***、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114357105B (zh) | 地理预训练模型的预训练方法及模型微调方法 | |
CN114782719B (zh) | 一种特征提取模型的训练方法、对象检索方法以及装置 | |
CN111274407A (zh) | 知识图谱中三元组置信度计算方法和装置 | |
CN112966744A (zh) | 模型训练方法、图像处理方法、装置和电子设备 | |
CN112925883A (zh) | 搜索请求处理方法、装置、电子设备及可读存储介质 | |
CN113127669B (zh) | 广告配图方法、装置、设备和存储介质 | |
CN112541362A (zh) | 一种泛化处理的方法、装置、设备和计算机存储介质 | |
CN112348107A (zh) | 图像数据清洗方法及装置、电子设备和介质 | |
CN115565177A (zh) | 文字识别模型训练、文字识别方法、装置、设备及介质 | |
CN115827872A (zh) | 一种意图识别模型的训练方法、意图识别方法及装置 | |
CN114647751A (zh) | 图像检索方法、模型训练方法、装置、设备、介质及产品 | |
CN113157829A (zh) | 一种兴趣点名称比对方法、装置、电子设备和存储介质 | |
CN116343233B (zh) | 文本识别方法和文本识别模型的训练方法、装置 | |
CN112925912A (zh) | 文本处理方法、同义文本召回方法及装置 | |
CN114647739B (zh) | 实体链指方法、装置、电子设备及存储介质 | |
CN114691918B (zh) | 基于人工智能的雷达图像检索方法、装置以及电子设备 | |
CN114329016A (zh) | 图片标签生成方法和文字配图方法 | |
CN112861023B (zh) | 地图信息处理方法、装置、设备、存储介质及程序产品 | |
CN112560481A (zh) | 语句处理方法、设备和存储介质 | |
CN113255398A (zh) | 兴趣点判重方法、装置、设备和存储介质 | |
CN116521827B (zh) | 地理位置的场所类别确定方法、装置、电子设备和介质 | |
CN114547448B (zh) | 数据处理、模型训练方法、装置、设备、存储介质及程序 | |
CN114036263A (zh) | 一种网站识别方法、装置及电子设备 | |
CN116383491A (zh) | 信息推荐方法、装置、设备、存储介质和程序产品 | |
CN118396051A (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 |