1.本申请涉及电子技术领域,特别涉及一种冰箱。
背景技术:2.随着电子技术的发展,对于家用电器(如冰箱)的使用智能化和便捷性的要求越来越高。示例地,目前要求冰箱可以自动确定用户从冰箱中的哪一隔层存取食材。
3.相关技术中,冰箱包括储藏室、摄像头和控制器。用户在冰箱的储藏室中存取食材时,该摄像头可以抓取食材的图像。进而,控制器可以根据食材在该图像中的位置,确定用户在冰箱中存取食材的位置。
4.但是,由于摄像头的视野无法覆盖整个储藏室,故相关技术中确定冰箱中用户存取食材的位置的准确性往往较低。
技术实现要素:5.本申请提供了一种冰箱,可以解决确定冰箱中用户存取食材的位置的准确性往往较低的问题。所述冰箱包括:
6.机壳,所述机壳包括储藏室,所述储藏室具有开口;
7.门,与所述机壳活动连接,用于遮挡所述开口;
8.摄像设备,用于采集所述开口处的图像;
9.搁架,位于所述储藏室中,用于将所述储藏室划分为多个储物层;
10.重量传感器,用于检测对应的所述搁架及其上承载的物体的重量;
11.控制器,用于:
12.根据所述摄像设备采集的包括手部的多帧图像,确定所述手部的移动轨迹;
13.根据所述移动轨迹,确定多个储物区中所述手部经过的目标储物区,所述储物区包括至少两个所述储物层,且所述多个储物区中的储物层不同;
14.根据位于所述目标储物区的各个储物层之间的至少一个搁架对应的重量传感器检测的重量,确定所述目标储物区中储藏的食材发生变化的目标储物层。
15.本申请提供的技术方案带来的有益效果至少包括:
16.本申请提供的冰箱中,控制器可以根据位于目标储物的各个储物层之间的至少一个搁架对应的重量传感器检测的重量,确定目标储物区中储藏的食材发生变化的目标储物层,确定用户存取的食材的储藏位置为该目标储物层。由于存取储物层中位于搁架上的食材必然会改变搁架对应的重量传感器检测的重量,故可以避免食材被遮挡导致存取食材时其储藏位置无法确定的情况,提高了确定食材的储藏位置的准确性。
附图说明
17.图1是本申请实施例提供的一种冰箱的结构示意图;
18.图2是本申请实施例提供的一种食材的储藏位置的确定方法的流程图;
19.图3是本申请实施例提供的另一种冰箱的结构示意图;
20.图4是本申请实施例提供的一种感知模组的结构示意图;
21.图5是本申请实施例提供的另一种食材的储藏位置的确定方法的流程图;
22.图6是本申请实施例提供的一种食材识别方法的流程图;
23.图7是本申请实施例提供的一种关键图像的示意图;
24.图8是本申请实施例提供的一种确定目标训练数据的方法的流程图。
具体实施方式
25.为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
26.随着电子技术的发展,对于各种家用电器的要求越来越高。目前对于冰箱中食材的智能化管理是已成为冰箱发展的趋势之一,而对冰箱中食材的储藏位置的确定是实现其智能化管理的重要环节。目前通过对摄像头抓取的储藏室的图像进行识别,进而确定用户存取的食材的储藏位置。但是由于摄像头采集图像时会存在盲区,当用户将食材存取在该盲区内时,摄像头无法采集到该食材的图像,进无法确定用户存取的食材的储藏位置,故通过对摄像头采集的图像进行识别确定食材的储藏位置的准确性较低,局限性较大。本申请实施例提供了一种冰箱,可以提高冰箱确定食材的储藏位置的准确性。
27.图1是本申请实施例提供的一种冰箱的结构示意图。如图1所示,该冰箱10可以包括:机壳101、门102、摄像设备103、搁架104、重量传感器和控制器(图1中未示出)。该机壳101包括储藏室,储藏室具有开口(图1未标出储藏室、开口与重量传感器);门102与机壳101活动连接,用于遮挡该储藏室的开口;摄像设备103,用于采集开口处的图像。该搁架104位于储藏室中,用于将储藏室划分为多个储物层c;每个重量传感器用于检测对应的搁架104及其上承载的物体的重量。需要说明的是,图1以储藏室中设置有三个搁架104为例进行示意,该三个搁架104可以将储藏室划分为4个储物层c。可选地,搁架104的个数也可以为两个或者四个甚至更多,本申请实施例对此不做限定。可选地,本申请实施例中的储藏室可以包括冷藏室和冷冻室,门可以包括与冷藏室对应的至少一个门,以及与冷冻室对应的至少一个门,图1仅对冷藏室中的结构进行了示意,对于冷冻室可以参考对于冷藏室的介绍。
28.可选地,控制器可以位于机壳101内部的任意位置,被机壳101所包裹;或者控制器也可以位于机壳101外部的任意位置;或者控制器也可以位于门102内部的任意位置,被门包裹;或者控制器也可以位于门102外部的任意位置;或者控制器也可以独立于机壳101与门102,本申请实施例对控制器的设置位置不做限定。控制器可以与摄像设备103通信连接,用于获取摄像设备103采集的图像。控制器还可以与重量传感器通信连接,用于获取重量传感器检测的重量。
29.控制器可以用于执行如图2所示的食材的储藏位置的确定方法。如图2所示,该方法可以包括:
30.步骤201、根据摄像设备采集的包括手部的多帧图像,确定手部的移动轨迹。
31.步骤202、根据移动轨迹,确定多个储物区中手部经过的目标储物区,储物区包括至少两个储物层,且多个储物区中的储物层不同。
32.步骤203、根据位于目标储物区的各个储物层之间的至少一个搁架对应的重量传
感器检测的重量,确定目标储物区中储藏的食材发生变化的目标储物层。
33.综上所述,本申请实施例提供的冰箱中,控制器可以根据位于目标储物的各个储物层之间的至少一个搁架对应的重量传感器检测的重量,确定目标储物区中储藏的食材发生变化的目标储物层,确定用户存取的食材的储藏位置为该目标储物层。由于存取储物层中位于搁架上的食材必然会改变搁架对应的重量传感器检测的重量,故可以避免食材被遮挡导致存取食材时其储藏位置无法确定的情况,提高了确定食材的储藏位置的准确性。
34.可选地,请继续参考图1,本申请实施例中每个搁架104对应的重量传感器可以包括位于搁架104的底面的多个子重量传感器105,搁架的底面与搁架的承载面相对,搁架对应的重量传感器检测的重量可以为:该多个子重量传感器105检测的重量的平均值,或者该多个子重量传感器105检测的重量之和。可选地,每个搁架也可以仅包括一个子重量传感器,本申请实施例对此不作限定。
35.可选地,每个搁架也可以位于对应的承载结构上,搁架对应的重量传感器可以位于搁架与对应的承载结构之间,以检测该搁架及其承载的物体的重量。
36.示例地,请继续参考图1,冰箱10还可以包括位于储藏室的侧壁上的至少一组凸台t,该每组凸台t可以为一个承载结构。该至少一组凸台t与该至少一个搁架104一一对应,对于任一组凸台t及其对应的搁架104,该组凸台t用于承载该搁架104,且搁架104对应的重量传感器位于搁架104与凸台t之间。可选地,每组凸台可以包括对搁架中相对的两端进行支撑的至少两个凸台。示例地,该重量传感器包括的多个子重量传感器可以位于搁架的底面的边缘区域。例如,重量传感器包括两个子重量传感器,该两个子重量传感器可以分别位于搁架的底面中相对两端的边缘位置。又例如,重量传感器包括四个子重量传感器,该四个子重量传感器可以分别位于搁架的底面的四个角的位置。
37.可选地,该承载结构也可以为板状结构,该板状结构可以固定在储藏室中(如通过储藏室的侧壁上的凸台支撑的方式),该搁架可以位于对应的板状结构上,搁架对应的重量传感器可以位于该搁架与对应的板状结构之间。此时,搁架对应的重量传感器包括的子重量传感器可以位于搁架的底面的中间区域。
38.需要说明的是,图1仅示出了用于承载储藏室中最上方的搁架104的一组凸台t,对于承载其他搁架104的其他组凸台均可以与示出的该组凸台相同。
39.需要说明的是,图1以摄像设备103位于机壳101的顶部为例进行示意,可选地,该摄像设备103也可以位于其他位置,如门102的顶部,或者储藏室的顶部,本申请实施例对此不做限定。需要说明的是,本申请实施例中所述的某结构的“顶部”也即是冰箱放置在地面上正常使用时,该结构远离地面的一端。如图1所示,摄像设备103的视野范围可以为以摄像设备103为顶点的圆锥形区域(如图1中两条虚线之间的区域)。
40.本申请实施例提供的冰箱还可以包括存储器、门开关检测器、显示屏、扬声器以及麦克风,存储器、门开关检测器、显示屏、扬声器以及麦克风均可以与控制器通信连接。
41.可选地,存储器可以设置在机壳或者门中,也可以独立于机壳和门。存储器可以用于存储摄像设备采集的图像,控制器对食材图像进行识别得到的识别结果,以及其他需要存储的信息。可选地,门开关检测器可以用于检测门处于打开状态或者关闭状态。示例地,门开关检测器可以设置至外壳中能够与门接触的位置,当该门开关检测器未与门接触时确定门处于打开状态,当门开关检测器接触门时确定门处于关闭状态。可选地,显示屏可以设
置在冰箱的门远离机壳的表面。控制器可以控制显示屏显示对食材图像的识别结果或者其他信息。该显示屏还可以为触控显示屏,此时用户可以通过该触控显示屏与冰箱进行交互,如用户可以在该触控显示屏上进行触控以触发控制器生成相应的指令,并执行该生成的指令。
42.可选地,扬声器和麦克风可以设置在机壳上也可以设置在门上。示例地,扬声器和麦克风可以与摄像设备设置在同一位置。如扬声器、麦克风与摄像设备可以共同构成感知模组,该感知模组设置在机壳的顶部,或者该感知模组也可以设置在储藏室的顶部。控制器可以控制扬声器发出语音信息,以提示用户进行相应的操作。控制器可以控制麦克风采集冰箱所在的环境中的声音信息,以便于生成相应的指令。
43.示例地,图3是本申请实施例提供的另一种冰箱的结构示意图,且图3所示的冰箱可以为冰箱的左视图,图3示出的冰箱中的门102处于关闭状态。如图3所示,该冰箱10还包括位于机壳101的顶部的驱动部件106与感知模组100,感知模组100可以与驱动部件106连接。该驱动部件106也与控制器通信连接。图4是本申请实施例提供的一种感知模组的结构示意图,且图4为该感知模组100的仰视图。如图4所示,该感知模组100包括:摄像设备103、扬声器107与麦克风108,摄像设备103包括深度相机1031和彩色相机1032。如图3所示,摄像设备103的视野范围为以摄像设备103为顶点的圆锥形区域(图3中两条虚线之间的区域)。如图4所示,麦克风108可以为线性4麦阵列,扬声器107位于感知模组的侧面,如此可以增加麦克风108与扬声器107之间的距离。
44.可选地,控制器可以根据门102所处的状态(打开状态或者关闭状态)或者用户发出的语音指令,控制驱动部件106对感知模组100进行移动。示例地,当控制器确定门102处于打开状态时,可以控制驱动部件106将感知模组100向靠近门102的方向推出,并在将感知模组推出到预定位置时,控制驱动部件106停止推出动作。接着触发感知模组100中的摄像设备103工作。当控制器确定门102处于关闭状态时,可以控制摄像设备103停止工作,且控制驱动部件106将感知模组100向远离门102的方向收回,在将感知模组收回到原位置时,控制驱动部件106停止收回动作。
45.可选地,本申请实施例中摄像设备可以包括深度相机和彩色相机中的至少一种。彩色相机可以是普通彩色相机,也可以是广角彩色相机;深度相机可以是双目相机,也可以是结构光相机,还可以是基于飞行时间(英文:time of fly,tof)的相机。深度相机采集的图像可以为深度图像(depth image),也称为距离影像(range image),彩色相机采集的图像可以彩色图像。其中深度图像中像素点的像素值为深度相机的视野范围覆盖的场景中,该像素点对应的点到深度相机的距离(也称为深度),彩色图像中像素点的像素值为灰度值。可选地,深度相机和彩色相机采集图像的频率可以相同,深度图像的采集时刻与彩色图像的采集时刻的最小时间间隔可以小于时长阈值。深度相机采集的多帧深度图像与彩色相机采集的多帧彩色图像可以一一对应,每帧深度图像对应的彩色图像为该多帧彩色图像中与该帧深度图像的采集时刻相距最近的采集时刻采集的彩色图像。进而,可以保证对应的深度图像与彩色图像所表示的场景差异较小。示例地,深度相机和彩色相机可以每次均在相同的时刻采集图像。
46.麦克风的拾音方式可根据拾音距离选择,可以是近场拾音,也可以选择为远场拾音。在近场拾音中麦克风一般能够采集到三米以内的声音信息,在远场拾音中麦克风一般
能够采集到三米到五米的范围内的声音信息。在近场拾音时麦克风可以包括原生录音模组,也可以包括单麦回消模组。在远场拾音时麦克风可以包括近场拾音时包括的模组,还可以包括多麦模组如线性四麦模组一级环形六麦模组等。
47.控制器可以包括中央处理器(central processing unit,cpu),图形处理器(graphics processing unit,gpu)或者cpu和gpu的组合。处理器还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complex programmable logic device,cpld),现场可编程逻辑门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。需要说明的是,本申请实施例中的控制器可以设置在冰箱中,也可以设置在其他设备中,仅需保证该控制器可以与冰箱中的各个部件通信连接,且可以控制该各个部件即可。
48.存储器通过总线或其它方式与控制器相连,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,上述至少一条指令、至少一段程序、代码集或指令集由控制器加载并执行,以实现本申请实施例提供的方法。存储器可以为易失性存储器(英文:volatile memory),非易失性存储器(non-volatile memory)或者它们的组合。易失性存储器可以为随机存取存储器(random-access memory,ram),例如静态随机存取存储器(static random access memory,sram),动态随机存取存储器(dynamic random access memory,dram)。非易失性存储器可以为只读存储器(read only memory image,rom),例如可编程只读存储器(programmable read only memory,prom),可擦除可编程只读存储器(erasable programmable read only memory,eprom),电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)。非易失性存储器也可以为快闪存储器(英文:flash memory),磁存储器,例如磁带(英文:magnetic tape),软盘(英文:floppy disk),硬盘。非易失性存储器也可以为光盘。
49.图5是本申请实施例提供的另一种食材储藏位置的确定方法的流程图,该方法可以用于控制器。如图5所示,该方法可以包括:
50.步骤501、控制摄像设备采集储藏室开口处的图像。
51.本申请实施例中摄像设备的视野范围至少需要覆盖储藏室的开口,由于用户在冰箱中存取食材时食材必然需要经过该开口处,因此能够保证摄像设备可以采集到用户存取食材的过程中的图像。
52.可选地,当控制器通过门开关检测器检测到门处于打开状态时,控制器可以控制驱动部件将感知模组推出,接着控制摄像设备开始采集图像。控制器可以控制摄像设备每秒连续采集特定数量的图像。在控制器确定门从打开状态变为关闭状态时,控制器可以控制摄像设备停止采集图像。如此,门从关闭状态变为打开状态再变为关闭状态的过程中,摄像设备可以完成一个采集周期的图像采集。
53.需要说明的是,本申请实施例中摄像设备在控制器的控制下采集图像为例进行解释说明。可选地,摄像设备无需控制器的控制也可以进行图像采集,本申请实施例对此不做限定。
54.可选地,本申请实施例中摄像设备包括深度相机和彩色相机,该深度相机和彩色
相机可以同时采集图像,故摄像设备在同一采集时刻采集的图像包括深度图像及其对应的彩色图像。摄像设备采集的储藏室开口处的图像包括一组深度图像以及与该一组深度图像中的各帧深度图像一一对应的一组彩色图像,该一组深度图像可以包括多帧深度图像。
55.步骤502、获取摄像设备采集的包括手部区域的多帧图像。
56.需要说明的是,本申请实施例中可以在摄像设备获取的一组深度图像中确定包括手部区域的多帧图像,也即是本申请实施例中所述的包括手部区域的每帧图像均为深度图像。可选地,控制器可以实时获取摄像设备采集的每帧深度图像,也即是在摄像设备每采集到一帧深度图像后便获取该帧深度图像。接着,控制器可以对该帧深度图像进行手部检测,以确定该帧深度图像是否为包括手部区域的图像。
57.可选地,控制器可以通过机器学习或者深度神经网络训练手部识别模型,进而采用训练得到的手部识别模型对深度图像进行手部检测。如控制器可以根据深度图像中手部区域的三维点云,基于深度信息对手部区域的特征进行表达,如基于手部区域的图像中各个点的深度值确定手部特征向量。接着利用在多帧深度图像中提取得到的手部特征向量,训练手部识别模型,进而采用该手部识别模型识别图像中的手部区域。需要说明的是,手部区域的三维点云也即是通过三维坐标表示的手部区域中各个点的集合。
58.示例地,控制器对摄像设备在一个采集周期中采集到的深度图像均进行手部检测,进而确定出包括手部区域的多帧图像。可选地,摄像设备在一个采集周期中采集到的深度图像中,控制器确定的第一帧包括手部的图像与最后一帧包括手部的图像之间的图像均可以为包括手部的图像。
59.步骤503、根据该多帧图像确定手部的移动轨迹。
60.示例地,控制器在确定包括手部区域的每帧图像后,还可以确定每帧图像中手部区域的质心位置,进而通过对质心位置的跟踪确定手部的移动轨迹,如通过自适应的高阶预测跟踪模型对手部区域的质心位置进行跟踪。例如,控制器可以对图像中手部区域的像素点进行聚类以确定手部的质心位置。控制器还可以根据相邻两帧包括手部的图像确定手部的一个轨迹向量,进而根据该包括手部的多帧图像得到多个轨迹向量。控制器可以根据该多个轨迹向量组合得到的轨迹向量,确定手部的一个连续的移动轨迹。
61.步骤504、根据手部的移动轨迹,确定手部经过的目标储物区。
62.储藏室可以包括多个储物区,每个储物区可以包括至少两个储物层,且该多个储物区中的储物层均不同。示例地,图1所示的冰箱中的储藏室被三个搁架104划分为四个储物层c,假设该四个储物层c从上到下依次称为第一储物层、第二储物层、第三储物层和第四储物层。该四个储物层可以属于两个储物区,如该两个储物区分别称为高置信区和低置信区。其中,低置信区可以包括第一个储物层和第二个储物层,高置信区可以包括第三个储物层和第四个储物层。
63.控制器可以根据冰箱的高度确定m个深度值范围,m>1,冰箱所在的场景中每个位置的深度值即为该位置距离冰箱中摄像设备的距离。示例地,各个深度值包括[q0,q1),[q2,q3),
…
,[qm-1,qm],其中,q0=0,qm可以大于或等于冰箱的高度。可选地,各个深度值范围的长度可以相等,也可以不相等。可选地,该多个深度值范围可以与储藏室包括的多个储物区一一对应,每个储物区对应的深度值范围包括该储物区中任一位置距离摄像设备的距离。
[0064]
示例地,控制器可以根据手部的移动轨迹确定目标图像中手部区域的平均深度值,目标图像为多帧图像中手部运动至移动轨迹中目标位置时的图像,目标位置为移动轨迹中距离起点最远的位置。进而,控制器可以将该平均深度值所在的深度值范围对应的储物区确定为手部经过的目标储物区;也即是,当该平均深度值位于目标储物区对应的深度值范围内时,控制器可以确定手部经过该目标储物区。如此,控制器可以确定用户从目标储物区存取食材,也即是确定存取的食材的储藏位置位于目标储物区内。
[0065]
需要说明的是,目标图像中手部区域的平均深度值,也即是目标图像中手部区域中各个像素点的平均像素值。控制器在确定目标图像后,可以获取该目标图像的手部区域中每个像素点的像素值,并根据手部区域中各个像素点的像素值确定手部区域的平均深度值。
[0066]
步骤505、确定目标储物区是否为多个储物区中靠近摄像设备的储物区。在目标储物区不为靠近摄像设备的储物区时,执行步骤506;在目标储物区为靠近摄像设备的储物区时,执行步骤507。
[0067]
摄像设备采集图像时往往存在盲区(如图1中储藏室中位于该两条虚线围成的圆锥形区域之外的区域),靠近摄像设备的储物区中存在至少部分区域位于该盲区中,当用户在靠近摄像设备的储物区中存取食材时,通过摄像设备采集的图像确定存取食材的位置的准确性较低。而摄像设备可以采集到距离其较远的储物区的较为完整的图像,当用户在该距离摄像设备较远的储物区中存取食材时,根据摄像设备采集的图像确定存取食材的位置的准确性较高。故可以通过确定目标储物区是否为多个储物区中靠近摄像设备的储物区,确定根据摄像设备采集的图像确定存取食材的位置的准确性。
[0068]
示例地,摄像设备位于机壳的顶部或者储藏室的顶部,靠近摄像设备的储物区可以为上述的低置信区,该距离摄像设备较远的储物区可以为上述的高置信区。
[0069]
步骤506、根据该移动轨迹确定手部经过的目标储物层。
[0070]
当控制器确定目标储物区不为靠近摄像设备的储物区时,控制器确定根据摄像设备采集的图像确定存取食材的位置的准确性较高;进而,控制器可以直接根据摄像设备采集的图像确定存取食材的位置。
[0071]
示例地,储物区对应的深度值范围可以包括多个子深度值范围,该多个子深度值范围可以与该储物区中的各个储物层一一对应,每个储物层对应的子深度值范围包括该储物层中任一位置距离摄像设备的距离。控制器可以根据手部的移动轨迹确定目标图像,接着确定目标图像中手部区域的平均深度值所在的子深度值范围;进而,控制器可以将该子深度范围对应的储物层确定为手部经过的目标储物层,也即是确定存取的食材的储藏位置为该目标储物层。
[0072]
步骤507、根据位于目标储物区的各个储物层之间的至少一个搁架对应的重量传感器检测的重量,确定目标储物区中储藏的食材发生变化的目标储物层。
[0073]
当控制器确定目标储物区为靠近摄像设备的储物区时,控制器确定根据摄像设备采集的图像确定存取食材的位置的准确性较低;进而,控制器可以结合重量传感器检测的重量确定存取食材的位置,以保证确定存取食材的位置的准确性。可选地,本申请实施例中,重量传感器可以仅设置在靠近摄像设备的储物区中搁架的底面,也即是仅靠近摄像设备的储物区中的各个搁架对应有重量传感器。需要说明的是,本申请实施例中所述的靠近
摄像设备的储物区中的搁架指的是该储物区中各个储物层之间的搁架。可选地,也可以在储物室中的每个搁架的底面均设置重量传感器,本申请实施例对此不做限定。
[0074]
示例地,控制器在确定摄像设备采集的图像包括手部时,可以获取储藏室中各个搁架对应的重量传感器检测的重量,且在设定时长内获取的某重量传感器检测的重量均相同时,将该重量确定为该重量传感器检测的一个有效的重量。控制器可以根据各个重量传感器检测的有效的重量,确定储藏的食材发生变化的储物层,也即是确定存取的食材的储藏位置。
[0075]
需要说明的是,根据重量传感器检测的重量确定目标储物层的方式可以有多种,本申请实施例仅以下述两种方式为例进行解释说明。
[0076]
在第一种方式中,控制器可以仅根据重量传感器检测的重量确定目标储物层。
[0077]
可选地,当g
i
’-
g
i
≠0时,控制器可以将目标储物区中靠近第i个搁架的承载面的储物层,确定为目标储物层。其中,i≥1,该第i个搁架也即是目标储物区中的任一个搁架;g
i
表示在手部经过目标储物区之前第i个搁架对应的重量传感器检测的重量,g
i’表示在手部经过目标储物区之后第i个搁架对应的重量传感器检测的重量。g
i
与g
i’均为重量传感器检测的有效的重量。g
i
’-
g
i
≠0也即是手部经过目标储物区之后,第i个搁架对应的重量传感器检测的重量发生变化。
[0078]
示例地,控制器在确定摄像设备采集的图像包括手部时,可以开始获取靠近摄像设备的储物区中各个搁架对应的重量传感器检测的有效的重量,此时控制器检测到的第i个搁架对应的重量传感器检测的重量为g
i
。接着,控制器可以持续获取控制器各个搁架对应的重量传感器检测的有效的重量,在确定预设时长内摄像设备采集的图像中均不包括手部时,控制器可以将此时第i个搁架对应的重量传感器检测的重量确定为g
i’。
[0079]
由于重量传感器用于检测对应的搁架及其承载的物体的重量,故当某重量传感器检测的有效的重量发生变化时,控制器可以认为该重量传感器对应的搁架承载的物体发生更改,进而控制器可以直接确定在该搁架上方的储物层中进行了食材的存取。因此,控制器可以将目标储物区中靠近该搁架的承载面的储物层确定为目标储物层。故g
i
’-
g
i
≠0时,控制器可以将目标储物区中靠近第i个搁架的承载面的储物层,确定为目标储物层。
[0080]
在第二种方式中,控制器还可以根据摄像设备采集的包括手部的多帧图像确定目标储物区中食材的存取状态。其中,该存取状态包括存入食材状态或取出食材状态。进而,根据目标储物区的各个储物层之间的至少一个搁架对应的重量传感器检测的重量,以及目标储物区中食材的存取状态,确定目标储物层。控制器确定目标储物区中食材的存取状态为存入食材状态,也即是确定有食材存入目标储物区;控制器确定目标储物区中食材的存取状态为取出食材状态,也即是确定有食材从目标储物区取出。
[0081]
控制器可以根据包括手部的多帧深度图像,确定该多帧深度图像对应的多帧彩色图像,进而对该多帧彩色图像进行识别,确定手部状态的变化情况。该手部状态包括未拿取食材状态或者拿取食材状态。当控制器根据该多帧彩色图像确定手部状态由未拿取食材状态改变为拿取食材状态,则可以确定食材的存取状态为取出食材状态;当控制器根据该多帧彩色图像确定手部状态由拿取食材状态改变为未拿取食材状态,则可以确定食材的存取状态为存入食材状态。
[0082]
在一种情况中,当g
i
’-
g
i
≠0时,控制器可以确定第一条件和第二条件是否满足,进
而确定目标储物层。其中,该第一条件包括:存取状态为存入食材状态,且g
i
’-
g
i
>0,或者,存取状态为取出食材状态,且g
i
’-
g
i
<0;该第二条件包括:存取状态为存入食材状态,且g
i
’-
g
i
<0;或者,存取状态为取出食材状态,且g
i
’-
g
i
>0。g
i
’-
g
i
>0也即是在食材存取完成后,第i个搁架对应的重量传感器检测的重量增大;g
i
’-
g
i
<0也即是在食材存取完成后,第i个搁架对应的重量传感器检测的重量减小。
[0083]
当第一条件满足时,控制器可以将目标储物区中与第i个搁架相邻且靠近第i个搁架的承载面的储物层(也可以称为第i个搁架上方的储物层),确定为目标储物层。当第二条件满足时,控制器可以将目标储物区中与第i个搁架相邻且远离第i个搁架的承载面的储物层(也可以称为第i个搁架下方的储物层),确定为目标储物层。
[0084]
在另一种情况中,目标储物区的各个储物层之间仅存在一个搁架,也即是目标储物区仅包括两个储物层。在食材存取完成后该搁架对应的重量传感器检测的重量未发生改变时,控制器可以根据食材的存取状态确定目标储物区中存取食材的目标储物层。
[0085]
例如,目标储物区中的该一个搁架为第i个搁架,在食材存取完成后该搁架对应的重量传感器检测的重量未发生改变,也即是g
i
’-
g
i
=0。此时,当存取状态为存入食材状态时,控制器可以确定目标储物层为目标储物区中远离第i个搁架的承载面的储物层;当存取状态为取出食材状态时,控制器可以确定目标储物层为目标储物区中靠近第i个搁架的承载面的储物层。
[0086]
假设,目标储物区包括两个储物层,该两个储物层包括上述的第一储物层与第二储物层,该两个储物层之间的搁架为第一个搁架。下表1为本申请实施例提供的一种重量传感器检测的重量的变化情况、存取状态与目标储物层的对应关系表,且下表1仅示出了其中的六种对应关系。
[0087]
如下表1所示,在第一种对应关系中,控制器确定有食材存入目标储物区,且食材存取完成后该第一个搁架对应的重量传感器检测的重量增大,此时,控制器可以确定食材存入第一储物层。
[0088]
在第二种对应关系中,控制器确定有食材存入目标储物区,且食材存取完成后该第一个搁架对应的重量传感器检测的重量减小,此时控制器可以确定食材第存入二储物层。且控制器还可以确定该种场景为第二储物层存放的食材较多,在向第二储物层存放食材时食材顶到第一储物层。
[0089]
在第三种对应关系中,控制器确定有食材存入目标储物区,且食材存取完成后该第一个搁架对应的重量传感器检测的重量不变,此时控制器可以确定第一储物层中的食材未发生改变,食材存入第二储物层。
[0090]
在第四种对应关系中,控制器确定有食材从目标储物区取出,且食材存取完成后该第一个搁架对应的重量传感器检测的重量增大,此时控制器可以确定食材从第二储物层取出。由于从第一储物区取出食材,该第一储物区下方的搁架对应的重量传感器必然会检测到重量减小,故可以确定在从目标储物区取出食材且重量传感器检测的重量增大时,控制器可以确定从第二储物层取出食材。并且控制器还可以确定该种场景为,第二储物层存放的食材较多,从第二储物层取出食材前食材顶到第一储物层,搁架对应的重量传感器检测到的重量小于该搁架与其承载的物体的实际重量。当从第二储物层取出食材后,由于缺少了第二储物层的食材的承载,故重量传感器检测的重量会增大。
[0091]
在第五种对应关系中,控制器确定有食材从目标储物区取出,且食材存取完成后该第一个搁架对应的重量传感器检测的重量减小,此时控制器可以确定食材从第一储物层取出。
[0092]
在第六种对应关系中,控制器确定有食材从目标储物区取出,且食材存取完成后该第一个搁架对应的重量传感器检测的重量不变,此时控制器可以确定食材从第一储物层取出。
[0093]
表1
[0094]
序号食材的存取状态重量变化情况目标储物层1食材存入状态增大第一储物层2食材存入状态减小第二储物层3食材存入状态不变第二储物层4食材取出状态增大第二储物层5食材取出状态减小第一储物层6食材取出状态不变第二储物层
[0095]
需要说明的是,本申请实施例中以仅重量传感器设置在靠近摄像设备的储物区中的搁架底面,且在确定手部经过靠近摄像设备的储物区时,根据重量传感器检测的重量确定存取的食材的目标储物层为例进行解释说明。可选地,重量传感器还设置在远离摄像设备的储物区中的搁架底面时,在确定手部经过远离摄像设备的储物区时,也可以结合重量传感器检测的重量确定存取的食材的储物层。
[0096]
可选地,本申请实施例中控制器在食材的存取状态以及存取的食材的目标储物层后,可以通过冰箱上设置的显示器显示该食材的储藏信息。示例地,当控制器确定食材的存取状态为食材存入状态,且确定食材存入的目标储物层为第一储物层时,显示屏可以显示有“食材存入第一储物层”的储藏信息。
[0097]
可选地,控制器还可以根据摄像设备采集的图像识别存取的食材的类型,进而将识别得到的食材的类型也通过显示器一并显示。示例地,控制器识别得到的食材的类型为苹果,显示屏可以显示有“苹果存入第一储物层”的储藏信息。
[0098]
需要说明的是,相关技术中,通过设定每个储物层对应的固定的深度值范围,当检测到存取食材时食材的深度处于哪个储物层对应的深度值范围,便确定该食材的储藏位置为哪个储物层。而目前很多冰箱储藏室最上面(也即是最靠近冰箱顶部)的搁架的位置可以进行上下调整,此时储藏室中最上面的储物层的大小会发生变化,该储物区的实际深度范围与设定的该储物层对应的深度值范围不同。故采用相关技术中的确定食材的储藏位置的准确性较低,该确定食材的储藏位置的方式的适应性较差。
[0099]
而本申请实施例中,通过检测手部区域的深度确定目标储物区,进而根据搁架对应的重量传感器检测的重量,确定存取的食材所储藏的目标储物层。由于即使搁架的位置发生变化,该搁架对应的重量传感器依然可以正常检测该搁架及其承载的物体(也即是该搁架上方的储物层中的物体)的重量。故在搁架的位置发生改变时,根据搁架对应的重量传感器检测的重量依然可以精准地确定存取的食材的储藏位置为哪个储物层,因此,本申请实施例中确定食材的储藏位置的方式的适应性较好。
[0100]
综上所述,本申请实施例提供的冰箱中,控制器可以根据位于目标储物的各个储
物层之间的至少一个搁架对应的重量传感器检测的重量,确定目标储物区中储藏的食材发生变化的目标储物层,确定用户存取的食材的储藏位置为该目标储物层。由于存取储物层中位于搁架上的食材必然会改变搁架对应的重量传感器检测的重量,故可以避免食材被遮挡导致存取食材时其储藏位置无法确定的情况,提高了确定食材的储藏位置的准确性。
[0101]
可选地,本申请实施例中控制器还可以确定冰箱中食材的其他信息,如食材的食材类型、保质时长和体积等食材信息。
[0102]
在本申请的一个可选实施例中,控制器可以通过执行图7所示的方法确定食材的食材类型:
[0103]
步骤601、在摄像设备采集的包括手部区域的n帧目标图像中确定至少一帧辅助图像。
[0104]
需要说明的是,本申请实施例中将摄像设备采集的包括手部区域的图像称为目标图像,n>1。确定目标图像的方式请参考步骤501与步骤502。可选地,控制器可以在确定的n帧目标图像中进行筛选,得到至少一帧辅助图像。可选地,控制器可以通过以下步骤确定辅助图像:
[0105]
步骤s11、将n帧目标图像中的第一帧目标图像确定为一帧辅助图像。
[0106]
示例地,控制器在对摄像设备采集的深度图像进行手部检测的过程中,当第一次确定某帧深度图像为包括手部区域的目标图像,则控制器可以直接将该帧目标图像确定为一帧辅助图像。
[0107]
步骤s12、当|h
i-h
i-1
|≥ε时,将n帧目标图像中的第i帧目标图像确定为一帧辅助图像。
[0108]
其中,第i帧目标图像为该n帧目标图像中除第一帧目标图像之外的任一帧目标图像。h
i
表示第i帧目标图像中手部区域的平均深度值,h
i-1
表示n帧目标图像中的第i-1帧目标图像中手部区域的平均深度值,ε表示深度阈值,1≤i-1≤i≤n。
[0109]
控制器在每确定一帧目标图像时,均可以获取该目标图像的手部区域中每个像素点的像素值,并根据手部区域中各个像素点的像素值确定手部区域的平均深度值(也即是手部区域中各个像素点的平均像素值)。本申请实施例中将该“手部区域的平均深度值”称为“手部深度”。控制器可以记录每帧目标图像的手部深度,进而确定各帧目标图像中手部深度的变化幅度
△
h=|h
i-h
i-1
|,并确定每帧目标图像中手部深度的变化幅度是否大于或等于深度阈值ε。当某帧目标图像中手部深度的变化幅度大于或等于深度阈值ε时,控制器将该帧目标图像确定为一帧辅助图像。控制器可以根据确定的辅助图像对摄像设备采集的图像中食材的类型进行识别。
[0110]
需要说明的是,本申请实施例中通过手部深度的变化幅度来确定辅助图像,也即是可以将手部变化较大的目标图像确定为辅助图像,以避免对相似度较高的多帧图像均进行识别导致的计算资源的浪费。
[0111]
步骤s13、当|h
i-h
i-1
|<ε,且摄像设备采集的深度图像中,第i帧目标图像与前一帧辅助图像之间的图像的帧数大于或等于帧数阈值时,将第i帧目标图像确定为一帧辅助图像。
[0112]
当某帧目标图像中手部的变化幅度小于深度阈值时,控制器还可以确定摄像设备采集的深度图像中,该帧目标图像与确定的上一帧辅助图像之间的深度图像的帧数,并确
定该帧数是否大于或等于帧数阈值
△
k。在该帧数大于或等于帧数阈值时,将该帧目标图像确定为一帧辅助图像。也即是,当目标图像中手部的变化幅度小于深度阈值时,控制器每隔
△
k帧图像确定一帧辅助图像。如此,可以避免由于用户的手部移动幅度一直较小而导致无法确定辅助图像的情况,保证能够获取到用于进行食材识别的图像。
[0113]
可选地,本申请实施例中在确定该至少一帧辅助图像后,也可以直接将该至少一帧辅助图像对应的彩色图像作为食材图像输入识别模型,得出至少一个识别结果。进而根据该至少一个识别结果确定食材图像的目标识别结果,以得到食材图像中食材的类型。
[0114]
步骤602、在该至少一帧辅助图像中确定至少一帧关键图像。
[0115]
本申请实施例中,为减少食材识别所针对的图像的数目以降低计算时间,控制器可以从确定的至少一帧辅助图像中再筛选关键图像进行后续的图像处理及识别。
[0116]
可选地,控制器可以通过以下步骤确定关键图像:
[0117]
步骤s21、在多个深度值范围对应的多个手部面积中,确定第k帧辅助图像的深度值范围对应的目标手部面积。
[0118]
其中,第k帧辅助图像为该至少一帧辅助图像中的任一帧辅助图像。k≥1,第k帧辅助图像的手部区域的像素平均值位于第k帧辅助图像的深度值范围内,在该多个深度值范围对应的多个手部面积中,深度值范围中的深度值与对应的手部面积负相关。
[0119]
可选地,控制器可以根据冰箱的高度确定m个深度值范围。对于深度值范围的介绍请参考步骤504。本申请实施例中的多个深度值范围还可以与多个手部面积一一对应,深度值范围中的深度值与对应的手部面积负相关。每个深度值范围对应的手部面积也即是当用户手部的平均深度位于该深度值范围内时,在摄像设备采集的图像中用户手部的面积。示例地,图像中的手部面积可以用该图像中手部区域包括的像素点的总数表示。当用户手部与摄像设备的距离较近时,摄像设备采集的图像中手部区域必然较大,故手部面积较大;当用户手部与摄像设备的距离较远时,摄像设备采集的图像中手部区域必然较小,故手部面积较小。
[0120]
可选地,控制器可以采用用户的手部位于不同的深度时,摄像设备采集的多帧图像中的手部区域的面积进行聚类,得到不同深度区间对应的手部面积,进而得到不同深度值范围对应的手部面积。
[0121]
本申请实施例中,当控制器确定一帧辅助图像时,控制器可以根据该辅助图像中手部区域的像素平均值,确定该手部区域的像素平均值所在的深度值范围,进而确定该深度值范围对应的目标手部面积。
[0122]
步骤s22、当第k帧辅助图像中手部区域的面积与目标手部面积之比大于比值阈值时,将第k帧辅助图像确定为一帧关键图像。
[0123]
本申请实施例中,当控制器确定一帧辅助图像时,控制器可以确定该辅助图像中手部区域的面积,也即是确定该手部区域包括的像素点的个数。接着控制器可以确定该帧辅助图像对应的比例系数,也即是该帧辅助图像中手部区域的面积与该帧辅助图像对应的目标手部面积的比值。进而控制器可以检测该比例系数是否大于比值阈值,并在该比例系数大于比值阈值时,将该帧辅助图像确定为一帧关键图像。
[0124]
可选地,本申请实施例中在辅助图像中确定该至少一帧关键图像后,也可以直接将该至少一帧关键图像作为食材图像输入识别模型,得出至少一个识别结果。进而根据该
至少一个识别结果确定食材图像的目标识别结果,以得到食材图像中食材的类型。
[0125]
步骤603、根据确定出的至少一帧关键图像确定至少一帧食材图像。
[0126]
本申请实施例中,为了进一步提高识别精确度,可以将关键图像中手部拿取食材的部分区域作为感兴趣区域(region of interest,roi),进而根据该感兴趣区域截取该关键图像对应的彩色图像中的感兴趣区域得到食材图像,以对食材图像进行后续的食材识别。可选地,关键图像对应的彩色图像中的感兴趣区域与该帧关键图像中的感兴趣区域位置相同。本申请实施例所述的食材图像表示包含食材的图像。当控制器确定出关键图像中的感兴趣区域时,控制器可以认为该感兴趣区域中包含食材。进而,控制器截取彩色图像中的感兴趣区域所得到的食材图像也为包含食材的图像。
[0127]
可选地,控制器可以通过以下步骤确定食材图像:
[0128]
步骤s31、在多个深度值范围对应的多个扩大系数中,获取每帧关键图像的深度值范围对应的扩大系数。
[0129]
需要说明的是,在上述步骤s21中根据m个深度区间确定的m个深度值范围还可以与m个扩大系数一一对应,且各个深度值范围中的深度值可以与对应的扩大系数负相关。
[0130]
步骤s32、根据每帧关键图像的深度值范围对应的扩大系数以及该每帧关键图像中的手部区域,确定该每帧关键图像中的食材区域,该每帧关键图像中的食材区域包括该每帧关键图像中的手部区域。
[0131]
可选地,本申请实施例关键图像中的手部区域与食材区域均可以呈矩形,该手部区域与食材区域的中心相同,长度方向相同,宽度方向也相同。可选地,食材区域的长度w’=w*e
p
,宽度h’=h*e
p
;其中,w表示手部区域的长度,h表示手部区域的宽度,p表示关键图像的深度值范围对应的扩大系数。
[0132]
示例地,图7是本申请实施例提供的一种关键图像的示意图。如图7中所示,关键图像中的手部区域为关键图像中位于矩形框a中的区域,食材区域为关键图像中位于矩形框b中的区域。
[0133]
步骤s33、截取每帧关键图像对应的彩色图像中的食材区域,作为每帧关键图像对应的一帧食材图像。
[0134]
示例地,控制器可以截取图7所示的关键图像对应的彩色图像中与矩形框b中的区域位置相同的区域,作为该帧关键图像对应的一帧食材图像。该食材图像的长度与宽度所满足的关系与该帧关键图像中食材区域满足的关系相同,本申请实施例在此不做赘述。
[0135]
需要说明的是,在用户存取食材时,存在较多食材的面积大于手部的面积的情况,或者食材呈条状而伸出用户手部的情况。本申请实施例对关键图像中的手部区域进行扩大以确定食材区域,之后再截取关键图像对应的彩色图像中的食材区域作为食材图像,可以保证食材图像中包括较多的食材特征,避免由于仅截取手部区域作为食材图像进而进行食材识别导致的识别准确性较低的问题。
[0136]
步骤604、将至少一帧食材图像分别输入识别模型,得到识别模型输出的每帧食材图像的识别结果。
[0137]
本申请实施例中,控制器可以在每确定一帧食材图像后直接将该食材图像输入识别模型,得到识别模型输出的该帧食材图像的识别结果。可选地,控制器也可以在确定摄像设备的一个采集周期中所有的食材图像后,再将各帧食材图像分别输入识别模型,得到识
别模型输出的每帧食材图像的识别结果。
[0138]
本申请实施例中的识别模型可以用于基于输入的食材图像输出食材类型。可选地,该识别模型还可以用于:基于输入的食材图像输出食材类型的子置信度。示例地,识别模型对某帧食材图像进行识别输出的识别结果可以包括:食材类型为苹果,子置信度为60%。
[0139]
本申请实施例中,识别模型输出的至少一帧食材图像的识别结果中,存在包括食材类型及其子置信度的x个识别结果,该x个识别结果中可能存在部分识别结果中的食材类型相同,故该x个识别结果可以包括y种食材类型,0≤y≤x。理想的识别情况为该x个识别结果中的食材类型均相同。需要说明的是,x可以小于或者等于输入识别模型的食材图像的帧数。当对于输入的每帧食材图像识别模型均能识别出食材类型时,x等于输入识别模型的食材图像的帧数。当存在部分输入的食材图像识别模型无法识别出食材类型时,x小于输入识别模型的食材图像的帧数。可选地,当识别模型无法识别出某食材图像中食材的类型时,识别模型输出的识别结果可以包括指示未识别出食材类型的信息。
[0140]
需要说明的是,识别模型对一帧食材图像进行识别可能输出多个食材类型及其对应的子置信度,此时识别模型可以将最大的子置信度及其对应的食材类型作为识别结果输出。
[0141]
可选地,本申请实施例中,该识别模型可以是深度神经网络、卷积神经网络、深度置信网络、深度堆栈神经网络、深度融合网络、深度递归神经网络、深度循环神经网络、深度贝叶斯神经网络、深度生成网络以及深度强化学习等网络结构的任一种或其衍生模型。
[0142]
步骤605、根据至少一帧食材图像的识别结果确定目标识别结果。
[0143]
本申请实施例中控制器可以根据识别模型输出的至少一帧食材图像的识别结果进行进一步地计算,进而确定目标识别结果,也即是对用户存取的食材进行识别得到的最终识别结果。
[0144]
可选地,当步骤604中控制器确定x=0,也即是识别模型对输入的至少一帧食材图像进行识别后,输出的至少一个识别结果中不存在包括食材类型的识别结果;此时,控制器可以直接确定目标识别结果为未识别出食材图像的食材类型,该目标识别结果不包括任何的食材类型。
[0145]
可选地,当步骤604中控制器确定x>0,也即是识别模型对输入的至少一帧食材图像进行识别后,输出的至少一个识别结果中存在包括食材类型的识别结果。此时,对于该x个识别结果包括的y种食材类型中每种食材类型,控制器可以按照目标公式确定该食材类型的综合置信度。该目标公式为其中,s表示该x个识别结果中包括该食材类型的识别结果的个数,q
a
表示x个识别结果中包括该食材类型的第a个识别结果中的子置信度,1≤a≤s。进而,控制器可以将该y种食材类型中综合置信度最高的食材类型确定为目标识别结果。
[0146]
示例地,控制器确定了五帧食材图像,其中有三帧食材图像的识别结果中的食材类型为a,且其中每个识别结果中的子置信度为0.5;有两帧食材图像的识别结果中的食材类型为b,且其中每个识别结果中的子置信度为0.8。根据上述目标公式,可以计算得到食材类型a的综合置信度为q
a
=(0.5+0.5+0.5)
×
3/5=0.90,食材类型b的综合置信度为q
b
=
(0.8+0.8)
×
2/5=0.64。q
a
>q
b
,因此,进而控制器可以生成包括食材类型a的目标识别结果。
[0147]
可选地,目标识别结果中的食材类型也可以为:该至少一个识别结果中食材类型的置信度最高的识别结果中的食材类型。
[0148]
例如,控制器确定了五帧食材图像,其中有三帧食材图像的识别结果中的食材类型为a,且其中每个识别结果中的置信度为0.5;有一帧食材图像的识别结果中的食材类型为b,且该识别结果中食材类型b的置信度为0.8;还有一帧食材图像的识别结果中的食材类型为c,且该识别结果中食材类型c的置信度为0.7。故控制器可以确定该五个识别结果中食材类型b的置信度最高,进而,控制器可以生成包括食材类型b的目标识别结果。
[0149]
步骤606、检测目标识别结果是否包括任一食材类型。当目标识别结果包括任一食材类型时,执行步骤607;当目标识别结果不包括任一食材类型时,执行步骤610。
[0150]
控制器在确定目标识别结果后,可以确定该目标识别结果是否包括任一食材类型。当目标识别结果包括任一食材类型时,控制器可以执行下述步骤607至步骤609,以进一步确定该目标识别结果包括的食材类型是否正确。当目标识别结果不包括任一食材类型时,控制器可以直接确定该目标识别结果有误,进而直接执行步骤610。
[0151]
步骤607、控制扬声器播放确认任一食材类型是否有误的第一提示语音。执行步骤608。
[0152]
本申请实施例中将确认任一食材类型是否有误的提示语音称为第一提示语音。示例地,当控制器确定的目标识别结果包括任一食材类型时,控制器可以向扬声器发送语音播放指令,该语音播放指令可以携带有第一提示语音的具体内容,以使得扬声器可以根据该语音播放指令,播放确认任一食材类型是否有误的第一提示语音。
[0153]
可选地,该第一提示语音还可以用于提示用户在该任一食材类型有误时输入目标食材类型(也即是正确的食材类型)。示例地,第一提示语音可以提示用户通过语音的形式输入目标食材类型,例如该第一提示语音可以为“请确认识别结果是否有误,若有误请说出正确的食材类型”。需要说明的是,本申请实施例中的第一提示语音的内容仅为示例性描述,实际应用中的第一提示语音的内容可以任意更改,本申请实施例对此不做限定。
[0154]
步骤608、控制麦克风采集在扬声器播放第一提示语音后的目标时长内的第一响应语音。执行步骤609。
[0155]
本申请实施例中,将麦克风在扬声器播放确认任一食材类型是否有误的提示语音后,目标时长内采集的响应语音称为第一响应语音。示例地,该目标时长可以为10秒、20秒或者其他时长。该第一响应语音可以指示该任一食材类型是否有误,且第一响应语音还可以指示目标食材类型。当用户听到扬声器播放的提示语音时,用户可以说出第一响应语音,例如该第一响应语音为“识别结果错误,正确类型为苹果”,或者该第一响应语音为“无误”。需要说明的是,本申请实施例中的第一响应语音的内容仅为示例性描述,实际应用中的第一响应语音的内容可以任意更改,本申请实施例对此不做限定。
[0156]
步骤609、根据第一响应语音确定该任一食材类型是否有误。当根据第一响应语音确定该任一食材类型有误时,执行步骤612。当根据第一响应语音确定该任一食材类型无误时,执行步骤615。
[0157]
控制器可以对麦克风采集的第一响应语音进行信息提取,以确定该第一响应语音
指示该目标识别结果中的食材类型是否有误,且在确定该食材类型有误时控制器还可以根据该第一响应语音确定目标食材类型(也即是正确的食材类型)。
[0158]
需要说明的是,本申请实施例以控制器通过麦克风采集响应语音的形式确定目标食材类型为例。可选地,控制器也可以通过触控显示屏接收用户输入的目标食材类型。此时,步骤607中的提示语音也可以提示用户通过冰箱上的触控显示屏手动输入目标食材类型,例如该提示语音可以为“请确认识别结果是否有误,若有误请在触控显示屏上输入正确的食材类型”。
[0159]
步骤610、控制扬声器播放提示说出目标食材类型的第二提示语音。执行步骤611。
[0160]
本申请实施例中,将提示说出目标食材类型的提示语音称为第二提示语音。当在步骤606中,控制器确定目标识别结果不包括任一食材类型时,控制器可以直接确定该目标识别结果有误,进而可以控制扬声器播放提示输入目标食材类型的第二提示语音,以指示用户输入目标食材类型。本申请实施例中以该第二提示语音提示用户通过语音的形式输入目标食材类型为例进行解释说明,可选地,第二提示语音也可以提示用户在触控显示屏上手动输入目标食材类型。
[0161]
步骤611、控制麦克风采集在扬声器播放第二提示语音后的目标时长内的第二响应语音。执行步骤612。
[0162]
本申请实施例中,将麦克风在扬声器播放提示说出目标食材类型的提示语音后,目标时长内采集的响应语音称为第二响应语音。示例地,当用户听到第二提示语音后,用户可以根据该第二提示语音的提示说出目标食材类型,进而控制器可以根据麦克风采集的第二响应语音提取目标食材类型。可选地,用户也可以在触控显示屏上手动输入目标食材类型,进而控制器可以根据用户输入的信息获取目标食材类型。需要说明的是,此处的目标时长与步骤608中的目标时长可以相同,也可以不同,本申请实施例对此不做限定。
[0163]
需要说明的是,本申请实施例中在步骤611之后便可以确定食材的目标食材类型,此时控制器可以结束工作。可选地,控制器还可以继续执行下述步骤,以对识别模型进行训练,以更新识别模型。
[0164]
步骤612、生成重训练指令。执行步骤613。
[0165]
当控制器确定目标识别结果有误,且获取到目标食材类型时,控制器可以生成重训练指令,以指示控制器对识别模型进行训练。该重训练指令可以携带有目标食材类型,且重训练指令可以指示目标识别结果不包括目标食材类型,也即是目标识别结果有误。
[0166]
步骤613、根据重训练指令,确定目标训练数据。执行步骤614。
[0167]
当控制器确定对用户存取的食材进行识别得到的目标识别结果有误时,可以认为识别模型对食材图像进行识别的精准性较低,进而可以对识别模型进行继续训练,以优化该识别模型。
[0168]
需要说明的是,本申请实施例中根据识别模型输出的识别结果的不同,可以采用不同的训练方法对识别模型进行继续训练。示例地,可以根据识别模型输出的识别结果的不同,确定对识别模型进行重新训练或者增量训练。需要说明的是,对模型进行重新训练也即是采用新增的训练数据以及模型的历史训练数据训练模型,以得到一个新的模型。对模型进行增量训练也即是仅根据新增的训练数据调整模型中与新增的训练数据相关的参数,以对模型进行更新。可选地,对模型进行重新训练不会改变模型能够识别得到的识别结果,
仅会使得模型识别的精准度提高,而对模型进行增量训练有可能会增加训练后的模型能够输出的识别结果。
[0169]
需要说明的是,对识别模型进行重新训练与增量训练所基于的训练数据不同,故控制器在生成重训练指令后,可以确定对识别模型进行训练所需的目标训练数据。示例地,控制器可以通过图8所示的方法确定目标训练数据,如图8所示,该方法可以包括:
[0170]
步骤6131、确定目标识别结果是否包括任一食材类型。当目标识别结果不包括任一食材类型时,执行步骤6132;当目标识别结果包括任一食材类型时,执行步骤6134。
[0171]
在步骤6131中,目标识别结果不包括任一食材类型,也即是控制器确定未识别出用户存取的食材的类型。目标识别结果包括任一食材类型,也即是控制器已识别出用户存取的食材的类型,但是识别出的食材的类型错误。
[0172]
步骤6132、确定目标食材图像的特征向量与任一食材类型的特征向量的第一相似度,以及目标食材图像的特征向量与目标食材类型的特征向量的第二相似度。执行步骤6133。
[0173]
其中,该目标食材图像的识别结果不包括目标食材类型,也即是该目标食材图像为有误的识别结果对应的食材图像。需要说明的是,某食材类型的特征向量可以为:对该食材类型对应的多帧食材图像的特征向量进行聚类所得到的特征向量。食材类型对应的食材图像包含食材,且该食材的类型为该食材类型。示例地,食材图像的特征向量可以通过提取食材图像的统计特征、纹理特征、结构特征和颜色特征等图像特征得到。
[0174]
控制器在生成重训练指令后,便可以获取重训练指令所指示的目标食材类型的特征向量。对于包括食材类型,但该食材类型不为目标食材类型的识别结果,控制器可以获取该识别结果包括的食材类型的特征向量。进而,控制器可以计算该食材类型的特征向量与该识别结果对应的目标食材图像的特征向量的第一相似度,以及,目标食材类型的特征向量与该目标食材图像的特征向量的第二相似度。
[0175]
示例地,控制器可以通过下述相似度计算公式计算第一相似度和第二相似度。该相似度计算公式可以为其中,l
j
表示第j帧目标食材图像的特征向量,l
b
表示食材类型b的特征向量,该第j帧目标食材图像为任一帧目标食材图像,该食材类型b为任一种食材类型;σ表示平滑系数,可取固定值,如0.05;d(l
j
,l
b
)表示特征向量lj和l
b
的距离。由该相似度计算公式可知,特征向量lj和l
b
的距离越大,则第j帧目标食材图像中食材的类型与食材类型b的相似度越小,说明第j帧目标食材图像中食材的类型为属于食材类型b的概率越小。
[0176]
可选地,本申请实施例中,lj和l
b
的距离可采用但不限于下述距离中的任一种表示。如欧氏距离(英文:euclidean distance)、曼哈顿距离(英文:manhattan distance)、切比雪夫距离(英文:chebyshev distance)、闵克夫斯基距离(英文:minkowski distance)、马氏距离(英文:mahalanobis distance)、余弦相似度(英文:cosine similarity)、汉明距离(英文:hamming distance)、相关系数(英文:pearson correlation coefficient)和kl散度(英文:kullback
–
leibler divergence)等距离。
[0177]
步骤6133、确定第一相似度是否大于第二相似度。在第一相似度大于第二相似度时,执行步骤6134;在第一相似度小于或等于第二相似度时,执行步骤6135。
[0178]
其中,若第一相似度大于第二相似度,则表示目标食材图像中食材的类型是该目标食材图像的识别结果中的食材类型(也即是错误的食材类型)的概率更大。若第一相似度小于第二相似度,则表示目标食材图像中食材的类型是目标食材类型(也即是正确的食材类型)的概率更大。需要说明的是,本申请实施例以第一相似度等于第二相似度时执行步骤6135为例进行说明,可选地,当第一相似度等于第二相似度时也可以执行步骤6134,本申请实施例对此不做限定。
[0179]
步骤6134、确定目标训练数据包括:目标食材图像、目标食材类型以及识别模型的历史训练数据。
[0180]
控制器确定目标训练数据包括:目标食材图像、目标食材类型以及识别模型的历史训练数据,进而可以确定需要对识别模型进行重新训练。
[0181]
步骤6135、确定目标训练数据包括:目标食材图像与目标食材类型。
[0182]
控制器确定目标训练数据包括:目标食材图像与目标食材类型,进而可以确定需要对识别模型进行增量训练。
[0183]
步骤614、采用目标训练数据对识别模型进行训练,以更新识别模型。
[0184]
控制器可以根据步骤613中确定的目标训练数据,以确定对识别模型进行重新训练或者增量训练,进而在训练完成之后更新识别模型。在控制器后续需要进行食材识别时可以将食材图像输入更新后的识别模型进行识别。
[0185]
步骤615、存储目标识别结果。
[0186]
当控制器确定的目标识别结果正确时,控制器可以将该目标识别结果存储在存储器中,以实现对冰箱中食材的智能化管理。如控制器可以根据存储器中存储的食材类型向用户推荐菜谱等。
[0187]
本申请实施例中,在用户存取食材过程中摄像设备采集的图像中选取关键图像,进而采用在关键图像中截取的食材图像进行食材识别。如此实现了对食材的动态识别,避免仅采集储藏室的图像时部分食材被遮挡导致的无法对该部分食材进行识别的情况,且可以避免冰箱深处位于摄像设备的视野范围外,使得用户从冰箱深处存取的食材无法被记录的情况。且本申请实施例中得到的食材图像数量较少且食材的特征较为明显;进而将食材图像输入识别模型进行识别,由于食材图像的数量较少,故可以降低识别计算过程的时间消耗,提高了识别模型进行食材识别的实时性。此外,在多帧食材图像的识别结果中,根据每个识别结果中的子置信度确定食材类型的综合置信度,进而确定目标识别结果,降低了对单帧图像进行识别得到的识别结果置信度较低的问题,提高了食材识别的准确度。最后,根据不同的识别结果选择不同的模型训练方法进行模型优化,实现了识别模型性能的不断提升。
[0188]
在本申请的另一个可选实施例中,冰箱还可以包括扫码模组。。控制器可以与扫码模组通信连接,用于获取扫码模组采集的图形码。进而控制器还可以根据扫码模组采集的图形码确定食材的食材类型。示例地,该图形码可以包括条形码或二维码等。扫码模组可以位于在门靠近开口的表面上为例进行示意,也可以位于门远离开口的表面上。或者,扫码模组也可以位于机壳或者门上的任意其他位置,本申请实施例对此不做限定。
[0189]
可选地,控制器还可以执行如下步骤,以确定食材的食材类型:
[0190]
步骤901、根据多帧目标图像确定食材的存取状态,以及食材的标识状态。
[0191]
需要说明的是,在上述步骤中控制器确定多帧目标图像后,控制器可以执行步骤901。之后,控制器可以执行步骤601。其中,该存取状态包括存入食材状态或取出食材状态,该标识状态包括携带图形码状态或未携带图形码状态。
[0192]
示例地,控制器可以对该多帧目标图像进行识别,以确定该多帧目标图像中是否存在包括图形码的图像。当该多帧目标图像中存在包括图形码的图像时,控制器可以确定食材的标识状态为携带图形码状态;当该多帧目标图像中不存在包括图形码的图像时,控制器可以确定食材的标识状态为未携带图形码状态。
[0193]
控制器可以根据包括手部的多帧深度图像,确定该多帧深度图像对应的多帧彩色图像,进而对该多帧彩色图像进行识别,确定手部状态的变化情况。该手部状态包括未拿取食材状态或者拿取食材状态。当控制器根据该多帧彩色图像确定手部状态由未拿取食材状态改变为拿取食材状态,则可以确定食材的存取状态为取出食材状态;当控制器根据该多帧彩色图像确定手部状态由拿取食材状态改变为未拿取食材状态,则可以确定食材的存取状态为存入食材状态。
[0194]
步骤902、检测在确定目标识别结果后的目标时长内扫码模组是否采集到图形码。当确定目标识别结果后的目标时长内扫码模组采集到图形码时,执行步骤903;当确定目标识别结果后的目标时长内扫码模组未采集到图形码时,执行步骤906。
[0195]
需要说明的是,控制器在步骤901中确定食材的标识状态为携带图形码状态时,且在上述步骤606中确定目标识别结果不包括任一食材类型时,控制器才执行步骤902。
[0196]
可选地,当目标识别结果不包括食材类型,也即是控制器未通过图像识别的方式确定食材的食材类型时,控制器可以控制扬声器播放指示用户移动目标食材,以将食材的图形码置于扫码模组的视野范围之内的指示语音。用户在听到该提示语音时可以将食材上的图形码置于扫码模组的视野范围内,以便于扫码模组采集该食材上的图形码。可选地,扫码模组可以在确定门处于打开状态时便开始采集图形码。
[0197]
步骤903、解析扫码模组在目标时长内采集的图形码得到解析结果。执行步骤904。
[0198]
需要说明的是,任一图形码均可以对应一个字符串,某物体上的图形码通常用于指示该物体的相关信息。用户(如该物体的生产商)可以自行设定图形码指示的物体的相关信息,进而将该图形码指示的相关信息输入图形码信息库,以便于其他用户可以根据该图形码在图形码信息库中查找该图形码指示的物体的相关信息。需要说明的是,该图形码信息库可以存储在冰箱中的存储器中,也可以存储在互联网上,或者其他与控制器相连接的设备中。
[0199]
图形码信息库可以包括多个字符串对应的信息,控制器在解析图形码时,可以先确定该图形码对应的目标字符串,继而便可以在图形码信息库中查找该目标字符串对应的信息。若图形码信息库中存在该目标字符串对应的信息,则可以将该目标字符串对应的信息确定为该图形码的解析结果,此时解析结果包括该图形码指示的物体(也即是目标物体)的相关信息。若图形码信息库中不存在该目标字符串对应的信息,则可以确定解析结果为未获得图形码指示的物体的信息,此时解析结果不包括该图形码指示的物体的相关信息。此时也可以图形码未成功解析,控制器对图形码的解析失败。
[0200]
步骤904、确定该解析结果是否包括食材类型。当该解析结果包括食材类型时,执行步骤905;当该解析结果不包括食材类型时,执行步骤906。
[0201]
示例地,食材的相关信息可以包括食材类型、保质期、生产日期、生产商、体积、重量以及价钱等中的一种或多种。控制器可以对图形码的解析结果进行分析,以确定该解析结果是否包括食材类型,进而确定是否可以根据该解析结果确定食材的食材类型。
[0202]
步骤905、根据解析结果确定食材的食材类型。
[0203]
当图形码的解析结果包括食材类型时,控制器就可以将该解析结果中的食材类型确定为食材的食材类型。如此可以看做控制器对食材上的图形码进行解析得到了食材的食材类型。
[0204]
步骤906、确定食材的存取状态是否为取出食材状态。当食材的存取状态为取出食材状态时,执行步骤907;当食材的存取状态不为取出食材状态时,执行步骤610。
[0205]
步骤907、确定每帧食材图像与至少一帧参考图像中每帧参考图像的相似度,得到至少一个参考相似度。执行步骤908。
[0206]
其中,参考图像包括储藏室中储藏的标识状态为携带图形码状态的食材,也即是参考图像为携带图形码的食材的图像。该参考图像中的食材的食材类型已知。
[0207]
控制器在步骤906中确定食材的存取状态为取出食材状态,也即是确定存取条件满足,该存取条件包括:食材的标识状态为携带图形码状态,目标识别结果不包括食材类型,扫码模组在控制器确定目标识别结果之后的目标时长内未采集到图形码,且食材的存取状态为取出食材状态。故控制器确定用户从储藏室中取出携带有图形码的目标食材,且通过图像识别的方式未识别出食材的食材类型,且用户也未触发扫码模组对该食材的图形码进行扫码。进而,控制器可以确定储藏室储藏的已知食材类型的食材的至少一帧参考图像,并确定包括食材的食材图像与每帧参考图像的相似度,得到至少一个参考相似度,确定两帧图像的相似度也即是确定该两帧图像的特征向量的相似度。该食材图像与参考图像的相似度的大小可以用于表示:食材的食材类型为参考图像中食材的食材类型的概率的大小。
[0208]
示例地,步骤603中控制器确定包括食材的五帧食材图像,储藏室中储藏有携带图形码的三种食材,且控制器能够获取到该三种食材中每种食材的三帧参考图像,故控制器可以获取到九帧参考图像。进而控制器确定每帧食材图像与每帧参考图像的相似度共可以确定5*9=45个参考相似度。
[0209]
可选地,控制器可以通过结构相似性度量(structural similarity index,ssim)方法,余弦相似度(cosin)确定方法和基于直方图的相似度确定方法中的任一方法,确定每帧食材图像与每帧参考图像的相似度。
[0210]
示例地,本申请实施例中冰箱中的存储器可以存储有储藏室中储藏的带有图形码的食材的相关数据。可选地,该相关数据可以包括食材的食材类型,图形码对应的字符串,体积或重量,以及对应的参考图像。例如,该存储器中可以存储有下表2所示的食材的相关数据。需要说明的是,下表2中的参考图像仅用于说明食材的相关数据包括对应的图像,并未对图像的具体图像内容进行示意。
[0211]
表2
[0212][0213]
步骤908、确定该至少一个参考相似度是否包括大于相似度阈值的相似度。当该至少一个参考相似度包括大于相似度阈值的相似度时,执行步骤909;当至少一个参考相似度均小于或等于相似度阈值的相似度时,执行步骤610。
[0214]
当某帧食材图像与某帧参考图像的相似度大于相似度阈值时,可以认为该食材图像中食材的食材类型有可能与该帧参考图像中的食材的食材类型相同,该帧参考图像对于确定食材的食材类型具有参考价值,进而可以基于该帧参考图像进一步确定食材的食材类型。当某帧食材图像与某帧参考图像的相似度小于或等于相似度阈值时,可以认为该食材图像中食材的食材类型不可能与该参考图像中的食材的食材类型相同,该帧参考图像不具有确定食材的食材类型的参考价值。
[0215]
步骤909、将该至少一个参考相似度中的最大相似度对应的参考图像中食材的食材类型,确定为食材的食材类型。
[0216]
控制器可以在所有参考图像中,确定包括的食材的食材类型最有可能与食材的食材类型相同的参考图像,进而将该参考图像中食材的食材类型确定为食材的食材类型。该参考图像为所有参考图像中与任一帧食材图像的参考相似度最大的图像。
[0217]
需要说明的是,由于冰箱的储藏室内往往不会存放太多带图形码的食材,故参考图像的帧数可以较少,进而可以提高确定至少一个参考相似度中最大相似度的速度,进而保证确定食材的食材类型的速度。还需要说明的是,本申请实施例中通过在食材的存取状态为取出食材状态时,通过确定食材图像与参考图像的相似度的方式,确定食材的食材类型。从而可以使得在取出食材时无需进行扫码(也即是采集目标食材携带的图形码),避免存取食材时均需要扫码,进而可以提高用户体验。
[0218]
需要说明的是,在本申请实施例中控制器在确定第三条件满足时,可以执行步骤610。其中,该第三条件包括:对扫码模组采集的图形码的解析结果不包括任一食材类型;或者,控制器确定的至少一个参考相似度均小于相似度阈值;或者,食材的标识状态为携带图形码状态,目标识别结果不包括任一食材类型,扫码模组在目标时长内未采集到图形码,且食材的存取状态为存入食材状态。
[0219]
控制器确定通过对扫码模组采集的图形码进行解析无法确定食材的食材类型,或者在取出食材时根据与参考图像进行匹配的方式无法确定食材的食材类型,或者在存入食材时无法确定食材的食材类型时,进而控制器可以控制扬声器播放提示语音,以通过用户输入的方式确定食材的食材类型。
[0220]
可选地,当控制器对扫码模组采集的图形码的解析结果不包括任一食材类型,且控制器通过用户输入的方式确定食材的食材类型后,控制器可以将扫码模组采集的图形码与食材的食材类型的对应关系上传至图形码信息库,以便于后续采集到该图形码时可以根
据该图形码确定食材的食材类型。如控制器可以将该图形码对应的字符串与该食材的食材类型的对应关系存入图形码信息库,如此,可以保证对图形码信息库的持续更新,丰富了图形码信息库包括的图形码信息,降低采用解析图形码的方式确定食材类型的局限性。
[0221]
可选地,本申请实施例中用户也可以自行给食材设置图形码,并将图形码指示的食材的信息输入图形码信息库,进而可以对本来未携带有图形码的食材也通过图形码解析的方式进行识别,提升了冰箱对储藏的食材的信息的管理效果。可选地,用户自行粘贴的该图形码可以重复使用,如可以通过带有图形码的夹子或者器皿将图形码设置在食材上。
[0222]
需要说明的是,相关技术中仅通过图像识别的方式确定存取的食材的食材类型,该确定食材类型的方式精准性较低,且无法识别的情况较多,使得确定食材类型的局限性较高。还需要说明的是,在仅通过解析食材携带的图形码以确定食材类型时,图形码解析较易失败。而本申请实施例中可以结合图像识别、图形码解析以及语音输入的方式确定食材的食材类型,进而可以保证对食材的食材类型的有效确定,提高了确定食材类型的精准性,降低了确定食材类型的局限性,有利于冰箱对食材信息的智能化管理。且本申请实施例中无需在存取食材时均进行扫码,故可以简化确定食材类型的过程,提高用户对冰箱的使用体验。
[0223]
在本申请的再一个可选实施例中,冰箱还可以获取食材的保质时长和体积,以对这些食材信息也进行管理。可选地,控制器还可以执行如下步骤,以确定食材的保质时长和体积:
[0224]
步骤b21、在第一时刻向储藏室存入第一食材时,根据摄像设备采集的包括第一食材的多帧第一图像,确定第一食材满足的目标食材条件,该目标食材条件包括食材类型的条件和食材状态的条件。
[0225]
可选地,任一食材条件可以包括:食材类型的条件,或者,食材类型的条件和食材状态的条件;食材状态可以包括已加工状态或未加工状态。示例地,苹果和香蕉等均可以为食材的食材类型。某种食材条件包括的食材类型的条件为:食材类型为苹果,食材状态的条件为:食材状态为未加工状态,则满足该食材条件的食材为未加工的苹果。
[0226]
本申请以下实施例中以目标食材条件包括食材类型的条件和食材状态的条件为例进行说明。且本申请实施例中以在第一时刻之前储藏室中并未储藏有满足目标食材条件的食材,控制器并未对目标食材条件对应的食材信息进行管理为例。目标食材条件对应的食材信息可以是满足目标食材条件的食材的信息。
[0227]
需要说明的是,本申请实施例中所述的多帧第一图像可以为摄像设备在一个采集周期中采集的图像。控制器可以基于该多帧第一图像进行图像识别,进而确定该多帧图像中第一食材的食材类型以及食材状态,以得到第一食材满足的食材类型的条件以及食材状态的条件,继而确定第一食材满足的目标食材条件。该食材状态包括已加工状态或未加工状态。且当控制器仅通过图像识别的方式无法确定第一食材的食材类型或者食材状态时,控制器可以控制器扬声器播放提示用户输入的提示语音,以通过用户输入的方式确定第一食材的食材类型或食材状态。示例地,控制器确定第一食材的食材类型为苹果,食材状态为未加工状态,则控制器可以确定目标食材条件中的食材类型的条件为食材类型为苹果,食材状态的条件为:食材状态为未加工状态。
[0228]
可选地,本申请实施例中的识别模型还可以用于根据输入的食材图像输出食材的
食材状态。需要说明的是,本申请实施例中确定第一食材满足的目标食材条件的方式可以参考上述确定食材类型的方式,本申请实施例在此不做赘述。
[0229]
可选地,当控制器根据识别模型输出的识别结果仅能确定出第一食材的食材类型而取法确定食材状态时,控制器可以通过如下方式确定第一食材的食材状态。该方式包括:控制器确定第一食材与第一参考食材的第三相似度,以及第一食材与第二参考食材的第四相似度。将第三相似度与第四相似度中较大相似度对应的食材的食材状态确定为第一食材的食材状态。其中,该第一参考食材与第二参考食材的食材类型均为第一食材的食材类型,第一参考食材的食材状态为已加工状态,第二参考食材的食材状态为未加工状态。
[0230]
当控制器仅确定第一食材的食材类型而未确定第一食材的食材状态时,控制器可以根据第一食材与第一参考食材的相似度,以及第一食材与第二参考食材的相似度,确定第一食材与第一参考食材和第二参考食材中的哪种食材更相似,进而确定第一食材的食材状态。
[0231]
需要说明的是,两种食材的相似度可以通过分别包含该两种食材的图像的相似度来表示。第一参考食材的食材状态为已加工状态,第二参考食材的食材状态为未加工状态。若第一食材与第一参考食材更相似,则可以确定第一食材的食材状态为已加工状态;若第一食材与第二参考食材更相似,则可以确定第一食材的食材状态为未加工状态。
[0232]
示例地,控制器可以确定该至少一帧食材图像中每帧食材图像与至少一帧第一参照图像中每帧第一参照图像的相似度,得到至少一个第一参照相似度,进而将至少一个第一参照相似度中的最大相似度确定为第三相似度。其中,第一参照图像包括第一参考食材。控制器该可以确定该至少一帧食材图像中每帧食材图像与至少一帧第二参照图像中每帧第二参照图像的相似度,得到至少一个第二参照相似度,进而将该至少一个第二参照相似度中的最大相似度确定为第四相似度。其中,第二参照图像包括第二参考食材。该第三相似度与第四相似度中的较大相似度对应的食材即为与第一食材更相似的食材,进而控制器可以将该较大相似度对应的食材状态确定为第一食材的食材状态。
[0233]
可选地,控制器可以通过结构相似性度量(structural similarity index,ssim)方法,余弦相似度(cosin)确定方法和基于直方图的相似度确定方法中的任一方法,确定每帧食材图像与每帧参照图像的相似度。
[0234]
本申请实施例中,控制器还可以确定第一食材存入储藏室的第一时刻。示例地,控制器可以通过如下两种方式确定第一时刻:
[0235]
在第一种方式中,控制器可以将摄像设备开始采集第一图像与停止采集第一图像之间的任一时刻,确定为第一食材存入储藏室的第一时刻。也即是,控制器可以将采集第一图像的采集周期中的任一时刻确定为第一时刻。
[0236]
例如,该第一时刻可以为控制器确定门从打开状态变为关闭状态的时刻,或者,该第一时刻也可以为控制器确定门从关闭状态变为打开状态的时刻。由于用户食材的存入过程耗费的时间通常较少,故将该存入过程中任一时刻确定为第一食材的存入时刻的误差较小。另外,本申请实施例中第一时刻用于确定食材的保质时长,而用户存取食材所需的时长与食材的保质时长相比可以忽略不计,故将第一图像的采集周期中任一时刻确定为存入第一食材的第一时刻,并不会对保质时长的确定造成影响。
[0237]
在第二种方式中,控制器可以将用户的手部伸入储藏室的时刻确定为将第一食材
存入储藏室的第一时刻。
[0238]
示例地,控制器可以根据该多帧第一图像确定用户的手部的移动轨迹,接着根据该移动轨迹确定手部移动至目标位置时的图像,目标位置为移动轨迹中距离起点最远的位置。控制器可以认为该目标位置位于储藏室,故可以确定手部移动至该目标位置时手部伸入储藏室。进而,控制器可以将摄像设备采集该图像的时刻确定为第一时刻。需要说明的是,手部的移动轨迹的确定方式可以参考上述步骤503的介绍,本申请实施例不再赘述。
[0239]
需要说明的是,控制器可以根据该多帧第一图像确定第一食材的存取状态。第一食材的存取状态的介绍可以参考上述对确定存取状态的介绍,本申请实施例不再赘述。需要说明的是,本申请实施例以控制器确定第一食材的存取状态为存入食材状态为例进行解释说明。
[0240]
步骤b22、确定目标食材条件对应的食材信息,该食材信息包括保质时长和体积。
[0241]
当控制器在步骤b21中确定第一食材满足的目标食材条件后,控制器可以在食材信息库中查找该目标食材条件对应的食材信息,该食材信息库可以包括多种目标食材条件(也即是食材类型和食材状态的组合)与食材信息的对应关系。示例地,食材信息库中可以包括下表3所示的对应关系。如下表3所示,目标食材条件对应的食材信息除了包括保质时长和体积之外,还可以包括:该满足目标食材条件的食材的存放方法,以及包括该满足目标食材条件的食材的参照图像。可选地,该目标食材条件对应的食材信息还可以包括食材的重量或者其他信息,本申请实施例对此不做限定。
[0242]
表3
[0243][0244]
需要说明的是,目标食材条件对应的食材信息可以包括保质时长和体积中的至少一种,本申请实施例以该食材信息同时包括保质时长与体积为例。可选地,该食材信息也可
以仅包括保质时长或者体积。
[0245]
假设,第一食材为未加工的韭菜,也即是第一食材的食材类型为韭菜,第一食材的食材状态为未加工状态,故目标食材条件包括的食材类型为韭菜,食材状态为未加工状态。在步骤b22中控制器可以根据上表3所示的对应关系确定目标食材条件对应的保质时长为1~3天,体积为2000立方厘米。需要说明的是,上表3以目标食材条件对应的保质时长为一个时长范围为例,可选地,该保质时长也可以为一个固定的时长,或者控制器可以将目标食材条件对应的保质时长范围内的任一时长确定为目标食材条件对应的保质时长。
[0246]
需要说明的是,当控制器确定目标食材条件对应的食材信息时,可以记录该食材信息,以便于对冰箱中食材的相关信息进行管理。示例地,控制器可以将该食材信息记录在存储于存储器中的某一记录表中。可选地,该记录表中除了记录食材的体积和保质时长,还可以记录储藏室中该食材的储藏位置,该食材的存取状态,以及存取时间等信息。
[0247]
示例地,控制器在将第一食材满足的目标食材条件对应的食材信息记录在该记录表中后可以得到如下表4所示的记录表。
[0248]
表4
[0249][0250]
步骤b23、在第一时刻之后的第三时刻,根据摄像设备采集的多帧第三图像,确定从储藏室取出的第三食材满足的食材条件。
[0251]
需要说明的是,控制器在每次确定有食材从储藏室中取出,或者有食材存入储藏室时,控制器均可以对该食材进行识别,以确定该食材的食材类型和食材状态,进而确定该食材满足的食材条件。
[0252]
示例地,假设在第一时刻将第一食材存入储藏室后,控制器又确定用户从储藏室中取出第三食材,也即是第三食材的存取状态为取出食材状态,且控制器可以确定用户取出该第三食材的时刻为第三时刻。进而,控制器还可以确定第三食材的食材类型和食材状态,以确定第三食材满足的食材条件。
[0253]
需要说明的是,控制器确定第三食材的存取状态的方式与确定第一食材的存取状态的方式相同,第三时刻的确定方式与第一时刻的确定方式相同,且确定第三食材满足的食材条件的方式与确定第一食材满足的目标食材条件的方式相同,本申请实施例不再赘述。
[0254]
需要说明的是,本申请实施例中以第三食材也为满足目标食材条件的食材,也即是第三食材满足的食材条件为目标食材条件为例进行解释说明。
[0255]
步骤b24、当第三食材满足目标食材条件时,更新目标食材条件对应的食材信息,得到第一食材信息。
[0256]
控制器可以确定第三食材满足的食材条件是否为目标食材条件,以确定第三食材
与第一食材是否相同,进而确定更新条件是否满足。此时该更新条件可以包括满足目标食材条件的食材从储藏室存入或取出,也即是与第一食材相同的食材从储藏室存入或取出。当第三食材满足的食材条件为目标食材条件时,控制器可以确定第三食材与第一食材相同,故可以确定储藏室中储藏的满足目标食材条件的食材发生变化,进而可以对目标食材条件对应的食材信息进行更新。
[0257]
示例地,更新后的目标食材条件对应的保质时长t=t0-(t3-t1),t0表示更新前的目标食材条件对应的保质时长,t1表示第一时刻,t3表示第三时刻。当从储藏室中取出满足目标食材条件的食材时,储藏室中满足目标食材条件的食材的体积减少,故更新后的目标食材条件对应的体积v=v0
-△
v2,v0表示更新前的目标食材条件对应的体积,
△
v2表示第三食材(也即是取出的满足目标食材条件的食材)的体积。故第一食材信息(也即是更新后的目标食材条件对应的食材信息)可以包括该t与v。可选地,由于通常确定食材的具体体积较为困难,故可以将
△
v2设置为一个固定值,进而对储藏室中满足目标食材条件的食材的体积进行大概的估计,以实现对食材的体积的模糊管理。可选地,也可以对第三食材的具体体积进行测量,进而根据测量结果确定精准的第三食材的体积
△
v2。
[0258]
假设,在存入第一食材一天后取出第三食材,该第一食材和第三食材均为未加工的韭菜,也即该第一食材与第三食材均满足食材类型为韭菜,食材状态为未加工状态的目标食材条件;第三食材的体积
△
v2为设定的固定值,如1000立方厘米。控制器可以更新目标食材条件对应的食材信息,如对上表4所示的记录表进行更新,得到下表5所示的记录表。如下表5所示,更新后的目标食材条件对应的食材信息对应的体积可以变为1000立方厘米,保质时长可以变为2天。
[0259]
表5
[0260][0261]
步骤b25、在第三时刻之后的第二时刻,根据摄像设备采集的多帧第二图像,确定存入储藏室的第二食材满足的食材条件。
[0262]
示例地,假设在第三时刻将第三食材取出储藏室后,控制器又确定用户向从储藏室中存入第二食材,也即是第二食材的存取状态为存入食材状态,且控制器可以确定用户存入该第二食材的时刻为第二时刻。进而,控制器还可以确定第二食材的食材类型和食材状态,以确定第二食材满足的食材条件。
[0263]
需要说明的是,控制器确定第二食材的存取状态的方式与确定第一食材和第三食材的存取状态的方式均相同,第二时刻的确定方式与第一时刻和第三时刻的确定方式均相同,且确定第二食材满足的食材条件的方式与确定第一食材和第三食材满足的食材条件的方式均相同,本申请实施例不再赘述。
[0264]
步骤b26、确定第二食材满足的食材条件与第三食材满足的食材条件是否相同。当
第二食材满足的食材条件与第三食材满足的食材条件不同时,执行步骤b27;当第二食材满足的食材条件与第三食材满足的食材条件相同时,执行步骤b28。
[0265]
控制器可以确定第二食材满足的食材条件与第三食材满足的食材条件是否相同,以确定第二食材与第三食材是否相同。进而,控制器可以确定储藏室中储藏的满足目标食材条件的食材是否再次发生改变。
[0266]
步骤b27、确定第二食材满足的食材条件对应的食材信息。
[0267]
控制器确定第二食材满足的食材条件与第三食材满足的食材条件不同,则控制器可以确定第二食材与第三食材不同,进而可以确定第二食材满足的食材条件对应的食材信息,并对该食材条件对应的食材信息进行记录。控制器可以根据该记录确定储藏室中储藏有该满足该食材条件的食材(如第二食材),进而对该满足该食材条件的食材的食材信息进行管理。
[0268]
步骤b28、确定第二时刻与第三时刻的时间差是否小于时长阈值。当第二时刻与第三时刻的时间差小于时长阈值时,执行步骤b29;当第二时刻与第三时刻的时间差大于或等于时长阈值时,执行步骤b27。
[0269]
当第二食材满足的食材条件与第三食材满足的食材条件相同(也即是均为目标食材条件)时,控制器可以确定第二食材与第三食材相同,故可以确定储藏室中储藏的满足目标食材条件的食材发生了变化。此时,该第二食材也即是在第二时刻存入的满足目标食材条件的食材。进而,控制器可以进一步确定满足目标食材条件的食材具体的变化情况。例如控制器可以确定第二时刻与第三时刻的时间差,进而根据该时间差与时长阈值的关系确定满足目标食材条件的食材的具体变化情况。
[0270]
当第二时刻与第三时刻的时间差大于或等于时长阈值时,控制器可以确定在从储藏室中取出第三食材后的较长时间后又放入与第三食材相同的第二食材,进而可以认为该第二食材为重新采购的食材。此时,可以重新确定第二食材满足的食材条件对应的食材信息,并记录该第二食材满足的食材条件对应的食材信息。可选地,由于该第二食材满足的食材条件为目标食材条件,故控制器可以将此时已记录的目标食材条件对应的食材信息(也即是第一食材信息)进行更新,且更新为食材信息库中目标食材条件对应的食材信息。
[0271]
步骤b29、确定第二食材是否为第三食材中的至少部分食材。当第二食材为第三食材中的至少部分食材时,执行步骤b210;当第二食材不为第三食材中的至少部分食材时,执行步骤b27。
[0272]
当第二时刻与第三时刻的时间差小于时长阈值时,控制器可以确定在从储藏室中取出第三食材后的较短时间后又放入与第三食材相同的第二食材。由于用户通常在从储藏室中取出食材后,若该食材未食用完,则会在较短时间内再次将该食材中剩余的食材存入冰箱。故当第二时刻与第三时刻的时间差小于时长阈值时,控制器可以确定该第二食材有可能为取出的第三食材中剩余的食材。
[0273]
示例地,控制器可以控制扬声器播放确认第二食材是否为第三食材中的至少部分食材的提示语音,以确定该第二食材是否为取出的第三食材中剩余的食材。接着控制器获取麦克风在扬声器播放该提示语音后的目标时长内采集的响应语音。进而确定该响应语音是否指示第二食材为第三食材中的至少部分食材。
[0274]
步骤b210、更新目标食材条件对应的食材信息,得到第二食材信息。
[0275]
当控制器确定第二食材为第三食材中的至少部分食材时,控制器可以确定储藏室中储藏的满足目标食材条件的食材再次发生改变,进而可以更新该目标食材条件对应的食材信息。
[0276]
示例地,更新后的目标食材条件对应的保质时长t=t0-(t2-t3),t0表示更新前的目标食材条件对应的保质时长,t2表示第二时刻,t3表示第三时刻。当在储藏室中存入满足目标食材条件的食材时,储藏室中满足目标食材条件的食材的体积增加,故更新后的目标食材条件对应的体积v=v0+
△
v1,v0表示更新前的目标食材条件对应的体积,
△
v1表示第二食材(也即是存入的满足目标食材条件的食材)的体积。此处,
△
v1可以为一个固定值,也可以为第二食材的具体体积。故第二食材信息(也即是更新后的目标食材条件对应的食材信息)可以包括该t与v。需要说明的是,此时更新前的目标食材条件对应的保质时长t0为第一食材信息中的保质时长,也即是步骤b24中更新后的保质时长t;此时更新前的目标食材条件对应的体积v0为第一食材信息中的体积,也即是步骤b24中更新后的体积v。可选地,本申请实施例中当
△
v1可以与
△
v2均为设定的固定值时,
△
v1可以等于
△
v2,或者
△
v1也可以不等于
△
v2。
[0277]
可选地,本申请实施例中控制器还可以实时地确定目标食材条件对应的保质时长是否小于时长限值,并在确定该保质时长小于时长限值时,控制扬声器播放指示目标食材条件对应的保质时长的第三提示语音。进而用户在听到该第三提示语音的时候可以确定满足目标食材条件的食材快要变质,进而可以及时处理该食材。
[0278]
可选地,本申请实施例中在第三食材取出时,控制器可以控制扬声器播放用于确认储藏室中是否还存在剩余食材的提示语音,该剩余食材满足的食材条件与第三食材满足的食材条件相同。进而控制器可以根据麦克风采集的响应语音,确定储藏室中是否还存在剩余食材。当控制器确定储藏室中不存在剩余食材时,控制器可以删除目标食材条件对应的食材信息。示例地,在储藏室中不再储藏有满足目标食材条件的食材时,控制器无需再对该种食材的食材信息进行管理,故控制器可以删除目标食材条件对应的食材信息。
[0279]
需要说明的是,本申请实施例中以食材满足的食材条件同时包括食材类型和食材状态为例进行说明。可选地,食材满足的食材条件也可以仅包括食材类型,对于此种情况控制器仅需省略上述确定食材的食材状态的步骤即可。
[0280]
需要说明的是,本申请实施例中仅以目标食材条件包括食材类型的条件和食材状态的条件。对于一种食材类型和食材状态的组合控制器可以仅记录一种食材信息为例进行说明。如存储的记录表中可以仅存在一条已加工的苹果与食材信息的对应关系。可选地,该目标食材条件也可以包括食材的其他信息的条件,如储藏位置的条件。此时对于每种食材类型、食材状态和储藏位置的组合,控制器均可以记录对应的食材信息。如存储的记录表中可以包括储藏在冷藏室第一层的已加工的苹果与食材信息的对应关系,以及储藏在冷藏室第二层的已加工的苹果与食材信息的对应关系。其中储藏位置为冷藏室第一层和储藏位置为冷藏室第二层分别为两个目标食材条件中的储藏位置的条件。可选地,该目标食材条件还可以包括食材的其他信息的条件,在包括其他信息的条件时控制器记录的目标食材条件与食材信息的对应关系,能够根据上述包括储藏位置的条件时的对应关系进行类推,本申请实施例不再赘述。
[0281]
需要说明的是,本申请实施例中所述的第一食材、第二食材以及第三食材仅用于
区分不同的存取场景中的食材,该第一食材、第二食材以及第三食材的名称可以任意替换。本申请实施例中所述的第一时刻、第二时刻以及第三时刻仅用于区分不同的时刻,该第一时刻、第二时刻以及第三时刻的名称可以任意替换。本申请上述实施例中以第二时刻存入第二食材为例,可选地,取出满足目标食材条件的食材的时刻也可以称为第二时刻。
[0282]
应当理解,本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
[0283]
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
[0284]
本申请实施例还提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行本申请实施例提供的方法。以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。