CN113379827A - 用于数据捕获***的运输工具分割 - Google Patents

用于数据捕获***的运输工具分割 Download PDF

Info

Publication number
CN113379827A
CN113379827A CN202110214455.3A CN202110214455A CN113379827A CN 113379827 A CN113379827 A CN 113379827A CN 202110214455 A CN202110214455 A CN 202110214455A CN 113379827 A CN113379827 A CN 113379827A
Authority
CN
China
Prior art keywords
bounding box
point cloud
server
point
generating
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
Application number
CN202110214455.3A
Other languages
English (en)
Inventor
S·耶拉维克
B·S·阿尔沙德
C·B·斯沃普
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zebra Technologies Corp
Original Assignee
Zebra Technologies Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zebra Technologies Corp filed Critical Zebra Technologies Corp
Publication of CN113379827A publication Critical patent/CN113379827A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/149Segmentation; Edge detection involving deformable models, e.g. active contour models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Processing (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Traffic Control Systems (AREA)
  • Processing Of Solid Wastes (AREA)

Abstract

本申请公开了用于数据捕获***的运输工具分割。一种服务器,包括:存储器,该存储器存储校准数据;以及处理器,该处理器与该存储器连接,该处理器被配置为:获取描绘了包含运输工具的捕获体积的点云,该运输工具具有主体和承载要进行尺寸标注的对象的保持架;获取与该运输工具相关联的一组位置;基于该组位置和该校准数据,选择该点云中除了该运输工具的该主体和该保持架的桅杆以外的第一部分;基于该校准数据,从该第一部分中选择除了该保持架的基座以外的第二部分;以及基于该点云的该第二部分对该对象进行尺寸标注。

Description

用于数据捕获***的运输工具分割
背景技术
诸如包裹之类的对象的运输和储存可能需要了解包裹的尺寸。此类信息可用于优化集装箱(例如,拖车)中可用空间的使用,以确定包裹的装运或储存成本等。然而,可能事先不知道包裹尺寸,因此工人可能需要通过手动测量包裹来获取包裹尺寸。进行手动测量既耗时又容易出错。用于自动测量包裹尺寸的***也可能会降低精度,例如,在测量运动中的包裹、具有深色(例如,黑色)表面的包裹等时。
附图说明
附图(其中类同的附图标记在全部单独的视图中表示相同的或功能类似的要素)连同下面的具体实施方式被并入于此并形成说明书的一部分,并用来进一步阐述包括所要求保护的发明的构思的实施例,以及解释那些实施例的各种原理和优势。
图1是示例数据捕获***的框图。
图2是示出了图1的***的附加组件的框图。
图3是示出了图1的数据捕获***的示例实现方式的图。
图4是用于对象尺寸标注的数据捕获方法的流程图。
图5是示出了由图1的***生成的示例点云的图。
图6是示出了在图4的方法的框420处切割平面的生成的图。
图7是示出了图4的方法的框420的示例执行的图。
图8是示出了图4的方法的框425的示例执行的图。
图9是示出了图4的方法的框425的另一个示例执行的图。
图10-图11是示出了图4的方法的框440的示例执行的图。
图12是示出了在图4的方法的框450的示例执行中所采用的点密度梯度的图。
本领域技术人员将理解附图中的要素出于简化和清楚而示出,并且不一定按比例绘制。例如,附图中的要素中的一些要素的尺寸可以相对于其他要素被放大以帮助提升对本发明的实施例的理解。
已在附图中通过常规符号在合适位置对装置和方法构成进行了表示,所述表示仅示出与理解本发明的实施例有关的那些特定细节,以免因得益于本文的描述对本领域技术人员显而易见的细节而混淆本公开。
具体实施方式
本文公开的示例涉及一种服务器,包括:存储器,该存储器存储校准数据;以及处理器,该处理器与该存储器连接,该处理器被配置为:获取描绘了包含运输工具的捕获体积的点云,该运输工具具有主体和承载要进行尺寸标注的对象的保持架;获取与该运输工具相关联的一组位置;基于该组位置和该校准数据,选择该点云中除了该运输工具的该主体和该保持架的桅杆的以外的第一部分;基于该校准数据,从该第一部分的点云中选择除了该保持架的基座以外的第二部分;以及基于该点云的该第二部分对该对象进行尺寸标注。
本文公开的附加示例涉及一种方法,包括:存储校准数据;获取描绘了包含运输工具的捕获体积的点云,该运输工具具有主体和承载要进行尺寸标注的对象的保持架;获取与该运输工具相关联的一组位置;基于该组位置和该校准数据,选择该点云中除了该运输工具的该主体和该保持架的桅杆以外的第一部分;基于该校准数据,从该第一部分的点云中选择除了该保持架的基座以外的第二部分;以及基于该点云的该第二部分对该对象进行尺寸标注。
图1描绘了用于对象尺寸标注的数据捕获***100。该数据捕获***100被配置为捕获描绘了捕获体积内的对象的图像数据。可以处理该图像数据(例如,基本上同时捕获的一组二维图像)以生成表示要进行尺寸标注的对象的点云。然后可以基于该点云来确定对象的尺寸。
特别地,***100包括多个捕获节点104。在所示的示例中,示出了四个捕获节点104-1、104-2、104-3和104-4。在其他示例中,可以提供更多或更少数量的捕获节点104。如下文将更详细地讨论的,每一个捕获节点104包括可控制以捕获上文提及的捕获体积的相应图像的一组相机。更具体地,每一个捕获节点104的相机捕获捕获体积的给定区域的图像。因此,捕获节点104的覆盖区域基本上涵盖整个捕获体积。根据由给定节点104的相机所捕获的图像,与该节点104相关联的计算设备生成点云(例如,经由摄影测量(photogrammetry)应用或其他合适的点云生成机制的执行)。
因此,在所示出的示例中,捕获节点104产生四个点云,每一个点云描绘包含对象的捕获体积的相应区域。这些区域,以及因此在捕获节点104处生成的点云通常在其边界处重叠。
***100还包括数据捕获服务器108,也被简称为服务器108。服务器108连接到捕获节点104中的每一个的计算设备,并从捕获节点104接收上文提及的点云。服务器108被配置为组合来自捕获节点104的点云,以产生描绘了捕获体积的至少一部分的单个点云。如下文将更详细地讨论的,服务器108进一步被配置以选择组合点云中包含对象并且排除其他结构(诸如承载对象的叉车或其他运输工具等)的一部分。一旦选择了点云中表示对象的该部分,服务器108就可以确定对象的尺寸。
在各个捕获节点104处为捕获体积的区域生成点云,并且在服务器108处组合特定于节点的点云,使得对计算有需求的点云生成任务能够并行化。此类并行化可使得***100能够基于来自所有相机的完整图像集来生成完整的点云并且比在单个设备上执行点云生成的***更快地确定捕获体积中的对象的尺寸。
图1还示出了服务器108的某些内部组件。服务器108包括与非瞬态计算机可读存储介质(诸如存储器116)互连的中央处理单元(CPU),该中央处理单元(CPU)也被称为处理器112。存储器116包括易失性存储器(例如,随机存取存储器(RAM))和非易失性存储器(例如,只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存)的任何合适的组合。处理器112和存储器116各自包括一个或多个集成电路(IC)。
服务器108还包括通信接口120,使得服务器108能够,例如经由网络124,与其他计算设备交换数据。因此,通信接口120包括允许服务器108通过网络124进行通信的任何合适的硬件(例如,发射器、接收器、网络接口控制器等)。
服务器108还可以进一步包括输入/输出组件128,该输入/输出组件128可以包括输入设备(例如,键盘、鼠标、麦克风等)和输出设备(例如,显示器、扬声器等)的合适的组合。服务器108的组件通过通信总线(未示出)互连,并且由电池或其他电源通过上文提及的通信总线或通过不同的功率总线(未示出)供电。
服务器108的存储器116存储多个应用,每一个应用包括可由处理器112执行的多个计算机可读指令。如本文所讨论的,由处理器112执行上文提及的指令使得服务器108实现某些功能。因此,在下面的讨论中将这些应用配置为执行该功能。在本示例中,服务器108的存储器116存储点云生成器应用132和尺寸标注应用136(在本文中也分别被简称为应用132和应用136)。
通过处理器112执行应用132,服务器108被配置为从捕获节点104的至少一子集(最多并包括捕获节点104中的全部)获取点云,并从这些点云中生成组合点云。经由应用136的执行,服务器108可以被配置为检测组合点云内的对象并确定对象的尺寸。
在其他示例中,应用132和应用136可以被实现为单个应用,或者被实现为多于两个应用。在其他示例中,通过执行应用132和应用136配置的处理器112被实现为一个或多个具体配置的硬件元件,诸如现场可编程门阵列(FPGA)和/或专用集成电路(ASIC)。在进一步的实施例中,服务器108经由应用(诸如应用136)的执行而实现的功能可以由单独的计算设备(诸如可经由网络124访问的尺寸标注服务器)而不是服务器108来实现。
转到图2,示出了捕获节点104的示例组件。图1中示出的捕获节点104中的每一个可以包括在图2中示出并在下文中讨论的组件。
捕获节点104包括多个图像传感器200-1、200-2、…、200-n。例如,每一个捕获节点104可以包括四个图像传感器200。图像传感器200还可以是指相机200。每一个相机200具有不同的视场(FOV),因为相机200相对于彼此放置在不同的物理位置处。给定捕获节点104的相机200的FOV重叠(例如,重叠40%,尽管还可以构想更多或更少的重叠)。图2整体示出了用于捕获节点104的FOV 202。FOV 202涵盖了捕获体积中捕获节点104可以为其生成点云的区域。点云可以描绘捕获体积内对象203的至少一部分。
捕获节点104还包括投影仪204。在其他示例中,多个投影仪204可以被包括在捕获节点104中.在进一步的示例中,某些捕获节点104可以包括一个或多个投影仪204,而其他节点可以省略投影仪204。投影仪204可控制以将结构光图案投射到捕获体积上,例如,照亮捕获体积内的对象203。结构光图案可以被选择为在由相机200所捕获的图像中容易地检测,以促进上文提及的点云的生成。
捕获体积104还包括与相机200和投影仪204连接的计算设备208。计算设备208可以控制相机200捕获FOV 202内的捕获体积的图像,同时投影仪204照亮捕获体积。计算设备208还从由相机200所捕获的图像中生成点云。如将会显而易见的,点云表示捕获体积的一部分,并且因此可以表示对象203中的一些、全部或没有(取决于在捕获体积内对象203的位置)。
转到图3,在示例部署中示出了***100的某些组件。图3中示出的示例部署包括上文提及的四个捕获节点104,例如,每一个节点104的相机200和投影仪204包含在基本上圆柱形的壳体中。各种各样的其他结构布置也可用于每一个节点104。
例如,由经由通道304与节点104连接的中央支撑结构300来支撑节点104。还可以由从设施的天花板(未示出)延伸的支撑构件来支撑节点104当在***100中使用时,通道304可以承载通信线路和冷却流体(例如,调节空气等)。因此,中央支撑结构300可以包含冷却或其他调节设备,并且还可以包含服务器108。
如前所述,节点104的相机200被定位使得每一个相机200的视场涵盖捕获体积308的至少一部分,诸如10×10×10英尺体积。此外,每一个节点104内的相邻相机200的视场重叠例如,约40%。因此,相机200一起提供对捕获体积308的基本上完全的覆盖(例如,捕获体积308中的每一个位置在至少两个相机200的视场内)。
对象203可以被放置在捕获体积308内以在捕获和尺寸标注期间保持静止,或者对象203可以经由任何合适的机车机构通过捕获体积308运输。换句话说,***100可以对静止或运动中的对象203进行尺寸标注。在所示的示例中,机车机构是运输工具,诸如叉车309。叉车309包括主体310,例如,包括用于操作员、发动机和其他组件的驾驶舱、座椅等。叉车309还包括保持架311以支撑对象203。在本示例中,保持架311包括桅杆311a,该桅杆311a可以包括如图3所示的保护罩等。保持架311还包括基座311b,诸如图3所示的一对叉。通常,桅杆311a为对象203建立后支撑面,而基座311b为对象203建立下支撑面。
***100被配置为检测对象203何时进入捕获体积308,并且响应于此类检测,控制其组件以便配置投影仪204和相机200、利用相机200捕获图像、以及生成点云数据。
特别地,每一个节点104的计算设备208被配置为从由该节点104的相机200所捕获的图像中生成点云。因此,由给定节点104生成的点云描绘了与该节点104的FOV 202相对应的捕获体积308的一部分。由节点104生成的点云可以使用特定于每一个节点104的局部参考系,或者可使用在部署***100时为捕获体积308建立的公共参考系312。当节点104使用公共参考系312生成点云时,每一个节点104的计算设备208可以存储定义该节点104的相机200相对于公共参考系312的原点的物理位置的校准数据。当节点104采用局部参考系时,服务器108可以使用校准数据将特定于节点的点云配准(register)到公共参考系312。
节点104还被配置为在被捕获并用于点云生成的图像中检测附着在叉车309上的一组基准标记。基准标记可以包括各种标记类型中的任一种,包括IR反射标记、反射带等。标记被放置在叉车309上的预定义位置处,并且在所捕获的图像中检测到标记时,每一个节点104被配置为向服务器108提供每一个标记的检测到的位置(例如,在参考系312中)。在一些示例中,可以利用不同的标识符对标记进行编码,以对每一个标记与其他标记进行区分,以及减轻错误标记检测,并使得***能够在不同的运输工具之间进行区分。利用不同标识符对标记进行编码还可使得服务器108能够确定叉车的定向,因为叉车可从各个方向进入捕获体积308。
因此,节点104可以各自向服务器108提供点云和一个或多个标记位置和标识符。如下文将讨论的,服务器108采用标记位置和特定于叉车的校准数据来选择组合点云中包括对象203但不包括叉车309(主体310和保持架311两者)的一部分。隔离对象203促进对象203的后续尺寸标注。
叉车309还可以包括放置在其上并且通过附加基准标记、预定义颜色或表面图案等可检测到的参考面314。如下文将讨论的,在一些示例中,由节点104检测到的参考面314的位置可以报告给服务器108,并且服务器108可以使用参考面314来评估组合点云的质量(例如,噪声水平)。
转到图4,示出了用于对象尺寸标注的数据捕获的方法400。方法400将结合其在***100中的执行来描述,特别是通过服务器108来描述。一般来说,方法400的执行使得服务器108能够从节点104获取各个点云(每一个点云表示捕获体积308的一部分),并且根据公共参考系312生成组合点云。然后,服务器108可以从组合点云中确定对象203的尺寸。
在框405处,服务器108被配置为确定对象(例如,对象203)是在捕获体积308内还是在捕获体积308附近被检测到。框405处的对象检测可以基于各种合适的触发机制中的任一种。例如,当对象203进入捕获体积308时,设置在捕获体积308的周界附近的激光雷达(lidar)传感器、IR传感器等可生成检测信号。在其他示例中,节点104中的至少一个可以被配置为将经由至少一个相机200所捕获的图像流传送到服务器108。服务器108可以处理图像以检测在其中运动的对象。当框405处的确定结果为肯定时,服务器进行到框410。当框405处的确定结果为否定时,服务器108可以重复框405的执行。
在框410处,服务器108生成触发命令以使得节点104中的至少一个来捕获图像并从中生成点云。例如,服务器108可以选择节点104的子集或节点104中的全部,并向每一个所选节点104传送触发命令。在接收到触发命令的每一个节点104处,相对应的计算设备208控制相机200的至少子集基本上同时捕获图像,并且经由合适的点云生成机制(例如,摄影测量应用等)的执行从该图像中生成点云。
在生成触发命令并将触发命令发送到节点104以在节点104处发起点云生成之后,服务器108进行到框415。在框415处,服务器108被配置为接收来自节点104中的每一个的点云,以及由节点104检测到的参考系312中的任何基准标记的位置和标识符。服务器108被配置为从从节点104接收的点云中生成单个组合点云。在一些示例中,组合点云的生成包括将每一个接收到的特定于节点的点云配准到公共参考系312。在其他示例中,可以通过选择每一个特定于节点的点云的部分并排除其他部分来生成组合点云;然而,此类功能超出了本讨论的范围。
图5示出了在框415处生成的示例点云501,该示例点云501描绘了叉车309和对象203。图5还指示了基准标记500、504、508和512。如前所述,节点104将标记500-512的位置报告给服务器108,节点104被配置为检测经由相机200所捕获的图像中的标记。如在服务器108处接收到的,通过位置(如图5所示)和标识符(例如,图5所示的附图标记)来定义每一个标记500-512。
在框420处,服务器108被配置为选择组合点云中除了运输工具的主体310和保持架311的桅杆311a以外的第一部分。服务器108将叉车校准数据存储在例如,存储器116中,该叉车校准数据定义相对于标记500-512的位置的叉车309的各种结构特征的位置。例如,校准数据可以定义标记500-512的位置以及在局部参考系中叉车309的其他结构特征的位置。基于在参考系312中标记500-512的位置,可以确定在参考系312中叉车309的其他结构特征的位置。当不同类型的运输工具(诸如叉车)部署在设施中时,服务器108可以为每一个叉车存储不同的校准数据。在框420处,服务器108还可以例如基于叉车(例如,参考面314)上的标记(例如,条形码)来选择校准数据集中的一个。在其他示例中,标记500-512本身可以编码唯一标识符,并且可以参考在所捕获的数据中检测到的标记集来确定呈现的是哪一个叉车。
特别地,参考图6,叉车校准数据定义了保持架311的桅杆311a的前表面600相对于标记500-512的位置。例如,叉车校准数据可以定义包含前表面600的平面与标记504之间的偏移604,以及上述平面与标记500之间的偏移608。可以存储针对标记508和标记512(图6中不可见)的类似偏移。基于偏移604和偏移608以及在点云中标记500和标记504的位置,在参考系中定义切割平面612,该切割平面612平行于前表面600并且可包含前表面600。如本领域技术人员将显而易见的,例如,如果在初始数据捕获中未检测到某些标记,则可基于标记500-512的子集来生成平面612。在本示例中,可以采用标记500-512中的至少三个来生成平面612。
还构想了生成切割平面612的其他机制。例如,叉车校准数据可以定义从桅杆平面(即,贯穿桅杆311a的长度的平面)到切割平面612的定向和距离。在此类实现方式中,服务器108可以基于标记500-512的位置生成桅杆平面(例如,使用标记500-512作为桅杆平面上的点),并且添加上述偏移以生成切割平面612。
已经生成切割平面612之后,服务器108可以被配置为选择点云中除了切割平面612“后面”的点以外的第一部分。换句话说,点云中包含标记500-512的部分可以被丢弃或被保留,但是从随后的处理中排除。作为框420的执行的结果,服务器108选择第一部分700(如图7所示),该第一部分700仍然表示对象203和保持架311的基座311b的至少一部分,但是省略了叉车309的其余部分。
回到图4,在框425处,服务器108被配置为从第一部分700中选择点云501的第二部分。选择第二部分以包括对象203,但排除保持架311的其余部分(即,仍然在第一部分700中表示的基座311b)。为了选择第二部分,服务器108标识基座311b的下表面。例如,再次参考图7,服务器108可以生成边界框704,诸如具有平行于参考系312的各个轴的面的轴对齐边界框(AABB)。边界框具有下表面708,该下表面708具有相对于切割平面612的预定义角度,该角度在叉车校准数据中被定义为桅杆311a和基座311b之间的角度。下表面708定位在部分700中最低点(即,具有最低Z坐标的点)的高度(即,沿着Z轴的位置)处。
边界框704还包括侧表面712和716,例如,平行于参考系312的XZ平面,分别沿Y轴以部分700中存在的最大和最小Y值来定位。类似地,边界框704的上表面和前表面由部分700中的点的范围来定义。边界框704的后表面与切割平面612共面。
已经标识了基座311b的下表面(假设为边界框704的下表面708)之后,服务器108可以将与基座311b的高度相对应的偏移应用于该下表面,以生成进一步的切割平面。参考图8,如叉车校准数据中所示,在与基座311b的高度相对应的偏移804处示出切割平面800。为了从第一部分700中选择点云的第二部分,服务器108可以丢弃切割平面800下方的任何点。替代地,服务器108可以丢弃切割平面800和边界框704的下表面708之间的任何点。
在进一步的示例中,服务器108可以通过如上所述定义切割平面800以及侧切割表面来生成切割框。参考图9,除了形成切割框的上表面的切割平面800之外,服务器108还可以确定边界框704的中心(在本示例中沿着Y轴),并且应用与基座311b的叉到中心之间的距离的一半相对应的相对偏移900。叉之间的距离可以在叉车校准数据中指定。基于偏移900,服务器108可以定义如图9所示的切割框904的侧表面。然后,服务器108可以丢弃来自部分700的位于切割框内的任何点。图9中所示的方法可以被期望以避免排除挂在叉侧面上的对象的部分。
回到图4,在框430处,服务器108然后被配置为生成对象边界框。如从上面的讨论显而易见的,点云的第二部分基本上排除了除对象203本身之外的所有捕获体积。服务器108可以因此经由任何合适的平面拟合操作或其他边界框生成机制来生成与外部边界对象203相对应的边界框。
在框435处,服务器108被配置为基于上文提及的边界框来确定对象203的尺寸,诸如对象203的宽度、高度和/或长度、对象的体积等。
在一些示例中,服务器108可以被配置为在对对象203进行尺寸标注之前细化在框430处生成的边界框。当此类细化被实现时,如图4中的虚线所示,服务器108在框435处进行尺寸标注之前从框430进行到框440。一般来说,在框440处边界框的细化包括在相对于边界框的表面的各种深度处评估点云的第二部分的点密度,以及确定是否调整这些表面中的任一个。点云可包括在定义对象203的表面的点中的一定程度的噪声,这些噪声可导致边界框的表面大于对象203本身。在框440处对边界框的细化可以使得服务器108能够增加边界框的准确度。
参考图10,当执行框440时,服务器108可以对边界框的至少一个表面重复下面的操作序列,直到并包括边界框的所有表面。图10示出了包含定义对象203的点(虚线)的边界框1000(实线)。换句话说,边界框1000内的点是在框425处选择的第二部分,基本上排除了整个叉车309。
如详细视图1004所示,基于多个点1012生成边界框1000的边界1008。为了细化边界1008,转到图11,服务器108被配置为生成平行于边界1008并且从边界1008开始以预定义深度进入对象203的多个切片或区域。图11中示出了三个示例切片1100-1、1100-2和1100-3,尽管在其他示例中可以采用更少或更多数量的切片。
对于每一个切片1100,服务器108被配置为确定点密度或点计数,该点密度或点计数指示填充相关切片1100的点1012的密集程度。如图11所示,切片1100-3包含仅单个点,而切片1100-2和切片1100-1分别包含八个点和六个点。
服务器108被配置为选择具有最大点密度的切片1100(即,所示示例中的切片1100-2),并且更新边界1008以匹配该切片1100的位置。例如,如图11的下部所示,边界1008可被更新的边界1104-2替换,该边界1104-2的位置是切片1100-2的中间。在其他示例中,可以采用所选切片1100的边界而不是所选切片1100的中间。当对边界框1000的剩余表面中的每一个重复上述过程时,更新的边界框可以用于在框435处进行尺寸标注。
在一些示例中,使用切片来评估边界框的表面的点密度也可以用于评估原始点云的质量。回到图4,在一些示例中,服务器108可以从框415进行到框445而不是直接到框420。在框445处,服务器108被配置为估计点云中参考面(诸如图3中示出的参考面314)的噪声的程度。因为参考面314在叉车309上,所以可以根据叉车校准数据从前文提及的标记500-512的位置来确定参考面的位置。
为了估计参考面314的噪声,服务器108可以选择点云中仅包含参考面314的一部分,并执行上文讨论的细化过程以确定涵盖定义参考面314的点的一组切片中的每一个切片的点密度。因为参考面314是平面,所以低水平噪声预期会导致在显示峰值(诸如图12中的图表1200所示的)的切片序列中的点密度。如图12中的图表1204所示,点密度变化越缓慢,可能表明点云中的噪声过大。因此,服务器108可以被配置为确定每一个切片的点密度测量之间的梯度,其中更大的梯度指示更低程度的噪声。例如,可以将上述梯度的平均值用作点云中噪声水平的指示器。
在框450处,服务器108确定在框445确定的噪声水平是否超过阈值。例如,当在框445处确定的平均梯度超过阈值时,框450处的确定为肯定,并且服务器108可以进行到框455而不是框420。在框455处,服务器108可以生成指示点云质量不适合对象203的尺寸标注的警报(例如,到另一个计算设备和/或经由服务器108的显示器、扬声器等)。在其他示例中,服务器108随后可执行噪声降低操作。当框450处的确定结果为否定时,上文讨论的过程继续到框420处。
在上述说明书中已经描述了具体实施例。然而,本领域普通技术人员理解,可以做出各种修改和改变而不脱离如下权利要求书所阐述的本发明的范围。因此,说明书和附图被认为是图示性的而非限制性的意义,并且所有此类修改都旨在被包括在本教导的范围内。
这些益处、优势、问题解决方案以及可能使任何益处、优势或解决方案发生或变得更为突出的任何(多个)要素不被解释成任何或所有权利要求的关键的、必需的或必要的特征或要素。本发明仅由所附权利要求书限定,包括在本申请处于待审状态期间做出的任何修改以及授权公告的这些权利要求的所有等效物。
此外,在该文档中,诸如第一和第二、顶部和底部等之类的关系术语可以单独地用来将一个实体或动作与另一个实体或动作区别开,而不一定要求或暗示此类实体或动作之间具有任何实际的此类关系或顺序。术语“包括”、“包括有”、“具有”、“具备”、“包含”、“包含有”、“涵盖”、“涵盖有”或它们的任何其他变型旨在覆盖非排他性包括,以使包括、具有、包含、涵盖一要素列表的过程、方法、物品或装置不仅包括那些要素还可包括对该过程、方法、物品或装置未明确列出的或固有的其他要素。以“包括一”、“具有一”、“包含一”、“涵盖一”开头的要素,在没有更多约束条件的情形下,不排除在包括、具有、包含、涵盖该要素的过程、方法、物品或装置中有另外的相同要素存在。术语“一”和“一个”被定义为一个或更多个,除非本文中另有明确声明。术语“基本”、“大致”、“近似”、“约”或这些术语的任何其他版本被定义为如本领域内技术人员理解的那样接近,并且在一个非限制性实施例中,这些术语被定义为在10%以内,在另一实施例中在5%以内,在另一实施例中在1%以内,而在另一实施例中在0.5%以内。本文中使用的术语“耦合的”被定义为连接的,尽管不一定是直接连接的也不一定是机械连接的。以某种方式“配置”的设备或结构至少以该种方式进行配置,但也可以以未列出的方式进行配置。
要理解,一些实施例可以包括一个或多个专用处理器(或“处理设备”),例如微处理器、数字信号处理器、定制的处理器和现场可编程门阵列(FPGA)以及唯一存储的程序指令(包括软件和固件两者),所述唯一存储的程序指令控制一个或多个处理器以连同某些非处理器电路实现本文所描述的方法和/或装置的一些、多数或全部功能。替代地,一些或全部功能可以由不具有存储程序指令的状态机来实现,或者在一种或多种专用集成电路(ASIC)中实现,其中,每一种功能或某些功能的某些组合被实现为定制逻辑。当然,也可以使用这两种方法的组合。
此外,实施例可以实现为计算机可读存储介质,该计算机可读存储介质具有存储在其上的计算机可读代码,用于对(例如,包括处理器的)计算机编程以执行如本文所描述和要求保护的方法。此类计算机可读存储介质的示例包括但不限于硬盘、CD-ROM、光存储设备、磁存储设备、ROM(只读存储器)、PROM(可编程只读存储器)、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)以及闪存。此外,预期本领域普通技术人员虽然做出由例如,可用时间、当前技术和经济考虑促动的可能显著的努力以及许多设计选择,但在得到本文所公开的概念和原理指导时,将容易地能以最少的试验产生此类软件指令和程序以及IC。
本公开的摘要被提供以允许读者快速地明确本技术公开的性质。提交该摘要,并且理解该摘要将不用于解释或限制权利要求书的范围或含义。另外,在上述具体实施方式中,可以看出出于使本公开整体化的目的,各种特征在各种实施例中被编组到一起。这种公开方法不应被解释为反映要求保护的实施例与各项权利要求中明确记载的相比需要更多的特征的意图。相反,如以下权利要求所反映,发明主题在于少于单个公开的实施例的全部特征。因此,以下权利要求由此被并入具体实施方式中,其中各个权利要求作为单独要求保护的主题代表其自身。

Claims (18)

1.一种服务器,包括:
存储器,所述存储器存储数据点云;以及
处理器,所述处理器与所述存储器连接,所述处理器被配置为:
从所述存储器中获取点云,所述点云包括对要进行尺寸标注的对象的描绘;
生成与所述对象相对应的边界框;
确定与所述边界框的表面相邻的多个切片中的每一个切片的点密度;
选择与所述多个切片中具有最大点密度的一个切片相对应的更新的边界框表面;
基于所选的更新的边界框表面更新与所述对象相对应的所述边界框,从而生成更新的边界框。
2.如权利要求1所述的服务器,进一步包括:
通信接口;
其中所述处理器进一步被配置为为了获取所述点云而经由所述通信接口从多个捕获节点接收初始点云,并组合所述初始点云以生成所述点云。
3.如权利要求1所述的服务器,其特征在于,所述处理器被配置为为了生成所述边界框而:
从所述点云中获取与所述对象的运输工具相关联的一组位置;以及
基于所述一组位置,通过生成与所述运输工具的桅杆的前表面相对应的切割平面并丢弃所述切割平面的预定侧面上的点,来选择所述点云中除了所述运输工具的主体以外的第一部分。
4.如权利要求3所述的服务器,其特征在于,所述处理器被配置为:
检测所述对象的保持架的基座的下表面;
相应地生成所述基座的上表面;以及
丢弃所述下表面和所述上表面之间的点。
5.如权利要求1所述的服务器,其特征在于,所述处理器进一步被配置为:
标识所述边界框的中心;
根据所述中心生成与所述基座的侧面相对应的侧表面;以及
丢弃所述边界框的所述下表面、所述边界框的所述上表面以及所述边界框的所述侧表面之间的点。
6.如权利要求4所述的服务器,其特征在于,所述处理器被配置为生成相对于所述切割平面具有预定义角度的所述下表面。
7.如权利要求1所述的服务器,其特征在于,所述处理器进一步被配置为对所述边界框的每一个剩余表面重复所述点密度的确定和所述更新的边界框表面的选择。
8.如权利要求3所述的服务器,其特征在于,所述处理器进一步被配置为:
基于所述一组位置和校准数据来检测所述运输工具的参考面;以及
从所述参考面中估计所述点云中的噪声水平。
9.一种方法,包括:
存储校准数据;
获取描绘了包含运输工具的捕获体积的点云,所述运输工具具有主体和承载要进行尺寸标注的对象的保持架;
获取与所述运输工具相关联的一组位置;
基于所述一组位置和所述校准数据,选择所述点云中除了所述运输工具的所述主体和所述保持架的桅杆以外的第一部分;
基于所述校准数据,从所述第一部分的点云中选择除了所述保持架的基座以外的第二部分;以及
基于所述点云的所述第二部分对所述对象进行尺寸标注。
10.如权利要求9所述的方法,其特征在于,获取所述点云包括经由通信接口从多个捕获节点接收初始点云,并组合所述初始点云以生成所述点云。
11.如权利要求9所述的方法,其特征在于,选择所述第一部分包括:
生成与所述桅杆的前表面相对应的切割平面;以及
丢弃所述切割平面的预定侧面上的点。
12.如权利要求11所述的方法,其特征在于,选择所述第二部分包括:
检测所述基座的下表面;
根据所述校准数据生成所述基座的上表面;以及
丢弃所述下表面和所述上表面之间的点。
13.如权利要求12所述的方法,其特征在于,检测所述下表面包括基于所述第一部分生成包含所述对象和所述基座的边界框。
14.如权利要求13所述的方法,进一步包括:
标识所述边界框的中心;
根据所述中心和所述校准数据生成与所述基座的侧面相对应的侧表面;以及
丢弃所述下表面、所述上表面和所述侧表面之间的点。
15.如权利要求13所述的方法,进一步包括生成相对于所述切割平面具有预定义角度的所述下表面。
16.如权利要求9所述的方法,其特征在于,对所述对象进行尺寸标注包括:
从所述点云的所述第二部分中生成与所述对象相对应的边界框;
确定与所述边界框的表面相邻的多个切片中的每一个切片的点密度;以及
选择与所述多个切片中具有最大点密度的一个切片相对应的更新的边界框表面。
17.如权利要求16所述的方法,进一步包括:为对所述边界框的每一个剩余表面重复所述点密度的确定和所述更新的边界框表面的选择。
18.如权利要求9所述的方法,进一步包括:
基于所述一组位置和所述校准数据来检测所述运输工具的参考面;以及
从所述参考面中估计所述点云中的噪声水平。
CN202110214455.3A 2020-02-25 2021-02-25 用于数据捕获***的运输工具分割 Pending CN113379827A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/800,805 US11227404B2 (en) 2020-02-25 2020-02-25 Transporter segmentation for data capture system
US16/800,805 2020-02-25

Publications (1)

Publication Number Publication Date
CN113379827A true CN113379827A (zh) 2021-09-10

Family

ID=75339193

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110214455.3A Pending CN113379827A (zh) 2020-02-25 2021-02-25 用于数据捕获***的运输工具分割

Country Status (7)

Country Link
US (1) US11227404B2 (zh)
KR (1) KR20220131968A (zh)
CN (1) CN113379827A (zh)
BE (1) BE1028059B1 (zh)
DE (1) DE102021104352A1 (zh)
GB (1) GB2595753A (zh)
WO (1) WO2021173402A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11995157B2 (en) * 2020-12-04 2024-05-28 Caterpillar Inc. Intelligent LiDAR scanning
US20230112666A1 (en) * 2021-10-12 2023-04-13 Zebra Technologies Corporation System and Method for Detecting Calibration of a 3D Sensor

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180143003A1 (en) * 2016-11-22 2018-05-24 Symbol Technologies, Llc Dimensioning system for, and method of, dimensioning freight in motion along an unconstrained path in a venue
CN109145969A (zh) * 2018-08-03 2019-01-04 百度在线网络技术(北京)有限公司 三维物体点云数据的处理方法、装置、设备及介质
CN109948661A (zh) * 2019-02-27 2019-06-28 江苏大学 一种基于多传感器融合的3d车辆检测方法
US20190370990A1 (en) * 2018-05-29 2019-12-05 Zebra Technologies Corporation Data capture system and method for object dimensioning

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9465997B2 (en) 2012-09-26 2016-10-11 General Electric Company System and method for detection and tracking of moving objects
US9811714B2 (en) 2013-08-28 2017-11-07 Autodesk, Inc. Building datum extraction from laser scanning data
DE102014011821A1 (de) * 2014-08-08 2016-02-11 Cargometer Gmbh Vorrichtung und Verfahren zur Volumenbestimmung eines durch ein Flurförderzeug bewegten Objekts
US10769806B2 (en) * 2015-09-25 2020-09-08 Logical Turn Services, Inc. Dimensional acquisition of packages
US10145955B2 (en) 2016-02-04 2018-12-04 Symbol Technologies, Llc Methods and systems for processing point-cloud data with a line scanner
US9898833B1 (en) * 2016-07-15 2018-02-20 Northrop Grumman Systems Corporation Apparatus and method for determining the dimensions of a package while in motion
US11558601B2 (en) 2017-11-06 2023-01-17 Symbol Technologies, Llc Methods and apparatus for initializing object dimensioning systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180143003A1 (en) * 2016-11-22 2018-05-24 Symbol Technologies, Llc Dimensioning system for, and method of, dimensioning freight in motion along an unconstrained path in a venue
US20190370990A1 (en) * 2018-05-29 2019-12-05 Zebra Technologies Corporation Data capture system and method for object dimensioning
CN109145969A (zh) * 2018-08-03 2019-01-04 百度在线网络技术(北京)有限公司 三维物体点云数据的处理方法、装置、设备及介质
CN109948661A (zh) * 2019-02-27 2019-06-28 江苏大学 一种基于多传感器融合的3d车辆检测方法

Also Published As

Publication number Publication date
DE102021104352A1 (de) 2021-08-26
WO2021173402A1 (en) 2021-09-02
US11227404B2 (en) 2022-01-18
US20210264634A1 (en) 2021-08-26
GB202102589D0 (en) 2021-04-07
BE1028059B1 (nl) 2022-05-04
BE1028059A1 (nl) 2021-09-07
KR20220131968A (ko) 2022-09-29
GB2595753A (en) 2021-12-08

Similar Documents

Publication Publication Date Title
US10393508B2 (en) Handheld dimensioning system with measurement-conformance feedback
CN107817496B (zh) 适用于自动车辆的对象检测***
CN107818557B (zh) 用于自动车辆的增强型相机对象检测
CN110084895B (zh) 对点云数据进行标注的方法和设备
US10721451B2 (en) Arrangement for, and method of, loading freight into a shipping container
WO2018049998A1 (zh) 交通标志牌信息获取方法及装置
CN113379827A (zh) 用于数据捕获***的运输工具分割
CN110799989A (zh) 一种障碍物检测方法、设备、可移动平台及存储介质
US11062472B1 (en) Transporter segmentation for data capture system
JP6667065B2 (ja) 位置推定装置および位置推定方法
CN103443838B (zh) 物体识别装置
CN113111513B (zh) 传感器配置方案确定方法、装置、计算机设备及存储介质
KR102460791B1 (ko) 3차원 이미징 시스템에서 광 삼각 측량으로부터의 이미지 데이터에 강도 피크 위치를 제공하기 위한 방법 및 장치
US11138748B2 (en) Method and apparatus for classifying depth scans
US20210382496A1 (en) Position detection apparatus, position detection system, remote control apparatus, remote control system, position detection method, and program
CN116224355A (zh) 对待测物中的目标对象进行追踪的方法及***
US11538179B2 (en) Depth-based data capture system configuration
CN112712563A (zh) 相机取向估计
US20240127471A1 (en) Information processing apparatus, information processing system, information processing method, and recording medium
US11348273B2 (en) Data capture system
US11804051B2 (en) Parallel data capture system
JPWO2019151106A1 (ja) 周辺情報処理方法
CN114754699B (zh) 运动物体轮廓的构建方法及***、以及主控设备
JP7103324B2 (ja) 物体認識用異常検出装置及び物体認識用異常検出プログラム
US20220351412A1 (en) Method and Device for Passive Ranging by Image Processing and Use of Three-Dimensional Models

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