1.一种箱柜食物识别系统,其特征在于,包括有识别机构、视频流服务器、识别服务器和存储服务器,其中:所述识别机构,用于采集食物进出箱柜的图像信息,并传输至视频流服务器;
所述视频流服务器,接收识别机构采集的图像信息,并将该图像信息分配至识别服务器;
所述识别服务器,接收图像信息,根据图像信息识别出图片,并通过图片进行追踪判断和识别判断,最后将判断结果发送至存储服务器;
所述存储服务器,接收判断结果,并更新箱柜内的食物数据信息;
视频处理系统如下:
整个系统分为成像模块、标注模块、训练模块,识别模块、轨迹跟踪模块、行为判定模块;
成像模块,通过外接网络摄像头,放置在固定位置,拍摄并捕捉视野范围内的运动目标;
标注模块,给训练模块提供训练数据,分为三部分,第一部分就是对手掌进行标注,第二部分是对手‑手持物品进行标注,第三部分是针对不同物品进行不同种类的标注;
训练模块,对标注的图像选择不同的模型进行训练;
训练类别包括3类,一类是手掌,一类是手掌‑手持的物品,一类是物品;前两类是固定的,最后一类物品,是根据实际需要来选择;
识别模块,用训练好的模型对图片进行识别,对象包括手掌A,手掌‑手持的物品B,手持物品C,给出识别的目标位置box、类别class、得分score;
轨迹跟踪模块,具体步骤如下:
(1)目标类别及位置判定;判定识别模块返回的类别class是否包含类别手掌class_A,如果不包含,认为此帧没有目标,等待下一帧的检测;如果包含class_A ,保存box_A ,score_A的数据,并继续去检查class_B ,class_C;如果存在则保存相关class、box、score这些相关数据;
(2)目标的组合;通过不同的class_A与class_C目标的交并比IOUA_C来判定,哪些目标是一体的,从而剔除错误目标,公式如下:,
多组IOUA_C构成集合E(IOUA_C),集合E(IOUA_C)内部按IOUA_C值递增排序;
(3)去重,由于集合 和多个class_B的集合E(class_B)代表的都是手掌‑手持物体,因此有可能会出现重复,通过非极大值抑制nms,去掉双方集合中重复的目标,nms是通过score来剔除重叠的box,这里面集合E(class_B)中存在类别B的得分score_B,但是集合E(class_B)里面是 IOUA_C无法与score_B比对,设定 再比较;
行为判定模块,连续帧中,确认轨迹;轨迹共有三种状态,取、放、不确定;状态的确认是通过趋势判定,也就是依靠当前目标 中心点与前一帧用来比较的目标 的位置差。
2.如权利要求1所述的一种箱柜食物识别系统,其特征在于:所述的箱柜为箱柜、冷柜、食物柜、置物柜中的一种。
3.如权利要求2所述的一种箱柜食物识别系统,其特征在于:所述识别机构、视频流服务器、识别服务器和存储服务器皆为远端云服务器,且彼此之间通过内外进行数据传输。
4.如权利要求3所述的一种箱柜食物识别系统,其特征在于:所述识别机构包括有至少一设置于箱体外、且位于箱体顶部的相机组成。
5.如权利要求1‑4中任一项所述的一种箱柜食物识别系统,其特征在于:所述识别机构包括有至少一设置于箱体内、且位于箱体底部的相机组成。
6.如权利要求5所述的一种箱柜食物识别系统,其特征在于:所述的食物数据信息包括有种类、箱柜ID、食物特征、放入时间和取出时间。
7.一种箱柜食物识别方法,其特征在于,应用如权利要求1所述的箱柜食物识别系统,包括如下步骤:
1)进行图像的获取,通过摄像头对准箱柜门前面区域,拍摄物品放入或者取出箱柜的画面,摄像头个数至少一个,且每一个摄像头都有一个ID,绑定本台箱柜,并与远程服务器连接;
2)进行图像的传输及分配,每台箱柜获取的图像需要上传至视频流服务器,由视频流服务器分配至识别服务器;
3)进行食物的识别,由识别服务器加载的识别模型识别出相应图片,如果含有目标,那么保留当前箱柜的ID,图片信息,开启食物追踪模式;
4)进行食物的追踪,通过连续多帧中食物的移动趋势,判定食物所处状态,其中当模型识别出箱柜门开启后,当食物靠近箱柜判定是放食物,食物远离箱柜判定是取食物;
5)进行食物的管理,识别服务器,得出食物状态后,根据不同的状态做出反馈,当判断是放食物时,将食物的相关数据发送给存储服务器,存储,更新箱柜食物信息,并将结果同时发送给终端显示;当判断是取食物时,则将该食物的相关数据发送给存储服务器,并接收存储服务器返回的同类型食物特征,对同类型食物比对筛选出最可能的一种食物,返回给存储服务器,存储,更新食物信息,同时将结果发送给终端显示。
8.如权利要求7所述的一种箱柜食物识别方法,其特征在于,在步骤4)中,所述食物的追踪方法为:通过相机安装的位置确定食物的进出方向,令P(x,y)表示食物在相机中的坐标,表示前一帧食物坐标, 表示当前帧食物坐标, 表示两者之差,具体公式如下: ,如靠近相机认为是放食物,此时 值为
正,远离相机认为是取食物,此时 值为负;当连续N帧中的食物的坐标 都为正,N为算法预设值,则认为此时的状态为放食物,当连续N帧中的食物坐标 为负,则认为此时状态为取食物。
9.如权利要求7所述的一种箱柜食物识别方法,其特征在于,在步骤5)中,所述的终端包括有手机APP、微信小程序、箱柜的显示屏幕。