掌桥专利:专业的专利平台
掌桥专利
首页

基于注意力的深度跨模态哈希检索方法、装置及相关设备

文献发布时间:2023-06-19 11:02:01


基于注意力的深度跨模态哈希检索方法、装置及相关设备

技术领域

本发明实施例涉及检索技术领域,尤其涉及一种深度跨模态哈希检索方法、装置及相关设备。

背景技术

跨模态检索技术旨在根据已有的数据检索与之相匹配的不同模态的数据,例如通过文本信息在数据库中查找符合文字描述的图片信息。由于哈希码具有存储代价小,检索速度快等诸多优势,所以哈希方法也被广泛应用在跨模态检索任务中。

目前跨模态检索方法主要是使用深度神经网络来将特征学习和哈希学习结合起来。虽然加深网络的深度能有效的提高检索性能,但网络深度达到一定的深度之后就会出现网络退化、难以收敛等问题;另外由于不能分辨出网络中所提取特征的重要程度,这对检索模型的稳定性与性能提升造成了很大的障碍;同时现有技术方法中虽然包含各式对于跨模态哈希检索的损失优化方法,但并未能实现特征学习过程和哈希学习过程的有机衔接与高效复用。

发明内容

本发明实施例提供了一种基于注意力的深度跨模态哈希检索方法、装置及相关设备,旨在解决现有技术中对于检索数据的特征提取不够丰富,生成的哈希码质量较低的问题。

第一方面,本发明实施例提供了一种基于注意力的深度跨模态哈希检索方法,其包括:

获取图像模态样本、文本模态样本以及预置有注意力机制的哈希检索模型;

通过所述哈希检索模型的残差网络模块及第一注意力模块对所述图像模态样本进行图像特征提取,得到图像特征矩阵;

通过所述哈希检索模型的词袋模块及第二注意力模块提取所述文本模态样本的特征,得到文本特征矩阵;

通过所述哈希检索模型的哈希层分别计算并存储所述图像特征矩阵及文本特征矩阵对应的哈希码,得到图像哈希码和文本哈希码;

分别基于所有图像哈希码以及所有文本哈希码,根据预设的哈希码损失函数分别计算图像哈希码损失和文本哈希码损失,并根据图像哈希码损失和文本哈希码损失优化所述哈希检索模型的模型参数,得到最优的哈希检索模型;

获取检索数据,并通过最优的哈希检索模型输出所述检索数据的检索哈希码,所述检索数据的模态为图像模态或文本模态;

根据所述检索哈希码,从存储有与所述检索数据不同模态的存储数据中确定检索结果。

第二方面,本发明实施例提供了一种基于注意力的深度跨模态哈希检索装置,其包括:

获取模块,用于获取图像模态样本、文本模态样本以及预置有注意力机制的哈希检索模型;

图像特征提取模块,用于通过所述哈希检索模型的残差网络模块及第一注意力模块对所述图像模态样本进行图像特征提取,得到图像特征矩阵;

文本特征提取模块,用于通过所述哈希检索模型的词袋模块及第二注意力模块提取所述文本模态样本的特征,得到文本特征矩阵;

第一哈希模块,用于通过所述哈希检索模型的哈希层分别计算并存储所述图像特征矩阵及文本特征矩阵对应的哈希码,得到图像哈希码和文本哈希码;

优化模块,用于分别基于所有图像哈希码以及所有文本哈希码,根据预设的哈希码损失函数分别计算图像哈希码损失和文本哈希码损失,并根据图像哈希码损失和文本哈希码损失优化所述哈希检索模型的模型参数,得到最优的哈希检索模型;

第二哈希模块,用于获取检索数据,并通过最优的哈希检索模型输出所述检索数据的检索哈希码,所述检索数据的模态为图像模态或文本模态;

检索模块,用于根据所述检索哈希码,从存储有与所述检索数据不同模态的存储数据中确定检索结果。

第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的基于注意力的深度跨模态哈希检索方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的基于注意力的深度跨模态哈希检索方法。

本发明实施例提供了一种基于注意力的深度跨模态哈希检索方法、装置及相关设备。该方法包括获取图像模态样本、文本模态样本以及预置有注意力机制的哈希检索模型;通过所述哈希检索模型的残差网络模块及第一注意力模块对所述图像模态样本进行图像特征提取,得到图像特征矩阵;通过所述哈希检索模型的词袋模块及第二注意力模块提取所述文本模态样本的特征,得到文本特征矩阵;通过所述哈希检索模型的哈希层分别计算并存储所述图像特征矩阵及文本特征矩阵对应的哈希码,得到图像哈希码和文本哈希码;分别基于所有图像哈希码以及所有文本哈希码,根据预设的哈希码损失函数分别计算图像哈希码损失和文本哈希码损失,并根据图像哈希码损失和文本哈希码损失优化所述哈希检索模型的模型参数,得到最优的哈希检索模型;获取检索数据,并通过最优的哈希检索模型输出所述检索数据的检索哈希码,所述检索数据的模态为图像模态或文本模态;根据所述检索哈希码,从存储有与所述检索数据不同模态的存储数据中确定检索结果。该方法通过注意力模块提取不同模态的特征,提高模型对于数据的重要信息提取,更好地弥合跨模态检索任务中语义相关的异构数据之间的距离,提高检索速度。

附图说明

为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的基于注意力的深度跨模态哈希检索方法的流程示意图;

图2为本发明实施例提供的基于注意力的深度跨模态哈希检索方法的子流程示意图;

图3为本发明实施例提供的基于注意力的深度跨模态哈希检索方法的另一子流程示意图;

图4为本发明实施例提供的基于注意力的深度跨模态哈希检索方法的另一子流程示意图;

图5为本发明实施例提供的基于注意力的深度跨模态哈希检索装置的示意性框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

请参阅图1为本发明实施例提供的基于注意力的深度跨模态哈希检索方法的流程示意图,该方法包括步骤S110~S170。

S110、获取图像模态样本、文本模态样本以及预置有注意力机制的哈希检索模型;

本实施例中,首先获取多个模态的训练样本,包括图像模态样本和文本模态样本。通常情况下,用户使用检索工具进行检索时,最多使用的功能为通过文本来检索相应的图片,或者对图片进行识别以获取相应的文本信息。因此,本申请以图像模态样本和文本模态样本为训练样本。其中,此处的图像模态样本包括静态图像(即静态图片)和动态图像(即动态图片),当图片为动态图片时,可以将其当做多帧静态图片的合集。

此外,获取预置有注意力机制的哈希检索模型。哈希检索模型中除了必备的特征提取模块、哈希层之外,还设有注意力模块,注意力模块用于提升提取图像模态样本和文本模态样本的细节特征。具体的,每个图像模态样本和文本模态样本都拥有自己的标签,标签的数量可以是一个或多个。对于图像模态样本,其所包含的标签可以包含该图像所包含的内容对应的标签,或该图像所对应的属性的标签;而对于文本模态样本,所包含的标签可以只包括该文本信息本身的含义,也可以包括该文本的上位概念、下位概念或其对应的一些属性。例如,一张包含青山绿水的图像,标签可以是“青山”、“绿水”;还可以是“风景”;也可以是这张图像的尺寸、颜色和清晰度等标签。对于文本模态样本“可乐”,可以包括代表自身含义的标签“可乐”,也可以是上位概念的标签“饮料”;还可以是常温时属性的标签“液体”;还可以是代表词性的标签“名词”。

S120、通过所述哈希检索模型的残差网络模块及第一注意力模块对所述图像模态样本进行图像特征提取,得到图像特征矩阵;

本实施例中,在训练哈希检索模型时,对于不同模态的样本,需要用不同的方式提取样本特征。对于图像,首先将图像模态样本转换为统一维度的RGB图像,然后通过哈希检索模型中残差网络模块及第一注意力模块,对图像模态样本进行图像特征提取,得到图像特征矩阵。例如,将图像模态样本转换为维度是224×224×3的RGB图像。此外,残差网络模块使用ResNet-50预训练模型。

在一实施例中,如图2所示,步骤S120包括:

步骤S121、通过所述残差网络模块对所述图像模态样本进行特征提取,得到第一图像特征;

步骤S122、利用所述第一注意力模块对所述第一图像特征进行特征提取,得到在预置个数的注意力通道中的注意力特征图像,并将各所述注意力通道中的注意力特征图像进行拼接,得到所述图像特征矩阵。

本实施例中,通过ResNet-50预训练模型对预处理后的图像模态样本进行特征提取,得到第一图像特征。为保证每个特征与其标签之间的语义相关性,在哈希检索模型中加入第一注意力模块和第二注意力模块。利用第一注意力模块对第一图像特征进行特征提取,得到预置个数的注意力通道中的注意力特征图像,并将各注意力通道中的注意力特征图像进行拼接,得到图像特征矩阵。此外,在将第一图像特征输入第一注意力模块进行多通道的注意力特征提取前,对第一图像特征进行L2正则化处理,保持表向量和映射之间的一致性。在第一注意力模块中,通过映射的加权平均得到多通道的注意力掩模特征。其中,L2正则化处理有公式如下所示:

式中,F

图像特征矩阵经过注意力模块后输出为:

其中,λ为权衡因子,用于控制注意力特征的效果。

S130、通过所述哈希检索模型的词袋模块及第二注意力模块提取所述文本模态样本的特征,得到文本特征矩阵;

本实施例中,对于文本模态样本,通过哈希检索模型中的词袋模块及第二注意力模块提取文本模态样本的特征,得到文本特征矩阵。其中,词袋模块中设有词袋模型,词袋模型是对一个文本,忽略其词序和语法、句法,将其仅仅看做是多个词的集合。文本中每个词的出现都是独立的,不依赖于其他词是否出现。

在一实施例中,如图3所示,步骤S130包括:

步骤S131、通过所述词袋模块对所述文本模态样本进行词袋处理,得到词袋向量;

步骤S132、将词袋向量输入配置有多通道的第二注意力模块进行特征提取,得到注意力特征矩阵,并将各个通道的注意力特征矩阵进行拼接,得到文本特征矩阵。

本实施例中,利用词袋模块对文本模态样本进行词袋处理,得到文本的词袋向量,再将词袋向量输入倒配置有预置个数的不同通道的第二注意力模块中进行特征提取,得到多个通道的注意力特征矩阵,最后将各个通道的注意特征矩阵进行拼接,得到文本特征矩阵。

例如,将文本的词袋向量输入倒配置有三个不同通道的第二注意力模块中进行文本特征提取,最后将三个通道中提取的特征叠加到一起得到文本特征矩阵。

S140、通过所述哈希检索模型的哈希层分别计算并存储所述图像特征矩阵及文本特征矩阵对应的哈希码,得到图像哈希码和文本哈希码;

本实施例中,分别将图像模态样本和文本模态样本的图像特征矩阵以及文本特征矩阵输入哈希检索模型的哈希层,通过哈希层对图像特征矩阵和文本特征矩阵进行哈希处理,得到图像哈希码和文本哈希码。其中,哈希码的长度可由用户根据实际需要自定义,可以是16bit,32bit或64bit。

S150、分别基于所有图像哈希码以及所有文本哈希码,根据预设的哈希码损失函数分别计算图像哈希码损失和文本哈希码损失,并根据图像哈希码损失和文本哈希码损失优化所述哈希检索模型的模型参数,得到最优的哈希检索模型;

本实施例中,由于哈希检索模型的初始哈希层模型参数不是最优,因此哈希得到的图像哈希码或文本哈希码存在损失,为了调整哈希检索模型的模型参数,获取图像模态样本的图像哈希码,以及文本模态样本的文本哈希码,根据预置的损失函数计算分别计算图像模态样本的哈希码损失,以及文本模态样本的哈希码损失,根据哈希码损失优化哈希检索模型的模型参数,从而得到最优的哈希检索模型。

具体的,若训练数据中有n个实例对,每个实例对包括一个图像和文本,假设在训练数据库中有n个训练实例对,每个实例对对应一个图像和文本。图像模态样本记为

其中,图像哈希模块的目标函数如下式所示:

其中,n表示样本数量;l表示哈希码长度;

同样的,文本哈希模块的目标函数如下式所示:

其中,S

综合上述两个目标函数,得到总体目标函数为:

在优化过程中,使用交替进行的学习策略进行优化。其中,在优化模型参数时,若优化图像部分的网络,则文本部分的网络保持不变;若优化文本部分的网络,则图像部分的网络保持不变。已知图像模态样本X,文本模态样本Y,跨模态相似矩阵S,哈希码长度l。分别从图像模态样本X和文本模态样本Y随机选择n个实例作为样本,计算U

当优化图像网络时,固定文本网络保持不变,则有:

式中,U

当优化文本网络时,固定图像网络保持不变,则有:

式中,V

S160、获取检索数据,并通过最优的哈希检索模型输出所述检索数据的检索哈希码,所述检索数据的模态为图像模态或文本模态;

S170、根据所述检索哈希码,从存储有与所述检索数据不同模态的存储数据中确定检索结果。

本实施例中,获取检索数据,通过最优的哈希检索模型输出检索数据对应的检索哈希码,然后根据检索哈希码,从存储有与检索数据不同模态的存储数据中,确定相应的检索结果。其中,检索数据可以是图像模态,也可以是文本模态。

在一实施例中,如图4所示,步骤S170包括:

步骤S171、计算所述存储数据的目标哈希码;

步骤S172、计算所述检索哈希码与目标哈希码之间的汉明距离;

步骤S173、按照汉明距离从低到高排列所述存储数据,并确定排名靠前的预置个数的所述存储数据作为检索结果。

本实施例中,为了确定与检索数据相似的存储数据,计算每个与检索数据不同模态的存储数据的目标哈希码;计算所述检索哈希码与目标哈希码之间的汉明距离;按照汉明距离从低到高排列存储数据,并确定排名靠前的预置个数的存储数据作为检索结果。需要知道的是,个数可以由用户根据需要自定义设计。汉明距离越低,证明检索数据与存储数据之间的相似度越高。

具体的,若训练数据中有n个实例对,每个实例对包括一个图像和文本,假设在训练数据库中有n个训练实例对,每个实例对对应一个图像和文本。图像模态样本记为

式中,u表示所述图像哈希码,v表示所述文本哈希码,k表示哈希码长度,表示所述图像哈希码与文本哈希码的内积。

给定S

其中,

例如,检索数据的哈希码为3106,根据以上公式计算得到与检索数据不同模态的存储数据存在对应的哈希码为3104、3011、3001以及3206,则汉明距离分别为1、3、3以及2,若定义输出排名靠前的2个存储数据,则将哈希码为3104和3206对应的存储数据作为检索结果。

该方法通过注意力模块提取不同模态的特征,提高模型对于数据的重要信息提取,更好地弥合跨模态检索任务中语义相关的异构数据之间的距离,提高检索速度。

本发明实施例还提供一种基于注意力的深度跨模态哈希检索装置,该深度跨模态哈希检索装置用于执行前述深度跨模态哈希检索方法的任一实施例。具体地,请参阅图5,图5是本发明实施例提供的基于注意力的深度跨模态哈希检索装置的示意性框图。该基于注意力的深度跨模态哈希检索装置100可以配置于服务器中。

如图5所示,基于注意力的深度跨模态哈希检索装置100包括获取模块110、图像特征提取模块120、文本特征提取模块130、第一哈希模块140、优化模块150、第二哈希模块160以及检索模块170。

获取模块110,用于获取图像模态样本、文本模态样本以及预置有注意力机制的哈希检索模型;

图像特征提取模块120,用于通过所述哈希检索模型的残差网络模块及第一注意力模块对所述图像模态样本进行图像特征提取,得到图像特征矩阵;

文本特征提取模块130,用于通过所述哈希检索模型的词袋模块及第二注意力模块提取所述文本模态样本的特征,得到文本特征矩阵;

第一哈希模块140,用于通过所述哈希检索模型的哈希层分别计算并存储所述图像特征矩阵及文本特征矩阵对应的哈希码,得到图像哈希码和文本哈希码;

优化模块150,用于分别基于所有图像哈希码以及所有文本哈希码,根据预设的哈希码损失函数分别计算图像哈希码损失和文本哈希码损失,并根据图像哈希码损失和文本哈希码损失优化所述哈希检索模型的模型参数,得到最优的哈希检索模型;

第二哈希模块160,用于获取检索数据,并通过最优的哈希检索模型输出所述检索数据的检索哈希码,所述检索数据的模态为图像模态或文本模态;

检索模块170,用于根据所述检索哈希码,从存储有与所述检索数据不同模态的存储数据中确定检索结果。

在一实施例中,所述检索模块包括:

哈希单元,用于计算所述存储数据的目标哈希码;

计算单元,用于根据汉明距离计算所述检索哈希码与目标哈希码之间的相似度;

确定单元,用于按照相似度从高到低排列所有存储数据,并确定排名靠前的预置个数存储数据作为检索结果。

本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如上所述的深度跨模态哈希检索方法。

在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如上所述的深度跨模态哈希检索方法。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

相关技术
  • 基于注意力的深度跨模态哈希检索方法、装置及相关设备
  • 一种基于跨模态深度哈希网络的大规模跨源遥感影像检索方法
技术分类

06120112774383