发明内容
为解决现有技术中无法获取剩余酒量的问题,本发明的目的在于提供一种酒瓶内剩余酒量的检测方法、酒柜及可读存储介质。
为实现上述发明目的,本发明一实施方式提供一种酒瓶内剩余酒量的检测方法,包括如下步骤:
获取酒瓶的当前重量信息;
根据当前酒瓶的初始酒量信息、酒密度信息、初始重量信息和所述当前重量信息,计算当前酒瓶的第一酒量信息;
获取酒瓶内酒的当前高度信息;
根据当前酒瓶的初始酒量信息、初始高度信息和所述当前高度信息,计算当前酒瓶的第二酒量信息;
当所述第一酒量信息与所述第二酒量信息的差值不超过预设值时,将剩余酒量设置为剩余预估值,所述剩余预估值的取值范围在所述第一酒量信息与所述第二酒量信息之间。
作为本发明的进一步改进,所述步骤“根据当前酒瓶的初始酒量信息、酒密度信息、初始重量信息和所述当前重量信息,计算当前酒瓶的第一酒量信息”包括:
根据所述当前重量信息和所述初始重量信息,计算重量差值信息;
根据所述重量差值信息和所述酒密度信息,计算酒量差值信息;
根据所述初始酒量信息和所述酒量差值信息,计算所述第一酒量信息。
作为本发明的进一步改进,所述步骤“获取酒瓶内酒的当前高度信息”包括:
获取酒瓶的照片;
根据所述照片的像素点信息,确定酒瓶内酒的当前高度信息。
作为本发明的进一步改进,所述步骤“根据当前酒瓶的初始酒量信息、初始高度信息和所述当前高度信息,计算当前酒瓶的第二酒量信息”包括:
根据所述初始高度信息和所述当前高度信息,确定剩余的酒量占初始酒量的剩余比例;
根据所述初始酒量信息和所述剩余比例,确定当前酒瓶的第二酒量信息。
作为本发明的进一步改进,所述步骤“根据所述初始高度信息和所述当前高度信息,确定剩余的酒量占初始酒量的剩余比例”包括:
沿酒在酒瓶内的下降方向将所述酒瓶分为多个区间,按每个区间内的容积分配权重;
将当前高度信息对应的区间的累计权重除以初始高度信息对应的区间的累计权重,算取的比值记为剩余的酒量占初始酒量的剩余比例。
作为本发明的进一步改进,所述剩余预估值设置为所述第一酒量信息与所述第二酒量信息的均值。
作为本发明的进一步改进,还包括步骤:
当所述第一酒量信息与所述第二酒量信息的差值超过所述预设值时,将所述剩余酒量设置为所述第一酒量信息与所述第二酒量信息之间的较小值。
为实现上述发明目的之一,本发明一实施例提供了一种酒柜,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述酒柜还包括用于获取酒瓶重量的重量传感器和用于获取所述酒瓶内酒的高度的视觉传感器,所述处理器执行所述计算机程序时可实现上述的酒瓶内剩余酒量的检测方法中的步骤。
作为本发明的进一步改进,还包括用于获取所述酒瓶信息的射频识别装置。
为实现上述发明目的之一,本发明一实施例提供了一种可读存储介质,其存储有计算机程序,该计算机程序被处理器执行时可实现上述的酒瓶内剩余酒量的检测方法中的步骤。
与现有技术相比,本发明具有以下有益效果:将酒瓶的重量变化与酒瓶内酒的高度变化相互结合,从两个维度确定酒瓶内的剩余酒量,使其判断结果更加准确可靠,避免了用户取酒后换上重量不同的瓶塞、或是判断酒瓶内酒的高度时光线问题导致的识别不准等问题,在酒柜能准确获取酒瓶内的剩余酒量信息的基础上,为针对该瓶酒展开的其他智能分析提供了准确信息,使酒柜的智能化程度更高,满足智能家庭的需求。
具体实施方式
以下将结合附图所示的具体实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
本发明一实施例提供一种酒瓶内剩余酒量的检测方法,用于检测放置在酒柜内的酒瓶里的剩余酒量,在获取了该剩余酒量的信息后,可以进行更多智能化、定制化的操作。
本实施例的酒瓶内剩余酒量的检测方法包括如下步骤:
获取酒瓶的当前重量信息;
根据当前酒瓶的初始酒量信息、酒密度信息、初始重量信息和所述当前重量信息,计算当前酒瓶的第一酒量信息;
初始酒量信息、酒密度信息和初始重量信息可以在第一次放入该酒瓶时,初始重量信息,
获取酒瓶内酒的当前高度信息;
根据当前酒瓶的初始酒量信息、初始高度信息和所述当前高度信息,计算当前酒瓶的第二酒量信息;
当所述第一酒量信息与所述第二酒量信息的差值不超过预设值时,将剩余酒量设置为剩余预估值,所述剩余预估值的取值范围在所述第一酒量信息与所述第二酒量信息之间。
图1为本申请一个实施方式的酒瓶内剩余酒量的检测方法的流程图,虽然本申请提供了如下述实施方式或流程图所述的方法操作步骤,但是基于常规或者无需创造性的劳动,所述方法在逻辑性上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施方式中所提供的执行顺序。例如计算第一酒量信息和计算第二酒量信息的步骤,获取当前重量信息和获取当前高度信息的步骤,可以在同一时间进行。
酒瓶的当前重量信息,包括了酒瓶本身的重量、酒瓶内的酒的重量以及瓶塞的重量。初始酒量信息,可以是酒瓶还未打开时内部标称的酒的净含量,初始重量信息即为酒瓶未打开对应的酒瓶整体的重量;初始酒量信息也可以是以某一次打开后准确测定的净含量的值,初始重量信息即为与该准确测量净含量值对应的酒瓶包括内部的酒的重量。优选的,初始酒量信息和初始重量信息都采用未打开时的酒瓶做测量标准,一般地,相同的酒瓶内部的酒的净含量、以及酒瓶整体的重量是相同的,以及该酒瓶内的酒的密度是几乎相同的,所以这些信息可以提前存储或临时获取。获取了初始酒量信息、酒密度信息、初始重量信息和当前重量信息后,可计算出当前的第一酒量信息,第一酒量信息是基于重量信息确定的当前酒瓶内剩余的酒量信息。
酒瓶内酒的当前高度信息和初始高度信息,是酒瓶始终处于某一放置角度下,酒瓶内的酒在某一高度位置上的高度信息,例如酒瓶在水平放置时,从酒瓶水平横截面角度看,假如酒瓶的横截面为圆形,该圆形横截面内的酒的最高点与最低点之间的距离,即为酒的高度信息。通过当前酒瓶的初始酒量信息、初始高度信息和所述当前高度信息,可计算当前酒瓶的第二酒量信息,第二酒量信息是基于酒面高度信息确定的当前酒瓶内剩余的酒量信息。
在酒瓶打开后,用户可能会更换酒瓶原装的酒瓶塞,以及酒瓶放置在酒柜内时,被其他东西抵压,使得仅通过重量变化检测酒瓶内的剩余酒量存在误差,若客户换上的新的酒瓶塞较之前的酒瓶塞重量变化很大,则可能误差很多。在判断酒瓶内酒的高度信息,可能存在因光线不足,或者酒瓶表面的污渍等问题导致基于高度检测酒量的信息可能不准。所以,仅基于重量变化或仅基于高度的变化均可能导致剩余酒量判断不准确。当基于重量和基于高度检测出的剩余酒量的差距范围在预设值内时,基于两者同时出现问题的概率更小,此时判断两者都是可能的实际剩余酒量的近似值,基于第一酒量信息和第二酒量信息获取剩余酒量的剩余预估值,该剩余预估值的取值范围在所述第一酒量信息与所述第二酒量信息之间。
本实施例中,剩余预估值设置为所述第一酒量信息与所述第二酒量信息的均值。将两者相加再除以2,即可获得该剩余酒量的预估值。当所述第一酒量信息与所述第二酒量信息的差值不超过预设值时,假设第一酒量信息与第二酒量信息的准确程度是大致相等的,此时取两者的均值作为剩余预估值。
另外,还可以根据基于重量和基于高度两者获取的剩余信息,与做实验的多次模拟,设置拟合曲线。例如当酒量信息在较低数值的区间时,赋予第一酒量信息A1权重,赋予第一酒量信息A2权重,A1+A2=100%,剩余预估值=A1*第一酒量信息+A2*第二酒量信息;当酒量信息在较高数值区间时,赋予第一酒量信息B1权重,赋予第一酒量信息B2权重,B1+B2=100%,剩余预估值=B1*第一酒量信息+B2*第二酒量信息,与此相似的,还可以设置为其他的计算方法。上述的各个计算方法,均是在判断第一酒量信息与第二酒量信息的数值均准确时,剩余预估值的取值范围在所述第一酒量信息与所述第二酒量信息之间。
进一步地,所述步骤“根据当前酒瓶的初始酒量信息、酒密度信息、初始重量信息和所述当前重量信息,计算当前酒瓶的第一酒量信息”包括:
根据所述当前重量信息和所述初始重量信息,计算重量差值信息;
根据所述重量差值信息和所述酒密度信息,计算酒量差值信息;
根据所述初始酒量信息和所述酒量差值信息,计算所述第一酒量信息。
一般地,取出酒瓶后,剩余的酒相对于原来的酒量是变少的,即当前重量信息小于所述初始重量信息,所以可以是重量差值信息=初始重量信息-当前重量信息,若需要防止酒量变多的意外情况,也可以在上述式子中添加绝对值的符号进行计算。
同一品种的酒,密度大抵都是相同的,且该数据可以预先获取,根据酒密度信息和重量差值信息,可以确定体积的变化,即酒量差值信息=重量差值信息/酒密度信息。
若当前重量信息相较于初始重量信息变小,说明酒瓶内的酒变少,第一酒量信息=初始酒量信息-所述酒量差值信息,从而基于重量的变化确定出剩余的酒量。
酒瓶上可以设置RFID的电子标签,酒柜内可以设置射频识别装置,电子标签上载有该瓶酒的初始酒量信息、酒密度信息、初始重量信息,这些数据在出厂时便可以准确的确定下课,也可以基于该该酒瓶的电子标签信息,从服务器获取上述信息。
进一步地,所述步骤“获取酒瓶内酒的当前高度信息”包括:
获取酒瓶的照片;
根据所述照片的像素点信息,确定酒瓶内酒的当前高度信息。
摄像头对准酒瓶,依据如果有酒的酒瓶位置的照片该位置像素点返回值与没有酒的酒瓶位置像素返回值不同,从而在当酒瓶放置到酒柜的货道之后,拍摄照片,通过图片的像素点判断酒的最高位置在哪里,进一步判断出酒瓶内酒的高度信息。
进一步地,所述步骤“根据当前酒瓶的初始酒量信息、初始高度信息和所述当前高度信息,计算当前酒瓶的第二酒量信息”包括:
根据所述初始高度信息和所述当前高度信息,确定剩余的酒量占初始酒量的剩余比例;
根据所述初始酒量信息和所述剩余比例,确定当前酒瓶的第二酒量信息。
根据初始的高度信息和当前高度信息,可判断出酒量的消耗情况,判断剩余的酒的容积占初始容积的多少,根据该比例进一步确定剩余的酒量。
由于酒瓶大多是圆柱形,当酒瓶平躺放置时,随着高度的下降,酒量的变少不是线性的,所以采用下述的步骤进一步提高第二酒量信息获取的准确度。
沿酒在酒瓶内的下降方向将所述酒瓶分为多个区间,按每个区间内的容积分配权重;
将当前高度信息对应的区间的累计权重除以初始高度信息对应的区间的累计权重,算取的比值记为剩余的酒量占初始酒量的剩余比例。
平躺放置的酒瓶,在过圆心的水平线以上的部分,随着高度的降低,酒量的减少速度越来越快,在过圆心的水平线以下的部分,随着高度的降低,酒量的减少速度越来越慢,对于平躺放置的酒瓶来说,沿酒下降的方向,即圆形横截面的上下方向,分成若干个区域,例如分为10个区间,每个区间对应一个权重,沿过圆心的水平面的上下两个部分对称位置的区域的权重相同,在过圆心的水平线以上的部分,随着高度的降低,权重越来越大;在过圆心的水平线以下的部分,随着高度的降低,权重越来越小。根据当前酒量的最高高度,所在位置对应区域的权重,以及该位置以下部分的各个区域权重的累加,即可确定当前高度对应的累计权重,对应的,初始高度信息也可以通过所在的最高位置对应的多个区间的累计权重。当前高度信息与初始高度信息对应的累计权重的比值,即为当前酒量的总体积与初始酒量的总体积的比值,该比值乘以初始酒量信息,即获取到剩余的酒量,即第二酒量信息。
进一步地,还包括步骤:
当所述第一酒量信息与所述第二酒量信息的差值超过所述预设值时,将所述剩余酒量设置为所述第一酒量信息与所述第二酒量信息之间的较小值。
即通过重量和高度两种方式获取到的剩余酒量的结果差别太大,此时判断两个酒量信息中存在不准确的信息。当基于重量检测到的剩余酒量不准确时,可能是用户换了一个过重的瓶塞,可能是该酒瓶被其他物体压着,导致重量朝着增大的趋势产生误差,对应的误判出的剩余酒量更多。当基于高度检测到的剩余酒量不准确时,可能是由于污渍挡住了酒面高度的测量,而位置低于最高液面高度的污渍对检测结果没影响,只能是高于液面最高高度的污渍影响了检测,或者说用户将本应平置的酒瓶倾斜放置,导致检测出的液面高度偏高,也就是说,基于高度检测到的剩余酒量不准确时,可能的结果也是使得剩余酒量检测出的结果偏大,所以当两者数据差值过大时,采用其中的较小值,避免用户换上的酒瓶塞过重、酒瓶被其他物体压着、酒瓶上的污渍影响检测、本应平置的酒瓶被倾斜放置等问题产生的误差。
进一步地,本发明一实施例提供了一种酒柜10,酒柜10用于放置酒瓶,包括用于获取酒瓶重量的重量传感器1和用于获取酒瓶内酒的高度的视觉传感器2,如图2所示,可以在每个放置酒瓶的货架下面设置重量传感器1,也可以多个酒瓶共用一个重量传感器1,对应的,视觉传感器2也可以设置为一个或多个,当多个酒瓶共用一个重量传感器1时,可以辅助视觉传感器2,判断是哪个酒瓶的重量在发生变化。酒柜10还包括存储器5和处理器4,存储器5存储有可在处理器4上运行的计算机程序,处理器4执行计算机程序时可实现上述的酒瓶内剩余酒量的检测方法中的步骤。
进一步地,还包括用于获取酒瓶信息的射频识别装置3,用于识别酒瓶上的RFID电子标签,获取酒瓶的净含量、酒瓶未拆封时的重量,以及酒瓶内该酒的密度等信息。
另外酒柜10还可以包括通信总线6,该通信总线6用于在重量传感器1、视觉传感器2、射频识别装置3、处理器4与存储器5之间建立连接,通信总线6可包括一通路,在上述的重量传感器1、视觉传感器2、射频识别装置3、处理器4和存储器5之间传送信息。
存储器5可以是独立存在,通过通信总线6与处理器4相连接。存储器5也可以和处理器4集成在一起。处理器4可以是一个通用中央处理器4(CPU),微处理器4,特定应用集成电路(ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
另外,本发明一实施例提供了一种可读存储介质,其存储有计算机程序,该计算机程序被处理器4执行时可实现上述的酒瓶内剩余酒量的检测方法中的步骤。
在上述的说明中,应该理解到,所揭露的系统,系统和方法,可以通过其它的方式实现。以上所描述的系统实施方式仅仅是示意性的,例如,设备模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
例如,在本申请的处理器4可以集中在一个处理模块中,也可以是各个模块单独物理存在,也可以2个或2个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
同样地,存储器5也可以是集成在一个存储模块中,也可以是多个单独的物理存在。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机系统(可以是个人计算机,服务器,或者网络系统等)或处理器412(processor)执行本申请各个实施方式所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器5(Read-Only Memory,ROM)、随机存取存储器5(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
与现有技术相比,本实施例具有以下有益效果:
将酒瓶的重量变化与酒瓶内酒的高度变化相互结合,从两个维度确定酒瓶内的剩余酒量,使其判断结果更加准确可靠,避免了用户取酒后换上重量不同的瓶塞、或是判断酒瓶内酒的高度时光线问题导致的识别不准等问题,在酒柜10能准确获取酒瓶内的剩余酒量信息的基础上,为针对该瓶酒展开的其他智能分析提供了准确信息,使酒柜10的智能化程度更高,满足智能家庭的需求。
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。