用于跟踪货物承载器的系统和方法转让专利

申请号 : CN201880076616.3

文献号 : CN111712826B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 迈克尔·苏代尔丹·布里卡埃勒朱安·卡斯提罗普拉萨德·斯里尼瓦萨默西

申请人 : BXB数码私人有限公司

摘要 :

提供了用于跟踪来自特定源的货物承载器的方法、装置和计算机程序产品。根据本发明的一些实施例,一种计算机实现的方法包括训练人工神经网络来计数图像内来自特定源的货物承载器的数量。此外,所述方法还包括:接收由第一成像装置生成的第一图像文件;使用所述经训练的人工神经网络来确定第一图像中来自所述特定源的货物承载器的第一数量;接收由第二成像装置生成的第二图像文件;使用所述经训练的人工神经网络来确定第二图像中来自所述特定源的货物承载器的第二数量;以及确定所述第一图像中来自所述特定源的货物承载器的所述第一数量是否等于所述第二图像中来自所述特定源的货物承载器的所述第二数量。

权利要求 :

1.一种用于跟踪来自特定源的货物承载器的方法,所述方法包括:接收多个训练图像文件,其中所述多个训练图像文件中的每一个包括描绘来自所述特定源的相应多个货物承载器的相应训练图像;

针对所述多个训练图像文件中的每一个:

使用人工神经网络来确定所述相应训练图像中来自所述特定源的所述相应多个货物承载器的估计数量;以及确定所述相应训练图像中来自所述特定源的所述相应多个货物承载器的所述估计数量与所述相应训练图像中来自所述特定源的所述相应多个货物承载器的已知数量的比较;

使用所述比较以通过调整与所述人工神经网络内的人工神经元相关联的权重来训练所述人工神经网络;

接收由第一成像装置生成的第一图像文件,其中所述第一图像文件包括描绘来自所述特定源的第一多个货物承载器的第一图像,并且所述第一图像与具有多个节点的运输路径相关联;

使用所述经训练的人工神经网络来确定所述第一图像中来自所述特定源的货物承载器的第一数量;

接收由第二成像装置生成的第二图像文件,其中所述第二图像文件包括描绘来自所述特定源的第二多个货物承载器的第二图像,并且所述第二图像与所述运输路径相关联;

使用所述经训练的人工神经网络来确定所述第二图像中来自所述特定源的货物承载器的第二数量;以及确定所述第一图像中来自所述特定源的货物承载器的所述第一数量是否等于所述第二图像中来自所述特定源的货物承载器的所述第二数量。

2.如权利要求1所述的方法,其中所述第一成像装置为安全相机、交通相机、无人机、移动装置、激光扫描仪、声纳装置、激光雷达装置、立体成像仪或射频成像仪。

3.如权利要求1所述的方法,其还包括:

从所述第一图像滤除来自不与所述特定源相关联的第三方的货物承载器;以及从所述第二图像滤除来自不与所述特定源相关联的第三方的货物承载器。

4.如权利要求1所述的方法,其中:

所述第一图像文件还包括指示所述第一图像被获取的第一时间和第一位置的第一数据,并且所述第二图像文件还包括指示所述第二图像被获取的第二时间和第二位置的第二数据。

5.如权利要求4所述的方法,所述方法还包括:

确定来自所述特定源的货物承载器的所述第一数量等于来自所述特定源的货物承载器的所述第二数量;以及确定所述第一时间和所述第二时间之间的时间差。

6.如权利要求5所述的方法,其还包括确定所述第一位置和所述第二位置之间的空间差。

7.如权利要求1所述的方法,其还包括:

确定所述第一图像中来自所述特定源的货物承载器的所述第一数量等于所述第二图像中来自所述特定源的货物承载器的所述第二数量;以及通过使用所述人工神经网络识别所述第一图像和所述第二图像两者中的对象来验证所述第一图像中来自所述特定源的所述第一多个货物承载器与所述第一图像中来自所述特定源的所述第二多个货物承载器相同。

8.如权利要求1所述的方法,其还包括:

将所述第一图像中来自所述特定源的所述第一多个货物承载器的至少子集与来自所述特定源的第一类型的货物承载器匹配;以及将所述第二图像中来自所述特定源的所述第二多个货物承载器的至少子集与来自所述特定源的所述第一类型的货物承载器匹配。

9.如权利要求1所述的方法,其还包括用所述人工神经网络处理所述第一图像以校正所述第一图像的视角。

10.如权利要求1所述的方法,其中来自所述特定源的所述第一多个货物承载器中的至少一个货物承载器在所述第一图像内被遮挡。

11.一种非暂时性机器可读存储介质,在其上存储有用于跟踪来自特定源的货物承载器的计算机程序,所述计算机程序包括在由一个或多个处理器执行时使得所述一个或多个处理器进行以下操作的指令:接收多个训练图像文件,其中所述多个训练图像文件中的每一个包括描绘来自所述特定源的相应多个货物承载器的相应训练图像;

针对所述多个训练图像文件中的每一个:

使用人工神经网络来确定所述相应训练图像中来自所述特定源的所述相应多个货物承载器的估计数量;以及确定所述相应训练图像中来自所述特定源的所述相应多个货物承载器的所述估计数量与所述相应训练图像中来自所述特定源的所述相应多个货物承载器的已知数量的比较;

使用所述比较以通过调整与所述人工神经网络内的人工神经元相关联的权重来训练所述人工神经网络;

接收由第一成像装置生成的第一图像文件,其中所述第一图像文件包括描绘来自所述特定源的第一多个货物承载器的第一图像,并且所述第一图像与具有多个节点的运输路径相关联;

使用所述经训练的人工神经网络来确定所述第一图像中来自所述特定源的货物承载器的第一数量;

接收由第二成像装置生成的第二图像文件,其中所述第二图像文件包括描绘来自所述特定源的第二多个货物承载器的第二图像,并且所述第二图像与所述运输路径相关联;

使用所述经训练的人工神经网络来确定所述第二图像中来自所述特定源的货物承载器的第二数量;以及确定所述第一图像中来自所述特定源的货物承载器的所述第一数量是否等于所述第二图像中来自所述特定源的货物承载器的所述第二数量。

12.如权利要求11所述的非暂时性机器可读存储介质,其中所述第一成像装置为安全相机、交通相机、无人机、移动装置、激光扫描仪、声纳装置、激光雷达装置、立体成像仪或射频成像仪。

13.如权利要求11所述的非暂时性机器可读存储介质,其中所述指令进一步使得所述一个或多个处理器进行以下操作:从所述第一图像滤除来自不与所述特定源相关联的第三方的货物承载器;以及从所述第二图像滤除来自不与所述特定源相关联的第三方的货物承载器。

14.如权利要求11所述的非暂时性机器可读存储介质,其中:所述第一图像文件还包括指示所述第一图像被获取的第一时间和第一位置的第一数据,并且所述第二图像文件还包括指示所述第二图像被获取的第二时间和第二位置的第二数据。

15.如权利要求14所述的非暂时性机器可读存储介质,其中所述指令进一步使得所述一个或多个处理器进行以下操作:确定来自所述特定源的货物承载器的所述第一数量等于来自所述特定源的货物承载器的所述第二数量;以及确定所述第一时间和所述第二时间之间的时间差。

16.如权利要求15所述的非暂时性机器可读存储介质,其中所述指令进一步使得所述一个或多个处理器确定所述第一位置和所述第二位置之间的空间差。

17.如权利要求11所述的非暂时性机器可读存储介质,其中所述指令进一步使得所述一个或多个处理器进行以下操作:确定所述第一图像中来自所述特定源的货物承载器的所述第一数量等于所述第二图像中来自所述特定源的货物承载器的所述第二数量;以及通过使用所述人工神经网络识别所述第一图像和所述第二图像两者内的对象来验证所述第一图像中来自所述特定源的所述第一多个货物承载器与所述第一图像中来自所述特定源的所述第二多个货物承载器相同。

18.如权利要求11所述的非暂时性机器可读存储介质,其中所述指令进一步使得所述一个或多个处理器进行以下操作:将所述第一图像中来自所述特定源的所述第一多个货物承载器的至少子集与来自所述特定源的第一类型的货物承载器匹配;以及将所述第二图像中来自所述特定源的所述第二多个货物承载器的至少子集与来自所述特定源的所述第一类型的货物承载器匹配。

19.如权利要求11所述的非暂时性机器可读存储介质,其中所述指令进一步使得所述一个或多个处理器用所述人工神经网络处理所述第一图像以校正所述第一图像的视角。

20.如权利要求11所述的非暂时性机器可读存储介质,其中来自所述特定源的所述第一多个货物承载器中的至少一个货物承载器在所述第一图像内被遮挡。

21.一种用于跟踪来自特定源的货物承载器的装置,所述装置包括:处理器;以及

耦接到所述处理器的存储器,所述存储器存储在由所述处理器执行时使得所述装置执行包括以下各项的操作的指令:接收多个训练图像文件,其中所述多个训练图像文件中的每一个包括描绘来自所述特定源的相应多个货物承载器的相应训练图像;

针对所述多个训练图像文件中的每一个:

使用人工神经网络来确定所述相应训练图像中来自所述特定源的所述相应多个货物承载器的估计数量;以及确定所述相应训练图像中来自所述特定源的所述相应多个货物承载器的所述估计数量与所述相应训练图像中来自所述特定源的所述相应多个货物承载器的已知数量的比较;

使用所述比较以通过调整与所述人工神经网络内的人工神经元相关联的权重来训练所述人工神经网络;

接收由第一成像装置生成的第一图像文件,其中所述第一图像文件包括描绘来自所述特定源的第一多个货物承载器的第一图像,并且所述第一图像与具有多个节点的运输路径相关联;

使用所述经训练的人工神经网络来确定所述第一图像中来自所述特定源的货物承载器的第一数量;

接收由第二成像装置生成的第二图像文件,其中所述第二图像文件包括描绘来自所述特定源的第二多个货物承载器的第二图像,并且所述第二图像与所述运输路径相关联;

使用所述经训练的人工神经网络来确定所述第二图像中来自所述特定源的货物承载器的第二数量;以及确定所述第一图像中来自所述特定源的货物承载器的所述第一数量是否等于所述第二图像中来自所述特定源的货物承载器的所述第二数量。

22.如权利要求21所述的装置,其中所述第一成像装置为安全相机、交通相机、无人机、移动装置、激光扫描仪、声纳装置、激光雷达装置、立体成像仪或射频成像仪。

23.如权利要求21所述的装置,其中所述操作还包括:从所述第一图像滤除来自不与所述特定源相关联的第三方的货物承载器;以及从所述第二图像滤除来自不与所述特定源相关联的第三方的货物承载器。

24.如权利要求21所述的装置,其中:

所述第一图像文件还包括指示所述第一图像被获取的第一时间和第一位置的第一数据,并且所述第二图像文件还包括指示所述第二图像被获取的第二时间和第二位置的第二数据。

25.如权利要求24所述的装置,其中所述操作还包括:确定来自所述特定源的货物承载器的所述第一数量等于来自所述特定源的货物承载器的所述第二数量;以及确定所述第一时间和所述第二时间之间的时间差。

26.如权利要求25所述的装置,其中所述操作还包括确定所述第一位置和所述第二位置之间的空间差。

27.如权利要求21所述的装置,其中所述操作还包括:确定所述第一图像中来自所述特定源的货物承载器的所述第一数量等于所述第二图像中来自所述特定源的货物承载器的所述第二数量;以及通过使用所述人工神经网络识别所述第一图像和所述第二图像两者内的对象来验证所述第一图像中来自所述特定源的所述第一多个货物承载器与所述第一图像中来自所述特定源的所述第二多个货物承载器相同。

28.如权利要求21所述的装置,其中所述操作还包括:将所述第一图像中来自所述特定源的所述第一多个货物承载器的至少子集与来自所述特定源的第一类型的货物承载器匹配;以及将所述第二图像中来自所述特定源的所述第二多个货物承载器的至少子集与来自所述特定源的所述第一类型的货物承载器匹配。

29.如权利要求21所述的装置,其中所述操作还包括用所述人工神经网络处理所述第一图像以校正所述第一图像的视角。

30.如权利要求21所述的装置,其中来自所述特定源的所述第一多个货物承载器中的至少一个货物承载器在所述第一图像内被遮挡。

说明书 :

用于跟踪货物承载器的系统和方法

[0001] 相关申请的交叉引用
[0002] 该专利申请要求2017年10月20日提交的美国临时专利申请号62/575,262的权益,该专利申请的内容据此全文以引用方式并入。

背景技术

[0003] 跟踪托盘沿运输路径的移动可有助于诊断托盘丢失和恢复、托盘损坏和托盘循环时间的问题。各种成像装置可被用于在来自特定源的托盘装运沿着运输路径前进时收集它们的图像。然而,由于一些托盘可能在图像中被遮挡,因此可能难以确定在每个图像中有多少托盘,以及确定是否在运输路径的节点之间添加或去除了任何托盘。此外,图像可包括来自其他源的可被错误地包括在图像中的多个托盘中的托盘。

发明内容

[0004] 提供了用于跟踪托盘的方法(包括计算机实现的方法)、装置和应用用于跟踪托盘的系统和方法的计算机程序产品。根据本发明的一些实施例,提供了一种用于跟踪来自特定源的货物承载器的计算机实现的方法。该方法包括接收多个训练图像文件。多个训练图像文件中的每一个包括描绘来自所述特定源的相应多个货物承载器的相应训练图像。针对所述多个训练图像文件中的每一个,该方法包括:使用人工神经网络来确定所述相应训练图像中来自所述特定源的所述相应多个货物承载器的估计数量,以及确定所述相应训练图像中来自所述特定源的所述相应多个货物承载器的所述估计数量与所述相应训练图像中来自所述特定源的所述相应多个货物承载器的已知数量的比较。该方法还包括使用所述比较以通过调整与所述人工神经网络内的人工神经元相关联的权重来训练所述人工神经网络。此外,该方法还包括:接收由第一成像装置生成的第一图像文件,其中所述第一图像文件包括描绘来自所述特定源的第一多个货物承载器的第一图像,并且所述第一图像与具有多个节点的运输路径相关联;使用所述经训练的人工神经网络来确定第一图像中来自特定源的货物承载器的第一数量;接收由第二成像装置生成的第二图像文件,其中所述第二图像文件包括描绘来自所述特定源的第二多个货物承载器的第二图像,并且所述第二图像与所述运输路径相关联;使用所述经训练的人工神经网络来确定第二图像中来自特定源的货物承载器的第二数量;以及确定所述第一图像中来自特定源的货物承载器的第一数量是否等于所述第二图像中来自特定源的货物承载器的第二数量。
[0005] 第一成像装置可为安全相机、交通相机、无人机、移动装置、激光扫描仪、声纳装置、激光雷达(LIDAR)装置、立体成像仪或射频(RF)成像仪。该方法还可包括从所述第一图像滤除来自不与所述特定源相关联的第三方的货物承载器,以及从所述第二图像滤除来自不与所述特定源相关联的第三方的货物承载器。
[0006] 所述第一图像文件还可包括指示所述第一图像被获取的第一时间和第一位置的第一数据,并且所述第二图像文件还可包括指示所述第二图像被获取的第二时间和第二位置的第二数据。该方法还可包括确定来自所述特定源的货物承载器的所述第一数量等于来自所述特定源的货物承载器的所述第二数量,以及确定所述第一时间和所述第二时间之间的时间差。此外,该方法还可包括确定所述第一位置和所述第二位置之间的空间差。
[0007] 此外,该方法还可包括:确定所述第一图像中来自所述特定源的货物承载器的所述第一数量等于所述第二图像中来自所述特定源的货物承载器的所述第二数量,以及通过使用所述人工神经网络识别所述第一图像和所述第二图像两者内的对象来验证所述第一图像中来自所述特定源的所述第一多个货物承载器与所述第一图像中来自所述特定源的所述第二多个货物承载器相同。该方法还可包括将所述第一图像中来自所述特定源的所述第一多个货物承载器的至少子集与来自所述特定源的第一类型的货物承载器匹配,以及将所述第二图像中来自所述特定源的所述第二多个货物承载器的至少子集与来自所述特定源的所述第一类型的货物承载器匹配。
[0008] 此外,该方法可包括用所述人工神经网络处理所述第一图像以校正所述第一图像的视角。来自所述特定源的所述第一多个货物承载器中的至少一个货物承载器可在所述第一图像内被遮挡。
[0009] 根据本发明的一些实施例,提供了一种装置。该装置包括一个或多个处理器。该装置还包括非暂时性计算机可读介质,其包含在由所述一个或多个处理器执行时使得所述一个或多个处理器执行包括本文所述方法的步骤的操作的指令。
[0010] 根据本发明的一些实施例,提供了一种计算机程序产品。该计算机程序产品有形地体现在装置的非暂时性机器可读存储介质中。该计算机程序产品包括在由所述一个或多个处理器执行时使得所述一个或多个处理器执行包括本文所述的方法的步骤的操作的指令。
[0011] 该发明内容并非意图识别所要求保护的主题的关键特征或本质特征,也非意图被单独地用于确定所要求保护的主题的范围。该主题应参照本专利的整个说明书的适当部分、任何或所有附图以及每条权利要求来进行理解。
[0012] 通过参照下面的说明书、权利要求和附图,上文以及其他特征和实施例将变得更加显而易见。

附图说明

[0013] 参考以下附图在下文详细地描述本发明的说明性实施例:
[0014] 图1是根据一些实施例的托盘的底部透视图。
[0015] 图2是根据一些实施例的具有负载的托盘的侧视图。
[0016] 图3是根据一些实施例的示出了托盘的框图。
[0017] 图4是根据一些实施例的示出了用于跟踪托盘的系统的框图。
[0018] 图5是根据一些实施例的示出了接入装置的框图。
[0019] 图6A是根据一些实施例的示出了服务器计算机的框图。
[0020] 图6B是根据一些实施例的示出了用于训练人工神经网络的方法的流程图。
[0021] 图7是根据一些实施例的示出了用于托盘跟踪的方法的流程图。
[0022] 图8是根据一些实施例的示出了用于托盘跟踪的另一方法的流程图。
[0023] 图9是根据一些实施例的示出了用于托盘跟踪的另一方法的流程图。

具体实施方式

[0024] 下面提供了本公开的某些方面和实施例。如对本领域技术人员将显而易见的,这些方面和实施例中的一些可以独立地应用并且它们中的一些可以组合地应用。在下面的描述中,出于解释的目的,阐述了具体细节以便提供对本发明的实施例的透彻理解。然而,将显而易见的是,各种实施例也可以在没有这些具体细节的情况下实行。附图和描述并不旨在是限制性的。
[0025] 随后的描述仅提供示例性实施例,并且不意图限制本公开的范围、适用性或配置。相反,示例性实施例的随后的描述将向本领域技术人员提供用于实现示例性实施例的使能描述。应理解,在不脱离如所附权利要求中阐述的本发明的精神和范围的情况下,可以在元件的功能和布置上作出各种改变。
[0026] 在以下描述中给出了具体细节以提供对实施例的透彻理解。然而,本领域的一个技术人员将理解,所述实施例也可以在没有这些具体细节的情况下实行。例如,电路、系统、网络、过程和其他部件可以被示出为框图形式的部件,以便不以不必要的细节使所述实施例模糊不清。在其他情况下,可以在没有不必要的细节的情况下示出众所周知的电路、过程、算法、结构和技术,以避免使实施例模糊不清。
[0027] 此外,应注意,各个实施例可以被描述为一个过程,所述过程被描绘为流程图、程序流图、数据流图、结构图或框图。尽管流程图可以将操作描述为顺序过程,但是许多操作可以并行或同时执行。此外,操作的顺序可被重新布置。当其操作完成时,过程被终止,但可以有不包括在图中的附加步骤。过程可以对应于方法、函数、规程、子例程、子程序等。当过程对应于函数时,其终止可对应于函数返回到调用函数或主函数。
[0028] 术语“计算机可读介质”包括但不限于便携式或非便携式存储装置、光学存储装置和能够存储、包含或携带指令和/或数据的各种其他介质。计算机可读介质可包括非暂时性介质,数据可以被存储在其中并且其不包括无线地或通过有线连接传播的载波和/或暂时性电子信号。非暂时性介质的示例可包括但不限于磁盘或磁带、光学存储介质诸如光盘(CD)或数字通用光盘(DVD)、快闪存储器、存储器或存储装置。计算机可读介质可以在其上存储有代码和/或机器可执行指令,所述代码和/或机器可执行指令可表示规程、函数、子程序、程序、例程、子例程、模块、软件包、类别,或者指令、数据结构或程序语句的任意组合。通过传递和/或接收信息、数据、自变量、参数或存储器内容,代码段可被耦接到另一代码段或硬件电路。信息、自变量、参数、数据等可以通过包括存储器共享、消息传递、令牌传递、网络传输等任何合适的方式被传递、转发或传输。
[0029] 此外,实施例可以由硬件、软件、固件、中间件、微代码、硬件描述语言或其任意组合来实现。当以软件、固件、中间件或微代码实现时,要执行必要的任务的程序代码或代码段(例如,计算机程序产品)可以被存储在计算机可读或机器可读介质中。一个或多个处理器可以执行必要的任务。
[0030] 货物承载器
[0031] 货物承载器可以是支撑用于进行存储、展示、处理和/或运输的物理资产的结构。如本文所用,术语“货物承载器”可以被用来描述任何负载承载器或产品运输平台,包括任何类型的可再用塑料容器(RPC)、平台、推车、箱、小桶、盒(包括瓦楞纸盒)、容器、封闭或不封闭的桶等。物理资产可以是任何物理资产,诸如易腐烂或不易腐烂的物理货物。
[0032] 图1是根据一些实施例的货物承载器100的底部透视图。图1中示出的货物承载器100是托盘的示例。货物承载器100可包括基部120和腿部110。货物承载器100可具有任何大小、形状和/或尺寸,并且可以由任何材料或材料的组合制成。基部120和腿部110可具有任何大小、形状和/或尺寸。基部120可以是平坦的和/或以其他方式被配置为支撑将被保持在货物承载器100上的物理资产的形状和/或重量。尽管示出为具有图1的特定设计,但可以设想到任何设计都可以并入在基部120上或基部120中。例如,根据要被放置在基部120上的特定物理资产的特性(例如,重量、形状、温度要求、大小等),与图1中所示的那些相比,基部
120可具有更小、更大、更少、更多、不同形状或不同放置的间距。
[0033] 腿部110的大小和位置可被设定为支撑该特定物理资产。在一些实施例中,腿部110的大小和位置可被设定为允许叉车、吊车或顶起装置在腿部110之间接合并举起货物承载器100。尽管示出并描述为具有三个腿部110,但可以设想,货物承载器100可以具有任何合适数量的腿部或没有腿部。例如,在一些实施例中,货物承载器100可包括在货物承载器
100的顶部和底部两者上的基部120,没有腿部。在另一示例中,对于较重的物理资产,货物承载器100可包括相对于所述货物承载器100在中心定位的一个或多个附加腿部,以防止基部120下垂。此外,尽管示出和描述为处于特定取向并具有特定大小,但可以预期,腿部110可具有任何大小(例如,高度、长度、宽度、深度等)和/或取向(例如,彼此平行、彼此垂直等)。
[0034] 根据要由货物承载器100支撑的特定物理资产的特性,货物承载器100可以由任何合适的材料制成。例如,货物承载器100可以是木制的、塑料的和/或金属的。此外,货物承载器100可以是半个托盘或四分之一个托盘。在一些实施例中,货物承载器100可以被构造成包括独特的物理特征。在一些实施例中,基部120可以由与腿部110相同或不同的材料制成。在一些实施例中,基部120和腿部110可以形成单个整体式主体(例如,由单个模具形成)。在一些实施例中,基部120可以是可从腿部110中的一个或多个移除的。
[0035] 在一些实施例中,附加部件可与货物承载器100集成在一起。例如,货物承载器100的下侧可包括信标150。信标150可包括能够处理或存储数据的任何电子装置。信标150可包括多个不同的功能。例如,信标150可以被编程有位于货物承载器100上的物理资产的类型和/或货物承载器100的标识符。信标150可以还包括被配置为监测货物承载器100的某些状况(例如,环境状况、移动等)的一个或多个传感器或者可以与其可操作地通信。信标150可以能够与诸如其他信标、装置和/或服务器等其他装置进行通信。信标150在本文中相对于图3进行进一步描述。虽然示出为位于货物承载器100上的特定位置,但可以预期,信标150可以位于货物承载器100上的任何合适位置。图2是另一示例性货物承载器200的侧视图,其具有放置在货物承载器200顶部上以进行运输、存储、展示等的负载220。如本文所使用的,货物承载器100与货物承载器200可为可互换的。
[0036] 货物承载器100和/或200可包括用于执行多种功能的部件,如本文所述。图3为根据一些实施例的示出了货物承载器100和/或200的系统部件的框图。货物承载器100和/或200可包括与一个或多个外部传感器350可操作地通信的信标150。信标150可包括耦接到存储器340的装置硬件。装置硬件可包括处理器325、通信子系统330、内部传感器335以及电源
345。在一些实施例中,信标150可以被实现为有源标签(例如,RFID标签)。信标150可以与标识符(例如,有源标签标识符)相关联。
[0037] 该处理器325可以被实现为一个或多个集成电路(例如,一个或多个单核或多核微处理器和/或微控制器),并且可以被用于控制信标150的操作。处理器325可响应于存储在存储器340中的程序代码或计算机可读代码来执行各种程序,并且可以维护多个并行执行的程序或过程。通信子系统330可包括可以由信标150用于与其他装置(例如,外部传感器350、读取器托盘、信标、接入装置等)进行通信和/或与外部网络进行连接的一个或多个收发器和/或连接器。在一些实施例中,通信子系统330可以被配置为使用多于一个协议(例如,协议A 332和协议B 333)来进行通信。协议A 332和协议B 333可以是两个不同的有线或无线通信协议。例如,协议A 332和协议B 333可以选自包括蓝牙、蓝牙LE、近场通信、WiFi、蜂窝通信、以太网、光纤等等的组。在一些实施例中,协议A 332和协议B 333两者都可为短距离、低功率和/或低成本的通信协议。用于特定通信的特定协议可以基于多种因素中的任一者来确定,所述多种因素包括可用性、信号强度、从电源345接收或保留在电源345上的功率的类型和/或量、在特定协议上进行通信所需的功率、与使用特定协议相关联的成本、数据吞吐量、待传送的数据的类型、待传送的数据的大小,等等。
[0038] 内部传感器335可包括任何移动相关、位置相关和/或环境相关的传感器。例如,内部传感器335可包括全球定位系统(GPS)、加速计、陀螺仪、气压计、温度计、湿度传感器、光传感器、传声器、它们的组合等等。内部传感器335可以测量例如定位、位置、速度、加速度、距离、旋转、高度、温度、湿度、压力、声音、光、电容、电感、电阻、电压、化学物质的存在、它们的组合等等。内部传感器335可以耦接到通信子系统330,使得传感器测量可以从货物承载器100传输到其他装置或系统,如本文进一步描述的。
[0039] 存储器340可以使用任何数量的非易失性存储器(例如,快闪存储器)和易失性存储器(例如,DRAM、SRAM)的任何组合,或任何其他非暂时性存储介质,或它们的介质组合来实现。在一些实施例中,存储器340可以被包括在处理器325中。电源345可包括任何有线或无线电源,诸如电源插座供电、太阳能电池板和/或电池。
[0040] 信标150可以耦接到货物承载器100上的一个或多个外部传感器350。外部传感器350可包括例如重量传感器和/或上文相对于内部传感器335所描述的任何传感器。在一个示例中,重量传感器可包括电路,其测量所述货物承载器100上的负载的重量。重量传感器可以将重量传输到信标150。信标可以使用通信子系统330将该数据从货物承载器100传输到其他装置或系统,如本文进一步描述的。
[0041] 用于跟踪货物承载器的系统
[0042] 在一些情况下,可能期望在来自特定源的多个货物承载器沿具有多个节点的运输路径移动时跟踪所述货物承载器。例如,特定源可以是所述货物承载器的制造商或经销商。节点可包括至少临时存储货物承载器的设施,诸如仓库、堆场、码头、商店和回收站。根据本发明的一些实施例,可以通过照片跟踪货物承载器而无需向货物承载器附以物理标签或标记。特别地,可在不同时间以及沿运输路径的不同位置来计数第一类型的多个货物承载器。
[0043] 图4是根据一些实施例的示出了用于跟踪货物承载器的系统的框图。该系统可包括接入装置410、服务器计算机420、数据库425以及控制器计算机430。货物承载器100和接入装置410可以位于运输路径中的设施405诸如仓库或商店处。尽管在图4中仅示出了单个货物承载器100,但是应理解,该系统将多个货物承载器作为组进行分析。多个货物承载器可被布置成堆栈。服务器计算机420和数据库425可以位于云中,诸如在线或网络存储的一个或多个异地或第三方位置。控制器计算机430可位于控制器位置425处,诸如货物承载器物流和跟踪公司处。尽管相对于执行某些功能的某些数量的实体进行了示出和描述,但可以预期,更多或更少数量的实体可执行本文所述的功能。例如,服务器计算机420的功能可跨多个服务器计算机。在另一示例中,数据库425可以在内部被并入到服务器计算机420。在又一示例中,服务器计算机420的功能可部分或全部由接入装置410来执行。
[0044] 在一些实施例中,多个货物承载器内的货物承载器100中的一个可以将数据传送到接入装置410,以使得接入装置410执行一个或多个操作。例如,货物承载器100可传送指示货物承载器100在接入装置410的视觉范围内的信号(或使得该信号被传送)。该信号可例如由货物承载器100上的蓝牙或蓝牙LE标签来传送。当接入装置410接收到该信号时,接入装置410可以使用相机或其他图像捕获硬件和/或软件捕获多个货物承载器(包括货物承载器100)的图像,如本文进一步描述。在一些实施例中,货物承载器100可以不包括能够进行短程通信的标签。因此,在一些实施例中,接入装置410可以被手动导致捕获多个货物承载器的图像(例如,通过选择用户界面上的图像捕获选项)。这种情况可在任何时间或以任何间隔发生,诸如在货物承载器100进入设施405时、在货物承载器100正离开设施405时、每天一次等等。
[0045] 接入装置410可以是任何合适的电子用户装置。接入装置410可包括通信装置。通信装置可向网络提供远程通信能力。远程通信能力的示例包括使用移动电话(无线)网络、无线数据网络(例如,3G、4G或类似网络)、Wi‑Fi、Wi‑Max或可提供对网络诸如因特网或专用网络的访问的任何其他通信介质。装置的示例包括移动电话(例如,蜂窝电话)、PDA、平板电脑、上网本、膝上型电脑、个人音乐播放器、手持式专用阅读器、手表、健身手环、可穿戴装置、脚链、戒指、耳环、钥匙扣、物理钱包、眼镜、容器、咖啡杯、外卖容器等,以及具有远程通信能力的汽车。接入装置410可包括用于执行此类功能的任何合适的硬件和软件,并且还可包括多个装置或部件(例如,在装置通过拴系到另一装置而可远程接入网络时——即,使用另一装置作为调制解调器——两个装置合起来可以被认为是单个通信装置)。接入装置410的另外的示例可包括POS或销售点装置(例如,POS终端)、蜂窝电话、PDA、个人计算机(PC)、平板PC、手持式专用阅读器、机顶盒、电子现金出纳机(ECR)、虚拟现金出纳机(VCR)、信息亭等。
[0046] 该接入装置410可以安装有应用程序,该应用程序允许其向服务器计算机420上传描绘货物承载器的图像文件。服务器计算机420可包括机器学习系统诸如人工神经网络,并且可以处理该图像文件内的图像以从多个货物承载器中滤除来自不与所述特定源相关联的第三方的货物承载器;将该多个货物承载器的至少子集与来自所述特定源的第一类型的货物承载器匹配;以及确定所述图像中第一类型的多个货物承载器。服务器计算机420可以访问存储训练图像文件的数据库425,所述训练图像文件包括与在相应训练图像中描绘的已知数量的训练货物承载器相关联的相应多个训练图像。服务器计算机420可使用训练图像文件训练机器学习系统来计数在随后获取的图像中第一类型的训练货物承载器的数量。
[0047] 服务器计算机420可以生成与图像中的货物承载器相关联的数据,并且将该数据作为对应于所述相关联的图像文件的条目存储在数据库425中。例如,服务器计算机420可以生成指出描绘相同的货物承载器的图像文件被获取的时间和位置之间的差的数据。在另一示例中,服务器计算机420可以生成货物承载器的位置数据(例如,指示设施405的数据)。在一些实施例中,服务器计算机420可以将该数据从数据库425提供至控制器计算机430。控制器计算机430可以是跟踪、维护和/或拥有货物承载器的实体。控制器计算机430可以使用该数据来确定货物承载器是否在正确的设施405处,确定货物承载器在运输路径上的位置,确定货物承载器的循环时间,预测货物承载器在特定位置处的定时,确定是否所有货物承载器仍在同一批货中,等等。
[0048] 在一些实施例中,服务器计算机420的功能可完全或部分地由接入装置410执行。例如,在一些实施例中,可以通过对接入装置410执行图像处理来减小由接入装置410发送到服务器计算机420的传输的大小。然后,可具有较小的内存占用的所得数据可以被传输到服务器计算机420并通过数据库425。
[0049] 图5是根据一些实施例的示出了接入装置410的框图。接入装置410可包括耦接到存储器502的装置硬件504。装置硬件504可包括处理器505、相机508、通信子系统509和用户界面506。在一些实施例中,装置硬件504可包括显示器507(其可以是用户界面506的一部分)。
[0050] 处理器505可以被实现为一个或多个集成电路(例如,一个或多个单核或多核微处理器和/或微控制器),并且被用于控制接入装置410的操作。处理器505可响应于存储在存储器502中的程序代码或计算机可读代码来执行各种程序,并且可以维护多个并行执行的程序或过程。通信子系统509可包括可由接入装置410用于与其他装置(例如,货物承载器100)进行通信和/或与外部网络进行连接(例如,连接到服务器计算机420)的一个或多个收发器和/或连接器。用户界面506可包括输入和输出元件的任何组合,以允许用户与接入装置410交互以及调用接入装置410的功能。在一些实施例中,用户界面506可包括可用于输入和输出功能两者的部件,诸如显示器507。相机508可以实现为与软件相结合的硬件,以捕获货物承载器的视觉特征和/或图像,例如,如本文进一步描述。存储器502可以使用任何数量的非易失性存储器(例如,快闪存储器)和易失性存储器(例如,DRAM、SRAM)的任何组合,或任何其他非暂时性存储介质,或它们的介质组合来实现。存储器502可以存储操作系统(OS)
520以及应用环境510,一个或多个应用程序驻留在应用环境510中,包括将由处理器505执行的应用程序512。
[0051] 在一些实施例中,应用程序512可以是捕获、存储和/或传输货物承载器的图像以用于云环境中的视觉识别和跟踪的应用程序。应用程序512可包括货物承载器检测引擎514、图像捕获引擎515以及图像压缩引擎516。在一些实施例中,这些部件中的一个或多个可以由另一应用程序或不是应用程序512的一部分的部件来提供。
[0052] 货物承载器检测引擎514可以被配置为结合处理器505和通信子系统509接收来自靠近接入装置410的货物承载器的ping(即,简短的信号)。在一些实施例中,货物承载器可以被配置为在处于接入装置410的某个距离(例如,10英尺)内时向通信子系统509发送ping。在一些实施例中,货物承载器可以被配置为在处于所述接入装置410的任何通信范围(例如,50英尺)内时向通信子系统509发送ping,并且货物承载器检测引擎514可基于ping监测接入装置410与货物承载器之间的距离。在一些实施例中,当由货物承载器检测引擎514检测到货物承载器时,该货物承载器检测引擎514可向图像捕获引擎515传输图像捕获信号。在一些实施例中,当由货物承载器检测引擎514检测到货物承载器在距接入装置410的特定距离处和/或处于相对于所述接入装置410的特定取向时(其可以根据由货物承载器上的传感器诸如加速计、陀螺仪等所收集的数据来推断),货物承载器检测引擎514可向图像捕获引擎515传输图像捕获信号。
[0053] 图像捕获引擎515可以被配置为结合处理器505基于检测到所述货物承载器而接收来自货物承载器检测引擎514的图像捕获信号。响应于接收到该图像捕获信号,图像捕获引擎515可以捕获货物承载器以及可被一起布置在堆栈中的其他货物承载器的图像。货物承载器可包括被编程为在该货物承载器处于接入装置410的六英尺内时发送ping(自发地或响应于来自接入装置410的ping)的蓝牙LE标签。因此,当货物承载器在接入装置410的正下方时,货物承载器可(例如,经由货物承载器检测引擎514)向接入装置410传输ping。货物承载器检测引擎514可向图像捕获引擎515传输图像捕获信号。然后,随着货物承载器沿运输路径移动,图像捕获引擎515可以使相机508捕获该货物承载器的图像。
[0054] 虽然被描述为使用货物承载器检测引擎514和图像捕获引擎515的自动化过程,但可以预期,在一些实施例中,可以省略货物承载器检测引擎514。在这些实施例中,图像捕获引擎515可包括允许用户手动发起使用相机508的图像捕获的软件。例如,用户可以使多个货物承载器接近接入装置410,并选择用户界面506上激活图像捕获引擎515并使用相机508捕获货物承载器的图像的选项。
[0055] 在一些实施例中,应用程序512还可包括图像压缩引擎516。图像压缩引擎516可以被配置为结合处理器505将由相机508捕获的图像压缩成较低的数据大小和/或分辨率。在一些实施例中,由相机508捕获的图像可以具有非常高的分辨率。然而,要分析捕获在图像中的货物承载器的视觉特征可能不需要这么高的分辨率。因此,图像压缩引擎516可以将图像压缩成仍适于进行分析的较低的分辨率(即,其中货物承载器的视觉特征仍然可被识别并且货物承载器的数量可被计数的最小分辨率)。这种压缩也可以减少图像离开接入装置410的传输时间。在一个实施例中,压缩可为无损压缩。可能的压缩模式包括JPLL(JPEG无损)、JLSL(JPEG‑LS无损)、J2KR(JPEG 2000无损)和JPLY(JPEG有损)。
[0056] 图6A是根据一些实施例的示出了服务器计算机420的框图。服务器计算机420可包括耦接到网络接口602和计算机可读介质606的处理器601。服务器计算机420还可包括或以其他方式访问可在服务器计算机420内部或外部的数据库603。
[0057] 处理器601可包括一个或多个微处理器以执行用于执行服务器计算机420的货物承载器跟踪功能的程序部件。例如,处理器601可包括图形处理单元(GPU)。网络接口602可以被配置为连接到一个或多个通信网络,以允许所述服务器计算机420与其他实体诸如接入装置、控制器计算机等进行通信。计算机可读介质606可包括一个或多个易失性和/或非易失性存储器(例如,RAM、DRAM、SRAM、ROM、闪存或任何其他合适的存储器部件)的任何组合。计算机可读介质606可存储可由处理器601执行以实现服务器计算机420的一些或全部图像分析功能的代码。例如,计算机可读介质606可包括实现视角校正引擎607、缩放和旋转引擎608、过滤引擎609、匹配引擎610、训练引擎611、计数引擎612和数据生成引擎613的代码。尽管未示出,但计算机可读介质606还可包括实现各种其他计算机视觉算法(诸如翘曲、过滤、边缘检测、单应性和特征匹配)的代码。
[0058] 视角校正引擎607可以被配置为结合处理器601接收来自接入装置的图像文件中的货物承载器的图像。视角校正引擎607可被配置为校正用于获取图像文件的成像装置的视角。例如,计算机视觉技术可被用来校正图像中的歪斜。这可能会导致该图像包括货物承载器的三个侧面,如前侧面、顶侧面和横向侧面,并且所述侧面可能未失真。视角校正可以使用相同的货物承载器的由成像装置在同一时间从不同视角获取的多个图像。
[0059] 缩放和旋转引擎608可以被配置为结合处理器601接收来自接入装置的图像文件中的货物承载器的图像。缩放和旋转引擎608可以被配置为缩放、旋转、裁剪和/或对齐货物承载器的图像,以满足特定标准或规范。例如,缩放和旋转引擎608可以将货物承载器的图像的大小调整为特定标准大小,诸如1000像素×1000像素。在另一示例中,缩放和旋转引擎608可被配置为裁剪货物承载器的图像,使得仅示出货物承载器(即,消除背景图像)。在另一示例中,缩放和旋转引擎608可以被配置为对齐货物承载器的图像,使得所述货物承载器堆栈的边缘被看成为水平和垂直取向。在另一示例中,缩放和旋转引擎608可以被配置为顺时针和/或逆时针旋转货物承载器的图像,以使货物承载器堆栈的哪个侧面被看作“顶部”和“底部”发生改变,即,90度、180度或270度的旋转。该图像可以被旋转成用于进行分析的标准取向,例如具有徽标、箭头或正面朝上的其他标记。在一些实施例中,可能没有必要缩放、旋转、裁剪和/或对齐图像以进行分析。在这样的实施例中,可以预期,缩放和旋转引擎
608可以被省略。
[0060] 过滤引擎609可以被配置为结合处理器601和网络接口602接收图像文件中的货物承载器的图像。过滤引擎609可以被配置为分析所述图像以滤除来自不与货物承载器的特定源相关联的第三方的货物承载器。过滤可以基于任何唯一特性或在一起针对特定源唯一的特性的组合的视觉特征。这样的视觉特征可包括大小、颜色、形状、尺寸、文本、图形、纹理、水平、凹陷、钉位置图案、油漆、板取向、它们的组合等等。例如,可以使用货物承载器的两个边缘的纵横比来识别货物承载器的源。对于部分或完全由木材形成的货物承载器,视觉特征可包括木纹标记和图案诸如木材细胞的方向(例如,直纹、螺旋纹理、交错纹理等)、表面外观、生长环放置、切口(径切、弦切、端纹等)的平面、生长速度、相对细胞大小等。可以预期,可识别任何数量的视觉特征。通常,如果识别出更多的视觉特征,则可能会导致更准确地筛选出另一来源的货物承载器的概率更高。过滤引擎609可被配置为指示图像和/或图像文件中的一个或多个视觉特征。例如,过滤引擎609可以被配置为指示图像中的视觉特征(例如,通过概述所识别的视觉特征中的每一个、通过添加指向每个视觉特征的箭头等)。在另一示例中,特征识别引擎609可以被配置为指示与所述图像文件分开或与其组合的文件中的视觉特征(例如,通过列出所识别的视觉特征所位于的像素坐标和/或区域)。可以设想,过滤引擎609可以使用计算机视觉分析和/或人工神经网络(诸如深度神经网络)来实现。
[0061] 匹配引擎610可以被配置为结合所述处理器601接收来自过滤引擎609的经过滤的图像。匹配引擎610可以被配置为分析所述图像以将剩余货物承载器的至少子集与来自特定源的第一类型的货物承载器匹配。类似于过滤,匹配可以基于任何唯一特性或在一起针对第一类型的货物承载器唯一的特性的组合的视觉特征。这样的视觉特征可包括大小、颜色、形状、尺寸、文本、图形、纹理、水平、凹陷、钉位置图案、油漆、板取向、它们的组合等等。对于部分或完全由木材形成的货物承载器,视觉特征可包括木纹标记和图案诸如木材细胞的方向(例如,直纹、螺旋纹理、交错纹理等)、表面外观、生长环放置、切口(径切、弦切、端纹等)的平面、生长速度、相对细胞大小等。可以预期,可识别任何数量的视觉特征。通常,如果识别出更多的视觉特征,则可能会导致更准确地匹配货物承载器的概率更高。匹配引擎610可被配置为指示图像和/或图像文件中的一个或多个视觉特征。例如,匹配引擎610可以被配置为指示图像中的视觉特征(例如,通过概述所识别的视觉特征中的每一个、通过添加指向每个视觉特征的箭头等)。在另一示例中,匹配引擎610可以被配置为指示与所述图像文件分开或与其组合的文件中的视觉特征(例如,通过列出所识别的视觉特征所位于的像素坐标和/或区域)。可以设想,匹配引擎610可以使用计算机视觉分析和/或人工神经网络(诸如深度神经网络)来实现。
[0062] 训练引擎611可以被配置为结合处理器601访问数据库603以检索训练图像文件,所述训练图像文件包括与在相应训练图像中描绘的已知数量的训练货物承载器相关联的相应多个训练图像。训练引擎611可使用训练图像文件训练机器学习系统(诸如人工神经网络)计数在随后获取的图像中来自特定源的货物承载器的数量。训练图像文件可包括二维和/或三维图像。
[0063] 例如,图6B是根据一些实施例的示出了用于训练人工神经网络的方法的流程图。多个图像训练文件630由可位于云中的合适装置(诸如计算机或服务器)接收。多个图像训练文件630中的每一个可包括描绘相应多个货物承载器635的相应训练图像。相应多个货物承载器635可被布置成堆栈。相应多个货物承载器635中的至少一个货物承载器可在相应训练图像内被遮挡。例如,在训练图像内,货物承载器可由其他货物承载器或由另一个对象遮挡。在一些实施例中,每个货物承载器可以不包括显示或存储货物承载器标识符的物理标签。换句话说,货物承载器可以不具有提供其身份的直接视觉或电子装置。
[0064] 可能已经由位于运输路径上容纳多个货物承载器635的设施处的成像装置生成了多个训练图像文件630。例如,成像装置可以是由特定源或第三方拥有的仓库或堆场中的安全相机。在一些实施例中,成像装置可并入在移动装置(例如,智能电话)中,并且可以在仓库或堆场或沿运输路径的任何其他点处使用。成像装置还可以是交通相机,诸如安装在沿着运输路径的交通灯上的交通相机。此外,成像装置还可以是在运输路径的上方飞行,或沿任何合适的表面(诸如地面、墙壁或从天花板悬吊的高架轨道)移动的无人机。例如,多个无人机可以从车辆发射以便对货物承载器可在地理区域(诸如城市)内积聚的主要位置进行成像。此外,成像装置可以是人类操作车辆或自主车辆中的行车记录仪。成像装置的其他示例可包括激光扫描仪、声纳、激光雷达和立体成像仪。一些成像装置可用于穿过诸如墙壁或天花板等屏障而获取图像,诸如射频成像仪,并且所述图像可以通过任何合适的方法诸如经由WiFi网络进行传输。在一些实施例中,可校正多个训练图像文件630的视角,和/或多个训练图像文件630可被旋转、裁剪、对齐和/或缩放。可能已经由单个成像装置或不同位置处的多个成像装置生成了多个训练图像文件630。
[0065] 在过程框640处,针对所述多个训练图像文件630中的每一个,机器学习系统诸如人工神经网络可用于确定相应训练图像中来自特定源的相应多个货物承载器635的估计数量。可使用各个方面来估计相应多个货物承载器635的数量,诸如相应训练图像文件被获取的位置、相应训练图像文件被获取的日期和/或时间、在相应训练图像文件中可见的拐角的数量、成像装置与多个货物承载器635中的至少一个之间的角度、成像装置与多个货物承载器635中的至少一个之间的距离、多个货物承载器635中的至少一个的高度、多个货物承载器635中的至少一个的深度、组装多个货物承载器635的设施和/或人员、多个货物承载器635的堆栈的结构,等等。
[0066] 在过程框645处,针对所述多个训练图像文件630中的每一个,可将相应训练图像中的相应多个货物承载器635的估计数量与相应训练图像中的相应多个货物承载器635的已知数量进行比较。可以从各种源获得相应多个货物承载器635的已知数量,所述各种源诸如对相应多个货物承载器635的手动计数、对堆栈中的货物承载器的数量的预定计数、对被分组在一起的相应多个货物承载器635的数量的计数、从所述相应多个货物承载器635中的每一个上的发射器接收的信号,等等。
[0067] 在过程框650处,可以使用相应训练图像中相应多个货物承载器635的估计数量与相应多个货物承载器635的已知数量的比较以通过调整与人工神经网络内的人工神经元相TM关联的权重来训练人工神经网络。可使用任何合适的人工神经网络,诸如TensorFlow 。权重可以被设定为任何合适的初始值。例如,可以调整权重以减小或最小化所述人工神经网络的损失函数。可用于调整权重的一些方法包括梯度下降法、牛顿法、共轭梯度法、拟牛顿法以及莱文贝格‑马夸特方法。
[0068] 返回到图6A,计数引擎612可以被配置为结合所述处理器601接收来自过滤引擎609和/或匹配引擎610的经过滤和/或匹配的图像。计数引擎612可以被配置为使用经训练的人工神经网络计数图像中货物承载器的数量。例如,计数引擎612可以识别表示货物承载器的侧面的矩形框。此外,计数引擎612可估计图像中货物承载器的深度,并且可以使用前货物承载器和多个货物承载器的深度来确定图像中货物承载器的数量。可对已由视角校正引擎607校正了视角的图像进行分析,以便促进对矩形框的识别,并提供对深度的更准确的估计。计数引擎612可以识别二维图像中货物承载器的拐角,并识别与该拐角相邻的属于同一货物承载器的两个侧面。替代地或另外,计数引擎612可以利用上文相对于估计图像中货物承载器的数量所讨论的任何方面。
[0069] 数据生成引擎613可以被配置为一旦货物承载器已被计数便结合所述处理器601生成与货物承载器相关联的数据。该数据可包括,例如,位置数据(即,当每个图像被捕获时货物承载器所在的位置,例如在特定托运方、承运方、制造商和/或设施处)、货物承载器当前是否在运输路径上、货物承载器沿运输路径移动的循环时间、货物承载器上视觉特征的改变、货物承载器上新的视觉特征、货物承载器的损坏、是否有任何货物承载器从这批货丢失、它们的组合,等等。数据生成引擎613可以被配置为将数据作为对应于货物承载器的条目存储在数据库603中。
[0070] 用于跟踪货物承载器的方法
[0071] 多种方法可以通过上述系统实现。图7是根据一些实施例的示出了用于货物承载器跟踪的示例性方法的流程图。各种方法通过计数图像中属于特定源的货物承载器的数量来跟踪货物承载器,所述图像沿具有多个节点的运输路径获取。节点可包括存储货物承载器的地点,诸如仓库、堆场、码头和回收设施。在人工神经网络经训练之后,第一图像文件705由可位于云中的合适装置诸如计算机或服务器接收。第一图像文件705可包括描绘第一多个货物承载器706的第一图像。第一多个货物承载器706可被布置成堆栈。所述第一多个货物承载器706中的至少一个货物承载器可在所述第一图像内被遮挡。例如,在第一图像内,货物承载器可由其他货物承载器或由另一个对象遮挡。在一些实施例中,每个货物承载器可以不包括显示或存储货物承载器标识符的物理标签。换句话说,货物承载器可以不具有提供其身份的直接视觉或电子装置。
[0072] 可能已经由位于运输路径上容纳第一多个货物承载器706的设施处的成像装置生成了第一图像文件705。例如,成像装置可以是由特定源或第三方拥有的仓库或堆场中的安全相机。在一些实施例中,成像装置可并入移动装置(例如,智能电话)中,并且可以在仓库或堆场或沿运输路径的任何其他点处使用。成像装置还可以是交通相机,诸如安装在沿着运输路径的交通灯上的交通相机。此外,成像装置还可以是在运输路径的上方飞行,或沿任何合适的表面(诸如地面、墙壁或从天花板悬吊的高架轨道)移动的无人机。例如,多个无人机可以从车辆发射以便对货物承载器可在地理区域(诸如城市)内积聚的主要位置进行成像。此外,成像装置可以是人类操作车辆或自主车辆中的行车记录仪。成像装置的其他示例可包括激光扫描仪、声纳、激光雷达和立体成像仪。一些成像装置可用于穿过诸如墙壁或天花板等屏障而获取图像,诸如射频成像仪,并且所述图像可以通过任何合适的方法诸如经由WiFi网络进行传输。在一些实施例中,可对所述第一图像文件705进行视角校正,和/或所述第一图像文件705可被旋转、裁剪、对齐和/或缩放。
[0073] 在过程框710处,可从第一图像滤除来自不与该特定源相关联的第三方的货物承载器,使得来自第三方的货物承载器不包括在货物承载器的数量的计数内。该过滤可以通过机器学习系统诸如人工神经网络来执行。来自第三方的货物承载器可以基于各种识别特征(诸如货物承载器的大小、形状和/或颜色)被识别。来自第三方的货物承载器也可以通过标记(诸如货物承载器上的字母、数字和/或符号)来识别。在过程框715处,机器学习系统可将剩余货物承载器的至少子集与来自特定源的第一类型的货物承载器匹配。该匹配可以通过机器学习系统诸如人工神经网络来执行。例如,第一类型的货物承载器可以是木制托盘、塑料托盘、显示托盘、汽车托盘或航空托盘。第一类型的货物承载器可以基于各种识别特征(诸如货物承载器的大小、形状和/或颜色)被识别。第一类型的货物承载器也可以通过标记(诸如货物承载器上的字母、数字和/或符号)来识别。
[0074] 在过程框720处,可确定第一图像中第一类型的货物承载器的第一数量。该确定可以由机器学习系统来进行。例如,可以通过输入包括相应多个训练图像的多个训练图像文件以及在每个训练图像中描绘的第一类型的货物承载器的已知数量来训练该机器学习系统。在该训练之后,机器学习系统可以计数第一图像文件705中第一类型的货物承载器的数量。
[0075] 上述方法可用于跟踪来自特定源的货物承载器的位置。例如,通过在过程框720处对第一图像中第一类型的货物承载器的数量进行计数,可确定特定组或批的第一类型的货物承载器在第一图像文件705被获取的时间呈现在第一图像文件705被获取的位置处。为了该目的,所述第一图像文件705可包括指示所述第一图像被获取的第一时间和第一位置的第一数据。还可以确定首批货中的所有货物承载器是否还在一起,或者是否部分货物承载器已经从初始的该批货中分离。
[0076] 上述方法可重复任意次,以随着特定组或批货物承载器沿着运输路径移动而对其进行跟踪。图8是根据一些实施例的示出了用于货物承载器跟踪的另一示例性方法的流程图。关于图8所述的方法可类似于关于图7所述的方法。第二图像文件805由可位于云中的合适的装置诸如计算机或服务器接收。第二图像文件805可包括描绘第二多个货物承载器806的第二图像。第二多个货物承载器806可被布置成堆栈。所述第二多个货物承载器806中的至少一个货物承载器可在所述第二图像内被遮挡。例如,在第二图像内,货物承载器可由其他货物承载器或由另一个对象遮挡。在一些实施例中,每个货物承载器可以不包括显示或存储货物承载器标识符的物理标签。换句话说,货物承载器可以不具有提供其身份的直接视觉或电子装置。
[0077] 可能已经由位于运输路径上容纳第二多个货物承载器806的设施处的成像装置生成了第二图像文件805。例如,成像装置可以是由特定源或第三方拥有的仓库或堆场中的安全相机。在一些实施例中,成像装置可并入移动装置(例如,智能电话)中,并且可以在仓库或堆场或沿运输路径的任何其他点处使用。成像装置还可以是交通相机,诸如安装在沿着运输路径的交通灯上的交通相机。此外,成像装置还可以是在运输路径的上方飞行,或沿任何合适的表面(诸如地面、墙壁或从天花板悬吊的高架轨道)移动的无人机。例如,多个无人机可以从车辆发射以便对货物承载器可在地理区域(诸如城市)内积聚的主要位置进行成像。此外,成像装置可以是人类操作车辆或自主车辆中的行车记录仪。成像装置的其他示例可包括激光扫描仪、声纳、激光雷达和立体成像仪。一些成像装置可用于穿过诸如墙壁或天花板等屏障而获取图像,诸如射频成像仪,并且所述图像可以通过任何合适的方法(诸如经由WiFi网络)进行传输。在一些实施例中,可校正第二图像文件805的视角,和/或所述第二图像文件805可被旋转、裁剪、对齐和/或缩放。
[0078] 在过程框810处,可从第二图像滤除来自不与该特定源相关联的第三方的货物承载器,使得来自第三方的货物承载器不包括在货物承载器的数量的计数内。该过滤可以通过机器学习系统(诸如人工神经网络)来执行。来自第三方的货物承载器可以基于各种识别特征(诸如货物承载器的大小、形状和/或颜色)被识别。来自第三方的货物承载器也可以通过标记(诸如货物承载器上的字母、数字和/或符号)来识别。在过程框815处,机器学习系统可将剩余货物承载器的至少子集与来自特定源的第一类型的货物承载器匹配。该匹配可以由机器学习系统来执行。例如,第一类型的货物承载器可以是木制托盘、塑料托盘、显示托盘、汽车托盘或航空托盘。第一类型的货物承载器可以基于各种识别特征(诸如货物承载器的大小、形状和/或颜色)被识别。第一类型的货物承载器也可以通过标记(诸如货物承载器上的字母、数字和/或符号)来识别。
[0079] 在过程框820处,可确定第二图像中第一类型的货物承载器的第二数量。该确定可以由机器学习系统来进行。例如,可以通过输入包括相应多个训练图像的多个训练图像文件以及在每个训练图像中描绘的第一类型的货物承载器的已知数量来训练该机器学习系统。在该训练之后,机器学习系统可以计数第二图像文件805中第一类型的货物承载器的数量。
[0080] 上述方法可用于跟踪来自特定源的货物承载器的位置。例如,通过在过程框820处对第二图像中第一类型的货物承载器的数量进行计数,可确定特定组或批的第一类型的货物承载器在第二图像文件805被获取的时间呈现在第二图像文件805被获取的位置处。为了该目的,所述第二图像文件805可包括指示所述第二图像被获取的第二时间和第二位置的第二数据。还可以确定首批货中的所有货物承载器是否还在一起,或者是否部分货物承载器已经从初始的该批货中分离。
[0081] 图9是根据一些实施例的示出了用于货物承载器跟踪的另一示例性方法的流程图。如图9所示,第一图像文件705和第二图像文件805的分析结果可以结合用于在货物承载器沿着运输路径移动时对其进行跟踪。在处理框910处,可确定第一图像中第一类型的货物承载器的第一数量是否等于第二图像中第一类型的货物承载器的第二数量。如果该确定的结果是肯定的,则可在处理框915处确定所述第一图像被获取的第一时间和第二图像被捕获的第二时间之间的时间差。类似地,可在处理框920处确定所述第一图像被获取的第一位置和第二图像被捕获的第二位置之间的空间差。此外,可以在处理框925处通过使用机器学习网络识别所述第一图像和所述第二图像两者内的另一对象来验证所述第一图像中所述第一类型的货物承载器与所述第二图像中所述第一类型的货物承载器相同。该对象被假定为随着货物承载器沿运输路径行进。
[0082] 在其他实施例中,上述方法可以结合被布置在货物承载器100上的信标150使用。例如,信标150可以提供关于货物承载器100的身份的信息,其可以确认货物承载器100匹配第一类型的货物承载器。此外,信标150可以指示货物承载器100的当前位置。
[0083] 上述方法也可用于评估关于预期出现在在特定时间和/或位置获取的图像中的特定类型的货物承载器的数量的推论和/或预测。例如,如果商店关闭了若干天,则预计不会在商店处获取的图像中看到货物承载器。另一方面,如果十五个货物承载器的一批货计划在特定的一天到达仓库,或者如果仓库总是在上午接收十五个货物承载器的一批货,则预计会在仓库处获取的图像中看到十五个货物承载器。上述方法可以用于确定对通过运输路径的货物承载器流的这种预测是否准确。
[0084] 此外,机器学习技术可以用于建立关于货物承载器预计在运输路径内积聚的位置的模型。例如,可分析历史数据以预测在特定日期四个货物承载器预计将在运输路径内的第一节点处积聚。这种预测可允许供应商将足够大以容纳该四个货物承载器的车辆发到第一节点。此外,即使成像装置在运输路径内的第二节点处记录到四个货物承载器的图像,也可使用机器学习技术来推断在第二节点处实际上有十六个货物承载器。这可允许供应商将足够大以容纳该十六个货物承载器的车辆发到第二节点。
[0085] 此外,货物承载器如何流经运输路径的知识可以用来解决图像中的模糊之处。例如,如果已知或预测到二十个货物承载器的堆栈将出现在装卸码头上,则该信息可以帮助机器学习系统确定在装卸码头的图像中有多少个货物承载器堆成堆栈,即使有些货物承载器在图像内被其他货物承载器或其他对象遮挡。可以从位于货物承载器上的信标150获得关于货物承载器的位置的信息。
[0086] 此外,各种图像处理技术可以结合上述方法使用。例如,货物承载器的特定堆栈可以从包括多个货物承载器堆栈的图像中分离出来。这可以通过任何合适的方法来实现,诸如对图像应用前景/背景分割。此外,包括货物承载器的图像可以与位置数据组合以生成货物承载器堆栈的三维图像或模型,以用于计数该堆栈中货物承载器的数量。而且,三维成像装置可用于在识别和/或计数堆栈内的货物承载器时并入有深度信息。
[0087] 此外,三维信息可以从一系列二维图像(诸如由无人机获取的图像)推算得到。各种机器学习技术,诸如深度学习算法或扩散法,可以用于填充二维图像之间的间隙。替代地,三维信息可以通过激光雷达或立体成像获得。该三维信息以及关于来自特定源的货物承载器的物理特性的知识可以被用作输入来训练机器学习算法分析二维图像。具有已知物理特性的对象,诸如来自特定源的货物承载器,可以用于校正图像的视角和/或估计货物承载器堆栈的深度水平,即使一些货物承载器在图像中被其他对象遮挡。
[0088] 各种优点可以通过实现本发明的公开的实施例而观察到。例如,本发明的实施例可以用低成本的硬件资源来实现捕获图像和低成本或免费的软件资源来处理图像。在另一示例中,本发明的实施例可能是有效的,因为它们不要求修改现有货物承载器制造过程或对货物承载器结构的物理操纵。在又一示例中,本发明的实施例可以是稳健的,因为它们可以在可导致货物承载器上的物理标签丢失的情况下跟踪货物承载器。在又一示例中,本发明的实施例可以使用移动电话相机来在任何设置中实现货物承载器计数和跟踪。
[0089] 如前所述,计算机可读介质可包括瞬态介质诸如无线广播或有线网络传输,或存储介质(即,非暂时性存储介质)诸如硬盘、快闪驱动器、光盘、数字视频光盘、蓝光光盘或其他计算机可读介质。在各种示例中,该计算机可读介质可以被理解为包括各种形式的一个或多个计算机可读介质。
[0090] 在前面的描述中,虽然本申请的方面参考其具体实施例进行描述,但本领域技术人员将认识到,本发明并不限于此。因此,虽然本申请的说明性实施例已在本文中详细地进行了描述,但是应理解,本发明构思可以以其他方式不同地实施和采用,并且所附权利要求意在被解释为包括这样的变型,除非受到现有技术的限制。上述发明的各种特征和方面可以单独或联合使用。此外,在不脱离本说明书的更广泛的精神和范围的前提下,实施例可在超出本文所述的任何数量的环境和应用中被使用。因此,本说明书和附图应被视为说明性而非限制性的。为了说明的目的,方法以特定顺序描述。应理解,在替代实施例中,方法可以以不同于所述的顺序进行。
[0091] 其中部件被描述为执行或被“配置为”执行某些操作,这样的配置可例如通过设计用于执行操作的电子电路或其他硬件、通过编程用于执行操作的可编程电子电路(例如,微处理器,或其他合适的电子电路)或它们的任何组合来实现。
[0092] 结合本文所公开的实施例描述的各种说明性逻辑块、模块、电路和算法步骤可被实现为电子硬件、计算机软件、固件或它们的组合。为了清楚地说明硬件和软件的这种可互换性,各种说明性部件、块、模块、电路和步骤已经按照其功能性在上面进行了一般描述。此类功能性是实施为硬件还是软件取决于施加于整个系统的特定应用和设计制约。对于每一特定应用,本领域的技术人员可用不同的方式实现所述功能性,但此类实现决策不应被解释为导致偏离本发明的范围。
[0093] 本文所描述的技术还可实现在电子硬件、计算机软件、固件或其任意组合中。这样的技术可以在各种装置中的任一者中实现,诸如通用计算机、无线通信装置手持设备,或具有多种用途(包括在无线通信装置手持设备和其他装置中的应用)的集成电路器件。描述为模块或部件的任何特征可在集成逻辑装置中一起实现或单独实现为离散但可互操作的逻辑装置。如果在软件中实现,则该技术可至少部分地由包括程序代码的计算机可读数据存储介质来实现,该程序代码包括在被执行时执行上述方法中的一个或多个的指令。该计算机可读数据存储介质可形成计算机程序产品的一部分,其可包括封装材料。该计算机可读介质可包括存储器或数据存储介质,诸如随机存取存储器(RAM)诸如同步动态随机存取存储器(SDRAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储介质,等等。另外或替代地,所述技术可至少部分地由计算机可读通信介质实现,该计算机可读通信介质承载或传送指令或数据结构形式的程序代码并可由计算机访问、读取和/或执行,诸如传播的信号或波。
[0094] 程序代码可以由处理器执行,处理器可包括一个或多个处理器,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)、或其他等效集成或离散逻辑电路。这样的处理器可以被配置为执行本公开中所描述的任何技术。通用处理器可以是微处理器;但是在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可实现为计算装置的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器连同DSP核心或任何其他此类配置。因此,本文所用术语“处理器”可指任何前述结构、前述结构的任何组合或适于执行本文所述技术的任何其他结构或设备。另外,在一些方面中,本文所述的功能可以提供在被配置用于编码和解码的专用软件模块或硬件模块内,或并入在组合的编码器解码器(CODEC)中。