一种食物成分识别及营养推荐系统技术方案

技术编号:37644790 阅读:15 留言:0更新日期:2023-05-25 10:11
本发明专利技术提供一种食物成分识别及营养推荐系统,包括食物分类模块、成分分析模块、成分营养表和营养评分模块;其中,食物分类模块与成分分析模块基于教师

【技术实现步骤摘要】
一种食物成分识别及营养推荐系统


[0001]本专利技术属于图像识别领域,特别涉及基于卷积神经网络的食物成分识别及营养推荐技术。

技术介绍

[0002]近代以来,健康理念深入人心,人们对食物的追求开始不仅仅局限于果腹和美味,健康成为了人们选择美食的过程中越来越看重的因素。然而现有的营养师指导体系并不能大面积满足人们的需求。因此,一种智能营养估计系统急待研制,以方便人们随时查询食物营养含量。这种智能营养估计系统包括食物图像识别和成分分析模块,分别提取食物的相关信息和其所含成分,再将其营养价值等人们较为关心的健康方面指标,提供给用户进行食物选择参考。
[0003]当下已有许多针对食物营养的推荐系统的研究。余海燕等人设计了一种基于食物图像分割和尿酸指数的膳食智能推荐系统,构建了食物高尿酸标签分类的支持向量机模型;徐仁应等人设计了一种基于深度学习模型的食物营养管理方法及系统,通过预处理近似法存储提取的食物图像轮廓信息,进而对食物图像进行分割,再计算不同种类食物子图像中所含营养的量,将所有食物中的营养素进行累加,得到该用户各种营养素总摄入量;陈庶设计了一种基于深度卷积神经网络(DCNN)的食物图像的识别方法和系统及食物热量计算方法,计算和识别出食物的热量;马兰芳等人基于移动终端拍摄的食物图像设计了一套面向慢性病人群的智能膳食评估系统,对食物图像进行营养素估算;李海生等人设计了一种基于视觉分析的食物营养评估方法及系统,使用Mask R

CNN获取食物图像的类别,以及根据食物的三维点云计算食物体积,最终得到准确的食物摄入量。纵观以上研究,我们认为食物图像识别的效果可以进一步优化。
[0004]为提升图像分识别的性能,常见的深度学习算法,如:VGG、Resnet、DenseNet以及EfficientNet等卷积神经网络,通过运用更小的卷积核、加强特征传播、在大量数据进行预训练并迁移等方法,在一定程度上能够提高模型的精度。蒸馏知识技术也是提高网络的性能的主要方法之一,将知识从计算量大的模型(“教师”模型)转移到较小的模型(“学生”模型)。因此,我们将知识蒸馏与卷积神经网络结合,并且在此基础上进行数据增强,进一步提高图像识别的性能。其次,针对膳食营养推荐系统,我们针对食道癌患者术后恢复饮食的营养需要,将在图像识别后为使用者推送图像上呈现食物的营养成分,供用户判断使用。此外,我们也依据英国食品标准局营养和分析系统(FSA

NPS DI)膳食指数对食物的营养价值给出了一个初步的评分。

技术实现思路

[0005]本专利技术所要解决的问题是,提供一种基于深度神经网络的新的轻量化的利用知识蒸馏进行学习的食物成分识别以及营养推荐系统。
[0006]本专利技术解决上述问题所采用的技术方案是,一种食物成分识别及营养推荐系统,
包括食物分类模块、成分分析模块、成分营养表和营养评分模块;
[0007]食物分类模块用于接收每一个输入待测食物图像,输出食物类别至用户端界面;
[0008]成分分析模块用于接收每一个输入待测食物图像,输出食物所含成分至用户端界面和营养评分模块;
[0009]营养评分模块用于接收到来自成分分析模块输出的成分,查询成分营养表,得到各成分的营养指标,利用查找出的营养指标以及现有的营养推荐算法得到该食物进行推荐得分或推荐等级并输出至用户端界面;
[0010]其中,食物分类模块与成分分析模块基于教师

学生结构的神经网络采用知识蒸馏完成训练过程。
[0011]首先,本专利技术使用知识蒸馏技术,在保持大的深度神经网络模型分类能力的前提下,将识别模型变得轻量化,解决了在实际应用时模型文件过大会占用过多空间而模型太小性能会下降间的矛盾。其次,成分营养表建立常见成分的营养表,能够实时对识别出的每种成分所含营养进行查询并反馈,能够及时的给予用户关于食物更多的信息。最后,将二者进行融合,能够给用户及时反馈食物的营养信息,帮助用户对食物进行选择。
[0012]本专利技术的有益效果是,能够基于知识蒸馏技术实现轻量化的端到端的营养评估;能够在给出图像中所含食物的种类、成分的基础上,进一步给出每种食物成分所含的营养成分,能在用户进行食物营养查询时进行端到端的推荐。本专利技术构建了一种新的轻量化端到端的食物识别和营养估计系统,具有实时性、全面性、高准确率等优点。
附图说明
[0013]图1为知识蒸馏训练分类模型示意图;
[0014]图2为端到端营养推荐系统流程框图;
[0015]图3为营养推荐系统进行营养推荐示例。
具体实施方式
[0016]食物成分识别及营养推荐系统包括食物分类模块、成分分析模块、成分营养表和营养评分模块,系统的构建过程:先使用大模型(Vision Transformer base16)训练系统识别食物的能力;然后通过知识蒸馏技术将性能较好的大模型所学知识浓缩到较小的模型(DenseNet121、ResNet50)中,以实现在保持大模型对食物识别性能的前提下,实现食物图像识别模型的轻量化;构建的食物成分营养表;使用训练好的两种模型,对待识别食物图像的类别与成分进行识别;利用成分识别结果,查询已建立的成分营养表,获得各成分营养成分含量以及食物营养价值的初步评分,并反馈给用户。
[0017]具体包括如图2所示的步骤:
[0018]1)食物成分营养成分表的建立。实施例在训练模型时所使用的数据集为VireoFood251中餐数据集。VireoFood251含有251类食物和406种成分标签,我们选出了其中124类食物的图像数据类图片数量大于400的食物图像作为模型训练数据集对食物分类模型和成分分析模型进行训练。实施例还通过查询美国农业部公开数据的方式对VireoFood251中406种成分中每种成分所含有的营养成分进行查询并汇总成表,得到食物成分的营养成分表。
[0019]营养成分具体包括有:每百克每种成分含有的能量(kJ)、钠(mg)、蛋白质(g)、油脂(g)、碳水化合物(g)、钙(mg)、铁(mg)、有机酸(mg)等常见营养指标。
[0020]2)食物分类模块的训练。选取Vision Transformer base16(Vit

B

16)作为教师模型,首先,使用PyTorch自带的预训练模型参数对教师模型进行初始化,在数据集上对教师模型进行训练。然后,选用深度神经网络模型ResNet

50作为学生学习网络,并导入之前训练好的教师模型,使学生模型同时向食物分类标签和教师模型的输出学习,以达到知识蒸馏的目的,即将大模型Vit

B

16的识别性能浓缩到小模型ResNet

50中,得到轻量化的食物图像分类模型。
[0021]Vit

B

16模型通过多个原始Transformer的编码器来对输入图像进行处理。在处理图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种食物成分识别及营养推荐系统,其特征在于,包括食物分类模块、成分分析模块、成分营养表和营养评分模块;食物分类模块用于接收每一个输入待测食物图像,输出食物类别至用户端界面;成分分析模块用于接收每一个输入待测食物图像,输出食物所含成分至用户端界面和营养评分模块;营养评分模块用于接收到...

【专利技术属性】
技术研发人员:江世银乐烛儿张楠汪玲程洪
申请(专利权)人:电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1