System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于食物识别,特别涉及一种基于vision transformer的食物识别方法。
技术介绍
1、随着人民生活质量的提高,人们越来越注重自己的饮食健康。同时,食物与很多疾病的形成和发展十分相关。
2、食物不仅具有名称,还会有自己独特的食材等;食物的种类与食物的食材息息相关。比如烧茄子和西红柿烧茄子,他们有相同的食材,并且可能由于食材的相同导致具有某些相同的视觉特征,目前存在的食物分析模型主要集中于食物名称识别。这些识别模型主要使用经典的机器学习模型和深度学习模型,并没有基于食物特有的特点设计模型;因此无法识别出食物中的食材。
3、然而食物的营养成分、卡路里等等信息都是与食物中的食材相关的,所以对于食物的识别和分析是十分重要的。
技术实现思路
1、本专利技术提供了一种基于vision transformer的食物识别方法,本专利技术的一个目的是能够同时识别出食物图片中的食物种类和食物使用的食材。
2、本专利技术还有一个目的是通过对vision transformer模型进行多任务训练,能够提高食物的识别准确率。
3、本专利技术提供的技术方案为:
4、一种基于vision transformer的食物识别方法,包括:
5、构建食物识别训练模型,其包括:两层线性层、融合模块、多个第一transformer层、多个第二transformer层、食物种类分类器、第一食材分类器和第二食材分类器;
6、
7、将所述食物样本图片依次经过所述多个第一transformer层、所述多个第二transformer层处理后,同时输入食物种类分类器和第一食材分类器,得到食物种类识别结果和第一食材识别结果;
8、将所述食物图片样本中包含的食材信息转化为食材编码,并将所述食材编码输入所述两层线性层进行处理;
9、将所述两层线性层的输出向量和所述第一transformer层的输出向量输入所述融合模块进行处理;
10、将所述融合模块的输出向量输入所述第二食材分类器,得到第二食材识别结果;
11、根据所述食物种类识别结果、所述第一食材识别结果和所述第二食材识别结果对所述食物识别训练模型进行优化更新,得到食物识别模型;
12、拍摄待识别的食物图片,将所述待识别的食物图片输入所述食物识别模型,所述食物识别模型输出所述待识别的食物图片的食物种类和食物中包含的食材。
13、优选的是,所述食物识别模型包括:所述多个第一transformer层、所述多个第二transformer层、所述食物种类分类器和所述第一食材分类器。
14、优选的是,在将所述食物样本图片和所述待识别的食物图片输入第一transformer层之前还包括:对输入的图片进行切分和线性处理,得到食物图像编码。
15、优选的是,所述第一transformer层和所述第二transformer层的数量均为6个。
16、优选的是,所述第一transformer层和所述第二transformer层的结构相同,均包括:第一归一化层、多头注意力模块、第二归一化层和mlp模块;
17、其中,所述食物图像编码依次经过第一归一化层和多头注意力模块后,得到第一输出编码;将所述第一输出编码与所述食物图像编码相加得到第二输出编码,所述第二输出编码依次经过所述第二归一化层和所述mlp模块后,得到第三输出编码,将所述第三输出编码与所述第二输出编码相加,得到transformer层的输出结果。
18、优选的是,所述融合模块包括:
19、融合模块第一线性层、融合模块第二线性层、融合模块第三线性层和融合模块第四线性层;
20、其中,所述两层线性层的输出向量和所述第一transformer层的输出向量分别经过所述融合模块第一线性层和融合模块第二线性层后,计算融合模块第一线性层输出结果和融合模块第二线性层输出结果的相似度;所述两层线性层的输出向量经过所述融合模块第三线性层后,将所述融合模块第三线性层的输出结果与所述相似度结合后输入所述融合模块第四线性层,经所述融合模块第四线性层处理后得到所述融合模块的输出向量。
21、优选的是,所述食物种类分类器、第一食材分类器和第二食材分类器均为线性层分类器。
22、优选的是,将所述食物图片样本中包含的食材信息转化为食材编码的方法为:
23、对于每个食物图片样本创建一个n维向量,每个维度代表一种食材;并将n维向量的每个维度初始为符号0;
24、如果食物样本中图片含有某个维度对应的食材,则将该维度的符号0改为1;
25、遍历n个维度,得到食物图片样本的食材编码。
26、优选的是,向量维度n的取值至少为100。
27、本专利技术的有益效果是:
28、本专利技术提供的基于vision transformer的食物识别方法,能够同时识别出食物图片中的食物种类和食物使用的食材;并且能够提高食物的识别准确率。
本文档来自技高网...【技术保护点】
1.一种基于vision transformer的食物识别方法,其特征在于,包括:
2.根据权利要求1所述的基于vision transformer的食物识别方法,其特征在于,所述食物识别模型包括:所述多个第一transformer层、所述多个第二transformer层、所述食物种类分类器和所述第一食材分类器。
3.根据权利要求2所述的基于vision transformer的食物识别方法,其特征在于,在将所述食物样本图片和所述待识别的食物图片输入第一transformer层之前还包括:对输入的图片进行切分和线性处理,得到食物图像编码。
4.根据权利要求3所述的基于vision transformer的食物识别方法,其特征在于,所述第一transformer层和所述第二transformer层的数量均为6个。
5.根据权利要求3或4所述的基于vision transformer的食物识别方法,其特征在于,所述第一transformer层和所述第二transformer层的结构相同,均包括:第一归一化层、多头注意力模块、第二归一化层
6.根据权利要求5所述的基于vision transformer的食物识别方法,其特征在于,所述融合模块包括:
7.根据权利要求6所述的基于vision transformer的食物识别方法,其特征在于,所述食物种类分类器、第一食材分类器和第二食材分类器均为线性层分类器。
8.根据权利要求7所述的基于vision transformer的食物识别方法,其特征在于,将所述食物图片样本中包含的食材信息转化为食材编码的方法为:
9.根据权利要求8所述的基于vision transformer的食物识别方法,其特征在于,向量维度N的取值至少为100。
...【技术特征摘要】
1.一种基于vision transformer的食物识别方法,其特征在于,包括:
2.根据权利要求1所述的基于vision transformer的食物识别方法,其特征在于,所述食物识别模型包括:所述多个第一transformer层、所述多个第二transformer层、所述食物种类分类器和所述第一食材分类器。
3.根据权利要求2所述的基于vision transformer的食物识别方法,其特征在于,在将所述食物样本图片和所述待识别的食物图片输入第一transformer层之前还包括:对输入的图片进行切分和线性处理,得到食物图像编码。
4.根据权利要求3所述的基于vision transformer的食物识别方法,其特征在于,所述第一transformer层和所述第二transformer层的数量均为6个。
5.根据权利要求3或4所述的基于v...
【专利技术属性】
技术研发人员:白洪涛,张若萱,欧阳丹彤,何丽莉,曹英晖,
申请(专利权)人:吉林大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。