饮水机控制方法、饮水机及计算机可读存储介质与流程

文档序号:21967309发布日期:2020-08-25 18:53阅读:193来源:国知局
饮水机控制方法、饮水机及计算机可读存储介质与流程

本申请涉及电子设备技术领域,具体涉及一种饮水机控制方法、饮水机及计算机可读存储介质。



背景技术:

随着人们生活水平的提高,饮水机的越来越普及,人们对饮水机的功能要求也越来越高。目前,在使用饮水机的过程中,用户需要通过按键操作完成定量取水,并且在接水时需要不停的关注水杯内水位的变化,依靠人眼判断出水量,并手动通过按键来控制出水及停水等,这样智能程度较低,用户稍微不注意就可能导致水的溢出,造成了水资源的浪费,溢出的热水也可能造成烫伤等。并且,在接水的过程中,也无法腾出手做其它事情,一定程度上造成了时间的浪费。虽然目前有部分饮水机可设定一次出水量,但只适用于对固定大小的水杯进行固定量的出水,例如每次只出水a毫升;或者通过超声波定位水位的高度来控制饮水机停止出水,但其对水位高度检测的准确性较低,导致无法对饮水机进行精准控制。



技术实现要素:

本申请实施例提供一种饮水机控制方法、饮水机及计算机可读存储介质,可以提高对饮水机控制的精准性。

第一方面,本申请实施例提供了一种饮水机控制方法,包括:

获取放置于饮水机的出水口下方的容器的端口轮廓;

控制所述饮水机出水,采集包含所述容器的当前图像;

从所述当前图像中提取基于所述容器与水形成张力所生成的水位特征;

当所述端口轮廓与所述水位特征之间的比对结果满足预设条件时,控制所述饮水机停止出水。

第二方面,本申请实施例还提供了一种饮水机,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时执行本申请实施例提供的任一种饮水机控制方法。

第三方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被处理器加载,以执行本申请实施例提供的任一种饮水机控制方法。

本申请实施例当接水的容器放置于饮水机的出水口下方时,可以获取容器的端口轮廓,控制饮水机出水,以及采集包含容器的当前图像;然后从当前图像中提取基于容器与水形成张力所生成的水位特征,当端口轮廓与水位特征之间的比对结果满足预设条件时,控制饮水机停止出水。该方案可以基于容器中水的水位特征准确控制饮水机停止出水,提高了对饮水机控制的精准性和便捷性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的饮水机控制方法的流程示意图;

图2是本申请实施例提供的饮水机出水口下方未放置容器的示意图;

图3是本申请实施例提供的饮水机出水口下方放置容器的示意图;

图4是本申请实施例提供的容器检测的示意图;

图5是本申请实施例提供的容器检测的另一示意图;

图6是本申请实施例提供的输出手动放水的提示信息的示意图;

图7是本申请实施例提供的摄像头和光源安装位置的示意图;

图8是本申请实施例提供的摄像头和光源安装位置的另一示意图;

图9是本申请实施例提供的提取容器内水位特征的示意图;

图10是本申请实施例提供的容器的端口轮廓和水面边界比较的示意图;

图11是本申请实施例提供的饮水机的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。

本申请的实施例提供了一种饮水机控制方法、饮水机及计算机可读存储介质。其中,该饮水机控制方法可以应用于饮水机中,该饮水机控制方法还可以应用于移动终端,该移动终端可以包括智能手机、平板电脑、摄像头、相机或掌上电脑等,用于对饮水机进行控制。例如,移动终端可以获取放置于饮水机的出水口下方的容器的端口轮廓,控制饮水机出水,采集包含容器的当前图像,从当前图像中提取基于容器与水形成张力所生成的水位特征,当端口轮廓与水位特征之间的比对结果满足预设条件时,控制饮水机停止出水;等等。

以下将以饮水机控制方法应用于饮水机为例进行详细说明。

请参阅图1,图1是本申请一实施例提供的饮水机控制方法的流程示意图。该饮水机控制方法可以包括步骤s101至步骤s104等,具体可以如下:

s101、获取放置于饮水机的出水口下方的容器的端口轮廓,以及控制饮水机出水。

其中,容器的类型可以根据实际需要进行灵活设置,例如,该容器是塑料杯、陶瓷杯、玻璃杯、或保温杯等水杯。端口轮廓可以是容器的进出水的上端口边缘(例如水杯边缘)。

需要说明的是,获取容器的端口轮廓,以及控制饮水机出水的执行步骤可以根据实际实际需要进行灵活设置,例如,可以先执行获取容器的端口轮廓,后执行控制饮水机出水,或者先执行控制饮水机出水,后执行获取容器的端口轮廓,或者,同时执行获取容器的端口轮廓,以及控制饮水机出水,具体内容在此处不作限定。

在一些实施方式中,获取放置于饮水机的出水口下方的容器的端口轮廓包括:每间隔预设时间采集饮水机的出水口下方的图像,得到多帧图像;当多帧图像之间的差异小于第一预设阈值时,从多帧图像中选择一张图像作为背景图像;采集饮水机的出水口下方的初始图像;当初始图像与背景图之间的差异大于第二预设阈值时,确定容器放置于饮水机的出水口下方,获取容器的端口轮廓。

为了提高对容器识别的准确性,可以通过背景差除法在判定容器放置于饮水机的出水口下方时获取容器的端口轮廓。具体地,饮水机的出水口周围可以预先设置摄像头,用于采集饮水机的出水口下方的图像,其中,该摄像头可以是红外摄像头或者其他类型的摄像头,该摄像头安装的具体位置可以根据实际需要进行灵活设置,例如,摄像头可以安装在出水口的斜上方或靠近出水口位置等,从而使得摄像头可以准确采集到饮水机的出水口下方预设区域的图像。首先,可以每间隔预设时间通过摄像头采集饮水机的出水口下方的图像,得到多帧图像,该预设时间可以根据时间需要进行灵活设置,例如,预设时间可以设置为0.5或1秒,当预设时间设置为0.5时,在3秒钟内可以采集到6帧图像。

然后,将多帧图像进行比对,判断多帧图像中每帧图像之间的差异是否小于第一预设阈值,该第一预设阈值可以根据实际需要进行灵活设置。当多帧图像中每帧图像之间的差异小于第一预设阈值时,说明饮水机的出水口下方未放置有容器,如图2所示,此时可以从多帧图像中选择一张图像作为背景图像,例如,可以将采集到的第一帧或最后一帧图像作为背景图像。当多帧图像中每帧图像之间的差异大于或等于第一预设阈值时,说明饮水机的出水口下方放置有容器等物体,此时无法确定背景图像。

需说明的是,为了提高背景图像获取的效率,可以检测饮水机当前是否出水,若饮水机当前未出水,则每间隔预设时间采集饮水机的出水口下方的图像,得到多帧图像,当多帧图像之间的差异小于第一预设阈值时,从多帧图像中选择一张图像作为背景图像。

在得到背景图像后,可以实时或每间隔预设时间通过摄像头采集饮水机的出水口下方的图像,得到初始图像。将初始图像与背景图进行比较,判断初始图像与背景图之间的差异是否大于第二预设阈值,该第二预设阈值可以根据实际需要进行灵活设置。当初始图像与背景图之间的差异大于第二预设阈值时,确定容器放置于饮水机的出水口下方,如图3所示,此时可以获取容器的端口轮廓。当初始图像与背景图之间的差异小于或等于第二预设阈值时,说明饮水机的出水口下方未放置容器。

在一些实施方式中,获取放置于饮水机的出水口下方的容器的端口轮廓可以包括:通过饮水机的出水口周围预设的摄像头,从容器的上方采集容器图像;从容器图像中提取容器的端口轮廓;或者,接收用户输入的半径值或直径值,根据半径值或直径值,确定容器的端口轮廓。

例如,为了提高对容器的端口轮廓获取的准确性和可靠性,可以在判定容器放置于饮水机的出水口下方时,采集包含容器的容器图像,并基于容器图像确定端口轮廓。具体地,可以通过饮水机的出水口周围预设的摄像头(例如红外摄像头),从容器的端口上方往下采集包含容器的容器图像,该容器图像除了包含容器之外,还可以包括其他物体,具体内容在此处不做限定。此时可以从容器图像中提取容器的端口轮廓。需要说明的是,为了提高端口轮廓提取的精准性,可以对容器图像进行滤波等处理,并从处理后的容器图像中提取容器的端口轮廓。

在一些实施方式中,从容器图像中提取容器的端口轮廓可以包括:当接水的容器未放置于饮水机的出水口下方时,采集饮水机的出水口下方的图像,得到背景图像;将容器图像与背景图像进行像素比对,得到像素差异;根据像素差异确定容器的端口轮廓;或者,通过训练后的识别模型对容器图像进行端口轮廓识别,得到容器的端口轮廓。

具体地,由于在没有容器等物体置于饮水机的出水口下方的接水区域时,摄像头采集到的画面(即图像)一般是固定的,因此可以当接水的容器未放置于饮水机的出水口下方时,通过饮水机预先设置的摄像头采集饮水机的出水口下方的图像,得到背景图像,该背景图像中不包含容器。由于当有容器等物体置于饮水机的出水口下方的接水区域水时,容器所在区域的画面会和背景图像有明显差异,因此,此时可以将采集到的容器图像与背景图像进行像素比对,例如将容器图像与背景图像进行差分处理,得到像素差异,该像素差异可以是容器图像中像素值与背景图像中像素值不匹配的区域的像素,根据像素差异所在的区域即可确定容器所在的区域,容器所在的区域的边缘即为端口轮廓,该端口轮廓可以是圆形、椭圆形或多边形等。

或者,可以通过训练后的识别模型对容器图像进行端口轮廓识别,得到容器的端口轮廓。该识别模型的类型可以根据实际需要进行灵活设置,该识别模型可以是目标检测模型ssd或yolov3,该识别模型还可以是卷积神经网络cnn或r-cnn。其中,可以通过多张包含不同类型的容器的端口轮廓的样本图像,对识别模型进行训练,得到训练后的识别模型。

又例如,为了提高对容器的端口轮廓获取的便捷性和灵活性,可以通过饮水机预先设置的显示屏显示输入界面,并在输入界面内接收用户输入的半径值或直径值,然后以出水口正下方或容器底部中心为圆心,以该半径值或直径值绘制圆形,可以将该圆形设置为容器的端口轮廓。或者,饮水机可以与移动终端(例如手机)建立通信连接,此时饮水机可以接收移动终端发送的容器的半径值或直径值,该容器的半径值或直径值可以是用户通过移动终端的输入界面输入的。

需要说明的是,为了解决容器过高而无法从容器图像中准确提取端口轮廓的问题,采集容器图像的摄像头可以设置为高度可动态调节的,此时可以根据容器的高度动态调节摄像头的当前高度,以便摄像头可以准确采集到容器图像。

在一些实施方式中,获取放置于饮水机的出水口下方的容器的端口轮廓可以包括:获取容器的体积和高度,根据体积和高度确定容器的端口轮廓。

为了提高端口轮廓获取的准确性和可靠性,当容器为圆柱体时,可以通过容器的体积和高度等确定容器的端口轮廓。具体地,在一些实施方式中,获取容器的高度可以包括:通过饮水机侧面预设的传感器,检测容器的高度;或者,接收用户输入的容器的高度。

其中,饮水机接水区域的侧面可以预先设置有一个或多个传感器,用于检测容器的高度。为了提高容器的高度获取的准确性和灵活性,当饮水机的接水区域放置有容器时,可以通过饮水机侧面预设的传感器检测容器的高度。或者,可以在饮水机的显示屏内显示输入界面,然后可以在输入界面内接收用户输入的容器的高度。或者,饮水机可以与移动终端(例如手机)建立通信连接,此时饮水机可以接收移动终端发送的容器的高度,该容器的高度可以是用户通过移动终端的输入界面输入的,以便移动终端在接收到用户输入的容器的高度后,可以将容器的高度发送给饮水机。

在获取容器的体积时,饮水机可以输出体积输入的提示信息,基于该提示信息接收用户输入的容器的体积,例如,基于提示信息接收用户通过语音输入的容器的体积;或者,基于提示信息接收用户通过饮水机预设的显示屏显示的输入界面,输入的容器的体积。

为了提高体积输入的便捷性和多样性,例如,饮水机可以通过语音采集模块接收用户通过语音输入的容器的体积,或者,饮水机可以接收移动终端发送的用户通过语音输入的容器的体积。又例如,饮水机可以接收用户通过预设的显示屏显示的输入界面,输入的容器的体积,或者,饮水机可以接收移动终端发送的用户通过移动终端的显示屏显示的输入界面,输入的容器的体积;等等。

在得到容器的体积和高度后,由于圆柱形容器的体积可以通过底部面积乘以高度,并且容器的体积和高度已知,此时可以根据体积和高度推算出容器的底部面积,根据底部面积可以确定底部轮廓,由于圆柱形容器的底部轮廓和端口轮廓的大小一致,可以将该底部轮廓作为容器的端口轮廓。

在一些实施方式中,根据体积和高度确定容器的端口轮廓可以包括:获取容器的体积、高度和底部面积,根据体积、高度和底部面积,确定容器的端口轮廓。

在一些实施方式中,获取容器的底部面积可以包括:通过容器放置的位置预设的压力传感器检测压力值大于预设阈值所在的受力区域,根据受力区域确定容器底部面积;或者,接收用户输入的容器参数,根据容器参数计算容器的底部面积;或者,在饮水机出水后,检测容器底部的水面边界,将容器底部的水面边界设置为容器底部面积。

由于容器的形状可以是多种多样,当容器为圆台状(例如顶部端口大于底部)时,为了提高端口轮廓确定的准确性,可以结合容器的底部面积来确定容器的端口轮廓。具体地,可以通过饮水机的出水口周围预设的摄像头,从容器的上方采集包含容器的图像,从图像中提取容器的底部轮廓,根据底部轮廓确定容器底部面积。

其中,摄像头安装的具体位置可以根据实际需要进行灵活设置,例如,摄像头可以安装在出水口的斜上方或靠近出水口位置等,从而使得摄像头可以准确采集到饮水机的出水口下方预设区域的包含容器的图像,此时,可以通过预设的识别模型或图像像素比对等,从图像中提取容器的底部轮廓,该底部轮廓可以是圆形或多边形等,根据底部轮廓可以确定容器底部面积,例如,当底部轮廓为圆形时,可以检测底部轮廓的半径值或直径值,根据半径值或直径值计算面积,从而提高了容器底部面积获取的可靠性。

其中,为了提高容器底部面积获取的便捷性和准确性,可以在饮水机的接水区域内用于放置容器的位置,预先设置压力传感器,可以在放置容器的接水区域覆盖压力传感器,当有物体放置在该位置时可以通过压力传感器检测到压力值。此时,当饮水机的接水区域(即出水口下方)放置有容器时,可以通过容器放置的位置预设的压力传感器,检测受到的压力值,并筛选出压力值大于预设阈值所在的受力区域,该预设阈值可以根据实际需要进行灵活设置。当容器底部为圆形时,可以得到圆形的受力区域,此时可以根据受力区域的半径值或直径值计算面积,该受力区域的面积即为容器底部面积。

为了提高容器底部面积获取的灵活性,可以在饮水机的显示屏内显示输入界面,然后可以在输入界面内接收用户输入的容器参数,该容器参数可以包括容器底部面积、容器底部的半径值或直径值、或容器底部的边长等,此时可以根据容器参数计算容器底部面积,例如,根据半径值或直径值计算容器底部面积,或者根据容器底部的边长计算容器底部面积。或者,饮水机可以与移动终端(例如手机)建立通信连接,此时饮水机可以接收移动终端发送的容器参数,该容器参数可以是用户通过移动终端的输入界面输入的,以便移动终端在接收到用户输入的容器参数后,可以将容器参数发送给饮水机。

当饮水机出水后,可以通过摄像头检测容器底部的水面边界,该容器底部的水面边界的检测方式与基于容器与水形成张力所生成的水位特征的获取方式类似,具体可以参照水位特征的获取方式,具体内容在此处不作赘述。此时可以将容器底部的水面边界设置为容器底部面积。

以及,按照上述方式获取容器的体积和高度,在得到容器的体积、高度和底部面积后,可以根据容器的体积、高度和底部面积,确定容器的端口轮廓。

由于圆台形容器的体积可以通过底部半径(可以通过底部面积计算得到)、顶部半径(即圆形端口轮廓的半径)和高度计算得到,并且容器的体积、底部面积和高度已知,此时可以根据底部面积计算出底部半径,根据体积、底部半径和高度推算出端口轮廓的半径,根据端口轮廓的半径可以确定容器的端口轮廓。

在一些实施方式中,获取放置于饮水机的出水口下方的容器的端口轮廓可以包括:获取容器的底部面积,根据底部面积确定容器的端口轮廓。

具体地,为了提高端口轮廓确定的便捷性,可以按照上述方式获取容器的底部面积,根据容器的底部面积计算底部半径,以及,如图4所示,可以在饮水机的侧面设置一个或多个测距传感器,通过测距传感器检测与容器之间的距离,当容器为上端口大于底部的锥体时,图4中可以通过测距传感器1检测与容器端口边缘之间的距离为a,以及通过测距传感器2检测与容器底部边缘之间的距离为b,然后,计算容器的端口轮廓的直径=2*(b-a)+底部半径。

在一些实施方式中,获取放置于饮水机的出水口下方的容器的端口轮廓可以包括:获取容器的斜边长度、底部面积和高度,根据斜边长度、底部面积和高度,确定容器的端口轮廓。

为了提高端口轮廓确定的灵活性和准确性,可以基于根据容器的斜边长度、底部面积和高度确定容器的端口轮廓。具体地,按照上述方式检测容器的底部面积,以及,如图5所示,可以检测饮水机的出水速率,以及记录已出水的出水时间,根据出水速率和出水时间计算容器内当前已有水的体积,或者,检测容器的当前重量,根据当前重量与容器在空载状态下的重量之间的差值,确定当前容器内已有水的重量,根据水的重量和密度确定水的体积;以及检测当前的水面面积(例如通过摄像头检测水面边界所在区域的面积,得到水面面积),根据当前已有水的体积、水面面积、容器的底部面积,计算当前的水位高度h。以及通过传感器或摄像头等检测容器的高度h,或者接收用户输入的容器的高度h等。此时,可以根据底部面积确定底部半径r,以及根据水面面积确定水面半径r,然后,根据底部半径r和水面半径r计算ab的长度,在直角三角形abc中,可以根据ab的长度和水位高度h计算斜边ac,在相似三角形abc和cde中,可以利用相似三角形原理确定三角形cde中的个角度或各边长,从而可以得到容器的斜边长度ec,并计算出de的长度,最终,容器的端口轮廓的直径=de的长度*2+底部直径,根据端口轮廓的直径可以确定容器的端口轮廓。

在一些实施方式中,可以获取容积垂直投影至水平面的投影面积,根据投影面积确定容器的端口轮廓。

在一些实施方式中,饮水机控制方法还可以包括:当接水的容器放置于饮水机的出水口下方,且未获取到容器的端口轮廓时,输出手动放水的提示信息。

为了提高对饮水机控制的灵活性,由异常情况出现,导致从采集到的容器图像中无法准确提取容器的端口轮廓时,可以输出手动放水的提示信息,以提醒用户通过点击或按压饮水机上预设的放水按键,控制饮水机出水,以及通过点击或按压饮水机上预设的停水按键,控制饮水机停止出水。该放水按键和停水按键可以是同一物理按键或虚拟按键,该放水按键和停水按键也可以是分别独立的物理按键或虚拟按键,该放水按键和停水按键的设置位置、颜色、大小或图标等可以根据实际需要进行灵活设置,具体内容在此处不做限定。

其中,输出手动放水的提示信息的方式可以包括:在饮水机预设的语音模块通过语音播报输出手动放水的提示信息,或者通过饮水机预设的显示屏内显示手动放水的提示信息,如图6所示,或者通过手动放水的指示灯闪烁等提示手动放水;等等。从而可以在出现异常检测情况无法出水时,及时提醒用户手动控制饮水机出水,避免用户误以为饮水机损坏而进行维修的麻烦。

s102、采集包含容器的当前图像。

在控制饮水机出水后,可以实时或每间隔预设时间采集饮水机出水口下方放置容器的接水区域的图像,得到包括容器的当前图像,该预设时间可以根据实际需要进行灵活设置。

在一些实施方式中,采集包含容器的当前图像可以包括:当饮水机的出水口周围预设的摄像头采集到水蒸气,或饮水机的出水温度大于预设温度阈值时,控制预设的风扇开启、控制摄像头预设的滤波片进行加热、和/或控制摄像头预设的防尘罩进行加热;在风扇开启、滤波片加热、和/或防尘罩加热后,通过摄像头采集包含容器的当前图像。

由于饮水机在出热水时,会因水温过高产生水蒸气,为了有效检测到清晰的当前图像,因此可以通过风扇、滤波片或防尘罩等降低水蒸气的影响。具体地,在一实施例中,可以在饮水机的上设置风扇,例如,在饮水机的出水口的斜上方、接水区域正上方的中间、或在饮水机的接水区域的侧面等设置风扇,或者在饮水机周围设置风扇,该风扇的类型和大小可以根据实际需要进行灵活设置,该风扇开启后用于驱除摄像头可视范围内的水蒸气,从而提高摄像头采集到图像的质量。在饮水机出水时,可以检测通过饮水机的出水口周围预设的摄像头或者其他传感器等检测是否存在水蒸气,当检测到水蒸气时,控制预设的风扇开启,在风扇开启后,通过摄像头采集包含容器的当前图像。或者,在饮水机出水时,可以检测饮水机的出水温度,判断饮水机的出水温度是否大于预设温度阈值,当饮水机的出水温度大于预设温度阈值时,控制预设的风扇开启,在风扇开启后,通过摄像头采集包含容器的当前图像。当饮水机的出水温度小于或等于预设温度阈值时,不需要开启风扇。

在另一实施例中,可以在摄像头的镜片附近或其他位置等设置滤波片,通过对该预设的滤波片进行加热可以驱除摄像头的镜片上的水蒸气,从而提高摄像头采集到图像的质量。在饮水机出水时,可以检测通过饮水机的出水口周围预设的摄像头或者其他传感器等检测是否存在水蒸气,当检测到水蒸气时,控制预设的滤波片加热,在滤波片加热后,通过摄像头采集包含容器的当前图像。或者,在饮水机出水时,可以检测饮水机的出水温度,判断饮水机的出水温度是否大于预设温度阈值,当饮水机的出水温度大于预设温度阈值时,控制预设的滤波片加热,在滤波片加热后,通过摄像头采集包含容器的当前图像。当饮水机的出水温度小于或等于预设温度阈值时,不需要加热滤波片。

在另一实施例中,可以在摄像头的镜片附近或其他位置等设置防尘罩(如玻璃、阿克力等),通过对该预设的防尘罩进行加热可以驱除摄像头的镜片上的水蒸气,从而提高摄像头采集到图像的质量。在饮水机出水时,可以检测通过饮水机的出水口周围预设的摄像头或者其他传感器等检测是否存在水蒸气,当检测到水蒸气时,控制预设的防尘罩加热,在防尘罩加热后,通过摄像头采集包含容器的当前图像。或者,在饮水机出水时,可以检测饮水机的出水温度,判断饮水机的出水温度是否大于预设温度阈值,当饮水机的出水温度大于预设温度阈值时,控制预设的防尘罩加热,在防尘罩加热后,通过摄像头采集包含容器的当前图像。当饮水机的出水温度小于或等于预设温度阈值时,不需要加热防尘罩。

需要说明的是,饮水机可以仅设置防尘罩加热、风扇开启或滤波片加热中的任意一种或两种,饮水机也可以均设置防尘罩加热、风扇开启和滤波片加热等,具体内容在此处不做限定。

在一些实施方式中,采集包含容器的当前图像可以包括:检测饮水机所处环境的当前光线强度;若当前光线强度小于预设强度阈值时,控制预设的补光灯开启;在补光灯开启后,采集包含容器的当前图像。

由于在环境的光线强度较弱时,会影响当前图像的质量,为了有效检测到清晰的当前图像,因此可以加强光线强度来降低对图像采集的影响。具体地,可以在饮水机的上设置led光源作为补光灯,例如,如图7所示,摄像头(例如红外摄像头)和补光灯(即图7中的光源)可以安装在饮水机的出水口的斜上方,或者,例如,如图8所示,摄像头和补光灯(即图8中的光源)可以并行安装在饮水机的接水区域正上方的中间,靠近出水口位置,以及摄像头和补光灯的朝向相同。补光灯的作用是增强接水区域的光照条件,使得其更加可控,从而提高摄像头采集到图像的质量。在饮水机出水时,可以检测通过光线传感器检测饮水机所处环境的当前光线强度,并判断当前光线强度是否小于预设强度阈值,该预设强度阈值可以根据实际需要进行灵活设置,在当前光线强度大于或等于预设强度阈值的条件下,可以保证摄像头可以采集到较清晰的图像。若当前光线强度小于预设强度阈值,则说明饮水机所处环境的当前光线较弱,此时可以控制预设的补光灯开启,在补光灯开启后,通过摄像头采集包含容器的当前图像。若当前光线强度大于或等于预设强度阈值,则不需要开启补光灯。

s103、从当前图像中提取基于容器与水形成张力所生成的水位特征。

如图9所示,容器中的水因为张力的存在,会在容器内壁形成附着效果,从而在光学上表现出异常的折射效果等光学特性,从视觉识别技术的角度,这种光学特性可以通过摄像头进行捕捉和识别。因此,在饮水机出水的过程中,采集到包含容器的当前图像后,可以从当前图像中提取基于容器与水形成张力所生成的水位特征。

需要说明的是,为了减少饮水机所在环境光线的影响(例如暗光或室内光源直射等),可以采用饮水机上或饮水机附近预设的led灯进行补光,例如,可以通过光线传感器检测饮水机所在环境的光线强度,根据光线强度判断是否需要开启led灯,若需要,则开启led灯后,采集包含容器的当前图像,若不需要开启led灯,则直接采集包含容器的当前图像,以便可以从当前图像中准确提取基于容器与水形成张力所生成的水位特征。

在一些实施方式中,从当前图像中提取基于容器与水形成张力所生成的水位特征可以包括:从当前图像中提取容器与水交界处因张力形成的反光边界,得到圆形亮纹的水面边界,将水面边界设置为水位特征。

其中,水位特征可以包括容器中的水面波动因折射形成的明纹信息和暗纹信息等,在提取水位特征的过程中,可以连续采集当前图像之前的多帧包含容器的图像,然后采用帧差法将当前图像与多帧图像进行比对,从当前图像中提取容器与水交界处因张力形成的反光边界,得到圆形亮纹的水面边界,该水面边界即为水位特征。

水位特征在图像中的主要表现是对红外反光的变化,在放水过程中,容器中水面因为张力,会使水面产生波动,并且在容器内壁交界处有明显的反光边界,从而能通过图像分析得到水面的边界,即为水位特征。即,饮水机在放水过程中,多帧当前图像中的最后一帧当前图像会与前n帧(n的具体数值根据实际需要进行灵活设置)图像进行对比,从而得到有明显亮暗差异的区域,该区域就是当前水面的区域,水面边界即为水位特征。其原理是当前图像和前n帧图像相比,会存在差异,而这个差异是由水位变化引起的,所以可以通过帧差法法把当前水位(即水位特征)检测出来。

需要说明的是,为了提高水位特征(即水面边界)获取的精准性,可以对提取出的水面边界进行滤波或平滑等操作,滤除噪声点和空洞点等,得到光滑的水面边界。

s104、当端口轮廓与水位特征之间的比对结果满足预设条件时,控制饮水机停止出水。

其中,预设条件可以根据实际需要进行灵活设置,满足预设条件,说明容器内水已满或即将满,或者容器内水量达到预设水量阈值,该预设水量阈值可以根据实际需要进行灵活设置,例如容器内水量达到90%。

在一些实施方式中,当端口轮廓与水位特征之间的比对结果满足预设条件时,控制饮水机停止出水包括:将端口轮廓的大小与水面边界的大小进行比较;当端口轮廓的大小与水面边界的大小之间的差值小于预设阈值时,确定端口轮廓与水位特征之间的比对结果满足预设条件,控制饮水机停止出水。

例如,如图10所示,在得到水面边界(即水位特征)和容器的端口轮廓之后,可以将端口轮廓的大小与水面边界的大小进行比较,判断端口轮廓的大小与水面边界的大小之间的差值是否小于预设阈值,其中,预设阈值可以根据实际需要进行灵活设置。由于容器内水量越少,水位越低,从当前图像中提取到的水面边界越小;容器内水量越多,水位越高,从当前图像中提取到的水面边界越大,因此,当端口轮廓的大小与水面边界的大小之间的差值大于或小于预设阈值时,说明容器内水量较少,此时可以维持饮水机的出水状态。当端口轮廓的大小与水面边界的大小之间的差值小于预设阈值时,说明容器内水量较多(例如容器内水快满了或容器内水量达到90%等),确定端口轮廓与水位特征之间的比对结果满足预设条件,即水位接近容器端口的距离,此时可以控制饮水机停止出水,不仅实现了自动控制饮水机出水,而且能有效减少因热水溢出而造成的烫伤等意外,提升安全性。

需要说明的是,为了对饮水机的出水进行准确控制,可以设置饮水机一次出水的出水量阈值,在饮水机出水的过程中,可以检测容器的端口轮廓与水位特征之间的大小差异,以及检测饮水机的出水量,当检测到容器的端口轮廓与水位特征之间的大小差异小于预设阈值时,即使饮水机的出水量未达到水量阈值,此时控制饮水机停止出水;或者,当饮水机的出水量未达到水量阈值时,即使未检测到容器的端口轮廓与水位特征之间的大小差异小于预设阈值,此时控制饮水机停止出水。避免了容器中的水位特征无法被有效识别(例如容器端口设计的特殊性、容器内壁的材质或纹理导致识别出现误判、或者容器摆放方式等导致无法识别到水位特征或端口轮廓等),而无法及时停止出水。

在一些实施方式中,控制饮水机出水,采集包含容器的当前图像之后,饮水机控制方法还可以包括:根据当前图像判断容器是否存在移动,或者是否存在异物进入容器内;当容器存在移动,或者存在异物进入容器内时,控制饮水机停止出水;从当前图像中提取基于容器与水形成张力所生成的水位特征包括:当容器未存在移动,或者未存在异物进入容器内时,从当前图像中提取基于容器与水形成张力所生成的水位特征。

在饮水机出水的过程中,在采集包含容器的当前图像后,可以根据当前图像判断容器是否存在移动,例如,当基于一帧或多帧当前图像,通过识别模型进行识别或通过不同帧图像之间的像素比对等,判定容器存在晃动或从饮水机的出水口下方移走时,说明容器存在移动。当容器存在移动时,为了避免容器存在晃动而容易倒掉,或容器从饮水机的出水口下方移走而使水资源浪费,此时可以控制饮水机停止出水。

以及,根据当前图像判断容器是否存在异物进入容器内,该异物可以包括蚊子、虫子或树叶等,例如,当基于一帧或多帧当前图像,通过识别模型进行识别或通过不同帧图像之间的像素比对等,判定容器存在蚊子落入容器内时,为了避免用户饮用不干净的水,此时可以控制饮水机停止出水。需要说明的是,可以同时检测容器是否存在移动和是否存在异物进入容器内,或者,仅检测容器是否存在移动,或者,仅检测是否存在异物进入容器内等,具体内容在此处不做限定。

本申请实施例当接水的容器放置于饮水机的出水口下方时,可以获取容器的端口轮廓,控制饮水机出水,以及采集包含容器的当前图像;然后从当前图像中提取基于容器与水形成张力所生成的水位特征,当端口轮廓与水位特征之间的比对结果满足预设条件时,控制饮水机停止出水。该方案可以基于容器中水的水位特征准确控制饮水机停止出水,提高了对饮水机控制的精准性和便捷性。

请参阅图11,图11是本申请实施例提供的一种饮水机的结构示意性框图。

如图11所示,该饮水机300可以包括通过系统总线301连接的处理器302、存储器303和通信接口304,其中,存储器303可以包括非易失性计算机可读存储介质和内存储器。

非易失性计算机可读存储介质可存储计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种饮水机控制方法。

处理器302用于提供计算和控制能力,支撑整个饮水机的运行。

存储器303为非易失性计算机可读存储介质中的计算机程序的运行提供环境,该计算机程序被处理器302执行时,可使得处理器302执行任意一种饮水机控制方法。

该通信接口304用于通信。本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的饮水机300的限定,具体的饮水机300可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

应当理解的是,该总线301比如为i2c(inter-integratedcircuit)总线,存储器303可以是flash芯片、只读存储器(rom,read-onlymemory)磁盘、光盘、u盘或移动硬盘等,处理器302可以是中央处理单元(centralprocessingunit,cpu),该处理器302还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

其中,在一些实施例中,处理器302用于运行存储在存储器303中的计算机程序,以执行如下步骤:

获取放置于饮水机的出水口下方的容器的端口轮廓,以及控制饮水机出水,采集包含容器的当前图像;从当前图像中提取基于容器与水形成张力所生成的水位特征;当端口轮廓与水位特征之间的比对结果满足预设条件时,控制饮水机停止出水。

在一些实施方式中,在获取放置于饮水机的出水口下方的容器的端口轮廓时,处理器302还执行:每间隔预设时间采集饮水机的出水口下方的图像,得到多帧图像;当多帧图像之间的差异小于第一预设阈值时,从多帧图像中选择一张图像作为背景图像;采集饮水机的出水口下方的初始图像;当初始图像与背景图之间的差异大于第二预设阈值时,确定容器放置于饮水机的出水口下方,获取容器的端口轮廓。

在一些实施方式中,在获取容器的端口轮廓时,处理器302还执行:通过饮水机的出水口周围预设的摄像头,从容器的上方采集包含容器图像;从容器图像中提取容器的端口轮廓;或者,接收用户输入的半径值或直径值,根据半径值或直径值,确定容器的端口轮廓。

在一些实施方式中,在从容器图像中提取容器的端口轮廓时,处理器302还执行:当接水的容器未放置于饮水机的出水口下方时,采集饮水机的出水口下方的图像,得到背景图像;将容器图像与背景图像进行像素比对,得到像素差异;根据像素差异确定容器的端口轮廓;或者,通过训练后的识别模型对容器图像进行端口轮廓识别,得到容器的端口轮廓。

在一些实施方式中,在获取放置于饮水机的出水口下方的容器的端口轮廓时,处理器302还执行:获取容器的体积和高度,根据体积和高度确定容器的端口轮廓;或者,获取容器的体积、高度和底部面积,根据体积、高度和底部面积,确定容器的端口轮廓;或者,获取容器的斜边长度、底部面积和高度,根据斜边长度、底部面积和高度,确定容器的端口轮廓。

在一些实施方式中,在获取容器的底部面积时,处理器302还执行:通过容器放置的位置预设的压力传感器检测压力值大于预设阈值所在的受力区域,根据受力区域确定容器底部面积;或者,接收用户输入的容器参数,根据容器参数计算容器的底部面积;或者,在饮水机出水后,检测容器底部的水面边界,将容器底部的水面边界设置为容器底部面积。

在一些实施方式中,在采集包含容器的当前图像时,处理器302还执行:当饮水机的出水口周围预设的摄像头采集到水蒸气,或饮水机的出水温度大于预设温度阈值时,控制预设的风扇开启、控制摄像头预设的滤波片进行加热、和/或控制摄像头预设的防尘罩进行加热;在风扇开启、滤波片加热、和/或防尘罩加热后,通过摄像头采集包含容器的当前图像。

在一些实施方式中,在采集包含容器的当前图像时,处理器302还执行:检测饮水机所处环境的当前光线强度;若当前光线强度小于预设强度阈值时,控制预设的补光灯开启;在补光灯开启后,采集包含容器的当前图像。

在一些实施方式中,在控制饮水机出水,采集包含容器的当前图像之后,处理器302还执行:根据当前图像判断容器是否存在移动,或者是否存在异物进入容器内;当容器存在移动,或者存在异物进入容器内时,控制饮水机停止出水;在从当前图像中提取基于容器与水形成张力所生成的水位特征时,处理器302还执行:当容器未存在移动,或者未存在异物进入容器内时,从当前图像中提取基于容器与水形成张力所生成的水位特征。

在一些实施方式中,在从当前图像中提取基于容器与水形成张力所生成的水位特征时,处理器302还执行:从当前图像中提取容器与水交界处因张力形成的反光边界,得到圆形亮纹的水面边界,将水面边界设置为水位特征;当端口轮廓与水位特征之间的比对结果满足预设条件时,控制饮水机停止出水时,处理器302还执行:将端口轮廓的大小与水面边界的大小进行比较;当端口轮廓的大小与水面边界的大小之间的差值小于预设阈值时,确定端口轮廓与水位特征之间的比对结果满足预设条件,控制饮水机停止出水。

在一些实施方式中,处理器302还执行:当接水的容器放置于饮水机的出水口下方,且未获取到容器的端口轮廓时,输出手动放水的提示信息。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对饮水机控制方法的详细描述,此处不再赘述。

本申请实施例当接水的容器放置于饮水机的出水口下方时,饮水机可以获取容器的端口轮廓,控制饮水机出水,以及采集包含容器的当前图像;然后从当前图像中提取基于容器与水形成张力所生成的水位特征,当端口轮廓与水位特征之间的比对结果满足预设条件时,控制饮水机停止出水。该方案饮水机可以基于容器中水的水位特征自动准确停止出水,提高了对出水控制的精准性和便捷性。

本申请的实施例中还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序中包括程序指令,处理器执行程序指令,实现本申请实施例提供的任一项饮水机控制方法。例如,该计算机程序被处理器加载,可以执行如下步骤:

获取放置于饮水机的出水口下方的容器的端口轮廓,以及控制饮水机出水,采集包含容器的当前图像;从当前图像中提取基于容器与水形成张力所生成的水位特征;当端口轮廓与水位特征之间的比对结果满足预设条件时,控制饮水机停止出水。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

其中,计算机可读存储介质可以是前述实施例的饮水机的内部存储单元,例如饮水机的硬盘或内存。计算机可读存储介质也可以是饮水机的外部存储设备,例如饮水机上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。

由于该计算机可读存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种饮水机控制方法,因此,可以实现本申请实施例所提供的任一种饮水机控制方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅是本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

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