一种食材图像识别的方法及装置、家电设备与流程

文档序号:22737877发布日期:2020-10-31 09:18阅读:194来源:国知局
一种食材图像识别的方法及装置、家电设备与流程

本申请涉及家电设备技术领域,例如涉及一种食材图像识别的方法及装置、家电设备。



背景技术:

目前,对于家电设备(比如,烤箱、微波炉和冰箱),通常利用云端的强大算力来识别家电设备中食材的类型,在网络环境不理想的情况下,就会存在网络延迟,在没有网络的情况下,家电设备食材图像识别的功能就不可用。随着人工智能技术的发展,尤其是深度学习方法的出现,在图像识别方面有了实际的应用,比如利用卷积神经网络模型实现图像识别。此种图像识别的方式无需利用网络,但是,由于利用卷积神经网络模型进行图像识别的计算复杂度较大,对数字信号处理器的性能的要求较高。



技术实现要素:

本公开实施例提供了一种食材图像识别的方法及装置、家电设备,旨在解决利用现有卷积神经网络模型进行图像识别对数字信号处理器的要求较高的技术问题。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。

本公开实施例,提供了一种食材图像识别的方法及装置、家电设备、电子设备,利用经过稀疏化处理的卷积神经网络模型进行家电设备中食材的识别,降低了对数字信号处理器的性能的要求。

本公开实施例提供了一种食材图像识别的方法。

在一些可选实施例中,所述方法包括:

建立用于检测食材类型的卷积神经网络模型,并利用原始食材图像数据集,对卷积神经网络模型进行训练,生成稠密模型;

对稠密模型进行稀疏化处理,生成稀疏模型;

获取家电设备中的食材图像;和

根据稀疏模型对食材图像进行识别,确定食材类型。

本公开实施例提供了一种食材图像识别的装置。

在一些可选实施例中,所述装置包括:

模型训练单元,被配置为建立用于检测食材类型的卷积神经网络模型,并利用原始食材图像数据集,对卷积神经网络模型进行训练,生成稠密模型;

模型稀疏化单元,被配置为对稠密模型进行稀疏化处理,生成稀疏模型;

图像获取单元,被配置为获取家电设备中的食材图像;和

图像识别单元,被配置为根据稀疏模型对食材图像进行识别,确定食材类型。

本公开实施例提供了一种家电设备。

在一些可选实施例中,所述家电设备包括上述的食材图像识别的装置。

本公开实施例提供了一种电子设备。

在一些可选实施例中,所述电子设备包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行时,使所述至少一个处理器执行上述的食材图像识别的方法。

本公开实施例提供了一种计算机可读存储介质。

在一些可选实施例中,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令设置为执行上述的食材图像识别的方法。

本公开实施例提供了一种计算机程序产品。

在一些可选实施例中,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述的食材图像识别的方法。

本公开实施例提供的一些技术方案可以实现以下技术效果:利用经过稀疏化处理的卷积神经网络模型进行家电设备中食材的识别,降低了对数字信号处理器的性能的要求。

以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。

附图说明

一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,附图不构成比例限制,并且其中:

图1是本公开实施例提供的食材图像识别的方法的流程示意图;

图2是本公开实施例提供的食材图像识别的方法的流程示意图;

图3是本公开实施例提供的稠密模型进行稀疏化处理的流程示意图;

图4是本公开实施例提供的食材图像识别的装置的结构示意图;

图5是本公开实施例提供的食材图像识别的装置的结构示意图;以及

图6是本公开实施例提供的电子设备的结构示意图。

附图标记:

1-模型训练单元;2-模型稀疏化单元;3-图像获取单元;4-图像识别单元;5-权重修正单元;6-模型量化单元;7-控制单元。

具体实施方式

为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。

本文中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

在一些可选实施例中,如图1所示,提供了一种食材图像识别的方法,具体包括以下步骤:

s101:建立用于检测食材类型的卷积神经网络模型,并利用原始食材图像数据集,对卷积神经网络模型进行训练,生成稠密模型。

这里,原始食材图像数据集为预先准备的家电设备中的多种食材类型的食材图像。按照预设比例将原始图像数据集划分为训练集和测试集,利用训练集和测试集对卷积神经网络模型进行训练,生成稠密模型。

可选地,原始图像数据集中的图片数量与食材的类型数量存在如下关系:

n=(1.1n-1×n0)×n

其中,n为原始图像数据集中的图片数量,n0为预设的单种食材时的图片数量,n为食材的类型数量。

比如,当预设的单种食材时的图片数量n0为140,食材的类型数量n为21时,原始图像数据集中的图片数量为19728。按照4:1的比例划分训练集和测试集,训练集中的图片数量为15782,测试集中的图片数量为3946。

在图像识别置信度精度相同的情况下,食材的类型数量越多,对于卷积神经网络模型的精准性要求越高。随着食材的类型数量的增加,单种食材时的图片数量随之增加,可以提高训练卷积神经网络模型的精准性,进而提高图像识别的置信度精度。根据食材的类型数量灵活调整原始食材图像数据集中的图像数量,在提升卷积神经网络模型的精准性的前提下,可以降低卷积神经网络模型训练的计算量和参数量,降低对数字信号处理器等硬件的性能要求。

可选地,训练集中的原始食材图像的缩放尺寸(比如180*180)大于测试集中的原始食材图像的缩放尺寸(比如160*160)。训练集中的原始食材图像的缩放尺寸大于测试集中的原始食材图像的缩放尺寸,主要是为了数据增强,提高卷积神经网络模型的泛化能力。

可选地,原始食材图像数据集中的原始食材图像是通过对初始食材图像进行泛化处理获得的。其中,对初始食材图像的泛化处理包括翻转、旋转、缩放、裁剪、平移、添加噪声中的一种或一种以上。一方面,原始图像数据集中的图像数量繁多,采集工作量大,通过对初始食材图像进行泛化处理,可以增加图像数量,降低图像采集难度;另一方面,通过对初始食材图像进行泛化处理,创造出更多的数据,可以使得卷积神经网络具有更好的泛化效果。

s102:对稠密模型进行稀疏化处理,生成稀疏模型。

对于经过对卷积神经网络模型进行训练生成的稀疏模型来说,计算复杂度和参数量都非常大,且存在大量信息冗余,对于数字信号处理器等硬件的性能提出了很高的要求。因此,需要对稠密模型进行稀疏化处理,降低模型的复杂度,减少模型的参数量,以适应配置较低的硬件,扩大模型的适用范围。

可选地,如图3所示,步骤s102具体包括:

s102a:按照稠密模型的神经元和连接的敏感度由低到高的顺序,对稠密模型的神经元中的参数量进行排序。

卷积神经网络包括卷积层、池化层和全连接层,其中,卷积层中,定义一个卷积核(相当于权重),用于提取输入图片每个小部分里具有的特征;池化层用于降低卷积层输出的特征向量的维度;全连接层用于生成一个等于需要的食材类型数量的分类器,这一层中的每个神经元都将和上一层的每个神经元连接。

可选地,遍历稠密模型的权重,利用归并算法,按照稠密模型的权重的时间复杂度对稠密模型的神经元中的参数量进行排序。

可选地,利用o(nlogn)来表示归并算法的时间复杂度,其中的n代表输入权重数据的量。当输入权重数据增大n倍时,耗时增大nlogn倍,这里的log是以2为底的,比如,当数据增大256倍时,耗时增大256*8=2048倍,这个复杂度高于线性低于平方。

s102b:根据预设的稀疏化比值,确定排序后的神经元中的待删除参数量。

由于全连接层中存在多个神经元,预先设定一系列的稀疏化比值p1,p2,…,pn,每一百分比对应一个神经元。根据每一神经元中总的参数量cn和与该神经元相对应的百分比pn计算出待删除的参数量r1,r2,…,rn,其中,rn=c*pn。

s102c:删除所有待删除参数量的连接,生成稀疏模型。

对于排序的前n个参数,直接将神经元和连接变为零,将稠密模型变为稀疏模型。

s103:获取家电设备中的食材图像。

可选地,利用工业相机采集家电设备中的食材图像,工业相机内置图像处理器,可以预置调整食材图像的曝光参数和颜色参数调节至预设参数范围内,保证食材图像的采集质量。

s104:根据稀疏模型对食材图像进行识别,确定食材类型。

这里,利用稀疏模型对家电设备中的食材图像进行识别,确定的食材类型为预存的原始图像数据集中食材的食材类型中的其中一种。

这样,利用经过稀疏化处理的卷积神经网络模型进行家电设备中食材的识别,降低了对数字信号处理器等硬件的性能的要求。

在一些可选实施例中,如图2所示,提供了一种食材图像识别的方法,具体包括以下步骤:

s201:建立用于检测食材类型的卷积神经网络模型,并利用原始食材图像数据集,对卷积神经网络模型进行训练,生成稠密模型。

s202:对稠密模型进行稀疏化处理,生成稀疏模型。

s203:利用原始食材图像数据集,修正稀疏模型的权重。

在对稠密模型进行稀疏化处理的过程中,会带来模型的精度损失。利用原始食材图像数据集,修正稀疏模型的权重,这样可以将稀疏模型的精度恢复至原稠密模型。经过多轮次对稠密模型的稀疏化处理,将稠密模型转换为稀疏模型,在保持稠密模型的原有精度的基础上,大幅度降低了食材图像识别过程中的计算复杂度和参数量。

s204:利用原始食材图像数据集,对稀疏模型的权重进行量化。

可选地,步骤s204包括:利用原始食材图像数据集做概率分布和校准,获得稀疏模型的权重值的动态范围;对动态范围以预设定点数进行非线性量化,获得共享权重值;将所有权重值替换为共享权重值。

稀疏模型的类型通常为32位的浮点模型,在存储和计算上对数字信号处理器和块存储器的资源消耗较大,通过对稀疏模型的权重进行量化,将稀疏模型的类型转换为预设位数(8位)的定点模型。对稀疏模型的权重进行量化可以用更少的位数代表每一权重来进一步压缩精简网络。卷积神经网络对低精度权重值具有非常高的容忍度,因此,极度粗略的权重值并不会降低预测精度。研究表明,在不降低稀疏模型的精度的前提下,消耗的计算和存储资源降至原类型为浮点类型的1/4,进一步降低了食材图像识别过程中的计算复杂度,降低了对硬件性能的要求。

s205:获取家电设备中的食材图像。

s206:根据稀疏模型对食材图像进行识别,确定食材类型。

s207:获取与食材类型相对应的家电设备的运行参数。

这里,运行参数与家电设备的设备功能相对应。家电设备本地预存有与食材类型相对应的各种家电设备的运行参数,比如,“大虾;储存温度,-4℃(℃:摄氏度);烘焙温度,120℃;烘焙时间,2min(min:分钟);微波加热时间,1min”、“鸡翅;储存温度,-6℃;烘焙温度,240℃;烘焙时间,4min;微波加热时间,3min”。在确定食材类型为大虾后,获取家电设备的设备功能为“烤箱;烘焙温度调节;烘焙时间调节”时,则获取与大虾相对应的烤箱的运行参数为“烘焙温度,120℃;烘焙时间,2min”;获取家电设备的设备功能为“烤箱;烘焙时间调节”时,则获取与大虾相对应的烤箱的运行参数为“烘焙时间,2min”。这样,获取与家电设备的设备功能相对应的家电设备的运行参数以控制家电设备的运行,家电设备的运行参数适应于其自身的功能,更为灵活。

s208:根据运行参数控制家电设备运行。

当与大虾相对应的烤箱的运行参数为“烘焙温度,120℃;烘焙时间,2min”,控制烤箱在120℃的烘焙温度条件下,烘焙2min;当与大虾相对应的烤箱的运行参数为“烘焙时间,2min”,控制烤箱烘焙2min。

这样,对经过稀疏化处理的稀疏模型进一步进行训练,保持模型的原有精度的基础,并对稀疏模型的权重进行量化,用更少的位数来代表每一权重来进一步压缩精简网络,降低了模型在存储和计算上对于数字信号处理器和块存储器的资源消耗。同时,选取与家电设备的设备功能相适应的运行参数以控制家电设备自动运行,无需人工操作,提升用户体验,方便灵活。

在一些可选实施例中,如图4所示,提供了一种食材图像识别的装置,包括:

模型训练单元1,被配置为建立用于检测食材类型的卷积神经网络模型,并利用原始食材图像数据集,对卷积神经网络模型进行训练,生成稠密模型;

模型稀疏化单元2,被配置为对稠密模型进行稀疏化处理,生成稀疏模型;

图像获取单元3,被配置为获取家电设备中的食材图像;

图像识别单元4,被配置为根据稀疏模型对食材图像进行识别,确定食材类型。

可选地,模型稀疏化单元2具体被配置为:

按照稠密模型的神经元和连接的敏感度由低到高的顺序,对稠密模型的神经元进行排序;

根据预设的稀疏化比值,确定排序后的神经元中的待删除神经元;

删除所有待删除神经元的连接,生成稀疏模型。

在一些可选实施例中,如图5所示,提供了一种食材图像识别的装置,包括:

模型训练单元1,被配置为建立用于检测食材类型的卷积神经网络模型,并利用原始食材图像数据集,对卷积神经网络模型进行训练,生成稠密模型;

模型稀疏化单元2,被配置为对稠密模型进行稀疏化处理,生成稀疏模型;

权重修正单元5,被配置为利用原始食材图像数据集,修正稀疏模型的权重;

模型量化单元6,被配置为利用原始食材图像数据集,对稀疏模型的权重进行量化;

图像获取单元3,被配置为获取家电设备中的食材图像;

图像识别单元4,被配置为根据稀疏模型对食材图像进行识别,确定食材类型;

控制单元7,被配置为:

获取与食材类型相对应的家电设备的运行参数;

根据运行参数控制家电设备运行;

其中,运行参数与家电设备的设备功能相对应。

可选地,模型量化单元6具体被配置为:

利用原始食材图像数据集做概率分布和校准,获得稀疏模型的权重值的动态范围;

对动态范围以预设定点数进行非线性量化,获得共享权重值;

将所有权重值替换为共享权重值。

本公开实施例还提供了一种家电设备(例如:烤箱、微波炉和冰箱等),包含上述的食材图像识别的装置。

本公开实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为执行上述食材图像识别的方法。

本公开实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述食材图像识别的方法。

上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。

本公开实施例还提供了一种电子设备,其结构如图6所示,该电子设备包括:

至少一个处理器(processor)60,图6中以一个处理器60为例;和存储器(memory)61,还可以包括通信接口(communicationinterface)62和总线63。其中,处理器60、通信接口62、存储器61可以通过总线63完成相互间的通信。通信接口62可以用于信息传输。处理器60可以调用存储器61中的逻辑指令,以执行上述实施例的食材图像识别的方法。

此外,上述的存储器61中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。

存储器61作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。处理器60通过运行存储在存储器61中的软件程序、指令以及模块,从而执行功能应用以及数据处理,即实现上述方法实施例中的食材图像识别的方法。

存储器61可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器61可以包括高速随机存取存储器,还可以包括非易失性存储器。

本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例所述方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。

以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。本公开实施例的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。当用于本申请中时,虽然术语“第一”、“第二”等可能会在本申请中使用以描述各元件,但这些元件不应受到这些术语的限制。这些术语仅用于将一个元件与另一个元件区别开。比如,在不改变描述的含义的情况下,第一元件可以叫做第二元件,并且同样第,第二元件可以叫做第一元件,只要所有出现的“第一元件”一致重命名并且所有出现的“第二元件”一致重命名即可。第一元件和第二元件都是元件,但可以不是相同的元件。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。

本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1