CN114743307A - 智能货柜的商品识别方法、装置、电子设备及存储介质 - Google Patents
智能货柜的商品识别方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114743307A CN114743307A CN202210392099.9A CN202210392099A CN114743307A CN 114743307 A CN114743307 A CN 114743307A CN 202210392099 A CN202210392099 A CN 202210392099A CN 114743307 A CN114743307 A CN 114743307A
- Authority
- CN
- China
- Prior art keywords
- commodity
- combination
- target
- purchased
- weight
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F11/00—Coin-freed apparatus for dispensing, or the like, discrete articles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K17/00—Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
- G06K17/0022—Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations arrangements or provisious for transferring data to distant stations, e.g. from a sensing device
- G06K17/0025—Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations arrangements or provisious for transferring data to distant stations, e.g. from a sensing device the arrangement consisting of a wireless interrogation device in combination with a device for optically marking the record carrier
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F9/00—Details other than those peculiar to special kinds or types of apparatus
- G07F9/006—Details of the software used for the vending machines
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
Abstract
本申请提供一种智能货柜的商品识别方法、装置、电子设备及存储介质。方法包括:获取用户在购买商品前后,智能货柜中各层货架分别对应的重量变化量;根据重量变化量和对应货架上摆放的商品,及每种商品的重量确定疑似购买商品组合;若至少一层货架对应的疑似购买商品组合为多个,则获取用户在购买商品过程中的视频数据;根据视频数据确定用户从智能货柜中拿出的拿出商品组合;根据拿出商品组合确定目标购买商品组合。本申请实施例通过利用重量差确定疑似购买商品组合,在疑似购买商品组合有多个的情况下,采用视频数据确定目标购买商品组合,提高了识别用户购买的商品的准确性。
Description
技术领域
本申请涉及智能货柜技术领域,具体而言,涉及一种智能货柜的商品识别方法、装置、电子设备及存储介质。
背景技术
智能货柜是近年来发展迅速的人工智能(Artificial Intelligence,AI)技术在自助售卖场景的重要应用,与更早出现的自动售卖机相比,智能货柜能够带给消费者更加便捷的购物体验,实现了即拿即走,自动结算的购物流程。同时,智能货柜没有复杂的机械装置,对空间和能源的使用大幅减少,可以灵活的配置售卖的商品,而不受商品形状和体积的限制,需要的人工维护和运营成本也较低。
现有技术中,智能货柜大部分采用射频识别(Radio Frequency Identification,RFID)系统,即为每个柜内商品配备RFID标签,采用RFID技术识别柜内商品。但是这种RFID货柜会由于RFID标签的问题而出现商品识别不准确的问题,因而容易出现购物订单错误的情况。
发明内容
本申请实施例的目的在于提供一种智能货柜的商品识别方法、装置、电子设备及存储介质,用以提高对用户购买商品识别的准确性。
第一方面,本申请实施例提供一种智能货柜的商品识别方法,包括:获取用户在购买商品前后,智能货柜中各层货架分别对应的重量变化量;根据重量变化量和对应货架上摆放的商品,及每种商品的重量确定疑似购买商品组合;若至少一层货架对应的疑似购买商品组合为多个,则获取用户在购买商品过程中的视频数据;根据视频数据确定用户从智能货柜中拿出的拿出商品组合;根据拿出商品组合确定目标购买商品组合。
本申请实施例通过利用重量差确定疑似购买商品组合,在疑似购买商品组合有多个的情况下,采用视频数据确定目标购买商品组合,提高了识别用户购买的商品的准确性。
在任一实施例中,根据所述重量变化量和对应货架上摆放的商品,及每种商品的重量确定疑似购买商品组合,包括:获取货架对应的待定购买商品组合,根据待定购买商品组合的总重量与重量变化量确定待定购买商品组合为疑似购买商品组合。本申请实施例通过根据待定购买商品组合的总重量和重量变化量确定疑似购买商品组合,保证疑似购买商品组合满足重量变化的要求。
在任一实施例中,获取所述货架对应的待定购买商品组合,若待定购买商品组合的总重量与重量变化量确定待定购买商品组合为疑似购买商品组合,包括:初始化第一商品数量列表,根据商品的重量,依次将货架上的每种商品作为首次加入第一商品数量列表中的第一目标商品,并执行如下步骤,以获得疑似购买商品组合:
第一加入商品步骤:将数量为1的第一目标商品加入第一商品数量列表中;
第一判断步骤:判断第一商品数量列表中第一目标商品的第一总重量与重量变化量的偏差是否小于预设偏差;
若大于预设偏差,且第一总重量小于重量变化量,则将第一商品数量列表中第一目标商品数量加1,并重新执行第一判断步骤;
若大于预设偏差,且第一总重量大于重量变化量,则将第一商品数量列表中第一目标商品数量减1,并将比第一目标商品轻的商品作为新的第一目标商品,且新的第一目标商品的数量为1加入第一商品数量列表中,并重新执行第一判断步骤;
若小于或等于预设偏差,则将第一商品数量列表中的第一目标商品的组合作为疑似购买商品组合。
本申请实施例通过根据上述步骤确定重量变化的货架上的疑似购买商品组合,可以准确、全面的确定疑似购买商品组合。
在任一实施例中,若至少一层货架对应的疑似购买商品组合无解,该方法还包括:
初始化第二商品数量列表,根据智能货柜中商品的重量,依次将智能货柜中的每种商品作为首次加入第二商品数量列表中的第二目标商品,执行如下步骤,以获得疑似购买商品组合:
第二加入商品步骤:将数量为1的第二目标商品加入第二商品数量列表中;
第二判断步骤:判断第二商品数量列表中第二目标商品的第二总重量与重量变化量的偏差是否小于预设偏差;
若大于预设偏差,且第二总重量小于重量变化量,则将第二商品数量列表中第二目标商品数量加1,并重新执行第二判断步骤;
若大于预设偏差,且第二总重量大于重量变化量,则将第二商品数量列表中第二目标商品数量减1,并将比第二目标商品轻的商品作为新的第二目标商品,且新的第二目标商品的数量为1加入第二商品数量列表中,并重新执行第二判断步骤;
若小于预设偏差,则将第二商品数量列表中的第二目标商品的组合作为疑似购买商品组合。
本申请实施例中,若某层货架上的商品重量发生了变化,但通过算法计算不出来对应的疑似购买商品组合,则说明用户在购买商品过程中,没有将商品放回原货架,出现了货架实际摆放的商品与货架上原始摆放的商品类型不同的情况,因此,可以对整个智能货架的商品进行组合,获得疑似购买商品组合,以应对用户在购买商品时将商品的摆放位置打乱的情况。
在任一实施例中,拿出商品组合包括至少一个商品种类,根据所述拿出商品组合确定目标购买商品组合,包括:
初始化第三商品数量列表,依次将拿出商品组合中的商品种类作为首次加入第三商品数量列表中的第三目标商品,并执行如下步骤,以获得疑似购买商品组合:
第三加入商品步骤:将数量为1的第三目标商品加入第三商品数量列表中;
第三判断步骤:判断第三商品数量列表中第三目标商品的第三总重量与重量变化量的偏差是否小于预设偏差;
若大于预设偏差,且第三总重量小于重量变化量,则将第三商品数量列表中第三目标商品数量加1,并重新执行第三判断步骤;
若大于预设偏差,且第三总重量大于重量变化量,则将第三商品数量列表中第三目标商品数量减1,并将比第三目标商品轻的商品作为新的第三目标商品,且新的第三目标商品的数量为1加入第三商品数量列表中,并重新执行第三判断步骤;
若小于预设偏差,则将第三商品数量列表中的第三目标商品的组合作为目标购买商品组合。
本申请实施例中,在通过重力算法计算获得多个疑似购买商品组合后,再利用视觉算法确定拿出商品组合,再利用重力算法对拿出商品组合进行计算,从拿出商品组合中确定目标购买商品组合,其能够准确地获得目标购买商品组合。
在任一实施例中,拿出商品组合包括拿出商品种类及拿出数量,根据视频数据确定用户从所述智能货柜中拿出的拿出商品组合,包括:
对视频数据分帧处理,获得多帧图像;
对每帧图像进行对象识别,获得图像中包含的手持商品区域;
对手持商品区域进行商品类别识别,获取对应的商品类别及商品数量;
获取包含同一商品类别的连续多帧图像,并根据连续多帧图像确定用户对商品类别对应的商品的取放操作;
根据商品的取放操作和对应的商品数量记录用户从智能货柜中拿出的拿出商品种类及拿出数量。
本申请实施例通过根据连续多帧属于同一类型商品的图像,准确地获知是从智能货柜中拿出商品的种类及数量。
在任一实施例中,每帧所述图像包括货柜区内域和货柜外区域,所述根据所述连续多帧图像确定所述用户对所述商品类别对应的商品的取放操作,包括:
若所述连续多帧图像中,所述手持商品区域从所述货柜内区域向所述货柜外区域移动,则确定所述用户为从所述智能货柜中取出商品;
若所述连续多帧图像中,所述手持商品区域从所述货柜外区域向所述货柜内区域移动,则确定所述用户为从所述智能货柜中放回商品。
本申请实施例通过对属于同一商品种类的连续多帧图像中,手持商品区域在图像中的移动情况,确定用户是从智能货柜中拿出商品还是放回商品,从而,可以准确确定拿出商品组合。
在任一实施例中,根据所述疑似购买商品组合和拿出商品组合确定目标购买商品组合,包括:
将拿出商品组合分别与每个疑似购买商品组合匹配,将匹配成功的疑似购买商品组合作为目标购买商品组合。本申请实施例将与拿出商品组合匹配成功的疑似购买商品组合作为目标购买商品,从而快速、准确的确定目标购买商品组合。
在任一实施例中,若所有的所述货架对应的所述疑似购买商品组合唯一,则直接将所述疑似购买商品组合作为目标购买商品组合。本申请实施例中,若通过重力算法便能够确定唯一的疑似购买商品组合,则直接将该疑似购买商品组合输出,降低了计算量。
第二方面,本申请实施例提供一种智能货柜的商品识别装置,包括:
重量获取模块,用于:获取用户在购买商品前后,智能货柜中各层货架分别对应的重量变化量;
第一商品确定模块,用于根据重量变化量和对应货架上摆放的商品,及每种商品的重量确定疑似购买商品组合;
视频获取模块,用于若至少一层货架对应的疑似购买商品组合为多个,则获取用户在购买商品过程中的视频数据;
第二商品确定模块,用于根据视频数据确定用户从智能货柜中拿出的拿出商品组合;
第三商品确定模块,用于根据拿出商品组合确定目标购买商品组合。
第三方面,本申请实施例提供一种电子设备,包括:处理器、存储器和总线,其中,处理器和存储器通过所述总线完成相互间的通信;存储器存储有可被处理器执行的程序指令,处理器调用程序指令能够执行第一方面的方法。
第四方面,本申请实施例提供一种非暂态计算机可读存储介质,包括:非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行第一方面的方法。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种智能货柜的商品识别方法流程示意图;
图2为本申请实施例提供的一种似购买商品组合确定方法流程示意图;
图3为本申请实施例提供的另一种获得疑似购买商品组合的方法流程示意图;
图4为本申请实施例提供的确定目标购买商品组合的方法流程示意图;
图5为本申请实施例提供的一种拿出商品组合确定方法流程示意图;
图6为本申请实施例提供的拿出商品示意图;
图7为本申请实施例提供的放回商品示意图;
图8为本申请实施例提供的一种智能货柜的商品识别装置结构示意图;
图9为本申请实施例提供的电子设备实体结构示意图。
具体实施方式
下面将结合附图对本申请技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本申请的技术方案,因此只作为示例,而不能以此来限制本申请的保护范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。
在本申请实施例的描述中,技术术语“第一”“第二”等仅用于区别不同对象,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量、特定顺序或主次关系。在本申请实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本申请实施例的描述中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
在本申请实施例的描述中,术语“多个”指的是两个以上(包括两个),同理,“多组”指的是两组以上(包括两组),“多片”指的是两片以上(包括两片)。
在本申请实施例的描述中,技术术语“中心”“纵向”“横向”“长度”“宽度”“厚度”“上”“下”“前”“后”“左”“右”“竖直”“水平”“顶”“底”“内”“外”“顺时针”“逆时针”“轴向”“径向”“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请实施例和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请实施例的限制。
在本申请实施例的描述中,除非另有明确的规定和限定,技术术语“安装”“相连”“连接”“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;也可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请实施例中的具体含义。
智能货柜没有复杂的机械装置,可以灵活的配置售卖的商品,货柜内部空间使用率较高。因此,其在市场上的应用越来越广泛。用户通过智能货柜购买商品的流程是:用户扫描智能货柜上粘贴的二维码,扫码后绑定支付账号;在绑定支付账号后,智能货柜的柜门打开;用户从智能货柜中拿取所需的商品;拿完后关柜门;智能货柜对应的系统在柜门关闭后的预设时长内结账,并将账单发到用户手机上。如果用户在此期间没有从智能货柜中拿商品,则不会扣费。
通过上述流程可知,为了保证扣费的准确性,系统需要准确地识别用户从智能货柜中拿取商品的种类及数量。现有技术中,确定用户从智能货柜中拿取商品种类和数量的方法有很多种,例如:通过在商品上贴RFID标签进行识别;通过采用重量变化进行识别,即,通过柜门打开前跟打开后的重量差确定商品类型及数量;通过采用视觉法进行识别,例如:在每层货架的顶部加装相机,相机采集柜门打开前及关闭后的图像,对比两张图像中商品的差异,确定被拿走的商品种类及数量。
发明人研究发现,上述识别商品的方法都有识别准确率低的问题。对于根据重量差确定商品类型及数量的方法来说:若智能货柜中有至少两种重量相同的商品,那么智能货柜则无法确定用户到底拿取了哪种商品。对于根据图像的方法确定商品类型及数量,对智能货柜中商品摆放有着较严格的要求,若用户在购买商品过程中,乱翻智能货柜中的商品,则通过图像无法准确识别被拿出的商品类别及数量。
基于以上问题,本申请实施例提供了一种智能货柜的商品识别方法,该方法通过结合重力算法及视觉算法,可以准确确定用户从智能货柜中拿出的商品种类及数量。
可以理解的是,本申请实施例提供的智能货柜的商品识别方法可以应用于终端设备以及服务器;其中终端设备具体可以为智能货柜;服务器具体可以为应用服务器,也可以为Web服务器。为了便于描述,本申请实施例以执行主体为服务器进行描述,可以理解的是,当执行主体为服务器时,智能终端可以与该服务器通信,用以传输重量变化量和/或视频数据。
图1为本申请实施例提供的一种智能货柜的商品识别方法流程示意图,如图1所示,该方法包括:
步骤101:获取用户在购买商品前后,智能货柜中各层货架分别对应的重量变化量。
其中,用户购买商品前后可以理解为智能货柜的柜门在开启前以及柜门在关闭后。智能货柜中包括至少一层货架,每层货架上摆放有至少一种商品,每层货架上都设置有重力传感器,智能货柜在用户选完商品后,智能货柜一次性发送的购物开门前后每层货架的重量数据发送给服务器,服务器根据接收到的购物开门前后每层货架的重量数据计算获得每层货架的重量变化量。当然,智能货柜也可以计算用户在拿取商品前后每层货架的重量变化量,然后将每层货架的重量变化量发送给服务器。
可以理解的是,对于只有一层货架的情况,其重量变化量可以为0,也可以为其他值,当为0时,表明该用户没有购买商品;为其他值时,表明该用户从该层货架上拿出了商品或放入了商品。对于智能货柜包含多层货架的情况,可能只有其中一层或几层货架的重量发生了变化,则说明用户从重量发生了变化的货架上拿取了商品。也可能多层货架的重量均没有发生变化,此时,说明用户没有购买商品。
另外,为了弥补重力传感器的测量误差,可以预先设置预设偏差,重量变化量小于该预设偏差的,均可以认为用户没有从对应货架上拿取商品。反之,则认为用户从对应货架上拿取了商品。为便于后续描述,本申请实施例将重量变化量大于预设偏差的货架称为重量发生了变化的货架。
步骤102:根据重量变化量和对应货架上摆放的商品种类,及每种商品的重量确定疑似购买商品组合。
其中,为了降低运算量,可以针对重量变化量不为0的货架或重量变化量大于预设偏差的货架进行步骤102的处理。商品种类可以为商品的名称,每种商品的重量为预先获得的。疑似购买商品组合是指用户可能从智能货柜中拿取的商品的组合。该疑似购买商品组合可以包括一个商品种类及该种商品的数量,也可以包括多个商品种类以及每种商品分别对应的数量。
可以理解的是,在正常情况下,用户在购买商品后,货架上的重量会减轻,若出现购买商品后所有货架的重量之和大于购买商品前所有货架的重量之和,则判断出现可能被放入异物的情况,此时,服务器上报异常。
若出现购买商品后所有货架的重量变化量小于智能货柜中所售卖的商品中最轻的商品,且大于预设偏差,则服务器同样上报异常。
步骤103:若至少一层货架对应的疑似购买商品组合为多个,则获取用户在购买商品过程中的视频数据。
在具体的实施过程中,疑似购买商品组合为多个是指通过步骤102计算获得某层货架可以得出多个疑似购买商品组合。例如:货架上摆放有A商品、B商品、C商品和D商品。经过步骤102后,计算获得用户可能从该货架上拿取了一个A商品和一个B商品,也可能从该货架上拿取了一个A商品和两个C商品。若出现这种情况,则说明只通过重量变化量无法确定出用户到底购买了哪些商品。由于智能货柜上设置有视频采集装置,智能货柜将用户在购买过程中的视频数据发送给服务器;当然,智能货柜也可以实时将视频数据发送给服务器,服务器可以从接收到的实时视频数据中截取出用户在购买商品过程中的视频数据。可以理解的是,用户在购买商品过程中的视频数据可以指智能货柜的柜门在开启后到关闭前这段时间的视频数据。
步骤104:根据视频数据确定用户从智能货柜中拿出的拿出商品组合。
其中,拿出商品组合是指用户从智能货柜中拿出的商品的组合,该拿出商品组合中可以包括一种商品也可以包括多种商品。当然,还可以包括拿出的商品的数量。
步骤105:根据拿出商品组合确定目标购买商品组合。
其中,目标购买商品组合是最终确定用户购买的商品的组合,该目标购买商品组合可以包括一种商品及该种商品的数量,还可以包括多种商品及每种商品的数量。
本申请实施例结合重力算法和视觉算法对购买商品的种类和数量进行判断,提高了识别人在智能货柜中购买的商品种类及数量的准确性及效率减少了人工干预的情况。与单纯使用重力数据的方案相比,本申请实施例的结果更准确而且可以适应更复杂的场景;与对比购物前后图像差异的方案相比,本申请实施例使用视频包含多帧图像,降低了单幅图像出错带来的影响,且货架商品的摆放不用设置规范。
在上述实施例的基础上,根据重量变化量和对应货架上摆放的商品,及每种商品的重量确定疑似购买商品组合,包括:
获取货架对应的待定购买商品组合,根据待定购买商品组合的总重量与重量变化量确定待定购买商品组合为疑似购买商品组合。
在具体的实施过程中,对于重量发生了变化的货架,可以预先获得货架上的各类商品可行的组合方式,将可行的组合方式称为待定购买商品组合,然后根据待定购买商品组合的总重量与重量变化量确定待定购买商品组合是否为疑似购买商品组合。
例如:货架上摆放有3个A商品和4个B商品,其中,A商品的重量为400g,B商品的重量为200g,重量变化量为800g。那么可行的组合方式包括:1个A商品;2个A商品;3个A商品;1个B商品;2个B商品;3个B商品;4个B商品;1个A商品和1个B商品;1个A商品和2个B商品,...,计算每种待定购买商品组合对应的总重量,将总重量与重量变化量相匹配的待定购买商品组合作为疑似购买商品组合。因此,可以得出疑似购买商品组合有:2个A商品;1个A商品和2个B商品;4个B商品。
在上述实施例的基础上,如图2所示,获取货架对应的待定购买商品组合,若待定购买商品组合的总重量与重量变化量确定待定购买商品组合为疑似购买商品组合,包括:
步骤201:初始化第一商品数量列表,根据商品的重量,依次将货架上的每种商品作为首次加入第一商品数量列表中的第一目标商品,并执行如下步骤,以获得疑似购买商品组合。其中,第一商品数量列表初始为空,在后续步骤中,往第一商品数量列表中增加的内容为第一目标商品以及第一目标商品的重量。假设货架上包括商品1、商品2、商品3、商品4和商品5,其中,商品1的重量为500g,商品2的重量为400g,商品3的重量为300g,商品4的重量为200g,商品5的重量为100g,用户在购买商品后,货架的重量变化量为600g,预设偏差为50g。在获得初始化后的第一商品数量后,将商品1作为第一目标商品加入第一商品数量列表中。
步骤202:将数量为1的第一目标商品加入第一商品数量列表中。例如:将1个商品1加入第一商品数量列表中。
步骤203:判断第一商品数量列表中第一目标商品的第一总重量与重量变化量的偏差是否小于预设偏差;对于第一商品数量列表中包含1个商品1的情况,第一商品数量列表中商品的总重量为500g,总重量与重量变化量的偏差大于预设偏差,且总重量小于重量变化量,执行步骤204。对于第一商品数量列表中包含2个商品1的情况,第一商品数量列表中商品的总重量为1000g,总重量与重量变化量的偏差大于预设偏差,且总重量大于重量变化量,执行步骤205。对于第一商品数量列表中包含1个商品1和1个商品2的情况,第一商品数量列表中商品的总重量为900g,总重量与重量变化量的偏差大于预设偏差,且总重量大于重量变化量,执行步骤205。
步骤204:若大于预设偏差,且第一总重量小于重量变化量,则将第一商品数量列表中第一目标商品数量加1,并重新执行步骤203;在第一商品数量列表中商品1的数量加1,此时第一商品数量列表中商品1的数量为2。
步骤205:若大于预设偏差,且第一总重量大于重量变化量,则将第一商品数量列表中第一目标商品数量减1,并将比第一目标商品轻的商品作为新的第一目标商品,且新的第一目标商品的数量为1加入第一商品数量列表中,并重新执行步骤203;将第一商品数量列表的商品1的数量减1,并加入一个比商品1的重量轻的商品,例如,可以依次加入商品2、商品3、商品4和商品5,并分别重新执行步骤203。以加入1个商品2为例,将商品2作为新的第一目标商品。
步骤206:若小于或等于预设偏差,则将第一商品数量列表中的第一目标商品的组合作为疑似购买商品组合。对于第一商品数量列表中包括1个商品1和1个商品5的情况,第一商品数量列表中商品的总重量与重量变化量的偏差为0,小于预设偏差,因此,1个商品1和1个商品5为一个疑似购买商品组合。
下表为经过上面的步骤后获得的所有的疑似购买商品组合,为了更清楚的表达,下面再次对上述步骤进行描述:
可以对该层货架上的商品按重量从大到小排列,维护一个第一商品数量列表用于存储当前匹配商品和数量的键值对{A:a,B:b,C:c,…},其中,A、B、C为商品种类,a、b、c为对应商品种类的数量,该第一商品数量列表从最重商品且数量为1开始,若第一商品数量列表中商品的总重量小于重量变化量,则将第一商品数量列表中最轻的商品的数量加1,若在预设偏差允许范围内与重量变化量相等,则记录这一结果;若大于重量变化值则将第一商品数量列表中最轻商品数量减1,再加入次重商品数量为1,(如C的数量c减1,加入D:1),如此循环累加计算到加入最轻商品后完成内层的一次循环判断,然后从次重商品数量为1再开始内层循环,外层循环为首先加入最重、次重、再次重直到最轻商品进行计算。循环完毕后会得到该层可行的商品组合。
可以理解的是,还可以从最轻的商品开始,其流程与上述类似,此处不再赘述。
应当说明的是,在同一个货架上可能摆放有两种重量相同的商品,那么在上述方法流程中,应当分别针对每种商品进行循环操作,而不应将这两个商品看做是同一种。
本申请实施例通过根据待定购买商品组合的总重量和重量变化量确定疑似购买商品组合,保证疑似购买商品组合满足重量变化的要求。
在上述实施例的基础上,图3为本申请实施例提供的另一种获得疑似购买商品组合的方法流程示意图,可以理解的是,无解是指没有商品组合的总重量与重量变化量的偏差小于预设偏差。例如:货架上包括A商品和B商品,A商品的重量为400g,B商品的重量为200g,重量变化量为700g。此时,便是无解的情况。此时,需要将智能货柜作为一个整理,将智能货柜中所有种类的商品参与到下面的方法步骤中。假设,该智能货柜包括两层货架,另一层货架上包括C商品和D商品,其中,C商品的重量为300g,D商品的重量为100g。
步骤301:初始化第二商品数量列表,根据智能货柜中商品的重量,依次将智能货柜中的每种商品作为首次加入第二商品数量列表中的第二目标商品,执行如下步骤,以获得疑似购买商品组合。其中,第一商品数量列表初始为空,在后续步骤中,往第二商品数量列表中增加的内容为第二目标商品以及第二目标商品的重量。分别将A商品、B商品、C商品和D商品作为首次加入第一商品数量列表中的第二目标商品,并执行步骤302-步骤306。
步骤302:将数量为1的第二目标商品加入第二商品数量列表中;
步骤303:判断第二商品数量列表中第二目标商品的第二总重量与重量变化量的偏差是否小于预设偏差。
步骤304:若大于预设偏差,且第二总重量小于重量变化量,则将第二商品数量列表中第二目标商品数量加1,并重新执行步骤303;
步骤305:若大于预设偏差,且第二总重量大于重量变化量,则将第二商品数量列表中第二目标商品数量减1,并将比第二目标商品轻的商品作为新的第二目标商品,且新的第二目标商品的数量为1加入第二商品数量列表中,并重新执行步骤303;
步骤306:若小于预设偏差,则将第二商品数量列表中的第二目标商品的组合作为疑似购买商品组合。
在具体的实施过程中,首先将A商品作为第二目标商品,将1个A商品加入第二商品数量列表中,第二商品数量列表中商品的总重量为400g,小于700g,且二者的偏差大于预设偏差50g,则在第二商品数量列表再加入一个A商品;此时第二商品数量列表中商品的总重量为800g,大于700g,且二者的偏差大于预设偏差50g,因此,将第二商品数量列表中的A商品的数量-1,再将1个C商品加入第二商品数量列表中,计算第二商品数量列表中的总重量为700g,因此,可以获得一个疑似购买商品组合:一个A商品和1个C商品。由于比A商品轻的商品除了C商品外,还有B商品和D商品,因此,还需要再次循环,即:首先将A商品作为第二目标商品,将1个A商品加入第二商品数量列表中,第二商品数量列表中商品的总重量为400g,小于700g,且二者的偏差大于预设偏差50g,则在第二商品数量列表再加入一个A商品;此时第二商品数量列表中商品的总重量为800g,大于700g,且二者的偏差大于预设偏差50g,因此,将第二商品数量列表中的A商品的数量-1,再将1个B商品加入第二商品数量列表中,计算第二商品数量列表中的总重量为600g,此时第二商品数量列表中总重量小于700g,且大于预设偏差,因此,将第二商品数量列表中B商品数量+1,再次计算第二商品数量列表中的总重量,发现此时第二商品数量列表中总重量大于700g,且大于预设偏差,将第二商品数量列表中的B商品数量-1,再加入1个D商品,计算第二商品数量列表中的总重量等于700g,因此获得疑似购买商品组合为:1个A商品、1个B商品和1个D商品。另外,还可以在第二商品数量列表中包含1个A商品的基础上,再加入B商品,按照上述算法可以获得另一个疑似购买商品组合为1个A商品和3个D商品。
此时,A商品作为首次加入第二商品数量列表的循环完成,B商品、C商品和D商品分别作为首次加入第二商品数量列表的算法流程均参见上述流程,此处不再赘述。
本申请实施例中,若某层货架上的商品重量发生了变化,但通过算法计算不出来对应的疑似购买商品组合,则说明用户在购买商品过程中,没有将商品放回原货架,出现了货架实际摆放的商品与货架上原始摆放的商品类型不同的情况,因此,可以对整个智能货架的商品进行组合,获得疑似购买商品组合,以应对用户在购买商品时将商品的摆放位置打乱的情况。
在上述实施例的基础上,图4为本申请实施例提供的确定目标购买商品组合的方法流程示意图,对于至少一层货架有多个疑似购买商品组合的情况,可以结合视觉算法确定拿出商品组合,并利用重量算法再次对拿出商品组合进行验证,从而准确获得目标购买商品组合,其方法步骤如下:
步骤401:初始化第三商品数量列表,依次将拿出商品组合中的商品种类作为首次加入第三商品数量列表中的第三目标商品,并执行如下步骤,以获得疑似购买商品组合。其中,第三商品数量列表初始为空,在后续步骤中,往第三商品数量列表中增加的内容为第三目标商品以及第三目标商品的重量。
步骤402:将数量为1的第三目标商品加入第三商品数量列表中;
步骤403:判断第三商品数量列表中第三目标商品的第三总重量与重量变化量的偏差是否小于预设偏差;
步骤404:若大于预设偏差,且第三总重量小于重量变化量,则将第三商品数量列表中第三目标商品数量加1,并重新执行步骤403;
步骤405:若大于预设偏差,且第三总重量大于重量变化量,则将第三商品数量列表中第三目标商品数量减1,并将比第三目标商品轻的商品作为新的第三目标商品,且新的第三目标商品的数量为1加入第三商品数量列表中,并重新执行步骤403;
步骤406:若小于预设偏差,则将第三商品数量列表中的第三目标商品的组合作为目标购买商品组合。
例如:智能货柜中包括商品1、商品2、商品3、商品4、商品5和商品6,拿出商品组合为商品1和商品2。其中,商品1、商品2、商品3、商品4、商品5的重量参见上述实施例,商品6的重量为80g,重量变化量为900g,那么,可以先将商品1作为第三目标商品,将1个商品1加入第三商品数量列表中,经过重量计算得知,需要在第三商品数量列表中再加1个商品1,经过重量计算后得知,需要将第三商品数量列表中的商品1的数量-1,并加入1个商品2,经过重量计算后确定目标购买组合为1个商品1和1个商品2。
应当说明的是,若通过上述方法仍然不能得出唯一的目标购买商品组合,则可上报人工处理。
本申请实施例中,在通过重力算法计算获得多个疑似购买商品组合后,再利用视觉算法确定拿出商品组合,再利用重力算法对拿出商品组合进行计算,从拿出商品组合中确定目标购买商品组合,其能够准确地获得目标购买商品组合。
在上述实施例的基础上,图5为本申请实施例提供的一种拿出商品组合确定方法流程示意图,如图5所示,所述拿出商品组合包括拿出商品种类及拿出数量,所述根据所述视频数据确定用户从智能货柜中拿出的拿出商品组合,包括:
步骤501:对视频数据分帧处理,获得多帧图像;其中,在对视频数据进行分帧处理时,其分帧间隔可以预先设定,例如:智能货柜采集的视频是10fps,也就是每秒10帧,可以每帧使用,可以间隔一帧或多帧使用。
步骤502:对每帧图像进行对象识别,获得图像中包含的手持商品区域;例如,可以通过预先训练的对象检测模型对每帧图像进行对象识别,获得图像中包含的手持商品区域。手持商品区域可以采用矩形框在图像中标注出来。可以利用预先对手持商品区域进行标注的训练图像对模型进行训练,该模型可以是利用卷积神经网络构成,比如YOLO网络,还可以是其他网络,本申请对此不作具体限定。
步骤503:对手持商品区域进行商品类别识别,获取对应的商品类别及商品数量;在获得手持商品区域后,裁剪出该区域的图像,使用该卷积神经网络提取该区域图像特征,然后根据该区域图像特征进行分类。可以理解的是,这里的分类是一个多分类任务。
步骤504:获取包含同一商品类别的连续多帧图像,并根据连续多帧图像确定用户对商品类别对应的商品的取放操作;由于用户从智能货柜中拿出商品或放回商品在时间上都是连续的过程,并且拿出商品和放回商品的动作是相反的,因此,在获取到同一商品类别的连续多帧图像后,可以根据连续多帧图像确定用户是从智能货柜中拿出商品还是放回商品。可以理解的是,本申请实施例中所述的连续多帧图像是指经过步骤501进行分帧后的图像,若每帧图像均使用,则连续多帧图像就是对视频数据分帧获得的图像。若按照预设帧数进行提取图像,则连续多帧图像是指对提取的图像按照时间帧排序的图像。
步骤505:根据商品的取放操作和对应的商品数量记录用户从智能货柜中拿出的拿出商品种类及拿出数量。根据步骤504中确定的用户是从智能货柜中对商品的取放操作,确定拿出商品种类及拿出数量。例如:识别出用户从智能货柜中拿出一个商品,则记录该商品种类的数量+1,如果识别出用户放回一个商品,则记录该商品种类的数量-1。分析完视频数据后,便能够获得拿出商品种类及每类拿出的商品的拿出数量。
应当说明的是,若某一类商品对应的图像帧数少于预设数量,则认为该类商品为误判,不记录该类商品的拿取操作。
在另一实施例中,在获得拿出商品种类和拿出数量后,将拿出商品组合与疑似购买商品组合进行匹配,若匹配成功,则将匹配成功的疑似购买商品组合作为目标购买商品组合。当然,也可能存在匹配不成功的情况,若匹配不成功,则上报人工处理。
在上述实施例的基础上,每帧图像包括货柜区内域和货柜外区域,所述根据连续多帧图像确定用户对商品类别对应的商品的取放操作,包括:
若连续多帧图像中,手持商品区域从货柜内区域向货柜外区域移动,则确定用户为从智能货柜中取出商品;
若连续多帧图像中,手持商品区域从货柜外区域向货柜内区域移动,则确定用户为从智能货柜中放回商品。
在具体的实施过程中,智能货柜上设置有两个摄像头,用于传回开门购物阶段的两段视频数据,两段视频数据从一上一下两个角度拍摄开门后的购物行为。视觉算法的步骤如下:
步骤A.将两段视频数据各自抽取获得多帧图像,将多帧图像输入深度学习算法模型。
步骤B.使用yolov5目标检测模型,检测每一帧图像中手持商品出现的区域,得到包围手持商品区域的矩形框,这一部分区域是步骤C中商品分类算法模型的感兴趣区域,检测出该区域后,裁剪出该矩形区域的部分图像,作为分类模型的输入。
步骤C.分类模型的主干网络选择了resnet50,再使用softmax函数,把主干网络提取到的特征映射成为各类别的置信度得分,从而实现对目标检测模型提取的手持商品区域的分类。
步骤D.对商品被取出和放回进行判断,智能货柜摄像头的视野中柜内和柜外正好各自占据画面的一半。据此,可以将画面的中线作为区分货柜内区域和货柜外区域的标志,每帧图像会得到手持商品的种类和数量的记录。由于视频数据由多帧图像组成,遍历连续的图像,当商品检测框由货柜内区域移动到货柜外区域时,则记录该商品被取出1次,如果出现用户取出查看后又放回的情况,检测框会由货柜外区域移动到货柜内区域,则记录该商品被放回。图6为本申请实施例提供的拿出商品示意图,图7为本申请实施例提供的放回商品示意图。
本申请实施例结合重力算法和视觉算法对购买商品的种类和数量进行判断,可以自动高效地识别人在智能货柜中购买的商品,正确而快速地向购物者推送购物单,显著减少了人工干预的情况。与单纯使用重力数据的方案相比,本申请实施例的结果更准确而且可以适应更复杂的场景;与对比购物前后图像差异的方案相比,本申请实施例的使用视频包含多帧图像,降低了单幅图像出错带来的影响,且货架商品的摆放不用设置规范。
图8为本申请实施例提供的一种智能货柜的商品识别装置结构示意图,该装置可以是电子设备上的模块、程序段或代码。应理解,该装置与上述图1方法实施例对应,能够执行图1方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。所述装置包括:重量获取模块801、第一商品确定模块802、视频获取模块803、第二商品确定模块804和第三商品确定模块805,其中:
重量获取模块801用于获取用户在购买商品前后,智能货柜中各层货架分别对应的重量变化量;
第一商品确定模块802用于根据重量变化量和对应货架上摆放的商品,及每种商品的重量确定疑似购买商品组合;
视频获取模块803用于若至少一层货架对应的疑似购买商品组合为多个,则获取用户在购买商品过程中的视频数据;
第二商品确定模块804用于根据视频数据确定用户从智能货柜中拿出的拿出商品组合;
第三商品确定模块805用于根据拿出商品组合确定目标购买商品组合。
在上述实施例的基础上,第一商品确定模块802具体用于:
获取货架对应的待定购买商品组合,根据待定购买商品组合的总重量与重量变化量确定待定购买商品组合为疑似购买商品组合。
在上述实施例的基础上,第一商品确定模块802具体用于:
初始化第一商品数量列表,根据商品的重量,依次将货架上的每种商品作为首次加入第一商品数量列表中的第一目标商品,并执行如下步骤,以获得疑似购买商品组合:
第一加入商品步骤:将数量为1的第一目标商品加入第一商品数量列表中;
第一判断步骤:判断第一商品数量列表中第一目标商品的第一总重量与重量变化量的偏差是否小于预设偏差;
若大于预设偏差,且第一总重量小于重量变化量,则将第一商品数量列表中第一目标商品数量加1,并重新执行第一判断步骤;
若大于预设偏差,且第一总重量大于重量变化量,则将第一商品数量列表中第一目标商品数量减1,并将比第一目标商品轻的商品作为新的第一目标商品,且新的第一目标商品的数量为1加入第一商品数量列表中,并重新执行第一判断步骤;
若小于或等于预设偏差,则将第一商品数量列表中的第一目标商品的组合作为疑似购买商品组合。
在上述实施例的基础上,若至少一层货架对应的疑似购买商品组合无解,该装置还包括第四商品确定模块,用于:
初始化第二商品数量列表,根据智能货柜中商品的重量,依次将智能货柜中的每种商品作为首次加入第二商品数量列表中的第二目标商品,执行如下步骤,以获得疑似购买商品组合:
第二加入商品步骤:将数量为1的第二目标商品加入第二商品数量列表中;
第二判断步骤:判断第二商品数量列表中第二目标商品的第二总重量与重量变化量的偏差是否小于预设偏差;
若大于预设偏差,且第二总重量小于重量变化量,则将第二商品数量列表中第二目标商品数量加1,并重新执行第二判断步骤;
若大于预设偏差,且第二总重量大于重量变化量,则将第二商品数量列表中第二目标商品数量减1,并将比第二目标商品轻的商品作为新的第二目标商品,且新的第二目标商品的数量为1加入第二商品数量列表中,并重新执行第二判断步骤;
若小于预设偏差,则将第二商品数量列表中的第二目标商品的组合作为疑似购买商品组合。
在上述实施例的基础上,拿出商品组合包括至少一个商品种类,第三商品确定模块805具体用于:
初始化第三商品数量列表,依次将拿出商品组合中的商品种类作为首次加入第三商品数量列表中的第三目标商品,并执行如下步骤,以获得疑似购买商品组合:
第三加入商品步骤:将数量为1的第三目标商品加入第三商品数量列表中;
第三判断步骤:判断第三商品数量列表中第三目标商品的第三总重量与重量变化量的偏差是否小于预设偏差;
若大于预设偏差,且第三总重量小于重量变化量,则将第三商品数量列表中第三目标商品数量加1,并重新执行第三判断步骤;
若大于预设偏差,且第三总重量大于重量变化量,则将第三商品数量列表中第三目标商品数量减1,并将比第三目标商品轻的商品作为新的第三目标商品,且新的第三目标商品的数量为1加入第三商品数量列表中,并重新执行第三判断步骤;
若小于预设偏差,则将第三商品数量列表中的第三目标商品的组合作为目标购买商品组合。
在上述实施例的基础上,拿出商品组合包括拿出商品种类及拿出数量,第二商品确定模块804具体用于:
对视频数据分帧处理,获得多帧图像;
对每帧图像进行对象识别,获得图像中包含的手持商品区域;
对手持商品区域进行商品类别识别,获取对应的商品类别及商品数量;
获取包含同一商品类别的连续多帧图像,并根据连续多帧图像确定用户对商品类别对应的商品的取放操作;
根据商品的取放操作和对应的商品数量记录用户从智能货柜中拿出的拿出商品种类及拿出数量。
在上述实施例的基础上,每帧所述图像包括货柜区内域和货柜外区域,第二商品确定模块804具体用于:
若所述连续多帧图像中,所述手持商品区域从所述货柜内区域向所述货柜外区域移动,则确定所述用户为从所述智能货柜中取出商品;
若所述连续多帧图像中,所述手持商品区域从所述货柜外区域向所述货柜内区域移动,则确定所述用户为从所述智能货柜中放回商品。
图9为本申请实施例提供的电子设备实体结构示意图,如图9所示,所述电子设备,包括:处理器(processor)901、存储器(memory)902和总线903;其中,
所述处理器901和存储器902通过所述总线903完成相互间的通信;
所述处理器901用于调用所述存储器902中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取用户在购买商品前后,智能货柜中各层货架分别对应的重量变化量;根据重量变化量和对应货架上摆放的商品,及每种商品的重量确定疑似购买商品组合;若至少一层货架对应的疑似购买商品组合为多个,则获取用户在购买商品过程中的视频数据;根据视频数据确定用户从智能货柜中拿出的拿出商品组合;根据拿出商品组合确定目标购买商品组合。
处理器901可以是一种集成电路芯片,具有信号处理能力。上述处理器901可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本申请实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器902可以包括但不限于随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)等。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取用户在购买商品前后,智能货柜中各层货架分别对应的重量变化量;根据重量变化量和对应货架上摆放的商品,及每种商品的重量确定疑似购买商品组合;若至少一层货架对应的疑似购买商品组合为多个,则获取用户在购买商品过程中的视频数据;根据视频数据确定用户从智能货柜中拿出的拿出商品组合;根据拿出商品组合确定目标购买商品组合。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取用户在购买商品前后,智能货柜中各层货架分别对应的重量变化量;根据重量变化量和对应货架上摆放的商品,及每种商品的重量确定疑似购买商品组合;若至少一层货架对应的疑似购买商品组合为多个,则获取用户在购买商品过程中的视频数据;根据视频数据确定用户从智能货柜中拿出的拿出商品组合;根据拿出商品组合确定目标购买商品组合。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种智能货柜的商品识别方法,其特征在于,包括:
获取用户在购买商品前后,所述智能货柜中各层货架分别对应的重量变化量;
根据所述重量变化量和对应货架上摆放的商品种类,及每种商品的重量确定疑似购买商品组合;
若至少一层所述货架对应的所述疑似购买商品组合为多个,则获取所述用户在购买商品过程中的视频数据;
根据所述视频数据确定所述用户从所述智能货柜中拿出的拿出商品组合;
根据所述拿出商品组合确定目标购买商品组合。
2.根据权利要求1所述的方法,其特征在于,所述根据所述重量变化量和对应货架上摆放的商品,及每种商品的重量确定疑似购买商品组合,包括:
获取所述货架对应的待定购买商品组合,根据所述待定购买商品组合的总重量与所述重量变化量确定所述待定购买商品组合为所述疑似购买商品组合。
3.根据权利要求2所述的方法,其特征在于,所述获取所述货架对应的待定购买商品组合,若所述待定购买商品组合的总重量与所述重量变化量确定所述待定购买商品组合为所述疑似购买商品组合,包括:
初始化第一商品数量列表,根据商品的重量,依次将所述货架上的每种商品作为首次加入所述第一商品数量列表中的第一目标商品,并执行如下步骤,以获得所述疑似购买商品组合:
第一加入商品步骤:将数量为1的第一目标商品加入第一商品数量列表中;
第一判断步骤:判断所述第一商品数量列表中所述第一目标商品的第一总重量与重量变化量的偏差是否小于预设偏差;
若大于所述预设偏差,且所述第一总重量小于所述重量变化量,则将所述第一商品数量列表中所述第一目标商品数量加1,并重新执行所述第一判断步骤;
若大于所述预设偏差,且所述第一总重量大于所述重量变化量,则将所述第一商品数量列表中第一目标商品数量减1,并将比所述第一目标商品轻的商品作为新的第一目标商品,且所述新的第一目标商品的数量为1加入所述第一商品数量列表中,并重新执行所述第一判断步骤;
若小于或等于所述预设偏差,则将所述第一商品数量列表中的第一目标商品的组合作为疑似购买商品组合。
4.根据权利要求1所述的方法,其特征在于,若至少一层所述货架对应的所述疑似购买商品组合无解,所述方法还包括:
初始化第二商品数量列表,根据所述智能货柜中商品的重量,依次将所述智能货柜中的每种商品作为首次加入所述第二商品数量列表中的第二目标商品,执行如下步骤,以获得疑似购买商品组合:
第二加入商品步骤:将数量为1的第二目标商品加入第二商品数量列表中;
第二判断步骤:判断第二商品数量列表中所述第二目标商品的第二总重量与重量变化量的偏差是否小于预设偏差;
若大于所述预设偏差,且所述第二总重量小于所述重量变化量,则将所述第二商品数量列表中所述第二目标商品数量加1,并重新执行所述第二判断步骤;
若大于所述预设偏差,且所述第二总重量大于所述重量变化量,则将所述第二商品数量列表中第二目标商品数量减1,并将比所述第二目标商品轻的商品作为新的第二目标商品,且所述新的第二目标商品的数量为1加入所述第二商品数量列表中,并重新执行所述第二判断步骤;
若小于所述预设偏差,则将所述第二商品数量列表中的第二目标商品的组合作为疑似购买商品组合。
5.根据权利要求1所述的方法,其特征在于,所述拿出商品组合包括至少一个商品种类,所述根据所述拿出商品组合确定目标购买商品组合,包括:
初始化第三商品数量列表,依次将所述拿出商品组合中的商品种类作为首次加入所述第三商品数量列表中的第三目标商品,并执行如下步骤,以获得疑似购买商品组合:
第三加入商品步骤:将数量为1的第三目标商品加入第三商品数量列表中;
第三判断步骤:判断所述第三商品数量列表中所述第三目标商品的第三总重量与重量变化量的偏差是否小于预设偏差;
若大于所述预设偏差,且所述第三总重量小于所述重量变化量,则将所述第三商品数量列表中所述第三目标商品数量加1,并重新执行所述第三判断步骤;
若大于所述预设偏差,且所述第三总重量大于所述重量变化量,则将所述第三商品数量列表中第三目标商品数量减1,并将比所述第三目标商品轻的商品作为新的第三目标商品,且所述新的第三目标商品的数量为1加入所述第三商品数量列表中,并重新执行所述第三判断步骤;
若小于所述预设偏差,则将所述第三商品数量列表中的第三目标商品的组合作为所述目标购买商品组合。
6.根据权利要求1所述的方法,其特征在于,所述拿出商品组合包括拿出商品种类及拿出数量,所述根据所述视频数据确定所述用户从所述智能货柜中拿出的拿出商品组合,包括:
对所述视频数据分帧处理,获得多帧图像;
对每帧所述图像进行对象识别,获得所述图像中包含的手持商品区域;
对所述手持商品区域进行商品类别识别,获取对应的商品类别及商品数量;
获取包含同一商品类别的连续多帧图像,并根据所述连续多帧图像确定所述用户对所述商品类别对应的商品的取放操作;
根据所述商品的取放操作和对应的商品数量记录用户从所述智能货柜中拿出的拿出商品种类及拿出数量。
7.根据权利要求6所述的方法,其特征在于,每帧所述图像包括货柜区内域和货柜外区域,所述根据所述连续多帧图像确定所述用户对所述商品类别对应的商品的取放操作,包括:
若所述连续多帧图像中,所述手持商品区域从所述货柜内区域向所述货柜外区域移动,则确定所述用户为从所述智能货柜中取出商品;
若所述连续多帧图像中,所述手持商品区域从所述货柜外区域向所述货柜内区域移动,则确定所述用户为从所述智能货柜中放回商品。
8.一种智能货柜的商品识别装置,其特征在于,包括:
重量获取模块,用于:获取用户在购买商品前后,所述智能货柜中各层货架分别对应的重量变化量;
第一商品确定模块,用于根据所述重量变化量和对应货架上摆放的商品,及每种商品的重量确定疑似购买商品组合;
视频获取模块,用于若至少一层所述货架对应的所述疑似购买商品组合为多个,则获取所述用户在购买商品过程中的视频数据;
第二商品确定模块,用于根据所述视频数据确定所述用户从所述智能货柜中拿出的拿出商品组合;
第三商品确定模块,用于根据所述拿出商品组合确定目标购买商品组合。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1-7任一项所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令被计算机运行时,使所述计算机执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210392099.9A CN114743307A (zh) | 2022-04-14 | 2022-04-14 | 智能货柜的商品识别方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210392099.9A CN114743307A (zh) | 2022-04-14 | 2022-04-14 | 智能货柜的商品识别方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114743307A true CN114743307A (zh) | 2022-07-12 |
Family
ID=82282408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210392099.9A Pending CN114743307A (zh) | 2022-04-14 | 2022-04-14 | 智能货柜的商品识别方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114743307A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116580509A (zh) * | 2023-05-17 | 2023-08-11 | 广东天之河信息技术有限公司 | 一种智能超市购物收银结算方法 |
CN117133078A (zh) * | 2023-10-24 | 2023-11-28 | 广州微米物联网科技股份有限公司 | 基于重力感应的自动售卖系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108875664A (zh) * | 2018-06-27 | 2018-11-23 | 北京京东尚科信息技术有限公司 | 选购商品的识别方法、装置以及售货机 |
CN108921048A (zh) * | 2018-06-14 | 2018-11-30 | 深圳码隆科技有限公司 | 一种购物结算方法、装置和用户终端 |
CN109243096A (zh) * | 2018-10-26 | 2019-01-18 | 虫极科技(北京)有限公司 | 一种智能货柜及确定拿取商品的方法 |
CN109409291A (zh) * | 2018-10-26 | 2019-03-01 | 虫极科技(北京)有限公司 | 智能货柜的商品识别方法和系统及购物订单的生成方法 |
CN209328138U (zh) * | 2018-10-26 | 2019-08-30 | 虫极科技(北京)有限公司 | 一种应用图像识别装置和重力传感器的智能货柜 |
CN111222870A (zh) * | 2019-01-24 | 2020-06-02 | 图灵通诺(北京)科技有限公司 | 结算方法、装置和系统 |
CN113706227A (zh) * | 2021-11-01 | 2021-11-26 | 微晟(武汉)技术有限公司 | 一种货架商品推荐方法及装置 |
CN113743530A (zh) * | 2021-09-16 | 2021-12-03 | 广东佩服科技有限公司 | 一种基于动态视觉的自动售货识别方法 |
CN113763136A (zh) * | 2021-11-09 | 2021-12-07 | 武汉星巡智能科技有限公司 | 基于商品区重量变化对视频分段处理的智能生成订单方法 |
-
2022
- 2022-04-14 CN CN202210392099.9A patent/CN114743307A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108921048A (zh) * | 2018-06-14 | 2018-11-30 | 深圳码隆科技有限公司 | 一种购物结算方法、装置和用户终端 |
CN108875664A (zh) * | 2018-06-27 | 2018-11-23 | 北京京东尚科信息技术有限公司 | 选购商品的识别方法、装置以及售货机 |
CN109243096A (zh) * | 2018-10-26 | 2019-01-18 | 虫极科技(北京)有限公司 | 一种智能货柜及确定拿取商品的方法 |
CN109409291A (zh) * | 2018-10-26 | 2019-03-01 | 虫极科技(北京)有限公司 | 智能货柜的商品识别方法和系统及购物订单的生成方法 |
CN209328138U (zh) * | 2018-10-26 | 2019-08-30 | 虫极科技(北京)有限公司 | 一种应用图像识别装置和重力传感器的智能货柜 |
CN111222870A (zh) * | 2019-01-24 | 2020-06-02 | 图灵通诺(北京)科技有限公司 | 结算方法、装置和系统 |
CN113743530A (zh) * | 2021-09-16 | 2021-12-03 | 广东佩服科技有限公司 | 一种基于动态视觉的自动售货识别方法 |
CN113706227A (zh) * | 2021-11-01 | 2021-11-26 | 微晟(武汉)技术有限公司 | 一种货架商品推荐方法及装置 |
CN113763136A (zh) * | 2021-11-09 | 2021-12-07 | 武汉星巡智能科技有限公司 | 基于商品区重量变化对视频分段处理的智能生成订单方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116580509A (zh) * | 2023-05-17 | 2023-08-11 | 广东天之河信息技术有限公司 | 一种智能超市购物收银结算方法 |
CN117133078A (zh) * | 2023-10-24 | 2023-11-28 | 广州微米物联网科技股份有限公司 | 基于重力感应的自动售卖系统 |
CN117133078B (zh) * | 2023-10-24 | 2023-12-29 | 珠海微米物联科技有限公司 | 基于重力感应的自动售卖系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108335408B (zh) | 用于自动售货机的物品识别方法、装置、系统及存储介质 | |
CN108875664B (zh) | 选购商品的识别方法、装置以及售货机 | |
CN108549851B (zh) | 智能货柜内货品识别方法及装置、智能货柜 | |
CN108985359B (zh) | 一种商品识别方法、无人售货机及计算机可读存储介质 | |
CN108846621B (zh) | 一种基于策略模块的库存管理系统 | |
US11461753B2 (en) | Automatic vending method and apparatus, and computer-readable storage medium | |
US11151427B2 (en) | Method and apparatus for checkout based on image identification technique of convolutional neural network | |
CN108922026B (zh) | 一种自动售货机的补货管理方法、装置和用户终端 | |
CN109409291B (zh) | 智能货柜的商品识别方法和系统及购物订单的生成方法 | |
CN114743307A (zh) | 智能货柜的商品识别方法、装置、电子设备及存储介质 | |
US20200193404A1 (en) | An automatic in-store registration system | |
CN109190705A (zh) | 无人售货方法、装置及系统 | |
CN111222870B (zh) | 结算方法、装置和系统 | |
CN111126990B (zh) | 物品自动识别方法、结算方法、装置、终端及存储介质 | |
CN109190706A (zh) | 无人售货方法、装置及系统 | |
CN110837824B (zh) | 用于售货装置中的商品识别方法、售货装置及存储介质 | |
CN112907168A (zh) | 动态商品识别方法、无人售货柜及其售货方法 | |
CN116523548A (zh) | 商品的特征信息识别方法及其装置 | |
CN113139768B (zh) | 一种基于无人售货机的缺货监测方法 | |
CN111931740B (zh) | 商品销量识别方法及装置、电子设备、存储介质 | |
CN110084960B (zh) | 基于rfid技术的无人售货方法及装置 | |
CN110443946B (zh) | 售货机、物品种类的识别方法和装置 | |
CN115661591A (zh) | 一种智能柜动态识别方法及装置 | |
CN111126110B (zh) | 一种商品信息识别方法、结算方法、装置及无人零售系统 | |
CN111222377A (zh) | 一种商品信息确定方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |