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

文本图像检索方法和装置

文献发布时间:2023-06-19 13:45:04


文本图像检索方法和装置

技术领域

本申请涉及人工智能技术领域,具体涉及一种文本图像检索方法和装置。

背景技术

文本图像检索是指给定一个查询文本,在图像数据库中检索与查询文本语义相关的图像,在很多领域有重大应用,例如在大型图像、视频类网站有巨大的应用需求,用户输入查询文本,通过文本图像检索技术,实现对查询文本相关的图像或视频的检索,从而达到多媒体数据的快速索引,提升多媒体数据管理效率,提升用户使用体验的效果。

相关技术中,在文本图像检索系统的训练过程中,三元组损失函数平等地对待所有的负样本。然而,在实际情况中,锚点与不同的负样本之间的语义相似度并不相同,平等地对待所有的负样本会造成视觉语义空间的不连贯,从而造成检索的排序结果不合理,影响用户体验。

发明内容

为至少在一定程度上克服相关技术中存在的问题,本申请提供一种文本图像检索方法和装置。

根据本申请实施例的第一方面,提供一种文本图像检索方法,包括:

获取训练数据集,所述训练数据集中包括若干个图像文本对,一个所述图像文本对包括一个图像数据和一个文本数据;

根据预设的算法模型提取特征向量,所述特征向量包括:所述训练数据集中所有文本数据的文本特征向量和图像数据的图像特征向量;

根据文本特征向量计算不同文本数据之间的语义相似度;

将文本数据之间的第一语义相似度作为文本数据与图像数据之间的第二语义相似度;

构建损失函数,并将第二语义相似度导入损失函数中以调整损失函数的边界;

根据损失函数对所述算法模型进行迭代训练,并将训练完成的算法模型进行保存。

进一步地,所述算法模型包括特征提取算法和特征映射算法;

所述根据预设的算法模型提取特征向量,包括:

为文本和图像分别选择特征提取算法,分别提取训练数据集中所有文本数据的特征和图像数据的特征;

通过特征映射算法,分别将文本数据的特征和图像数据的特征映射到相同的维度,获得文本特征向量和图像特征向量。

进一步地,所述文本数据之间的语义相似度为:

其中,t

进一步地,所述将文本数据之间的第一语义相似度作为文本数据与图像数据之间的第二语义相似度,包括:

令S

其中,(v

进一步地,所述构建损失函数,包括:

构建三元组损失函数:

其中,S(v

进一步地,所述调整损失函数的边界,包括:

将近似的文本图像语义相似度S

令三元组损失函数的边界

进一步地,所述根据损失函数对所述算法模型进行迭代训练,包括:

选择深度学习优化器,设定学习率大小和批次大小,在训练数据集上训练N次迭代;

读取验证数据集,通过验证数据集对所述算法模型进行召回率判定;

若召回率不再提升,则模型训练结束;否则继续调整损失函数的边界。

进一步地,深度学习优化器为Adam优化器,设定学习率为0.0005,批次大小为128,训练次数N=20次。

进一步地,在根据损失函数对所述算法模型进行迭代训练之后,还包括:

读取测试数据集;

采用训练完成的算法模型对测试数据集进行特征提取;

根据特征提取的结果进行相似度计算并排序,取相似度靠前的K个对应的数据作为检索结果。

根据本申请实施例的第二方面,提供一种文本图像检索装置,包括:

获取模块,用于获取训练数据集,所述训练数据集中包括若干个图像文本对,一个所述图像文本对包括一个图像数据和一个文本数据;

提取模块,用于根据预设的算法模型提取特征向量,所述特征向量包括:所述训练数据集中所有文本数据的文本特征向量和图像数据的图像特征向量;

计算模块,用于根据文本特征向量计算不同文本数据之间的语义相似度;

赋值模块,用于将文本数据之间的第一语义相似度作为文本数据与图像数据之间的第二语义相似度;

构建模块,用于构建损失函数,并将第二语义相似度导入损失函数中以调整损失函数的边界;

训练模块,用于根据损失函数对所述算法模型进行迭代训练,并将训练完成的算法模型进行保存。

本申请的实施例提供的技术方案具备以下有益效果:

本申请的方案利用文本之间的语义相似度近似文本与图像之间的语义相似度,利用近似的文本图像语义相似度调整损失函数的边界,引导文本图像检索系统学习连贯的视觉语义嵌入空间,大幅提升排序结果的合理性,达到提升检索用户实际体验,提升多媒体数据管理效率的效果。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1是根据一示例性实施例示出的一种文本图像检索方法的流程图;

图2是根据一示例性实施例示出的一种文本图像检索的实现方法流程图;

图3是根据一示例性实施例示出的一种文本图像检索系统训练过程的结构图;

图4是根据一示例性实施例示出的一种文本图像检索系统测试过程的结构图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的方法和装置的例子。

文本图像检索的一个常见解决方案是,使用特征提取算法提取文本和图像的特征,使用特征映射算法将文本和图像的特征映射到一个共享的视觉语义嵌入空间,以便计算文本和图像的特征之间的相似度,从而根据候选图像与查询文本之间的相似度返回排序后的检索结果。为了训练一个文本图像检索系统来准确计算的相似度,通常使用三元组损失函数作为训练文本图像检索系统的优化目标。在训练过程中,一个批次中的每一个样本都被称为一个锚点。对于每个锚点,与锚点对应的样本称为正样本,与锚点不对应的样本称为负样本,锚点和正负样本分别属于不同的模态。三元组损失函数约束文本图像检索系统计算锚点与其正样本(即正样本对)之间的相似度大于锚点与其负样本(即负样本对)之间的相似度加上一个固定的边界。

图1是根据一示例性实施例示出的一种文本图像检索方法的流程图。该方法可以包括以下步骤:

获取训练数据集,所述训练数据集中包括若干个图像文本对,一个所述图像文本对包括一个图像数据和一个文本数据;

根据预设的算法模型提取特征向量,所述特征向量包括:所述训练数据集中所有文本数据的文本特征向量和图像数据的图像特征向量;

根据文本特征向量计算不同文本数据之间的语义相似度;

将文本数据之间的第一语义相似度作为文本数据与图像数据之间的第二语义相似度;

构建损失函数,并将第二语义相似度导入损失函数中以调整损失函数的边界;

根据损失函数对所述算法模型进行迭代训练,并将训练完成的算法模型进行保存。

应当理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

本申请的方案提供一种文本语义相似度指导的文本图像检索系统的实现方法,以实现一种排序结果合理、符合用户体验的文本图像检索系统。本方案利用文本之间的语义相似度近似文本与图像之间的语义相似度,利用近似的文本图像语义相似度调整损失函数的边界,引导文本图像检索系统学习连贯的视觉语义嵌入空间,大幅提升排序结果的合理性,达到提升检索用户实际体验,提升多媒体数据管理效率的效果。

下面结合具体的应用场景,对本申请的方案进行拓展说明。

如图2所示,以图像标题数据集Flickr30K为例,本发明一种文本语义相似度指导的文本图像检索系统的实现方法,包括如下步骤:

步骤S0,获取包含成对的图像文本数据的训练数据集T、验证数据集V及测试数据集U。

具体地,于步骤S0中,训练数据集T、验证数据集V及测试数据集U都包含若干个图像文本对,一个图像文本对(v

一些实施例中,Flickr30K数据集包含31000幅图像,每幅图像标注5个句子,获取训练数据集T包含成对的图像文本数据29000×5条,验证数据集V包含成对的图像文本数据1000×5条,测试数据集U包含成对的图像文本数据1000×5条。

步骤S1,为文本和图像分别选择特征提取算法,提取训练数据集中所有文本和图像的特征并映射到相同的维度。

一些实施例中,步骤S1进一步包括:

步骤S100,为文本和图像分别选择特征提取算法,提取训练数据集中所有文本和图像的特征;

一些实施例中,为文本选择特征提取算法门控循环单元(Gated RecurrentUnits,GRUs),提取训练数据集中所有文本的特征,特征维度为300维;为图像选择特征提取算法ResNet-152,提取训练数据集中所有图像的特征,特征维度为2048维。

步骤S101,选择特征映射算法,将步骤S100提取的文本和图像的特征并映射到相同的维度,分别用φ(v

一些实施例中,选择特征映射算法线性映射,使用一层全连接神经网络实现,将步骤S100提取的文本和图像的特征并映射到相同的维度1024维,对映射后文本和图像的特征向量进行L2标准化,分别用φ(v

步骤S2,利用文本相似度计算方法计算训练数据集T中所有文本之间的语义相似度,利用文本之间的语义相似度近似文本与图像之间的语义相似度,将所述训练数据集T中的近似的文本与图像之间的语义相似度写入文本图像语义相似度权重文件中;

一些实施例中,步骤S2进一步包括:

步骤S200,利用文本特征向量提取模型Sentence-BERT提取训练数据集中所有文本的特征向量f

步骤S201,读取步骤S200中存储的文本特征向量权重文件,利用文本特征向量f

步骤S202,利用文本之间的语义相似度S

步骤S3,构建文本图像检索系统的损失函数,读取步骤S2中存储的文本图像语义相似度权重文件,将近似的文本图像语义相似度导入损失函数中,利用近似的文本图像语义相似度调整损失函数的边界;

一些实施例中,步骤S3进一步包括:

步骤S300,构建文本图像检索系统的文本语义相似度指导的三元组损失函数:

S(v

步骤S301,读取步骤S202中存储的文本图像语义相似度权重文件,将近似的文本图像语义相似度S

λ是一个缩放因子,控制边界

步骤S4,设定、调整文本和图像的特征提取算法模型和特征映射算法的参数集,迭代生成算法模型并保存。本发明一种文本语义相似度指导的文本图像检索系统训练过程的结构图如图3所示;

一些实施例中,在步骤S4中,使用步骤S3中构建的文本语义相似度指导的三元组损失函数迭代训练算法模型,选择深度学习优化器,设定学习率大小和批次大小,在步骤S0中整理的训练数据集上训练N次迭代,读取步骤S0中整理的验证数据集对文本图像检索系统进行召回率判定,若召回率不再提升,则模型训练结束,保存文本和图像的特征提取和映射算法模型φ*和ψ,否则返回执行S3。

在本实施例中,选用Adam优化器,设定学习率为0.0005,批次大小为128,在步骤S0中整理的训练数据集上训练20次迭代,读取步骤S0中整理的验证数据集对文本图像检索系统进行召回率判定,在本实施例中,选用文本搜图片和图片搜文本两个任务中的Top 1、Top5和Top 10的召回率,若两个任务中判定的所有召回率的和值不再提升,则模型训练结束,保存文本和图像的特征提取和映射算法模型φ

步骤S5,读取步骤S0整理的测试数据集,加载步骤S4保存的文本和图像的特征提取和映射算法模型文件,提取并映射测试数据集中的文本和图像特征,计算相似度并排序,给出检索结果。本发明一种文本语义相似度指导的文本图像检索系统测试过程的结构图如图4所示;

一些实施例中,步骤S5进一步包括:

步骤S500,读取步骤S0整理的测试数据集,加载步骤S4保存的文本和图像的特征提取和映射算法模型文件φ

步骤S501,计算步骤S500映射后的文本和图像的特征之间相似度S(v

本发明利用文本之间的语义相似度近似文本与图像之间的语义相似度,构建文本图像检索系统的文本语义相似度指导的三元组损失函数,利用近似的文本图像语义相似度调整损失函数的边界,引导文本图像检索系统学习连贯的视觉语义嵌入空间,大幅提升排序结果的合理性,达到提升检索用户实际体验,提升多媒体数据管理效率的效果。

本申请的实施例还提供一种文本图像检索装置,包括:

获取模块,用于获取训练数据集,所述训练数据集中包括若干个图像文本对,一个所述图像文本对包括一个图像数据和一个文本数据;

提取模块,用于根据预设的算法模型提取特征向量,所述特征向量包括:所述训练数据集中所有文本数据的文本特征向量和图像数据的图像特征向量;

计算模块,用于根据文本特征向量计算不同文本数据之间的语义相似度;

赋值模块,用于将文本数据之间的第一语义相似度作为文本数据与图像数据之间的第二语义相似度;

构建模块,用于构建损失函数,并将第二语义相似度导入损失函数中以调整损失函数的边界;

训练模块,用于根据损失函数对所述算法模型进行迭代训练,并将训练完成的算法模型进行保存。

关于上述实施例中的装置,其中各个模块执行操作的具体步骤已经在有关该方法的实施例中进行了详细描述,此处不再详细阐述说明。上述文本图像检索装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

技术分类

06120113792576