CN114519120A - 基于多模态算法的图像搜索方法及装置 - Google Patents
基于多模态算法的图像搜索方法及装置 Download PDFInfo
- Publication number
- CN114519120A CN114519120A CN202111465039.7A CN202111465039A CN114519120A CN 114519120 A CN114519120 A CN 114519120A CN 202111465039 A CN202111465039 A CN 202111465039A CN 114519120 A CN114519120 A CN 114519120A
- Authority
- CN
- China
- Prior art keywords
- image
- text
- modal
- layer
- feature
- 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/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
- G06F16/5846—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using extracted text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Biology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种基于多模态算法的图像搜索方法及装置,该方法包括:提取素材库中的图像素材的卷积特征;或对文本进行编码,将编码后的文本输入变换器中进行文本特征提取;将所提取的图像素材的卷积特征和文本特征输入至预训练的多模态模型的共同空间,实现多模态特征向量的提取,并存储在数据库;接收到输入的待搜索图像或文本信息,利用预训练的多模态模型对待搜索图像或文本信息进行多模态特征向量的提取;将待搜索图像或文本信息的特征向量与数据库中的多模态特征向量采用近似最近邻算法进行匹配,对匹配后的多模态特征向量进行召回且排序,按匹配的召回排序并输出搜索结果。本申请提升了图像的搜索效率及准确率。
Description
技术领域
本申请实施例涉及图像搜索技术,尤其涉及一种基于多模态算法的图像搜索方法及装置。
背景技术
随着计算机和移动终端的普及和互联网的飞速发展,每天互联网都充斥着来自多个来源的大量新信息。而信息量的剧增使得单一模态的信息很难满足用户日益发展的多个角度的需求。
来自不同行业的设计师,例如界面设计师、动漫设计师等设计师,会储备大量的素材图像。而在素材库中图像越来越多时,如何在本地或者服务器中快速地根据用户输入的文本信息和图像信息,检索出用户想要得到的图像信息显得尤为重要。目前针对该技术问题,大多的解决手段是使用关键词文本匹配图像标签来查找对应的图像,这样每张图像必须提前打上对应的标签,对于没有标签的图像则匹配不到,造成检索准确度特别低,很难满足用户的图像搜索需求。
发明内容
有鉴于此,本申请实施例提供一种基于多模态算法的图像搜索方法及装置,能够实现多模态的图像表达,且能基于多模态进行相应的图像搜索,图像搜索准确且效率较高。
根据本申请的第一方面,提供一种基于多模态算法的图像搜索方法,包括:
提取素材库中的图像素材的卷积特征;或对图像素材相关的文本进行编码,将编码后的文本输入变换器(transformer)模型中进行文本特征提取;
将所提取的图像素材的卷积特征和所述文本特征输入至预训练的多模态模型的共同空间,实现多模态特征向量的提取,并将提取的多模态特征向量存储在数据库;
接收到输入的待搜索图像或文本信息,利用所述预训练的多模态模型对所述待搜索图像或文本信息进行多模态特征向量的提取;
将所述待搜索图像或文本信息的特征向量与所述数据库中的多模态特征向量采用近似最近邻算法进行匹配,对匹配后的多模态特征向量进行召回且排序,按排序结果输出对应图像,作为搜索结果。
在某些实施例中,所述实现多模态特征向量的提取,包括:
将素材库中的文本通过文本编码器(Text Encoder)编码成词嵌入(wordembedding),将素材库中与文本对应的图像通过图像编码器(Image Encoder)编码成特征嵌入(feature embedding);
将对应的word embedding和feature embedding归一化后进行点积得到相似度矩阵;其中,点积数值越大,代表word embedding和feature embedding的向量越相似;
将预训练好的对比图文多模态预训练(Contrastive Language–Image Pre-training,CLIP)迁移到下游任务,先将下游任务的标签构建为带标签的文本,再经过TextEncoder编码成相应的word embedding;
将未有先验样本的图像进行零样本学习(zero-shot learning)预测,通过ImageEncoder将所述未有先验样本的图像编码成feature embedding,并与下游任务编码的wordembedding进行归一化及点积处理,得到的归一化输出logits中数值最大的位置对应的标签,作为最终预测结果。
在某些实施例中,将所述待搜索图像或文本信息的特征向量与所述数据库中的多模态特征向量采用近似最近邻算法进行匹配,包括:
根据多模态特征向量对应的维度,以相应维度空间中所有的向量构建成相互联通的近邻图;其中,所述近邻图中包括待搜索图像或文本信息的特征向量;
随机选取或基于分割算法在所述近邻图中确定若干输入点,迭代遍历整个近邻图;在每一次横向迭代时,检查链接或当前基本(base)节点之间的距离,然后选择下一个base节点作为相邻节点,确定最小化连接间的距离,以最小化连接间的距离对特征向量进行召回排序,并输出对应的搜索匹配图像。
在某些实施例中,将所述待搜索图像或文本信息的特征向量与所述数据库中的多模态特征向量采用近似最近邻算法进行匹配,包括:
以连续插入的方式构建网络分层图,对于每一个要插入的元素,采用指数衰变概率分布函数来随机选取整数最大层;
从顶层开始贪心遍历网络分层图,以在某A层中找到最近邻的节点;当在A层找到局部最小值之后,再将A层中找到的最近邻作为输入点,继续在下一层中寻找最近邻,重复该过程;按近邻节点的距离进行召回排序,并输出对应的搜索匹配图像。
在某些实施例中,将所述待搜索图像或文本信息的特征向量与所述数据库中的多模态特征向量采用近似最近邻算法进行匹配,包括:
以连续插入的方式构建网络分层图,对于每一个要插入的元素,采用指数衰变概率分布函数来随机选取整数最大层;
从顶层开始贪心遍历网络分层图,以在某A层中找到最近邻的节点;将所找到的n个最近邻节点存储于动态列表中;为动态列表中所有节点查找友点,确定友点未存储于废弃表中时,查找友点与匹配节点之间的距离,确定出A层最小值;
当在A层找到局部最小值之后,再将A层中找到的最近邻作为输入点,继续在下一层中寻找最近邻,重复该过程;按近邻节点的距离进行召回排序,并输出对应的搜索匹配图像。
根据本申请的第二方面,提供一种基于多模态算法的图像搜索装置,包括:
第一提取单元,用于提取素材库中的图像素材的卷积特征;或对图像素材相关的文本进行编码,将编码后的文本输入变换器(transformer)模型中进行文本特征提取;
训练单元,用于将所提取的图像素材的卷积特征和所述文本特征输入至预训练的多模态模型的共同空间,实现多模态特征向量的提取,并将提取的多模态特征向量存储在数据库;
第二提取单元,用于接收到输入的待搜索图像或文本信息,利用所述预训练的多模态模型对所述待搜索图像或文本信息进行多模态特征向量的提取;
搜索单元,用于将所述待搜索图像或文本信息的特征向量与所述数据库中的多模态特征向量采用近似最近邻算法进行匹配,对匹配后的多模态特征向量进行召回且排序,按排序结果输出对应图像,作为搜索结果。
在某些实施例中,所述训练单元,还用于:
将素材库中的文本通过Text Encoder编码成word embedding,将素材库中与文本对应的图像通过Image Encoder编码成feature embedding;
将对应的word embedding和feature embedding归一化后进行点积得到相似度矩阵;其中,点积数值越大,代表word embedding和feature embedding的向量越相似;
将预训练好的CLIP迁移到下游任务,先将下游任务的标签构建为带标签的文本,再经过Text Encoder编码成相应的word embedding;
将未有先验样本的图像进行零样本学习(zero-shot learning)预测,通过ImageEncoder将所述未有先验样本的图像编码成feature embedding,并与下游任务编码的wordembedding进行归一化及点积处理,得到的归一化输出logits中数值最大的位置对应的标签,作为最终预测结果。
在某些实施例中,所述搜索单元,还用于:
根据多模态特征向量对应的维度,以相应维度空间中所有的向量构建成相互联通的近邻图;其中,所述近邻图中包括待搜索图像或文本信息的特征向量;
随机选取或基于分割算法在所述近邻图中确定若干输入点,迭代遍历整个近邻图;在每一次横向迭代时,检查链接或当前base节点之间的距离,然后选择下一个base节点作为相邻节点,确定最小化连接间的距离,以最小化连接间的距离对特征向量进行召回排序,并输出对应的搜索匹配图像。
在某些实施例中,所述搜索单元,还用于:
以连续插入的方式构建网络分层图,对于每一个要插入的元素,采用指数衰变概率分布函数来随机选取整数最大层;
从顶层开始贪心遍历网络分层图,以在某A层中找到最近邻的节点;当在A层找到局部最小值之后,再将A层中找到的最近邻作为输入点,继续在下一层中寻找最近邻,重复该过程;按近邻节点的距离进行召回排序,并输出对应的搜索匹配图像。
在某些实施例中,所述搜索单元,还用于:
以连续插入的方式构建网络分层图,对于每一个要插入的元素,采用指数衰变概率分布函数来随机选取整数最大层;
从顶层开始贪心遍历网络分层图,以在某A层中找到最近邻的节点;将所找到的n个最近邻节点存储于动态列表中;为动态列表中所有节点查找友点,确定友点未存储于废弃表中时,查找友点与匹配节点之间的距离,确定出A层最小值;
当在A层找到局部最小值之后,再将A层中找到的最近邻作为输入点,继续在下一层中寻找最近邻,重复该过程;按近邻节点的距离进行召回排序,并输出对应的搜索匹配图像。
根据本申请的第三方面,提供一种存储介质,其上存储由可执行程序,所述可执行程序被处理器执行时实现所述的基于多模态算法的图像搜索方法的步骤。
本申请实施例提供的基于多模态算法的图像搜索方法及装置,通过将素材库中的素材经过神经网络CNN提取卷积特征,卷积特征输入预训练多模态模型提供的共同空间完成特征提取,并将提取完的特征存储在数据库中。当接收到用户输入的待搜索图像或文本信息后,利用相同的预训练多模态模型进行特征提取,在前述的特征数据库中进行匹配,从而实现了文本特征和图像特征两种模态特征直接匹配,可以实现海量图片数据的快速检索,不仅提升了图像的搜索效率,还提升了图像搜索的准确性。
附图说明
图1为本申请实施例提供的基于多模态算法的图像搜索方法的流程示意图;
图2为本申请实施例提供的基于多模态算法的图像搜索方法的示例示意图;
图3为本申请实施例提供的CLIP模型示意图;
图4为本申请实施例提供的近邻图的示意图;
图5为本申请实施例提供的分层图的示意图;
图6为本申请实施例提供的ANN检索流程示意图;
图7为本申请实施例提供的基于多模态算法的图像搜索装置的组成结构示意图。
具体实施方式
以下结合示例,详细阐明本申请实施例的技术方案的实质。
图1为本申请实施例提供的基于多模态算法的图像搜索方法的流程示意图,如图1所示,本申请实施例的基于多模态算法的图像搜索方法包括以下处理步骤:
步骤101,提取素材库中的图像素材的卷积特征;或对图像素材相关的文本进行编码,将编码后的文本输入变换器transformer模型中进行文本特征提取。
本申请实施例中,首先用户在加载本地或者服务器的同时,将素材库中的素材如图像及图像对应的文本信息等,经过卷积神经网络(Convolutional Neural Networks,CNN)提取卷积特征,卷积特征送入预训练多模态模型提供的共同空间完成特征提取,并将提取完的特征存储在数据库中。至此,素材库的特征和素材库图片建立完毕。这里的预训练多模态模型可以包括对比图文多模态预训练CLIP模型。
步骤102,将所提取的图像素材的卷积特征和所述文本特征输入至预训练的多模态模型的共同空间,实现多模态特征向量的提取,并将提取的多模态特征向量存储在数据库。
本申请实施例中,将素材库中的文本通过文本编码器(Text Encoder)编码成词嵌入(word embedding),将素材库中与文本对应的图像通过图像编码器(Image Encoder)编码成特征嵌入(feature embedding);
将对应的word embedding和feature embedding归一化后进行点积得到相似度矩阵;其中,点积数值越大,代表word embedding和feature embedding的向量越相似;
将预训练好的对比图文多模态预训练(Contrastive Language–Image Pre-training,CLIP)迁移到下游任务,先将下游任务的标签构建为带标签的文本,再经过TextEncoder编码成相应的word embedding;
将未有先验样本的图像进行零样本学习(zero-shot learning)预测,通过ImageEncoder将所述未有先验样本的图像编码成feature embedding,并与下游任务编码的wordembedding进行归一化及点积处理,得到的归一化输出logits中数值最大的位置对应的标签,作为最终预测结果。
步骤103,接收到输入的待搜索图像或文本信息,利用所述预训练的多模态模型对所述待搜索图像或文本信息进行多模态特征向量的提取。
本申请实施例中,当用户使用本申请实施例的以图搜图的方法时,首先使用与前述素材库中的训练模型使用完全相同的多模态模型,基于输入图像生成相应的图像的特征向量。将图像的特征向量和素材库中的特征向量使用近似最近邻算法,将特征召回并且排序,将相似图显示在界面上。当用户输入文本搜索图片时,将输入的文本首先进行编码,编码后的文本送入变换器transformer结构的文本特征提取器中,完成相应的特征提取,从而基于所提取的特征进行相应图像的搜索。
步骤104,将所述待搜索图像或文本信息的特征向量与所述数据库中的多模态特征向量采用近似最近邻算法进行匹配,对匹配后的多模态特征向量进行召回且排序,按排序结果输出对应图像,作为搜索结果。
本申请实施例中,将所述待搜索图像或文本信息的特征向量与所述数据库中的多模态特征向量采用近似最近邻算法进行匹配,包括:
根据多模态特征向量对应的维度,以相应维度空间中所有的向量构建成相互联通的近邻图;其中,所述近邻图中包括待搜索图像或文本信息的特征向量;
随机选取或基于分割算法在所述近邻图中确定若干输入点,迭代遍历整个近邻图;在每一次横向迭代时,检查链接或当前基本(base)节点之间的距离,然后选择下一个base节点作为相邻节点,确定最小化连接间的距离,以最小化连接间的距离对特征向量进行召回排序,并输出对应的搜索匹配图像。
或者,作为一种实现方式,将所述待搜索图像或文本信息的特征向量与所述数据库中的多模态特征向量采用近似最近邻算法进行匹配,包括:以连续插入的方式构建网络分层图,对于每一个要插入的元素,采用指数衰变概率分布函数来随机选取整数最大层;
从顶层开始贪心遍历网络分层图,以在某A层中找到最近邻的节点;当在A层找到局部最小值之后,再将A层中找到的最近邻作为输入点,继续在下一层中寻找最近邻,重复该过程;按近邻节点的距离进行召回排序,并输出对应的搜索匹配图像。
或者,作为一种实现方式,将所述待搜索图像或文本信息的特征向量与所述数据库中的多模态特征向量采用近似最近邻算法进行匹配,包括:以连续插入的方式构建网络分层图,对于每一个要插入的元素,采用指数衰变概率分布函数来随机选取整数最大层;
从顶层开始贪心遍历网络分层图,以在某A层中找到最近邻的节点;将所找到的n个最近邻节点存储于动态列表中;为动态列表中所有节点查找友点,确定友点未存储于废弃表中时,查找友点与匹配节点之间的距离,确定出A层最小值;
当在A层找到局部最小值之后,再将A层中找到的最近邻作为输入点,继续在下一层中寻找最近邻,重复该过程;按近邻节点的距离进行召回排序,并输出对应的搜索匹配图像。
下面结合具体示例,对本申请实施例作进一步详细说明。
现有技术中的图像检索大多是使用关键词文本匹配图像标签来查找对应的图像,这样,每张图像必须提前打上对应的标签,对于没有标签的图像则匹配不到,造成检索准确度不够。为了解决该问题,本申请实施例的技术方案通过多模态机器学习的方式进行图像处理及搜索,将文本和图像映射到公共空间进行匹配。同时为了解决快速匹配的问题,在对特征进行排序召回时优先使用近似最近邻方法来解决快速搜索的问题。
图2为本申请实施例提供的基于多模态算法的图像搜索方法的示例示意图,如图2所示,本申请实施例的基于多模态算法的图像搜索方法,具体步骤如下:
首先用户在加载本地或者服务器的同时,将本地或服务器侧的素材库中的素材如图像、图像对应的文本等经过CNN网络提取卷积特征,将所提取的图像及文本对应的卷积特征输入至预训练多模态模型提供的共同空间,从而完成特征提取,并将所提取到的特征存储在数据库中。至此,素材库的特征和素材库图片建立完毕。即在用户开启图像搜索之前,首先根据当前的素材库进行相应的网络训练,以确定素材库中的相关素材的特征向量信息,以便针对素材库中的图像进行搜索时,可以匹配到近似或相同图像,方便用户针对图像的搜索,即便捷又准确。
当用户使用本申请实施例的以图搜图功能时,如图2所示,针对用户输入的图像,首先使用前述的预训练多模态模型,对用户输入的图像进行相应的预处理,并输入多模态模型得到用户输入图像的特征向量。将图像的特征向量和素材库中的特征向量,使用近似最近邻算法,将特征召回并且排序,将相似图显示在界面上。当用户输入文本搜索图片时,将输入的文本首先进行编码,编码后的文本送入变换器transformer结构的文本特征提取器中。完成第一阶段特征提取。然后进入多模态模型的共同空间完成特征提取,使文本特征和图像特征完成不同模态的特征对齐。此时使用近似最近邻算法,完成特征召回并且排序,将文本对应的最相似的图片显示在界面上。
图3为本申请实施例提供的CLIP模型示意图,如图3所示,本申请实施例的多模态CLIP模型结合了多种信息模态的智能交互技术,其能够促进多模态融合技术的发展。多模态的人工智能可通过感知不同的信息维度和信息来源,推动人机交互走向智能化。而用户在使用本申请实施例的方法浏览素材图的过程中通常也是多模态的,通过物理或数字工具完成用户与本申请实施例CLIP模型之间进行交互。因此,本申请实施例应用多模态融合技术,可以从多源数据感知和了解用户,以帮助用户更好地进行图像搜索,方便用户更快地检索到自己想要的素材图像。随着图像识别、多模态融合、生物识别、语义分析等技术的交叉融合,多模态模型的研究分析也成为新的工作研究方向。
多模态表示学习的目的是将被研究对象(如结构化数据、图像、视频、语音、文本等)中所蕴含的语义信息抽象为实值向量。当多个模态共存时,需要同时从多个异质信息源提取被研究对象的特征。在单模态表示学习的基础上,多模态的表示学习要解决多个模态信息的一致性和互补性问题。多模态机器学习中另一个重要的方向,是发现知识在不同模态间的映射关系。给定实体在一种模态下的表示,模态间映射是将该表示转换成其它模态下表示的过程。因此,在本申请实施例中,如图3所示,根据输入的图像特征和文本特征,将文本的特征放到图像特征的模态下去表示。
在检索任务中,除了实现搜索匹配外,还要求快速的响应速度以及正确的排序;多模态信息检索通过对异构数据进行加工,如直接对图片进行语义分析,在有效特征匹配的情况下对图片采用基于内容的自动检索形式;为适应快速检索的需要,本申请实施例中使用CLIP多模态模型,作为图像和文本的特征提取和特征拟合的模块。
本申请实施例的CLIP多模态模型采用双流模型,分别提取图片和文本特征;使用对比学习,构造正例与负例,优化匹配目标;将分类模型转换成图文匹配任务,用文本来弱监督图片分类,减少标注的人力和物力。
如图3所示,本申请实施例的多模态CLIP模型将一批文本通过Text Encoder编码成一批word embedding,将一批图片(与文本一一对应)通过Image Encoder编码成一批feature embedding,然后将对应的word embedding和feature embedding先归一化然后进行点积得到相似度矩阵;其中,点积数值越大,代表word embedding和feature embedding的向量越相似,这里的监督信号就是矩阵对角线为1,其余位置为0的单元矩阵。其中TextEncoder可以使用变换器transformer,而Image Encoder使用ResNet50和ViT两种架构其中的一个,Image Encoder和Text Encoder都是对图片或文本进行从头训练。
然后将预训练好的CLIP迁移到下游任务,先将下游任务的标签构建为一批带标签的文本(例如A photo of a{plane}),然后经过Text Encoder编码成一批相应的wordembedding。
最后将未有先验样本的图片进行zero-shot learning预测,通过Image Encoder将一张小狗的图片编码成一个feature embedding,然后跟下游任务中的编码的一批wordembedding先归一化然后进行点积,最后得到的logits中数值最大的位置对应的标签即为最终预测结果。
以下介绍本申请实施例采用的最近邻算法。
当素材数据库中的数据量较少的时候或者数据维度较低时,本申请实施例一般使用K最近邻(K-Nearest Neighbor,KNN)算法来完成对于数据集的分类和回归。但是当数据量较大以及维数较高时,KNN需要大量的内存以及空间来存储所有数据,在遇到维度较高时,会造成维数灾难。针对这种情况,本申请实施例采用近似最近邻算法(ApproximateNearest Neighbor,ANN)进行相似度的匹配,具体地,可以通过牺牲精度来换取时间和空间的方式从大量样本中获取最近邻的对象,这种匹配方式占用的存储空间少,查找效率高。
图4为本申请实施例提供的近邻图的示意图,如图4所示,本申请实施例也可以采用分层可导航的小世界(Hierarchical Navigable Small World,HNSW)进行特征向量的匹配,HNSW是ANN搜索领域基于分层图的一种算法,本申请实施例中,是把D维空间中所有的特征向量构建成一张相互联通的图,并基于这张图搜索某个顶点的K个最近邻,如图4所示,对于给定的近邻图,在开始搜索的时候,从若干输入点(随机选取或分割算法)开始迭代遍历整个近邻图。
在每一次横向迭代的时候,算法会检查链接或当前base节点之间的距离,然后选择下一个base节点作为相邻节点,使得能查找到最好的最小化连接间的距离。
图5为本申请实施例提供的分层图的示意图,如图5所示,网络分层图以连续插入的方式构建,对于每一个要插入的元素,采用指数衰变概率分布函数来随机选取整数最大层。图构建元素插入过程(Algorithm 1)包括:从顶层开始贪心遍历graph,以便在某层A中找到最近邻节点。当在A层找到局部最小值之后,再将A层中找到的最近邻作为输入点(entry point),继续在下一层中寻找最近邻,重复该过程;直到确定出最近邻节点,按近邻距离进行召回排序,作为图像的搜索匹配结果。
本申请实施例中,还可以采用层内最近邻查找(Algorithm 2)进行最近邻节点的确定,其可以是前述贪心搜索的改进方法;
从顶层开始贪心遍历graph,以便在某层A中找到最近邻节点。将所找到的n个最近邻节点存储于动态列表中;为动态列表中所有节点查找友点,确定友点未存储于废弃表中时,查找友点与匹配节点之间的距离,确定出A层最小值;当在A层找到局部最小值之后,再将A层中找到的最近邻作为输入点(entry point),继续在下一层中寻找最近邻,重复该过程;直到确定出最近邻节点,按近邻距离进行召回排序,作为图像的搜索匹配结果。
本申请实施例也可以使用ANN进行特征向量的搜索及匹配,图6为本申请实施例提供的ANN检索流程示意图,如图6所示,ANN的检索流程包括:使用ANN的检索流程中,先在单层中找到最近邻的点,然后以该点为下一层的输入点去寻找最近的值,依次每层查找即可。
基于前述的技术方案,本申请实施例支持使用多模态模型以图搜图功能,用户输入需要检索的原图,利用本申请实施例的CLIP模型,将原图中的图像特征进行提取。然后使用相似最近邻算法,和数据库中的相应的图库中的图像特征进行召回排序,得到最相似的图片,按召回顺序输出展示相应的搜索结果的图像。
本申请实施例的技术方案,通过使用多模态的方法提取图像的特征信息,可以提取到图像更多的特征信息,这样在使用搜图的时候,使用多模态的方法召回率更高,搜到的图片更准确。
图7为本申请实施例提供的基于多模态算法的图像搜索装置的组成结构示意图,如图7所示,本申请实施例的基于多模态算法的图像搜索装置包括:
第一提取单元70,用于提取素材库中的图像素材的卷积特征;或对图像素材相关的文本进行编码,将编码后的文本输入变换器transformer模型中进行文本特征提取;
训练单元71,用于将所提取的图像素材的卷积特征和所述文本特征输入至预训练的多模态模型的共同空间,实现多模态特征向量的提取,并将提取的多模态特征向量存储在数据库;
第二提取单元72,用于接收到输入的待搜索图像或文本信息,利用所述预训练的多模态模型对所述待搜索图像或文本信息进行多模态特征向量的提取;
搜索单元73,用于将所述待搜索图像或文本信息的特征向量与所述数据库中的多模态特征向量采用近似最近邻算法进行匹配,对匹配后的多模态特征向量进行召回且排序,按排序结果输出对应图像,作为搜索结果。
作为一种实现方式,在某些实施例中,所述训练单元71,还用于:
将素材库中的文本通过Text Encoder编码成word embedding,将素材库中与文本对应的图像通过Image Encoder编码成feature embedding;
将对应的word embedding和feature embedding归一化后进行点积得到相似度矩阵;其中,点积数值越大,代表word embedding和feature embedding的向量越相似;
将预训练好的CLIP迁移到下游任务,先将下游任务的标签构建为带标签的文本,再经过Text Encoder编码成相应的word embedding;
将未有先验样本的图像进行零样本学习(zero-shot learning)预测,通过ImageEncoder将所述未有先验样本的图像编码成feature embedding,并与下游任务编码的wordembedding进行归一化及点积处理,得到的归一化输出logits中数值最大的位置对应的标签,作为最终预测结果。
作为一种实现方式,在某些实施例中,所述搜索单元73,还用于:
根据多模态特征向量对应的维度,以相应维度空间中所有的向量构建成相互联通的近邻图;其中,所述近邻图中包括待搜索图像或文本信息的特征向量;
随机选取或基于分割算法在所述近邻图中确定若干输入点,迭代遍历整个近邻图;在每一次横向迭代时,检查链接或当前base节点之间的距离,然后选择下一个base节点作为相邻节点,确定最小化连接间的距离,以最小化连接间的距离对特征向量进行召回排序,并输出对应的搜索匹配图像。
作为一种实现方式,在某些实施例中,所述搜索单元73,还用于:
以连续插入的方式构建网络分层图,对于每一个要插入的元素,采用指数衰变概率分布函数来随机选取整数最大层;
从顶层开始贪心遍历网络分层图,以在某A层中找到最近邻的节点;当在A层找到局部最小值之后,再将A层中找到的最近邻作为输入点,继续在下一层中寻找最近邻,重复该过程;按近邻节点的距离进行召回排序,并输出对应的搜索匹配图像。
作为一种实现方式,在某些实施例中,所述搜索单元73,还用于:
以连续插入的方式构建网络分层图,对于每一个要插入的元素,采用指数衰变概率分布函数来随机选取整数最大层;
从顶层开始贪心遍历网络分层图,以在某A层中找到最近邻的节点;将所找到的n个最近邻节点存储于动态列表中;为动态列表中所有节点查找友点,确定友点未存储于废弃表中时,查找友点与匹配节点之间的距离,确定出A层最小值;
当在A层找到局部最小值之后,再将A层中找到的最近邻作为输入点,继续在下一层中寻找最近邻,重复该过程;按近邻节点的距离进行召回排序,并输出对应的搜索匹配图像。
在示例性实施例中,本申请实施例的基于多模态算法的图像搜索装置的上述各处理单元可以被一个或多个中央处理器(CPU,Central Processing Unit)、图像处理器(GPU,Graphics Processing Unit)、基带处理器(BP,Base Processor)、应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable LogicDevice)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或其他电子元件实现。
在本公开实施例中,图7示出的基于多模态算法的图像搜索装置中各个处理单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例还记载了一种存储介质,其上存储由可执行程序,所述可执行程序被处理器执行时,执行前述实施例的基于多模态算法的图像搜索方法的步骤。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上所述,仅为本发明的实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种基于多模态算法的图像搜索方法,其特征在于,所述方法包括:
提取素材库中的图像素材的卷积特征;或对图像素材相关的文本进行编码,将编码后的文本输入变换器(transformer)模型中进行文本特征提取;
将所提取的图像素材的卷积特征和所述文本特征输入至预训练的多模态模型的共同空间,实现多模态特征向量的提取,并将提取的多模态特征向量存储在数据库;
接收到输入的待搜索图像或文本信息,利用所述预训练的多模态模型对所述待搜索图像或文本信息进行多模态特征向量的提取;
将所述待搜索图像或文本信息的特征向量与所述数据库中的多模态特征向量采用近似最近邻算法进行匹配,对匹配后的多模态特征向量进行召回且排序,按排序结果输出对应图像,作为搜索结果。
2.根据权利要求1所述的方法,其特征在于,所述实现多模态特征向量的提取,包括:
将素材库中的文本通过文本编码器Text Encoder编码成词嵌入word embedding,将素材库中与文本对应的图像通过图像编码器Image Encoder编码成特征嵌入featureembedding;
将对应的word embedding和feature embedding归一化后进行点积得到相似度矩阵;其中,点积数值越大,代表word embedding和feature embedding的向量越相似;
将预训练好的对比图文多模态预训练CLIP迁移到下游任务,先将下游任务的标签构建为带标签的文本,再经过Text Encoder编码成相应的word embedding;
将未有先验样本的图像进行零样本学习zero-shot learning,通过Image Encoder将所述未有先验样本的图像编码成feature embedding,并与下游任务编码的wordembedding进行归一化及点积处理,得到的归一化输出logits中数值最大的位置对应的标签,作为最终预测结果。
3.根据权利要求1所述的方法,其特征在于,将所述待搜索图像或文本信息的特征向量与所述数据库中的多模态特征向量采用近似最近邻算法进行匹配,包括:
根据多模态特征向量对应的维度,以相应维度空间中所有的向量构建成相互联通的近邻图;其中,所述近邻图中包括待搜索图像或文本信息的特征向量;
随机选取或基于分割算法在所述近邻图中确定若干输入点,迭代遍历整个近邻图;在每一次横向迭代时,检查链接或当前基本base节点之间的距离,然后选择下一个base节点作为相邻节点,确定最小化连接间的距离,以最小化连接间的距离对特征向量进行召回排序,并输出对应的搜索匹配图像。
4.根据权利要求1所述的方法,其特征在于,将所述待搜索图像或文本信息的特征向量与所述数据库中的多模态特征向量采用近似最近邻算法进行匹配,包括:
以连续插入的方式构建网络分层图,对于每一个要插入的元素,采用指数衰变概率分布函数来随机选取整数最大层;
从顶层开始贪心遍历网络分层图,以在某A层中找到最近邻的节点;当在A层找到局部最小值之后,再将A层中找到的最近邻作为输入点,继续在下一层中寻找最近邻,重复该过程;按近邻节点的距离进行召回排序,并输出对应的搜索匹配图像。
5.根据权利要求1所述的方法,其特征在于,将所述待搜索图像或文本信息的特征向量与所述数据库中的多模态特征向量采用近似最近邻算法进行匹配,包括:
以连续插入的方式构建网络分层图,对于每一个要插入的元素,采用指数衰变概率分布函数来随机选取整数最大层;
从顶层开始贪心遍历网络分层图,以在某A层中找到最近邻的节点;将所找到的n个最近邻节点存储于动态列表中;为动态列表中所有节点查找友点,确定友点未存储于废弃表中时,查找友点与匹配节点之间的距离,确定出A层最小值;
当在A层找到局部最小值之后,再将A层中找到的最近邻作为输入点,继续在下一层中寻找最近邻,重复该过程;按近邻节点的距离进行召回排序,并输出对应的搜索匹配图像。
6.一种基于多模态算法的图像搜索装置,其特征在于,所述装置包括:
第一提取单元,用于提取素材库中的图像素材的卷积特征;或对图像素材相关的文本进行编码,将编码后的文本输入变换器(transformer)模型中进行文本特征提取;
训练单元,用于将所提取的图像素材的卷积特征和所述文本特征输入至预训练的多模态模型的共同空间,实现多模态特征向量的提取,并将提取的多模态特征向量存储在数据库;
第二提取单元,用于接收到输入的待搜索图像或文本信息,利用所述预训练的多模态模型对所述待搜索图像或文本信息进行多模态特征向量的提取;
搜索单元,用于将所述待搜索图像或文本信息的特征向量与所述数据库中的多模态特征向量采用近似最近邻算法进行匹配,对匹配后的多模态特征向量进行召回且排序,按排序结果输出对应图像,作为搜索结果。
7.根据权利要求6所述的装置,其特征在于,所述训练单元,还用于:
将素材库中的文本通过Text Encoder编码成word embedding,将素材库中与文本对应的图像通过Image Encoder编码成feature embedding;
将对应的word embedding和feature embedding归一化后进行点积得到相似度矩阵;其中,点积数值越大,代表word embedding和feature embedding的向量越相似;
将预训练好的CLIP迁移到下游任务,先将下游任务的标签构建为带标签的文本,再经过Text Encoder编码成相应的word embedding;
将未有先验样本的图像进行零样本学习zero-shot learning预测,通过ImageEncoder将所述未有先验样本的图像编码成feature embedding,并与下游任务编码的wordembedding进行归一化及点积处理,得到的归一化输出logits中数值最大的位置对应的标签,作为最终预测结果。
8.根据权利要求6所述的装置,其特征在于,所述搜索单元,还用于:
根据多模态特征向量对应的维度,以相应维度空间中所有的向量构建成相互联通的近邻图;其中,所述近邻图中包括待搜索图像或文本信息的特征向量;
随机选取或基于分割算法在所述近邻图中确定若干输入点,迭代遍历整个近邻图;在每一次横向迭代时,检查链接或当前基本base节点之间的距离,然后选择下一个base节点作为相邻节点,确定最小化连接的距离,以最小化连接间距离对特征向量进行召回排序,并输出对应的搜索匹配图像。
9.根据权利要求6所述的装置,其特征在于,所述搜索单元,还用于:
以连续插入的方式构建网络分层图,对于每一个要插入的元素,采用指数衰变概率分布函数来随机选取整数最大层;
从顶层开始贪心遍历网络分层图,以在某A层中找到最近邻的节点;当在A层找到局部最小值之后,再将A层中找到的最近邻作为输入点,继续在下一层中寻找最近邻,重复该过程;按近邻节点的距离进行召回排序,并输出对应的搜索匹配图像。
10.根据权利要求6所述的装置,其特征在于,所述搜索单元,还用于:
以连续插入的方式构建网络分层图,对于每一个要插入的元素,采用指数衰变概率分布函数来随机选取整数最大层;
从顶层开始贪心遍历网络分层图,以在某A层中找到最近邻的节点;将所找到的n个最近邻节点存储于动态列表中;为动态列表中所有节点查找友点,确定友点未存储于废弃表中时,查找友点与匹配节点之间的距离,确定出A层最小值;
当在A层找到局部最小值之后,再将A层中找到的最近邻作为输入点,继续在下一层中寻找最近邻,重复该过程;按近邻节点的距离进行召回排序,并输出对应的搜索匹配图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111465039.7A CN114519120A (zh) | 2021-12-03 | 2021-12-03 | 基于多模态算法的图像搜索方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111465039.7A CN114519120A (zh) | 2021-12-03 | 2021-12-03 | 基于多模态算法的图像搜索方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114519120A true CN114519120A (zh) | 2022-05-20 |
Family
ID=81596589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111465039.7A Pending CN114519120A (zh) | 2021-12-03 | 2021-12-03 | 基于多模态算法的图像搜索方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114519120A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114973294A (zh) * | 2022-07-28 | 2022-08-30 | 平安科技(深圳)有限公司 | 基于图文匹配方法、装置、设备及存储介质 |
CN115512166A (zh) * | 2022-10-18 | 2022-12-23 | 湖北华鑫光电有限公司 | 镜头的智能化制备方法及其系统 |
CN115712740A (zh) * | 2023-01-10 | 2023-02-24 | 苏州大学 | 多模态蕴含增强图像文本检索的方法和系统 |
CN117112852A (zh) * | 2023-10-25 | 2023-11-24 | 卓世科技(海南)有限公司 | 一种大语言模型驱动的向量数据库检索方法及装置 |
CN117521017A (zh) * | 2024-01-03 | 2024-02-06 | 支付宝(杭州)信息技术有限公司 | 一种获取多模态特征方法和装置 |
-
2021
- 2021-12-03 CN CN202111465039.7A patent/CN114519120A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114973294A (zh) * | 2022-07-28 | 2022-08-30 | 平安科技(深圳)有限公司 | 基于图文匹配方法、装置、设备及存储介质 |
CN114973294B (zh) * | 2022-07-28 | 2022-10-21 | 平安科技(深圳)有限公司 | 基于图文匹配方法、装置、设备及存储介质 |
CN115512166A (zh) * | 2022-10-18 | 2022-12-23 | 湖北华鑫光电有限公司 | 镜头的智能化制备方法及其系统 |
CN115512166B (zh) * | 2022-10-18 | 2023-05-16 | 湖北华鑫光电有限公司 | 镜头的智能化制备方法及其系统 |
CN115712740A (zh) * | 2023-01-10 | 2023-02-24 | 苏州大学 | 多模态蕴含增强图像文本检索的方法和系统 |
CN117112852A (zh) * | 2023-10-25 | 2023-11-24 | 卓世科技(海南)有限公司 | 一种大语言模型驱动的向量数据库检索方法及装置 |
CN117112852B (zh) * | 2023-10-25 | 2024-02-20 | 卓世科技(海南)有限公司 | 一种大语言模型驱动的向量数据库检索方法及系统 |
CN117521017A (zh) * | 2024-01-03 | 2024-02-06 | 支付宝(杭州)信息技术有限公司 | 一种获取多模态特征方法和装置 |
CN117521017B (zh) * | 2024-01-03 | 2024-04-05 | 支付宝(杭州)信息技术有限公司 | 一种获取多模态特征方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114519120A (zh) | 基于多模态算法的图像搜索方法及装置 | |
CN112085012B (zh) | 项目名称和类别识别方法及装置 | |
WO2021098585A1 (en) | Image search based on combined local and global information | |
Sridhar et al. | Fake news detection and analysis using multitask learning with BiLSTM CapsNet model | |
CN112632224B (zh) | 基于案例知识图谱的案件推荐方法、装置和电子设备 | |
CN113486178B (zh) | 文本识别模型训练方法、文本识别方法、装置以及介质 | |
CN116304307A (zh) | 一种图文跨模态检索网络训练方法、应用方法及电子设备 | |
CN113128431A (zh) | 视频片段检索方法、装置、介质与电子设备 | |
CN112417878A (zh) | 实体关系抽取方法、系统、电子设备及存储介质 | |
CN115374786A (zh) | 实体和关系联合抽取方法及装置、存储介质和终端 | |
CN115269781A (zh) | 模态关联度预测方法、装置、设备、存储介质及程序产品 | |
CN113408282B (zh) | 主题模型训练和主题预测方法、装置、设备及存储介质 | |
Mishra et al. | Multimodal machine learning for extraction of theorems and proofs in the scientific literature | |
Zulfiqar et al. | Logical layout analysis using deep learning | |
CN114626378A (zh) | 命名实体识别方法、装置、电子设备及计算机可读存储介质 | |
CN114970467B (zh) | 基于人工智能的作文初稿生成方法、装置、设备及介质 | |
CN113886602B (zh) | 一种基于多粒度认知的领域知识库实体识别方法 | |
CN115410185A (zh) | 一种多模态数据中特定人名及单位名属性的提取方法 | |
Indumathi et al. | Apply Deep Learning-based CNN and LSTM for Visual Image Caption Generator | |
CN114842301A (zh) | 一种图像注释模型的半监督训练方法 | |
Ni et al. | Sampled image tagging and retrieval methods on user generated content | |
CN114492437A (zh) | 关键词识别方法、装置、电子设备及存储介质 | |
Renuse et al. | Multi label learning and multi feature extraction for automatic image annotation | |
CN117094394B (zh) | 基于论文pdf的天文多模态知识图谱构建方法和系统 | |
CN114385903B (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 |