用于零售系统的非规范扫描的制作方法

文档序号:20361656发布日期:2020-04-10 23:43阅读:150来源:国知局
用于零售系统的非规范扫描的制作方法



背景技术:

条形码和射频识别是通常在零售行业被用于读取和收集数据,并且被广泛用在pos(销售终端)或在商业中用于资产跟踪和库存跟踪的两种流行技术。条形码最初以线性或一维的形式发展。后来,出现二维变量,例如用于快速读取和更快存储功能的快速响应码。通常是通过被称为条形码读取器的特殊光学扫描仪对二维码进行扫描,并且这种扫描通常需要视线可见性。然而,射频识别使用无线电波将信息从射频识别标签发送到射频识别读取器。射频识别标签通常包含唯一的标识;因此,射频识别标签读取器在没有视线可见性的情况下能够同时扫描多个射频识别标签。

非规范扫描,比如错过的扫描或不正确的扫描,已经对零售商造成了重大损失和其它问题(比如错误的库存信息),其会牵连到供应链和商业。零售系统无法利用非规范扫描正确地进行工作,无论非规范扫描是有意的还是无意的。尽管一些留心的店员或自助结账客户可能会注意到非规范扫描,更多的时候,非规范扫描在没有被留意到的情况下很容易蒙混过零售系统。目前,特别是随着流行的自助零售系统的增长,零售商缺乏识别、纠正或显示非规范扫描的有效的技术解决方案。因此,需要这种技术方案来识别、纠正或显示非规范扫描。为了有效性,当出现非规范扫描时,也需要实时地或接近实时地执行这种技术方案。



技术实现要素:

提供本发明内容是为了介绍在下面的具体实施方式中被进一步描述的所选概念。本发明内容既不意在识别所要求保护的主题的关键特征或必要特征,也不意在用于帮助确定所要求保护的主题的范围。

所公开的零售系统的技术目的之一是实时或接近实时地检测非规范扫描,这需要技术上有效的实现。本申请包括用于检测非规范扫描的技术方案,具体地来说,当零售系统不能收集被扫描产品的真实信息时。以独特的方式利用各种神经网络,用于在非规范扫描的检测上做出技术贡献。为此,所公开的零售系统将会检索覆盖预定区域,例如指定的扫描区域的图像。在一些实施例中,所公开的零售系统使用神经网络来检测来自这些图像的产品并且跟踪产品在该预定区域的移动路径。随后,所公开的零售系统使用神经网络来检测非规范扫描,例如当这些图像中的产品与零售系统收集的产品不匹配时检测非规范扫描。

在各个方面,提供了系统,方法和计算机可读存储设备来改进零售系统在检测非规范扫描方面的功能。为此,所公开的技术的一个方面是改进计算设备的功能以便高效地跟踪在预定区域移动的物体的移动路径,包括进入和离开时间。所公开的技术的另一方面是改进计算设备的功能以便准确且高效地检测物体并比较各个物体的神经特征。所公开的技术的又一方面是改进计算设备的功能以便自动地校正非规范扫描,或实时或接近实时地传输所检测的非规范扫描。

附图的简要说明

本文描述的技术以示例的方式进行阐述,并且不受附图的限制,在附图中,类似的附图标记指示类似的元件,在附图中:

图1为根据本文所描述的技术的至少一个方面描述一些产品扫描示例的示意图;

图2为根据本文所描述的技术的至少一个方面描述被配置为检测非规范扫描的示例性零售系统的框图;

图3为根据本文所描述的技术的至少一个方面描述示例性零售系统中的一些示例性组件的示意图;

图4为根据本文所描述的技术的至少一个方面描述检测非规范扫描的示例性过程的流程图;

图5为根据本文所描述的技术的至少一个方面描述检测非规范扫描的另一示例性过程的流程图;以及

图6为适用于实现本文所描述的技术的各个方面的示例性计算环境的框图。

具体实施方式

本文中所描述的各种技术被阐述为具有足够的特异性以满足法定要求。然而,描述本身并不旨在限制本申请的范围。倒不如说,发明人已设想所要求保护的主题也可以结合其他当前或未来技术以其它方式进行体现,从而包括与本文中所描述的步骤相类似的不同步骤或步骤的组合。此外,尽管术语“步骤”和/或“框”可以在本文中被用于暗示所采用的方法的不同要素,但是,除非并且除了当各个步骤的顺序被清楚地描述时,术语不应被解释为暗示在本文中公开的各个步骤之中的任何特定顺序。此外,术语“基于”通常表示先前的内容和随后的内容形成技术联系,或者随后的情况被用于执行先前行为之中。

条形码,看起来不平凡的标签,可以编码光学的,机器可读的数据。通用产品代码是条形码符号并且被普遍用在pos(销售终端)。条形码,特别是通用产品代码条形码,已经成形了现代经济。条形码或其它产品标识(例如,无线射频识别)在现代经济中被普遍地附着于大多数商业产品,使得结账和库存跟踪在所有零售部门中变得更有效。这些条形码和产品标识不仅已被普遍地用在零售结账系统之中,它们还已被用于许多其它自动识别和数据收集任务。

非规范扫描是指零售系统收集产品的真实或准确产品信息的失败,包括错过的扫描,重复的扫描,错误的扫描,等等。通过举例,扫描仪可能由于各种原因而错过条形码,诸如视线的障碍,扫描时间的不足,甚至欺骗。错过的扫描可能是被无意地或有意地引起。重复的扫描可能会通过在扫描仪之前来回移动产品而引起。错误的扫描可能会由损坏的条形码或甚至欺诈行为,比如通常是为了另一款较便宜的产品而利用不同条形码覆盖或替换真实条形码而引起。

扫描过程的完整性,即读取条形码或其它产品标识中编码的信息的过程,对于正常业务是关键的。非规范扫描会对零售商造成重大损失和其他问题。相反,消费者也可能受到由非规范扫描导致的不正确交易的伤害。零售商可以尝试教育他们的店员在结账中保持谨慎,或者在自助结账区域增加更多店员以用于监督和监控。然而,由于目前缺乏有效的技术解决方案来识别、校正或防止非规范扫描,尤其是随着日益流行的自助结账零售系统,非规范扫描仍然会经常发生且不被注意到。

错过的扫描是非规范扫描的典型形式,其可能发生在店员操作的结账系统或自助结账系统中。特定于自助结账系统,一种类型的欺诈行为是模拟正常扫描过程但并不扫描产品,例如,通过使移动产品通过扫描区域并阻挡条形码。即使派遣员工来监控自助结账系统,这类伪装的扫描行为仍然可能对零售商造成重大损失。

重复扫描如未被校正,则将致使消费者过度支付,这可能是令消费者失望的。此外,用于校正重复扫描的请求通常会减慢结账过程。例如,顾客可能在自助收款机上意外地多次扫描同一产品。然而,为了移除重复的交易,客户可能必须等待店长的协助,该店长可能需要调查所有交易。

对于店长在当产品的标识(例如,条形码或射频标识)已被损坏或更换时调查非规范扫描,这是更麻烦的。当一个购买订单中有多个物品时,手动地验证每个交易会是非常耗时的。

有许多类型的非规范扫描。校正非规范扫描的理想时间是在该非规范扫描发生时。在本申请中,公开了用来实时或接近实时地检测、校正、防止或报告非规范扫描的技术方案。所公开的高级别的零售系统包括不同的组件和神经网络,其用以检测产品,跟踪产品在扫描区域上的移动路径,并且在产品通过扫描区域期间对照零售系统收集的信息来验证产品。

在各种实施例中,产品检测器用于检测图像中的产品,并且产品跟踪器将产品的位置用作跟踪的起始点。然后,产品跟踪器可在稍后选择的图像位置重复地预测所检测的物体的移动,从而确定该产品在扫描区域上的大致移动路径。产品检测器和产品跟踪器可以被替代地运行以减少检测或跟踪中的错误。可以基于多个单物体跟踪器来构建多物体跟踪器。

为检测非规范扫描,所公开的系统利用由扫描仪收集的标识(例如,通用产品标识条形码)所表示的被扫描产品来验证图像中的被跟踪产品。为此,可以通过比较模型来比较它们各自的神经特征的相似性。如果被跟踪产品与被扫描仪收集的假定产品不匹配,例如,当相似性测量值低于预定阈值时,可能已经发生非规范扫描。类似地,如果扫描仪在产品行进通过扫描区域时没有收集到信息,则可能已发生非规范扫描。在一些实施例中,该验证过程在产品离开扫描区域之后立刻发生,使得可以实时或接近实时地检测和报告任何非规范扫描。例如,所公开的系统能够以技术有效且实时地实现在发起验证过程之后在500毫秒内检测及报告非规范扫描,或以更放松且接近实时地实现在一秒内检测及报告非规范扫描。

在一些实施例中,可以使用快速单级检测器或光头两级检测器来检测产品。此外,可以使用在线跟踪器在扫描区域高效地跟踪产品的移动路径。更进一步地,可以引入空间简化技术来降低验证过程的复杂度和时间,这也被作为对比过程在下文中进行讨论。基于所公开的系统的创造性设计,如在下文中被进一步地详细讨论的,检测非规范扫描的任务可以被所公开的系统实时或接近实时地执行。与传统的系统相比,本申请所公开的系统具有显著的技术优势,包括实时或接近实时地自动检测,校正或减少非规范扫描。

本申请公开的技术方案可被应用于店员辅助结账系统或自助结账系统之中。从零售商的角度来看,本申请公开的技术方案可以帮助它们不仅减少损失且保持其库存的完整性,还能扩展其零售系统的功能,比如启动并发扫描和校正重复扫描。从消费者的角度来看,本申请公开的技术方案可以帮助他们以正确的价格购买真实的产品。

已对本文中描述的技术的各个方面的概括作了简要描述,下面描述所公开的技术方案的各个方面能够被实施的示例性操作环境。关于通常从附图1开始的附图,具体地,一起显示了用于实施所公开的技术方案的示例性操作环境及产品扫描示例。

该操作环境仅仅是合适的计算环境的一个示例,其并不旨在对本文所描述的技术的各方面的使用范围或功能提出任何限制。该操作环境既不应被解释为具有与任何一个组件相关的依赖性或要求,也不应被解释为具有与所示组件的任何组合有关的任何依赖性或要求。

在该操作环境中,结账系统110包括扫描仪128、显示器126、照相机122和灯124。类似地,该结账系统也可被店员112用于帮助顾客114对物品进行结账。类似地,该结账系统还可被顾客用于自助结账。

不同于常规结账系统,结账系统110可以基于相机122拍摄的图像来跟踪产品在产品移动经过扫描仪128上方的预定区域,例如扫描区域时的移动路径。在各种实施例中,该预定区域大于实际扫描区域,从而可以跟踪产品的较长的移动路径。当产品离开扫描区域时,结账系统110可以根据由扫描器128收集的信息,特别是在产品移动通过扫描区域的时期所收集的信息来验证相机122获取的产品。

用于验证的产品的范围在不同的实施例中是变化的。该验证范围可被设置为与商店中的整个产品空间的大小相等。在这种情况下,结账系统110可以例如通过将产品上的神经特征与整个产品空间进行比较来唯一地识别由相机122获取的产品;随后,可以通过将产品的标识与扫描仪128所收集的信息进行对比来检测任何非规范扫描。为加快验证过程,在一些实施例中,结账系统110将验证范围缩小到仅由扫描仪128在特定会话中收集的信息。会话可以被限制为与特定客户的交易会话。甚至更窄地,会话可以被限制为产品通过扫描区域的时期。在这些实施例中,由相机122获取的产品的最终识别对于验证来说可能不是必需的。相反,由相机122获取的产品可以与在会话中由扫描仪128获取的一个或多个候选产品进行直接比较。如果由相机122获取的产品与扫描仪128所获取的任何验证候选产品不匹配,则可以检测到非规范扫描。

在一些实施例中,结账系统110用于基于两个时间点,即产品进入扫描区域的时间和产品离开扫描区域的离开时间来明确验证范围。一般而言,进入时间是指当产品的移动路径与扫描区域的边界首次相交的时间。相反地,离开时间是指当产品的移动路径与扫描区域的边界第二次相交的时间。图1中的各种示例示出了不同的扫描模式。相机122可以拍摄连续视频或离散图像。选择移动路径中的各个点及其各自相应的时间戳来实现所公开的技术。

示例130示出了三个主要区域,包括装载区域132、扫描区域134和封装区域136。在各个实施例中,距离扫描区域的边界最近的点被认为是交叉点。这里,当产品的移动路径144通过扫描区域134时,移动路径144在点142处与左边界182相交并且在点146处与右边界188相交。在这种情况下,结账系统110可以将点142的对应时间戳作为进入时间,并且将点146的对应时间戳作为离开时间。因此,扫描仪128在进入时间和离开时间之间收集的任何信息均可被用于在同一时间段期间对由相机122获取的产品进行验证。例如,扫描仪128可能已经获取属于已知产品的条形码。结账系统110可以将已知产品的已知特征与由相机122获取的图像中的产品的特征进行比较。实质特征不匹配作为潜在的非规范扫描的指示。

有利地是,结账系统110可以处理具有不同方向,不同入口点或不同出口点的多种移动路径。作为示例,与示例130不同的是,在示例150中,产品通过与右边界188相交并且从底部边界184离开的方式移动到扫描区域134中,从而与示例130中的移动路径144相比形成具有不同方向的移动路径164。不管方向如何,结账系统110可以将点162的对应时间戳(即第一交叉点)用作进入时间,并且将点166的对应时间戳(即第二交点)用作离开时间。

类似于示例150,在示例170中,产品从右边界188进入扫描区域134。但是,产品从左边界182离开扫描区域。不同于先前的例子,产品已在扫描区域来回移动,这导致在点174和点176处的多次扫描,因为移动路径172仅具有与扫描区域134相关的一个入口点和一个出口点,结账系统110将能够识别入口点和出口点之间的任何重复的扫描,并相应地自动移除任何重复的交易。

现在转到图2,提供了展示可以应用本申请的一些方面的操作环境的框图。应当理解,本文中所描述的这个设置及其它设置仅作为例子进行陈述。除了或代替所示出的那些设置,可以使用其他设置和元件(例如,机器,接口,功能,顺序和功能分组等),并且为了清楚起见,一些元件可以被完全省略。此外,本文描述的许多元件是可以被实现为分立或分布式组件或结合其他组件以及以任何合适的组合和位置来实现的功能实体。本文中描述为由实体执行的各种功能可由硬件、固件和/或软件来执行。例如,一些功能可以由执行存储在存储器中的指令的处理器执行。

在各种实施例中,非规范扫描检测器230被配置为从成像设备210接收成像数据并且扫描来自扫描仪220的数据。成像设备210可以包括数字静止相机、数字摄像机、热像相机、深度相机等,其被配置为经由有线或无线通信信道将成像数据发送到非规范扫描检测器230。扫描仪220可以包括条形码扫描仪、二维码扫描仪、射频标识扫描仪等,其被配置为经由有线或无线通信信道向非规范扫描检测器230发送扫描数据。在一些实施例中,扫描仪220被配置为读取产品的通用产品代码数据。在各种实施例中,由成像设备210生成的成像数据包括与扫描仪220相关联的预定扫描区域的图像。

除了未示出的组件,非规范扫描检测器230包括产品检测器232,产品跟踪器234,产品验证器236和消息生成器238。此外,非规范扫描检测器230中的各种组件可以利用网络240来实现它们各自的功能。网络240可以包括用于检测、跟踪和验证物体的各种经特别设计和训练的神经网络。下面结合附图3对非规范扫描检测器230中的各种系统组件作进一步讨论。

产品检测器232包括物体检测器,该物体检测器可以使用网络240中的卷积神经网络来检测图像中的物体。在一些实施例中,单级模型可以被产品检测器232用于物体检测。这导致产品检测器232具有简单且快速的模型架构来检测图像中的产品。在训练骨干网络中,其通常被预先训练为图像分类器以从图像中提取产品特征,仅需要单个标签来为每个产品定义边界框。可以使用用于各种产品的大的标记数据集来学习好的特征表示。在一些实施例中,产品检测器232使用两阶段模型来进行物体检测。该两阶段模型用于在第一阶段(也称为体)生成候选并且在第二阶段(也称为头部)识别或评估候选。与常规的重量级头部设计不同(例如,像更快的区域卷积神经网络算法、区域全卷积网络算法等),其通常比一级模型慢,产品检测器232使用轻量化头部设计来同时实现效率和准确性。具体而言,可以通过使用大核可分离卷积产生具有小信道号的薄特征地图的方式来实现轻量化头部。进一步地,廉价的区域卷积神经网络子网,池化和单个全连接层可以与薄特征地图一起使用来实现甚至更轻量化的头部。结果,产品检测器232可以快速且高精度地检测由成像设备210获取的成像数据中的产品。进一步地,由于检测过程的卷积特性,产品检测器232可以并行地检测多个产品。

产品跟踪器234被配置为跟踪两个图像之间的产品。如先前所讨论,非规范扫描检测器230需要实时或接近实时地检测非规范扫描。因此,在一些实施例中,产品跟踪器234被设计为在线跟踪器,该在线跟踪器不使用未来的图像或帧进行实时预测。然而,在其它实施例中,产品跟踪器234可以使用离线跟踪模型来使用过去和未来的图像进行更准确的,接近实时的跟踪预测。此外,在一些实施例中,产品跟踪器234被设计为单个物体跟踪器,即便图像包含多个物体,该产品跟踪器234也仅跟踪一个物体。在其它实施例中,产品跟踪器234被设计为跟踪呈现于图像中的多个物体的多物体跟踪器。

在架构上,在一些实施例中,产品跟踪器234至少可以包含四个模块,其包括物体初始化,外观建模,运动估计和物体定位。在一些实施例中,产品跟踪器234使用来自网络240的卷积神经网络来跟踪产品并相应地生成产品的移动路径。基本上,产品跟踪器234将产品从其背景区分开来。更快地,在推断过程中,卷积神经网络的前几个层可被用于神经特征提取(例如,用于外观建模);然后,最后几个层可被用于预测(例如,用于物体定位)。在一个实施例中,产品跟踪器234使用的卷积神经网络是基于siamese区域候选网络,利用大规模图像对对该siamese区域候选网络进行端到端离线训练。卷积神经网络包括用于特征提取的siamese子网和用于候选跟踪区域的区域候选子网络。该区域候选子网络包括分类分支和回归分支。在推断阶段,候选框架被公式化为本地单触发检测任务。产品跟踪器234可以预先计算siamese子网络的模板分支,并且将相关层公式化为执行在线跟踪的小卷积层。

产品验证器236被配置为验证产品与其标签之间的一致性,例如条形码或射频标识。在一些实施例中,产品验证器236用于将产品的特征与与标签关联的已知特征进行比较。在一些实施例中,产品验证器236用于从潜在候选产品构建用于这种对比的特征空间。在各种实施例中,使用简化的特征空间来实现快速验证。为此,仅可以使用与由扫描器220在特定会话中收集的信息相关的候选产品来构建简化的特征空间。

在一些实施例中,产品验证器236用于使用来自网络240的神经网络来提取产品的本地特征。进一步地,分割技术用于从多幅图像中分割产品。网络240可以从包含产品的多幅图像的相应片段学习产品的本地特征。在一个实施例中,产品验证器236用于确定该产品的神经特征与在通过扫描区域的产品的进入时间和离开时间之间被扫描仪220扫描的被扫描产品的神经特征之间的相似性。如果该相似性度量小于预定阈值,则可以报告非规范扫描。因此,当产品验证器236快速确定由成像设备210获得的产品是否在简化特征空间之中被找到时,非规范扫描检测器230可以实时或接近实时地检测非规范扫描。

消息生成器238被配置为生成带有指示非规范扫描的信息的电子消息。在一些实施例中,消息生成器238包括电子消息中的成像设备210或扫描仪220的标识(例如,设备的唯一号码或名称)或位置信息(例如,设备的绝对或相对位置)。在一些实施例中,消息生成器238包括电子消息中的文本消息。该文本消息可以被显示于与扫描仪220相关的收款机之上。在一些实施例中,电子消息可以被发送到无线设备,例如被商店中的店员所使用的便携式设备,使得店员可以被叫唤到pos(销售点)位置来进一步地解决问题。

在一些实施例中,消息生成器238可以在扫描过程中(例如,在通过扫描仪220的产品的进入时间和离开时间之间)存储由成像设备210获取的成像数据。进一步地,消息生成器238可以包括电子消息中的指示非规范扫描的一幅或多幅图像。这样的指示性图像通常将产品显示在假定的扫描区域上。消息生成器238可以将这样的指示性图像发送到远程设备,比如发送到店员的便携式设备,使得店员能够快速地理解情况。消息生成器238还能使店员或顾客能够在本地,比如通过收款机的显示器查看这样的指示性图像。通过这种方式,参与方可快速地识别与非规范扫描相关联的有问题的交易或产品,而无需常规系统通常要求的更详尽的搜索。

应当理解,图2中示出的这种非规范扫描检测器是一个示例。图2中示出的系统组件中的每一个均可以在任何类型的计算设备,例如,附图6中描述的计算设备600上实现,如在图6中描述的计算设备600。进一步地,该非规范扫描检测器中的各种系统组件可以经由网络彼此通信或与其它设备,例如,成像设备210、扫描仪220等进行通信,网络可以包括但不限于局域网或广域网。在示例性实施方式中,局域网包括互联网或蜂窝网络,以及各种可能的公共或专用网络中的任意一种。进一步地,网络240以及该非规范扫描检测器中的其它组件可以被放置在远程计算云中或被放置于本地的收款机内。

现在请参考图3,根据本文所描述的技术的至少一个方面提供说明示例性零售系统中的一些示例性组件,具体地,检测器310,跟踪器330和验证器350的示意图。

使用图像312作为输入,检测器310被配置为使用神经网络314将前景从背景316分离,检测前景中的物体318,并且例如使用结合图2讨论的至少一个模型来确定该物体在该图像中的位置322。在各种实施例中,神经网络314将位置322输出为通常由四个值表示的边框,这四个值比如是边框的一个角的x坐标和y坐标以及边框的高度和宽度。检测器310可以执行用于双重目的的物体检测任务,最初用于跟踪器330中的物体初始化,并且随后用于校正跟踪物体的位置。在一些实施例中,跟踪器330仅针对物体初始化使用检测器310。在其它实施例中,跟踪器330还间歇地(例如,每隔半秒或每秒)调用检测器310来校正跟踪轨迹。

跟踪器330被配置为通常使用神经网络336来跟踪扫描过程,尤其是扫描区域中的产品的移动路径。高级别的跟踪器330用于基于第一图像中的产品的第一位置来定位第二图像中的产品的第二位置,并且基于第一位置和第二位置之间的位移来构建产品的移动路径。在该示例中,跟踪器330将位置322和另一个图像334作为输入,并且使用神经网络336,例如,使用如结合图2所讨论的至少一个模型来确定产品从位置322到位置338的移动路径。

在常规扫描中,当产品移动通过扫描区域时,扫描仪应采集产品信息。相反地,在非规范扫描中,真实产品信息并未被扫描仪获取。因此,验证器350被配置为确定在图像中获得的产品是否与由扫描仪报告的产品相匹配。

训练神经网络354来检测每个已知产品的神经特征,并且,验证器350可以存储或获取这种神经网络。在一些实施例中,产品352包括所有已知的产品,并且这些产品的神经特征被存储在特征空间356之中。在验证阶段,验证器350可以基于相同的神经网络从产品362生成神经特征364,并且尝试从特征空间356识别神经特征364。通过这种方式,验证器350可以对比扫描仪收集的产品信息来识别最相似的已知产品。如果在特征空间356中不能识别神经特征364,这是不匹配的,该不匹配进而作为非规范扫描的指示。

在一些实施例中,产品352仅包含在交易会话期间由扫描仪收集的产品。该交易会话可以被限制于特定客户,该特定客户包括由客户购买的所有产品。该交易会话可以被限于通过扫描区域的产品的进入时间与离开时间之间的时间段。通常地,在常规扫描中,在这样的时间段内仅收集一个产品。如果扫描仪在该时间段内没有收集到信息,则验证器350将会报告非规范扫描。在任何情况下,交易会话中的产品的绝对数量从产品的总数量中被显著地减少。因此,验证器350可以快速确定产品362是否与产品352中的产品匹配。

在一些实施例中,作为实时地通过神经网络354输送产品352的替代,可以从训练阶段中获取产品352的现有神经特征。通过将神经特征364与所获得的产品352的神经特征进行比较,降低了推断阶段的验证任务的复杂度。与过程366相比,两个产品之间的相似性可以基于它们的特征向量或其它特征对比技术的欧几里德距离来进行测量。作为相似性小于阈值的响应,可以利用指示非规范扫描的信息来生成电子消息。

不仅是产品的一幅图像,而是讨论中的产品的所有图像都可以被神经网络354用于生成神经特征364。在一些实施例中,包括多幅图像产品的图像片段,比如神经网络314或神经网络336生成的每个边界框中的内容被神经网络354用于生成神经特征364。在一些实施例中,由神经网络314或神经网络336生成的边界框的位置和大小信息被用作神经网络354的输入。在一些实施例中,被神经网络314或神经网络336识别的产品的神经特征被用于验证神经特征364。

当由扫描器在交易会话中收集的信息来构建产品352时,如果验证器350将产品362与产品352中的一个条目匹配,则可能是常规扫描。如果产品352仅包含一个条目,并且产品362与产品352中的唯一条目不匹配,则产品的标识(例如,条形码)可能被损坏或已被改变。因此,所公开的系统还可以基于这种验证技术来检测和报告错误的产品身份。

如果相同的产品已经被多次扫描,则如果重复的条目与先前讨论的相同的进入时间和相同的离开时间相对应,则可以去除这些重复的条目。具体地,响应于识别产品的重复交易,所公开的系统被配置为自动地纠正重复的交易,比如仅仅保留在进入时间和离开时间之间的一个交易。

如果多个产品在类似的时间被扫描,则产品352可以以多个条目结束。在这种情况下,仍可单独跟踪每个产品的移动路径,并可单独地验证每个产品。仍然可以检测和报告任何非规范扫描。

现在参考图4,提供了说明检测非规范扫描的示例性过程的流程图。过程400的每个框及本文中描述的其它过程包括可以使用硬件、固件或软件的任何组合来执行的计算过程。例如,各种功能可以由执行存储在存储器中的指令的处理器来执行。该过程还可以被实施为存储在计算机存储介质或设备上的计算机可用指令。该过程可由应用、服务或其组合来提供。

在框410处,该过程例如是通过图2中的产品检测器232来检测产品。在各个实施例中,产品检测器是从覆盖与扫描仪连接的预定区域的图像中检测产品。为此,产品检测器232可以使用神经网络从图像的背景中分离前景,检测前景中的物体并且确定该物体相对于图像的位置。边界框可被用于表示物体的位置。

在框420处,过程例如是通过图2的产品跟踪器234来跟踪产品的移动路径。在各种实施例中,该产品跟踪器用于基于连续图像或按顺序选择中的产品的各自位置之间的位移来构建移动路径。此外,该产品跟踪器用于例如基于移动路径的第一交叉点和第二交叉点和扫描区域的边界来识别移动路径相对于扫描区域的入口点(也即进入时间)和出口点(也即离开时间)。在一些实施例中,产品跟踪器同时跟踪多个物体并相应地构建多条移动路径。

在框430处,该过程例如是通过图2的产品跟踪器234来确定交易会话。当交易会话基于每个客户时,与扫描仪收集的用于客户的所有信息相关的交易可被用于交易。当交易会话基于每个扫描活动时,仅与扫描仪在产品的移动路径的进入时间和离开时间之间收集的信息相关的交易可被用于交易会话。在这种情况下,所公开的系统将基于移动路径确定进入扫描区域的产品的第一时间和离开扫描区域的产品的第二时间。因此,所公开的系统可以基于第一时间和第二时间之间的扫描事件来生成交易会话。

在框440处,该过程例如是通过图2的产品验证器236来验证产品的交易。在一些实施例中,该产品验证器用于从与扫描仪相关的交易会话验证产品的交易。在一些实施例中,该产品验证器用于从该产品的多幅图像生成该产品的神经特征,并确定该产品的神经特征与在第一时间和第二时间之间被扫描的被扫描产品或者包含在所选择的交易会话中的被扫描产品的神经特征之间的相似性。交易会话通常包含被扫描产品的通用产品代码。因此,该产品验证器能够基于被扫描产品的通用产品代码来检索被扫描产品的神经特征。

在框450处,该过程例如是通过图2的消息生成器238生成电子消息。在一些实施例中,电子消息包含指示非规范扫描的信息,并且作为对摄像机获取的产品与扫描仪收集的产品信息之间的相似性低于阈值的响应而被生成。在一些实施例中,作为丢失来自交易会话的产品的交易的响应,消息生成器238将生成指示非规范的扫描事件的电子消息,并使电子消息显示在无线设备,例如由店员携带的无线设备之中。

现在转到图5,提供说明检测非规范扫描的另一示例性过程的流程图。过程500的每个框及在本文中描述的其它过程包括可以使用硬件、固件或软件的任何组合来执行的计算过程。例如,各种功能可以由执行存储在存储器中的指令的处理器执行。该过程还可被实施为存储在计算机存储介质或设备上的计算机可用指令。该过程可以由应用、服务或其组合来提供。

在框510处,该过程用于基于产品的多幅图像识别进入预定区域的产品的第一时间和离开预定区域的产品的第二时间。为此,所公开的系统跟踪产品的移动路径并且识别移动路径与预定区域的边界之间的交叉点。在各种实施例中,移动路径仅具有一个与预定区域有关的入口点和出口点。该产品被允许无限期地保留在预定区域中。在各种实施例中,该预定区域基本上类似于或至少覆盖连接到扫描仪的指定扫描区域。

在框520处,该过程用于确定产品的神经特征与在第一时间和第二时间之间被扫描的被扫描产品的神经特征之间的相似性。在一些实施例中,在图像中获取的产品的神经特征可以由来自图像的神经网络(例如,图3中的神经网络354)生成。在一些实施例中,由神经网络314和神经网络336确定的产品的神经特征还可被用于促进相似性度量,例如来自神经网络314或神经网络336的输出可用作图3中的神经网络354的输入。

在框530处,该过程用于基于该相似性来生成电子消息。例如,如果相似性低于预定阈值,则可以生成指示非规范扫描的电子消息。

因此,我们已经描述了用于检测误标记的产品的技术的各个方面。应当理解,本文描述的实施例的各种特征,子组合和修改是有用的,并且可以不参照其它特征或子组合而在其它实施例中进行实施。此外,上述示例过程中示出的序号或步骤的顺序并不意味着以任何方式限制本申请的范围,并且实际上,这些步骤可以以各种不同的顺序出现在本发明的实施例之中。这些变型及其组合也被认为落入本申请的实施例的范围之内。

参见图6,示出了实施本文中描述的技术的各个方面的示例性运行环境,该示例性运行环境通常被指示为计算设备600。计算设备600仅是合适的计算环境的一个示例,其并不旨在作为对本文所描述的技术的使用范围的任何限制。也不应将计算设备600解释为对所示出的组件中的任何一个或组合有任何依赖性或要求。

本文中所描述的技术可以在计算机代码或机器可用指令的一般上下文中进行描述,该计算机代码或机器可用指令包括由计算机或其它机器执行的计算机可执行指令,比如程序组件。通常地,包括例程、程序、对象、组件、数据结构等的程序组件是指执行特定任务或实现特定抽象数据类型的代码。本文中所描述的技术可以在包括手持设备,消费电子,通用计算机和特定计算设备等的多种系统结构中进行实践。本文中描述的技术的多个方面也可以在分布式计算环境中进行实践,在该分布式计算环境中,任务由经由通信网络连网的远程处理设备来执行。

继续参考图6,计算设备600包括直接或间接耦合下述设备的总线610,这些设备包括:存储器620、处理器630、显示组件640、输入/输出端口650、输入/输出组件660和示例性的电源670。总线610可以包括地址总线、数据总线或其组合。虽然为了清楚起见用线条示出了图6中的各个块,但实际上,不会如此清楚地描绘各种组件,并且在喻义上,更精确的线条将会是灰色和模糊的。例如,可以将比如显示设备之类的显示组件认作输入/输出组件。本文中的发明人认识到这是本领域的本质并且重申图6中的图形仅仅是能够结合本文所描述的技术的不同方面使用的示例性计算设备的说明。没有在比如“工作站”、“服务器”、“膝上型电脑”、“手持设备”等这些类别之间进行区分,因为所有这些类别都被认为是处于图6的范围内,并且指代“计算机”或“计算设备”。

计算设备600通常包括各种计算机可读介质。计算机可读介质可以是可被计算设备600访问的任何可用介质,并且包括易失性和非易失性介质,可移除和不可移除介质。作为例子而不作为限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括在用于存储比如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术中实施的易失性和非易失性介质,以及可移除或不可移除介质。

计算机存储介质包括ram(随机存取存储器)、rom(只读存储器)、eeprom(电可擦只读存储器)、闪存或其它存储器技术、cd-rom(只读光盘驱动器)、dvd(数字通用光盘)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁存储设备。计算机存储介质不包括传播的数据信号。

通信介质通常在例如载波或其它传输机制等经调制数据信号中体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传输介质。术语“经调制的数据信号”意指其特性被设置或改变,以此方式在信号中编码信息的信号。作为例子而不作为限制,通信介质包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声学、射频、红外和其它无线介质之类的无线介质。以上所述的任何组合也应被包括在计算机可读介质的范围内。

存储器620包括易失性和/或非易失性存储器形式的计算机存储介质。存储器620可以是可移除的,不可移除的或其组合。示例性的存储器包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备600包括从例如总线610、存储器620或输入/输出组件660等各种实体读取数据的处理器630。显示组件640将数据指示呈现给用户或其它设备。示例性的显示组件640包括显示设备、扬声器、打印组件、振动组件等。输入/输出端口650允许计算设备600在逻辑上耦合到其它设备,其包括输入/输出组件660,其中一些输入/输出组件660可以被内置。

在各种实施例中,存储器620具体包括非规范扫描检测逻辑622的临时和永久拷贝。非规范扫描检测逻辑622包括指令,当该指令被处理器630执行时,导致计算设备600执行功能,例如但不限于过程400和500以及连接到图3的各种过程。在各种实施例中,非规范扫描检测逻辑622包括指令,当该指令被处理器630执行时,致使计算设备600执行与图2中的产品检测器232,产品验证器236、产品跟踪器234、非规范扫描检测器230、消息生成器238,以及图3中的跟踪器330、检测器310和验证器350相关但不受其限制的各种功能。

在一些实施例中,处理器630和非规范扫描检测逻辑622可以被封装在一起。在一些实施例中,处理器630可以与非规范扫描检测逻辑622封装在一起,从而形成系统级封装。在一些实施例中,处理器630可以与非规范扫描检测逻辑622集成在同一个管芯上,从而形成系统级芯片。

示例性的输入/输出组件包括麦克风、操纵杆、游戏垫、圆盘式卫星天线,扫描仪、打印机、显示设备,无线设备、控制器(比如触控笔、键盘和鼠标),自然用户界面等。在一些方面中,提供数字笔(未示出)和相应的输入仪器(也未示出,但仅仅举例来说,输入仪器可包括笔或触控笔)以便数字化地获取手绘的用户输入。数字笔和处理器630之间的连接可以是直接的或是通过利用本领域中已知的串行端口、并行端口和/或其它接口和/或系统总线的耦合。此外,数字转换器输入组件可以是与输出组件比如显示设备分开的组件。在一些方面中,数字转换器的可用输入区域可以与显示设备的显示区域共存,与显示设备集成在一起,或可以作为叠加或附加到显示设备的单独设备而存在。这些变化中的任何一个或所有变化,及其任何组合都被认为包含在本文所描述的技术的各个方面的范围内。

计算设备600可以包括网络接口680。网络接口680包括发送和接收数据的网络接口控制器。网络接口680可以使用有线技术(例如同轴电缆、双绞线、光纤等)或无线技术(例如地面微波、通信卫星、蜂窝、无线电和扩频技术等)。具体地,网络接口680可以包括适于经由各种无线网络接收通信和媒介的无线终端。计算设备600可以使用无线电通信技术通过网络接口680与其它设备进行通信。无线通信可以是短距离连接、长距离连接、或者短距离和长距离无线通信连接的组合。短距离连接可以包括到提供对无线通信网络比如使用802.11协议的无线局域网连接的访问的设备(例如,移动热点)的wi-fi(无线保真)连接。到另一个计算设备的蓝牙连接是短距离连接的第二示例。长距离连接可以包括使用各种无线网络的连接,包括1g(第1代移动通信技术)、2g(第2代移动通信技术)、3g(第3代移动通信技术)、4g(第4代移动通信技术)、5g(第5代移动通信技术)等,或者基于各种标准或协议,包括gprs(通用分组无线电服务)、edge(全球通信系统演进的增强数据速率),gsm(全球移动通信系统)、cdma(码分多址),tdma(时分多址),lte(长期演进)、802.16标准等。

已对本文中所描述的技术及其具体方面作了描述,该技术在所有方面意在是说明性的而非限制性的。虽然本文中描述的技术易受各种修改和替代结构的影响,但其一些说明的方面被示出于附图中并已在上文中被详细地描述。然而,应当理解,不存在将本文中所描述的技术限制于所公开的具体形式的意图,恰恰相反,意图是覆盖落入本文中描述的技术的精神和范围内的所有修改、替代结构和等同物。

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