一种出货检测方法及装置、无人售货设备、存储介质
技术领域
本申请实施例涉及无人售货设备技术领域,涉及但不限于一种出货检测方法及装置、设备、存储介质。
背景技术
无人售货设备,是一种为了实现商品的自主化、自动化交易的一种设备。目前市场上存在不同种类的无人售货设备,包括:食品机、饮料机、日用品机等,并且应用非常地广泛与普遍。无人售货设备主要分布于人流密集的区域,如火车站、汽车站、医院、工厂、学校、商场等公共场所。无人售货设备以其方便快捷、无需过多人力管理的优点而受到了用户的青睐,目前规模也有进一步扩大的趋势。
现在市面上出现了若干新型无人售货设备,能够让顾客打开柜门后如同在超市一样自助选取商品,无人售货设备通过射频识别(Radio Frequency Identification,RFID)标签、重力推算、图像识别等技术来检测顾客所购买商品,顾客关上柜门后进行智能结算。
通过重力推算确定顾客可能的购买商品清单时,一种直接的方式是根据售货柜中所有商品的重量,利用排列组合直接去确定与顾客拿取商品的总重量匹配的商品组合。该方法存在以下缺点:
顾客购买商品可能的组合数量随着商品数量的增长而指数增长,当顾客多次拿取商品时,拿取商品的总重量较大时,此时可能的组合会非常多,这将对计算机的内存造成巨大负担。且如果根据顾客拿取商品的总重量,临时计算可能的商品组合的话,又耗时过长。
发明内容
有鉴于此,本申请实施例为解决相关技术中存在的至少一个问题而提供一种出货检测方法及装置、设备、存储介质,能够在短时间内计算出,提高推送的精准度。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种出货检测方法,所述方法包括:
一种出货检测方法,其特征在于,应用于无人售货设备,所述方法包括:
确定出货时间段内的每一个单次重量数据;所述出货时间为出货开始时刻至出货结束时刻之间的时间段;所述单次重量数据为所述无人售货设备被拿取商品时一次的重量变化;
确定每一单次重量数据对应的商品组合清单;所述组合商品清单包括至少一个商品组合,所述商品组合为商品的数量不超过设定的数量阈值的商品的组合;
将所述出货时间段内的商品组合清单进行叠加,得到所述出货时间段的出货商品。
第二方面,本申请实施例提供一种出货检测装置,所述装置包括:第一确定模块、第二确定模块和叠加模块;其中,
所述装置包括:第一确定模块、第二确定模块和叠加模块;其中,
所述第一确定模块,用于确定出货时间段内的每一个单次重量数据;所述出货时间为出货开始时刻至出货结束时刻之间的时间段;所述单次重量数据为所述无人售货设备被拿取商品时一次的重量变化;
所述第二确定模块,用于确定每一单次重量数据对应的商品组合清单;所述组合商品清单包括至少一个商品组合,所述商品组合为商品的数量不超过设定的数量阈值的商品的组合;
所述叠加模块,将所述出货时间段内的商品组合清单进行叠加,得到所述出货时间段的出货商品。
第三方面,本申请实施例提供一种无人售货设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述出货检测方法中的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述出货检测方法中的步骤。
本申请实施例中,提供了一种出货检测方法及装置、无人售货设备、存储介质,当用户拿取商品时,无人售货设备将用户单次拿取商品的数量限制在一定的数量内,计算出货时间内每次拿取商品的单次重量数量,并确定单次重量数据对应的可能的商品组合,将一个用户的出货时间内的每一次的商品组合进行叠加,得到该用户所拿取的出货商品;从而根据用户拿取商品的次数分阶段的计算商品组合,快速、实时地给出顾客的可能的购买商品清单,有效减小计算时间,节省计算资源。
附图说明
图1为本申请实施例提供的出货检测方法的实现流程示意图一;
图2为本申请实施例提供的出货检测方法的实现流程示意图二;
图3为本申请实施例提供的出货检测方法的实现流程示意图三;
图4为本申请实施例提供的出货检测装置的组成结构示意图;
图5为本申请实施例无人售货设备的一种硬件实体示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
在本申请的实施例中,无人售货设备可以是自动售货柜、自动售货机、无人售货柜,以及其他可以实现无人售货的设备。
本实施例提供一种出货检测方法,该方法应用于无人售货设备,其中,该方法所实现的功能可以通过无人售货设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该无人售货设备至少包括处理器和存储介质。
图1为本申请实施例的一种出货检测方法的实现流程示意图,如图1所示,该方法可以包括如下步骤:
S101、确定出货时间段内的每一个单次重量数据;
所述出货时间为出货开始时刻至出货结束时刻之间的时间段;所述单次重量数据为所述无人售货设备被拿取商品时一次的重量变化。
当无人售货设备完成初始化或完成一次支付后,开始检测新的出货过程,这里,一次出货过程指的是初始化至一次支付完成之间的出货或前一次支付至后一次支付之间的出货,一次出货过程对应一个订单,一个订单对应一次支付。
当开始新的出货过程后,无人售货设备检测重力传感器的重量信息是否存在稳定,当无人售货设备检测到重力传感器的重量信息发生变化时,表明无人售货柜中的商品被拿取。这里,重力传感器的重量信息表征无人售货柜中的总的商品的重量数据。
这里,将一次出货过程的开始时间称为出货开始时间,将一次出货过程的结束时间即生成支付信息的时间称为出货结束时间,将出货开始时间和出货结束时间称为一个出货时间段。
无人售货设备统计出货时间段内每一次拿取商品时的单次重量数据,单次重量数据为用户每次拿取商品时无人售货柜中商品的总重量的变化,也就是用户单次拿取的商品的重量数据。其中,用户一次拿取的商品的数量可为多个。这里,用户一次拿取的商品的数量小于等于设定的数量阈值,无人售货设备可通过降低层高、不同货道之间设置隔离板等硬件设备来限制用户单次拿取的数量。
无人售货柜一次拿取商品的过程包括以下三种情况:情况1:无人售货设备被取出商品;情况1:有商品放入无人售货设备;情况3:无人售货设备被取出商品的同时有商品放入。也就是说,用户一次拿取商品的过程中可包括取出商品、放下商品,也可包括取出一商品的同时放下另一商品。
在一实施例中,所述方法还包括:根据设定的检测周期检测所述无人售货设备中商品的重量信息;确定两个连续的检测周期的重量信息的重量变化;如果所述两个连续的检测周期的重量信息的重量变化大于设定的重量阈值,确定所述无人售货设备被拿取一次商品。
这里,可设置一重量阈值,根据两个连续的检测周期的重量信息的变化是否大于设置的重量阈值来检测无人售货柜中商品的重量信息是否发生变化。如果两个连续的检测周期的重量信息的变化是否大于设定的重量阈值,则认为无人售货柜中商品的重量信息发生变化时,确定发生用户的商品拿取行为;如果两个连续的检测周期的重量信息的变化是不大于设定的重量阈值,则认为无人售货柜中商品的重量信息没有变化,确定未发生用户拿取商品行为。
这里,重量信息可为重力感应器的实际重量信息z,也可为重力感应器的稳定重量信息s。
对于重量信息为重力感应器的实际重量信息z,可通过计数器来对检测周期记录,当重力传感器第t-1个检测周期的实际重量信息zt-1比第t个检测周期的实际重量信息zt大于设定的重量阈值Zstable时,确定无人售货设备被拿取一次商品。此时,该次无人售货设备被拿取商品的单次重量数据s`通过公式(1)得到:
s`=zt-1-zt 公式(1)。
对于重量信息为重力感应器的稳定重量信息s,确定无人售货设备完成初始化或完成一次支付时,计数器可归0,重新开始进行检测周期的统计。当连续稳定阈值d(d>2)个检测周期的实际重量信息的变化小于zstable时,确定重力传感器的实际重量信息稳定,此时,重力传感器的实际重量信息为稳定重量信息,如果重力传感器的重量信息不稳定,则将上一检测周期的稳定重量信息 st-1作为当前检测周期的稳定重量信息st。
当两个连续的检测周期的稳定重量变化大于zstable时,将当前检测周期的重力传感器的重量信息zt作为当前检测周期的稳定重量信息st,此时,该次无人售货设备被拿取商品的单次重量数据s`通过公式(2)得到:
s`=st-1-st 公式(2)。
比如:设定的zstable=2,d=4,当前10个检测周期为的实际重量信息为0时,则s1至s10为20;当第11个检测周期实际重量为19时,重力传感器不稳定, s11=20;当第12个检测周期实际重量为18时,重力传感器不稳定,s12=20,直到第20个检测周期实际重量为10时,重力传感器不稳定,s20=20,第21、22、 23至24个检测周期实际重量为10时,第21、22至23个检测周期的重力传感器不稳定,则s21=20,s22=20,s23=20,第24个检测周期的重力传感器稳定,s24=10,则确定无人售后设备被拿取一次商品,商品的重量s`=st-1-st=s23-s24=10。
S102、确定每一单次重量数据对应的商品组合清单;
所述组合商品清单包括至少一个商品组合,所述商品组合为商品的数量不超过设定的数量阈值的商品的组合。
当在S101中确定一次出货时间段内的无人售货设备每一次被拿取商品时的单次重量数据后,根据确定的单次重量数据确定每一次拿取商品的商品组合清单,其中,商品组合清单中可包括一个或多个商品组合,每个商品组合为商品的数量不超过设定的数量阈值的商品的组合。
这里,可设置设定的数量阈值的商品的各种可选商品组合,并根据各可选商品组合所包括的商品的重量确定各可选商品组合的重量,在可选商品组合中选取重量信息为单次重量数据的可选商品组合作为该单次重量数据对应的商品组合,并根据该单次量数据清单中的商品组合构成商品组合清单。比如:可选商品组合包括组合1、组合2、组合3和这4,其中,各可选商品组合的重量信息为a1、a2、a1和a3;则当单次重量数据为a1时,对应的商品组合清单中的商品组合包括组合1和组合3;当单次重量数据为a3时,对应的商品组合清单中的商品组合为组合4。
S103、将所述出货时间段内的商品组合清单进行叠加,得到所述出货时间段的出货商品;
确定各单次重量数据对应的商品组合清单后,将出货时间段内每一单次重量数据对应的商品组合清单进行叠加。
在叠加时,从每个商品组合清单中拿取一个商品组合进行相加,直到一个商品组合清单中的商品组合与其他商品组合清单中的商品组合都相加过,得到最后的相加结果,从所有的相加结果中确定总重量满足该次出货时间的无人售货设备的总重量变化的相加结果作为确定的出货商品。
在叠加时,也可依次将第一次拿取商品的商品组合清单和第二次拿取商品的商品组合清单进行相加,相加之后,将相加结果与第二次拿取商品的商品组合清单进行相加,直到将第倒数第一次的相加结果与最后一次拿取商品的商品组合清单进行相加,得到最后的相加结果,从所有的相加结果中确定总重量满足该次出货时间的无人售货设备的总重量变化的相加结果作为确定的出货商品,从而每次只进行两次商品组合清单的叠加,从而有效减小计算量。需要说明的是,此时,可不需要等到拿到所有的商品组合清单后,对所有的商品组合清单进行叠加,而是在得到一个商品组合清单后,将该次拿取商品的商品组合清单与前一次的相加结果进行相加,从而根据拿取次数将计算资源分布,减小计算量的同时,减小资源使用量。
当叠加结果包括多个相加结果时,也就是包括多个出货商品组合时,可将拿取概率最大的出货商品组合确定目标商品组合,将目标商品组合中的商品确定为出货商品;也可通过摄像头等辅助传感器检测用户拿取商品的辅助信息比如:图像,从多个出货商品组合中选取与辅助信息关联的出货商品组合作为目标商品组合,将目标商品组合中的商品确定为出货商品。在本申请实施例中,从多个出货商品组合中选取目标商品组合的选取方式不进行任何的限定。
本申请实施例中,无人售货设备确定出货时间段内的每一个单次重量数据;所述出货时间为出货开始时刻至出货结束时刻之间的时间段;所述单次重量数据为所述无人售货设备被拿取商品时一次的重量变化;确定每一单次重量数据对应的商品组合清单;所述组合商品清单包括至少一个商品组合,所述商品组合为商品的数量不超过设定的数量阈值的商品的组合;将所述出货时间段内的商品组合清单进行叠加,得到所述出货时间段的出货商品。如此,当用户从无人售货设备拿取商品时,无人售货设备将用户单次拿取商品的数量限制在一定的数量内,计算出货时间内每次拿取商品的单次重量数量,并确定单次重量数据对应的可能的商品组合,将一个用户的出货时间内的每一次的商品组合进行叠加,得到该用户所拿取的出货商品;从而根据用户拿取商品的次数分阶段的计算商品组合,快速、实时地给出顾客的可能的购买商品清单,有效减小计算时间,节省计算资源。
本实施例提供一种出货检测方法,该方法应用于无人售货设备,该方法所实现的功能可以通过无人售货设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该无人售货设备至少包括处理器和存储介质。
图2为本申请实施例的一种出货检测方法的实现流程示意图,如图2所示,该方法可以包括如下步骤:
S201、确定所述无人售货设备所包括的商品的类型,以及每一类型商品的重量;
无人售后柜中所包括的商品的类型和每一类型商品的重量可通过对商品包括的扫描得到,也可由用户输入得到。当用户输入时,可基于语音方式后界面输入等方式得到所包括的商品的类型以及各商品的类型的重量,
无人售货设备得到所包括的商品的类型,以及每一类型商品的重量后,可在重量和类型之间建立对应关系。
S202、根据所述设定的数量阈值对所述无人售货设备所包括的商品的类型进行组合,得到可选商品组合,并确定每一可选商品组合对应的重量信息;
在S201中,确定无人售货设备所包括的商品的类型,以及每一类型商品的重量后,根据设定的数量阈值对无人售货设备所包括的所有商品的类型进行组合,并根据不同的类型和不同的数量得到不同的商品组合。比如:无人售货设备所包括的所有商品包括:商品A、商品B和商品C。当设定的数量阈值为2 时,根据各商品数量的不同,得到的可选商品组合可包括有:[1商品A、0商品B、0商品C]、[0商品A、1商品B、0商品C]、[0商品A、0商品B、1商品C]、[1商品A、1商品B、0商品C]、[1商品A、0商品B、1商品C]、[0 商品A、1商品B、1商品C]、[2商品A、0商品B、0商品C]、等,其中,可分别表示为[1A,0B,0C]、[0A,1B,0C]、[0A,0B,1C]、[1A,1B,0C]、[1A,0B, 1C]、[0A,1B,1C]、[2A,0B,0C]等。
这里,组合时,可根据拿取状态的不同进行组合,拿取状态包括:取出和放入。其中,取出用正数表示,表征对应的商品被从所述无人售货设备中取出,放入用负数表示,表征对应的商品放入所述无人售货设备中。比如:[2A,0B,0C] 表示取出2个商品A,[-2A,0B,0C]表示放入2个商品A,又比如:[1A,0B,-1 C]表示拿出1个商品A并放入1个商品C。
在确定各可选商品组合后,根据各可选商品组合中的商品的重量确定各可选商品组合的重量信息。比如:[2A,0B,0C]的重量信息为拿出2个商品A的重量即两个商品A的重量的正值,[-2A,0B,0C]的重量信息为放入2个商品A的重量即两个商品A的重量的负值,[1A,0B,-1C]的重量信息为表示拿出商品A 并放入商品C的重量即商品A的重量减去商品C的重量。
S203、建立所述可选商品组合和对应的重量信息的对应关系,生成可选商品组合清单;
在S202中得到各可选商品组合和对应的重量信息后,在可选商品组合和对应的重量信息之间建立对应关系,将各对应关系添加到可选商品组合清单中。
这里,在可选商品组合清单中,可将重量信息相同的可选商品组合构成一个可选商品组合集合。
在一实施例中,所述可选商品组合清单包括第一可选商品组合清单和第二可选商品组合清单;所述建立所述可选商品组合和对应的重量信息的对应关系,生成可选商品组合清单,包括:
如果所述可选商品组合中商品的出货数量不包括负数时,将所述可选商品组合和对应的重量信息添加到所述第一可选商品组合清单;所述出货数量包括正数和负数,所述正数表征对应的商品被从所述无人售货设备中取出;所述负数表征对应的商品放入所述无人售货设备中;
如果所述可选商品组合中商品的出货数量包括负数时,将所述可选商品组合和对应的重量信息添加到所述第二可选商品组合清单。
在可选商品组合清单中,还可设置各可选商品组合的出货概率。各可选商品组合的出货概率可有组成对应商品组合的商品的被购买的概率加权求和得到,也可设置各可选商品组合的出货概率相同,无人售货设备根据各可选商品组合的出货频率或次数对各可选商品组合的出货概率进行调整。本申请实施例中,对各可选商品组合的出货概率的确定方式不进行任何的限定。
S204、确定出货时间段内的每一个单次重量数据;
所述出货时间为出货开始时刻至出货结束时刻之间的时间段;所述单次重量数据为所述无人售货设备被拿取商品时一次的重量变化。
当无人售货设备完成初始化或完成一次支付后,开始检测新的出货过程,这里,一次出货过程指的是初始化至一次支付完成之间的出货或前一次支付至后一次支付之间的出货,一次出货过程对应一个订单,一个订单对应一次支付。
当开始新的出货过程后,无人售货设备检测重力传感器的重量信息是否存在稳定,当无人售货设备检测到重力传感器的重量信息发生变化时,表明无人售货柜中的商品被拿取。这里,重力传感器的重量信息表征无人售货柜中的总的商品的重量数据。
这里,将一次出货过程的开始时间称为出货开始时间,将一次出货过程的结束时间即生成支付信息的时间称为出货结束时间,将出货开始时间和出货结束时间称为一个出货时间段。
无人售货设备统计出货时间段内每一次拿取商品时的单次重量数据,单次重量数据为用户每次拿取商品时无人售货柜中商品的总重量的变化,也就是用户单次拿取的商品的重量数据。其中,用户一次拿取的商品的数量可为多个。这里,用户一次拿取的商品的数量小于等于设定的数量阈值,无人售货设备可通过降低层高、不同货道之间设置隔离板等硬件设备来限制用户单次拿取的数量。
无人售货柜一次拿取商品的过程包括以下三种情况:情况1:无人售货设备被取出商品;情况1:有商品放入无人售货设备;情况3:无人售货设备被取出商品的同时有商品放入。也就是说,用户一次拿取商品的过程中可包括取出商品、放下商品,也可包括取出一商品的同时放下另一商品。
S205、从所述可选商品组合清单中,确定每一单次重量数据对应的商品组合清单;
所述组合商品清单包括至少一个商品组合,所述商品组合为商品的数量不超过设定的数量阈值的商品的组合。
当在S204中确定一次出货时间段内的无人售货设备每一次被拿取商品时的单次重量数据后,在S203确定的可选商品组合清单查找单次重量数据对应的商品组合清单,其中,商品组合清单中可包括一个或多个商品组合,每个商品组合的商品的数量不超过为设定的数量阈值。
S206、将所述出货时间段内的商品组合清单进行叠加,得到所述出货时间段的出货商品。
确定各单次重量数据对应的商品组合清单后,将出货时间段内每一单次重量数据对应的商品组合清单进行叠加。
在叠加时,从每个商品组合清单中拿取一个商品组合进行相加,直到一个商品组合清单中的商品组合与其他商品组合清单中的商品组合都相加过,得到最后的相加结果,从所有的相加结果中确定总重量满足该次出货时间的无人售货设备的总重量变化的相加结果作为确定的出货商品。
在叠加时,也可依次将第一次拿取商品的商品组合清单和第二次拿取商品的商品组合清单进行相加,相加之后,将相加结果与第二次拿取商品的商品组合清单进行相加,直到将第倒数第一次的相加结果与最后一次拿取商品的商品组合清单进行相加,得到最后的相加结果,从所有的相加结果中确定总重量满足该次出货时间的无人售货设备的总重量变化的相加结果作为确定的出货商品,从而每次只进行两次商品组合清单的叠加,从而有效减小计算量。需要说明的是,此时,可不需要等到拿到所有的商品组合清单后,对所有的商品组合清单进行叠加,而是在得到一个商品组合清单后,将该次拿取商品的商品组合清单与前一次的相加结果进行相加,从而根据拿取次数将计算资源分布,减小计算量的同时,减小资源使用量。
在一实施例中,所述将所述出货时间段内的商品组合清单进行叠加,包括:
将第一商品组合清单和第二商品组合清单进行相加,得到第一叠加商品组合清单;所述第一商品组合清单为所述无人售货设备在出货开始时刻第一次被拿取商品时的商品组合清单;所述第二商品组合清单为所述无人售货设备在第二次被拿取商品时的商品组合清单;所述第一叠加商品组合清单包括至少一个第一叠加商品组合;将所述第一叠加商品组合清单和第三商品组合清单进行相加,得到第二叠加商品组合清单,直到所述出货结束时刻;所述第三商品组合清单为所述无人售货设备在第三次被拿取商品时的商品组合清单。
这里,可将第n次的商品组合清单记为X`n,n>0,将第n-1叠加商品组合清单记为Xn,为第n次的商品组合清单与第n-1叠加商品组合清单的叠加,表征无人售货设备第n次被拿取商品之后的所有商品组合。将第一商品组合清单 X`1和第二商品组合清单X`2进行相加,得到第一叠加商品组合清单X1+1即X2, X2为无人售货设备2次被拿取商品的所拿取的所有商品组合。将第一叠加商品组合清单X1+1与第三商品组合清单X`3进行相加,得到X3,X3为无人售货设备3次被拿取商品的所拿取的所有商品组合,直到所有的所述出货结束时刻,当出货时间内共拿取n次商品时,将第n-1次的叠加商品组合清单和第n次的商品组合清单进行相加,得到第n次的叠加商品组合清单,即第n次拿取商品后所有的商品组合。其中,这里的相加为将两个商品组合清单中的商品组合进行两两相加。
各商品组合清单可通过矩阵表示。每一列表示一种商品组合,每一个列中的数值表示商品被拿取的次数,一个列中的同一行表示同一种商品类型;比如:设定的数量阈值为4,商品包括有商品A和商品B,[1,2]T表示购买了1个商品 A和2个商品B。也可每一行表示一种商品组合,每一个行中的数值表示商品被拿取的次数,一个行中的同一列表示同一种商品类型。比如:设定的数量阈值为4,商品包括有商品A和商品B,[1,2]表示购买了1个商品A和2个商品 B。
当每一列表示一种商品组合,每一个列中的数值表示商品被拿取的次数,一个列中的同一行表示同一种商品类型时,在将商品组合清单进行相加时,将两个矩阵中的列分别进行两两相加,也就是说,将两个商品组合清单中的各种商品组合进行相加。其中,在两个商品组合相加时,将相同类型的商品组合进行相加。比如:X`
1为
表示有两个组合:组合1:2个A类型的商品和 0个B类型的商品;组合2:0个A类型的商品和1个B类型的商品;X`
2为
表示有两个组合:组合1:-1个A类型的商品和0个B类型的商品;组合2:1个A类型的商品和-1个B类型的商品;则得到的第一叠加商品组合 X
2为
表示有四个组合:组合1:1个A类型的商品和0个B类型的商品;组合2:3个A类型的商品和-1个B类型的商品;组合3:-1个A类型的商品和1个B类型的商品;组合4:1个A类型的商品和0个B类型的商品。
在实际应用中,一商品组合中,对于不包括的类型的商品,可通过数量0 进行表示。
在一实施例中,所述将所述出货时间段内的商品组合清单进行叠加,还包括:确定所述第一叠加商品组合中商品的出货数量;如果所述第一叠加商品组合中商品的出货数量包括负数,确定所述第一叠加商品组合为无效叠加商品组合;将所述无效叠加商品组合从所述第一叠加商品组合清单中删除。
这里,负数表示商品为放入无人售货柜中的商品,当所述第一叠加商品组合中商品的出货数量包括负数,则表征该商品为直接放入。通过将第一叠加商品组合中包括负数的叠加商品组合删除,将不符合逻辑的无效叠加商品组合过滤掉。
比如,上述第一叠加商品组合X
2为
则[3,-1]
T和[-1,1]
T为无效叠加商品组合,将[3,-1]
T和[-1,1]
T删除,此时,X
2为[0,1]
T。
在一实施例中,所述将所述出货时间段内的商品组合清单进行叠加,还包括:根据所述第一商品组合清单中第一商品组合的出货概率,以及所述第二商品组合清单中第二商品组合的出货概率,得到所述第一商品组合和所述第二商品组合对应的第一叠加商品组合对应的叠加概率。
这里,一个叠加商品组合的叠加概率由构成该叠加商品组合的两个商品组合的出货概率计算得到,其中,计算方式可为加权求和。本申请实施例中,对根据两个出货概率得到叠加概率的计算方式不进行任何的限定。
比如:X`
1为
对应的出货概率分别为0.1和0.2,X`
2为
对应的出货概率为0.2和0.5。此时,则得到的第一叠加商品组合清单X
2为
则各叠加商品组合的叠加概率分别为:0.3、0.6、0.4和0.7,则 X
2为[0,1]
T的叠加概率包括有0.3和0.7。此时,可保留较大的0.7作为[0,1]
T的叠加概率。
在一实施例中,所述将所述出货时间段内的商品组合清单进行叠加,还包括:如果所述第一叠加商品组合对应的叠加概率小于设定的概率阈值,确定所述第一叠加商品组合为筛除第一叠加商品组合;将所述筛除叠加商品组合从所述第一叠加商品组合清单中删除。比如:X
2为
时,各叠加概率分别为:0.05、0.5、0.3、0.6。当设定的概率阈值为0.5时,将[1,0]
T和[1,1]
T删除。
在本申请实施例中,对于第一叠加商品组合清单中第一叠加商品组合的处理同样适用于第n叠加商品组合清单中的第n叠加商品组合,这里的n大于2。比如:如果所述第n叠加商品组合中商品的出货数量包括负数,确定所述第n 叠加商品组合为无效叠加商品组合;将所述无效叠加商品组合从所述第n叠加商品组合清单中删除。又比如:如果所述第n叠加商品组合对应的叠加概率小于设定的概率阈值,确定所述第n叠加商品组合为筛除叠加商品组合;将所述筛除叠加商品组合从所述第n叠加商品组合清单中删除。其中,第n叠加商品组合的叠加概率由构成第n叠加商品组合的第n商品组合和第n+1商品组合的出货概率计算得到。
在一实施例中,所述将所述出货时间段内的商品组合清单进行叠加,得到所述出货时间段的出货商品,包括:将所述出货时间段内的商品组合清单进行叠加,得到所述出货时间段的出货商品清单,所述出货商品清单包括至少两个出货商品组合;确定所述至少两个出货商品组合中每一个出货商品组合的叠加概率;确定叠加概率最大的出货商品组合中的商品为所述出货商品。
这里,当将出货时间段内的所有的次数的商品组合清单叠加完成后,可将叠加概率最大的出货商品组合确定为最终的目标商品组合,将目标商品组合的商品确定为出货商品。
在确定出货商品后,可根据各出货商品的单价和数量确定当前用户需要支付的账单。
在本申请实施例中,每次对商品组合清单进行叠加时,将当前次数之前所拿取商品的所有商品组合清单与和当前次数对应的商品组合清单进行相加,从而简化计算过程,减小计算量;这里,仅需预先计算若干可能的商品组合,快速、实时地给出顾客的可能的购买商品清单,有效减小计算时间,节省计算资源。
本申请实施例以无人售货设备为无人售货柜为具体的应用场景对本申请实施例提供的出货检测防范进行示例性说明。
先做如下符号定义:假定无人售货柜包括N种商品,那么可以采用N维向量x=[x1,x2,…,xN]T表示购买商品清单,其中,xi表示第i种商品的购买数量。采用N维向量w=[w1,w2,…,wN]T表示商品重量,其中wi表示第i种商品的重量。
商品清单x=[x1,x2,…,xN]T的总重量为zx=xTw。给定购买商品总重量z,用矩阵X=[x1,x2,…,xM]表示所有可能的购买商品清单,其中xj是表示第j种可能的购买商品清单的N维向量。用概率向量π=[π1,π2,…,πM]T表示矩阵X=[x1,x2,…,xM] 的可能性,其中πj表示xj发生的概率,即P(xj)=πj。
基于上述定义,本申请要解决的问题为:给定购买商品总重量z,求取矩阵X=[x
1,x
2,…,x
M],使得对于X的每一个列向量x
j,均有
本申请实施例所提出的无人售货柜购买商品组合计算方法,基于如下设定:
1、顾客的单次拿取商品数量不大于数量阈值a。无人售卖柜可以通过硬件设计,比如降低层高、不同货道之间设置隔离板等手段来限制顾客单次拿取的数量。结合实际情况考虑,比如:选取a=4。
2、存在着顾客放下b件商品的同时拿出c件商品的情况,但这种情况b和c 的数量不大于α。结合实际情况考虑,比如:选取b≤2,c≤2。
3、在给出可能的购买商品清单(对应可选商品组合清单)后,无人售货柜可采用其他的识别手段(比如视觉识别)来调整可选商品组合清单中各个可选商品组合对应的概率(对应出货概率)。
这里,可预先计算如下两种情况的所有可选商品组合及对应的重量,得到可选商品组合清单,并存储起来:
情况一:利用排列组合计算顾客单次拿取商品数量不超过α的所有可能组合,即计算出所有满足
的x,并分别记录其对应重量;记本次计算的结果为A,即第一可选商品组合清单。
情况二:利用排列组合计算顾客快速放下b件商品的同时拿出c件商品的所有可能组合,这里用xi=-1表示顾客放回1件第i种商品,并分别记录其对应重量;记本次计算的结果为B,即第二可选商品组合清单。
本申请实施例提供的出货检测方法,如图3所示,包括:
S301、将检测周期的计数次数归0,并确定初始稳定重量;
这里,在无人售货柜完成初始化或前一次支付后,记录当前时间为t=0。这里,记录本次出货前货柜商品总重量为z0,此时的稳定重量即初始稳定重量 s0=z0,用Xt表示t时的所有可能的购物清单。令X0=[0T]表示顾客没有拿取任何商品。
实际应用中,可在检测到用户开门、或停留在无人售货柜时,启动算法,将检测周期的计数次数归0。
S302、读取当前时刻t的重量zt,并确定当前时刻t的稳定重量;
如果|zt-zt-1|,|zt-zt-2|,…,|zt-zt-d|均满足小于阈值zstable,则认为当前秤的读数稳定,记录当前时刻的稳定重量st为st=zt;否则,认为当前秤的读数不稳定,令 st=st-1。
S303、根据st和st-1判断当前时刻是否有被拿取商品?
若|st-st-1|>zstable,认为顾客购买商品的总重量发生变化,则执行步骤S304;若|st-st-1|≤zstable,认为顾客购买商品的总重量没有变化,则Xt=Xt-1,并跳转至S306。
如果在当前时刻t之前,判断没有被拿取商品,将st和s0进行比较,若 |st-s0|≤zstable,认为顾客没有购买商品,则Xt=[0T],并跳转至S306。
S304、计算t时刻的所有可能的购物清单Xt;
对于
根据概率向量π
t仅保留概率最大的前α种组合,α为预先给定的整数。
若
认为顾客拿出了商品从A、B中查询总重量为
的所有商品组合,记为
若
认为顾客放回了商品,从A中查询总重量为
的商品组合,从B中查询总重量为
的商品组合,记查询到的所有商品组合为
对X
t-1及
的每一个列向量分别进行两两相加,得到的所有新组合即为X
t。
S305、对t时刻的所有可能的购物清单Xt进行筛选;
对Xt进行合法性筛查,去除重复的列向量,去除包括负数的列向量。
输出Xt作为顾客购买商品清单的候选解,根据其他传感器信息更新与Xt对应的概率向量πt。
S306、检测当前出货是否结束;
如果出货结束,则出货检测结束,输出支付信息,如果出货未结束,则 t←t+1,并执行S302。
这里,当无人售货柜具有门时,可根据门的打开关闭状态确定出货是否结束,如果检测到门关闭,则确定出货结束。
在实际应用中,可通过传感器采集数据,比如:通过摄像头采集图像。通过采集数据对可选商品组合对应的出货概率进行更新,并通过采集数据对Xt进行筛选。比如:当Xt中的商品组合包括:组合1:2个商品A,组合2:一个商品A和1个商品B时,通过摄像头采集到的上一次拿取商品至本次拿取商品之间的商品包括有商品B,则将Xt中的组合1删除。
一共有两个商品,也就是N=2:商品A的重量为50g,商品B的重量为100g。
那么,商品重量为w=[50,100]T。x=[1,2]T表示购买了1个商品A和2个商品B。
下面通过具体的示例对本申请实施例提供的出货检测方法进行进一步示例说明。其中,一共有两个商品,也就是N=2,分别为商品A和商品B。商品A 的重量为50g,商品B的重量为100g。商品重量为w=[50,100]T。其中,x=[1,2]T表示购买了1个商品A和2个商品B,即无人售货柜被拿取了1个商品A和2 个商品B。
无人售货柜检测出货商品的步骤如下:
S1、当开门时的稳定重量为10000,即s0=10000。此时X0=[0T]表示用户没有拿取任何商品,π0=[1]T。
S2、在之后的一段时间,用户没有动作,秤没有变化,不断循环执行步骤图3中的步骤S302,则st=st-1,Xt=Xt-1=[0T],πt=[1]T。
S3、用户拿取了合计100g商品。这导致秤发生了变化,并且在t=100的时候达到稳定。此时s
t-1=10000,s
t=9900,X
t-1=X
0=[0
T]。此时,
A中匹配
的购物组合为[2,0]
T,[0,1]
T,B中匹配
的购物组合为[-2,2]
T。那么,此时
对应的所有商品组合
将X
t-1及
的每一个列向量分别进行两两相加,得到
通过S305对X
t经过合法性筛查,可得到
此时,如果根据先验有π
t=[0.4,0.6]
T,表示[2,0]
T的可能性为0.4,[0,1]
T的可能性为0.6。
S4、在之后的一段时间,用户没有动作,秤没有变化,不断循环执行步骤 S302,则st=st-1,Xt=Xt-1。这段时间,可根据其他传感器对πt进行更新。
S5、再后,用户放回了合计50g商品。这导致秤发生了变化,并且在t=200 的时候达到稳定。此时s
t-1=9900,s
t=9950,
此时,
A 中匹配
的购物组合为[-1,0]
T,B中匹配
的购物组合为[1,-1]
T。那么,此时
对应的所有商品组合
将X
t-1及
的每一个列向量分别进行两两相加,得到
通过S305对X
t经过合法性筛查,可得到
此时,π
t=[1]
T。
S6、用户关门,算法结束。输出Xt作为结果。无人售卖柜会根据πt选取概率最大的购物组合作为用户的购买清单。
本申请实施例中,具有以下技术特点:
1、通过进行合理设定,压缩了可能的购买商品组合数量,大大提高了计算效率。
2.按顾客拿取的时间分阶段去求取可能的商品组合,仅需预先计算若干可能的商品组合,便能够快速、高效地给出顾客的可能的购买商品清单。
3.由于秤的稳定需要时间,该方法考虑了顾客拿取/放回商品后秤还未稳定之前进行新的放回/拿取动作的情况,具有普适性。
基于前述的实施例,本申请实施例提供一种出货检测装置,该装置包括所包括的各模块、以及各模块所包括的各单元,可以通过无人售货设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图4为本申请实施例的一种出货检测装置的组成结构示意图,如图4所示,所述装置400包括:第一确定模块401、第二确定模块402和叠加模块403;其中,
第一确定模块401,用于确定出货时间段内的每一个单次重量数据;所述出货时间为出货开始时刻至出货结束时刻之间的时间段;所述单次重量数据为所述无人售货设备被拿取商品时一次的重量变化;
第二确定模块402,用于确定每一单次重量数据对应的商品组合清单;所述组合商品清单包括至少一个商品组合,所述商品组合为商品的数量不超过设定的数量阈值的商品的组合;
叠加模块403,用于将所述出货时间段内的商品组合清单进行叠加,得到所述出货时间段的出货商品。
在一实施例中,装置400还包括:称重模块,用于:
根据设定的检测周期检测所述无人售货设备中商品的重量信息;
确定两个连续的检测周期的重量信息的重量变化;
如果所述两个连续的检测周期的重量信息的重量变化大于设定的重量阈值,确定所述无人售货设备被拿取一次商品。
在一实施例中,装置400还包括:商品确定模块、组合模块和建立模块,用于:
商品确定模块,用于确定所述无人售货设备所包括的商品的类型,以及每一类型商品的重量;
组合模块,用于根据所述设定的数量阈值对所述无人售货设备所包括的商品的类型进行组合,得到可选商品组合,并确定每一可选商品组合对应的重量信息;
建立模块,用于建立所述可选商品组合和对应的重量信息的对应关系,生成可选商品组合清单;
相应地,所述第二确定模块402,用于从所述可选商品组合清单中,确定每一单次重量数据对应的商品组合清单。
在一实施例中,所述可选商品组合清单包括第一可选商品组合清单和第二可选商品组合清单;相应地,所述建立模块,用于:
如果所述可选商品组合中商品的出货数量不包括负数时,将所述可选商品组合和对应的重量信息添加到所述第一可选商品组合清单;所述出货数量包括正数和负数,所述正数表征对应的商品被从所述无人售货设备中取出;所述负数表征对应的商品放入所述无人售货设备中;
如果所述可选商品组合中商品的出货数量包括负数时,将所述可选商品组合和对应的重量信息添加到所述第二可选商品组合清单。
在一实施例中,叠加模块403,用于:
将第一商品组合清单和第二商品组合清单进行相加,得到第一叠加商品组合清单;所述第一商品组合清单为所述无人售货设备在出货开始时刻第一次被拿取商品时的商品组合清单;所述第二商品组合清单为所述无人售货设备在第二次被拿取商品时的商品组合清单;所述第一叠加商品组合清单包括至少一个第一叠加商品组合;
将所述第一叠加商品组合清单和第三商品组合清单进行相加,得到第二叠加商品组合清单,直到所述出货结束时刻;所述第三商品组合清单为所述无人售货设备在第三次被拿取商品时的商品组合清单。
在一实施例中,叠加模块403,还用于:
确定所述第一叠加商品组合中商品的出货数量;
如果所述第一叠加商品组合中商品的出货数量包括负数,确定所述第一叠加商品组合为无效叠加商品组合;
将所述无效叠加商品组合从所述第一叠加商品组合清单中删除。
在一实施例中,叠加模块403,还用于:
根据所述第一商品组合清单中第一商品组合的出货概率,以及所述第二商品组合清单中第二商品组合的出货概率,得到所述第一商品组合和所述第二商品组合对应的第一叠加商品组合对应的叠加概率。
在一实施例中,叠加模块403,还用于:
如果所述第一叠加商品组合对应的叠加概率小于设定的概率阈值,确定所述第一叠加商品组合为筛除叠加商品组合;
将所述筛除叠加商品组合从所述第一叠加商品组合清单中删除。
在一实施例中,叠加模块403,用于:
将所述出货时间段内的商品组合清单进行叠加,得到所述出货时间段的出货商品清单,所述出货商品清单包括至少两个出货商品组合;
确定所述至少两个出货商品组合中每一个出货商品组合的叠加概率;
确定叠加概率最大的出货商品组合中的商品为所述出货商品。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的数据写入方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台无人售货设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
对应地,本申请实施例提供一种无人售货设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例中提供的出货检测方法中的步骤。
对应地,本申请实施例提供一种存储介质,也就是计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的出货检测方法。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,图5为本申请实施例无人售货设备的一种硬件实体示意图,如图5所示,所述无人售货设备500包括:一个处理器501、至少一个通信总线502、用户接口503、至少一个传感器504和存储器505。其中,通信总线502 配置为实现这些组件之间的连接通信。其中,用户接口503可以包括显示屏,传感器504可以包括重力传感器、摄像头等。
存储器505配置为存储由处理器501可执行的指令和应用,还可以缓存待处理器501以及无人售货设备中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH) 或随机访问存储器(Random AccessMemory,RAM)实现。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台无人售货设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。