CN114743020B - 一种结合标签语义嵌入和注意力融合的食物识别方法 - Google Patents
一种结合标签语义嵌入和注意力融合的食物识别方法 Download PDFInfo
- Publication number
- CN114743020B CN114743020B CN202210344247.XA CN202210344247A CN114743020B CN 114743020 B CN114743020 B CN 114743020B CN 202210344247 A CN202210344247 A CN 202210344247A CN 114743020 B CN114743020 B CN 114743020B
- Authority
- CN
- China
- Prior art keywords
- attention
- window
- food
- semantic
- layer
- 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.)
- Active
Links
- 235000013305 food Nutrition 0.000 title claims abstract description 77
- 230000004927 fusion Effects 0.000 title claims abstract description 43
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012549 training Methods 0.000 claims abstract description 43
- 235000015219 food category Nutrition 0.000 claims abstract description 10
- 239000013598 vector Substances 0.000 claims description 68
- 101150053100 cls1 gene Proteins 0.000 claims description 11
- 101150115304 cls-2 gene Proteins 0.000 claims description 10
- 238000007781 pre-processing Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000012512 characterization method Methods 0.000 claims description 6
- 230000002457 bidirectional effect Effects 0.000 claims description 4
- 238000005070 sampling Methods 0.000 claims description 4
- 238000012935 Averaging Methods 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 238000005192 partition Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 230000001737 promoting effect Effects 0.000 claims description 2
- 230000014509 gene expression Effects 0.000 abstract description 3
- 238000010411 cooking Methods 0.000 abstract 1
- 238000002372 labelling Methods 0.000 abstract 1
- 238000004519 manufacturing process Methods 0.000 abstract 1
- 238000004458 analytical method Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 235000012041 food component Nutrition 0.000 description 1
- 239000005417 food ingredient Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 235000016709 nutrition Nutrition 0.000 description 1
- 230000035764 nutrition Effects 0.000 description 1
- 238000007500 overflow downdraw method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- 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/047—Probabilistic or stochastic 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)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Image Processing (AREA)
Abstract
本发明提供了一种结合标签语义嵌入和注意力融合的食物识别方法,包括以下步骤:窗口注意力融合模块利用transformer自带的自注意力机制来自适应的选择判别区域,不需要额外的框的标注训练。该模块融合Swin Transformer的窗口注意力,从原始图像中裁剪出注意力区域并放大,作为下一个网络的输入,以学习更多的判别的特征,食物类别的名称包含重要的文本信息,如主要成分,产地,烹饪方法等,对于食品识别来说是容易获取且有帮助的。因此,本发明提出了上下文敏感语义中心损失,利用了食物标签的语义嵌入作为特征空间的中心,以此来引导图像表达学习细粒度语义信息。两者的结合提高食物识别精度。
Description
技术领域
本发明涉及图像处理与分析技术领域,具体地说,涉及一种结合标签语义嵌入和注意力融合的食物识别方法。
背景技术
食物对于人们的生活、健康有着重要作用,食物识别是食物应用的基本任务,一旦确定了食物类别,就可以进行膳食管理、营养分析等任务。随着深度学习的发展,食物图像识别任务得到了很大的发展。
食物识别任务隶属于细粒度识别任务,是指区分从属类别的任务。不同于常见的细粒度类别如鸟,车,飞机等,食物没有固定的空间结构或共有语义模式,不能使用关系约束来进行特征提取,这使得现有的大部分细粒度分类方法无法很好的应对食物图像识别任务。针对食物类别的特点,常规的解决方法是引入额外的监督信息来缓解食物识别中的细粒度语义特征的获取问题,如菜谱,食物的主要成分信息,食物图片的GPS定位或者食物图像的餐厅来源等。这些额外的信息能够作为新的监督信号来指导深度学习分类器,增强判别性能。例如Min等人(Min W,Liu L,Luo Z,et al.Ingredient-Guided Cascaded Multi-Attention Network for Food Recognition[A].Proceedings of the 27th ACMInternational Conference on Multimedia[C].Association for ComputingMachinery,2019:1331–1339)提出了一种基于食物成分引导的级联多注意力网络IG-CMAN来识别食物,该网络能够按照菜品类别到菜品成分分类的顺序,以粗粒度-细粒度的方式顺序定位多个信息图像,然后融合这些图像信息区域进行菜品识别。不过这类方法需要大量的人力和时间成本采集准确的食物相关的额外信息,效益低,甚至有时候找不到来源,不能很好的泛化使用在各个场景中。
发明内容
本发明的目的在于克服现有技术中的缺点与不足,提供一种结合标签语义嵌入和注意力融合的食物识别方法;该方法提出了窗口注意力融合模块和语义中心损失。窗口注意力融合模块融合了Swin Transformer固有的自注意力权重来促使模型自适应地关注局部的关键区域,学习到食物的细粒度特征,解决了食物识别的细粒度分类问题。食物的标签名字包含着食物的重要信息,并且容易获取,由此本发明提出的语义中心损失在训练中利用食物文本标签的上下文敏感语义嵌入作为特征空间的中心,来指导图像表征,使其学习到相关的语义特征。两者的结合能够进一步提升食物识别的精度。
本发明至少通过如下技术方案之一实现。
一种结合标签语义嵌入和注意力融合的食物识别方法,包括以下步骤:
S1、根据食品数据集,结合标签语义嵌入和注意力融合训练骨干网络;
S2、将原始图像输入到训练好的骨干网络里,得到第一个分类结果向量;
S3、用窗口注意力融合模块提取骨干网络每一层的窗口注意力权重并融合,生成注意力掩膜;基于注意力掩膜上最大连通图区域范围裁剪原始图像,得到局部图;
S4、将局部图输入到骨干网络,得到第二个分类结果向量;
S5、将两个分类结果相加得到最终的分类向量,取最终的分类向量中数值最大的序号,通过查序号-类别表,得到当前食物最终的类别名。
进一步地,结合标签语义嵌入和注意力融合训练骨干网络分为两个阶段,包括以下步骤:
S1.1、第一阶段,在训练集中随机采样N张原始图片,每个图片缩放到统一的大小,再进行预处理;
S1.2、将每个图片都输入到骨干网络,得到对应的1*c维的图像特征向量x1以及1*n维的预测类别向量n表示训练集包含的食品类别数量;
S1.3、将预测类别向量与其对数相乘并求和得到第一个分类损失Lcls1,分类损失Lcls公式如下:
其中n表示类别数量,log()表示对数运算,表示类别向量/>第i个数值;
S1.4、使用双向编码表示的变换器模型BERT提取图片对应类别标签y的语义嵌入,BERT模型的倒数第二层输出经过一个全连接层之后得到语义嵌入t1,将语义嵌入t1与图像特征向量x1作差,并求平方和,得到第一个语义中心损失Lsc1:
其中xj表示一个训练批次batch里第j个图像特征,tj表示对应的语义嵌入;
S1.6、第二阶段,将局部图缩放到统一大小,并做预处理,输入到骨干网络,得到第二阶段的1*c维的图像特征向量x2以及1*n维的预测类别向量n表示训练集包含的食品类别数量;S1.7、重复步骤S1.3~步骤S1.4,计算得到第二阶段局部图像的分类损失Lcls2和语义中心损失Lsc2;
S1.8将步骤S1.3、步骤S1.4、步骤S1.7的损失加权求和,反向传播更新骨干网络参数。
进一步地,步骤S1.2具体为:基于偏移窗口的层次化变换器Swin Transformer网络利用局部窗口划分输入的图像,并且在局部窗口内计算分块patch的自注意力,其利用偏移窗口划分将上一层窗口的相邻区域划为同一个窗口,在计算自注意力时间接为该区域引入其他窗口信息,使用偏移窗口划分后,两个连续变换器块Transformer blocks的计算如下:
其中和zl表示第l块的(偏移)窗口多头自注意力模块(S)W_MSA和多层感知机模块MLP的输出特征,对应的W-MSA和SW-MSA表示分别使用窗口和偏移窗口划分的窗口多头自注意力的变换器(Transformer);MLP表示多层感知机;LN表示特征层归一化。
基于偏移窗口的层次化变换器(Swin Transformer)在窗口自注意力计算中引入相对位置偏差
其中是查询(query)、关键(key)和价值(value)向量,/>表示维度为M2×d的实数域;d为维度,M2表示一个窗口内patch分块的数量;Attention(Q,K)表示V对应位置的注意力值,其大小表示响应程度;相对位置在每个轴上的范围为[-M+1,M-1],Swin Transformer参数化一个偏差矩阵/>相对位置偏差B值通过查表的方式,B的数值表示位置,在/>的对应位置获取偏差值,图片序列化之后会丢失空间位置信息,因而引入相对位置偏差,加入到注意力Attention中,促使注意力图有所偏重。
进一步地,步骤S3具体为:将每个变换器块Transformer block的窗口注意力权重提取出来,第l层第h个窗口的自注意力权重表达如下:
其中Q和K分别表示查询向量Query vectors和关键向量Key vectors,d为Q、K的维度,P表示窗口内分块patch的数量,H表示第l层的窗口数量总数,wP表示第P个分块的注意力权重值,表示p个分块patch的第k个头的注意力权重值,B表示窗口内每个分块patch之间的相对位置偏差;L表示骨干网络层数。
进一步地,每个窗口内第p个分块patch的注意力权重对多头维度求平均,表示如下:
其中k表示多头(multi head)的数量,多头(multi head)类似于卷积核的概念,用于分别提取不同的特征。
进一步地,步骤S3的融合是整合变换器块Transformer block的所有窗口的注意力权重,并将整合后的注意力权重还原成输入特征图的大小:
其中表示第l层的第H个窗口的注意力权重向量,Wl表示整合后和特征图大小一致的第l层注意力图,Gl表示将第l层Wl求平均得到的和特征图大小一致的注意力图,最终融合成的注意力掩膜M表示每个层的注意力图相乘,计算为:
进一步地,根据注意力掩膜M的最大连通图来裁剪原始图像,采取注意力掩膜M的均值作为阈值确定目标位置,设置放大系数γ来控制,表示如下:
其中为需要裁剪的注意力掩膜区域,(x,y)表示目标位置。
进一步地,只使用窗口注意力融合模块WAFM的损失为:
LWAFM=Lcls1+λLcls2
其中λ表示用于平衡两个阶段的分类损失的参数,Lcls1表示第一阶段的分类损失,Lcls2表示第二阶段的分类损失。
进一步地,语义中心损失表达如下:
其中xj表示一个训练批次batch里第j个图像特征,tj表示对应的语义嵌入,N为训练批次(batch)的大小;
联合语义中心损失与分类损失的损失表达为:
Lcls_sc=αLcls+βLsc
其中α、β为平衡参数,Lcls为分类损失,Lsc为语义中心损失。
进一步地,使用窗口注意力融合模块后,分类损失和语义中心损失的总损失表达为:
Ltotal=α(Lcls1+Lcls2)+β(Lsc1+Lsc2)
其中α、β为平衡参数,Lcls1表示第一阶段的分类损失,Lcls2表示第二阶段分类损失,Lsc1为第一阶段的语义中心损失,Lsc2为第二阶段的语义中心损失。
进一步地,使用双向编码表示的变换器模型BERT的倒数第二层输出作为食物标签名字的上下文敏感语义嵌入,并且经过一层全连接层,保证语义嵌入的维度与图像表征的维度一致,训练中BERT模型的参数固定,语义嵌入t表达如下:
其中序列{y1,y2,…,yn}表示食物文本标签y经过令牌生成器tokenizer生成的词序列,作为BERT编码器的输入,e(.)表示BERT的倒数第二个隐藏层的输出,FC表示可训练的全连接层,n表示食物词序列的长度。
与现有的技术相比,本发明的有益效果为:
1、本发明提出的窗口注意力融合模块在训练阶段不需要增加额外的框标注,就可以自适应的学习到食物图像的关键区域,两阶段的预测结果相加能得到更高的识别精度。
2、本发明提出的语义中心损失在训练中结合了食物标签的文本语义嵌入,能够在训练中指引网络学习到食物相关的重要信息。于此同时,食物标签的易获取性减少了外部知识引用的人力和时间成本,具有很高的泛用性,适用于基于变换器Transformer构建的任意食物图像识别方法。
附图说明
图1是本发明实施例一种结合标签语义嵌入和注意力融合的食物识别方法的训练流程示意图;
图2是本发明实施例中窗口注意力融合模块流程示意图;
图3是本发明实施例中语义中心损失流程示意图;
图4是本发明实例一种结合标签语义嵌入和注意力融合的食物识别方法推理流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,以下将结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
如图1、图4所示的一种结合标签语义嵌入和注意力融合的食物识别方法:包括以下步骤:
食物识别过程如下:
S1、根据公开的食品数据集,如Food101,VireoFood172、ChineseFoodNet数据集或自建食品数据集,结合标签语义嵌入和注意力融合训练网络模型。
S2、原始图像(Raw Image)输入到训练好的骨干网络里,得到第一个分类结果C1向量;
S3、调用窗口注意力融合模块,该模块提取骨干网络每一层的窗口注意力权重并融合,生成注意力掩膜Attention mask;基于注意力掩膜Attention mask上最大连通图区域范围裁剪原始图像,得到局部图;
S4、将局部图输入到骨干网络,得到第二个分类结果C2向量。
S5、将两个分类结果相加得到最终的分类向量C,取C中数值最大的序号,通过查序号-类别表,得到当前食物最终的类别名。
自构建数据集构建步骤:
1、对于要采集的食物类别,每个类别分别选10张经典图片作为模板。使用预先在公开食物图像数据集训练过的骨干网络Swin Transformer模型提取模板图片的特征向量,取每个类别10个特征向量的平均值作为模板特征向量。
2、从获得授权的食品图像分享网站或外卖网站上爬虫多个食物图像,或者人工拍摄多个食物图像。分别使用预训练的骨干网络Swin Transformer模型对这些食物图像进行特征向量提取,然后分别与各个类别的模板特征向量计算余弦相似度,比较两两的余弦相似度,取相似度最大的模板的类别作为该食物图像的类别,划分该食物图像到对应类别的文件夹中。
3、待所有图像都用骨干网络Swin Transformer模型初步划分类别后,人工筛选所有类别,去掉错误分类的菜品图像。得到最终的自构建数据集。
如图2、图3所示,结合标签语义嵌入和注意力融合方法的神经网络训练过程分为两个阶段,包括以下步骤:
S1.1、在训练阶段epoch,在公开的食物图像数据集或自建食物图像数据集中随机采样N张原始图片,每个图片缩放到统一的大小,再进行预处理,图像预处理包含随机水平翻转,颜色抖动和随机裁剪等。
S1.2、第一阶段,每个图片都输入到骨干网络,得到对应的1*c维的图像特征向量x1以及1*n维的预测类别向量n表示训练集包含的食品类别数量。
S1.3、将类别向量与其对数相乘并求和得到第一个分类损失Lcls1,分类损失Lcls公式如下:
其中n表示类别数量,log()表示对数运算,表示类别向量/>第i个数值。
S1.4、使用双向编码表示的变换器模型BERT提取图片对应类别标签y的语义嵌入,BERT模型的倒数第二层输出经过一个全连接层之后得到语义嵌入t1,该嵌入与图像特征x1作差,并求平方和,得到第一个语义中心损失Lsc1。语义中心损失Lsc公式如下:
其中xj表示一个训练批次batch里第j个图像特征,则是表示一个训练批次里第1阶段第j个图像特征,tj表示对应的语义嵌入。
注意:BERT模型为自然语言处理任务预训练的词向量表征模型,可用来提取单词或句子文本的语义嵌入,本实例用于提取食物文本标签的上下文语义嵌入的词向量表征模型可以灵活替换,不只是BERT。如果文本标签为中文表达,可以使用中文自然语言预训练模型MacBERT来提取。
S1.5、使用窗口注意力融合模块WAFM,该模块提取骨干网络每一层的窗口注意力权重并融合,生成注意力掩膜Attention mask;基于注意力掩膜Attention mask上最大连通图区域范围裁剪原始图像,得到局部图;
S1.6、第二阶段,将局部图缩放到统一大小,并做与第一阶段相同的图像预处理,输入到骨干网络,得到第二阶段的1*c维的图像特征向量x2以及1*n维的预测类别向量n表示训练集包含的食品类别数量。
S1.7、重复步骤S1.3、步骤S1.4操作,计算得到第二阶段局部图像的分类损失Lcls2和语义中心损失Lsc2。
S1.8将上述提到损失(Lcls1,Lsc1,Lcls2,Lsc2)加权求和,反向传播更新骨干网络参数。
基于偏移窗口的层次化变换器Swin Transformer网络利用局部窗口划分输入的图像,并且在局部窗口内计算分块patch的自注意力,其利用偏移窗口划分将上一层窗口的相邻区域划为同一个窗口,在计算自注意力时间接为该区域引入其他窗口信息,使用偏移窗口划分后,两个连续变换器块Transformer blocks的计算如下:
其中和zl表示第l块的(偏移)窗口多头自注意力模块(S)W_MSA和多层感知机模块MLP的输出特征,对应的W-MSA和SW-MSA表示分别使用窗口和偏移窗口划分的窗口多头自注意力的变换器(Transformer);MLP表示多层感知机;LN表示特征层归一化
基于偏移窗口的层次化变换器(Swin Transformer)在窗口自注意力计算中引入相对位置偏差
其中是查询(query)、关键(key)和价值(value)向量,/>表示维度为M2×d的实数域;d为维度,M2表示一个窗口内patch分块的数量;Attention(Q,K)表示V对应位置的注意力值,其大小表示响应程度。相对位置在每个轴上的范围为[-M+1,M-1],Swin Transformer参数化一个偏差矩阵/>相对位置偏差B值通过查表的方式,B的数值表示位置,在/>的对应位置获取偏差值。图片序列化之后会丢失空间位置信息,因而引入相对位置偏差,加入到注意力Attention中,促使注意力图有所偏重。
步骤S1.5具体为:将每个变换器块Transformer block的窗口注意力权重提取出来,第l层第h个窗口的自注意力权重表达如下:
其中Q和K分别表示查询向量Query vectors和关键向量Key vectors,d为Q、K的维度,P表示窗口内分块patch的数量,这里取7。H表示该层的窗口数量总数。wP表示第P个分块的注意力权重值,表示p个分块patch的第k个头的注意力权重值。B表示窗口内每个分块patch之间的相对位置偏差;
每个窗口内第p个分块patch的注意力权重对多头维度求平均,表示如下:
其中k表示多头multi head的数量,多头类似于卷积核的概念,用于分别提取不同的特征。
步骤S2的融合是整合变换器块Transformer block的所有窗口的注意力权重,并将整合后的注意力权重还原成输入特征图的大小:
其中表示第l层的第H个窗口的注意力权重向量,Wl表示整合后和特征图大小一致的第l层注意力图。Gl表示将第l层Wl求平均得到的,和特征图大小一致的注意力图,最终融合成的注意力掩膜M表示每个层的注意力图相乘,计算为:
根据注意力掩膜M的最大连通图来裁剪原始图像,采取注意力掩膜M的均值作为阈值确定目标位置,设置放大系数γ来控制,表示如下:
其中为需要裁剪的注意力掩膜区域,(x,y)表示位置。
只使用窗口注意力融合模块WAFM的损失为:
LWAFM=Lcls1+λLcls2
其中λ表示用于平衡两个阶段的分类损失的参数,这里取1,Lcls1表示第一阶段的分类损失,Lcls2表示第二阶段的分类损失。
语义中心损失表达如下:
其中xj表示一个训练批次batch里第j个图像特征,tj表示对应的语义嵌入,N为训练批次(batch)的大小;
联合语义中心损失与分类损失的损失表达为:
Lcls_sc=αLcls+βLsc
其中α、β为平衡参数,Lcls为分类损失,Lsc为语义中心损失。
使用窗口注意力融合模块后,联合分类损失和语义中心损失的总损失表达为:
Ltotal=α(Lcls1+Lcls2)+β(Lsc1+Lsc2)
其中α、β为平衡参数,Lcls1表示第一阶段的分类损失,Lcls2表示第二阶段分类损失,Lsc1为第一阶段的语义中心损失,Lsc2为第二阶段的语义中心损失。
使用双向编码表示的变换器模型BERT的倒数第二层输出作为食物标签名字的上下文敏感语义嵌入,并且经过一层全连接层,保证语义嵌入的维度与图像表征的维度一致,训练中BERT模型的参数固定,语义嵌入t表达如下:
其中序列{y1,y2,…,yn}表示食物文本标签y经过令牌生成器tokenizer生成的词序列,作为BERT编码器的输入,e(.)表示BERT的倒数第二个隐藏层的输出,FC表示可训练的全连接层。
实施例2
BERT模型为自然语言处理任务预训练的词向量表征模型,可用来提取单词或句子文本的语义嵌入,本实例用于提取食物文本标签的上下文语义嵌入的词向量表征模型可以灵活替换,如果食物文本标签为英文,则采用bert-base-uncase模型。如果文本标签为中文表达,可以使用中文自然语言预训练模型MacBERT来提取。
实施例3
一种结合标签语义嵌入和注意力融合的食物识别方法,包括以下步骤:
S1、根据食品数据集,结合标签语义嵌入和注意力融合训练骨干网络;
S2、原始图像输入到训练好的骨干网络里,得到第一个分类结果向量;
S3、用窗口注意力融合模块提取骨干网络每一层的窗口注意力权重并融合,生成注意力掩膜;基于注意力掩膜上最大连通图区域范围裁剪原始图像,得到局部图;
S4、将局部图输入到骨干网络,得到第二个分类结果向量;
S5、将两个分类结果相加得到最终的分类向量,取最终的分类向量中数值最大的序号,通过查序号-类别表,得到当前食物最终的类别名。
结合标签语义嵌入和注意力融合训练骨干网络分为两个阶段,包括以下步骤:
S1.1、第一阶段,在训练集中随机采样N张原始图片,每个图片缩放到统一的大小,再进行预处理;
S1.2、将每个图片都输入到骨干网络,得到对应的1*c维的图像特征向量x1以及1*n维的预测类别向量n表示训练集包含的食品类别数量;
S1.3、将预测类别向量与其对数相乘并求和得到第一个分类损失Lcls1,分类损失Lcls公式如下:
其中n表示类别数量,log()表示对数运算,表示类别向量/>第i个数值;
S1.4、使用双向编码表示的变换器bert-base-japanese-char模型提取图片对应类别日文标签y的语义嵌入,bert-base-japanese-char模型的倒数第二层输出经过一个全连接层之后得到语义嵌入t1,将语义嵌入t1与图像特征向量x1作差,并求平方和,得到第一个语义中心损失Lsc1:
其中xj表示一个训练批次batch里第j个图像特征,tj表示对应的语义嵌入;
S1.6、第二阶段,将局部图缩放到统一大小,并做预处理,输入到骨干网络,得到第二阶段的1*c维的图像特征向量x2以及1*n维的预测类别向量n表示训练集包含的食品类别数量;S1.7、重复步骤S1.3~步骤S1.4,计算得到第二阶段局部图像的分类损失Lcls2和语义中心损失Lsc2;
S1.8将步骤S1.3、步骤S1.4、步骤S1.4、步骤S1.7的损失加权求和,反向传播更新骨干网络参数。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (9)
1.一种结合标签语义嵌入和注意力融合的食物识别方法,其特征在于,包括以下步骤:
S1、根据食品数据集,结合标签语义嵌入和注意力融合训练骨干网络;
S2、将原始图像输入到训练好的骨干网络里,得到第一个分类结果向量;
S3、用窗口注意力融合模块提取骨干网络每一层的窗口注意力权重并融合,生成注意力掩膜;基于注意力掩膜上最大连通图区域范围裁剪原始图像,得到局部图;
S4、将局部图输入到骨干网络,得到第二个分类结果向量;
S5、将两个分类结果相加得到最终的分类向量,取最终的分类向量中数值最大的序号,通过查序号-类别表,得到当前食物最终的类别名;
结合标签语义嵌入和注意力融合训练骨干网络分为两个阶段,包括以下步骤:
S1.1、第一阶段,在训练集中随机采样N张原始图片,每个图片缩放到统一的大小,再进行预处理;
S1.2、将每个图片都输入到骨干网络,得到对应的1*c维的图像特征向量x1以及1*n维的预测类别向量n表示训练集包含的食品类别数量;
S1.3、将预测类别向量与其对数相乘并求和得到第一个分类损失Lcls1,分类损失Lcls公式如下:
其中n表示类别数量,log()表示对数运算,表示类别向量/>第i个数值;
S1.4、使用双向编码表示的变换器模型BERT提取图片对应类别标签y的语义嵌入,BERT模型的倒数第二层输出经过一个全连接层之后得到语义嵌入t1,将语义嵌入t1与图像特征向量x1作差,并求平方和,得到第一个语义中心损失Lsc1:
其中xj表示一个训练批次batch里第j个图像特征,tj表示对应的语义嵌入;
S1.6、第二阶段,将局部图缩放到统一大小,并做预处理,输入到骨干网络,得到第二阶段的1*c维的图像特征向量x2以及1*n维的预测类别向量n表示训练集包含的食品类别数量;S1.7、重复步骤S1.3~步骤S1.4,计算得到第二阶段局部图像的分类损失Lcls2和语义中心损失Lsc2;
S1.8将步骤S1.3、步骤S1.4、步骤S1.7的损失加权求和,反向传播更新骨干网络参数;
步骤S1.2具体为:基于偏移窗口的层次化变换器Swin Transformer网络利用局部窗口划分输入的图像,并且在局部窗口内计算分块patch的自注意力,其利用偏移窗口划分将上一层窗口的相邻区域划为同一个窗口,在计算自注意力时间接为该区域引入其他窗口信息,使用偏移窗口划分后,两个连续变换器块Transformer blocks的计算如下:
其中和zl表示第l层的偏移窗口SW-MSA、窗口多头自注意力模块W_MSA和多层感知机模块MLP的输出特征,对应的W-MSA和SW-MSA表示分别使用窗口和偏移窗口划分的窗口多头自注意力的变换器;MLP表示多层感知机;LN表示特征层归一化;
基于偏移窗口的层次化变换器在窗口自注意力计算中引入相对位置偏差
其中Q、K、是查询向量Query vectors、关键向量Key vectors和价值value向量,/>表示维度为M2×d的实数域;d为维度,M2表示一个窗口内patch分块的数量;Attention(Q,K)表示V对应位置的注意力值,其大小表示响应程度;相对位置在每个轴上的范围为[-M+1,M-1],基于偏移窗口的层次化变换器参数化一个偏差矩阵相对位置偏差B值通过查表的方式,B表示窗口内每个分块patch之间的相对位置偏差,在/>的对应位置获取偏差值,图片序列化之后会丢失空间位置信息,因而引入相对位置偏差,加入到注意力Attention中,促使注意力图有所偏重。
2.根据权利要求1所述的一种结合标签语义嵌入和注意力融合的食物识别方法,其特征在于,步骤S3具体为:将每个变换器块Transformer block的窗口注意力权重提取出来,第l层第h个窗口的自注意力权重表达如下:
l∈[1,2,…,L],h∈[1,2,…,H]
其中Q和K分别表示查询向量Query vectors和关键向量Key vectors,d为Q、K的维度,P表示窗口内分块patch的数量,H表示第l层的窗口数量总数,wP表示第P个分块的注意力权重值,表示p个分块patch的第k个头的注意力权重值,B表示窗口内每个分块patch之间的相对位置偏差;L表示骨干网络层数。
3.根据权利要求2所述的一种结合标签语义嵌入和注意力融合的食物识别方法,其特征在于,每个窗口内第p个分块patch的注意力权重对多头维度求平均,表示如下:
其中k表示多头的数量,用于分别提取不同的特征。
4.根据权利要求1所述的一种结合标签语义嵌入和注意力融合的食物识别方法,其特征在于,步骤S3的融合是整合变换器块Transformer block的所有窗口的注意力权重,并将整合后的注意力权重还原成输入特征图的大小:
其中表示第l层的第H个窗口的注意力权重向量,wl表示整合后和特征图大小一致的第l层注意力图,Gl表示将第l层Wl求平均得到的和特征图大小一致的注意力图,最终融合成的注意力掩膜M表示每个层的注意力图相乘,计算为:
5.根据权利要求1所述的一种结合标签语义嵌入和注意力融合的食物识别方法,其特征在于,根据注意力掩膜M的最大连通图来裁剪原始图像,采取注意力掩膜M的均值作为阈值确定目标位置,设置放大系数γ来控制,表示如下:
其中为需要裁剪的注意力掩膜区域,(x,y)表示目标位置。
6.根据权利要求1所述的一种结合标签语义嵌入和注意力融合的食物识别方法,其特征在于,只使用窗口注意力融合模块WAFM的损失为:
LWAFM=Lcls1+λLcls2
其中λ表示用于平衡两个阶段的分类损失的参数,Lcls1表示第一阶段的分类损失,Lcls2表示第二阶段的分类损失。
7.根据权利要求1所述的一种结合标签语义嵌入和注意力融合的食物识别方法,其特征在于,语义中心损失表达如下:
其中xj表示一个训练批次batch里第j个图像特征,tj表示对应的语义嵌入,N为训练批次的大小;
联合语义中心损失与分类损失的损失表达为:
Lcls_sc=αLcls+βLsc
其中α、β为平衡参数,Lcls为分类损失,Lsc为语义中心损失。
8.根据权利要求1所述的一种结合标签语义嵌入和注意力融合的食物识别方法,其特征在于,使用窗口注意力融合模块后,分类损失和语义中心损失的总损失表达为:
Ltotal=α(Lcls1+Lcls2)+β(Lsc1+Lsc2)
其中α、β为平衡参数,Lcls1表示第一阶段的分类损失,Lcls2表示第二阶段分类损失,Lsc1为第一阶段的语义中心损失,Lsc2为第二阶段的语义中心损失。
9.根据权利要求1所述的一种结合标签语义嵌入和注意力融合的食物识别方法,其特征在于,使用双向编码表示的变换器模型BERT的倒数第二层输出作为食物标签名字的上下文敏感语义嵌入,并且经过一层全连接层,保证语义嵌入的维度与图像表征的维度一致,训练中BERT模型的参数固定,语义嵌入t表达如下:
其中序列{y1,y2,…,yn}表示食物文本标签y经过令牌生成器tokenizer生成的词序列,作为BERT编码器的输入,e(.)表示BERT的倒数第二个隐藏层的输出,FC表示可训练的全连接层,n表示食物词序列的长度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210344247.XA CN114743020B (zh) | 2022-04-02 | 2022-04-02 | 一种结合标签语义嵌入和注意力融合的食物识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210344247.XA CN114743020B (zh) | 2022-04-02 | 2022-04-02 | 一种结合标签语义嵌入和注意力融合的食物识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114743020A CN114743020A (zh) | 2022-07-12 |
CN114743020B true CN114743020B (zh) | 2024-05-14 |
Family
ID=82279958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210344247.XA Active CN114743020B (zh) | 2022-04-02 | 2022-04-02 | 一种结合标签语义嵌入和注意力融合的食物识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114743020B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115330898B (zh) * | 2022-08-24 | 2023-06-06 | 晋城市大锐金马工程设计咨询有限公司 | 一种基于改进Swin Transformer的杂志广告嵌入方法 |
CN115171029B (zh) * | 2022-09-09 | 2022-12-30 | 山东省凯麟环保设备股份有限公司 | 基于无人驾驶的城市场景下的实例分割方法及系统 |
CN115375999B (zh) * | 2022-10-25 | 2023-02-14 | 城云科技(中国)有限公司 | 应用于危化品车检测的目标检测模型、方法及装置 |
CN116486101B (zh) * | 2023-03-20 | 2024-02-23 | 云南大学 | 一种基于窗口注意力的图像特征匹配方法 |
CN116452931B (zh) * | 2023-04-11 | 2024-03-19 | 北京科技大学 | 一种层级敏感的图像特征聚合方法 |
CN116578969B (zh) * | 2023-07-12 | 2023-09-05 | 中国科学院合肥物质科学研究院 | 基于感知归类的软件检测模型训练方法、检测方法和系统 |
CN117609709A (zh) * | 2024-01-18 | 2024-02-27 | 北京科技大学 | 一种人员导航行为模式识别方法和装置 |
CN117610562A (zh) * | 2024-01-23 | 2024-02-27 | 中国科学技术大学 | 一种结合组合范畴语法和多任务学习的关系抽取方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110569508A (zh) * | 2019-09-10 | 2019-12-13 | 重庆邮电大学 | 融合词性和自注意力机制的情感倾向性分类方法及系统 |
CN111325111A (zh) * | 2020-01-23 | 2020-06-23 | 同济大学 | 一种融合逆注意力和多尺度深度监督的行人重识别方法 |
CN112016543A (zh) * | 2020-07-24 | 2020-12-01 | 华为技术有限公司 | 一种文本识别网络、神经网络训练的方法以及相关设备 |
CN113239690A (zh) * | 2021-03-24 | 2021-08-10 | 浙江工业大学 | 基于Bert与全连接神经网络融合的中文文本意图识别方法 |
CN113313149A (zh) * | 2021-05-14 | 2021-08-27 | 华南理工大学 | 一种基于注意力机制和度量学习的菜品识别方法 |
CN113312989A (zh) * | 2021-05-11 | 2021-08-27 | 华南理工大学 | 一种基于聚合描述子与注意力的指静脉特征提取网络 |
CN114141238A (zh) * | 2021-11-26 | 2022-03-04 | 中国人民解放军陆军工程大学 | 一种融合Transformer和U-net网络的语音增强方法 |
CN114239585A (zh) * | 2021-12-17 | 2022-03-25 | 安徽理工大学 | 一种生物医学嵌套命名实体识别方法 |
-
2022
- 2022-04-02 CN CN202210344247.XA patent/CN114743020B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110569508A (zh) * | 2019-09-10 | 2019-12-13 | 重庆邮电大学 | 融合词性和自注意力机制的情感倾向性分类方法及系统 |
CN111325111A (zh) * | 2020-01-23 | 2020-06-23 | 同济大学 | 一种融合逆注意力和多尺度深度监督的行人重识别方法 |
CN112016543A (zh) * | 2020-07-24 | 2020-12-01 | 华为技术有限公司 | 一种文本识别网络、神经网络训练的方法以及相关设备 |
CN113239690A (zh) * | 2021-03-24 | 2021-08-10 | 浙江工业大学 | 基于Bert与全连接神经网络融合的中文文本意图识别方法 |
CN113312989A (zh) * | 2021-05-11 | 2021-08-27 | 华南理工大学 | 一种基于聚合描述子与注意力的指静脉特征提取网络 |
CN113313149A (zh) * | 2021-05-14 | 2021-08-27 | 华南理工大学 | 一种基于注意力机制和度量学习的菜品识别方法 |
CN114141238A (zh) * | 2021-11-26 | 2022-03-04 | 中国人民解放军陆军工程大学 | 一种融合Transformer和U-net网络的语音增强方法 |
CN114239585A (zh) * | 2021-12-17 | 2022-03-25 | 安徽理工大学 | 一种生物医学嵌套命名实体识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114743020A (zh) | 2022-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114743020B (zh) | 一种结合标签语义嵌入和注意力融合的食物识别方法 | |
CN110298037B (zh) | 基于增强注意力机制的卷积神经网络匹配的文本识别方法 | |
CN110795543B (zh) | 基于深度学习的非结构化数据抽取方法、装置及存储介质 | |
CN110334705B (zh) | 一种结合全局和局部信息的场景文本图像的语种识别方法 | |
CN109711463A (zh) | 基于注意力的重要对象检测方法 | |
CN108052625B (zh) | 一种实体精细分类方法 | |
CN112990296A (zh) | 基于正交相似度蒸馏的图文匹配模型压缩与加速方法及系统 | |
CN112256939A (zh) | 一种针对化工领域的文本实体关系抽取方法 | |
CN113705238B (zh) | 基于bert和方面特征定位模型的方面级情感分析方法及系统 | |
KR20200010672A (ko) | 딥러닝을 이용한 스마트 상품 검색 방법 및 시스템 | |
CN113157859A (zh) | 一种基于上位概念信息的事件检测方法 | |
CN114461890A (zh) | 分层多模态的知识产权搜索引擎方法与系统 | |
CN112988970A (zh) | 一种服务于智能问答系统的文本匹配算法 | |
CN115796182A (zh) | 一种基于实体级跨模态交互的多模态命名实体识别方法 | |
CN115408525A (zh) | 基于多层级标签的信访文本分类方法、装置、设备及介质 | |
CN110659392B (zh) | 检索方法及装置、存储介质 | |
CN117494051A (zh) | 一种分类处理的方法、模型训练的方法以及相关装置 | |
CN117313728A (zh) | 实体识别方法、模型训练方法、装置、设备和存储介质 | |
CN117349423A (zh) | 一种模板匹配式水利领域知识问答模型 | |
CN114627282A (zh) | 目标检测模型的建立方法、应用方法、设备、装置及介质 | |
CN116385946A (zh) | 面向视频的目标片段定位方法、系统、存储介质及设备 | |
CN116663539A (zh) | 基于RoBERTa和指针网络的中文实体与关系联合抽取方法及系统 | |
US20240037335A1 (en) | Methods, systems, and media for bi-modal generation of natural languages and neural architectures | |
CN113157892A (zh) | 用户意图处理方法、装置、计算机设备及存储介质 | |
CN114595693A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |