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

一种智能冰箱及食材检测方法与流程

2021-10-08 21:43:00 来源:中国专利 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.本技术的一些实施例中,根据聚类得到的食材组中包含的食材检测框所属的食材种类,确定相应食材组所属的食材种类,包括:确定聚类后的一个食材组中每个食材检测框所属的食材种类,计算其中每个食材种类的检测概率的平均值,并将其中检测概率平均值最高的食材种类确定为该食材组所属的食材种类。
32.本技术的上述实施例中,在检测到图像中的食材检测框后,首先,根据食材检测框的位置、大小,确定食材检测框间的覆盖关系,并根据食材检测框间的覆盖关系选取用于聚类的食材检测框,然后对选取的食材检测框进行聚类,并根据聚类得到的食材组中包含的食材检测框所属的食材种类,确定相应食材组所属的食材种类,从而实现了对聚集类食材的检测和识别。
33.在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本技术各较佳实施例。
附图说明
34.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
35.图1示例性示出了本技术实施例中的智能冰箱的示意图;
36.图2示例性示出了本技术实施例中冰箱前侧区域的示意图;
37.图3示例性示出了本技术实施例中智能冰箱的控制器的功能结构示意图;
38.图4示例性示出了本技术实施例提供的食材检测方法的流程示意图;
39.图5示例性示出了本技术实施例中一种食材检测结果的示意图;
40.图6示例性示出了本技术实施例中一种具体应用场景下的食材检测流程;
41.图7a至图7c示例性示出了本技术实施例中的食材检测过程的示意图。
具体实施方式
42.下面将结合附图对本技术实施例中的技术方案进行清除、详尽地描述。其中,在本技术实施例的描述中,除非另有说明,

/

表示或的意思,例如,a/b可以表示a或b;文本中的

和/或

仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,另外,在本技术实施例的描述中,

多个

是指两个或多于两个。
43.以下,术语

第一



第二

仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有

第一



第二

的特征可以明示或者隐含地包括一个或者更多个该特征,在本技术实施例的描述中,除非另有说明,

多个

的含义是两个或两个以上。
44.在日常生活中,往冰箱存取的食材种类繁多,存取的食材属性并不仅仅是单个的,很多食材往往是以聚集的形式存取的,比如以盒、堆、盘、支、袋等方式进行存取,举例来说,一盒圣女果、一堆草莓、一盘樱桃、一把香蕉等。本技术实施例中将该类食材单位统称为组,即一组食材中可包括多个食材个体,比如堆叠在一起的多个草莓形成一组草莓。
45.由于食材本身的复杂多样性,在基于图像进行食材检测和识别时难免会存在一定的误差,尤其是对于聚集类食材,往往无法准确检测或识别出食材的属性。为了提高食材检测和识别的准确率,尤其是对于提高聚集类食材的检测和识别的准确性,本技术实施例提出了一种基于图像的食材检测方法,无论存放的食材是怎样的形式(单个形式或聚集形式),均可以采用本技术实施例提供的方法进行食材种类及数量的检测和识别。
46.下面结合附图对本技术实施例进行详细描述。
47.图1示例性示出了本技术实施例提供的一种智能冰箱的结构。
48.如图1所示,智能冰箱包括箱体10、制冷部(未在图中示出)以及其他附件(比如箱体内可设置照明灯、温度计等,未在图中示出)。在制冷系统中主要组成有压缩机、冷凝器、蒸发器和毛细管节流器等部件,自成一个封闭的循环系统。其中,蒸发器可安装在智能冰箱内部的上方,其他部件安装在智能冰箱的背面。
49.箱体10安装有门体20,门体20上可进一步设置有显示屏50,显示屏50与控制器耦接(如通过电路连接)。
50.在箱体10上还可设置摄像头模组30,该摄像头模组可采集箱体10前侧区域内的图像。其中,以冰箱门所在平面为第一平面,箱体10前侧区域至少包括已第一平面为基准,向冰箱外方向扩展一定距离的区域,摄像头模组可采集该区域的图像,即能够拍摄到用户打开门体20后进行食材存取过程中的手部动作图像以及所存取的食材的图像。
51.图2示例性示出了箱体10前侧区域的示意。如图所示,智能冰箱门体关闭状态下所在的平面称为平面h2,距离平面h2为d的平面称为平面h1,平面h1与平面h2平行,则平面h1和平面h2之间的空间为箱体10前侧区域。摄像头模组至少要能够采集该区域的图像。其中,d的取值可根据人体手臂长度参数以及图像识别精度等因素设置,比如可设置为25cm~35cm之间。
52.在一些实施例中,摄像头模组30可设置在箱体10的上部靠近门体20的位置,以便能够拍摄箱体10前侧区域内的图像。
53.在一些实施例中,摄像头模组30可设置在固定部件上,该固定部件可使得摄像头模组的镜头探出门体20所在的平面一定距离,以便能够更好地拍摄箱体10前侧区域内的图像。当用户打开门体时可触发该摄像头模组开启,当用户关闭门体时可触发该摄像头模组关闭。本技术实施例对该固定部件的形状、连接方式以及材料不做限制。
54.在另一些实施例中,摄像头模组30可设置在活动部件上,该活动部件可在门体20被打开时将摄像头模组30弹出,使得摄像头模组30探出门体20所在的平面一定距离,当门体20被关闭时,该活动部件将摄像头模组30收回。该活动部件可采用机械连接方式或其他方式与门体20进行联动,使得门体20在被打开和关闭时触发该活动部件的控制摄像头模组。在一些实施例中,该活动部件还可包括摄像头保护盖,在将摄像头模组弹出后打开该保护盖并启动摄像头模组,在将摄像头模组收回后关闭该保护盖并关闭摄像头模组,从而一方面对摄像头模组起到保护作用,一方面节省电源开销。
55.需要说明的是,图1所示的智能冰箱的结构仅为一种示例,本技术实施例对智能冰箱的大小、以及对门体的数量(比如可以是单个门体,也可以是多个门体)等不做限制。
56.本技术实施例提供的智能冰箱中包括控制器(未在图1中示出),该控制器与摄像头模组耦接(比如通过电路连接),该控制器可在当智能冰箱的门体被打开时,对摄像头模组采集的图像进行检测,得到食材检测框的位置、大小以及食材检测框所属的食材种类;然后,根据食材检测框的位置和大小确定食材检测框间的覆盖关系,并根据食材检测框间的覆盖关系选取用于聚类的食材检测框;对选取的食材检测框进行聚类,并根据聚类得到的食材组中包含的食材检测框所属的食材种类,确定相应食材组所属的食材种类。
57.基于上述控制器所实现的功能,图3示例性示出了该控制器的功能结构。
58.图3示例性示出了本技术实施例中的智能冰箱控制器的功能结构示意图。如图所示,该控制器300可包括以下功能模块:食材检测模块301、食材信息决策模块302、食材信息输出模块303。
59.摄像头模组拍摄用户存取食材的图像。食材检测模块301获取该图像,并对该图像中的食材进行检测,得到食材检测框的位置、大小以及食材检测框所属的食材种类,并将检测结果传递给食材信息决策模块302。
60.食材信息决策模块302,根据食材检测框的位置和大小确定食材检测框间的覆盖关系,并根据食材检测框间的覆盖关系选取用于聚类的食材检测框,对选取的用于聚类的食材检测框进行聚类,并根据聚类得到的食材组中包含的食材检测框所属的食材种类,确定相应食材组所属的食材种类。
61.食材信息输出模块302输出食材信息决策模块302决策出的食材组的信息,具体可包括食材组的数量以及食材组所属的食材种类。
62.图4示例性示出了本技术实施例提供的食材管理方法的流程示意图。
63.如图所示,该流程可包括以下步骤:
64.s401:对智能冰箱摄像头模组采集的图像进行检测,得到食材检测框的位置、大小以及食材检测框所属的食材种类。
65.在一些场景下,当智能冰箱的门体被打开时,设置在智能冰箱的箱体上的摄像头模组被启动,该摄像头模组采集智能冰箱箱体前侧区域内的图像,并将采集到的图像传递给控制器以进行食材检测。
66.该步骤中,可利用目前成熟的物体检测算法进行食材检测,例如可使用ssd(目标检测算法)或yolov3算法等。将待检测的图像输入检测算法模型,即可输出检测结果。需要说明的是,本技术实施例对食材的检测方法不做限制。
67.输出的检测结果可包括一个或多个食材检测框的信息,一个食材检测框内可能包含一个食材个体,也可能包含多个食材个体,主要取决于食材摆放形式、聚集程度等因素。其中,一个食材检测框的信息可包括该食材检测框的位置、大小以及所属的食材种类。比如,第i个食材检测框的信息可表示为(x
i
,y
i
,w
i
,h
i
,c
i
,p
i
)其中,i表示第i个食材检测框,i=1,2,...,(x
i
,y
i
,)为该食材检测框的中心点坐标,(w
i
,h
i
)为该食材检测框的宽、高,c
i
为该检测框所属的食材种类,p
i
为识别为该食材种类的概率(或称置信度)。
68.图5示例性示出了一种食材检测结果的示意图。如图所示,图中左侧有多个堆放在一起的海棠果,图中右侧为零星放置的一些海棠果,经过食材检测后所检测出的食材检测
框如图所示。检测框501的面积较大,几乎覆盖了左侧堆放的海棠果,检测框502~504面积较小,其中仅包括形状较为完整的单个海棠果,且检测框502~504被检测框501所覆盖(如图中斜线框所示);检测框505~506仅包括形状较为完整的单个海棠果,检测框505~506未被检测框501所覆盖。图中的每个食材检测框被识别出的食材种类为

海棠果


69.s402:根据食材检测框的位置和大小确定食材检测框间的覆盖关系,并根据食材检测框间的覆盖关系,选取用于聚类的食材检测框。
70.在一些实施例中,可设置候选食材检测框集合,初始化时该集合中包括检测到的所有食材检测框。基于该候选食材检测框集合,可采用以下迭代过程来选取用于聚类的食材检测框:
71.根据食材检测框的大小,从候选食材检测框集合中选取面积最大的食材检测框,作为当前基准框;选取出基准框后,从候选食材检测框集合中删除当前选取的基准框;
72.若当前基准框中覆盖有其他食材检测框,则将当前基准所覆盖的食材检测框从候选食材检测框集合中删除。
73.重复上述过程,直到候选食材检测框集合为空为止,此时得到所有被选取为基准框的食材检测框。
74.在每次选取当前面积最大的食材检测框作为基准框时,不会从已经被确定基准框及其所覆盖的食材检测框中选取(即已被选取为基准框的检测框,以及基准框所覆盖的食材检测框不会在后续迭代过程中被选取为基准框)。当没有食材检测框可被选取为基准框时可结束上述迭代过程,此时得到的所有被选取为基准框的食材检测框,即为后续需要进行聚类的食材检测框。
75.仍以图5为例,在检测得到食材检测框后,由于检测框502~504被检测框501覆盖,因此经过s402的处理后,所得到的用于聚类的食材检测框包括:检测框501、检测框505和检测框506。
76.在一些实施例中,可通过以下方式判断一个食材检测框是否被基准框所覆盖:
77.若某一食材检测框(为描述方面此处称为第一食材检测框)的中心点与基准框的中心点之间的位置关系符合以下条件,则判定第一食材检测框被该基准框所覆盖:
78.第一食材检测框的中心点与基准框的中心点之间的水平距离小于第一数值,且垂直距离小于第二数值,所述第一数值等于该基准框宽度的一半与第一设定值之和,所述第一数值等于该基准框高度的一半与第二设定值之和。其中,第一设定值与第二设定值的取值可以相同也可能不同。
79.举例来说,第i个食材检测框的信息为(x
i
,y
i
,w
i
,h
i
,c
i
,p
i
),第j个食材检测框的信息为(x
j
,y
j
,w
j
,h
j
,c
j
,p
j
),第i个食材检测框为当前的基准框,如果第j个食材检测框满足以下条件,则判定第j个食材检测框被当前的基准框所覆盖:
[0080][0081]
其中,ε为设定的参数。
[0082]
针对除第i个食材检测框之外的其他每个食材检测框,均按照上述方式判断该食
材检测框是否被第i个食材检测框(即当前的基准框)所覆盖。
[0083]
采用上述覆盖判断方法,可以将一些未完全被当前基准框覆盖,但有一部分被当前基准框覆盖的食材检测框也判定为当前基准框所覆盖的食材检测框,使得该方法具有一定误差容忍度。
[0084]
在一些实施例中,在选取出基准框并确定出其所覆盖的食材检测框,还可以根据该基准框及其所覆盖的食材检测框所属的食材种类,确定该基准框所属的食材种类。
[0085]
在一些实施例中,针对当前的基准框,可获取该基准框所属的食材种类以及其所覆盖的食材检测框所属的食材种类,并根据以下情况进行相应处理:
[0086]
情况1:若该基准框所覆盖的食材为单个类食材,则该基准框所属的食材种类即为该基准框的信息中所包含的食材种类;
[0087]
情况2:若该基准框所覆盖的食材为聚集类食材,且该基准框与其所覆盖的食材检测框所属的食材种类相同,则将该食材种类确定为该基准框所属的食材种类,即该基准框所属的食材种类为该基准框的信息中所包含的食材种类;
[0088]
情况3:若该基准框所覆盖的食材为聚集类食材,且该基准框及其所覆盖的食材检测框所属的食材种类不一致,则确定该基准框及其覆盖的食材检测框中每个食材检测框所属的食材种类,计算其中每个食材种类的检测概率的平均值,并将其中检测概率平均值最高的食材种类确定为该基准框所属的食材种类。
[0089]
其中,可根据基准框所覆盖的食材检测框的数量,判断该基准框所覆盖的食材是单个类食材还是聚集类食材。比如,若基准框所覆盖的食材的数量大于或等于设定阈值,则判定该基准框所覆盖的食材为聚集类食材,否则判定该基准框所覆盖的食材为单个类食材。
[0090]
举例来说,若基准框u
i
及其覆盖的食材检测框u
i-j
的信息中的食材种类参数均为食材种类c,则判定该基准框及其所覆盖的食材检测框构成聚集类食材,且食材种类为种类c,即该基站框所覆盖的食材为一组(比如一盒、一堆、一盘、一支、一捆或一袋等)种类为c的食材。
[0091]
若基准框u
i
及其覆盖的食材检测框u
i-j
的信息中的食材种类参数不同,比如一共检测出n个不同的食材种类,则分别对该n个食材种类计算对应的概率平均值,取平均值最大的食材种类作为该基准框所属的食材种类。例如,基准框u
i
及其覆盖的食材检测框u
i-j
的数量共有5个,这些检测框信息中的食材种类共有2个(种类a、种类b),其中有3个检测框的信息中的种类参数为种类a,概率(或置信度)分别为(0.8,0.7,0.6),另外2个检测框的信息中的种类参数为种类b,概率分别为(0.8,0.8)。计算识别为种类a的概率平均值p
a
=(0.8 0.7 0.6)/3=0.7,识别为种类b的概率平均值p
b
=(0.8 0.8)/2=0.8,p
a
<p
b
,因此将该基准框所属的食材种类确定为种类b。
[0092]
s403:对s402选取的食材检测框进行聚类,并根据聚类得到的食材组中包含的食材检测框所属的食材种类,确定相应食材组所属的食材种类。
[0093]
该步骤中,可采用k-means聚类算法进行聚类计算。k-means聚类算法是一种迭代求解的聚类分析算法其步骤是随机选取k个对象作为初始的聚类中心(即种子聚类中心),然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。每分配一个样本,聚类的聚类中心
会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,没有(或最小数目)聚类中心再发生变化,误差平方和局部最小。本技术实施例中,可利用轮廓系数法寻找k-means聚类算法中最合适的k值。
[0094]
对食材检测框进行聚类后,这些食材检测框被划分到一个或多个聚类中,形成一个或多个食材组,每个食材组中包括一个或多个食材检测框。
[0095]
针对每个食材组,可以根据该食材组中每个被聚类的食材检测框所属的食材种类,确定该食材组所属的食材种类。
[0096]
在一些实施例中,可计算该食材组中每个食材种类的检测概率的平均值,并将其中概率平均值最高的食材种类确定为该食材组所属的食材种类。例如,聚类得到的某个食材组中有5个食材检测框,其中有3个检测框被识别为食材种类a,识别概率分别为(0.8,0.7,0.6),另外2个检测框被识别为食材种类b,识别概率分别为(0.8,0.8)。计算被识别为食材种类a的概率平均值p
a
=(0.8 0.7 0.6)/3=0.7,被识别为食材种类b的概率平均值p
b
=(0.8 0.8)/2=0.8,p
a
<p
b
,因此将该食材组所属的食材种类确定为种类b。
[0097]
若某个聚类得到的食材组中只有一个食材检测框(基准框),则该食材组所属的食材种类为该食材检测框所属的食材种类。
[0098]
进一步地,在确定出食材组以及食材组所属的食材种类后,还可包括以下步骤:
[0099]
s404:将食材组的数量以及所属的食材种类信息进行输出,以使用户获知上述信息,进而获知食材存取情况。
[0100]
在一些实施例中,可将上述食材组信息显示在智能冰箱的显示屏上,还可以将上述食材组信息推送到用户终端上,比如可将上述信息发送给服务器,使得服务器可将上述信息通过移动通信网络发送给用户终端。当然,在智能冰箱支持语音功能的情况下,还可以通过智能冰箱对上述信息进行语音播报,也可以将上述信息发送给智能音箱,由智能音箱进行语音播报。本技术实施例对上述信息的输出方式不做限制。
[0101]
根据上述一个实施例或多个实施例的组合,图6示例性示出了一种具体应用场景下的食材检测流程,如图所示,该流程可包括如下步骤:
[0102]
s601:获取食材图像并进行检测,以得到食材检测框。
[0103]
其中,食材检测框的信息表示为(x,y,w,h,c,p),其中(x,y)表示食材检测框的中心点坐标,(w,h)表示食材检测框的宽、高,c表示检测框所属的食材种类,p表示被识别为食材种类c的概率。
[0104]
s602:判断候选食材检测框集合是否为空,若为空,则表明食材检测框已经处理完毕,因此转入s607进行聚类处理;若不为空,则表明还有未处理的检测框,因此转入s603进行覆盖处理。其中,候选食材检测框集合被初始设置为包括检测到的所有食材检测框。
[0105]
s603~606:覆盖处理过程。
[0106]
在s603,分别计算每个检测框的面积,以第i个检测框为例,其面积为s
i
=w
i
*h
i
。根据各检测框的面积,存取其中面积最大的检测框作为基准框u1。
[0107]
在s604,执行覆盖计算。可采用上述公式(1)将该基准框与其他检测框进行覆盖计算,确定出被该基准框所覆盖的检测框,将被覆盖的检测框记为u
1-1
,u
1-2
,....。
[0108]
根据该基准框所覆盖的检测框的数量,可确定该基准框所覆盖的食材是聚集类食
材还是单个类食材。具体地,可令n
i
表示基准框u
i
覆盖的检测框的数量。若n
j
≥η,则认为基准框u
i
覆盖的食材为聚集类食材,否则,认定该基准框所覆盖的食材为单个类食材。其中,η为选定的数量参数,η≥0。
[0109]
举例来说,以下示出了η的几种取值情况下,判断基准框所覆盖的食材属于聚集类食材还是属于单个类食材的情况:
[0110]
情况1:η=0,则无论基准框u
i
是否覆盖有其他检测框,该基准框u
i
覆盖下的食材均为聚集类食材;
[0111]
情况2:η=1,则基准框u
i
覆盖有至少一个检测框,该基准框u
i
覆盖下的食材即为聚集类食材,若基准框u
i
未覆盖有其他检测框,该基准框u
i
覆盖下的食材为单个类食材;
[0112]
情况3:η=2,则基准框u
i
覆盖有至少两个检测框,该基准框u
i
覆盖下的食材即为聚集类食材,若基准框u
i
覆盖的检测框的数量小于2,该基准框u
i
覆盖下的食材为单个类食材。
[0113]
以此类推。采用上述方法,通过设置或调整η的取值,可以针对不同情况减少判断误差,提高检测精度。
[0114]
在s605,确定基准框u
i
所属的食材种类。
[0115]
具体地,若基准框u
i
覆盖下的食材为单个类食材,则基准框u
i
所属的食材种类即为基准框u
i
的信息(x
i
,y
i
,w
i
,h
i
,c
i
,p
i
)中的食材种类c
i

[0116]
若基准框u
i
覆盖下的食材为聚集类食材,则通过以下方式判断该聚集类食材的种类:
[0117]
若基准框u
i
及其覆盖的检测框u
i-j
的食材种类为同种类c,则认为基准框u
i
及其覆盖的检测框表示为聚集类食材c,数量为一组;若基准框u
i
与其所覆盖的检测框u
i-j
的食材种类不同,则计算识别为每种食材类型的概率平均值,取平均值最大的种类作为该聚集类食材的种类。
[0118]
在s606,从候选食材检测框集合中删除基准框u
i
及其覆盖的检测框,以避免后续处理过程中再次对这些检测框进行处理。
[0119]
重复执行上述s603~s606,直到候选食材检测框集合为空(即所有检测框处理完毕)为止。
[0120]
以第二次执行上述s603~s606的过程为例,从候选食材检测框集合中选取面积最大的检测框作为第二个基准框u2,与该集合中的其他检测框进行覆盖计算,将被基准框u2覆盖的检测框记为u
2-1
,u
2-2


,并判断基准框u2及其覆盖的检测框的食材种类。
[0121]
s607:对所有的基准框进行聚类,并确定聚类得到的每个食材组的食材种类。
[0122]
这里,

剩余的检测框

包括所有的基准框。
[0123]
s608:输出食材检测结果,具体可包括最终聚类得到的食材组,以及每组食材的种类。
[0124]
图6所示的上述流程中,一些步骤的具体实现方式可参照前述实施例的描述,在此不再重复。
[0125]
下面以图7a至图7c为例,对本技术实施例进行说明。
[0126]
如图7a所示,对图像进行检测后,检测得到检测框701~709,每个检测框的食材种类均为

草莓

。初始化候选食材检测框集合,使得检测框701~709都被包含在该集合中,即该集合表示为{检测框701,检测框702,检测框703,检测框704,检测框705,检测框706,检测
框707,检测框708,检测框709}。
[0127]
在第一次覆盖处理过程中,检测框701的面积最大,被选取为第一个基准框,该第一个基准框覆盖有检测框702~705,因此从候选食材检测框集合中删除检测框701~705,此时候选食材检测框集合表示为{检测框706,检测框707,检测框708,检测框709}。该第一个基准框覆盖的食材为聚集类食材,由于该第一个基准框及其覆盖的检测框的食材种类均为

草莓

,则该第一个基准框的食材种类为

草莓


[0128]
在第二次覆盖处理过程中,检测框706的面积最大,被选取为第二个基准框,该第二个基准框覆盖有检测框707,因此从候选食材检测框集合中删除检测框706和707,此时候选食材检测框集合表示为{检测框708,检测框709}。该第二个基准框覆盖的食材为聚集类食材,由于该第二个基准框及其覆盖的检测框的食材种类均为

草莓

,则该第二个基准框的食材种类为

草莓


[0129]
在第三次覆盖处理过程中,检测框709的面积最大,被选取为第三个基准框,该第三个基准框没有覆盖其他检测框,因此仅从候选食材检测框集合中删除检测框709,此时候选食材检测框集合表示为{检测框708}。该第三个基准框覆盖的食材为单个类食材,其食材种类为

草莓


[0130]
在第四次覆盖处理过程中,检测框708的面积最大,被选取为第四个基准框,该第四个基准框没有覆盖其他检测框,因此从候选食材检测框集合中删除检测框709,此时候选食材检测框集合为空。该第四个基准框覆盖的食材为单个类食材,其食材种类为

草莓


[0131]
由于候选食材检测框集合已经为空,表明至此检测框已经全部处理完成。上述四次覆盖处理过程中,检测框701、检测框706、检测框709、检测框708,先后被选取为基准框,如图7b所示,对这些检测框执行聚类算法,最终得到2个聚类,并确定该2个聚类对应的食材种类均为

草莓

,即得到如图7c中所示的第一草莓组710和第二草莓组720。
[0132]
本技术的上述实施例中,在检测到图像中的食材检测框后,首先,根据食材检测框的位置、大小,确定食材检测框间的覆盖关系,并根据食材检测框间的覆盖关系选取用于聚类的食材检测框,然后对选取的食材检测框进行聚类,并根据聚类得到的食材组中包含的食材检测框所属的食材种类,确定相应食材组所属的食材种类,从而实现了对聚集类食材的检测和识别。
[0133]
根据示例性的实施方式中的再一方面,本技术实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序指令,当所述指令在计算机上运行时,使得所述计算机执行如上所述的处理方法。
[0134]
由于本技术实施例中的智能终端和计算机存储介质可以应用于上述处理方法,因此,其所能获得的技术效果也可参考上述方法实施例,本技术的实施例在此不再赘述。
[0135]
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0136]
虽然以上描述了本技术的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本技术的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本技术的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更
和修改均落入本技术的保护范围。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜