一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

食物信息的识别方法、装置、设备及存储介质与流程

2022-12-13 21:53:32 来源:中国专利 TAG:


1.本技术涉及智能食物图像识别技术领域,特别是涉及一种食物信息的识别方法、装置、设备及存储介质。


背景技术:

2.随着经济的发展和人们生活质量的提升,越来越多国人开始重视健康和养生,对食物成分及其热量的关注度也逐渐提升。目前可购买的带包装食品的包装袋上一般标有食物的单位重量的热量值。然而,对于一日三餐,烹制成品的餐桌上的中国菜或者烹制好的饮品,却无法直观的衡量其热量,这对养生健康人群造成一定的困扰。因此一种直观衡量餐桌上的菜品和饮品的技术尤为重要。
3.现有技术中,食物卡路里获取手段并不是很方便,目前常见的方式有几种:1、咨询专业的营养分析师,询问成品菜的卡路里估值;2、自己通过书籍或网络查询成品菜的卡路里估值;3、通过某一些手机软件进行菜品拍照上传来获取食物种类和其卡路里估值。
4.其中,咨询专业人士的方式耗费大量的人力和时间,对很多人来说成本过高,且卡路里的估值会存在较大偏差;通过书籍或网络方式查询成本菜的卡路里值,对于餐桌上菜不是很方便,尤其是对于新的菜品,方便度差,影响养生群众的便捷度;通过手机软件进行拍照上传获取菜品的卡路里值是非常方便的一种方式,但这种方法需要依赖图像识别技术,且需要大量的成品数据作为训练样本来训练分类器以达到理想的性能。


技术实现要素:

5.本技术主要解决的技术问题是提供一种食物信息的识别方法、装置、设备及存储介质,能够解决现有技术中食物卡路里信息获取等问题。
6.为解决上述技术问题,本技术采用的一个技术方案是:提供一种食物信息的识别方法,所述识别方法包括:接收来自终端的食物图像;采用食物图像分类模型对所述食物图像进行识别以得到所述食物信息;将所述食物信息发送至所述终端。
7.其中,所述接收来自终端的食物图像,进一步包括:获取食物图像的分类数据集,所述分类数据集包括训练集、验证集以及测试集;搭建所述食物图像的初始分类模型;根据所述分类数据集对所述初始分类模型进行训练以得到所述食物图像分类模型。
8.其中,所述获取食物图像的分类数据集,所述分类数据集包括训练集、验证集以及测试集,进一步包括:制定预设数量的食物类别;分别收集预设数量张所述食物类别的图像;分别获取所述预设数量张所述食物类别的图像的标签信息;对所述图像的标签信息进行数据清洗以得到所述食物图像的分类数据集;将所述食物图像的分类数据集进行分类以形成所述训练集、所述验证集以及所述测试集。
9.其中,所述根据所述分类数据集对所述初始分类模型进行训练以得到所述食物图像分类模型,进一步包括:对所述训练集中的食物图像进行预处理;采用预处理后的所述食物图像对所述初始分类模型进行参数训练;采用所述验证集及所述测试集中的食物图像分
别对进行参数训练后的所述初始分类模型进行超参数调整和模型验证;对进行超参数调整和模型验证后的所述初始分类模型进行优化以得到所述食物图像分类模型。
10.其中,所述对所述训练集中的食物图像进行预处理至少包括中心裁剪、随机裁剪、随机长宽比裁剪、上下左右中心裁剪、翻转和旋转以及图像大小变换中的一种或组合。
11.其中,所述食物图像的初始分类模型采用深度卷积神经网络模型。
12.其中,所述食物信息至少包括食物的名称、卡路里信息、脂肪含量、蛋白质含量以及碳水化合物含量的一种或者组合。
13.为解决上述技术问题,本技术采用的另一个技术方案是:提供一种食物信息的识别装置,所述识别装置包括:接收模块,用于接收来自终端的食物图像;识别模块,用于采用食物图像分类模型对所述食物图像进行识别以得到所述食物信息;发送模块,用于将所述食物信息发送至所述终端。
14.为解决上述技术问题,本技术采用的又一个技术方案是:提供一种食物信息的识别设备,所述设备包括处理器以及存储器,所述存储器存储有计算机指令,所述处理器耦合所述存储器,所述处理器在工作时执行所述计算机指令以实现上述任一项所述食物图像的识别方法。
15.为解决上述技术问题,本技术采用的再一个技术方案是:提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述任一项所述的食物图像的识别方法。
16.本技术的有益效果是:区别于现有技术的情况,本技术提供一种食物信息的识别方法、装置、设备及存储介质,通过采用食物图像分类模型对食物图像进行识别以得到食物信息,能够方便用户快速且准确的获取食物的卡路里信息。
附图说明
17.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,其中:
18.图1是本技术食物信息的识别方法一实施方式的流程示意图;
19.图2是本技术食物图像模型训练一实施方式的流程示意图;
20.图3是本技术图2中步骤s200一实施方式的流程示意图;
21.图4是本技术图3中步骤s220一实施方式的流程示意图;
22.图5是本技术食物信息的识别装置一实施方式的结构示意图;
23.图6是本技术食物信息的识别设备实施例的结构示意图;
24.图7是本技术提供的计算机可读存储介质实施例的示意框图。
具体实施方式
25.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本技术保护的范围。
26.请结合图1,图1为本技术食物信息的识别方法一实施方式的流程示意图,如图1本技术提供的食物信息的识别方法包括如下步骤:
27.可以理解的是,在进行本技术食物信息识别方法之前进一步包括对食物图像模型的训练,请结合图2,图2为本技术食物图像模型训练一实施方式的流程示意图,如图2,本技术提供是食物图像模型训练方法包括如下子步骤:
28.s200,获取食物图像的分类数据集,分类数据集包括训练集、验证集以及测试集。
29.请进一步结合图3,图3为本技术步骤s200一实施方式的流程示意图,如图3步骤s200进一步包括如下子步骤:
30.s201,制定预设数量的食物类别。
31.具体地,本技术一具体应用场景中可以根据中国菜谱制定303类互斥的食物类别,具体可以为'花生米','凉拌西红柿','凉拌黄瓜','营养木耳','凉拌腐竹','凉拌海蛰','凉拌海带丝','凉拌紫甘蓝','凉拌皮蛋','鹌鹑蛋','辣白菜','酸豆角','拌萝卜丁','凉拌木瓜丝','凉拌笋丝','凉拌萝卜丝','皮蛋拌豆腐','海带拌豆皮','黄瓜拌粉皮','果仁菠菜','清炒西兰花','清炒花菜','醋溜白菜','虎皮青椒','干煸豆角','手撕包菜','蚝油生菜','炒空心菜','蒜蓉油麦菜','清炒菠菜','炒油菜','炒芹菜','蒜蓉粉丝娃娃菜','上汤娃娃菜','白菜炖粉条','炒胡萝卜','炒白萝卜','炒莲藕','香煎藕盒','炒丝瓜','炒竹笋','清炒莴笋片','清炒苦瓜','酿苦瓜','香菇油菜','香菇西兰花','西芹百合','红烧茄子','蒜泥茄子','肉末茄子','西红柿炒茄子','炒杏鲍菇','炒香菇','炒金针菇','炒平菇','椒盐蘑菇','炒芋头','炒南瓜','土豆丝','土豆泥','焗土豆','香煎土豆','薯条','松仁玉米','玉米棒','拔丝山药','清炒山药','木耳山药','土豆焖豆角','地三鲜','毛豆','炒蚕豆','炒豆芽','豆腐花','臭豆腐','家常豆腐','麻婆豆腐','煎豆腐','鲜蔬炒香干','西红柿炒鸡蛋','韭菜炒鸡蛋','韭黄炒鸡蛋','黄瓜炒鸡蛋','卤蛋','荷包蛋','鸡蛋羹','鸡鸭胗','泡椒凤爪','红烧鸡爪','口水鸡','白斩鸡','大盘鸡','黄焖鸡','香菇蒸鸡','辣子鸡','三杯鸡','咖喱鸡','宫保鸡丁','可乐鸡翅','烤鸡翅','炸鸡翅','烤鸡腿','炸鸡腿','烧鸭烧鹅','啤酒鸭','土豆炖鸡块','孜然羊肉','牛羊肉串','葱爆羊肉','红烧牛肉','酱牛肉','西红柿牛腩','土豆炖牛腩','杭椒牛柳','烧牛肚','煎牛排','小肥羊','烤羊排','烤羊腿','炒猪肚','特色猪肝','猪耳朵','猪蹄','炒腰花','烧肥肠','叉烧','红烧肉','梅菜扣肉','回锅肉','农家小炒肉','猪肉炖粉条','水煮肉片','京酱肉丝','豆角肉丝','青椒肉丝','鱼香肉丝','木耳炒肉丝','莴笋肉丝','蒜苔肉丝','木须肉','香菇炒肉','蚂蚁上树','培根金针菇卷','蛋黄肉卷','红烧狮子头','糖醋里脊','菠萝咕咾肉','锅包肉','糖醋排骨','粉蒸排骨','土豆炖排骨','酱骨架','烤肉','香肠','培根','午餐肉','酸菜鱼','烤鱼','红烧鱼','松鼠鱼','烧带鱼','剁椒鱼头','水煮鱼','清蒸鱼','鱼干','芝士虾球','虾仁西兰花','油焖大虾','白灼虾','香辣虾','香辣小龙虾','蒜茸粉丝蒸虾','清炒虾仁','皮皮虾','扇贝','生蚝','鱿鱼','鲍鱼','螃蟹','甲鱼','鳝鱼','田螺','鱼丸','墨鱼','蟹柳','毛血旺','夫妻肺片','麻辣香锅','麻辣烫','牛蛙','鲫鱼豆腐汤','海带豆腐汤','乌鸡汤','西红柿鸡蛋汤','紫菜蛋花汤','萝卜排骨汤','莲藕排骨汤','玉米排骨汤','海带排骨汤','菠菜猪肝汤','冬瓜汤','青菜什锦汤','酱汤','酸辣
汤','罗宋汤','银耳汤','绿豆汤','疙瘩汤','白米饭','扬州炒饭','蛋包饭','紫菜包饭','石锅拌饭','煲仔饭','咖喱饭','卤肉饭','盖浇饭','焗饭','八宝饭','皮蛋瘦肉粥','香菇鸡丝粥','排骨粥','青菜粥','白米粥','黑米粥','八宝粥','红薯粥','南瓜粥','小米粥','玉米粥','绿豆粥','酸辣粉','米线','炒米粉','肠粉','凉皮','凉面','炸酱面','意大利面','西红柿鸡蛋面','牛肉拉面','担担面','什锦炒面','什锦汤面','炒年糕','红豆糕','绿豆糕','粽子','糯米鸡','发糕','馒头','花卷','水饺','煎饺','韭菜盒子','锅贴','馄饨','汤圆','烧麦','水晶虾饺','肉夹馍','芝麻烧饼','南瓜饼','油条','蒸包子','灌汤包','小笼包','生煎包','鸡蛋摊饼','土豆鸡蛋饼','鸡蛋灌饼','葱花手抓饼','蛋糕','蛋挞','牛角包','吐司','烤面包','硬饼干','曲奇饼干','苏打饼干','汉堡包','热狗','披萨','洋葱圈','甜甜圈','提拉米苏','布丁','双皮奶','冰淇淋','蔬菜沙拉','水果沙拉','冰糖雪梨','奶茶','果汁','酸奶','奶昔','豆浆','咖啡','柚子茶','酸梅汤','姜汤姜茶','杨枝甘露'等。
32.s202,分别收集预设数量张食物类别的图像。
33.进一步地,在制定了上述定303类食物类别后,需要分别收集预设数量的每一类食物的图像,在本技术实施例中每哥食物类别的图像可以收集500张图像,当然在其他实施方式中还可以是其他数量,例如200、300、400等,此处不做具体限定。
34.s203,分别获取预设数量张食物类别的图像的标签信息。
35.可选地,在收集完预设数量张上述食物类别的图像后,需要对上述每一张食物的图像进行类别标标注,即每一张食物图像上都会有和其对应的类别标签,其中这里标签指的是食物的名称,例如曲奇饼干的图像上则会标注“曲奇饼干”。进一步,本技术中可以采用人工的方式对每一张食物图像进行标注,人工标注完成后可以获取每一张图像的标签信息。
36.s204,对图像的标签信息进行数据清洗以得到图像的分类数据集。
37.可以理解的是,若采用人工进行标注会出现标错的情况,例如将“鱼香茄子”的图像标注为“红烧茄子”的情况。因此,在获取到图像的标签信息后需要进一步对其进行数据清洗,即将标签信息错误的图像或者容易混淆的图像去掉,从而得到食物图像的分类数据集。
38.s205,将图像的分类数据集进行分类以形成训练集、验证集以及测试集。
39.进一步地,将步骤s204中得到的食物图像的分类数据集划分为训练集、验证集以及测试集三个部分,其中训练集、验证集以及测试集三个部分的数据的比例可以为6:2:2。可以理解的是,本技术中训练集用于训练食物图像分类模型,验证集用于调整模型的超参数,测试集用于测试模型结果的。
40.s210,搭建食物图像的初始分类模型。
41.本技术实施例中食物图像的初始分类模型可以采用卷积神经网络模型进行模式。其中,使用卷积神经网络用于分类任务时,神经网络模型可以大致分类特征提取器与分类器两个模块。其中,特征提取模块通常包含多个卷积层、池化层、批归一化层、非线性激活层等。经过这些神经网络层将一张食物图像映射为一个特征图,再成为食物特征向量。分类模块通常为全连接层与softmax层。本技术具体实施方式中可以选取经典的resnet101网络作为主干网络,并用imagenet大型分类数据集进行与训练,最后一层替换为食物识别的
food303数据集的303类。即深度神经网络的最后一层特征向量的维度,与分类的类别数相等,即303。
42.s220,根据分类数据集对初始分类模型进行训练以得到食物图像分类模型。
43.请结合图4,图4为本技术步骤s220一实施方式的流程示意图,如图4,步骤s220进一步包括如下步骤:
44.s221,对训练集中的食物图像进行预处理。
45.可选地,为了增大数据样本量及增加训练样本的特征鲁棒性,本技术实施例中在进行模型训练之前需要对训练集中的图像进行预处理。其中,本技术采用的预处理方法包括数据增强,具体有中心裁剪、随机裁剪、随机长宽比裁剪、上下左右中心裁剪、翻转和旋转以及图像大小变换中的一种或组合。且其实现方法可以采用pytorch中的transform模块。除此之外,为了让分类之间的簇更加紧凑,增加类间距,减少类内距离,本技术实施例中还使用了标签正则化方法,如标签平滑处理等。
46.s222,采用预处理后的食物图像对初始分类模型进行参数训练。
47.进一步,将预处理后的训练集中的食物图像输入到初始分类模型中,其中食物的类别作为标签参与训练,例如有红烧肉和鱼香肉丝的图像,其图像上的标签为红烧肉和鱼香肉丝,训练集中的数据为图像和标签成对的数据对,即“图像-标签”,其中,标签为图像的类别。
48.进一步,在对食物图像进行预处理后,可以将食物图像输入到预先建立的初始分类模型(初始神经网络模型)进行训练。可选地,在将训练集中的食物图像输入初始分类模型之前,还需要将食物图像进行缩放处理,即将食物图像信息缩放至预设尺寸,以便于神经网络对相同尺寸的食物图像进行学习,提高模型的训练效率。可以理解的是,初始分类模型训练的过程实质为改变模型神经网络中参数的过程,初始分类模型中一开始的参数为任意的一组数,随着不断的进行训练,模型的参数一遍一遍的进行迭代更新,从而完成模型训练。
49.s223,采用验证集及测试集中的食物图像分别对进行参数训练后的初始分类模型进行超参数调整和模型测试。
50.可以理解的是,训练集是用来训练初始分类模型,但是训练过程中需要调整初始分类模型的超参数,也就是一组超参数用数据训练完了,得到训练集上的分类正确的结果,还有验证集上训练的结果。因此,需要调整超参数,再重新训练,直到在验证集上得到了满意的结果时,模型的超参数才能定下来。在模型完成训练后,采用测试集中的食物图像对食物分类模型进行结果测试。
51.s224,对进行超参数调整和模型验证后的初始分类模型进行优化以得到食物图像分类模型。
52.可选地,为了训练模型,优化模型以及更新模型参数,本技术中可以采用反向传播的方法对初始分类模型(神经网络模型)进行训练。损失函数为交叉熵损失或者focal loss损失,采样adam优化器对初始分类模型的参数进行优化,从而得到食物图像分类模型。
53.在完成食物图像分类模型的训练后,可以进一步将模型部署在云端服务器,当接收到终端用户请求执行食物分类,再将分类结果反馈给终端用户。具体的实施步骤请进一步参见图1的具体描述。
54.上述实施方式,通过采用数据集food303训练食物分类模型,在测试集上进行模型的测试,其准确率可以达到90%以上。
55.s100,接收来自终端的食物图像。
56.可选地,接收到来自用户终端发送的食物图片后,需要进一步对食物图像进行预处理,包括对食物图像进行中心裁剪、随机裁剪、随机长宽比裁剪、上下左右中心裁剪、翻转和旋转以及图像大小变换中的一种或组合。
57.s110,采用食物图像分类模型对食物图像进行识别以得到食物信息。
58.进一步,将预处理后的食物图像送入食物图像分类模型进行分类结果计算,从而得到食物信息。其中,所述食物信息至少包括食物的名称、卡路里信息、脂肪含量、蛋白质含量以及碳水化合物含量的一种或者组合。
59.s120,将食物信息发送至终端。
60.将识别到食物信息发送至用户终端,向用户展示食物的名称和卡路里值。
61.上述实施方式,通过采用食物图像分类模型对食物图像进行识别以得到食物信息,能够方便用户快速且准确的获取食物的卡路里信息。
62.参阅图5,图5为本技术食物信息的识别装置一实施方式的结构示意图,如图5所示,本技术提供的食物信息的识别装置100包括接收模块110、识别模块120以及发送模块130。
63.其中,接收模块110用于接收来自终端的食物图像。
64.识别模块120用于采用食物图像分类模型对所述食物图像进行识别以得到所述食物信息。
65.发送模块130用于将所述食物信息发送至所述终端。
66.本实施例中的各步骤的具体实施方式请参阅上述食物信息的识别方法实施例中步骤s100至步骤s120的具体描述,此处不再赘述。
67.上述实施方式,通过采用食物图像分类模型对食物图像进行识别以得到食物信息,能够方便用户快速且准确的获取食物的卡路里信息。
68.图6示出了本技术食物信息的识别设备实施例的结构示意图,本发明具体实施例并不对食物信息的识别设备的具体实现做限定。
69.如图6所示,该食物信息的识别设备可以包括:处理器(processor)402、通信接口(communications interface)404、存储器(memory)406、以及通信总线408。
70.其中:处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。处理器402,用于执行程序410,具体可以执行上述用于食物信息的识别方法实施例中的相关步骤。
71.具体地,程序410可以包括程序代码,该程序代码包括计算机可执行指令。
72.处理器402可能是中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。食物信息的识别考核设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
73.存储器406,用于存放程序410。存储器406可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
74.程序410具体可以被处理器402调用食物信息的识别设备执行以下操作:
75.接收来自终端的食物图像;采用食物图像分类模型对所述食物图像进行识别以得到所述食物信息;将所述食物信息发送至所述终端
76.本实施例中的各步骤的具体实施方式请参阅上述实施例中步骤s100至步骤s120的具体描述,此处不再赘述。
77.上述实施方式,通过采用食物图像分类模型对食物图像进行识别以得到食物信息,能够方便用户快速且准确的获取食物的卡路里信息。
78.参阅图7,图7是本技术提供的计算机可读存储介质实施例的示意框图,本实施例中的计算机可读存储介质存储有计算机程序310,该计算机程序310能够被处理器执行以实现上述任一实施例中的食物信息的识别方法。
79.可选的,该可读存储介质可以是u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
80.综上所述,本领域技术人员容易理解,本技术提供一种食物信息的识别方法、装置、设备及存储介质,通过采用食物图像分类模型对食物图像进行识别以得到食物信息,能够方便用户快速且准确的获取食物的卡路里信息。
81.以上所述仅为本技术的实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献