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

食物检测方法和相关设备与流程

2022-07-14 00:34:33 来源:中国专利 TAG:


1.本发明涉及图像识别技术领域,尤其涉及一种食物检测方法和相关设备。


背景技术:

2.随着人们对身体健康的重视,瓜果蔬菜已成为人们日常必备的食物之一。
3.在采购瓜果蔬菜时,人们可能会采购几天的量。但是瓜果蔬菜的保质期较短,人们无法判断瓜果蔬菜的新鲜程度。
4.示例性技术中,可以通过深度学习的方式对蔬菜瓜果进行新鲜度的识别,也即通过模型进行蔬菜瓜果的新鲜度识别。但模型需要同时对食物的类别以及新鲜度进行识别,在模型的训练过程中,会偏重食物的类别或者食物新鲜度的训练,使得模型对食物的类别或者食物新鲜度的识别出现误差,也即食物新鲜度以及类别的识别存在识别精度较低的问题。


技术实现要素:

5.本发明提供一种食物检测方法和相关设备,用以解决食物新鲜度以及类别的识别存在识别精度较低的问题。
6.一方面,本发明提供一种一种食物检测方法,包括:
7.将待检测的第一食物图像输入至识别模型,其中,所述识别模型的训练包括食物识别任务的第一梯度值的训练以及食物新鲜度识别任务的第二梯度值的训练,且所述第一梯度值以及所述第二梯度值在训练过程中满足梯度归一化条件;
8.根据所述识别模型的输出结果,确定所述第一食物图像中食物以及所述食物的新鲜度。
9.在一实施例中,所述将待检测的食物图像输入至识别模型的步骤之前,还包括:
10.获取各张训练图像,所述训练图像包括食物标签以及食物新鲜度标签;
11.根据各张所述训练图像的食物标签以及食物新鲜度标签,对多任务模型的第一梯度值以及第二梯度值进行多轮训练,得到识别模型,其中,每一轮的所述第一梯度值、所述第一梯度值对应的第一训练权重、所述第二梯度值以及所述第二梯度值对应的第二训练权重满足梯度归一化条件。
12.在一实施例中,所述获取各张训练图像的步骤包括:
13.获取各张第二食物图像;
14.对各张所述第二食物图像进行数据增强处理,得到各张第三食物图像,所述增强处理包括对比度变换、灰度变化和/或尺度变换;
15.对每张所述第三食物图像添加食物标签以及食物新鲜度标签,得到各张所述训练图像。
16.在一实施例中,所述根据各张所述训练图像的食物标签以及食物新鲜度标签,对多任务模型的第一梯度值以及第二梯度值进行多轮训练,得到识别模型的步骤包括:
17.对所述多任务模型设置初始训练参数,所述初始训练参数是完成训练的预设模型的模型参数;
18.根据各张所述训练图像的食物标签以及食物新鲜度标签,对设置初始训练参数的所述多任务模型的第一梯度值以及第二梯度值进行多轮训练。
19.在一实施例中,所述第一训练权重根据所述食物识别任务的学习率确定,所述第二训练权重根据所述食物新鲜度识别任务的学习率确定。
20.在一实施例中,所述多任务模型包括并联设置的第一解码器以及第二解码器,所述第一解码器以及所述第二解码器均包括三层全连接层以及一层输出层,所述第一解码器用于识别所述食物图像中的食物,所述第二解码器用于识别所述食物图像中的食物新鲜度。
21.另一方面,本发明还提供一种食物检测装置,包括:
22.输入模块,用于将待检测的第一食物图像输入至识别模型,其中,所述识别模型的训练包括食物识别任务的第一梯度值的训练以及食物新鲜度识别任务的第二梯度值的训练,且所述第一梯度值以及所述第二梯度值在训练过程中满足梯度归一化条件;
23.确定模块,用于根据所述识别模型的输出结果,确定所述第一食物图像中食物以及所述食物的新鲜度。
24.另一方面,本发明还提供一种食物检测设备,包括:存储器和处理器;
25.所述存储器存储计算机执行指令;
26.所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如上所述的食物检测方法。
27.在一实施例中,所述食物检测设备为冰箱。
28.另一方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上所述的食物检测方法。
29.本发明提供的食物检测方法和相关设备,将待检测的食物图像输入至识别模型,从而根据识别模型的输出结果确定是食物图像中的食物以及食物的新鲜度。本发明中,识别模型的训练包括食物识别任务的第一梯度值的训练以及食物新鲜度识别任务的第二梯度值的训练,且第一梯度值以及第二梯度值在训练过程中满足梯度归一化条件,防止模型偏重梯度较大的任务进行训练,从而避免偏重对食物类别或者食物新鲜度的训练,提高了模型对食物类别以及新鲜度的识别精度。
附图说明
30.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
31.图1为本发明食物检测方法的场景示意图;
32.图2为本发明食物检测方法第一实施例的流程示意图;
33.图3为本发明食物检测方法第二实施例的流程示意图;
34.图4为本发明食物检测方法第三实施例中步骤s30的细化流程示意图;
35.图5为本发明食物检测装置的模块示意图;
36.图6为本发明食物检测设备的结构示意图。
37.通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
38.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
39.本发明提供一种食物检测方法。如图1所示,食物检测装置100可以是冰箱等存放瓜果蔬菜的设备,也可以具备图像识别的设备。食物检测装置100可以采集图像110,或者可向食物检测装置100输入图像110。食物检测装置100中还设置有识别模型(未标示)。食物检测装置100将图像110输入至识别模型,识别模型则输出图像110中的食物以及食物的新鲜度,食物检测装置100可以输出食物以及食物新鲜度。例如,食物检测装置识别图像110中的食物是青菜,且新鲜度是新鲜一级,则输出“青菜,新鲜度一级”40.下面以具体地实施例对本发明的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
41.参照图2,图2为本发明食物检测方法的第一实施例,食物检测方法包括以下步骤:
42.步骤s10,将待检测的第一食物图像输入至识别模型,其中,识别模型的训练包括食物识别任务的第一梯度值的训练以及食物新鲜度识别任务的第二梯度值的训练,且第一梯度值以及第二梯度值在训练过程中满足梯度归一化条件。
43.在本实施例中,执行主体是食物检测装置,食物检测装置可以是冰箱等具备存储食物的设备,也可以是具备图像识别能力的设备。为了便于描述,以下采用装置指代食物检测装置。
44.装置获取待检测的食物图像,待检测的食物图像定义为第一食物图像。装置中设有识别模型,识别模型用于识别食物图像中的食物以及食物的新鲜度。
45.在本实施例中,识别模型是通过多任务学习得到的模型。多任务包括食物识别任务以及食物新鲜度识别任务。基于多任务学习,识别模型的训练包括食物识别任务的第一梯度值的训练以及食物新鲜度识别任务的第二梯度值的训练,且第一梯度值以及第二梯度值在训练过程中满足梯度归一化条件。梯度归一化条件例如为:对第一梯度值以及第二梯度值设置各自对应的系数,系数决定对第一梯度值以及第二梯度值的训练程度,且在训练过程中基于训练结果自适应的修改第一梯度值以及第二梯度值各自对应的系数,使得第一梯度值、第二梯度值、两者各自对应的系数是一个固定的值。
46.步骤s20,根据识别模型的输出结果,确定第一食物图像中食物以及食物的新鲜度。
47.在第一食物图像输入至识别模型后,识别模型输出结果,装置即可根据输出结果确定第一食物图像中食物以及食物的新鲜度。新鲜度例如为新鲜、次新鲜一级、次新鲜二
级、腐烂一级、腐烂二级等。
48.装置中可以报警条件,若是满足报警条件,装置则可以输出报警信息。例如,报警条件是食物的新鲜度是腐烂一级或者腐烂二级,输出报警信息。
49.在本实施例提供的技术方案中,将待检测的食物图像输入至识别模型,从而根据识别模型的输出结果确定是食物图像中的食物以及食物的新鲜度。本发明中,识别模型的训练包括食物识别任务的第一梯度值的训练以及食物新鲜度识别任务的第二梯度值的训练,且第一梯度值以及第二梯度值在训练过程中满足梯度归一化条件,防止模型偏重梯度较大的任务进行训练,从而避免偏重对食物类别或者食物新鲜度的训练,提高了模型对食物类别以及新鲜度的识别精度。
50.参照图3,图3是食物检测方法第二实施例,基于第一实施例,步骤s10之前,还包括:
51.步骤s30,获取各张训练图像,训练图像包括食物标签以及食物新鲜度标签。
52.在本实施例中,装置获取各张训练图像,训练图像是人工标注的,且训练图像上标注有食物标签以及食物新鲜度标签。
53.步骤s40,根据各张训练图像的食物标签以及食物新鲜度标签,对多任务模型的第一梯度值以及第二梯度值进行多轮训练,得到识别模型,其中,每一轮的第一梯度值、第一梯度值对应的第一训练权重、第二梯度值以及第二梯度值对应的第二训练权重满足梯度归一化条件。
54.在本实施例中,采用多任务学习框架进行模型训练,多任务学习框架可以采用监督学习模型进行构建,在多任务学习框架中进行训练的模型定义为多任务模型。装置基于各张训练图像的食物标签以及食物新鲜度标签对多任务模型的第一梯度值以及第二梯度值进行多轮训练,在第一梯度值以及第二梯度值达到各张对应的目标值,多任务模型训练完成。此外,多任务模型需要进行两项不同任务的学习,则多任务模型设置有食物识别以及新鲜度检测的两个损失函数。在第一梯度值以及第二梯度值完成训练后,第一梯度值与归一化的梯度值之间的差值即可被设置为食物识别的损失函数,第二梯度值与归一化的梯度值之间的差值可被设置为食物新鲜度的算是函数。用于食物识别的算是韩式可以是分类交叉熵,而用于食物新鲜度识别的损失函数可以是二元交叉熵。
55.在本实施例中,梯度归一化条件指的是第一梯度值、第一梯度值对应的第一训练权重、第二梯度值以及第二梯度值对应的第二训练权重的运算是一个固定值,固定值为归一化的梯度值。
56.例如,
[0057][0058]
其中,l为归一化的梯度值,ωi是第i个梯度值的训练权重,li是第i个梯度值,
[0059]
可以理解的是,第一梯度值与第一训练权重的乘积加上第二梯度值与第二训练权重的乘积,需要等于归一化的梯度值。
[0060]
需要说明的是,第一梯度值以及第二梯度值需要进行多轮训练,每轮训练中,第一训练权重、第二梯度值以及第二梯度值对应的第二训练权重满足梯度归一化条件。在每一
轮训练中,第一梯度值以及第二梯度值会进行动态的调整,且第二训练权重以及第一训练权重也会自适应的修改。第一训练权重以及第二训练权重根据各张对应的任务的训练结果进行自适应改的,也即根据任务的学习率自适应的修改第一训练权重以及第二训练权重,从而使得每个任务的训练梯度值往梯度归一化的方向移动。在本实施例中,第一训练权重是根据食物识别任务的学习率确定的,第二训练权重是根据食物新鲜度任务的学习率确定的。
[0061]
在本实施例提供的技术方案中,装置获取各张训练图像,再根据训练图像的食物标签以及食物新鲜度标签对多任务模型的第一梯度值以及第二梯度值进行多轮训练得到识别模型,由于每一轮训练过程中第一梯度值、第一梯度值对应的第一训练权重、第二梯度值以及第二梯度值对应的第二训练权重满足梯度归一化条件,使得识别模型能够准确的识别出食物的类别以及食物的新鲜度。
[0062]
在一实施例中,多任务包括编码器以及解码器。编码器主要有卷积层以及池化层组成,卷积层主要用于提取食物图像的特征信息;而池化层可以加快计算速度和防止过拟合的作用。
[0063]
在本实施例中,编码器还包括编码部分,编码部分由残差卷积网络模块组成,该模块通过挑层连接操作将每一层的输出与前一层输出进行特征融合,以防止训练过程中出现特征消散的情况。通过编码器可以从二维图像表示信息中提取数据,并可提升模型的特征提取能力,可以解决因食物图像中食物被遮挡等因素导致识别不准确的问题。
[0064]
此外,多任务模型的解码器包括第一解码器以及第二解码器。第一解码器以及第二解码器是并联设置的,也即编码器输出的信息分别输入至第一解码器以及第二解码器,第一解码器用于识别食物图像中食物,第二解码器用于识别食物图像中食物新鲜度。第一解码器以及第二解码器均包括三层全连接以及一层输出层,输出层可以是softmax层。全连接层主要起到分类的作用,且全连接层用于获取输入数据所属食物的概率。
[0065]
此外,本实施例中,多任务识别模型的参数需要进行迭代优化,进行优化的优化器可以是adam优化器。
[0066]
在本实施例中,多任务识别模型中包括并联设置的第一编码器以及第二编码器,从而追求的识别了食物图像中食物的类别以及食物新鲜度。
[0067]
参照图4,图4为本发明食物检测方法第三实施例,基于第二实施例,步骤s30包括:
[0068]
步骤s31,获取各张第二食物图像。
[0069]
步骤s32,对各张第二食物图像进行数据增强处理,得到各张第三食物图像,增强处理包括对比度变换、灰度变化和/或尺度变换。
[0070]
在本实施例中,为了增加模型的识别检测鲁棒性,对原始数据进行数据扩充是十分必要的。
[0071]
对此,装置获取多张食物图像,定义为第二食物图像。装置再对第二食物图像进行增强处理得到第三食物图像,增强处理包括但不限于:对比度变换、灰度变换以及尺度变换。每种数据增强处理可以以1:10的比例来丰富训练样本集以得到丰富数据样本的目的。
[0072]
步骤s33,对每张第三食物图像添加食物标签以及食物新鲜度标签,得到各张训练图像。
[0073]
装置可以通过图像处理软件对第三食物图像进行标注,从而为第三食物图像添加
食物标签以及食物新鲜度标签,得到各张训练图像。
[0074]
在本实施例提供的技术方案中,装置对食物图像进行增强处理,从而丰富了训练图像,增强了模型的识别检测鲁棒性。
[0075]
在一实施例中,在模型训练过程中,为了获得更丰富的特征信息,可对imagenet数据集进行了预训练,也即采用标注的食物图像训练一个模型,再将训练后的该模型的模型参数作为多任务模型的初始训练参数,以便于加快多任务模型的训练。
[0076]
对此,装置对多任务模型设置初始训练参数,初始训练参数是完成训练的预设模型的模型参数,装置再根据各张训练图像的食物标签以及食物新鲜度标签对设置初始训练参数的多任务模型的第一梯度值以及第二梯度值进行多轮训练,从而得到识别模型。
[0077]
本发明还提供一种,食物检测装置,参照图5,食物检测装置500包括:
[0078]
输入模块510,用于将待检测的第一食物图像输入至识别模型,其中,识别模型的训练包括食物识别任务的第一梯度值的训练以及食物新鲜度识别任务的第二梯度值的训练,且第一梯度值以及第二梯度值在训练过程中满足梯度归一化条件;
[0079]
确定模块520,用于根据识别模型的输出结果,确定第一食物图像中食物以及食物的新鲜度。
[0080]
在一实施例中,食物检测装置500包括:
[0081]
获取模块,用于获取各张训练图像,训练图像包括食物标签以及食物新鲜度标签;
[0082]
训练模块,用于根据各张训练图像的食物标签以及食物新鲜度标签,对多任务模型的第一梯度值以及第二梯度值进行多轮训练,得到识别模型,其中,每一轮的第一梯度值、第一梯度值对应的第一训练权重、第二梯度值以及第二梯度值对应的第二训练权重满足梯度归一化条件。
[0083]
在一实施例中,食物检测装置500包括:
[0084]
获取模块,用于获取各张第二食物图像;
[0085]
处理模块,用于对各张第二食物图像进行数据增强处理,得到各张第三食物图像,增强处理包括对比度变换、灰度变化和/或尺度变换;
[0086]
添加模块,用于对每张第三食物图像添加食物标签以及食物新鲜度标签,得到各张训练图像。
[0087]
在一实施例中,食物检测装置500包括:
[0088]
设置模块,用于对多任务模型设置初始训练参数,初始训练参数是完成训练的预设模型的模型参数;
[0089]
训练模块,用于根据各张训练图像的食物标签以及食物新鲜度标签,对设置初始训练参数的多任务模型的第一梯度值以及第二梯度值进行多轮训练。
[0090]
图6是根据一示例性实施例示出的一种食物检测设备的硬件结构图。
[0091]
食物检测设备600可以包括:处理器61,例如cpu,存储器62,收发器63。本领域技术人员可以理解,图6中示出的结构并不构成对食物检测设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。存储器62可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0092]
处理器61可以调用存储器62内存储的计算机程序,以完成上述的食物检测方法的全部或部分步骤。
[0093]
收发器63用于接收外部设备发送的信息以及向外部设备发送信息。
[0094]
一种非临时性计算机可读存储介质,当该存储介质中的指令由食物检测设备的处理器执行时,使得食物检测设备能够执行上述食物检测方法。
[0095]
一种计算机程序产品,包括计算机程序,当该计算机程序由食物检测设备的处理器执行时,使得食物检测设备能够执行上述食物检测方法。
[0096]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本发明旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
[0097]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献