CN117437447A - 一种内容匹配方法及相关装置 - Google Patents
一种内容匹配方法及相关装置 Download PDFInfo
- Publication number
- CN117437447A CN117437447A CN202311389830.3A CN202311389830A CN117437447A CN 117437447 A CN117437447 A CN 117437447A CN 202311389830 A CN202311389830 A CN 202311389830A CN 117437447 A CN117437447 A CN 117437447A
- Authority
- CN
- China
- Prior art keywords
- image
- text
- target
- feature
- information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 158
- 238000000605 extraction Methods 0.000 claims abstract description 283
- 230000006870 function Effects 0.000 claims abstract description 172
- 238000012549 training Methods 0.000 claims description 276
- 230000011218 segmentation Effects 0.000 claims description 187
- 238000012545 processing Methods 0.000 claims description 87
- 230000007246 mechanism Effects 0.000 claims description 86
- 238000013507 mapping Methods 0.000 claims description 53
- 238000013528 artificial neural network Methods 0.000 claims description 49
- 238000010606 normalization Methods 0.000 claims description 41
- 238000004364 calculation method Methods 0.000 claims description 39
- 238000003709 image segmentation Methods 0.000 claims description 34
- 239000011159 matrix material Substances 0.000 claims description 29
- 238000013215 result calculation Methods 0.000 claims description 18
- 230000001174 ascending effect Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 5
- 238000010801 machine learning Methods 0.000 abstract description 13
- 239000013598 vector Substances 0.000 description 64
- 230000008569 process Effects 0.000 description 33
- 238000004422 calculation algorithm Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 16
- 238000004458 analytical method Methods 0.000 description 14
- 241000282472 Canis lupus familiaris Species 0.000 description 13
- 238000013473 artificial intelligence Methods 0.000 description 10
- 230000009466 transformation Effects 0.000 description 8
- 241001465754 Metazoa Species 0.000 description 7
- 238000013135 deep learning Methods 0.000 description 7
- 241000282326 Felis catus Species 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000013136 deep learning model Methods 0.000 description 4
- 230000008485 antagonism Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 241001061106 Sargocentron rubrum Species 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 241000283973 Oryctolagus cuniculus Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000037308 hair color Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/42—Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种内容匹配方法以及相关装置。本申请实施例可应用于机器学习技术领域。其方法包括:获取目标图像及M个文本信息;通过图像特征提取网络对目标图像进行特征提取,生成图像特征信息;通过文本特征提取网络对M个文本信息进行特征提取,生成M个文本特征信息;通过目标核函数计算图像特征信息与M个文本特征信息的相似度,得到M个图文相似度结果;根据M个图文相似度结果确定目标文本信息。本申请实施例提供的方法通过目标核函数对图像特征信息与M个文本特征信息进行对比学习,得到M个图文相似度结果,进而根据M个图文相似度结果确定目标文本信息,在更高的维度上计算多模态之间的相似度,提高了图文匹配的准确性。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种内容匹配方法及相关装置。
背景技术
对比学习(Contrastive Learning)是一种机器学习方法,用于通过比较不同数据样本之间的相似性和差异性来学习数据表示和特征提取。在多模态学习中,对比学习是一种常见的方法,具体到图像、文本的学习上,学习样本是一一配对的图像与文本对。
对比学习可以应用于图文检索、物体分类等多种场景。例如,在安防场景中,可以根据文字描述从搜索感兴趣的画面内容,例如输入“穿红色上衣黑色裤子带太阳眼镜的男人”,然后可以用算法在海量拍摄视频画面中搜索对应的画面,实现高效定位。又例如,在花卉识别场景中,通过将输入图片与花卉名称文本的匹配,就可以实现花卉智慧识别的功能;类似地还可以实现鸟类识别、猫狗品种识别、汽车识别应用。
在现有技术中,对待匹配的文本及图像分别进行特征提取后,将得到的文本特征与图像特征通过内积计算的方式进行相似度计算,而由于不同模态的信息之间存在天然的差异,直接把不同模态的信息提取成相同的特征表达难度较大,进而导致对比学习的难度较大,在图文检索或物体分类的场景中图文匹配的准确率较低。
发明内容
本申请实施例提供了一种内容匹配方法以及相关装置,通过目标核函数对目标图像提取得到的图像特征信息与文本信息提取得到的文本特征信息进行对比学习,得到图文相似度结果,提高了图文匹配的准确性,解决了现有技术中图文匹配的准确率较低的问题。
本申请的一方面提供一种内容匹配方法,包括:
获取目标图像及M个文本信息,其中,M为大于等于1的整数;
将目标图像作为图像特征提取网络的输入,通过图像特征提取网络对目标图像进行特征提取,生成图像特征信息;
将M个文本信息作为文本特征提取网络的输入,通过文本特征提取网络对M个文本信息进行特征提取,生成M个文本特征信息;
调用目标核函数,通过目标核函数计算图像特征信息与M个文本特征信息的相似度,得到M个图文相似度结果,其中,目标核函数用于将图像特征信息与M个文本特征信息进行升维,并对升维得到的目标图像特征信息与M个目标文本特征信息进行相似度运算;
根据M个图文相似度结果,从M个文本信息中确定目标文本信息,其中,目标文本信息对应的图文相似度结果为M个图文相似度结果中的最大值。
本申请的另一方面提供了一种内容匹配装置,包括:目标数据获取模块、图像特征提取模块、文本特征提取模块、图文相似度结果计算模块及目标文本信息确定模块;具体的:
目标数据获取模块,用于获取目标图像及M个文本信息,其中,M为大于等于1的整数;
图像特征提取模块,用于将目标图像作为图像特征提取网络的输入,通过图像特征提取网络对目标图像进行特征提取,生成图像特征信息;
文本特征提取模块,用于将M个文本信息作为文本特征提取网络的输入,通过文本特征提取网络对M个文本信息进行特征提取,生成M个文本特征信息;
图文相似度结果计算模块,用于调用目标核函数,通过目标核函数计算图像特征信息与M个文本特征信息的相似度,得到M个图文相似度结果,其中,目标核函数用于将图像特征信息与M个文本特征信息进行升维,并对升维得到的目标图像特征信息与M个目标文本特征信息进行相似度运算;
目标文本信息确定模块,用于根据M个图文相似度结果,从M个文本信息中确定目标文本信息,其中,目标文本信息对应的图文相似度结果为M个图文相似度结果中的最大值。
在本申请实施例的另一种实现方式中,图文相似度结果计算模块,还用于:
根据目标核函数确定目标核函数对应的目标特征空间;
将图像特征信息映射到目标特征空间,得到目标图像特征信息,其中,目标图像特征信息的维度数大于图像特征信息的维度数;
将M个文本特征信息映射到目标特征空间,得到M个目标文本特征信息,其中,目标文本特征信息的维度数大于文本特征信息的维度数;
调用目标核函数对目标图像特征信息与M个目标文本特征信息进行相似度计算,得到M个图文相似度结果。
在本申请实施例的另一种实现方式中,图文相似度结果计算模块,还用于:
获取生成对抗网络;
确定目标特征空间的维度数;
根据目标特征空间的维度数对生成对抗网络的参数进行配置,得到目标特征空间对应的目标生成对抗网络;
将图像特征信息作为目标生成对抗网络的输入,通过目标生成对抗网络对图像特征信息进行升维,得到目标图像特征信息,其中,目标图像特征信息的维度数与目标特征空间的维度数相等。
在本申请实施例的另一种实现方式中,图文相似度结果计算模块,还用于:
获取目标图像特征信息的维度数以及M个目标文本特征信息中每个目标文本特征信息的维度数;
根据目标图像特征信息的维度数以及M个目标文本特征信息中每个目标文本特征信息的维度数,对目标图像特征信息与每个目标文本特征信息进行内积计算,得到M个图文相似度结果。
在本申请实施例的另一种实现方式中,图像特征提取模块,还用于:
将目标图像作为图像特征提取网络中的图像切分模块的输入,通过图像切分模块对目标图像进行切分,得到K个目标子图,其中,K为大于1的整数;
将K个目标子图作为图像特征提取网络中的位置标记模块的输入,通过位置标记模块确定K个目标子图中的每个目标子图的位置信息,得到K个子图位置信息;
将K个目标子图及K个子图位置信息作为图像特征提取网络中的注意力机制模块的输入,通过注意力机制模块对K个目标子图及K个子图位置信息进行编码,生成图像特征信息。
在本申请实施例的另一种实现方式中,图像特征提取模块,还用于:
将K个目标子图作为注意力机制模块中的多头自注意力机制网络层的输入,通过多头自注意力机制层计算K个目标子图中两两目标子图的相似度,得到L个子图相似度值,其中,L=K×(K-1)/2,L为大于1的整数;
将K个目标子图作为注意力机制模块中的前馈神经网络层的输入,通过前馈神经网络层提取K个目标子图中每个目标子图的特征,得到K个子图特征信息;
将L个子图相似度值、K个子图特征信息及K个子图位置信息作为注意力机制模块中的残差网络层的输入,通过残差网络层将L个子图相似度值、K个子图特征信息及K个子图位置信息进行特征拼接,得到图像特征信息。
在本申请实施例的另一种实现方式中,图像特征提取模块,还用于:
将目标图像作为图像切分模块中的切分网络层的输入,通过切分网络层对目标图像进行切分,生成K个子图像块;
将K个子图像块作为图像切分模块中的卷积网络层的输入,通过卷积网络层对K个子图像进行卷积处理,生成K个子图像矩阵;
将K个子图像矩阵作为图像切分模块中的线性映射网络层的输入,通过线性映射网络层对K个子图像矩阵进行线性映射,生成K个目标子图,其中,目标子图对应的维度数低于子图像块的维度数。
在本申请实施例的另一种实现方式中,文本特征提取模块,还用于:
将M个文本信息中的每个文本信息作为文本特征提取网络中的分词模块的输入,通过分词模块对M个文本信息中的每个文本信息进行分词,得到M个分词集合;
将M个分词集合作为文本特征提取网络中的特征提取模块的输入,通过特征提取模块对M个分词集合中的每个分词集合进行处理,生成M个分词特征集合;
将M个分词特征集合作为文本特征提取网络中的自注意力模块的输入,通过自注意力模块对M个分词特征集合中的每个分词特征集合进行处理,生成M个分词自注意力特征集合,其中,分词自注意力特征集合中包括至少一个分词自注意力特征;
对M个分词自注意力特征集合中的每个分词自注意力特征集合中的分词自注意力特征进行拼接,得到M个文本拼接特征;
对M个文本拼接特征中的每个文本拼接特征进行归一化处理,得到M个文本特征信息。
在本申请实施例的另一种实现方式中,文本特征提取模块,还用于:
将M个分词特征集合中的每个分词特征集合作为自注意力模块中的自注意力网络层的输入,通过自注意力网络层学习每个分词特征集合中的分词特征之间的特征,得到M个第一自注意力特征集合,其中,第一自注意力特征集合包括至少一个第一自注意力特征;
将M个第一自注意力特征集合中的每个第一自注意力特征集合作为自注意力模块中的第一拼接网络层的输入,通过第一拼接网络层对每个第一自注意力特征集合中的第一自注意力特征进行拼接处理,得到M个第一拼接特征;
将M个第一拼接特征作为自注意力模块中的第一归一化网络层的输入,通过第一归一化网络层对M个第一拼接特征进行归一化处理,得到M个第一归一化特征;
将M个第一归一化特征作为自注意力模块中的前馈神经网络层的输入,通过前馈神经网络层学习M个第一归一化特征中的两两第一归一化特征之间的特征信息,得到M个分词自注意力特征集合,其中,每个分词自注意力特征集合中包括M×(M-1)/2个分词自注意力特征。
在本申请实施例的另一种实现方式中,内容匹配装置还包括:训练数据获取模块、训练图像特征提取模块、训练文本特征提取模块、训练图文相似度结果计算模块及损失函数计算模块;具体的:
训练数据获取模块,用于获取训练图像及训练文本信息,其中,训练文本信息用于描述训练图像的内容;
训练图像特征提取模块,用于将训练图像作为图像特征提取网络的输入,通过图像特征提取网络对训练图像进行特征提取,生成训练图像特征信息;
训练文本特征提取模块,用于将训练文本信息作为文本特征提取网络的输入,通过文本特征提取网络对训练文本信息进行特征提取,生成训练文本特征信息;
训练图文相似度结果计算模块,用于调用目标核函数对训练图像特征信息与训练文本特征信息进行相似度计算,得到训练图文相似度结果,其中,目标核函数用于将训练图像特征信息与训练文本特征信息进行升维,并对升维得到的训练图像特征信息与训练文本特征信息进行相似度运算;
损失函数计算模块,用于根据训练图文相似度结果计算损失函数,通过损失函数对目标核函数的参数进行调整。
在本申请实施例的另一种实现方式中,训练图像特征信息包括N个训练图像特征值,训练文本特征信息包括N个训练文本特征值,N为大于1的整数;
训练图文相似度结果计算模块,还用于调用目标核函数对N个训练图像特征值与N个训练文本特征值进行相似度计算,得到训练图文相似度结果矩阵,其中,训练图文相似度结果矩阵包括N×N个相似度值,相似度值用于表征训练图像特征值与训练文本特征值之间的相似程度。
本申请的另一方面提供了一种计算机设备,包括:
存储器、收发器、处理器以及总线系统;
其中,存储器用于存储程序;
处理器用于执行存储器中的程序,包括执行上述各方面的方法;
总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。
本申请的另一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
本申请的另一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方面所提供的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请提供了一种内容匹配方法以及相关装置,其方法包括:获取目标图像及文本信息集合,其中,文本信息集合中包括M个文本信息,M为大于等于1的整数;将目标图像作为图像特征提取网络的输入,通过图像特征提取网络对目标图像进行特征提取,生成图像特征信息;将M个文本信息作为文本特征提取网络的输入,通过文本特征提取网络对M个文本信息进行特征提取,生成M个文本特征信息;调用目标核函数,通过目标核函数计算图像特征信息与M个文本特征信息的相似度,得到M个图文相似度结果,其中,目标核函数用于将图像特征信息与M个文本特征信息进行升维,并对升维得到的目标图像特征信息与M个目标文本特征信息进行相似度运算;根据M个图文相似度结果,从M个文本信息中确定目标文本信息,其中,目标文本信息对应的图文相似度结果为M个图文相似度结果中的最大值。本申请实施例提供的内容匹配方法,通过图像特征提取网络对目标图像进行特征提取得到能够表征目标图像的图像特征信息,以及通过文本特征提取网络对M个文本信息进行特征提取得到能够表征文本信息的M个文本特征信息,通过目标核函数对图像特征信息与M个文本特征信息进行对比学习,得到M个图文相似度结果,进而根据M个图文相似度结果确定相似度最高的目标文本信息,在更高的维度上计算图像模态与文本模态之间的相似度,有效降低模型对比学习的难度,从而提高了图文匹配的准确性。
附图说明
图1为本申请某一实施例提供的内容匹配系统的一个架构示意图;
图2为本申请某一实施例提供的内容匹配方法的流程图;
图3为本申请某一实施例提供的图像特征提取网络的结构示意图;
图4为本申请某一实施例提供的文本特征提取网络的结构图;
图5为本申请某一实施例提供的相似度计算方式的对比图;
图6为本申请某一实施例提供的核函数计算图像特征信息与文本特征信息的相似度的示意图;
图7为本申请另一实施例提供的内容匹配方法的流程图;
图8为本申请某一实施例提供的内积计算相似度的示意图;
图9为本申请另一实施例提供的内容匹配方法的流程图;
图10为本申请另一实施例提供的内容匹配方法的流程图;
图11为本申请另一实施例提供的内容匹配方法的流程图;
图12为本申请另一实施例提供的内容匹配方法的流程图;
图13为本申请另一实施例提供的内容匹配方法的流程图;
图14为本申请另一实施例提供的内容匹配方法的流程图;
图15为本申请另一实施例提供的内容匹配方法的流程图;
图16为本申请某一实施例提供的应用于小狗品种识别的内容匹配方法的流程图;
图17为本申请另一实施例提供的内容匹配方法的流程图;
图18为本申请某一实施例提供的目标训练图像特征信息与目标训练文本特征信息计算相似度的示意图;
图19为本申请又一实施例提供的内容匹配方法的流程图;
图20为本申请某一实施例提供的内容匹配装置的结构示意图;
图21为本申请另一实施例提供的内容匹配装置的结构示意图;
图22为本申请某一实施例提供的服务器结构示意图。
具体实施方式
本申请实施例提供了一种内容匹配方法,通过图像特征提取网络对目标图像进行特征提取得到能够表征目标图像的图像特征信息,以及通过文本特征提取网络对M个文本信息进行特征提取得到能够表征文本信息的M个文本特征信息,通过目标核函数对图像特征信息与M个文本特征信息进行对比学习,得到M个图文相似度结果,进而根据M个图文相似度结果确定相似度最高的目标文本信息,在更高的维度上计算图像模态与文本模态之间的相似度,有效降低模型对比学习的难度,从而提高了图文匹配的准确性。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
为便于理解本申请实施例提供的技术方案,这里先对本申请实施例使用的一些关键名词进行解释:
特征提取:特征提取指的是将原始数据转换为能够被机器学习算法更容易理解和处理的特征向量的过程。原始数据通常是高维的,并且包含了大量的无用信息。特征提取的目的是通过对原始数据进行降维和特征选择,将其转换为更具有代表性和可解释性的特征向量。
核函数:核函数是在机器学习和数学中常用的一种函数,它可以将一个向量空间映射到另一个向量空间,从而实现某些运算的加速。
多模态学习:多模态学习是一种机器学习方法,旨在利用多种不同的模态(如图像、音频、文本等)来处理和理解复杂的多模态数据,通过将多种感知模态的数据作为模型的输入,通过模型输出对应的识别结果。在多模态学习中,模型会同时考虑多个模态的信息,以获得对数据更全面、准确的理解。在本申请实施例提供的在图像内容匹配任务中,模型不仅可以考虑图像的像素信息,还可以考虑与图像相关的文本描述信息,以提高图像内容判断的准确性。
对比学习:对比学习(Contrastive Learning)是一种机器学习算法,旨在通过对比相似和不相似的样本来学习特征表示。对比学习的基本思想是将一个样本与其他样本进行比较,并根据它们之间的相似性或差异性来学习特征表示。这种方法可以有效地捕捉样本之间的语义关系,并提高模型的泛化能力。
在多模态学习中,对比学习是一种常见的方法。对比学习通过比较不同数据样本之间的相似性和差异性来学习数据表示和特征提取。对比学习通常用于无监督学习和自监督学习中,能够有效地解决数据样本不足、标注数据不足等问题。对比学习的核心思想是将数据样本分成不同的组,然后通过比较同一组内和不同组之间的数据样本来学习数据表示和特征提取。
对比学习可以用于图文检索。在安防系统中,可以根据文字描述从搜索感兴趣的画面内容,例如输入“穿红色上衣黑色裤子带太阳眼镜的男人”,然后可以用算法在海量拍摄视频画面中搜索对应的画面,实现高效定位;在电商平台中,可以根据用户输入的文本信息匹配对应商品;在自动驾驶中,可以用图文检索做难例样本挖掘,例如输入“大雨的夜晚光线昏暗,行人在过马路”,从海量原始数据中搜索这种出现频次极低的难例场景。使用大量类似的描述,可以补充丰富的难例样本,改善感知模型的长尾问题,从而推动自动驾驶的落地应用。
对比学习还可以用于物体分类,具体的是给定图片匹配对应的文字。不同于传统的分类网络,如果用海量的图片文本对训练对比学习模型,模型将具备海量的类别区分能力,而不再是受限于事先定义好的若干类。这样的特性使得模型可以用于各种场景下的分类,而不需要针对各场景定义类别、建设数据集和重新训练模型。例如在手机上,列出各种花卉的名称类别,通过将输入图片与花卉名称文本的匹配,就可以实现花卉智慧识别的功能。类似地还可以实现鸟类识别、猫狗品种识别、汽车识别应用。
在现有技术中,对待匹配的文本及图像分别进行特征提取后,将得到的文本特征与图像特征通过内积计算的方式进行相似度计算,而由于不同模态的信息之间存在天然的差异,直接把不同模态的信息提取成相同的特征表达难度较大,进而导致对比学习的难度较大,在图文检索或物体分类的场景中图文匹配的准确率较低。
本申请实施例提供的方法将图像模态及文本模态进行对比学习,具体的,学习样本是一一配对的图像文本对,在一批图像文本对中,可以认为配对的图像、文本特征属于正类,不配对的属于负类,那么对比学习的目标就是尽可能让正类之间的特征尽可能相似,负类之间的特征尽可能不相似。
具体来说,对比学习将每个数据样本表示为一个向量,然后通过比较不同数据样本之间的向量距离或相似度来学习数据表示。同一组内的数据样本应该相似,而不同组之间的数据样本应该有明显的差异,从而能够学习到更具有判别力和鲁棒性的数据表示。
本申请实施例提供的内容匹配方法,通过图像特征提取网络对目标图像进行特征提取得到能够表征目标图像的图像特征信息,以及通过文本特征提取网络对M个文本信息进行特征提取得到能够表征文本信息的M个文本特征信息,通过目标核函数对图像特征信息与M个文本特征信息进行对比学习,得到M个图文相似度结果,进而根据M个图文相似度结果确定相似度最高的目标文本信息,在更高的维度上计算图像模态与文本模态之间的相似度,有效降低模型对比学习的难度,从而提高了图文匹配的准确性。
为了便于理解,请参阅图1,图1为本申请实施例中内容匹配方法的应用环境图,如图1所示,本申请实施例中内容匹配方法应用于内容匹配系统。内容匹配系统包括:服务器和终端设备;其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端和服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例在此不做限制。
服务器首先获取目标图像及M个文本信息;其次,服务器将目标图像作为图像特征提取网络的输入,通过图像特征提取网络对目标图像进行特征提取,生成图像特征信息;接着,服务器将M个文本信息作为文本特征提取网络的输入,通过文本特征提取网络对M个文本信息进行特征提取,生成M个文本特征信息;然后,服务器调用目标核函数,通过目标核函数计算图像特征信息与M个文本特征信息的相似度,得到M个图文相似度结果,其中,目标核函数用于将图像特征信息与M个文本特征信息进行升维,并对升维得到的目标图像特征信息与M个目标文本特征信息进行相似度运算;最后,服务器根据M个图文相似度结果,从M个文本信息中确定目标文本信息,其中,目标文本信息对应的图文相似度结果为M个图文相似度结果中的最大值。
下面将从服务器的角度,对本申请中内容匹配方法进行介绍。请参阅图2,本申请实施例提供的内容匹配方法包括:步骤S110至步骤S150。需要说明的是,步骤S120与步骤S130可以是并列步骤,也可以是具有先后执行关系的步骤(例如:先执行步骤S120后执行步骤S130、先执行步骤S130后执行步骤S120),对于步骤S120与步骤S130的执行顺序本申请实施例不做限制。
为便于理解,本申请实施例以步骤S120与步骤S130并列执行进行说明。
具体的:
S110、获取目标图像及M个文本信息。
其中,M为大于等于1的整数。
可以理解的是,目标图像及文本信息可能是由用户上传的信息内容,也可能是存储于系统内部的信息内容。
例如,在图像识别场景中,用户想要对照片或图像中的狗的品种进行识别。首先,用户在众多候选的识别种类(例如:花卉识别、动物识别、汽车识别等)中选择“动物识别”分类;系统响应用户针对“动物识别”分类的选择操作,获取“动物识别”分类所对应的“子类信息”(例如:猫、狗、兔子等),将子类信息进行显示。接着,用户在“子类信息”中选择“狗”子类;系统响应用户针对“狗”子类的选择操作,获取狗的种类信息所对应的M个文本信息(例如:萨摩耶、哈士奇、拉布拉多、柯基等)。然后,用户上传待进行狗的种类识别的目标图像;系统接收到用户上传的目标图像。
S120、将目标图像作为图像特征提取网络的输入,通过图像特征提取网络对目标图像进行特征提取,生成图像特征信息。
可以理解的是,该步骤目的在于对目标图像进行特征提取,不限于通过使用图像特征提取网络对目标图像进行特征提取的方式,还可以通过使用图像编码器对目标图像进行特征提取等。无论使用何种方式进行图像特征提取,提取得到结果需通过向量的形式进行展示,即图像特征信息的数据格式为向量形式,图像特征信息中包括N个特征值。
优选的,可使用基于自注意力机制的计算机视觉模型(Vision Transformer,ViT)作为图像特征提取网络。如图3所示,图3是本申请实施例提供的图像特征提取网络的结构示意图。ViT的结构可以分为两个部分:图像切分模块(Patch Embeddings)和注意力机制模块(Transformer Encoder)。Patch Embeddings部分将图片划分为若干个小块,然后对每个小块进行编码。具体来说,Patch Embeddings包括一个卷积层和一个线性投影层,用于将每个小块的像素值转换为一个固定长度的向量表示。Transformer Encoder部分由多个Transformer模块组成,每个模块包括多头自注意力机制、前馈神经网络和残差连接。其中,多头自注意力机制用于计算每个小块与其他小块之间的相似度,前馈神经网络用于进一步提取特征,残差连接用于保留原始特征信息。ViT最后将图片数据映射为一个向量表示。
具体的,通过ViT对目标图像进行特征提取的过程可以是:首先,将目标图像作为图像特征提取网络中的图像切分模块的输入,通过图像切分模块对目标图像进行切分,得到K个目标子图;然后,将K个目标子图作为图像特征提取网络中的位置标记模块的输入,通过位置标记模块确定K个目标子图中的每个目标子图的位置信息,得到K个子图位置信息;最后,将K个目标子图及K个子图位置信息作为图像特征提取网络中的注意力机制模块的输入,通过注意力机制模块对K个目标子图及K个子图位置信息进行编码,生成图像特征信息。
在对目标图像进行特征提取时,可以是对目标图像的颜色特征、纹理特征、形状特征、深度特征、对象特征中的一种特征进行提取或一种以上的特征进行提取,本申请实施例对此不做限制。因此,本申请实施例中的图像特征网络可以是一种特征提取网络(例如:颜色特征提取网络、纹理特征提取网络、形状特征提取网络、深度特征提取网络、对象特征提取网络),还可以是多种特征提取网络的集成网络(例如:纹理特征及形状特征提取的集成网络、纹理特征、形状特征及对象特征提取的集成网络)。具体的:
颜色特征:颜色特征可以通过计算图像中每个像素的RGB值来表示。常见的颜色特征包括平均颜色、颜色直方图、颜色矩等。
纹理特征:纹理特征是一种描述图像中像素之间空间关系的特征。常见的纹理特征包括灰度共生矩阵、Tamura纹理特征、Gabor特征等。
形状特征:形状特征是一种描述图像中目标物体形状的特征。常见的形状特征包括轮廓特征、角点特征、不变矩特征等。
深度特征:对于深度图像(例如立体图像),深度特征可以描述图像中物体的深度信息。常见的深度特征包括深度直方图、深度轮廓等。
对象特征:对于对象图像(例如动物图像、人脸图像),对象特征可以描述图像中目标物体的身份和特征。动物图像中的对象特征包括动物的体型特征、四肢特征、面部特征等。人脸图像中常见的对象特征包括人脸特征点、人脸特征向量等。
S130、将M个文本信息作为文本特征提取网络的输入,通过文本特征提取网络对M个文本信息进行特征提取,生成M个文本特征信息。
可以理解的是,可以将M个文本信息依次输入至文本特征提取网络,也可以将M个文本信息一次全部输入至文本特征提取网络。该步骤目的在于对文本信息进行特征提取,不限于通过使用文本特征提取网络对文本信息进行特征提取的方式,还可以通过使用文本编码器对文本信息进行特征提取等。无论使用何种方式进行文本信息特征提取,提取得到结果需通过向量的形式进行展示,即文本特征信息的数据格式为向量形式,文本特征信息中包括N个特征值。
优选的,可使用基于自注意力机制的文本特征提取网络。如图4所示,图4为本申请实施例提供的文本特征提取网络的结构图。基于自注意力机制的文本特征提取网络也是由自注意力(Self-Attention)模块组成的,使用词嵌入对文本信息进行分词(token),然后将各个文本信息对应的分词集合输入Transformer网络。
具体的,通过基于自注意力机制的文本特征提取网络对M个文本信息进行特征提取的过程可以是:首先,将M个文本信息中的每个文本信息作为文本特征提取网络中的分词模块的输入,通过分词模块对M个文本信息中的每个文本信息进行分词,得到M个分词集合;其次,将M个分词集合作为文本特征提取网络中的特征提取模块的输入,通过特征提取模块对M个分词集合中的每个分词集合进行处理,生成M个分词特征集合;接着,将M个分词特征集合作为文本特征提取网络中的自注意力模块的输入,通过自注意力模块对M个分词特征集合中的每个分词特征集合进行处理,生成M个分词自注意力特征集合,其中,分词自注意力特征集合中包括至少一个分词自注意力特征;然后,对M个分词自注意力特征集合中的每个分词自注意力特征集合中的分词自注意力特征进行拼接,得到M个文本拼接特征;最后,对M个文本拼接特征中的每个文本拼接特征进行归一化处理,得到M个文本特征信息。
S140、调用目标核函数,通过目标核函数计算图像特征信息与M个文本特征信息的相似度,得到M个图文相似度结果。
其中,目标核函数用于将图像特征信息与M个文本特征信息进行升维,并对升维得到的目标图像特征信息与M个目标文本特征信息进行相似度运算。
可以理解的是,核函数可以将一个向量空间映射到另一个向量空间,从而实现某些运算的加速。核函数的基本思想是,通过在原始向量空间中使用核函数,可以避免在高维空间中进行复杂的计算,从而大大减少计算量。不同的核函数对应一种计算两个向量做内积的高维隐式空间,使用核函数不需要计算向量在高维空间的具体数值,只关注两个向量在高维空间的内积结果。常见的核函数包括:
线性核函数:线性核函数将原始向量空间映射到一维空间,它可以用于线性分类问题。线性核函数可通过以下公式表示:
k(x,y)=xTy+c;
其中,x和y表示不同模态的两个向量(例如:x为图像特征向量,y为文本特征向量),c为常数。
多项式核函数:多项式核函数可以用于多项式分类问题,它可以将原始向量空间映射到一个高维空间。多项式核函数可通过以下公式表示:
k(x,y)=(axTy+c)d;
其中,x和y表示不同模态的两个向量(例如:x为图像特征向量,y为文本特征向量),c和d均为常数。
Sigmoid核函数:Sigmoid核函数可以用于二分类问题,它可以将原始向量空间映射到一个(0,1)之间的数值空间。Sigmoid核函数可通过以下公式表示:
k(x,y)=tanh(axT+c);
其中,x和y表示不同模态的两个向量(例如:x为图像特征向量,y为文本特征向量),c为常数,tanh(·)表示双曲正切函数。
拉普拉斯核函数:拉普拉斯核函数(Laplacian kernel function)是一种在机器学习和信号处理中常用的核函数。它通常用于表示数据点之间的相似性或距离。拉普拉斯核函数可通过以下公式表示:
其中,x和y表示不同模态的两个向量(例如:x为图像特征向量,y为文本特征向量),σ为超参数,表示核函数的宽度。
高斯核函数:高斯核函数具有良好的泛化性能和鲁棒性,并且易于计算。在支持向量机中,使用高斯核函数可以将数据映射到一个高维空间中,从而使得数据在该空间中更容易分开。在核聚类和核主成分分析中,高斯核函数也可以有效地捕捉数据中的结构和模式。高斯核函数可通过以下公式表示:
其中,x和y表示不同模态的两个向量(例如:x为图像特征向量,y为文本特征向量),σ为超参数,表示核函数的宽度。
如图5所示,图5为通过计算内积的方式计算两种模态的相似度的方式与使用核函数计算两种模态的相似度的方式的对比图。以对图像和文本两种模态的特征信息进行对比学习为例,若直接计算内积需要将图像和文本映射到同一公共特征空间,但是由于不同模态信息之间存在的天然差异,把它们映射到同一特征空间是比较难度的;而本申请实施例提供的方法通过核函数降低了不同模态信息映射的难度,即本申请实施例提供的方法允许图像和文本映射到各自更易学习的特征空间,然后用核函数隐式地将各模态特征映射到抽象的公共特征空间并计算内积,由此完成相似度的计算,可以极大降低多模态特征学习难度和提高学习效率。
具体的,通过目标核函数对向量格式的图像特征信息与M个向量格式的文本特征信息的相似度计算的过程可以是:首先,根据目标核函数确定目标核函数对应的目标特征空间,优选的,本申请实施例所使用的目标核函数为拉普拉斯核函数;接着,将图像特征信息映射到目标特征空间,得到目标图像特征信息,其中,目标图像特征信息的维度数大于图像特征信息的维度数;然后,将M个文本特征信息映射到目标特征空间,得到M个目标文本特征信息,其中,目标文本特征信息的维度数大于文本特征信息的维度数;最后,调用目标核函数对目标图像特征信息与M个目标文本特征信息进行相似度计算,得到M个图文相似度结果。
进一步的,以图像特征信息与一个文本特征信息进行相似度计算的过程为例进行说明。请参阅图6,图6是通过核函数计算图像特征信息与文本特征信息的相似度的示意图,首先,将目标图像作为图像特征提取网络的输入,通过图像特征提取网络对目标图像进行特征提取,生成图像特征信息;以及,将文本信息作为文本特征提取网络的输入,通过文本特征提取网络对文本信息进行特征提取,生成文本特征信息。然后,将图像特征信息与文本特征信息均映射到同一目标特征空间(设该目标特征空间的通道数为N),得到目标图像特征信息[I1,I2,I3,···,IN],以及文本特征信息可以表示为[T1,T2,T3,···,TN]。最后,将目标图像特征信息中的每一个目标图像特征值Ii与目标文本特征信息中的每一个目标文本特征值Tj进行内积计算。可以理解的是,当图像特征值Ii与文本特征值Tj的下标相等(即i=j)时为正样本对,当图像特征值Ii与文本特征值Tj的下标不相等(即i≠j)时为负样本对,即在相似度计算的矩阵中,对角线上的配对的图像特征值与文本特征值为正样本对,其他位置上的非配对的图像特征值与文本特征值为负样本对。
S150、根据M个图文相似度结果,从M个文本信息中确定目标文本信息。
其中,目标文本信息对应的图文相似度结果为M个图文相似度结果中的最大值。
可以理解的是,通过目标核函数计算图像特征信息与M个文本特征信息的相似度,得到M个图文相似度结果,按照M个图文相似度结果对M个文本信息进行降序排列,取M个图文相似度结果中最大的相似性结果对应的文本信息为目标文本信息,进行输出。在狗的品种进行识别的场景中,该目标文本信息可以代表系统预测得到的小狗种类的分类结果。
本申请实施例提供的内容匹配方法,通过图像特征提取网络对目标图像进行特征提取得到能够表征目标图像的图像特征信息,以及通过文本特征提取网络对M个文本信息进行特征提取得到能够表征文本信息的M个文本特征信息,通过目标核函数对图像特征信息与M个文本特征信息进行对比学习,得到M个图文相似度结果,进而根据M个图文相似度结果确定相似度最高的目标文本信息,在更高的维度上计算图像模态与文本模态之间的相似度,有效降低模型对比学习的难度,从而提高了图文匹配的准确性。
在本申请的图2对应的实施例提供的内容匹配方法的一个可选实施例中,请参阅图7,步骤S140进一步包括子步骤S141至子步骤S144。需要说明的是,步骤S142与步骤S143可以是并列步骤,也可以是具有先后执行关系的步骤(例如:先执行步骤S142后执行步骤S143、先执行步骤S142后执行步骤S143),对于步骤S142与步骤S143的执行顺序本申请实施例不做限制。
为便于理解,本申请实施例以步骤S142与步骤S143并列执行进行说明。
具体的:
S141、根据目标核函数确定目标核函数对应的目标特征空间。
可以理解的是,在本申请实施例中优选的选择拉普拉斯核函数作为目标核函数。根据拉布拉斯核函数确定对应的目标特征空间,具体的,确定目标特征空间的通道数,目标特征空间的通道数大于图像特征提取网络的通道数,以及目标特征空间的通道数大于文本特征提取网络的通道数。
S142、将图像特征信息映射到目标特征空间,得到目标图像特征信息。
其中,目标图像特征信息的维度数大于图像特征信息的维度数。
可以理解的是,将图像特征信息映射到目标特征空间,得到目标图像特征信息,使得目标图像特征信息的维度数与目标特征空间的通道数相等,由于目标特征空间的通道数大于图像特征提取网络的通道数,因此目标图像特征信息的维度数大于图像特征信息的维度数。
将图像特征信息映射到目标特征空间的方式可以采用将低维信息映射到高维的特征空间的方法。包括但不限于使用以下方法:
线性变换:通过线性变换可以将一个低维的图像特征信息映射到一个高维的目标特征空间。线性变换可以通过矩阵乘法来实现,其中矩阵的每一行表示一个基向量,向量在新空间中的坐标可以通过矩阵乘法计算得到。
非线性变换:非线性变换可以将一个低维的图像特征向量映射到一个高维的目标特征空间。常见的非线性变换包括正交变换、投影变换、核技巧等。
特征提取:特征提取是一种将原始向量转换为特征向量的方法。特征提取通常基于原始向量的某种属性,例如特征值、奇异值等。特征向量可以看作是原始向量在一个低维特征空间中的表示。
升维:升维是一种将一个低维的图像特征向量映射到一个高维的目标特征空间的方法。升维的目的是增加数据的维度,以便更好地表示数据的特征。常见的升维方法包括张量分解、矩阵分解等。
生成对抗网络(GANs):GANs是一种深度学习模型,可以将一个低维的图像特征向量映射到一个高维的目标特征空间。在GANs中,生成器负责将低维向量映射到高维特征空间,而判别器则负责区分真实数据和生成数据。
S143、将M个文本特征信息映射到目标特征空间,得到M个目标文本特征信息。
其中,目标文本特征信息的维度数大于文本特征信息的维度数。
可以理解的是,将文本特征信息映射到目标特征空间,得到目标文本特征信息,使得目标文本特征信息的维度数与目标特征空间的通道数相等,由于目标特征空间的通道数大于文本特征提取网络的通道数,因此目标文本特征信息的维度数大于文本特征信息的维度数。
S144、调用目标核函数对目标图像特征信息与M个目标文本特征信息进行相似度计算,得到M个图文相似度结果。
可以理解的是,调用目标核函数对目标图像特征信息与M个目标文本特征信息中的每个目标文本特征信息进行相似度计算,得到M个图文相似度结果。
优选的,可以通过对目标图像特征信息与目标文本特征信息进行内积计算,将内积计算的结果作为图文相似度结果。具体的:首先,获取目标图像特征信息的维度数以及M个目标文本特征信息中每个目标文本特征信息的维度数;然后,根据目标图像特征信息的维度数以及M个目标文本特征信息中每个目标文本特征信息的维度数,对目标图像特征信息与每个目标文本特征信息进行内积计算,得到M个图文相似度结果。
为便于理解,请参阅图8,图8是本申请实施例提供的通过内积计算相似度的示意图。经过步骤S142及步骤S143后,目标图像特征信息的维度数与目标文本特征信息的维度数相等,即目标图像特征信息的维度数与目标文本特征信息的维度数均等于目标特征空间的通道数。设目标特征空间的通道数为N,则目标图像特征信息可以表示为[I1,I2,I3,···,IN],文本特征信息可以表示为[T1,T2,T3,···,TN],通过核函数计算每一个目标图像特征值Ii与目标文本特征信息中的每一个目标文本特征值Tj的相似度,得到相似度矩阵。相似度矩阵的对角线上是配对的文本和图像,为正样本;其它位置上是非配对的文本图像,为负样本。
本申请实施例提供的内容匹配方法,通过图像特征提取网络对目标图像进行特征提取得到能够表征目标图像的图像特征信息,以及通过文本特征提取网络对M个文本信息进行特征提取得到能够表征文本信息的M个文本特征信息,然后利用目标核函数隐式地将各模态的图像特征信息及文本特征信息特征映射到抽象的高维的目标特征空间,得到维度数相等的目标图像特征信息与目标文本特征信息,通过计算目标图像特征信息与目标文本特征信息的内积的方式,得到目标图像特征信息与目标文本特征信息的相似度结果,可以极大降低多模态特征学习难度和提高学习效率,从而提高了图文匹配的准确性。
在本申请的图7对应的实施例提供的内容匹配方法的一个可选实施例中,请参阅图9,步骤S142进一步包括子步骤S1421至子步骤S1424。具体的:
S1421、获取生成对抗网络。
可以理解的是,本申请实施例采用生成对抗网络的方式,将低维的图像特征信息映射到高维的目标特征空间。
生成对抗网络(GAN)是一种深度学习模型,它通过将低维的信息映射到高维的特征空间来实现数据增强和生成新的样本。具体来说,生成对抗网络包含两个主要组件:生成器和判别器。生成器是一个神经网络,它接受低维的输入信息并尝试生成高维的特征信息。生成器的目标是生成与真实样本相似的特征信息,从而欺骗判别器。判别器也是一个神经网络,它接受高维的特征信息作为输入,并试图区分真实样本和生成器生成的样本。判别器的目标是尽可能准确地识别真实样本和生成器生成的样本,从而指导生成器生成更加真实的样本。在训练过程中,生成器和判别器相互博弈,不断优化自身的参数。生成器通过不断尝试生成更加真实的样本来欺骗判别器,而判别器则通过不断提高识别能力来指导生成器生成更加真实的样本。最终,生成器可以生成与真实样本相似的高维特征信息,从而实现将低维的信息映射到高维的特征空间的目的。
S1422、确定目标特征空间的维度数。
可以理解的是,根据目标核函数确定目标核函数对应的目标特征空间后,确定目标特征空间的维度数。
S1423、根据目标特征空间的维度数对生成对抗网络的参数进行配置,得到目标特征空间对应的目标生成对抗网络。
可以理解的是,通过目标特征空间的维度数对生成对抗网络的参数进行优化,得到目标特征空间对应的目标生成对抗网络。这里的“参数”是指生成对抗网络中的权重和参数,可以通过调整这些参数来改变生成对抗网络的输出。根据目标特征空间的维度数对生成对抗网络的参数进行配置,可以使生成对抗网络更好地适应目标特征空间的特征。
S1424、将图像特征信息作为目标生成对抗网络的输入,通过目标生成对抗网络对图像特征信息进行升维,得到目标图像特征信息。
其中,目标图像特征信息的维度数与目标特征空间的维度数相等。
可以理解的是,将图像特征信息输入至目标生成对抗网络,通过目标生成对抗网络对图像特征信息进行升维,得到目标图像特征信息,该目标图像特征信息的维度数与目标特征空间的维度数相等。这里的“升维”是指将低维的图像特征信息通过目标生成对抗网络映射到高维的目标特征空间中,得到维度数与目标特征空间相等的目标图像特征信息。这样可以使图像特征在目标特征空间中得到更好的表示,有助于后续的图像处理和分析。
本申请实施例提供的内容匹配方法,通过目标生成对抗网络对图像特征信息进行升维,得到目标图像特征信息,实现了将低维图像特征信息映射到高维目标特征空间的目的,通过本申请实施例提供的内容匹配方法,可以将低维的图像特征信息映射到高维的目标特征空间中,从而提高图像特征的表示能力,更好地进行图像处理和分析,同时,生成对抗网络的使用也使得映射过程更加自动和高效。
在本申请的图7对应的实施例提供的内容匹配方法的一个可选实施例中,请参阅图10,步骤S144进一步包括子步骤S1441至子步骤S1442。具体的:
S1441、获取目标图像特征信息的维度数以及M个目标文本特征信息中每个目标文本特征信息的维度数。
可以理解的是,由于将图像特征信息与M个文本特征信息均映射到同一目标特征空间后,得到的目标图像特征信息的维度数以及M个目标文本特征信息的维度数相等,均为目标特征空间的通道数。
S1442、根据目标图像特征信息的维度数以及M个目标文本特征信息中每个目标文本特征信息的维度数,对目标图像特征信息与每个目标文本特征信息进行内积计算,得到M个图文相似度结果。
可以理解的是,设目标特征空间的通道数为N,则目标图像特征信息可以表示为I=[I1,I2,I3,···,IN],文本特征信息可以表示为T=[T1,T2,T3,···,TN],目标图像特征信息与文本特征信息的内积可以通过以下公式进行计算:
其中,I表示目标图像特征信息,T表示文本特征信息,N为目标特征空间的通道数,也是目标图像特征信息的维度数,还是目标文本特征信息的维度数,Ii表示目标图像特征信息中的第i个特征值,Tj表示文本特征信息中的第j个个特征值。
本申请实施例提供的内容匹配方法,内积计算可以衡量两个信息的相似程度,因此通过计算图文特征信息的内积,可以得到图像和文本之间的相似度结果,以便后续进行图像和文本的匹配或分类等任务。
在本申请的图2对应的实施例提供的内容匹配方法的一个可选实施例中,请参阅图11,步骤S120进一步包括子步骤S121至子步骤S123。具体的:
S121、将目标图像作为图像特征提取网络中的图像切分模块的输入,通过图像切分模块对目标图像进行切分,得到K个目标子图。
其中,K为大于1的整数。
可以理解的是,本申请实施例提供的使用基于自注意力机制的计算机视觉模型(Vision Transformer,ViT)作为图像特征提取网络。请参阅图3,ViT的结构可以分为两个部分:图像切分模块(Patch Embeddings)和注意力机制模块(Transformer Encoder)。将目标图像输入至ViT,通过ViT中的Patch Embeddings部分将图片划分为K个目标子图。具体来说,Patch Embeddings包括一个卷积层和一个线性投影层,用于将每个目标子图的像素值转换为一个固定长度的向量表示。
通过图像切分模块对目标图像进行切分,可以将大的图像分成若干个小块,这样可以减少计算量,并更好地捕捉图像中的局部特征。同时,将目标图像切分为多个小块,也可以增加图像匹配的准确性,因为每个小块可以独立地进行特征提取和匹配,从而减少了由于图像中的噪声和复杂性所带来的影响。
S122、将K个目标子图作为图像特征提取网络中的位置标记模块的输入,通过位置标记模块确定K个目标子图中的每个目标子图的位置信息,得到K个子图位置信息。
可以理解的是,将目标图像切分为K个目标子图,为了区别或者标识每个目标子图,ViT将会对K个目标子图的位置进行标记。将K个目标子图输入至ViT中的位置标记模块(Poisition Embeddings),通过Poisition Embeddings确定K个目标子图中的每个目标子图的位置信息,得到K个子图位置信息。子图位置信息用于表征目标子图在目标图像中的具体位置。优选的,可通过数组的形式表示子图的位置信息,例如:[1,5]表示目标图像中第1行第5列的子图。在后续的处理中,每个目标子图将会携带其对应的子图位置信息。在另一优选方式中,可通过子图的相对位置标记子图的位置信息。
S123、将K个目标子图及K个子图位置信息作为图像特征提取网络中的注意力机制模块的输入,通过注意力机制模块对K个目标子图及K个子图位置信息进行编码,生成图像特征信息。
可以理解的是,将携带子图位置信息的目标子图输入至图像特征提取网络(ViT)中的注意力机制模块(Transformer Encoder)。Transformer Encoder部分由多个Transformer模块组成,每个模块包括多头自注意力机制、前馈神经网络和残差连接。其中,多头自注意力机制用于计算每个小块与其他小块之间的相似度,前馈神经网络用于进一步提取特征,残差连接用于保留原始特征信息。ViT最后将图片数据映射为一个向量表示。
注意力机制是一种用于处理多模态数据的技术,可以根据输入信息的重要性和相关性,对信息进行加权和编码。在这个步骤中,将K个目标子图和K个子图位置信息作为注意力机制模块的输入,通过该模块对这些信息进行编码,生成图像特征信息。注意力机制模块会根据输入信息的重要性和相关性,对每个子图和子图位置信息进行加权,并将加权后的信息进行编码,生成图像特征信息。这些特征信息可以表示图像中的特征信息,例如图像的颜色、纹理、形状等。生成图像特征信息后,可以将其作为后续步骤的输入,用于进一步的图像处理和分析。
本申请实施例提供的内容匹配方法,将目标图像分解为多个小块,并为每个小块添加位置信息,然后通过注意力机制模块对这些小块和位置信息进行编码,生成图像特征信息。这样的处理方式可以更好地捕捉图像中的空间信息和局部特征,提高图像匹配的准确性。
在本申请的图11对应的实施例提供的内容匹配方法的一个可选实施例中,请参阅图12,子步骤S123进一步包括子步骤S1231至子步骤S1233。具体的:
S1231、将K个目标子图作为注意力机制模块中的多头自注意力机制网络层的输入,通过多头自注意力机制层计算K个目标子图中两两目标子图的相似度,得到L个子图相似度值。
其中,L=K×(K-1)/2,L为大于1的整数。
可以理解的是,将K个目标子图作为一组输入数据,传递给多头自注意力机制网络层进行处理。通过多头自注意力机制层计算K个目标子图中两两目标子图的相似度。多头自注意力机制是一种深度学习中的注意力机制,可以计算输入数据中不同位置之间的相似度。多头自注意力机制网络层将计算K个目标子图中任意两个子图之间的相似度,得到一个相似度矩阵。相似度矩阵中包括L个子图相似度值,计算K个目标子图中两两目标子图的相似度,即L=K×(K-1)/2。
S1232、将K个目标子图作为注意力机制模块中的前馈神经网络层的输入,通过前馈神经网络层提取K个目标子图中每个目标子图的特征,得到K个子图特征信息。
可以理解的是,将K个目标子图作为一组输入数据,传递给前馈神经网络层进行处理。通过前馈神经网络层提取K个目标子图中每个目标子图的特征。前馈神经网络是一种常用的神经网络结构,可以对输入数据进行特征提取和分类等处理。在这个子步骤中,前馈神经网络层将使用预先训练好的权值,对K个目标子图进行特征提取,得到K个目标子图的特征信息。得到K个子图特征信息。在这个子步骤中,前馈神经网络层将输出K个目标子图的特征信息,每个特征信息代表一个目标子图的特征信息。这些特征信息可以用于后续的图像处理和分析。
S1233、将L个子图相似度值、K个子图特征信息及K个子图位置信息作为注意力机制模块中的残差网络层的输入,通过残差网络层将L个子图相似度值、K个子图特征信息及K个子图位置信息进行特征拼接,得到图像特征信息。
可以理解的是,将这些数据作为一组输入数据,传递给残差网络层进行处理。通过残差网络层将L个子图相似度值、K个子图特征信息及K个子图位置信息进行特征拼接,得到图像特征信息。残差网络是一种深度学习中的网络结构,可以对输入数据进行特征提取和分类等处理。在这个子步骤中,残差网络层将使用预先训练好的权值,将输入的L个子图相似度值、K个子图特征信息及K个子图位置信息进行特征拼接,得到一个图像特征信息。残差网络层将输出一个图像特征信息,代表输入的L个子图相似度值、K个子图特征信息及K个子图位置信息的综合特征信息。这个图像特征信息可以用于后续的图像处理和分析。
本申请实施例提供的内容匹配方法,通过使用多头自注意力机制、前馈神经网络和残差网络等技术,可以更好地提取图像中的特征信息,提高图像处理的准确性;残差网络等技术具有较好的容错性和鲁棒性,可以有效地处理图像中的噪声和干扰,提高图像处理的鲁棒性;使用注意力机制和前馈神经网络等技术,可以快速地对图像进行特征提取和分类等处理,提高图像处理的效率;使用注意力机制和前馈神经网络等技术,可以更好地理解图像中的特征信息和处理过程,增强图像处理的可解释性。
在本申请的图11对应的实施例提供的内容匹配方法的一个可选实施例中,请参阅图13,子步骤S121进一步包括子步骤S1211至子步骤S1213。具体的:
S1211、将目标图像作为图像切分模块中的切分网络层的输入,通过切分网络层对目标图像进行切分,生成K个子图像块。
可以理解的是,切分网络层是这个图像切分模块中的一个重要组成部分,它接受输入的目标图像,并使用特定的算法和参数将图像分割成K个部分,每个部分被称为一个子图像块。这种技术的目的通常是为了更好地对图像进行处理和分析。将图像分割成多个子图像块可以帮助算法更好地识别图像中的对象和特征。通过将图像分割成较小的块,算法可以更容易地处理和分析图像的细节,从而提高算法的准确性和效率。需要注意的是,K是一个具体的数字,代表生成的子图像块的数量。
S1212、将K个子图像块作为图像切分模块中的卷积网络层的输入,通过卷积网络层对K个子图像进行卷积处理,生成K个子图像矩阵。
可以理解的是,卷积网络层是图像切分模块中的一个重要组成部分,它接受输入的K个子图像块,并使用特定的算法和参数对每个子图像块进行卷积处理。卷积处理是一种常用的图像处理技术,它通过使用卷积核对图像进行特征提取和分类。在这个过程中,卷积核对子图像块进行扫描,并生成一个新的矩阵,称为子图像矩阵。子图像矩阵包含了子图像块中的特征信息,可以用于后续的图像处理和分析。这种技术的目的通常是为了更好地对图像进行处理和分析。将图像分割成多个子图像块可以帮助算法更好地识别图像中的对象和特征。通过对子图像块进行卷积处理,算法可以提取出更多的图像特征,从而提高算法的准确性和效率。
S1213、将K个子图像矩阵作为图像切分模块中的线性映射网络层的输入,通过线性映射网络层对K个子图像矩阵进行线性映射,生成K个目标子图。
其中,目标子图对应的维度数低于子图像块的维度数。
可以理解的是,线性映射网络层是图像切分模块中的一个重要组成部分,它接受输入的K个子图像矩阵,并使用特定的算法和参数对每个子图像矩阵进行线性映射。线性映射是一种数学方法,可以将高维空间中的数据映射到低维空间中。在这个过程中,线性映射网络层将对每个子图像矩阵进行处理,生成一个新的目标子图。目标子图对应的维度数低于子图像块的维度数,这意味着通过线性映射,图像的维度被降低了。这种技术的目的通常是为了更好地对图像进行处理和分析。将图像分割成多个子图像块可以帮助算法更好地识别图像中的对象和特征。然而,如果子图像块的维度数过高,算法的计算复杂度和存储需求也会随之增加。通过线性映射,可以将子图像块的维度数降低,从而降低算法的计算复杂度和存储需求。
本申请实施例提供的内容匹配方法,将目标图像进行切分、卷积处理和线性映射,以生成K个目标子图,从而降低图像的维度,在后续处理中可以降低算法计算量,提高计算速度及算法的处理速度。
在本申请的图2对应的实施例提供的内容匹配方法的一个可选实施例中,请参阅图14,步骤S130进一步包括子步骤S131至子步骤S135。具体的:
S131、将M个文本信息中的每个文本信息作为文本特征提取网络中的分词模块的输入,通过分词模块对M个文本信息中的每个文本信息进行分词,得到M个分词集合。
可以理解的是,可以将M个文本信息依次输入至文本特征提取网络,也可以将M个文本信息一次全部输入至文本特征提取网络。本申请实施例提供的方法使用基于自注意力机制的文本特征提取网络。如图4所示,图4为本申请实施例提供的文本特征提取网络的结构图。基于自注意力机制的文本特征提取网络也是由自注意力(Self-Attention)模块组成的,使用词嵌入对文本信息进行分词(token),然后将各个文本信息对应的分词集合输入Transformer网络。
步骤S131的目的是将输入的文本信息转换为分词形式,以便于后续的处理。分词模块是一种用于将文本信息分割成单词或词组的算法或模型。它可以根据一定的规则或算法,将文本信息中的每个单词或词组识别出来,并将它们分别放入一个集合中。分词模块可以使用各种技术来实现,例如基于词典的分词方法、基于统计的分词方法等。将M个文本信息中的每个文本信息作为分词模块的输入,意味着需要将每个文本信息作为一个整体,让分词模块对其进行分词处理。分词模块会根据一定的规则或算法,将每个文本信息中的单词或词组识别出来,并将它们分别放入一个集合中,这样就得到了M个分词集合。得到M个分词集合后,后续可以对每个分词集合进行进一步的处理和分析,以提取出文本特征。
S132、将M个分词集合作为文本特征提取网络中的特征提取模块的输入,通过特征提取模块对M个分词集合中的每个分词集合进行处理,生成M个分词特征集合。
可以理解的是,特征提取模块是一种用于从输入数据中提取特征的算法或模型。特征提取模块的作用是从分词集合中提取出能够代表该分词集合的特征。这些特征可以是词的词性、词频、词的位置等。特征提取模块将对M个分词集合中的每个分词集合进行处理,以生成能够代表每个分词集合的特征信息。具体来说,特征提取模块可以使用各种机器学习算法或深度学习模型来实现。它可以对每个分词集合进行统计分析、词袋模型、tf-idf等处理,以生成能够代表每个分词集合的特征信息。生成的M个分词特征集合将作为文本特征提取网络的输入,供后续的处理和分析使用。
S133、将M个分词特征集合作为文本特征提取网络中的自注意力模块的输入,通过自注意力模块对M个分词特征集合中的每个分词特征集合进行处理,生成M个分词自注意力特征集合。
其中,分词自注意力特征集合中包括至少一个分词自注意力特征。
可以理解的是,自注意力模块是一种用于处理序列数据的神经网络结构,可以对输入的特征进行建模和处理。自注意力模块会对每个分词特征集合进行处理,生成能够代表该分词特征集合的分词自注意力特征集合。具体来说,自注意力模块可以计算每个分词特征与其他分词特征之间的相似度,并根据这些相似度生成每个分词特征的权重。这些权重可以反映出每个分词特征在整个文本中的重要性。生成的M个分词自注意力特征集合将作为文本特征提取网络的输入,供后续的处理和分析使用。
S134、对M个分词自注意力特征集合中的每个分词自注意力特征集合中的分词自注意力特征进行拼接,得到M个文本拼接特征。
可以理解的是,拼接是一种常见的数据处理方法,它可以将多个数据拼接成一个新的数据。具体的,拼接是将不同的特征向量组合在一起。在这一步骤中,将对M个分词自注意力特征集合中的每个分词自注意力特征进行拼接,以得到一个新的特征信息,代表了整个文本的特征。具体来说,可以将每个分词自注意力特征信息按一定的顺序拼接起来,形成一个新的特征信息。这个新的特征信息包含了所有分词自注意力特征的信息,可以代表整个文本的特征。得到M个文本拼接特征后,可以对它们进行进一步的处理和分析,以提取出更有价值的文本特征。
S135、对M个文本拼接特征中的每个文本拼接特征进行归一化处理,得到M个文本特征信息。
可以理解的是,归一化是一种常见的数据处理方法,它可以将数据的取值范围映射到[0,1]之间,使得数据具有可比性。在步骤S135中将对M个文本拼接特征中的每个文本拼接特征进行归一化处理,以得到一个新的特征信息,代表了归一化后的文本特征。具体来说,归一化处理可以将每个文本拼接特征的值映射到[0,1]之间,使得所有文本拼接特征具有相同的范围。这样可以避免数值大小不同的特征对模型的影响不一致,从而提高模型的泛化能力。
本申请实施例提供的内容匹配方法,通过分词模块对文本信息进行分词,可以将文本信息分解为更小的单元,方便后续的处理和分析;通过特征提取模块对分词后的文本信息进行处理,可以生成能够代表文本信息的特征信息;通过拼接,可以将分词后的文本信息中的有用信息整合在一起,方便后续的处理和分析。
在本申请的图14对应的实施例提供的内容匹配方法的一个可选实施例中,请参阅图15,子步骤S133进一步包括子步骤S1331至子步骤S1334。具体的:
S1331、将M个分词特征集合中的每个分词特征集合作为自注意力模块中的自注意力网络层的输入,通过自注意力网络层学习每个分词特征集合中的分词特征之间的特征,得到M个第一自注意力特征集合。
其中,第一自注意力特征集合包括至少一个第一自注意力特征。
可以理解的是,M个分词特征集合对应于M个文本信息,对每个文本信息进行分词后得到每个文本信息对应的分词特征集合。自注意力网络层是一种深度学习模型,用于学习文本数据中的特征关系。通过自注意力网络层的学习,得到了M个第一自注意力特征集合。每个第一自注意力特征集合是对对应的分词特征集合的学习结果,包含了该分词特征集合中各个分词特征之间的特征关系。通过子步骤S1331,自注意力网络层可以学习到文本数据中各个分词特征之间的复杂关系,从而更好地表示文本数据的语义信息。得到的第一自注意力特征集合可以作为后续处理的输入,用于生成更准确的文本表示。
S1332、将M个第一自注意力特征集合中的每个第一自注意力特征集合作为自注意力模块中的第一拼接网络层的输入,通过第一拼接网络层对每个第一自注意力特征集合中的第一自注意力特征进行拼接处理,得到M个第一拼接特征。
可以理解的是,将M个第一自注意力特征集合中的每个第一自注意力特征集合作为自注意力模块中的第一拼接网络层的输入。自注意力模块是一种深度学习中的机制,用于对输入的序列数据进行建模和处理。通过第一拼接网络层,对每个第一自注意力特征集合中的第一自注意力特征进行拼接处理,得到M个第一拼接特征。拼接处理是指将多个特征或向量合并成一个新的特征或向量,以增强模型的表达能力。将多个自注意力特征集合进行拼接处理,以得到更全面、更丰富的特征表示,以提高模型的性能。
S1333、将M个第一拼接特征作为自注意力模块中的第一归一化网络层的输入,通过第一归一化网络层对M个第一拼接特征进行归一化处理,得到M个第一归一化特征。
可以理解的是,将M个第一拼接特征作为自注意力模块中的第一归一化网络层的输入。自注意力模块是一种深度学习中的机制,用于对输入的序列数据进行建模和处理。通过第一归一化网络层,对M个第一拼接特征进行归一化处理,得到M个第一归一化特征。归一化处理是指将特征的值映射到一个特定的范围内,通常是[0,1]或[-1,1],以使特征具有可比性和稳定性。因此,将多个拼接特征进行归一化处理,以得到更具有可比性和稳定性的特征表示,以提高模型的性能。
S1334、将M个第一归一化特征作为自注意力模块中的前馈神经网络层的输入,通过前馈神经网络层学习M个第一归一化特征中的两两第一归一化特征之间的特征信息,得到M个分词自注意力特征集合。
其中,每个分词自注意力特征集合中包括M×(M-1)/2个分词自注意力特征。
可以理解的是,该方法将M个第一归一化特征作为自注意力模块中的前馈神经网络层的输入。自注意力模块是一种深度学习中的机制,用于对输入的序列数据进行建模和处理。通过前馈神经网络层,学习M个第一归一化特征中的两两第一归一化特征之间的特征信息,得到M个分词自注意力特征集合。前馈神经网络层是一种常用的神经网络结构,用于学习输入特征之间的依赖关系。因此,通过自注意力机制和前馈神经网络层,学习多个归一化特征之间的依赖关系,以得到更具有表达能力的特征表示,以提高模型的性能。
本申请实施例提供的内容匹配方法,通过自注意力机制可以学习到每个分词特征之间的依赖关系,从而得到更准确的特征表示;通过学习到特征之间的依赖关系,模型可以更好地理解输入数据的结构和语义信息,从而提高模型的泛化能力;自注意力机制和前馈神经网络层的并行计算能力较强,可以提高模型的效率;自注意力机制和前馈神经网络层可以自动学习到特征之间的依赖关系,无需人工设计特征,方便特征工程。
为了便于理解,下面将结合图16介绍一种应用于小狗品种识别的内容匹配方法。在小狗品种识别场景中,包括以下步骤:
1)需要预定义小狗的品种类别,形成类别表,例如:萨摩耶、哈士奇、拉布拉多、柯基等。
2)将小狗的品种类别嵌入到句子中,生成M个文本信息。例如,将“萨摩耶”嵌入到句子中,生成“经识别该狗的品种为萨摩耶,毛色为白色”。
3)接收到用户上传的含有小狗的目标图像。
4)通过图像特征提取网络对目标图像进行特征提取,生成图像特征信息。
5)通过文本特征提取网络对M个文本信息进行特征提取,生成M个文本特征信息。
6)通过目标核函数计算图像特征信息与M个文本特征信息的相似度,得到M个图文相似度结果。
7)对M个图文相似度结果进行排序,取最大相似度结果对应的文本信息为输出结果,得到小狗品种分类结果。
对于后续新输入的图像,可以复用步骤5)提取好的M个文本特征信息,只需要执行步骤4)提取图像特征信息。
本申请实施例提供的应用于小狗品种识别的内容匹配方法,通过图像特征提取网络对目标图像进行特征提取得到能够表征目标图像的图像特征信息,以及通过文本特征提取网络对M个文本信息进行特征提取得到能够表征文本信息的M个文本特征信息,通过目标核函数对图像特征信息与M个文本特征信息进行对比学习,得到M个图文相似度结果,进而根据M个图文相似度结果确定相似度最高的目标文本信息,在更高的维度上计算图像模态与文本模态之间的相似度,有效降低模型对比学习的难度,从而提高了小狗品种识别的准确性。
在本申请的图2对应的实施例提供的内容匹配方法的一个可选实施例中,请参阅图17,内容匹配方法还包括步骤S210至步骤S250。具体的:
S210、获取训练图像及训练文本信息。
其中,训练文本信息用于描述训练图像的内容。
可以理解的是,为了训练鲁棒的对比学习模型,需要收集海量的图像-文本对数据集,其中文本是对图像内容的描述。图像-文本对数据集可以使用一些公开的数据集,例如:COCO数据集、Flickr数据集。同时可以使用一些公开的caption模型(例如:统一理解和生成的自举多模态模型(BLIP),对没有文本描述的图像生成文字描述,从而得到新的图像-文本对样本。这些图像可以来自ImageNet等图像数据集,也可以从海量的网络资源上收集。
S220、将训练图像作为图像特征提取网络的输入,通过图像特征提取网络对训练图像进行特征提取,生成训练图像特征信息。
可以理解的是,训练海量数据要求网络自身容量足够大,相比于CNN固定的通道特征,自注意力(self-attention)的动态权值机制让其具备更丰富的特征提取能力,更适合海量数据的训练。因此,图像特征提取网络使用基于自注意力机制的计算机视觉模型(Vision Transformer,ViT)。
ViT的结构可以分为两个部分:图像切分模块(Patch Embeddings)和注意力机制模块(Transformer Encoder)。Patch Embeddings部分将图片划分为若干个小块,然后对每个小块进行编码。具体来说,Patch Embeddings包括一个卷积层和一个线性投影层,用于将每个小块的像素值转换为一个固定长度的向量表示。Transformer Encoder部分由多个Transformer模块组成,每个模块包括多头自注意力机制、前馈神经网络和残差连接。其中,多头自注意力机制用于计算每个小块与其他小块之间的相似度,前馈神经网络用于进一步提取特征,残差连接用于保留原始特征信息。ViT最后将训练图像映射为一个向量表示,即训练图像特征信息的数据格式为向量形式。
具体的,通过ViT对训练图像进行特征提取的过程可以是:首先,将训练图像作为图像特征提取网络中的图像切分模块的输入,通过图像切分模块对训练图像进行切分,得到K个训练子图;然后,将K个训练子图作为图像特征提取网络中的位置标记模块的输入,通过位置标记模块确定K个训练子图中的每个训练子图的位置信息,得到K个子图位置信息;最后,将K个训练子图及K个子图位置信息作为图像特征提取网络中的注意力机制模块的输入,通过注意力机制模块对K个训练子图及K个子图位置信息进行编码,生成图像特征信息。
在对训练图像进行特征提取时,可以是对训练图像的颜色特征、纹理特征、形状特征、深度特征、对象特征中的一种特征进行提取或一种以上的特征进行提取,本申请实施例对此不做限制。因此,本申请实施例中的图像特征网络可以是一种特征提取网络(例如:颜色特征提取网络、纹理特征提取网络、形状特征提取网络、深度特征提取网络、对象特征提取网络),还可以是多种特征提取网络的集成网络(例如:纹理特征及形状特征提取的集成网络、纹理特征、形状特征及对象特征提取的集成网络)。
S230、将训练文本信息作为文本特征提取网络的输入,通过文本特征提取网络对训练文本信息进行特征提取,生成训练文本特征信息。
可以理解的是,文本特征提取网络和图像特征提取网络的结构基本一样,也是由Self-Attention模块组成的,使用词嵌入将输入文本处理为token,然后输入Transformer网络。
具体的,通过基于自注意力机制的文本特征提取网络对训练文本信息进行特征提取的过程可以是:首先,将训练文本信息作为文本特征提取网络中的分词模块的输入,通过分词模块对训练文本信息进行分词,得到训练分词集合;其次,将训练分词集合作为文本特征提取网络中的特征提取模块的输入,通过特征提取模块对训练分词集合进行处理,生成训练分词特征集合;接着,将训练分词特征集合作为文本特征提取网络中的自注意力模块的输入,通过自注意力模块对训练分词特征集合进行处理,生成训练分词自注意力特征集合,其中,分词自注意力特征集合中包括至少一个分词自注意力特征;然后,对训练分词自注意力特征集合进行拼接,得到训练文本拼接特征;最后,对训练文本拼接特征中的每个文本拼接特征进行归一化处理,得到训练文本特征信息。
S240、调用目标核函数对训练图像特征信息与训练文本特征信息进行相似度计算,得到训练图文相似度结果。
其中,目标核函数用于将训练图像特征信息与训练文本特征信息进行升维,并对升维得到的训练图像特征信息与训练文本特征信息进行相似度运算。
可以理解的是,不同的核函数对应一个高维隐式空间,通过核函数对应的高维隐式空间计算两个向量的内积,通过核函数计算两个向量内积时不需要计算向量在高维空间的具体数值,只关注两个向量在高维空间的内积结果。
以图像、文本两种模态的学习为例,直接计算内积需要将图像和文本映射到同一公共特征空间。由于不同模态信息之间存在的天然差异,把它们映射到同一特征空间是比较难度的。本申请实施例使用核函数的方法本质上是降低了不同模态信息映射的难度。使用本申请实施例提供的方法则允许图像和文本映射到各自更易学习的特征空间,然后用核函数隐式地将各模态特征映射到抽象的公共特征空间并计算内积,由此完成相似度的计算。通过核函数可以极大降低多模态特征学习难度和提高学习效率。
具体的,通过目标核函数对训练图像特征信息与训练文本特征信息的相似度计算的过程可以是:首先,根据目标核函数确定目标核函数对应的目标特征空间,优选的,本申请实施例所使用的目标核函数为拉普拉斯核函数;接着,将训练图像特征信息映射到目标特征空间,得到目标训练图像特征信息,其中,目标训练图像特征信息的维度数大于训练图像特征信息的维度数;然后,将训练文本特征信息映射到目标特征空间,得到目标训练文本特征信息,其中,目标训练文本特征信息的维度数大于训练文本特征信息的维度数;最后,调用目标核函数对目标训练图像特征信息与目标训练文本特征信息进行相似度计算,得到训练图文相似度结果。
优选的,训练图像特征信息包括N个训练图像特征值,训练文本特征信息包括N个训练文本特征值,N为大于1的整数;步骤S240进一步包括子步骤:
调用目标核函数对N个训练图像特征值与N个训练文本特征值进行相似度计算,得到训练图文相似度结果矩阵。
其中,训练图文相似度结果矩阵包括N×N个相似度值,相似度值用于表征训练图像特征值与训练文本特征值之间的相似程度。
可以理解的是,如图18所示,设目标特征空间的通道数为N,则目标训练图像特征信息可以表示为[i1,i2,i3,···,iN],目标训练文本特征信息可以表示为[t1,t2,t3,···,tN],通过核函数计算目标训练图像特征信息中的每一个目标训练图像特征值ii与目标训练文本特征信息中的每一个目标训练文本特征值tj的相似度,得到训练图文相似度结果矩阵。训练图文相似度结果矩阵包括N×N个相似度值,每个相似度值用于表征训练图像特征值与训练文本特征值之间的相似程度。在训练图文相似度结果矩阵的对角线上是配对的文本和图像,它们为正样本;其它位置上是非配对的文本图像,为负样本。
使用目标核函数计算相似度可以通过以下公式表示:
其中,K为目标核函数,Ie为训练图像特征信息,Te为训练文本特征信息,t为超参数。
S250、根据训练图文相似度结果计算损失函数,通过损失函数对目标核函数的参数进行调整。
可以理解的是,有了输出和真值,就可以用交叉熵损失计算loss训练网络。损失函数通过以下公式计算:
labels=(0,1,2,···n-1);
其中,n为目标核函数对应的目标特征空间的维度数。
其中,lossi表示目标训练图像对应的损失函数,n为目标核函数对应的目标特征空间的维度数,i表示训练图像特征值,cross_entropy_loss表示交叉熵损失函数,logits[i:]表示目标训练图像特征值,labels[i]表示训练图像标签信息;
其中,losst表示目标训练文本对应的损失函数,n为目标核函数对应的目标特征空间的维度数,j表示训练文本特征值,cross_entropy_loss表示交叉熵损失函数,logits[:j]表示目标训练文本特征值,labels[j]表示训练文本标签信息;
loss=(lossi+losst)/2;
其中,loss为总损失函数,lossi表示目标训练图像对应的损失函数,osst表示目标训练文本对应的损失函数。
为便于理解,请参阅图19,图19为本申请实施例提供的内容匹配方法的流程图。内容匹配方法包括两部分:模型训练集推理应用。具体的:
1)建设多模态数据集。为了训练鲁棒的对比学习模型,需要收集海量的图像-文本对数据集,其中文本是对图像内容的描述。图像-文本对数据集可以使用一些公开的数据集,例如:COCO数据集、Flickr数据集。同时可以使用一些公开的caption模型(例如:统一理解和生成的自举多模态模型(BLIP),对没有文本描述的图像生成文字描述,从而得到新的图像-文本对样本。这些图像可以来自ImageNet等图像数据集,也可以从海量的网络资源上收集。
2)提取多模态特征。在本申请实施例中,提取多模态特征包括:图像特征提取及文本特征提取。
2.1)图像特征提取:训练海量数据要求网络自身容量足够大,相比于CNN固定的通道特征,自注意力(self-attention)的动态权值机制让其具备更丰富的特征提取能力,更适合海量数据的训练。因此,图像特征提取网络使用基于自注意力机制的计算机视觉模型(Vision Transformer,ViT)。
ViT的结构可以分为两个部分:图像切分模块(Patch Embeddings)和注意力机制模块(Transformer Encoder)。Patch Embeddings部分将图片划分为若干个小块,然后对每个小块进行编码。具体来说,Patch Embeddings包括一个卷积层和一个线性投影层,用于将每个小块的像素值转换为一个固定长度的向量表示。Transformer Encoder部分由多个Transformer模块组成,每个模块包括多头自注意力机制、前馈神经网络和残差连接。其中,多头自注意力机制用于计算每个小块与其他小块之间的相似度,前馈神经网络用于进一步提取特征,残差连接用于保留原始特征信息。ViT最后将训练图像映射为一个向量表示,即训练图像特征信息的数据格式为向量形式。
2.2)文本特征提取:文本特征提取网络和图像特征提取网络的结构基本一样,也是由Self-Attention模块组成的,使用词嵌入将输入文本处理为token,然后输入Transformer网络。
具体的,通过基于自注意力机制的文本特征提取网络对训练文本信息进行特征提取的过程可以是:首先,将训练文本信息作为文本特征提取网络中的分词模块的输入,通过分词模块对训练文本信息进行分词,得到训练分词集合;其次,将训练分词集合作为文本特征提取网络中的特征提取模块的输入,通过特征提取模块对训练分词集合进行处理,生成训练分词特征集合;接着,将训练分词特征集合作为文本特征提取网络中的自注意力模块的输入,通过自注意力模块对训练分词特征集合进行处理,生成训练分词自注意力特征集合,其中,分词自注意力特征集合中包括至少一个分词自注意力特征;然后,对训练分词自注意力特征集合进行拼接,得到训练文本拼接特征;最后,对训练文本拼接特征中的每个文本拼接特征进行归一化处理,得到训练文本特征信息。
3)用核函数计算各模态特征之间的相似度。本申请实施例使用核函数的方法本质上是降低了不同模态信息映射的难度。使用本申请实施例提供的方法则允许图像和文本映射到各自更易学习的特征空间,然后用核函数隐式地将各模态特征映射到抽象的公共特征空间并计算内积,由此完成相似度的计算。通过核函数可以极大降低多模态特征学习难度和提高学习效率。
具体的,通过目标核函数对训练图像特征信息与训练文本特征信息的相似度计算的过程可以是:首先,根据目标核函数确定目标核函数对应的目标特征空间,优选的,本申请实施例所使用的目标核函数为拉普拉斯核函数;接着,将训练图像特征信息映射到目标特征空间,得到目标训练图像特征信息,其中,目标训练图像特征信息的维度数大于训练图像特征信息的维度数;然后,将训练文本特征信息映射到目标特征空间,得到目标训练文本特征信息,其中,目标训练文本特征信息的维度数大于训练文本特征信息的维度数;最后,调用目标核函数对目标训练图像特征信息与目标训练文本特征信息进行相似度计算,得到训练图文相似度结果。
4)计算损失函数训练模型。通过核函数计算目标训练图像特征信息中的每一个目标训练图像特征值ii与目标训练文本特征信息中的每一个目标训练文本特征值tj的相似度,得到训练图文相似度结果矩阵。训练图文相似度结果矩阵包括N×N个相似度值,每个相似度值用于表征训练图像特征值与训练文本特征值之间的相似程度。在训练图文相似度结果矩阵的对角线上是配对的文本和图像,它们为正样本;其它位置上是非配对的文本图像,为负样本。有了输出和真值,就可以用交叉熵损失计算loss训练网络。
5)多模态网络推理及运用。例如,进行物体分类,具体地是给定图片匹配对应的文字。不同于传统的分类网络,如果用海量的图片文本对训练对比学习模型,模型将具备海量的类别区分能力,而不再是受限于事先定义好的若干类。这样的特性使得模型可以用于各种场景下的分类,而不需要针对各场景定义类别、建设数据集和重新训练模型。例如在手机上,列出各种花卉的名称类别,通过将输入图片与花卉名称文本的匹配,就可以实现花卉智慧识别的功能。类似地还可以实现鸟类识别、猫狗品种识别、汽车识别应用。
本申请实施例提供的内容匹配方法,通过配对的训练图像及训练文本信息对内容匹配模型进行训练,具体的通过图像特征提取网络对训练图像进行特征提取得到能够表征训练图像的训练图像特征信息,以及通过文本特征提取网络对训练文本信息进行特征提取得到能够表征训练文本信息的训练文本特征信息,然后利用目标核函数隐式地将各模态的训练图像特征信息及训练文本特征信息特征映射到抽象的高维的目标特征空间,得到维度数相等的目标训练图像特征信息与目标训练文本特征信息,通过计算目标训练图像特征信息与目标训练文本特征信息的内积的方式,得到训练图像特征信息与训练文本特征信息的相似度结果,根据相似度结果对模型进行训练,以优化模型参数,从而提高了模型进行图文匹配的准确性。
下面对本申请中的内容匹配装置进行详细描述,请参阅图20。图20为本申请实施例中内容匹配装置10的一个实施例示意图,内容匹配装置10包括:目标数据获取模块110、图像特征提取模块120、文本特征提取模块130、图文相似度结果计算模块140及目标文本信息确定模块150;具体的:
目标数据获取模块110,用于获取目标图像及M个文本信息,其中,M为大于等于1的整数;
图像特征提取模块120,用于将目标图像作为图像特征提取网络的输入,通过图像特征提取网络对目标图像进行特征提取,生成图像特征信息;
文本特征提取模块130,用于将M个文本信息作为文本特征提取网络的输入,通过文本特征提取网络对M个文本信息进行特征提取,生成M个文本特征信息;
图文相似度结果计算模块140,用于调用目标核函数,通过目标核函数计算图像特征信息与M个文本特征信息的相似度,得到M个图文相似度结果,其中,目标核函数用于将图像特征信息与M个文本特征信息进行升维,并对升维得到的目标图像特征信息与M个目标文本特征信息进行相似度运算;
目标文本信息确定模块150,用于根据M个图文相似度结果,从M个文本信息中确定目标文本信息,其中,目标文本信息对应的图文相似度结果为M个图文相似度结果中的最大值。
本申请实施例提供的内容匹配装置,通过图像特征提取网络对目标图像进行特征提取得到能够表征目标图像的图像特征信息,以及通过文本特征提取网络对M个文本信息进行特征提取得到能够表征文本信息的M个文本特征信息,通过目标核函数对图像特征信息与M个文本特征信息进行对比学习,得到M个图文相似度结果,进而根据M个图文相似度结果确定相似度最高的目标文本信息,在更高的维度上计算图像模态与文本模态之间的相似度,有效降低模型对比学习的难度,从而提高了图文匹配的准确性。
在本申请的图20对应的实施例提供的内容匹配装置的一个可选实施例中,图文相似度结果计算模块140,还用于:
根据目标核函数确定目标核函数对应的目标特征空间;
将图像特征信息映射到目标特征空间,得到目标图像特征信息,其中,目标图像特征信息的维度数大于图像特征信息的维度数;
将M个文本特征信息映射到目标特征空间,得到M个目标文本特征信息,其中,目标文本特征信息的维度数大于文本特征信息的维度数;
调用目标核函数对目标图像特征信息与M个目标文本特征信息进行相似度计算,得到M个图文相似度结果。
本申请实施例提供的内容匹配装置,通过图像特征提取网络对目标图像进行特征提取得到能够表征目标图像的图像特征信息,以及通过文本特征提取网络对M个文本信息进行特征提取得到能够表征文本信息的M个文本特征信息,然后利用目标核函数隐式地将各模态的图像特征信息及文本特征信息特征映射到抽象的高维的目标特征空间,得到维度数相等的目标图像特征信息与目标文本特征信息,通过计算目标图像特征信息与目标文本特征信息的内积的方式,得到目标图像特征信息与目标文本特征信息的相似度结果,可以极大降低多模态特征学习难度和提高学习效率,从而提高了图文匹配的准确性。
在本申请的图20对应的实施例提供的内容匹配装置的一个可选实施例中,图文相似度结果计算模块140,还用于:
获取生成对抗网络;
确定目标特征空间的维度数;
根据目标特征空间的维度数对生成对抗网络的参数进行配置,得到目标特征空间对应的目标生成对抗网络;
将图像特征信息作为目标生成对抗网络的输入,通过目标生成对抗网络对图像特征信息进行升维,得到目标图像特征信息,其中,目标图像特征信息的维度数与目标特征空间的维度数相等。
本申请实施例提供的内容匹配装置,通过目标生成对抗网络对图像特征信息进行升维,得到目标图像特征信息,实现了将低维图像特征信息映射到高维目标特征空间的目的,通过本申请实施例提供的内容匹配装置,可以将低维的图像特征信息映射到高维的目标特征空间中,从而提高图像特征的表示能力,更好地进行图像处理和分析,同时,生成对抗网络的使用也使得映射过程更加自动和高效。
在本申请的图20对应的实施例提供的内容匹配装置的一个可选实施例中,图文相似度结果计算模块140,还用于:
获取目标图像特征信息的维度数以及M个目标文本特征信息中每个目标文本特征信息的维度数;
根据目标图像特征信息的维度数以及M个目标文本特征信息中每个目标文本特征信息的维度数,对目标图像特征信息与每个目标文本特征信息进行内积计算,得到M个图文相似度结果。
本申请实施例提供的内容匹配装置,内积计算可以衡量两个信息的相似程度,因此通过计算图文特征信息的内积,可以得到图像和文本之间的相似度结果,以便后续进行图像和文本的匹配或分类等任务。
在本申请的图20对应的实施例提供的内容匹配装置的一个可选实施例中,图像特征提取模块120,还用于:
将目标图像作为图像特征提取网络中的图像切分模块的输入,通过图像切分模块对目标图像进行切分,得到K个目标子图,其中,K为大于1的整数;
将K个目标子图作为图像特征提取网络中的位置标记模块的输入,通过位置标记模块确定K个目标子图中的每个目标子图的位置信息,得到K个子图位置信息;
将K个目标子图及K个子图位置信息作为图像特征提取网络中的注意力机制模块的输入,通过注意力机制模块对K个目标子图及K个子图位置信息进行编码,生成图像特征信息。
本申请实施例提供的内容匹配装置,将目标图像分解为多个小块,并为每个小块添加位置信息,然后通过注意力机制模块对这些小块和位置信息进行编码,生成图像特征信息,可以更好地捕捉图像中的空间信息和局部特征,提高图像匹配的准确性。
在本申请的图20对应的实施例提供的内容匹配装置的一个可选实施例中,图像特征提取模块120,还用于:
将K个目标子图作为注意力机制模块中的多头自注意力机制网络层的输入,通过多头自注意力机制层计算K个目标子图中两两目标子图的相似度,得到L个子图相似度值,其中,L=K×(K-1)/2,L为大于1的整数;
将K个目标子图作为注意力机制模块中的前馈神经网络层的输入,通过前馈神经网络层提取K个目标子图中每个目标子图的特征,得到K个子图特征信息;
将L个子图相似度值、K个子图特征信息及K个子图位置信息作为注意力机制模块中的残差网络层的输入,通过残差网络层将L个子图相似度值、K个子图特征信息及K个子图位置信息进行特征拼接,得到图像特征信息。
本申请实施例提供的内容匹配装置,通过使用多头自注意力机制、前馈神经网络和残差网络等技术,可以更好地提取图像中的特征信息,提高图像处理的准确性;残差网络等技术具有较好的容错性和鲁棒性,可以有效地处理图像中的噪声和干扰,提高图像处理的鲁棒性;使用注意力机制和前馈神经网络等技术,可以快速地对图像进行特征提取和分类等处理,提高图像处理的效率;使用注意力机制和前馈神经网络等技术,可以更好地理解图像中的特征信息和处理过程,增强图像处理的可解释性。
在本申请的图20对应的实施例提供的内容匹配装置的一个可选实施例中,图像特征提取模块120,还用于:
将目标图像作为图像切分模块中的切分网络层的输入,通过切分网络层对目标图像进行切分,生成K个子图像块;
将K个子图像块作为图像切分模块中的卷积网络层的输入,通过卷积网络层对K个子图像进行卷积处理,生成K个子图像矩阵;
将K个子图像矩阵作为图像切分模块中的线性映射网络层的输入,通过线性映射网络层对K个子图像矩阵进行线性映射,生成K个目标子图,其中,目标子图对应的维度数低于子图像块的维度数。
本申请实施例提供的内容匹配装置,将目标图像进行切分、卷积处理和线性映射,以生成K个目标子图,从而降低图像的维度,在后续处理中可以降低算法计算量,提高计算速度及算法的处理速度。
在本申请的图20对应的实施例提供的内容匹配装置的一个可选实施例中,文本特征提取模块130,还用于:
将M个文本信息中的每个文本信息作为文本特征提取网络中的分词模块的输入,通过分词模块对M个文本信息中的每个文本信息进行分词,得到M个分词集合;
将M个分词集合作为文本特征提取网络中的特征提取模块的输入,通过特征提取模块对M个分词集合中的每个分词集合进行处理,生成M个分词特征集合;
将M个分词特征集合作为文本特征提取网络中的自注意力模块的输入,通过自注意力模块对M个分词特征集合中的每个分词特征集合进行处理,生成M个分词自注意力特征集合,其中,分词自注意力特征集合中包括至少一个分词自注意力特征;
对M个分词自注意力特征集合中的每个分词自注意力特征集合中的分词自注意力特征进行拼接,得到M个文本拼接特征;
对M个文本拼接特征中的每个文本拼接特征进行归一化处理,得到M个文本特征信息。
本申请实施例提供的内容匹配装置,通过分词模块对文本信息进行分词,可以将文本信息分解为更小的单元,方便后续的处理和分析;通过特征提取模块对分词后的文本信息进行处理,可以生成能够代表文本信息的特征信息;通过拼接,可以将分词后的文本信息中的有用信息整合在一起,方便后续的处理和分析。
在本申请的图20对应的实施例提供的内容匹配装置的一个可选实施例中,文本特征提取模块130,还用于:
将M个分词特征集合中的每个分词特征集合作为自注意力模块中的自注意力网络层的输入,通过自注意力网络层学习每个分词特征集合中的分词特征之间的特征,得到M个第一自注意力特征集合,其中,第一自注意力特征集合包括至少一个第一自注意力特征;
将M个第一自注意力特征集合中的每个第一自注意力特征集合作为自注意力模块中的第一拼接网络层的输入,通过第一拼接网络层对每个第一自注意力特征集合中的第一自注意力特征进行拼接处理,得到M个第一拼接特征;
将M个第一拼接特征作为自注意力模块中的第一归一化网络层的输入,通过第一归一化网络层对M个第一拼接特征进行归一化处理,得到M个第一归一化特征;
将M个第一归一化特征作为自注意力模块中的前馈神经网络层的输入,通过前馈神经网络层学习M个第一归一化特征中的两两第一归一化特征之间的特征信息,得到M个分词自注意力特征集合,其中,每个分词自注意力特征集合中包括M×(M-1)/2个分词自注意力特征。
本申请实施例提供的内容匹配装置,通过自注意力机制可以学习到每个分词特征之间的依赖关系,从而得到更准确的特征表示;通过学习到特征之间的依赖关系,模型可以更好地理解输入数据的结构和语义信息,从而提高模型的泛化能力;自注意力机制和前馈神经网络层的并行计算能力较强,可以提高模型的效率;自注意力机制和前馈神经网络层可以自动学习到特征之间的依赖关系,无需人工设计特征,方便特征工程。
在本申请的图20对应的实施例提供的内容匹配装置的一个可选实施例中,请参阅图21,内容匹配装置10还包括:训练数据获取模块210、训练图像特征提取模块220、训练文本特征提取模块230、训练图文相似度结果计算模块240及损失函数计算模块250;具体的:
训练数据获取模块210,用于获取训练图像及训练文本信息,其中,训练文本信息用于描述训练图像的内容;
训练图像特征提取模块220,用于将训练图像作为图像特征提取网络的输入,通过图像特征提取网络对训练图像进行特征提取,生成训练图像特征信息;
训练文本特征提取模块230,用于将训练文本信息作为文本特征提取网络的输入,通过文本特征提取网络对训练文本信息进行特征提取,生成训练文本特征信息;
训练图文相似度结果计算模块240,用于调用目标核函数对训练图像特征信息与训练文本特征信息进行相似度计算,得到训练图文相似度结果,其中,目标核函数用于将训练图像特征信息与训练文本特征信息进行升维,并对升维得到的训练图像特征信息与训练文本特征信息进行相似度运算;
进一步的,训练图像特征信息包括N个训练图像特征值,训练文本特征信息包括N个训练文本特征值,N为大于1的整数。训练图文相似度结果计算模块240,还用于训练图文相似度结果计算模块,还用于调用目标核函数对N个训练图像特征值与N个训练文本特征值进行相似度计算,得到训练图文相似度结果矩阵,其中,训练图文相似度结果矩阵包括N×N个相似度值,相似度值用于表征训练图像特征值与训练文本特征值之间的相似程度。
损失函数计算模块250,用于根据训练图文相似度结果计算损失函数,通过损失函数对目标核函数的参数进行调整。
本申请实施例提供的内容匹配方法,通过配对的训练图像及训练文本信息对内容匹配模型进行训练,具体的通过图像特征提取网络对训练图像进行特征提取得到能够表征训练图像的训练图像特征信息,以及通过文本特征提取网络对训练文本信息进行特征提取得到能够表征训练文本信息的训练文本特征信息,然后利用目标核函数隐式地将各模态的训练图像特征信息及训练文本特征信息特征映射到抽象的高维的目标特征空间,得到维度数相等的目标训练图像特征信息与目标训练文本特征信息,通过计算目标训练图像特征信息与目标训练文本特征信息的内积的方式,得到训练图像特征信息与训练文本特征信息的相似度结果,根据相似度结果对模型进行训练,以优化模型参数,从而提高了模型进行图文匹配的准确性。
图22是本申请实施例提供的一种服务器结构示意图,该服务器300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在服务器300上执行存储介质330中的一系列指令操作。
服务器300还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图22所示的服务器结构。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (15)
1.一种内容匹配方法,其特征在于,包括:
获取目标图像及M个文本信息,其中,M为大于等于1的整数;
将所述目标图像作为图像特征提取网络的输入,通过所述图像特征提取网络对所述目标图像进行特征提取,生成图像特征信息;
将所述M个文本信息作为文本特征提取网络的输入,通过所述文本特征提取网络对所述M个文本信息进行特征提取,生成M个文本特征信息;
调用目标核函数,通过所述目标核函数计算所述图像特征信息与所述M个文本特征信息的相似度,得到M个图文相似度结果,其中,所述目标核函数用于将所述图像特征信息与所述M个文本特征信息进行升维,并对升维得到的目标图像特征信息与M个目标文本特征信息进行相似度运算;
根据所述M个图文相似度结果,从所述M个文本信息中确定目标文本信息,其中,所述目标文本信息对应的图文相似度结果为M个图文相似度结果中的最大值。
2.如权利要求1所述的内容匹配方法,其特征在于,所述调用目标核函数,通过所述目标核函数计算所述图像特征信息与所述M个文本特征信息的相似度,得到M个图文相似度结果,包括:
根据所述目标核函数确定所述目标核函数对应的目标特征空间;
将所述图像特征信息映射到所述目标特征空间,得到所述目标图像特征信息,其中,所述目标图像特征信息的维度数大于所述图像特征信息的维度数;
将所述M个文本特征信息映射到所述目标特征空间,得到M个目标文本特征信息,其中,所述目标文本特征信息的维度数大于所述文本特征信息的维度数;
调用所述目标核函数对所述目标图像特征信息与所述M个目标文本特征信息进行相似度计算,得到M个图文相似度结果。
3.如权利要求2所述的内容匹配方法,其特征在于,所述将所述图像特征信息映射到所述目标特征空间,得到所述目标图像特征信息,包括:
获取生成对抗网络;
确定所述目标特征空间的维度数;
根据所述目标特征空间的维度数对所述生成对抗网络的参数进行配置,得到目标特征空间对应的目标生成对抗网络;
将所述图像特征信息作为所述目标生成对抗网络的输入,通过所述目标生成对抗网络对所述图像特征信息进行升维,得到所述目标图像特征信息,其中,所述目标图像特征信息的维度数与所述目标特征空间的维度数相等。
4.如权利要求2所述的内容匹配方法,其特征在于,所述调用所述目标核函数对所述目标图像特征信息与所述M个目标文本特征信息进行相似度计算,得到M个图文相似度结果,包括:
获取所述目标图像特征信息的维度数以及所述M个目标文本特征信息中每个目标文本特征信息的维度数;
根据所述目标图像特征信息的维度数以及所述M个目标文本特征信息中每个目标文本特征信息的维度数,对所述目标图像特征信息与所述每个目标文本特征信息进行内积计算,得到M个图文相似度结果。
5.如权利要求1所述的内容匹配方法,其特征在于,所述将所述目标图像作为图像特征提取网络的输入,通过所述图像特征提取网络对所述目标图像进行特征提取,生成图像特征信息,包括:
将所述目标图像作为所述图像特征提取网络中的图像切分模块的输入,通过所述图像切分模块对所述目标图像进行切分,得到K个目标子图,其中,K为大于1的整数;
将所述K个目标子图作为所述图像特征提取网络中的位置标记模块的输入,通过所述位置标记模块确定所述K个目标子图中的每个目标子图的位置信息,得到K个子图位置信息;
将所述K个目标子图及所述K个子图位置信息作为所述图像特征提取网络中的注意力机制模块的输入,通过所述注意力机制模块对所述K个目标子图及所述K个子图位置信息进行编码,生成图像特征信息。
6.如权利要求5所述的内容匹配方法,其特征在于,所述将所述K个目标子图及所述K个子图位置信息作为所述图像特征提取网络中的注意力机制模块的输入,通过所述注意力机制模块对所述K个目标子图及所述K个子图位置信息进行编码,生成图像特征信息,包括:
将所述K个目标子图作为所述注意力机制模块中的多头自注意力机制网络层的输入,通过所述多头自注意力机制层计算K个目标子图中两两目标子图的相似度,得到L个子图相似度值,其中,L=K×(K-1)/2,L为大于1的整数;
将所述K个目标子图作为所述注意力机制模块中的前馈神经网络层的输入,通过所述前馈神经网络层提取所述K个目标子图中每个目标子图的特征,得到K个子图特征信息;
将所述L个子图相似度值、所述K个子图特征信息及所述K个子图位置信息作为所述注意力机制模块中的残差网络层的输入,通过所述残差网络层将所述L个子图相似度值、所述K个子图特征信息及所述K个子图位置信息进行特征拼接,得到图像特征信息。
7.如权利要求5所述的内容匹配方法,其特征在于,所述将所述目标图像作为所述图像特征提取网络中的图像切分模块的输入,通过所述图像切分模块对所述目标图像进行切分,得到K个目标子图,包括:
将所述目标图像作为所述图像切分模块中的切分网络层的输入,通过所述切分网络层对所述目标图像进行切分,生成K个子图像块;
将所述K个子图像块作为所述图像切分模块中的卷积网络层的输入,通过所述卷积网络层对所述K个子图像进行卷积处理,生成K个子图像矩阵;
将所述K个子图像矩阵作为所述图像切分模块中的线性映射网络层的输入,通过所述线性映射网络层对所述K个子图像矩阵进行线性映射,生成K个目标子图,其中,所述目标子图对应的维度数低于所述子图像块的维度数。
8.如权利要求1所述的内容匹配方法,其特征在于,所述将所述M个文本信息作为文本特征提取网络的输入,通过所述文本特征提取网络对所述M个文本信息进行特征提取,生成M个文本特征信息,包括:
将所述M个文本信息中的每个文本信息作为所述文本特征提取网络中的分词模块的输入,通过所述分词模块对所述M个文本信息中的每个文本信息进行分词,得到所述M个分词集合;
将所述M个分词集合作为所述文本特征提取网络中的特征提取模块的输入,通过所述特征提取模块对所述M个分词集合中的每个分词集合进行处理,生成M个分词特征集合;
将所述M个分词特征集合作为所述文本特征提取网络中的自注意力模块的输入,通过自注意力模块对所述M个分词特征集合中的每个分词特征集合进行处理,生成M个分词自注意力特征集合,其中,所述分词自注意力特征集合中包括至少一个分词自注意力特征;
对所述M个分词自注意力特征集合中的每个分词自注意力特征集合中的分词自注意力特征进行拼接,得到M个文本拼接特征;
对所述M个文本拼接特征中的每个文本拼接特征进行归一化处理,得到M个文本特征信息。
9.如权利要求8所述的内容匹配方法,其特征在于,所述将所述M个分词特征集合作为所述文本特征提取网络中的自注意力模块的输入,通过自注意力模块对所述M个分词特征集合中的每个分词特征集合进行处理,生成M个分词自注意力特征集合,包括:
将所述M个分词特征集合中的每个分词特征集合作为所述自注意力模块中的自注意力网络层的输入,通过所述自注意力网络层学习每个分词特征集合中的分词特征之间的特征,得到M个第一自注意力特征集合,其中,所述第一自注意力特征集合包括至少一个第一自注意力特征;
将所述M个第一自注意力特征集合中的每个第一自注意力特征集合作为所述自注意力模块中的第一拼接网络层的输入,通过所述第一拼接网络层对每个第一自注意力特征集合中的第一自注意力特征进行拼接处理,得到M个第一拼接特征;
将所述M个第一拼接特征作为所述自注意力模块中的第一归一化网络层的输入,通过所述第一归一化网络层对所述M个第一拼接特征进行归一化处理,得到M个第一归一化特征;
将所述M个第一归一化特征作为所述自注意力模块中的前馈神经网络层的输入,通过所述前馈神经网络层学习所述M个第一归一化特征中的两两第一归一化特征之间的特征信息,得到M个分词自注意力特征集合,其中,每个所述分词自注意力特征集合中包括M×(M-1)/2个分词自注意力特征。
10.如权利要求1所述的内容匹配方法,其特征在于,所述方法还包括:
获取训练图像及训练文本信息,其中,所述训练文本信息用于描述所述训练图像的内容;
将所述训练图像作为图像特征提取网络的输入,通过所述图像特征提取网络对所述训练图像进行特征提取,生成训练图像特征信息;
将所述训练文本信息作为文本特征提取网络的输入,通过所述文本特征提取网络对所述训练文本信息进行特征提取,生成训练文本特征信息;
调用目标核函数对所述训练图像特征信息与所述训练文本特征信息进行相似度计算,得到训练图文相似度结果,其中,所述目标核函数用于将所述训练图像特征信息与所述训练文本特征信息进行升维,并对升维得到的训练图像特征信息与训练文本特征信息进行相似度运算;
根据所述训练图文相似度结果计算损失函数,通过所述损失函数对所述目标核函数的参数进行调整。
11.如权利要求10所述的内容匹配方法,其特征在于,所述训练图像特征信息包括N个训练图像特征值,所述训练文本特征信息包括N个训练文本特征值,N为大于1的整数;
所述调用目标核函数对所述训练图像特征信息与所述训练文本特征信息进行相似度计算,得到训练图文相似度结果,包括:
调用目标核函数对所述N个训练图像特征值与所述N个训练文本特征值进行相似度计算,得到训练图文相似度结果矩阵,其中,所述训练图文相似度结果矩阵包括N×N个相似度值,所述相似度值用于表征训练图像特征值与训练文本特征值之间的相似程度。
12.一种内容匹配装置,其特征在于,包括:
目标数据获取模块,用于获取目标图像及M个文本信息,其中,M为大于等于1的整数;
图像特征提取模块,用于将所述目标图像作为图像特征提取网络的输入,通过所述图像特征提取网络对所述目标图像进行特征提取,生成图像特征信息;
文本特征提取模块,用于将所述M个文本信息作为文本特征提取网络的输入,通过所述文本特征提取网络对所述M个文本信息进行特征提取,生成M个文本特征信息;
图文相似度结果计算模块,用于调用目标核函数,通过所述目标核函数计算所述图像特征信息与所述M个文本特征信息的相似度,得到M个图文相似度结果,其中,所述目标核函数用于将所述图像特征信息与所述M个文本特征信息进行升维,并对升维得到的目标图像特征信息与M个目标文本特征信息进行相似度运算;
目标文本信息确定模块,用于根据所述M个图文相似度结果,从所述M个文本信息中确定目标文本信息,其中,所述目标文本信息对应的图文相似度结果为M个图文相似度结果中的最大值。
13.一种计算机设备,其特征在于,包括:存储器、收发器、处理器以及总线系统;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,包括执行如权利要求1至11中任一项所述的内容匹配方法;
所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
14.一种计算机可读存储介质,包括指令,其特征在于,当其在计算机上运行时,使得计算机执行如权利要求1至11中任一项所述的内容匹配方法。
15.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行如权利要求1至11中任一项所述的内容匹配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311389830.3A CN117437447A (zh) | 2023-10-24 | 2023-10-24 | 一种内容匹配方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311389830.3A CN117437447A (zh) | 2023-10-24 | 2023-10-24 | 一种内容匹配方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117437447A true CN117437447A (zh) | 2024-01-23 |
Family
ID=89554745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311389830.3A Pending CN117437447A (zh) | 2023-10-24 | 2023-10-24 | 一种内容匹配方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117437447A (zh) |
-
2023
- 2023-10-24 CN CN202311389830.3A patent/CN117437447A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111797893B (zh) | 一种神经网络的训练方法、图像分类系统及相关设备 | |
CN110414432B (zh) | 对象识别模型的训练方法、对象识别方法及相应的装置 | |
Han et al. | A unified metric learning-based framework for co-saliency detection | |
CN108132968B (zh) | 网络文本与图像中关联语义基元的弱监督学习方法 | |
EP4002161A1 (en) | Image retrieval method and apparatus, storage medium, and device | |
CN110503076B (zh) | 基于人工智能的视频分类方法、装置、设备和介质 | |
CN110222718B (zh) | 图像处理的方法及装置 | |
Niu et al. | A novel image retrieval method based on multi-features fusion | |
CN110111365B (zh) | 基于深度学习的训练方法和装置以及目标跟踪方法和装置 | |
WO2021243947A1 (zh) | 对象再识别方法及装置、终端和存储介质 | |
CN114358205B (zh) | 模型训练方法、模型训练装置、终端设备及存储介质 | |
WO2022127333A1 (zh) | 图像分割模型的训练方法、图像分割方法、装置、设备 | |
CN112036511B (zh) | 基于注意力机制图卷积神经网络的图像检索方法 | |
CN114282059A (zh) | 视频检索的方法、装置、设备及存储介质 | |
CN111723600A (zh) | 一种基于多任务学习的行人重识别特征描述子 | |
CN113704534A (zh) | 图像处理方法、装置及计算机设备 | |
CN113569607A (zh) | 动作识别方法、装置、设备以及存储介质 | |
CN115909336A (zh) | 文本识别方法、装置、计算机设备和计算机可读存储介质 | |
Villamizar et al. | Online learning and detection of faces with low human supervision | |
CN111738062A (zh) | 一种基于嵌入式平台的自动再识别方法及系统 | |
CN117011569A (zh) | 一种图像处理方法和相关装置 | |
CN117351382A (zh) | 视频对象定位方法及其装置、存储介质、程序产品 | |
CN117437447A (zh) | 一种内容匹配方法及相关装置 | |
KR101913140B1 (ko) | 사물 인터넷의 빅 데이터를 이용한 산업 감시의 연속 기능 최적화 장치 및 방법 | |
CN113704528A (zh) | 聚类中心确定方法、装置和设备及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |