本发明实施例涉及食材存储设备控制技术,尤指一种冰箱食材管理方法。
背景技术:
冰箱是现代家庭必不可少的家用电器,随着科技进步,智能冰箱越来越多地受到用户的青睐,智能冰箱中,食材录入是所有功能的第一步,为其他功能的基础。
目前,食材录入主要有:图像识别、语言输入和用户手动输入等方式。其中图像识别,无需用户的参与操作,实现自动录入是产品的改进发展方向;但是,由于图像识别算法的运算处理需要消耗一定的服务器运算资源,当大量的冰箱同时申请进行图像识别处理时,将对服务器造成一定的运行压力,对此减少图像识别的需求量,是一个有效的减压途径;
另外,由于目前的技术限制,图像识别的结果,还无法完全保证识别结果的准确性;图像识别出现了错误后,需要用户额外的操作调整;所以省去不必要的图像识别运算次数,减少出现识别错误的次数,也是一种减少用户额外操作的方式。
另一方面,用户在使用操作冰箱的过程中,大部分时候只是存取少量的几件物品,改变的是冰箱内局部的空间,所以很多时候开关门后,不需要对冰箱内整体空间,重新进行识别处理;只有在食材大采购、冰箱整理等时候,冰箱内会整体发生改变,需要进行全局的识别处理;
技术实现要素:
本发明实施例提供了一种冰箱食材管理方法,
可选地,获取冰箱存储腔内的食材图像包括:
在冰箱门被关闭后,通过冰箱内预设的摄像头拍摄冰箱存储腔内的第一食材图像。
可选地,检测获取的第一食材图像相对于预存的第二食材图像之间的图像变化量包括:
通过预设的检测算法确定第一食材图像与第二食材图像之间不相同的图像区域;
确定不相同的图像区域占第一食材图像或第二食材图像的比例。
可选地,根据图像变化量判断冰箱存储腔内的食材变化信息包括:
当该比例小于预设的下限阈值时,判定冰箱存储腔内食材未发生变化;
当该比例大于或等于预设的下限阈值时,判定冰箱存储腔内食材已发生变化,并对发生变化的食材进行识别。
可选地,对发生变化的食材进行识别包括:
当该比例大于或等于下限阈值,小于预设的上限阈值时,采用预设的图像分割算法对发生变化的食材进行识别;
当该比例大于或等于预设的上限阈值时,采用预设的食材检测模型对发生变化的食材进行识别。
可选地,采用预设的食材检测模型对发生变化的食材进行识别包括:
将获取的食材图像输入预先训练好的食材检测模型中;
通过食材检测模型对输入的食材图像中的食材进行定位识别。
可选地,采用预设的图像分割算法对发生变化的食材进行识别包括:
采用图像分割算法截取第一食材图像中相对于第二食材图像发生变化的图像区域,标记为第一图像区域;并截取第二食材图像中相对应的图像区域,标记为第二图像区域;
将截取的第一图像区域和第二图像区域输入预先训练好的分类算法模型中,以通过分类算法模型对第一图像区域和第二图像区域中的食材进行识别,并根据识别结果判断食材的变化信息。
可选地,通过分类算法模型对第一图像区域和第二图像区域中的食材进行识别,并根据识别结果判断食材的变化信息包括:
当第二图像区域中的第一位置区域包含第一食材图像,与第一位置区域相邻的第二位置区域包含第二食材图像,并且第一图像区域中的第一位置区域包含第一食材图像,与第一图像区域中的第一位置区域相邻的第二位置区域包含第一食材图像时,将第一图像区域中的第一位置区域和第二位置区域的食材确定为第一食材,并将第一食材所占区域更新为第一位置区域以及第二位置区域的总和,并判定第二食材图像对应的第二食材被取出;
当第二图像区域中的第三位置区域包含第三食材图像,第一图像区域中的第三位置区域中的第一子区域包含第三食材图像,与第一子区域相邻的第三位置区域中的第二子区域包含第四食材图像;则将第一子区域的食材确定为第三食材,将第二子区域的食材确定为第四食材,并将第三食材所占区域更新为第一子区域,并判定冰箱内放入了第四食材。
可选地,该方法还包括:
直接对第一图像区域和第二图像区域中的食材进行识别;
当第一图像区域识别结果的置信度大于第二图像区域识别结果的置信度时,确定存入第一图像区域识别结果的食材;
当第一图像区域识别结果的置信度小于或等于第二图像区域识别结果的置信度时,确定取出第二图像区域识别结果的食材。
可选地,食材检测模型包括:基于食材检测训练算法的深度卷积神经网络模型;
食材检测训练算法包括:faster-rcnn算法、ssd算法或rfcn算法;
分类算法模型包括:googlenet模型、vgg16模型或resnet模型;
检测算法包括:静态差分算法或高斯背景建模算法。
本发明实施例的有益效果包括:
1、本发明实施例中获取冰箱存储腔内的第一食材图像;检测获取的第一食材图像相对于预存的第二食材图像之间的图像变化量;根据该图像变化量判断冰箱存储腔内的食材变化信息。该实施例方案减少了图像识别的运算量,减少了识别服务器压力,并降低用户的参与程度。
2、本发明实施例中检测获取的第一食材图像相对于预存的第二食材图像之间的图像变化量包括:通过预设的检测算法确定第一食材图像与第二食材图像之间不相同的图像区域;确定不相同的图像区域占第一食材图像或第二食材图像的比例。该实施例方案通过比例计算替代了图像识别运算,从而减少了图像识别运算的次数。
3、本发明实施例中当该比例小于预设的下限阈值时,判定冰箱存储腔内食材未发生变化;当该比例大于或等于预设的下限阈值时,判定冰箱存储腔内食材已发生变化,并对发生变化的食材进行识别。该实施例方案通过将图像变化量所占的比例与预设的阈值相比较从而确定食材是否发生变化,只对冰箱内变化区域的图片进行运算,减少了识别运算的工作量,减少了需要识别的图片;进一步减少了识别服务器压力。
4、本发明实施例中当该比例大于或等于下限阈值,小于预设的上限阈值时,采用预设的图像分割算法对发生变化的食材进行识别;当该比例大于或等于预设的上限阈值时,采用预设的食材检测模型对发生变化的食材进行识别。该实施例方案根据不同的比较结果均采用预设的算分或模型对食材进行识别,减少了冰箱系统进行实时计算的工作量,并且减少了用户的参与程度。
5、本发明实施例中采用图像分割算法截取第一食材图像中相对于第二食材图像发生变化的图像区域,标记为第一图像区域;并截取第二食材图像中相对应的图像区域,标记为第二图像区域;将截取的第一图像区域和第二图像区域输入预先训练好的分类算法模型中,以通过分类算法模型对第一图像区域和第二图像区域中的食材进行识别,并根据识别结果判断食材的变化信息。该实施例方案为达到较好的识别算法运行效率,输入算法的图片信息是有限的,只对变化区域的图片进行识别,可以集中处理变化的小区域图片,从而可以输入更精细的图片信息,利于提高识别准确度。另外,该实施例方案不对未变化的区域进行识别处理,使得未变化的区域不会有新的识别错误。
附图说明
下面结合附图对本发明做进一步的说明:
图1为本发明实施例的冰箱食材管理方法流程图;
图2为本发明实施例的冰箱食材管理方法示意图;
图3为目前的边缘分割方法示意图;
图4为本发明实施例的通过分类算法模型对第一图像区域和第二图像区域中的食材进行识别时的取出食材实施例示意图;
图5为本发明实施例的通过分类算法模型对第一图像区域和第二图像区域中的食材进行识别时的放入食材实施例示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例一
一种冰箱食材管理方法,如图1、图2所示,该方法包括步骤s101-s103:
s101、获取冰箱存储腔内的第一食材图像。
可选地,获取冰箱存储腔内的食材图像包括:
在冰箱门被关闭后,通过冰箱内预设的摄像头拍摄冰箱存储腔内的第一食材图像。
在本发明实施例中,可以预先在冰箱内设置一个或多个摄像头,以便用户在关闭冰箱后对冰箱内食材进行拍照,获取上述的第一食材图像,从而通过该第一食材图像确认冰箱内的食材变化信息。
在本发明实施例中,由于当前的冰箱都会设置不同的存储空间,为了提高食材的识别准确率,可以预先对拍摄的照片进行筛选,以按照不同的储物框架(如搁架、腔室)进行划分,并分别对不同储物框架内的食材进行识别,提高识别效率和准确性。并且每次关门后,不需对冰箱内所有的图片进行识别处理,减少了图像识别算法的运算压力。
s102、检测获取的第一食材图像相对于预存的第二食材图像之间的图像变化量。
在本发明实施例中,为了较小图像识别的运算量,可以将拍摄获取的第一食材图像与预存的历史食材图像,即上述的第二食材图像相比较,获取第一食材图像与第二食材图像之间的图像变化量,以便在后续计算中仅针对具有该图像变化量的区域进行识别,不对未变化的区域进行识别处理,从而使得未变化的区域不会有新的错误识别。因为任何识别算法不能保证完全正确,没有新的识别,也就不会有新的识别错误识别,从而也不会出现新的错误识别结果需要用户修正,进一步改善了用户体验。
在本发明实施例中,该第二食材图像可以是冰箱内存储的上一次冰箱门关上时拍摄的冰箱存储腔内的食材图像,冰箱系统直接调取存储信息便可以获取该第二食材图像。另外,冰箱系统也可以通过无线技术与云存储器或用户终端(例如,手机、ipad、可穿戴设备等)通信,从所述云存储器或用户终端获取上一次冰箱门关上时拍摄的冰箱存储腔内的食材图像。
可选地,检测获取的第一食材图像相对于预存的第二食材图像之间的图像变化量可以包括s201-s202:
s201、通过预设的检测算法确定第一食材图像与第二食材图像之间不相同的图像区域。
在本发明实施例中,图像变化量检测的主要目的是检测出图像的局部是否有物体更新,即判断某个区域是否有食材被放入或者取出。在对图像变化量,即图像变化的多少或大小进行检测之前,需要首先确定出第一食材图像相较于第二食材图像的变化区域,即上述的不相同的图像区域。
在本发明实施例中,可以采用预设的检测算法来实现。
可选地,该预设的检测算法可以包括:静态差分算法或高斯背景建模算法。
静态差分算法:以冰箱上一次关闭所保存的图片作为参考帧,简单通过当前图像上任意位置区域的邻域均值减去该参考帧相同位置区域的邻域均值得到两张图像的图像变化差值。当该图像变化差值超过预设的差分阈值时,将当前图像标注为前景,确认两张图像存在较大变化。当该图像变化差值小于该差分阈值时,将当前图像作为背景(即新的参考帧),即可以确定两张图像无变化。静态差分算法可以表述为:
其中,pi,j为当前图向的像素值,refi,j为参考帧的像素值,subi,j为差分结果,t为差分阈值。
对前景像素进行连通域提取,获取完整的变化区域即为目标区域。
高斯背景建模算法:假设每个像素在时域上符合正态分布,在一定阈值范围内的像素判定为背景,并用来更新模型,不符合该分布的像素即为前景。由于该算法为比较成熟的算法,具体算法可以参见相关文献,在此不再赘述。
s202、确定不相同的图像区域占第一食材图像或第二食材图像的比例。
在本发明实施例中,确定图像变化量检测的目标是提取变化区域范围,并确定其占整幅图像的比例。由于第一食材图像和第二食材图像的整体图像大小是相同的,在通过上述步骤获取图像的变化区域,即上述的不相同的图像区域以后,通过将不相同的图像区域与第一食材图像和第二食材图像中的任意一张图像进行尺寸相比便可以计算出该不相同的图像区域占整个图像的比例。
s103、根据该图像变化量判断冰箱存储腔内的食材变化信息。
在本发明实施例中,获得图像变化量占整幅图像的比例后,可以依据该比例进行食材变化情况判断。
可选地,根据图像变化量判断冰箱存储腔内的食材变化信息可以包括:
当该比例小于预设的下限阈值时,判定冰箱存储腔内食材未发生变化;
当该比例大于或等于预设的下限阈值时,判定冰箱存储腔内食材已发生变化,并对发生变化的食材进行识别。
在本发明实施例中,如果比例小于下限阈值,则认为图像没有发生变化,不更新食材数据,可以结束此图像处理工作;如果比例大于或等于下限阈值,则认为图像发生变化,需要进行背景数据更新,以提供下次图像变化量分析的参考帧,同时进行进一步的食材识别处理流程。
在本发明实施例中,该下限阈值可以根据不同的应用场景自行定义,对于其具体数值不做限制。可选地,该下限阈值为1%或者其他较低的数值。
可选地,对发生变化的食材进行识别可以包括以下两种处理情况:
情况一、当该比例大于或等于下限阈值,小于预设的上限阈值时,采用预设的图像分割算法对发生变化的食材进行识别。
在本发明实施例中,还可以进一步预先设置上限阈值,该上限阈值也可以根据不同的应用场景自行定义,对于其具体数值不做限制。可选地,该上限阈值为50%或者其他较高的数值。
在本发明实施例中,当该比例大于或等于下限阈值,小于预设的上限阈值时,说明图像变化量较小,可以对该较小的图像变化区域进行分割,并采用预设的图像分割算法单独对该区域进行图像识别。由于为达到较好的识别算法运行效率,输入系统算法中的图像信息是有限的,如果只对变化区域的图片进行识别,就可集中处理变化的小区域图片,从而可以输入更精细的图片信息,利于提高识别准确度。另外,不对未变化的区域进行识别处理,未变化的区域不会有新的错误识别。
可选地,采用预设的图像分割算法对发生变化的食材进行识别可以包括步骤s301-302:
s301、采用图像分割算法截取第一食材图像中相对于第二食材图像发生变化的图像区域,标记为第一图像区域;并截取第二食材图像中相对应的图像区域,标记为第二图像区域。
在本发明实施例中,图像分割算法可以采用基于边缘的分割方法、基于区域相似性的分割方法等。对于食品而言,基于边缘分割方法是一种比较有效的方式。如图3所示,基于边缘分割方法可以找到区域的分割线,便于食材图像的截取。根据物品的轮廓区域分析,对比开门前后图像的变化,判定物品的取出、放入操作,可以自动准确地完成物料的管理。
s302、将截取的第一图像区域和第二图像区域输入预先训练好的分类算法模型中,以通过分类算法模型对第一图像区域和第二图像区域中的食材进行识别,并根据识别结果判断食材的变化信息。
可选地,在本发明实施例中,包括:googlenet模型、vgg16模型或resnet模型。
在本发明实施例中,基于深度卷积神经网络的分类算法模型可以对分割后的子区域(如上述的第一图像区域)进行分类识别。所采用的分类模型可以是工程上较为常用的googlenet模型、vgg16模型、resnet模型或者其他卷积网络模型。这些模型需要预先通过大量的图像和算法运行以及算法的不断升级进行训练。其中,用于模型训练的数据集还可以根据用户的修改信息进行更新丰富。
在本发明实施例中,该分类算法模型的分类原则是:1)针对分割子区域处食材的识别结果,如果在该食材邻近的位置,在列表清单中也有相应类别的食品,则对两者进行类别归类,并对该食材的位置区域进行扩展。该情况反应了部分食材被取出(见图4所示);(2)针对分割子区域处食材的识别结果,如果在该食材邻近的位置,在列表清单无相应类别的食品,则确定该食材为新增食材,可以在系统的列表清单中添加该食材及其位置信息,同时,修改列表清单中与该类别重叠的食品位置信息数据,减去重叠区域。该部分反应有新食品放入冰箱(见图5所示)。根据上述分类原则,可以判断哪些食材被取出,哪些食材被放入。
在本发明实施例中,下面将详细描述上述的分类方案。
可选地,通过分类算法模型对第一图像区域和第二图像区域中的食材进行识别,并根据识别结果判断食材的变化信息可以包括:
当第二图像区域中的第一位置区域包含第一食材图像,与第一位置区域相邻的第二位置区域包含第二食材图像,并且第一图像区域中的第一位置区域包含第一食材图像,与第一图像区域中的第一位置区域相邻的第二位置区域包含第一食材图像时,将第一图像区域中的第一位置区域和第二位置区域的食材确定为第一食材,并将第一食材所占区域更新为第一位置区域以及第二位置区域的总和,并判定第二食材图像对应的第二食材被取出;
当第二图像区域中的第三位置区域包含第三食材图像,第一图像区域中的第三位置区域中的第一子区域包含第三食材图像,与第一子区域相邻的第三位置区域中的第二子区域包含第四食材图像;则将第一子区域的食材确定为第三食材,将第二子区域的食材确定为第四食材,并将第三食材所占区域更新为第一子区域,并判定冰箱内放入了第四食材。
在本发明实施例中,下面通过举例说明上述实施例方案。
如图4所示,当第二图像区域(即历史食材图像中截取的子区域)中的第一位置区域包含鸡蛋的图像,与第一位置区域相邻的第二位置区域包含罐头的图像,并且第一图像区域(即冰箱门关闭后新拍摄的食材图像中截取的子区域)中的第一位置区域包含鸡蛋的图像,与第一图像区域中的第一位置区域相邻的第二位置区域也包含鸡蛋的图像时,将第一图像区域中的第一位置区域和第二位置区域的食材确定为鸡蛋,并将鸡蛋所占区域更新为第一位置区域以及第二位置区域的总和,并判定罐头的图像对应的罐头被取出。
如图5所示,当第二图像区域中的第三位置区域包含鸡蛋的图像,第一图像区域中的第三位置区域中的第一子区域包含鸡蛋的图像,与第一子区域相邻的第三位置区域中的第二子区域包含罐头的图像;则将第一子区域的食材确定为鸡蛋,将第二子区域的食材确定为罐头,并将鸡蛋所占区域更新为第一子区域,并判定冰箱内放入了罐头。
情况二、当该比例大于或等于预设的上限阈值时,采用预设的食材检测模型对发生变化的食材进行识别。
可选地,该食材检测模型可以包括:基于食材检测训练算法的深度卷积神经网络模型;食材检测训练算法可以包括:faster-rcnn算法、ssd算法或rfcn算法。
在本发明实施例中,可以基于深度卷积神经网络的检测方案,先对冰箱场景采集一定数量的带食材特征标注信息的训练数据集,通过大量的训练数据集对食材检测模型进行训练,以实现该模型对食材的识别功能;具体的实现算法可以包括:faster-rcnn算法、ssd(singleshotmultiboxdetector)算法或者是rfcn(region-basedfullyconvolutionalnetworks)算法等。
在本发明实施例中,获取该食材检测模型后,则可以根据该模型对第一食材图像进行食品定位与识别。
可选地,采用预设的食材检测模型对发生变化的食材进行识别可以包括:
将获取的食材图像输入预先训练好的食材检测模型中;
通过食材检测模型对输入的食材图像中的食材进行定位识别。
在本发明实施例中,预先训练好的食材检测模型可以直接对输入的第一食材图像进行处理,并输出识别结果。例如,如果第一食材图像中的食材包括土豆、白菜、香蕉、火腿,则直接输出食材“土豆”“白菜”、“香蕉”、“火腿”及其位置。
在本发明实施例中,还可以进一步将获取的食品位置与类别信息反馈给用户,让用户修改或者确认,如果用户进行修改,则保存修改信息,并将修改后的图像、食品位置、类别信息去更新检测数据训练集,提高算法识别率,同时可以生成食品信息清单。根据生成的食品信息清单,更新食品位置与类别列表,同时将用户修改过的数据收录入前述的分类数据训练集,并可以将食品信息清单展示给用户。如果用户无修改,则直接生成该食品信息清单,将结果展示给用户查看。该实施例可以最大限度的利用用户修改所带来的信息增量。
实施例二
该实施例与实施例仪的区别在于,给出了判断食材的变化信息的方案。
在本发明实施例中,还可以通过下述方案对第一图像区域和第二图像区域中的食材进行识别,并根据识别结果判断食材的变化信息。
可选地,该方法还可以包括:
直接对第一图像区域和第二图像区域中的食材进行识别;
当第一图像区域识别结果的置信度大于第二图像区域识别结果的置信度时,确定存入第一图像区域识别结果的食材;
当第一图像区域识别结果的置信度小于或等于第二图像区域识别结果的置信度时,确定取出第二图像区域识别结果的食材。
在本发明实施例中,具体是通过对食材识别的置信度对食材变化信息进行判断。可以对第一图像区域中的食材图像进行食材识别;将识别结果中置信度大于预设的置信度阈值的第五食材确认为第一图像区域中的食材;将确认出的第五食材与第二图像区域内对应的第六食材相比较;如果比较结果为第五食材与第六食材不相同,则判定第六食材已被取出,并且在第六食材的位置放入了第五食材。当识别结果中的多种食材的置信度均小于或等于置信度阈值时,判定第一图像区域中无食材;并判定第六食材被取出,并且在第六食材的位置未放入新的食材。
本发明实施例的有益效果包括:
1、本发明实施例中获取冰箱存储腔内的第一食材图像;检测获取的第一食材图像相对于预存的第二食材图像之间的图像变化量;根据该图像变化量判断冰箱存储腔内的食材变化信息。该实施例方案减少了图像识别的运算量,减少了识别服务器压力,并降低用户的参与程度。
2、本发明实施例中检测获取的第一食材图像相对于预存的第二食材图像之间的图像变化量包括:通过预设的检测算法确定第一食材图像与第二食材图像之间不相同的图像区域;确定不相同的图像区域占第一食材图像或第二食材图像的比例。该实施例方案通过比例计算替代了图像识别运算,从而减少了图像识别运算的次数。
3、本发明实施例中当该比例小于预设的下限阈值时,判定冰箱存储腔内食材未发生变化;当该比例大于或等于预设的下限阈值时,判定冰箱存储腔内食材已发生变化,并对发生变化的食材进行识别。该实施例方案通过将图像变化量所占的比例与预设的阈值相比较从而确定食材是否发生变化,只对冰箱内变化区域的图片进行运算,减少了识别运算的工作量,减少了需要识别的图片;进一步减少了识别服务器压力。
4、本发明实施例中当该比例大于或等于下限阈值,小于预设的上限阈值时,采用预设的图像分割算法对发生变化的食材进行识别;当该比例大于或等于预设的上限阈值时,采用预设的食材检测模型对发生变化的食材进行识别。该实施例方案根据不同的比较结果均采用预设的算分或模型对食材进行识别,减少了冰箱系统进行实时计算的工作量,并且减少了用户的参与程度。
5、本发明实施例中采用图像分割算法截取第一食材图像中相对于第二食材图像发生变化的图像区域,标记为第一图像区域;并截取第二食材图像中相对应的图像区域,标记为第二图像区域;将截取的第一图像区域和第二图像区域输入预先训练好的分类算法模型中,以通过分类算法模型对第一图像区域和第二图像区域中的食材进行识别,并根据识别结果判断食材的变化信息。该实施例方案为达到较好的识别算法运行效率,输入算法的图片信息是有限的,只对变化区域的图片进行识别,可以集中处理变化的小区域图片,从而可以输入更精细的图片信息,利于提高识别准确度。另外,该实施例方案不对未变化的区域进行识别处理,使得未变化的区域不会有新的识别错误。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。