CN104732514B - 用于处理高度图的设备、系统和方法 - Google Patents

用于处理高度图的设备、系统和方法 Download PDF

Info

Publication number
CN104732514B
CN104732514B CN201410806397.3A CN201410806397A CN104732514B CN 104732514 B CN104732514 B CN 104732514B CN 201410806397 A CN201410806397 A CN 201410806397A CN 104732514 B CN104732514 B CN 104732514B
Authority
CN
China
Prior art keywords
target
height map
height
dimension
section
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.)
Active
Application number
CN201410806397.3A
Other languages
English (en)
Other versions
CN104732514A (zh
Inventor
詹森·戴维斯
迈克尔·C·莫德
罗伯特·J·特伦布莱
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.)
Cognex Corp
Original Assignee
Cognex 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 Cognex Corp filed Critical Cognex Corp
Publication of CN104732514A publication Critical patent/CN104732514A/zh
Application granted granted Critical
Publication of CN104732514B publication Critical patent/CN104732514B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/003Reconstruction from projections, e.g. tomography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • 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
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • 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
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/08Gnomonic or central projection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)

Abstract

所公开的设备、系统和方法可以处理高度图。例如,用于确定目标在由距离传感器系统采集的二维高度图中的姿态信息的所公开的计算机化方法可以包括:与距离传感器系统通信来接收由所述距离传感器系统采集的所述目标的高度图;生成所述高度图的多个一维切片和用于指出多个一维切片在所述高度图上的位置的位置记录;基于所述多个一维切片和所述位置记录来识别所述高度图中的至少一个感兴趣点的位置;并且基于所述高度图中的至少一个感兴趣点的位置来确定所述目标的所述姿态信息。

Description

用于处理高度图的设备、系统和方法
技术领域
所公开的设备、计算机化系统以及计算机化方法涉及处理高度图,并且具体地,涉及处理来自距离传感器系统的高度图。
背景技术
确定目标的深度或者高度也称为距离感测在各种应用中是重要的。例如,距离感测可能在检测电子装配过程中,在制造期间检查半导体封装过程中,和在数字化三维(“3D”)粘土模型过程中是重要的。
可以使用距离传感器系统来执行距离感测,该距离传感器可以提供高度图(也称为距离图像或者深度图像)作为输出。可以使用计算设备来处理高度图,以确定由高度图采集的目标的位置、目标的形状和/或目标的3D轮廓。可惜,因为高度图处理通常包括高度图的3D配准,所以高度图处理会涉及大量计算。因此,存在减少高度图处理的计算复杂性的普遍需求。
发明内容
根据所公开主题,提供用于处理来自距离传感器系统的高度图的设备、系统、非暂时计算机可读介质和方法。
一些实施例包括用于确定目标在由距离传感器系统采集的二维高度图中的姿态信息的计算机化方法。该方法包括:在计算设备中的切片生成模块处接收由所述距离传感器系统采集的所述目标的所述高度图;由所述切片生成模块生成所述高度图的多个一维切片和用于指出多个一维切片在所述高度图上的位置的位置记录;由所述计算设备中的姿态信息生成模块基于所述多个一维切片和所述位置记录来识别所述高度图中的至少一个感兴趣点的位置;并且由所述姿态信息生成模块基于所述高度图中的至少一个感兴趣点的位置来确定所述目标的所述姿态信息。
在一些实施例中,该方法还包括:保持所述目标的形状信息,并且其中,基于所述位置来确定所述目标的所述姿态信息还包括:基于所述形状信息和所述高度图中的识别出的间断点的位置来确定所述目标的所述姿态信息。
在一些实施例中,所述形状信息包括下面中的一个或者多个:(1)所述目标中的多个边缘,(2)在所述目标中的、所述边缘相对于其它边缘的相对位置,以及(3)所述目标中的边缘之间的角度。
在一些实施例中,生成所述高度图的所述多个一维切片包括:生成两个或者更多个非平行一维切片,其中,所述每个非平行一维切片被配置为横跨所述目标的唯一边缘,并且其中,所述目标的所述姿态信息包括所述目标的位置。
在一些实施例中,生成所述高度图的所述多个一维切片包括:生成被配置为横跨所述目标的第一边缘的两个或者多个一维切片,并且其中,所述目标的所述姿态信息包括:所述目标绕着与所述目标的高度对齐的轴线的旋转角。
在一些实施例中,确定所述目标的所述姿态信息包括:拟合通过沿着所述目标的所述第一边缘的所述间断点的直线,并且基于所述目标的形状信息来确定所述直线和所述目标的所述第一边缘的假设方向之间的角度。
在一些实施例中,所述至少一个感兴趣点包括所述多个一维切片中的一个切片中的间断点,并且其中,基于所述多个一维切片和所述位置记录来识别所述高度图中的至少一个感兴趣点的位置包括:由所述计算设备中的所述姿态信息生成模块识别所述多个一维切片中的一个切片中的间断点;并且由所述姿态信息生成模块基于所述位置记录来确定所述高度图中的识别出的间断点的位置。
在一些实施例中,所述多个一维切片中的所述间断点包括:所述多个一维切片横跨所述目标在所述高度图中的边缘处的位置。
在一些实施例中,基于所述多个一维切片来识别所述至少一个感兴趣点的位置包括:确定所述多个一维切片中的一个切片与一维模板对齐处的位置。
在一些实施例中,确定所述多个一维切片中的一个切片与一维模板对齐处的位置包括:确定所述多个一维切片中的一个切片和所述一维模板之间的关联。
在一些实施例中,生成所述高度图的所述多个一维切片包括:在所述高度图的像素上提供包括多个缝隙的网格;确定处于所述网格的所述多个缝隙中的一个缝隙之下的高度图的第一像素集合;并且通过对所述第一像素集合执行合并操作来确定用于网格的多个缝隙中的一个缝隙的数值,其中,所述合并操作包括下面中的一个或者多个:平均操作、所述第一像素集合中的非丢失数值的加权平均操作、中值操作、用于找到第一像素集合的最大值的最大值操作、用于找到第一像素集合的最小值的最小值操作、回归操作、或者各项组合。
在一些实施例中,所述方法还包括:确定与所述网格的一部分相关联的可见度切片,其中,所述可见度切片指出处于所述网格的一部分之下的像素的可见度,其中,确定所述可见度切片包括:通过确定所述第一像素集合中的丢失的数值的比例来确定用于所述网格的一部分的多个缝隙中的一个缝隙的可见度数值。
一些实施例包括被配置为确定目标在由距离传感器系统采集的二维高度图中的姿态信息的计算设备。所述计算设备包括:一个或者多个接口,其被配置为与所述距离传感器系统通信;处理器,其与所述一个或者多个接口通信,并且被配置为运行存储器中存储的切片生成模块。所述切片生成模块被配置为:接收由所述距离传感器系统采集的所述目标的所述高度图;生成所述高度图的多个一维切片和用于指出多个一维切片在所述高度图上的位置的位置记录;并且其中,所述处理器还被配置为运行在所述存储器中存储的姿态信息生成模块,所述姿态信息生成模块被配置为:基于所述多个一维切片和所述位置记录来识别所述高度图中的至少一个感兴趣点的位置;并且基于所述高度图中的至少一个感兴趣点的位置来确定所述目标的所述姿态信息。
在一些实施例中,所述姿态信息生成模块还被配置为:保持所述目标的形状信息,并且基于所述形状信息和所述高度图中的至少一个感兴趣点的位置来确定所述目标的所述姿态信息。
在一些实施例中,所述切片生成模块还被配置为:生成两个或者更多个非平行一维切片,其中,所述每个非平行一维切片被配置为横跨所述目标的唯一边缘,并且其中,所述目标的所述姿态信息包括所述目标的位置。
在一些实施例中,所述切片生成模块还被配置为:生成被配置为横跨所述目标的第一边缘的两个或者更多个一维切片,并且其中,所述目标的所述姿态信息包括:所述目标绕着与所述目标的高度对齐的轴线的旋转角。
在一些实施例中,所述切片生成模块还被配置为:在所述高度图的像素上提供包括多个缝隙的网格;确定处于所述网格的所述多个缝隙中的一个缝隙之下的高度图的第一像素集合;并且通过对所述第一像素集合执行合并操作来确定用于网格的多个缝隙中的一个缝隙的数值,其中,所述合并操作包括下面中的一个或者多个:平均操作、所述第一像素集合中的非丢失数值的加权平均操作、中值操作、用于找到第一像素集合的最大值的最大值操作、用于找到第一像素集合的最小值的最小值操作、回归操作、或者各项组合。
一些实施例包括具有与切片生成模块和姿态信息生成模块相关联的可执行指令的非暂时计算机可读介质。所述可执行指令可操作为使数据处理设备:与距离传感器系统通信来接收由所述距离传感器系统采集的所述目标的高度图;生成所述高度图的多个一维切片和用于指出多个一维切片在所述高度图上的位置的位置记录;基于所述多个一维切片和所述位置记录来识别所述高度图中的至少一个感兴趣点的位置;并且基于所述高度图中的至少一个感兴趣点的位置来确定所述目标的所述姿态信息。
在一些实施例中,所述计算机可读介质还包括与所述姿态信息生成相关联的可执行指令,所述可执行指令可操作为使所述数据处理设备保持所述目标的形状信息,并且基于所述形状信息和所述高度图中的至少一个感兴趣点的位置来确定所述目标的所述姿态信息。
在一些实施例中,所述计算机可读介质还包括以下可执行指令,所述可执行指令可操作为使所述数据处理设备:在所述高度图的像素上提供包括多个缝隙的网格;确定处于所述网格的所述多个缝隙中的一个缝隙之下的高度图的第一像素集合;并且通过对所述第一像素集合执行合并操作来确定用于网格的多个缝隙中的一个缝隙的数值,其中,所述合并操作包括下面中的一个或者多个:平均操作、所述第一像素集合中的非丢失数值的加权平均操作、中值操作、用于找到第一像素集合的最大值的最大值操作、用于找到第一像素集合的最小值的最小值操作、回归操作、或者各项组合。
一些实施例包括用于处理由距离传感器系统采集的二维高度图的计算机化方法。该方法包括:在计算设备中的切片生成模块处接收由所述距离传感器系统采集的目标的二维高度图;由所述切片生成模块生成所述高度图的一维切片,其中,所述一维切片包括具有多个缝隙的网格,其中,多个缝隙中的每个缝隙包括基于所述高度图的一个或者多个像素确定的数值;并且由所述切片生成模块提供用于指示网格的所述多个缝隙中的每个缝隙的可见度数值的可见度切片,其中,所述可见度数值以1D切片中的对应缝隙中的数值指出置信度。
在一些实施例中,该方法还包括:通过确定用于计算所述多个缝隙中的一个缝隙的数值的所述高度图的一个或者多个像素中的丢失的像素值的比例来确定用于所述网格的多个缝隙中的一个缝隙的可见度数值。
在一些实施例中,该方法还包括:通过确定用于计算所述多个缝隙中的一个缝隙的数值的所述高度图的一个或者多个像素中的多个丢失的像素值来确定用于所述网格的多个缝隙中的一个缝隙的可见度数值。
在一些实施例中,所述方法还包括:将阈值存储到存储器中;使用所述阈值来二值化所述可见度切片,其针对可见度切片中的每个可见度数值,包括:确定所述可见度数值是否低于所述阈值;如果可见度数值低于所述阈值,则将所述可见度数值设置为指示1D切片中的对应缝隙为不可见的第一数值;并且如果所述可见度数值不低于所述阈值,则将所述可见度数值设置为指示1D切片中的对应缝隙为可见的第二数值。
在一些实施例中,所述方法还包括:由姿态信息生成模块基于所述一维切片和可见度切片来确定目标的姿态信息。
在一些实施例中,所述方法还包括:当可见度切片中的任一个可见度数值小于预先确定的阈值时由所述姿态信息生成模块丢弃所述一维切片。
在一些实施例中,所述方法还包括:通过使用所述可见度切片来加权所述一维切片以由所述姿态信息生成模块将直线确定为所述一维切片。
一些实施例包括被配置为处理由距离传感器系统采集的高度图的计算设备。所述计算设备包括:一个或者多个接口,其被配置为与所述距离传感器系统通信;以及处理器,其与所述一个或者多个接口通信,并且被配置为运行存储器中存储的计算机程序。所述计算机程序被配置为:接收由所述距离传感器系统采集的所述目标的所述高度图;生成所述高度图的一维切片,其中,所述一维切片包括具有多个缝隙的网格,其中,多个缝隙中的每个缝隙包括基于所述高度图的一个或者多个像素确定的数值;并且提供用于指示网格的所述多个缝隙中的每个缝隙的可见度数值的可见度切片,其中,所述可见度数值以1D切片中的对应缝隙中的数值指出置信度。
在一些实施例中,所述计算机程序被配置为:通过确定用于计算所述多个缝隙中的一个缝隙的数值的所述高度图的一个或者多个像素中的丢失的像素值的比例来确定用于所述网格的多个缝隙中的一个缝隙的可见度数值。
在一些实施例中,所述计算机程序被配置为:通过确定用于计算所述多个缝隙中的一个缝隙的数值的所述高度图的一个或者多个像素中的多个丢失的像素值来确定用于所述网格的多个缝隙中的一个缝隙的可见度数值。
在一些实施例中,所述计算机程序被配置为:基于所述一维切片和可见度切片来确定目标的姿态信息。
在一些实施例中,所述计算机程序被配置为:将阈值存储到存储器中;使用所述阈值来二值化所述可见度切片,其针对可见度切片中的每个可见度数值,包括:确定所述可见度数值是否低于所述阈值;如果可见度数值低于所述阈值,则将所述可见度数值设置为指示1D切片中的对应缝隙为不可见的第一数值;并且如果所述可见度数值不低于所述阈值,则将所述可见度数值设置为指示1D切片中的对应缝隙为可见的第二数值。
在一些实施例中,所述计算机程序被配置为:当可见度切片中的任一个可见度数值小于预先确定的阈值时丢弃所述一维切片。
在一些实施例中,所述计算机程序被配置为:通过使用所述可见度切片来加权所述一维切片而将直线确定为所述一维切片。
一些实施例包括具有可执行指令的非暂时计算机可读介质。所述可执行指令可操作为使数据处理设备:接收由所述距离传感器系统采集的所述目标的高度图;生成所述高度图的一维切片,其中,所述一维切片包括具有多个缝隙的网格,其中,多个缝隙中的每个缝隙包括基于所述高度图的一个或者多个像素确定的数值;并且提供用于指示网格的所述多个缝隙中的每个缝隙的可见度数值的可见度切片,其中,所述可见度数值以1D切片中的对应缝隙中的数值指出置信度。
在一些实施例中,所述可执行指令可操作为使所述数据处理设备通过确定用于计算所述多个缝隙中的一个缝隙的数值的所述高度图的一个或者多个像素中的丢失的像素值的比例来确定用于所述网格的多个缝隙中的一个缝隙的可见度数值。
在一些实施例中,所述可执行指令可操作为使所述数据处理设备:通过确定用于计算所述多个缝隙中的一个缝隙的数值的所述高度图的一个或者多个像素中的多个丢失的像素值来确定用于所述网格的多个缝隙中的一个缝隙的可见度数值。
在一些实施例中,所述可执行指令可操作为使所述数据处理设备:基于所述一维切片和可见度切片来确定目标的姿态信息。
在一些实施例中,所述可执行指令可操作为使所述数据处理设备:当可见度切片中的任一个可见度数值小于预先确定的阈值时丢弃所述一维切片。
在一些实施例中,所述可执行指令可操作为使所述数据处理设备:通过使用所述可见度切片来加权所述一维切片而将直线确定为所述一维切片。
本文所述的所公开设备、系统、方法和非暂时计算机可读介质可以提供用于处理高度图以定位来自高度图的目标且提供与目标的姿态有关的信息的有效机制。因为所公开的设备、系统和方法使用高度图的简单一维切片,所以与使用3D配准技术处理高度图的现有机制相比,所公开的设备、系统和方法是显著更有效的。
为了可以更好理解下面的所公开主题的详细描述并且为了可以更好明白对本领域的贡献,因此已经相当广泛概述了所公开主题的特征。当然存在所公开主题的附加特征,该附加特征将在下文中描述并且将形成附接到下文的权利要求的主题。应当理解的是,本文中采用的措辞和术语是处于描述目的并且不应当理解为限制。
附图说明
当结合下面附图考虑时,将参考所公开主题的下面详细描述来更全面明白所公开主题的各个目标、特征和优势,其中相同参考附图识别相同元素。
图1示出了根据一些实施例的具有激光扫描仪系统的示例性距离传感器系统。
图2示出了根据一些实施例的由距离传感器系统测量的目标的高度图。
图3示出了根据一些实施例的用于确定来自高度图的目标的姿态信息的计算机化方法。
图4示出了根据一些实施例的用于生成高度图的1D切片的过程。
图5示出了根据一些实施例的1D切片及其可见度切片。
图6示出了根据一些实施例的用于使用高度图的两个或者多个1D切片来确定目标的位置和高度的计算机化方法。
图7示出了根据一些实施例的图6的过程的说明。
图8示出了根据一些实施例的用于确定目标的旋转的机制。
图9示出了根据一些实施例的用于确定目标绕着高度向量的旋转的计算机化方法。
图10示出了根据一些实施例的金字塔结构目标的高度图和出于说明目的的通过目标的边缘的几个1D切片。
图11示出了根据一些实施例的用于识别1D切片在给定方向的最远点的应用。
图12示出了根据一些实施例的角点检测操作。
图13示出了根据一些实施例的用于计算两个线段的交叉点的过程。
图14示出了根据一些实施例的用于找到具有期望斜率的线段的过程。
图15示出了根据一些实施例的用于采集目标的高度图的示例性距离传感器系统和用于处理由距离传感器系统采集的高度图的计算设备。
具体实施方式
在下面的描述中,给出了与所公开主题的系统和方法以及其中这种系统和方法可以操作的环境等有关的大量具体细节,以便于提供对所公开主题的透彻理解。然而,本领域的技术人员将明白的是,可以在没有这些具体细节的情况下实施所公开主题,并且为了避免所公开主题的复杂化,没有详细描述本领域已知的某些特征。此外,要理解,下面提供的示例是示例性的,并且设想存在所公开主题的范围之内的其它系统和方法。
距离感测在能够从理解目标或者场景的3D轮廓中获益的各种应用中是重要的。距离感测可以特别有用于工业应用例如在监视制造的目标的质量并且丢弃具有缺陷的目标方面。
可以使用距离传感器系统来执行距离感测。图1示出了根据一些实施例的具有激光扫描仪系统的示例性距离传感器系统。激光扫描仪系统100包括:用于向目标108提供激光的激光器102、用于收集从目标108反射的激光的透镜104、以及用于采集由透镜104收集的激光的传感器106。传感器106可以相对于目标108以一定角度被布置,以便于使用从激光器102投射的光来采集目标108的一维横截面图像(例如横截面高度),该横截面图像基本上与保持目标108的平台正交。激光扫描仪系统100可以通过分析由传感器106采集的激光的变形来确定目标的一维横截面图像。
在一些情况下,激光扫描仪系统100在一个维度扫描目标108。例如,激光扫描仪系统100经由激光器102向目标108提供一维激光扫描线,并且沿着该一维而确定目标的横截面高度。
在一些情况下,激光扫描仪系统100和目标108可以相对彼此移动,以确定目标的二维高度图。例如,激光扫描仪系统100可以位于固定位置,并且可以相对激光扫描仪系统100移动目标108(例如,目标108被放置在移动传送带上),使得激光扫描仪系统100可以沿着移动方向扫描目标108。在另一个示例中,目标108可以位于固定位置,并且可以相对目标108移动激光扫描仪系统100,使得激光扫描仪系统100可以沿着移动方向扫描目标108。
在一些情况下,激光扫描仪系统100可以包括编码器,该编码器可以在目标108相对激光扫描仪系统100移动了预先确定数量的距离时触发激光器102和传感器106来获得目标108的一维横截面图像。由于激光扫描仪系统100每次获得了目标108的一维(1D)横截面,所以激光扫描仪系统100可以装配测量的1D横截面,以创建二维高度图。例如,激光扫描仪系统100可以通过以测量1D横截面的顺序堆叠测量出的1D横截面来创建二维高度图。
在一些情况下,代替激光扫描仪系统100,距离传感器系统可以包括:具有多个相机的立体视觉系统,飞行时间传感器系统(例如,以下距离成像相机系统,该距离成像相机系统测量波信号在相机和用于图像的每个点的主体之间的飞行时间而基于波信号的已知速度来分解距离)、或者调制光系统(例如,以下距离成像系统,该距离成像系统照射在主体处连续变化的光,检测反射的光,并且通过确定反射光的相移的量来确定光旅行的距离)。
图2示出了根据一些实施例的距离传感器系统(例如,图1的距离传感器系统)测量的目标(例如,图1的目标108)的二维高度图(也称为高度图)202。高度图202可以被定义在像素网格或者任何其它坐标系上。像素的纵横比(例如,沿着x轴的像素长度和沿着y轴的像素高度之间的比)可以等于1、大于1或者小于1。在一些实施例中,像素的纵横比可以在相同高度图202中针对像素而是不同的。在一些实施例中,每个像素可以指出如由距离传感器系统测量的目标的高度(或者深度)。例如,像素值200可以指出大于像素值50的高度;像素值50可以指出大于像素值10的高度;并且像素值10可以指出大于像素值0(例如,其中数值0表示保持目标的平台)的高度。在另一个示例中,可以改变用于表示高度的尺度的极性。例如,像素值200可以指出低于像素值50的高度;像素值50可以指出低于像素值10的高度;并且像素值10可以指出低于像素值0的高度。在一些实施例中,高度图202可以基本上大于图2所示出的版本。例如,高度图可以包括1024×1024个像素,或者更多(例如,2048×8192个像素)。
在一些情况下,距离传感器系统可能未能恢复在特定位置处目标的高度。例如,参照图1,由于激光扫描仪系统100相对目标108的物理几何结构(例如由于目标108的压痕),可以从传感器106的视角挡住从目标108反射的激光。作为另一个示例,当目标108的一部分具有孔或者是有光泽时,距离传感器系统可以没有恢复目标108的那个位置处的高度信息。作为另一个示例,距离传感器系统可能由于激光散斑而没有恢复目标的特定部分中的高度信息,该激光散斑可以由于目标上的微观结构表面变化而生成。
当距离传感器系统未能恢复目标的高度时,距离传感器系统可以指出与表示高度值的其它像素不同的这种丢失的高度或者丢失的高度值。例如,距离传感器系统可以指出这种丢失的高度或者丢失的高度值如高度图202上示出的X。作为另一个示例,距离传感器系统可以表示这种丢失的高度或者丢失的高度值作为单独的掩膜图像。掩膜图像可以指出哪些像素指出有效高度值(例如具有数值“1”的像素)并且哪些像素丢失了高度值(例如具有数值“0”的像素)。作为另一个示例,距离传感器系统可以表示这种丢失的高度或者丢失的高度值作为添加到高度图的每个像素的附加位。高度图中的每个像素可以包括指出相关联像素是否丢失了高度值的附加位。此外,在其它示例中,距离传感器系统可以通过标明特殊值作为丢失的高度值的表示而表示这种丢失的高度或者丢失的高度值。例如,当高度图中的像素的值为0时,则这可以指出以下事实:高度图的那个像素丢失了高度值。
可以使用计算设备来处理高度图202,以确定与目标108有关的姿态信息。例如,计算设备可以处理高度图,以确定目标的姿态,该目标的姿态包括目标的位置、定向以及倾斜。目标108的姿态信息可以用在各种应用中。例如,目标108的姿态信息可以在监视电子装配、检测半导体封装或者数字化3D粘土模型过程中是重要的。
因为目标108相对距离感测系统的相对移动可以是快的,所以计算设备应当使用用于确定目标108的姿态信息的有效机制。可惜,用于确定目标的姿态信息的现有机制可以是复杂的且耗时的。例如,大部分机制通过执行高度图的3D配准来确定目标的姿态信息,这已知是复杂的并且计算密集的。因此,距离扫描仪系统可以被配置为提供用于确定目标的姿态信息的有效机制,如本文中更完全描述的。
所公开的设备、系统和方法提供了用于确定目标的姿态信息的有效机制。所公开的设备、系统和方法可以通过处理与目标相关联的高度图的1D切片来提供目标的姿态信息。1D切片为来自基础高度图的像素值的矩阵,例如像素值的一维矩阵。如本文提供的,可以通过在高度图上提供具有多个缝隙的线段、并且通过基于对应缝隙之内包含的高度图像素值而计算线段中的多个缝隙中的每个缝隙的适当高度图值,来生成高度图的1D切片。使用1D切片是有利的,因为1D切片允许用于确定目标的姿态信息的简单、有效的机制。所公开的设备和系统还可以包括耦接到距离传感器系统100的计算设备,其中,该计算设备被配置为接收来自距离传感器100的高度图。
在一些实施例中,计算设备可以被配置为通过提取高度图的两个或者更多1D切片来确定目标的姿态信息。在一些实施例中,一个或者多个1D切片可以与一个或者更多其它1D切片非平行。例如,提取的1D切片中的第一1D切片可以与提取的1D切片中的第二1D切片正交。计算设备可以使用高度图的1D切片,以基于(1)高度图中的1D切片的位置、(2)1D切片之间的角度、以及各项组合,来确定目标的位置(例如,平移向量[x,y])和目标的高度(例如,高度向量z)。在一些实施例中,计算设备还可以被配置为:在目标的单个边缘上提取1D切片。例如,当从顶部观察目标时,目标可以包括多个边缘或者边。计算设备可以从多个边缘或者边中的单个中提取两个或者更多1D切片,以确定目标相对于高度向量z的旋转、目标的倾斜等。
图3示出了根据一些实施例的用于根据高度图来确定目标的姿态信息的计算机化方法。在步骤302中,计算设备可以接收来自距离传感器系统的目标的高度图。在步骤304中,计算设备可以使用切片生成模块,以创建高度图的两个或者多个1D切片。在步骤306中,计算设备可以使用姿态信息生成(PIG)模块来确定目标的姿态信息。
参照图304,高度图的1D切片可以包括跨高度图的线段的多个像素值。可以通过提取来自高度图的数值来计算跨线段的多个像素值,这可以包括:在线段的附近内插或者处理像素值,以确定用于线段的像素值。如参照图4所述,线段可以包括沿一个维度布置的多个缝隙。1D切片的分辨率可以通过控制线段中的缝隙的尺寸来控制。在一些情况下,线段中的一个缝隙可以覆盖高度图中的多个像素。在一些情况下,切片生成模块可以在缝隙覆盖的像素上执行合并操作,以生成用于缝隙的单个数值(例如,将覆盖的像素进行平均)。
在一些情况下,线段可以包括“丢失的高度”或者“丢失的高度值”(例如图2的高度图202中的“X”)。为了在来源于丢失高度值的1D切片的第一值和来源于适当采集的高度值的1D切片的第二值之间进行区别,切片生成模块可以生成可见度切片,该可见度切片针对1D切片的每个缝隙指出从其创建1D切片的可见度值。下面参照图5更详细地描述可见度切片。在一些实施例中,特定像素的可见度值可以指出位于1D切片中的缝隙之下的像素当中的丢失高度值的比例(例如,丢失的像素值的数量和位于缝隙之下的像素的数量之间的比)。在其它实施例中,特定像素的可见度值可以指出处于1D切片中的缝隙之下的像素当中的多个丢失的高度值。
参照步骤306,计算设备中的姿态信息生成(PIG)模块可以基于步骤304中创建的1D切片来确定目标的姿态信息。在一些实施例中,当PIG模块接收来自距离传感器系统100的1D切片的集合(可能非平行的1D切片中的两个或者更多)时,PIG模块可以计算目标的位置(例如,平移向量[x,y])、目标的高度(例如,高度向量z)等。例如,PIG模块可以被配置为:基于1D切片来识别高度图中的感兴趣点的位置,并且使用识别出的感兴趣点的位置来确定目标的位置、高度以及任何相关姿态信息。在一些实施例中,当PIG模块接收沿着目标的单个边缘的两个或者更多1D切片时,PIG模块可以计算目标相对于高度向量z的旋转(并且可选地目标的倾斜)。PIG模块可以例如识别对与1D切片相关联的间断点的位置进行模拟的线,确定识别出的线和在基本姿态(例如,其中假设目标处于在内的姿态)中的目标边缘之间的角度等。
在一些实施例中,PIG模块可以使用目标的形状信息,以(例如基于来自高度图的1D切片)确定目标的姿态信息。形状信息可以包括:(1)目标中的边缘的数量,(2)目标中的边缘相对于其它边缘的相对位置,以及/或者(3)目标中的边缘之间的角度,或者任何其它形状信息。在一些情况下,形状信息还可以包括目标的基本姿态。例如,形状信息可以指出如果目标处于基本姿态位置的目标的已知配置。
在一些情况下,可以在计算姿态信息之前向PIG模块提供(例如预先配置)形状信息。例如,PIG模块可以将形状信息维持在计算设备的存储器中。PIG模块可以将形状信息连同1D切片使用,以确定目标的姿态信息。
在一些实施例中,切片生成模块可以以(例如与高度图的定向相比而言的)任意定向生成高度图的1D切片。切片生成模块可以执行在数学上类似于旋转高度图且提取行(或者更精确地提取多个行并且一起平均该多个行)的操作。然而,如本文所公开的,切片生成模块可以更有效,因为切片生成模块不需要执行不必要的计算,例如对期望1D切片没有贡献的高度图中的一些区域的旋转。此外,如本文公开的,切片生成模块可以能够生成可见度切片,该可见度切片为1D切片中的每个像素提供置信度。
图4示出了根据一些实施例的用于使用切片生成模块来生成高度图的1D切片的过程。切片生成模块可以被配置为在高度图的任意空间位置处以任意定向生成高度图202的1D切片。例如,切片生成模块可以被配置为沿着由相对目标移动的方向偏移角度φ所限定的方向计算1D切片。
在一些实施例中,切片生成模块可以通过在高度图202上提供具有网格402的线段来生成高度图202的1D切片。网格402可以包括多个缝隙404,每个缝隙用于保持1D切片的高度值。当网格402中的缝隙404覆盖高度图202的超过一个像素时,切片生成模块可以在缝隙404覆盖的像素上执行合并操作,以确定用于缝隙404的数值。在覆盖的像素上的合并操作可以包括:像素的平均操作、基于缝隙404覆盖的区域的非丢失的像素的加权平均操作、用于计算像素的中值的中值操作、用于找到像素的最大值的最大值操作、用于找到像素的最小值的最小值操作、用于将像素的数值映射到用于缝隙404的数值的回归操作、以及/或者其它已知类型的操作。合并操作还可以包括可见度切片上的阈值操作。例如,当可见度切片中的缝隙的数值小于预先确定的阈值时,合并操作可以将可见度切片中的缝隙的数值固定为“0”;并且当可见度切片中的缝隙的数值大于或者等于预先确定的阈值时,合并操作可以将可见度切片中的缝隙的数值固定为“1”。
在一些实施例中,切片生成操作可以通过控制高度图202上覆盖的网格402的间隔尺寸(例如通过调整长度406和/或者宽度408来采集更多或者更少的像素)来控制1D切片的分辨率。例如,如果切片生成模块想要生成具有较低分辨率的1D切片,则切片生成模块可以增加网络402中的缝隙404的长度406。在一些实施例中,切片生成模块可以通过增加网格402中的缝隙404的宽度408来在没有牺牲1D切片的分辨率的情况下消除高度图中的噪声。
在一些情况下,高度图可以包括丢失的高度值,该高度值可以引起PIG模块中的不稳定性。因此,在一些实施例中,切片生成模块可以提供指出位于1D切片之下的像素的可见度的可见度切片。可见度切片可以与1D切片具有相同维度,并且可见度切片中的每个像素可以指出1D切片中的对应像素值的置信。在一些情况下,可见度切片中的像素可以指出位于缝隙404之下的像素中的丢失的高度值的比例;在其它情况下,可见度切片中的像素可以指出位于缝隙404之下的像素中的丢失的高度值的数量。
图5示出了根据一些实施例的1D切片以及可见度切片。1D切片502指出由系统(例如基于图4的网格402和高度图202)创建的1D切片。可见度切片504包括指出基于从其计算缝隙的数值的缝隙中的置信的1D切片502中的每个缝隙的可见度度量。在一些实施例中,基于用于计算1D切片的缝隙的像素中的丢失的高度值的比例来计算可见度度量。在该示例性实施例中,通过对网格402中的缝隙404所覆盖的高度图像素的非丢失的高度值进行平均来计算用于1D切片中的缝隙的数值。例如,通过平均图4中的网格402的缝隙404a之下的像素来计算1D切片502中的缝隙506的数值。可见度切片504中的对应缝隙508指出缝隙404a中的30%的高度图像素是可见的(例如由于目标上的遮蔽、孔而导致的高度图中没有丢失)。作为另一个示例,如缝隙510中所示的100%的可见性值指出1D切片502的对应缝隙512中的所有像素是可见的。
因此,如图5的示例中所示,1D切片502的每个缝隙(例如,每个像素)具有与可见度切片504中的缝隙相关联的可见度值,该可见度值基于激光传感器数据来计算(例如,无论基础高度图中的像素是可见的还是不可见的)。在一些实施例中,可以从距离图像的集合中来创建1D切片,并且可以跨距离图像的集合来平均可见度度量,以计算用于每个1D切片缝隙的可见度度量。在如图5所示的一些实施例中,可见度度量处于[0-100%]的范围内,其中,0%指出完全不可见,并且100%指出完全可见。在一些实施例中,可见度度量被归一化为[0,1]的范围内,其中0为完全不可见,并且1为完全可见。
切片生成模块可以用在各种应用中。例如,切片生成模块可以用于确定高度图采集的目标的姿态信息。如下面详细公开的。作为另一个示例,切片生成模块还可以用于放置交叉点或者测量三维中的特征之间的距离。例如,切片生成模块可以用于在高度维度中寻找角点,将线拟合成切片数据(允许角度的计算)或者将曲线拟合成切片数据。可见度切片可以用于当执行如上所述的这些功能时。然后,产生的点和线自身可以用于放置交叉点或者测量3D中的特征之间的距离。作为另一个示例,切片生成模块可以用于在高度图上放置特定图案。例如,切片生成模块可以生成1D切片,该1D切片可以与期望图案有关(或者相比较),以在高度图上放置期望图案。
常常,高度图可以包括不仅目标的距离信息(例如,高度信息),而且其它信息,例如目标周围的背景的距离信息,例如传送带。为了限制其中提取特征并且获得测量值的区域,高度图可以与感兴趣区域相关联,该感兴趣区域指出其中可以处理高度图的区域。感兴趣区域可以包括二维形状的集合,包括例如仿射矩形和圆环扇区。在一些情况下,可以使用边缘检测技术来自动检测感兴趣区域。在其它情况下,用户可以使用用户接口来设置感兴趣区域。例如,用户可以在高度图上画一个或者多个二维形状,以识别感兴趣区域。
在一些实施例中,如果已经从高度图中生成了1D切片,则可以直接在1D切片上定义感兴趣区域。这种方式,可以仅在感兴趣区域内提取1D切片的相关特征。
在一些情况下,高度图可以用于确定由高度图采集的目标的姿态信息,例如目标的位置、定向、和/或倾斜。在一些实施例中,可以使用计算设备中的切片生成模块和PIG模块来确定高度图采集的目标的姿态信息,如参照图15更详细解释的。例如,切片生成模块可以生成高度图的两个或者更多非平行1D切片。随后,PIG模块可以使用两个或者更多非平行1D切片,以确定目标的位置(例如平移向量[x,y])和高度(例如,高度向量z)。作为另一个示例,PIG模块可以使用沿着目标的单个边缘的1D切片,以确定目标相对于高度向量z的旋转、目标的倾斜等。
图6示出了根据一些实施例的用于使用高度图的两个或者多个1D切片来确定目标的位置和高度的计算机化方法,并且图7提供了根据一些实施例的图6的过程的说明。在步骤602中,切片生成模块接收高度图并且重新得到感兴趣目标的形状信息。如图7所示,高度图702可以包括目标704的距离信息。形状信息可以包括目标中的边缘的描述。例如,目标的描述可以指出目标包括至少两个刚性、笔直、非平行边缘706、708。在一些实施例中,形状信息可以包括一个或者多个边缘706相对于其它边缘708的相对位置和角度。
在步骤604中,切片生成模块可以从高度图中生成两个或者多个1D切片,如图7所示,如710和712。在一些实施例中,切片生成模块可以使用图4至图5所述的切片生成机制。在一些情况下,切片生成模块可以生成彼此非平行的1D切片710、712。例如,切片生成模块可以生成与步骤602中识别的目标的信息中的高度图中的一个或者多个潜在边缘(例如该潜在边缘可以对应于边缘706、708)垂直的1D切片710、712。在一些实施例中,切片生成模块可以保持指出1D切片在高度图中的位置的位置记录。
在一些实施例中,切片生成模块可以估计目标在高度图中的潜在位置,并且以1D切片将在某点处在高度图中横跨目标边缘的目的而在估计的目标的附近生成1D切片。例如,切片生成模块可以从高度图中抽取几个像素,并且选择具有最高高度值的像素作为目标的估计的、中心位置。作为另一个示例,切片生成模块可以在高度图上执行低通滤波,以从高度图中移除高频噪声,并且选择低通滤波后的高度图中具有最高值的像素作为目标的估计的、中心位置。
在步骤606中,PIG模块可以接收来自切片生成模块的1D切片,并且基于接收到的1D切片来识别高度图中的感兴趣的点。在一些实施例中,高度图中的感兴趣的点包括1D切片中的间断点。1D切片中的间断点可以对应于例如目标的边缘。目标的边缘可以包括来自具有恒定高度值的背景的高度值中的突然变化。目标的边缘也可以包括来自具有恒定值的背景的高度值中的渐变(例如在圆形边缘或者带角边缘的情况下)。
在一些情况下,PIG模块可以使用间断点检测器来检测1D切片中的间断点。间断点检测器可以包括一维信号处理工具,该工具能够检测一维信号中的变化。
在一些情况下,间断点检测器可以被配置为:通过检测1D切片的数值在其处增加或者减少超过基准值之上的、某个阈值的1D切片中的位置(例如,该位置可以为表示目标的边缘)来放置间断点。可以基于包括1D切片的数值的统计来确定基准值。在一些实施例中,间断点检测器可以包括阈值检测器,该阈值检测器被配置为通过检测数值在其处超过或者低于某个阈值的1D切片中的位置来放置间断点。
在一些实施例中,间断点检测器可以适合于特定距离扫描系统或者特定感兴趣目标。例如,如果已知目标具有垂直边缘,则间断点检测器可以使用那个现有知识来在数据中找到垂直间断点。作为另一个示例,如果已知目标是平截锥体(例如图10中示出的平截锥体),则间断点检测器可以使用那个现有知识来搜索斜率在其处开始增加的1D切片中的第一点,而不是高度数据中的间断点,因为已知平截锥体的高度缓慢增加。因此,间断点检测器可以使用与目标有关的知识来以高度数据的一阶导数而不是直接高度数据搜索间断点。在一些实施例中,间断点检测器可以被配置为通过检测1D的斜率在其处改变超过某个阈值的1D切片中的位置来放置间断点。例如,间断点检测器可以包括微分器,该微分器被配置为确定1D切片的导数在哪里交叉在特定阈值之上或者交叉在特定阈值之下等。
在一些实施例中,高度图中的感兴趣点可以包括1D切片与一维模板对齐的位置。例如,PIG模块可以维持与待搜索的图案对应的一维模板。一维模板可以包括阶梯函数信号、斜坡函数信号、梯形函数信号或者待搜索的任何其它合适形状的信号。在一些情况下,一维模板短于1D切片。
在一些情况下,PIG模块可以被配置为:通过识别1D切片在其处与一维模板对齐的位置来识别高度图中的感兴趣点。在一些情况下,PIG模块被配置为:通过(1)将一维模板与一个或者多个1D切片关联并且(2)识别一维模板和一个或者多个1D切片之间的关联性在其处是最高的或者在其处大于预先确定阈值的位置,来识别1D切片在其处与一维模板对齐的位置。例如,PIG模块可以被配置为:(1)计算一维模板和1D切片之间的关联性,(2)将一维模板移位一个像素,(3)针对所有可能移位重复步骤(1)和(2),并且(4)识别一维模板和一个或者多个1D切片之间的关联性在其处是最高的或者在其处大于预先确定阈值的移位的量。
一旦PIG模块识别1D切片中的感兴趣点,则PIG模块就可以将1D切片中的感兴趣点平移到它们在原始高度图中的位置。PIG模块可以使用1D切片在原始高度图中的位置,以将1D切片中的感兴趣点的位置移到高度图中的位置。例如,如果间断点检测器识别出了目标的边缘点,则PIG模块可以将检测出的边缘移到高度图中的位置,以识别该边缘在高度图中的哪里。然后,PIG模块可以确定高度图中的识别出的间断点处的高度值,由此识别目标的高度信息。例如,PIG模块可以通过采样识别出的间断点处的高度图的数值来确定在识别出的间断点处的高度值。
在步骤608中,PIG模块可以基于步骤606中识别的感兴趣点的位置和目标的形状信息来确定目标在高度图中的位置。例如,PIG模块可以将提供目标中的一个或者多个边缘的相对位置和角度的形状信息转换成目标中的一个或者多个边缘的绝对位置。
在一些情况下,高度图可以包括丢失的高度值。丢失的高度图可以导致PIG模块中的不稳定性。例如,丢失的高度值可以导致不确定或者错误的计算,该计算没有充分表示高度图中包含的信息。如果沿着另外的直线存在丢失的高度值,则会可能误解那个直线具有真实的孔。在另一个示例中,使用当前激光扫描系统,丢失值可以位于角点处。这可以致使确定角点的准确位置的挑战。
因此,在一些实施例中,PIG模块可以被配置为丢弃来源于大量丢失的高度值的1D切片。例如,当可见度切片指出位于1D切片之下的像素中的丢失的高度值的比例时,PIG模块可以确定可见度切片中的任一个数值是否小于预先确定的阈值,例如30%。如果可见度切片中的任一个数值小于预先确定的阈值,则PIG模块可以丢弃与该可见度切片相关联的1D切片,并且请求切片生成模块提供新的1D切片。作为另一个示例,当可见度切片指出位于1D切片中的缝隙之下的多个丢失高度值时,PIG模块可以确定可见度切片中的丢失的高度值的数量是否大于预先确定的阈值,例如2。如果可见度切片中的丢失的高度值的数量大于预先确定的阈值,则PIG模块可以丢弃与该可见度切片相关联的1D切片,并且请求切片生成模块提供新的1D切片。
在一些实施例中,PIG模块可以将可见度切片用在将直线拟合成1D切片。例如,PIG模块可以使用可见度切片,以执行加权直线拟合。例如,加权最小二平方拟合可以通过对具有较低置信度的(或者完全不可见的)高度值给出较小重要性来对直线产生更精确拟合。
在一些实施例中,当多个1D切片可用于目标的单个边缘时,PIG模块可以确定目标绕着高度向量(例如,其中测量目标的高度的方向)的旋转。图8示出了根据一些实施例的用于确定目标的旋转的机制。图8示出具有目标804的距离信息的高度图802。在该说明中,目标804相对于由目标的形状信息指出的基本姿态806旋转了角度。PIG模块可以跨目标的单个边缘例如812而使用多个1D切片例如808和810,以确定相对于基本姿态806(或者目标的任何其它基本姿态)的旋转角度
图9示出了根据一些实施例的用于确定目标绕着高度向量的旋转的计算机化方法。在步骤902中,PIG模块可以生成高度图的1D切片(例如,如图6的步骤602至608中所述)。在该情况下,PIG模块可以生成沿着目标的单个边缘的至少两个1D切片808,810,并且恢复沿着目标的单个边缘的至少两个感兴趣点例如间断点814,816的位置。
在步骤904中,PIG模块可以识别对步骤902中识别出的两个或者更多个感兴趣点进行模拟的直线。例如,当PIG模块在步骤902中识别出两个感兴趣点时,PIG模块可以识别通过该两个感兴趣点的直线。作为另一个示例,当PIG模块在步骤902中识别出超过两个感兴趣点时,PIG模块可以将这些感兴趣点拟合成直线。例如,可以使用标准直线拟合技术来执行拟合。例如,PIG模块可以识别使感兴趣和直线之间的正交距离的总和最小化的直线。
在步骤906中,PIG模块可以确定直线和目标边缘的假设定向之间的角度。由于PIG模块可以基于目标的形状信息来获得目标边缘的假定定向,所以PIG模块可以很快确定直线和假设定向之间的角度。在一些实施例中,PIG模块可以使用直线方向的点积操作来计算直线和直线的假设定向之间的角度。
在一些实施例中,PIG模块可以通过使用目标的不同边缘来多次重复步骤902至906,以提高估计的旋转角度的精确性。例如,PIG模块可以将1D切片818,820用在目标804的另一个边缘上来重复步骤902至906,由此识别模拟感兴趣点(例如,目标804的该边缘上的间断点822,824)的直线。而,PIG模块可以基于该新直线来生成旋转角度的另一个估计。这种方式,PIG模块可以产生目标804的基本姿态806和实际姿态之间的旋转角度的额外估计。PIG模块可以处理旋转角度的几个估计,以提供旋转角度的单个可靠估计。这种方式,PIG模块可以减少旋转角度估计中的噪声。在一些实施例中,PIG模块可以使用以下操作中的一个或者多个来处理旋转角度的几个估计:平均操作、中值操作或者回归操作,以将旋转角度的几个估计映射成旋转角度的单个估计。
在一些实施例中,PIG模块可以估计目标的倾斜。例如,PIG模块可以确定检测出的感兴趣点中的每个点处的高度值,并且将那些高度值拟合成平面。该拟合的平面可以表示目标的顶部(或者底部)表面的高度,这提供目标的倾斜信息(假设目标的表面具有相同高度)。在一些情况下,代替将高度值拟合成平面,PIG模块可以将测量出的高度值匹配成被扫描的目标的金色模板模型中指定的期望高度值。金色模板模型为可表示期望被找到的高度值的模型。金色模板模型例如可以包括指定在高度图中要被找到的目标的高度的预先确定的部分模型。在这种情况下,PIG模块可以将金色模板模型与高度图关联,以根据金色模板模型来确定高度图和期望高度值之间的差值,并且使用该差值来确定目标的倾斜。
图9中示出的过程可以用于确定目标的位置、目标的高度、以及顶部表面的倾斜角。为了说明图9中的过程的应用,为了简单起见,假设目标的形状被已知为具有平面直角顶部,其可以倾斜了未知角度并且还可以具有围绕Z轴朝向顶部的较小旋转(例如当从顶部观察时的旋转)。
为了确定目标的位置、目标的高度以及顶部表面的倾斜角,PIG模块被配置为(即,沿着原始图像的X轴)设立由目标尺寸的合理百分比例如20%分离的至少两个1D平行切片,该至少两个1D平行切片足够长,以保证它们横过整个目标。使用间断点检测器,PIG模块可以确定每个1D切片中的直角顶部的开始位置和结束位置。通过将这些点变换回到目标的高度图,PIG模块可以确定目标空间中的四个点,即表示沿着平面顶部左边缘的点的两个点以及沿着平面顶部右边缘的点的两个点。
PIG模块可以通过确定落到左边缘上的两个点和右边缘上形成的两个点之间形成的向量角来确定目标的旋转角度。PIG模块可以通过对由左边缘点和右边缘点记录的两个角进行平均来减少由于扫描仪误差、数值误差或者其它误差源而导致的数值不精确。
PIG模块可以通过检查在高度图中的这四个点的高度值并且使用平面拟合方法识别由这些点表示的平面,来确定平面顶部的高度和倾斜。
PIG模块也可以通过对来自第一切片的左边缘位置的和右边缘位置的x坐标位置或者来自第二切片的左边缘位置的和右边缘位置的x坐标位置进行平均来确定平面顶部的中心x坐标。在一些情况下,PIG模块可以平均所有四个x坐标位置,以提高准确度。
PIG模块可以针对沿着垂直维度的第二对1D平行切片重复上述过程。这样方式,PIG模块可以确定平面顶部的中心的y坐标位置。此外,PIG模块可以使用这些1D平行切片来确定平面顶部的旋转角度和高度值,并且使用从第一对1D平行切片的结果中平均那些结果,以提高估计的准确度。
图10示出了金字塔结构目标的高度图和通过目标的边缘的几个1D切片以出于说明目的,其中,较黑的像素比较亮的像素更远离传感器。高度图1002包括目标1004的图像以及其上放置目标1004的板1006。在一些实施例中,切片生成模块可以被配置为在允许目标能够被容易识别的区域中生成高度图的切片。例如,切片生成模块可以被配置为生成横跨板1006的已知孔的1D切片,例如切片1008,1010以及1012。作为另一个示例,切片生成模块可以被配置为生成通过高度图的中心部分的1D切片。
在一些实施例中,切片生成模块可以被配置为:通过从先前生成的1D切片中预测目标1004的位置来从生成1D切片的区域中选择区域。例如,假如切片生成模块计算了在板1006的已知孔处的1D切片,例如切片1008,1010以及1012。基于1D切片1012,切片生成模块可以确定目标可以位于高度图的中心部分处。因此,1D切片生成模块可以计算通过高度的中心部分的1D切片,以生成例如1D切片1014,1016。PIG模块可以使用1D切片来估计该高度图中的金字塔结构目标的姿态。
在一些实施例中,目标的1D切片可以用于提取由高度图采集的目标的特征。提取的特征可以用于采取与目标有关的各种测量,例如目标的尺寸、目标的形状等。提取的特征也可以用于辅助姿态信息生成模块确定目标的姿态信息。
可以使用特征提取(FE)模块来提取目标的特征。在一些实施例中,FE模块可以被配置为在由向量(u,v)识别的给出方向中识别最远点。具体地,考虑到二维向量(u,v),FE模块被配置为使用(u,v)的点积的最高值在1D切片上找到点(k,zk)。换言之,FE模块被配置为在1D切片上确定点(k,zk),使得针对所有(j,zj),u+vzk≥u+vzj。在一些实施例中,可以用与角度对应的单个值来参数化向量(u,v)。例如,当向量相对于x轴的角度为α时,则该向量可以表示为(cos(α),sin(α))。
该特征可以用于确定目标的宽度。图11示出了根据一些实施例的用于识别1D切片在给定方向的最远点的应用。如图11所示,FE模块可以被配置为识别沿着由箭头1106识别的方向在感兴趣区域1104之内1D切片1102上的点。这允许FE模块识别1D切片1102的顶部的最左边点。同样,FE模块可以被配置为识别沿着由箭头1108识别的方向在感兴趣区域1104之内1D切片1102上的点。这允许FE模块识别1D切片1102的顶部的最右边点。FE模块可以计算最左边点和最右边点之间的差,以确定由1D切片1102识别的目标的顶部部分的宽度。在一些实施例中,感兴趣区域1104的尺寸可以被控制,以确定检测出的特征(例如,在以上提供的示例中,目标的顶部部分的宽度)的期望间隔尺寸。
在一些实施例中,FE模块可以被配置为检测1D切片的角点。图12示出了根据一些实施例的角点检测操作。1D切片1202可以包括由1至5识别的一个或者多个角点。为了检测这些角点,1D切片可以被配置为确定1D切片的二次导数,并且选择具有最高局部二次导数的点(例如,感兴趣窗口内的最高二次导数)。在一些实施例中,FE模块可以考虑二次导数的极性,以确定检测出的角点是凸出来的角点例如角点1,2以及4还是凹进去的角点例如角点3和5。
在一些实施例中,FE模块可以被配置为检测两条线或者线段的交叉。该交叉点可能不位于线或者线段上,但是可以位于线段的延续线上。当感兴趣点处于丢失的像素区域中时,该特征可以是有用的。图13示出了根据一些实施例的用于计算两个线段的交叉点的过程。1D切片1302包括两个线段1304和1306。可以外推这些线段,以识别其中两个线段相交的位置。外推的线段1304,1306在其处相交的该点1308为交叉点。当1D切片1302的特定部分丢失时,FE模块的该特征可以特别有用。例如,在这种情况下,交叉点1308处于其中1D切片值丢失的区域1310内,如由可见度切片指示。
在一些实施例中,FE模块可以被配置为将线段参数化,以便于确定交叉点。例如,FE模块可以被配置为使用例如回归技术或者随机抽样一致性(RANSAC)技术来将1D切片上的点拟合成线性模型。
在一些实施例中,FE模块可以被配置为从一组点中找到具有期望斜率(或者具有从期望斜率中的具有误差范围内的斜率)的线段。图14示出了根据一些实施例的用于找到具有期望斜率的线段的过程。FE模块可以被配置为计算指定尺寸的滑动窗口1402里面的点的斜率,直到找到适合于由输入参数指定的角度范围的斜率,例如由线1404指定的斜率为止。一旦FE模块识别这种点窗口,FE模块可以返回适合斜率要求1404的最大线段1406。在一些情况下,FE模块可以被配置为使用回归技术来计算滑动窗口1402里面的点的斜率。在其它情况下,FE模块可以被配置为分两个步骤来计算滑动窗口1402里面的点的斜率。第一步骤包括:使用有限脉冲响应(FIR)滤波器来丢弃(或者过滤掉)明显不满足斜率要求的点。第二步骤包括:使用回归技术来处理剩余的点,以计算该斜率。该两个步骤处理可以是计算上有效的,这是因为当存在大量待适合的数据点时回归技术可以是计算上昂贵的。
在一些实施例中,FE模块可以被配置为检测边缘。FE模块可以确定边缘位置作为二次导数的零交点(即斜率的最小值/最大值)。通过将[-1,2,-1]与1D切片卷积来计算该导数,并且可选地,还使用高斯来平滑卷积的结果。可以使用输入参数来控制高斯的长度。仅检测到其斜率是足够大(按绝对值)的边缘。
在一些实施例中,FE模块可以被配置为检测预先确定形状例如圆形。FE模块可以通过找到最小化误差D的半径R和中心点(cx,cz)来检测圆形:
在一些情况下,FE模块可以分两个步骤来最小化误差D。在第一步骤中,FE模块可以找到最小化误差D的中心点(cx,cz)。而,在第二步骤中,FE模块可以在预先确定中心点处找到最小化误差D的半径R。
在一些情况下,FE模块可以使用可见度切片,以精炼特征提取和/或处理结果。例如,如先前讨论,FE模块可以通过使用预先确定阈值来将可见度度量(例如,从[0…1]的范围)二值化成简单的真(1)或者假(0)度量。例如,具有阈值处或者之上的数值的任何可见度度量设置为可见的(1),或者阈值之下的任何事物设置成不可见的(0)。然后,FE模块可以仅使用1D切片中的可见(1)像素来执行上面讨论的特征提取。
二值化的可见度切片可以有用于FE模块的各种应用。假设FE模块被配置为(例如,针对边缘检测)将横截面区域拟合成直线,并且测量的部分已知是实线的。如果测量的部分是实线的,则丢失的像素可以仅仅起因于图像传感器导致的误差或者经过目标的反射,并且因此当执行直线拟合时可以被忽略。因此,FE模块可以设置较低阈值(例如30%至50%),以保证最大数量的1D切片像素可以用于执行直线拟合。
作为另一个示例,FE模块可以被配置为确定1D切片中的最高点或者像素。在这种情况下,即使用于1D切片的可见度度量是低的,FE模块也可以被配置为对可见度切片的数值进行二值化,并且使用1D切片的数值。例如,阈值可以被配置为忽略具有0.2阈值之下的权重的1D切片数值,并且因此具有0.2或者更大数值的任何事物被考虑在计算中。
作为另一个示例,FE模块可以被配置为使用可见度切片,以在高度图中找到目标的角点。由于激光源的光学性质(例如,如由图像传感器观察到的那样激光源相对于目标的定位),可以在目标的角点(例如目标的边缘接触基本表面的地方)周围观察不可见区域。取决于被观察的目标的定位,可以挡住边缘,使得导致的高度图可以包括大量不可见像素。因此,角点找到功能可以被设计为将这种不可见像素考虑在内,以避免导致不精确结果的这种测量。例如,算法可以被配置为使用来自可见度切片的可见度信息,以更好估计真角点。在一些实施例中,如果该算法确定存在大量不可见像素(例如通过二值化可见度切片),则该算法可以被配置为使用来自高度图的更多有效数据(例如可见像素),该有效数据进一步远离“坏的”不可见区域以估计角点或者边缘在高度图中的位置同时忽视通常不可见像素。
在一些实施例中,FE模块可以将可见度切片考虑到距离感测结果中。具体地,FE模块可以使用1D切片和可见度切片作为输入,以起到根据1D切片和可见度切片计算期望值的功能。例如,FE模块可以使用可见度切片作为与1D切片中像素相关联的权重,使得像素可以基于与像素相关联的可见度度量来向提取特征或者按压结果贡献不同的量。作为另一个示例,FE模块可以被配置为在1D切片的区域中得到平均高度。FE模块可以使用真实可见度权重来准确反应该区域中的可见像素的平均高度值,同时忽略来自高度图的不可见源像素的贡献。
所公开的设备和系统可以包括计算设备和距离传感器系统。图15示出了根据一些实施例的用于采集目标的高度图的示例性距离传感器系统和用于处理由距离传感器系统采集的高度图的计算设备。计算设备1500可以包括处理器1502、存储器1504、切片生成模块1506、可以包括间断点检测器1510的姿态信息生成(PIG)模块1508、以及特征提取(FE)模块1514。如上所述,切片生成模块1506可以被配置为生成高度图的一个或者多个1D切片;PIG模块1508可以被配置为通过使用间断点检测器1510来处理由切片生成模块生成的1D切片,以确定目标在高度图中的姿态信息;并且FE模块1514可以检测并且生成用于由高度图测量的目标的特征。在其它实施例中,计算设备1500可以包括用于执行操作的不同组模块。
计算设备1500可以经由接口1512与距离传感器系统100通信。接口1512可以以硬件方式实现,以通过各种介质例如光纤、铜以及无线并且通过其中一些可以是非暂时的多个不同协议来发送和接收信号。
在一些实施例中,模块1506,1508,1514中的一个或者多个可以以软件方式使用存储器1504来实现。存储器1504可以为非暂时计算机可读介质、闪存、磁盘驱动器、光学驱动器、可编程只读存储器(PROM)、只读存储器(ROM)、或者任何其它存储器或者存储器的各项组合。软件可以在能够执行计算机指令或者计算机代码的处理器1502上运行。处理器1502也可以以硬件方式使用专用集成电路(ASIC)、可编程逻辑阵列(PLA)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或者任何其它集成电路来实现。
执行计算机程序的一个或者多个处理器可以执行方法步骤,以通过对输入数据进行操作并且/或者生成输出数据来执行本发明的功能。模块(例如模块1506,1508,1514)中的一个或者多个可以以硬件方式使用ASIC(专用集成电路)、PLA(可编程逻辑阵列)、DSP(数字信号处理器)、FPGA(现场可编程门阵列)或者其它集成电路来实现。在一些实施例中,两个或者多个模块1506,1508可以在相同集成电路例如ASIC、PLA、DSP或者FPGA上实现,由此形成片上系统。子程序可以指代计算机程序的一部分和/或实现一个或者多个功能的处理器/专用电路。
在一些实施例中,计算设备1500可以包括用户设备。用户设备可以与一个或者多个无线电接入网络通信并且与有限通信网络通信。用户设备可以为移动电话。用户设备也可以为用于提供服务例如文字处理、web浏览、游戏、e-book能力、操作系统以及全键盘的智能电话。用户设备也可以为用于提供网络接入和智能电话提供的大部分服务的平板电脑。用户设备使用操作系统例如Symbian OS,iPhone OS,RIM’s Blackberry,Windows Mobile,Linux,HP WebOS以及Android来操作。屏幕可以为用于将数据输入到移动设备的触摸屏,在这种情况下,触摸屏可以被使用而代替全键盘。用户设备也可以保持全球定位坐标、轮廓信息或者其它位置信息。
计算设备1500也可以包括服务器。该服务器可以使用操作系统(OS)软件来操作。在一些实施例中,OS软件基于Linux软件内核,并且运行服务器中的具体应用例如监视任务并且提供协议堆栈。OS软件允许为控制和数据路径单独分配服务器资源。例如,特定包加速器卡和包服务卡专用于执行路由或者安全控制功能,同时其它包加速器卡/包服务卡专用于处理用户会话业务。随着网络需求改变,可以动态部署硬件资源,以满足一些实施例中的需求。
上述技术可以以数字电子电路或者以计算机硬件、固件、软件或者它们各项组合来实现。该实现方式也可以为用于执行的计算机程序产品例如机器可读存储设备中明白体现的计算机程序,以控制数据处理设备例如可编程处理器、计算机和/或多个计算机的操作。计算机程序可以以任何形式的计算机或者编程语言来重写,该编程语言包括源代码、编译代码、翻译代码和/或机器代码,并且可以以任何形式部署该计算机程序,该计算机程序包括独立程序或者子程序、元素或者适合于用在计算环境中的其它单元。计算机程序可以被部署,以在一个或者多个站点处的一个计算机上或者多个计算机上执行。
适合于执行计算机程序的处理器包括例如通用微处理器和专用处理器、数字信号处理器以及任何种类数字计算机的任何一个或者多个处理器。通常,处理器接收来自只读存储器或者随机存取存储器或者二者的指令和数据。计算机的基本元件为用于执行指令的处理器和用于存储指令和/或数据的一个或者多个存储器设备。存储器设备例如缓存可以用于暂时存储数据。存储器设备也可以用于长期数据存储。计算机能够可操作地耦接到外部设备例如工厂自动或者后勤设备或者耦接到通信网络例如工厂自动或者后勤设备,以便于接收来自设备或者网络的指令和/或数据,并且/或者向设备或者网络转移指令和/或数据。适合于体现计算机程序指令和数据的计算机可读存储器设备包括所有形式的易失性存储器和非易失性存储器,包括例如:半导体存储器设备例如DRAM、SRAM、EPROM、EEPROM以及闪存设备;磁盘例如内置硬盘或者可移除盘;磁光盘;以及光盘,例如CD、DVD、HD-DVD以及蓝光盘。处理器和存储器可以通过专用逻辑电路增补并且/或者并入到专用逻辑电路中。
应当理解的是,所公开主题不限于到构建的细节的应用和到下面描述中给出的或者附图中示出的组件的布置的应用。所公开主题能够用于其它实施例并且能够以各种方式来实施和执行。此外,应当理解的是,本文中使用的措辞和术语是出于描述目的,并且不应当理解为限制。
像这样,本领域的技术人员将明白本公开基于的概念可以容易用作用于设计执行所公开主题的几个目的的其它结构、方法和系统的基础。因此,权利要求被认为包括没有脱离所公开主题的精神和范围之内的这种等同结构是重要的。
虽然所公开主题在前述示例性实施例中描述并且示出了,但是要理解,仅通过举例完成了本公开,并且可以在不脱离所公开主题的精神和范围的情况下做出所公开主题的实现方式的细节方面的大量变化。

Claims (24)

1.一种用于确定目标在包括由距离传感器系统采集的多个像素的高度图中的姿态信息的计算机化方法,所述方法包括:
在计算设备中的切片生成模块处接收由所述距离传感器系统采集的所述目标的所述高度图;
由所述切片生成模块在高度图上提供多个线段,其中每个线段具有多个缝隙;
由所述切片生成模块确定多个可见度切片,其中每个可见度切片与线段中的一个关联,并且包括多个可见度值,其中每个可见度值指示出在关联的线段的多个缝隙中的一个之下的像素当中的丢失高度值的比例;
由所述切片生成模块从所述高度图提取多个一维切片,其中提取所述多个一维切片包括基于具有非丢失高度值的多个缝隙中的每个缝隙内包含的多个像素的子集来确定线段中的多个缝隙中的每个缝隙的合适高度图值;
由所述切片生成模块提取指出所述多个一维切片在所述高度图内的位置的位置记录;
由所述计算设备中的姿态信息生成模块通过分析多个提取出的一维切片、所述位置记录和所述多个可见度切片来识别所述高度图中的至少一个感兴趣点的位置;并且
由所述姿态信息生成模块基于所述高度图中的至少一个感兴趣点的位置来确定所述目标的所述姿态信息。
2.根据权利要求1所述的方法,还包括:保持所述目标的形状信息,并且其中,基于所述位置来确定所述目标的所述姿态信息还包括:基于所述形状信息和所述高度图中的至少一个感兴趣点的位置来确定所述目标的所述姿态信息。
3.根据权利要求2所述的方法,其中,所述形状信息包括下面中的一个或者多个:(1)所述目标中的多个边缘,(2)在所述目标中,所述边缘相对于其它边缘的相对位置,以及(3)所述目标中的边缘之间的角度。
4.根据权利要求2所述的方法,其中,生成所述高度图的所述多个一维切片包括:生成两个或者多个非平行一维切片,其中,所述每个非平行一维切片被配置为横跨所述目标的唯一边缘。
5.根据权利要求2所述的方法,其中,生成所述高度图的所述多个一维切片包括:生成被配置为横跨所述目标的第一边缘的两个或者更多个一维切片,并且其中,所述目标的所述姿态信息包括:所述目标绕着与所述目标的高度对齐的轴线的旋转角。
6.根据权利要求5所述的方法,其中,确定所述目标的所述姿态信息包括:拟合沿着所述目标的所述第一边缘的通过至少一个感兴趣点的直线,并且基于所述目标的形状信息来确定所述直线和所述目标的所述第一边缘的假设方向之间的角度。
7.根据权利要求1所述的方法,其中,所述至少一个感兴趣点包括所述多个一维切片中的一个切片中的间断点,并且其中,基于所述多个一维切片和所述位置记录来识别所述高度图中的至少一个感兴趣点的位置包括:
由所述计算设备中的所述姿态信息生成模块来识别所述多个一维切片中的一个切片中的间断点;并且
由所述姿态信息生成模块基于所述位置记录来确定所述高度图中的识别出的间断点的位置。
8.根据权利要求7所述的方法,所述多个一维切片中的所述间断点包括以下位置:在该位置处,所述多个一维切片横跨所述目标在所述高度图中的边缘。
9.根据权利要求1所述的方法,其中,基于所述多个一维切片来识别所述至少一个感兴趣点的位置包括:确定所述多个一维切片中的一个切片与一维模板对齐处的位置。
10.根据权利要求9所述的方法,其中,确定所述多个一维切片中的一个切片与一维模板对齐处的位置包括:确定所述多个一维切片中的一个切片和所述一维模板之间的关联。
11.根据权利要求1所述的方法,其中,生成所述高度图的所述多个一维切片包括:
在所述高度图的像素上提供包括多个缝隙的网格;
确定处于所述网格的所述多个缝隙中的一个缝隙之下的高度图的第一像素集合;并且
通过对所述第一像素集合执行合并操作来确定用于所述网格的多个缝隙中的一个缝隙的数值,其中,所述合并操作包括下面中的一个或者多个:平均操作、所述第一像素集合中的非丢失数值的加权平均操作、中值操作、用于找到第一像素集合的最大值的最大值操作、用于找到第一像素集合的最小值的最小值操作、回归操作、或者各项组合。
12.根据权利要求1所述的方法,其中,识别高度图中的至少一个感兴趣点的位置包括:当与多个一维切片中的一个对应的可见度切片中的任一值小于预先确定的阈值时丢弃所述多个一维切片中的所述一个。
13.根据权利要求1所述的方法,其中,分析多个提取出的一维切片、所述位置记录和所述多个可见度切片包括:使用可见度切片中的一个作为与提取出的一维切片中的一个关联的权重。
14.根据权利要求13所述的方法,还包括:使用可见度切片中的一个作为权重来计算提取出的一维切片中的一个的加权平均高度值。
15.根据权利要求1所述的方法,还包括:将直线拟合成所述多个一维切片中的一个。
16.根据权利要求15所述的方法,其中,将直线拟合成所述多个一维切片中的一个包括:以加权最小二乘拟合使用对应可见度切片作为权重来拟合所述直线。
17.一种被配置为确定目标在包括由距离传感器系统采集的多个像素的高度图中的姿态信息的计算设备,所述计算设备包括:
一个或者多个接口,其被配置为与所述距离传感器系统通信;
处理器,其与所述一个或者多个接口通信,并且被配置为运行存储器中存储的切片生成模块,所述切片生成模块被配置为:
接收由所述距离传感器系统采集的所述目标的所述高度图;
在高度图上提供多个线段,其中每个线段具有多个缝隙;
确定多个可见度切片,其中每个可见度切片与线段中的一个关联,并且包括多个可见度值,其中每个可见度值指示出在关联的线段的多个缝隙中的一个之下的像素当中的丢失高度值的比例;
从高度图提取多个一维切片和用于指出多个一维切片在所述高度图上的位置的位置记录,其中提取所述多个一维切片包括基于多个缝隙中的每个缝隙内包含的多个像素的子集来确定线段中的多个缝隙中的每个缝隙的合适高度图值;并且
其中,所述处理器还被配置为运行在所述存储器中存储的姿态信息生成模块,所述姿态信息生成模块被配置为:
通过分析多个提取出的一维切片、所述位置记录和所述多个可见度切片来识别所述高度图中的至少一个感兴趣点的位置;并且
基于所述高度图中的至少一个感兴趣点的位置来确定所述目标的所述姿态信息。
18.根据权利要求17所述的计算设备,其中,所述姿态信息生成模块还被配置为:保持所述目标的形状信息,并且基于所述形状信息和所述高度图中的至少一个感兴趣点的位置来确定所述目标的所述姿态信息。
19.根据权利要求17所述的计算设备,其中,所述切片生成模块还被配置为:生成两个或者多个非平行一维切片,其中,每个非平行一维切片被配置为横跨所述目标的唯一边缘。
20.根据权利要求17所述的计算设备,其中,所述切片生成模块还被配置为:生成被配置为横跨所述目标的第一边缘的两个或者更多个一维切片,并且其中,所述目标的所述姿态信息包括:所述目标绕着与所述目标的高度对齐的轴线的旋转角。
21.根据权利要求17所述的计算设备,其中,所述切片生成模块还被配置为:
在所述高度图的像素上提供包括多个缝隙的网格;
确定处于所述网格的所述多个缝隙中的一个缝隙之下的高度图的第一像素集合;并且
通过对所述第一像素集合执行合并操作来确定用于所述网格的多个缝隙中的一个缝隙的数值,其中,所述合并操作包括下面中的一个或者多个:平均操作、所述第一像素集合中的非丢失数值的加权平均操作、中值操作、用于找到第一像素集合的最大值的最大值操作、用于找到第一像素集合的最小值的最小值操作、回归操作、或者各项组合。
22.一种具有与切片生成模块和姿态信息生成模块相关联的可执行指令的非暂时计算机可读介质,所述可执行指令可操作为使数据处理设备:
接收由距离传感器系统采集的目标的包括多个像素的高度图;
在高度图上提供多个线段,其中每个线段具有多个缝隙;
确定多个可见度切片,其中每个可见度切片与线段中的一个关联,并且包括多个可见度值,其中每个可见度值指示出在关联的线段的多个缝隙中的一个之下的像素当中的丢失高度值的比例;
从所述高度图提取多个一维切片和用于指出多个一维切片在所述高度图上的位置的位置记录,其中提取所述多个一维切片包括基于多个缝隙中的每个缝隙内包含的多个像素的子集来确定线段中的多个缝隙中的每个缝隙的合适高度图值;
通过分析多个一维切片、所述位置记录和所述多个可见度切片来识别所述高度图中的至少一个感兴趣点的位置;并且
基于所述高度图中的至少一个感兴趣点的位置来确定所述目标的姿态信息。
23.根据权利要求22所述的非暂时计算机可读介质,还包括与所述姿态信息生成模块相关联的可执行指令,所述可执行指令可操作为使所述数据处理设备保持所述目标的形状信息,并且基于所述形状信息和所述高度图中的至少一个感兴趣点的位置来确定所述目标的所述姿态信息。
24.根据权利要求22所述的非暂时计算机可读介质,还包括以下可执行指令,所述可执行指令可操作为使所述数据处理设备:
在所述高度图的像素上提供包括多个缝隙的网格;
确定处于所述网格的所述多个缝隙中的一个缝隙之下的高度图的第一像素集合;并且
通过对所述第一像素集合执行合并操作来确定用于所述网格的多个缝隙中的一个缝隙的数值,其中,所述合并操作包括下面中的一个或者多个:平均操作、所述第一像素集合中的非丢失数值的加权平均操作、中值操作、用于找到第一像素集合的最大值的最大值操作、用于找到第一像素集合的最小值的最小值操作、回归操作、或者各项组合。
CN201410806397.3A 2013-12-20 2014-12-22 用于处理高度图的设备、系统和方法 Active CN104732514B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/136,864 US9626776B2 (en) 2013-12-20 2013-12-20 Apparatus, systems, and methods for processing a height map
US14/136,864 2013-12-20

Publications (2)

Publication Number Publication Date
CN104732514A CN104732514A (zh) 2015-06-24
CN104732514B true CN104732514B (zh) 2018-03-30

Family

ID=53275604

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410806397.3A Active CN104732514B (zh) 2013-12-20 2014-12-22 用于处理高度图的设备、系统和方法

Country Status (3)

Country Link
US (1) US9626776B2 (zh)
CN (1) CN104732514B (zh)
DE (1) DE102014224372B4 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10311638B2 (en) 2014-07-25 2019-06-04 Microsoft Technology Licensing, Llc Anti-trip when immersed in a virtual reality environment
US9766460B2 (en) * 2014-07-25 2017-09-19 Microsoft Technology Licensing, Llc Ground plane adjustment in a virtual reality environment
US9904055B2 (en) 2014-07-25 2018-02-27 Microsoft Technology Licensing, Llc Smart placement of virtual objects to stay in the field of view of a head mounted display
US9858720B2 (en) 2014-07-25 2018-01-02 Microsoft Technology Licensing, Llc Three-dimensional mixed-reality viewport
US10451875B2 (en) 2014-07-25 2019-10-22 Microsoft Technology Licensing, Llc Smart transparency for virtual objects
US9865089B2 (en) 2014-07-25 2018-01-09 Microsoft Technology Licensing, Llc Virtual reality environment with real world objects
US10416760B2 (en) 2014-07-25 2019-09-17 Microsoft Technology Licensing, Llc Gaze-based object placement within a virtual reality environment
WO2016022008A1 (en) * 2014-08-08 2016-02-11 Samsung Electronics Co., Ltd. Method and apparatus for environmental profile generation
US10540784B2 (en) * 2017-04-28 2020-01-21 Intel Corporation Calibrating texture cameras using features extracted from depth images
US10970425B2 (en) * 2017-12-26 2021-04-06 Seiko Epson Corporation Object detection and tracking
WO2021113810A1 (en) * 2019-12-06 2021-06-10 Mashgin, Inc. System and method for identifying items
US11794343B2 (en) * 2019-12-18 2023-10-24 Intrinsic Innovation Llc System and method for height-map-based grasp execution
JP7444604B2 (ja) * 2019-12-26 2024-03-06 キヤノン株式会社 画像処理装置及び方法、及び撮像装置
CN111862053B (zh) * 2020-07-22 2023-11-28 上海米哈游天命科技有限公司 查找缝隙的方法、装置、设备及介质
US20220288783A1 (en) * 2021-03-10 2022-09-15 Nvidia Corporation Machine learning of grasp poses in a cluttered environment
CN116452656B (zh) * 2023-06-16 2023-11-28 星猿哲科技(深圳)有限公司 箱体内物体的整齐摆放方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7120311B2 (en) * 2002-06-28 2006-10-10 Microsoft Corporation Systems and methods for providing forward mapping with visibility for and resolution of accumulated samples
CN102833487A (zh) * 2012-08-08 2012-12-19 中国科学院自动化研究所 面向视觉计算的光场成像装置和方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100738500B1 (ko) * 2006-02-20 2007-07-12 한국과학기술원 영상 기반 돌출 변위 매핑 방법과, 이를 이용한 이중 변위매핑 방법
US9043129B2 (en) * 2010-10-05 2015-05-26 Deere & Company Method for governing a speed of an autonomous vehicle

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7120311B2 (en) * 2002-06-28 2006-10-10 Microsoft Corporation Systems and methods for providing forward mapping with visibility for and resolution of accumulated samples
CN102833487A (zh) * 2012-08-08 2012-12-19 中国科学院自动化研究所 面向视觉计算的光场成像装置和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Similar shape retrieval in MARS;Kaushik Chakrabarti et al;《in Proc. IEEE International Conference on Multimedia and Expo,2000》;20000802;第709-711页,图1-2 *

Also Published As

Publication number Publication date
DE102014224372A1 (de) 2015-06-25
CN104732514A (zh) 2015-06-24
US9626776B2 (en) 2017-04-18
US20150178956A1 (en) 2015-06-25
DE102014224372B4 (de) 2023-01-19

Similar Documents

Publication Publication Date Title
CN104732514B (zh) 用于处理高度图的设备、系统和方法
CN103959308B (zh) 以参考特征匹配图像特征的方法
JP5950122B2 (ja) キャリブレーション装置、キャリブレーション方法およびキャリブレーションプログラム
KR101532864B1 (ko) 모바일 디바이스들에 대한 평면 맵핑 및 트래킹
JP6435750B2 (ja) 3次元座標算出装置、3次元座標算出方法および3次元座標算出プログラム
JP6506731B2 (ja) ビジョンシステムで3dポイントクラウドマッチングに使用するクラッタをスコアリングするためのシステム及び方法
CN107687855B (zh) 机器人定位方法、装置及机器人
JP5881743B2 (ja) 奥行きマップを使用したモバイルカメラの自己位置推定
CN103988226B (zh) 用于估计摄像机运动以及用于确定实境三维模型的方法
US9633281B2 (en) Point cloud matching method
EP2825841B1 (en) Method, device and computer programme for extracting information about a staircase
CN111199564A (zh) 智能移动终端的室内定位方法、装置与电子设备
Santos et al. Image-based 3D digitizing for plant architecture analysis and phenotyping.
CN113894799B (zh) 机器人及辅助环境定位的标识物识别方法和装置
CN104704384A (zh) 具体用于装置的基于视觉的定位的图像处理方法
WO2012023593A1 (en) Position and orientation measurement apparatus, position and orientation measurement method, and storage medium
GB2524983A (en) Method of estimating imaging device parameters
Lee et al. Automatic building height extraction by volumetric shadow analysis of monoscopic imagery
CN107504917B (zh) 一种三维尺寸测量方法及装置
JP2017003525A (ja) 三次元計測装置
CN110443242A (zh) 读数框检测方法、目标识别模型训练方法及相关装置
JP6673504B2 (ja) 情報処理装置、データベース生成装置、方法、プログラム、及び記憶媒体
JP2015111128A (ja) 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
JP6594008B2 (ja) 移動体制御装置、ランドマーク、および、プログラム
CN113835428A (zh) 一种用于餐厅的机器人路径规划方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant