掌桥专利:专业的专利平台
掌桥专利
首页

使用距离数据预测物体特征的方法和装置

文献发布时间:2023-06-19 12:18:04


使用距离数据预测物体特征的方法和装置

技术领域

本文描述的技术总体涉及使用距离数据来预测物体特征(包括预测物体的高度)的方法和装置。

背景技术

视觉系统广泛用于执行诸如测量物体、检查物体、对准物体和/或解码符号信息(例如条形码)等任务。这种系统通常包括采集对象或物体的图像的图像传感器,以及处理所采集的图像的一个或多个处理器(例如,机载和/或互连到图像传感器的处理器)。图像信息可以以图像像素阵列的方式来提供,其中每个图像像素都具有不同的颜色和/或强度。视觉系统可以配置成基于处理后的图像生成期望的输出。例如,对于条形码读取器,成像设备可以对可能包含一个或多个条形码的物体进行成像。然后,系统可以处理图像来识别条形码,并通过条形码解码过程对条形码进行解码。

发明内容

在一些实施例中,本文描述的技术涉及使用距离感测设备(例如飞行时间传感器)来测量距离数据,以在使用现有技术可以确定移动物体的特征之前预测该物体特征。在一些实施例中,这些技术使用距离数据来预测移动物体的高度以聚焦透镜组件,使得成像设备(通过透镜观看场景)可以在足够的焦距处对移动物体成像,使得可以基于图像来处理物体的特征。例如,虽然飞行时间传感器可能仅能够在物体完全位于飞行时间传感器的视场内时精确地测量到物体的距离,但是这些技术可以在物体完全位于飞行时间传感器的视场内之前很好地预测到物体的距离。这些技术可以允许机器视觉系统处理诸如物体的物理特征(例如,物体大小、物体面积、物体之间的间距等)以及物体上的条形码,执行物体检查等。

一些实施例涉及一种计算机化方法。该方法包括在第一时间访问由距离感测设备确定的第一距离数据,其中,当物体位于距离感测设备的视场内的第一位置处时,距离感测设备确定第一距离数据,其中,物体仅部分地位于视场内的第一位置。该方法包括在第一时间之后的第二时间访问由距离感测设备确定的第二距离数据,其中,当物体位于距离感测设备的视场内的第二位置处时,距离感测设备确定第二距离数据,其中,第一位置不同于第二位置,并且物体仅部分地位于视场内的第二位置。该方法包括基于第一距离数据和第二距离数据来确定物体的距离测量模型,其中,距离测量模型配置成对距离感测设备的视场内的物体的物理参数随时间的变化进行建模。该方法包括基于第一距离数据、第二距离数据和距离测量模型来确定第三距离数据,该第三距离数据指示在物体完全位于距离感测设备的视场内之前到物体的估计距离。该方法包括基于第三距离数据确定指示物体的高度的数据。

一些实施例涉及一种装置。该装置包括与存储器通信的处理器。处理器配置成执行存储在存储器中的指令,该指令使得处理器在第一时间访问由距离感测设备确定的第一距离数据,其中,当物体位于距离感测设备的视场内的第一位置处时,距离感测设备确定第一距离数据,其中,物体仅部分地位于视场内的第一位置。处理器配置成执行存储在存储器中的指令,该指令使得处理器在第一时间之后的第二时间访问由距离感测设备确定的第二距离数据,其中,当物体位于距离感测设备的视场内的第二位置处时,距离感测设备确定第二距离数据,其中,第一位置不同于第二位置,并且物体仅部分地位于视场内的第二位置。处理器配置成执行存储在存储器中的指令,该指令使得处理器基于第一距离数据和第二距离数据来确定物体的距离测量模型,其中,距离测量模型配置成对距离感测设备的视场内的物体的物理参数随时间的变化进行建模。处理器配置成执行存储在存储器中的指令,该指令使得处理器基于第一距离数据、第二距离数据和距离测量模型来确定第三距离数据,该第三距离数据指示在物体完全位于距离感测设备的视场内之前到物体的估计距离。处理器配置成执行存储在存储器中的指令,该指令使得处理器基于第三距离数据确定指示物体的高度的数据。

一些实施例涉及至少一种非暂时性计算机可读存储介质。该非暂时性计算机可读存储介质存储处理器可执行指令,当该指令被至少一个计算机硬件处理器执行时,使得该至少一个计算机硬件处理器在第一时间访问由距离感测设备确定的第一距离数据,其中,当物体位于距离感测设备的视场内的第一位置处时,距离感测设备确定第一距离数据,其中,物体仅部分地位于视场内的第一位置。该非暂时性计算机可读存储介质存储处理器可执行指令,当该指令被至少一个计算机硬件处理器执行时,使得该至少一个计算机硬件处理器在第一时间之后发生的第二时间访问由距离感测设备确定的第二距离数据,其中,当物体位于距离感测设备的视场内的第二位置处时,距离感测设备确定第二距离数据,其中,第一位置不同于第二位置,并且物体仅部分地位于视场内的第二位置。该非暂时性计算机可读存储介质存储处理器可执行指令,当该指令被至少一个计算机硬件处理器执行时,使得该至少一个计算机硬件处理器基于第一距离数据和第二距离数据来确定物体的距离测量模型,其中,距离测量模型配置成对距离感测设备的视场内的物体的物理参数随时间的变化进行建模。该非暂时性计算机可读存储介质存储处理器可执行指令,当该指令被至少一个计算机硬件处理器执行时,使得该至少一个计算机硬件处理器基于第一距离数据、第二距离数据和距离测量模型来确定第三距离数据,第三距离数据指示在物体完全位于距离感测设备的视场内之前到物体的估计距离。该非暂时性计算机可读存储介质存储处理器可执行指令,当该指令被至少一个计算机硬件处理器执行时,使得该至少一个计算机硬件处理器基于第三距离数据确定指示物体的高度的数据。

因此,本文相当广泛地概述了所公开主题的特征,以便可以更好地理解随后的具体实施方式,并且可以更好地理解本发明对本领域的贡献。当然,在下文中将描述所公开的主题的附加特征,这些附加特征也将构成权利要求的主题。应当理解,本文采用的措词和术语是出于描述的目的,而不应被认为是限制性的。

附图说明

附图未按比例绘制。在附图中,各个图中示出的每个相同或几乎相同的组件由相同的数字表示。为了清楚起见,并非每个组件都在每个附图中进行了标记。在附图中:

图1示出了根据本文描述的技术的一些实施例的示例性机器视觉系统应用,其中,物体在传送带上朝着图像感测设备的视场移动;

图2示出了根据本文描述的技术的一些实施例,其中,图1中的物体进一步移动使得该物体部分地位于图像感测设备的视场中;

图3示出了根据本文描述的技术的一些实施例,其中,图1中的物体已经进一步移动,使得与图2相比,该物体进一步位于图像感测设备的视场中;

图4A示出了根据本文描述的技术的一些实施例的使用距离测量来确定和更新距离测量模型的示例性方法;

图4B示出了根据本文描述的技术的一些实施例的使用距离感测测量来确定和更新距离测量模型的示例性详细方法;

图5A示出了根据本文描述的技术的一些实施例的使用距离测量和参数估计来确定和更新距离测量模型的示例性方法;以及

图5B示出了根据本文描述的技术的一些实施例的使用距离测量和参数估计来确定和更新距离测量模型的示例性详细方法。

具体实施方式

如上所述,本文描述的技术可用于在各种机器视觉应用中预测物体特征。例如,该技术可用于物流机器视觉应用,包括基于传送带的应用、分拣应用和/或类似应用。一些物流应用使用具有深景深和小光圈的定焦透镜。由于采用了小光圈,可能未很好地照亮图像,因为只有有限的光可以通过透镜。可选地,可以使用自动对焦技术来代替定焦透镜。由于自动对焦技术可以使用景深较浅的透镜,因此可以采集更多的光,从而提高图像质量。可以使用快速对焦的透镜,例如可以在1-3毫秒内改变焦点的液体透镜。诸如飞行时间传感器之类的距离感测设备可用于检测物体的高度,物体的高度可用于驱动透镜自动聚焦。飞行时间传感器可以以例如3-5千赫兹的速率工作。

虽然自动聚焦技术可以提高图像质量,但是发明人已经发现并意识到,这种技术可能不能足够快地聚焦以允许成像设备采集物体足够多数量的高质量图像。例如,高速物流应用可以使用传送带以非常高的速度移动物体,例如每分钟600-800英尺(或每秒10-13.5英尺)。因此,物体可能仅在成像设备的视场内停留不到一秒,甚至可能不到100-500毫秒。成像传感器通常以50-60赫兹的频率工作,每幅图像约为15-20毫秒。对于高速物流应用,成像设备在成像传感器的视场内时可能只能采集物体的一些有用图像(例如,物体上的完整条形码的仅1-2个图像)。对于更靠近成像传感器的高的物体,这个问题可能会更加复杂,这可能进一步限制采集足够多的物体图像的机会(例如,因为对于更高的物体,视场更有限,所以物体在视场中的时间比较矮的物体少)。该系统可以进一步受到距离感测设备的限制。例如,虽然飞行时间传感器可以高速运行(例如,使得飞行时间传感器可以在50-60赫兹成像设备的每次图像采集之间获得10-20个飞行时间读数),但是飞行时间传感器只能在整个物体位于飞行时间传感器的视场内时提供精确的高度测量。因此,对于许多机器视觉系统,例如将飞行时间传感器设置在图像传感器处或附近的系统,飞行时间传感器通常不能提供足够快的高度测量来驱动自动聚焦应用。

因此,发明人已经发现并意识到,需要提供快速的物体高度检测来解决现有机器视觉系统的这些问题和其他问题。例如,快速检测物体高度可用于在物体(或物体的相关部分)移动到成像设备的视场之前和/或之时聚焦透镜组件,使得成像设备在物体位于成像设备的视场内时具有最大的时间量来采集物体的图像。发明人已经开发了在整个物体位于距离感测设备的视场内之前预测移动物体的高度的技术。这种技术可以允许机器视觉系统将成像设备和距离感测设备都包括在单个封装内,并且仍然允许机器视觉系统比先前的距离感测设备更快地自动聚焦透镜组件。例如,如果距离测量设备在物体进入距离测量设备的视场时进行N次物体采集,直到物体完全进入视场,则该技术估计物体参数的速度可以快一倍(例如,减少

在以下描述中,阐述了关于所公开主题的系统和方法以及这种系统和方法可以操作的环境等的许多具体细节,以便于透彻地理解所公开的主题。此外,应当理解,以下提供的实例是示例性的,并且可以想到,在所公开的主题的范围内还有其他系统和方法。

图1是示出根据本文描述的技术的一些实施例的示例性机器视觉系统应用的图100,其中,物体102在传送带104上朝着图像感测设备108的视场106移动。在该实例中,物体102具有高度H 110,并且物体102在传送带104上沿方向112移动。图像感测设备108与传送带104的距离为D 114。图2示出了根据本文描述的技术的一些实施例,其中,来自图1的物体102沿着方向112进一步移动,使得物体102部分地位于图像感测设备108的视场106中。如图2所示,物体102的顶面的一部分Sk1 200在视场S 106内。图3示出了根据本文描述的技术的一些实施例,其中,来自图1的物体102已经沿着方向112进一步移动,使得与图2相比,物体102进一步位于图像感测设备108的视场106中。如图3所示,物体102的顶面的一部分Sk2300在视场S 106内。Sk2 300部分大于图2的Sk1 200部分。

虽然图1-图3仅示出了一个物体102,但是应当理解,许多物体可以在传送带上行进,并且这些物体的形状、间距等可能不均匀。因此,在许多视觉系统应用中,例如物流操作中的符号信息解码(例如,当包裹沿传送线通过时跟踪包裹上的条形码),物体之间的数量、高度、长度、整体尺寸和间距可以有很大的不同。

在一些实施例中,距离感测设备是飞行时间传感器,例如预测距离信息的集成单点或多点飞行时间传感器。飞行时间传感器可以包括配置成发射诸如激光束或光脉冲(例如,基于红外(IR)的光脉冲)等光束的发射器,以及配置成接收反射光束的接收器。飞行时间传感器可以高频调制光束的强度,使得发射光束和反射光束之间存在相移。飞行时间传感器可以包括通过比较发射器和接收器的相位来测量相移程度的电路。然后,基于传感器和/或外部电子设备中的校准参数,将测量的相移转换为距离测量。

虽然未示出,但是距离感测设备108可以设置在成像设备附近,例如与成像设备结合到单个封装中和/或安装在成像设备附近(例如,安装到成像设备的透镜组件上)。示例性配置可以包括与飞行时间(ToF)传感器和/或照明设备集成的成像设备,例如由本申请的受让人康耐视(Cognex)公司提供的大功率集成式火炬形光源(HPIT)。另一示例性配置可以包括成像设备和与成像设备安装在不同位置的ToF传感器。在这种实例中,成像设备和ToF传感器可以以一个或多个配置约束和/或其他系统配置约束来安装,例如与传送带垂直的光轴安装在相同的高度,ToF传感器在成像设备的传送带上游,使得ToF传感器可以在物体到达成像设备之前执行测量。在一些实施例中,成像设备可以包括一个或多个内部处理器(例如,FPGA、DSP、ARM处理器等)和允许其作为独立单元的其他组件,从而向下游过程(例如,库存跟踪计算机系统或物流应用)提供期望的输出数据(例如,解码后的符号信息)。在一些实施例中,机器视觉系统可以包括配置成提供机器视觉系统处理功能的外部处理功能,例如个人计算机、笔记本电脑等。

在一些实施例中,机器视觉系统可以是基于图像的符号信息读取器。该读取器可以包括具有图像传感器和光学器件以及视觉系统处理器的成像设备,该成像设备配置成查找和解码由图像传感器采集的图像中的符号(例如,条形码)。距离感测设备108可以与成像设备集成在一起,该成像设备如本文所述(例如,结合图4A-图5B)预测图像传感器视场中的物体102的距离信息。飞行时间传感器可以与视觉系统处理器和/或成像器控制器中的至少一个可操作地连接。

在一些实施例中,成像设备可以包括透镜组件和/或与透镜组件进行光学通信。透镜配置的选择可以基于多种因素,例如灯光/照明、视场、焦距、相机轴和成像表面的相对角度和/或成像表面上的细节尺寸。在一些实例中,驱动透镜的选择也可以基于透镜的成本和/或用于安装视觉系统的可用空间。在某些视觉系统应用中可能需要的示例性透镜配置是自动聚焦组件。举例来说,可以通过所谓的液体透镜组件来促进实现自动聚焦透镜。

使用液体透镜时,无需手动触摸或调节透镜,从而可以简化视觉系统的安装、设置和维护。相对于其他自动聚焦机制,液体透镜可以具有快速响应时间。液体透镜还可用于读取距离因物体(表面)而变化的应用,或在从一个物体到另一个物体的读取转换过程中使用,例如扫描包含不同尺寸/高度的物体(例如,装运盒子)的移动传送带。虽然图1-图3中所示的实例示出了传送带机器视觉应用,但是应当理解,在许多不同的视觉系统应用中,可能希望快速聚焦以进行成像,因此本文描述的技术不限于这种示例性实施例。

液体透镜可以以不同的方式实现。一个示例性液体透镜实施例使用水和油,并且可以使用施加的电压将油基本上成形为透镜。周围电路通过透镜的电压变化会导致油水界面的曲率发生变化,进而导致透镜焦距发生变化。另一个示例性液体透镜实施例使用覆盖液体容器的可移动膜来改变其焦距。线轴可以施加压力来改变膜的形状,从而改变透镜焦点。可以通过在预设范围内改变输入电流来移动线轴。不同的电流强度可以为液体透镜提供不同的焦距。

如本文所述,可以对来自距离感测设备的距离信息进行处理,以在运行时间操作期间,基于视场内的特定尺寸/形状的物体并且在物体完全位于飞行时间传感器的视场内之前自动聚焦可变(例如液体)透镜。例如,预测距离信息可用于在物体部分和/或全部在成像设备的视场内之前设置成像设备的透镜的焦距。在一些实施例中,系统配置成使得距离测量设备的速度高于成像传感器。例如,可以将50赫兹成像传感器与4千赫兹飞行时间传感器一起使用。

图4A示出了根据本文描述的技术的一些实施例的用于使用距离测量来确定和更新距离测量模型的示例性方法400。机器视觉系统可以在物体完全位于距离感测设备的视场内之前,执行方法400来预测物体的特征(例如,高度、面积等)。例如,参考图2和图3,方法400可以用于在物体102完全位于距离感测设备108的视场S内之前预测物体102的高度H110。在步骤402中,机器视觉系统确定特征测量模型,例如距离测量模型,当物体进入距离感测设备的视场时,该距离测量模型对距离感测设备到物体的距离测量随时间的变化进行建模,以在物体完全位于视场内之前预测物体的高度。如本文所述,当物体开始进入视场时,机器视觉系统可以基于预定参数和/或基于物体的初始距离测量来确定距离测量模型。

机器视觉系统不断采集随时间变化的距离数据,并相应地更新距离测量模型。在步骤404中,机器视觉系统采集和/或处理新的距离测量数据。在步骤406中,机器视觉系统基于在步骤404采集的距离测量数据来更新距离测量模型状态406。该方法返回到步骤404,并处理和/或采集新的距离测量数据。该方法执行步骤404和406,直到距离测量模型随距离测量数据充分收敛。例如,如本文进一步所描述,当在步骤406确定的距离测量模型和/或估计物体的高度的变化低于预定阈值时,机器视觉系统可以确定距离测量模型随飞行时间测量数据收敛。

图4B示出了根据本文描述的技术的一些实施例的用于使用距离感测测量来确定和更新距离测量模型的示例性详细方法450。在步骤452中,机器视觉系统在第一时间访问由距离感测设备(例如,飞行时间传感器)确定的第一距离数据。当物体位于第一位置处时,距离感测设备采集和/或确定第一距离数据,该第一位置仅部分地位于距离感测设备的视场内。例如,参考图2,当物体102仅部分地位于视场S 106内时,距离感测设备108采集第一距离数据,如Sk1 200所示。

在步骤454中,机器视觉系统在第一时间之后的后续第二时间访问由距离感测设备确定的第二距离数据。当物体在第二位置处时,距离感测设备采集和/或确定第二距离数据,该第二位置仍然仅部分地位于距离感测设备的视场内。由于距离数据是随着物体移动而随时间确定的,所以与第一距离数据相关联的第一位置不同于与第二距离数据相关联的第二位置。例如,参考图3,当物体102仅部分地位于视场S 106内时,距离感测设备108采集第二距离数据,如Sk2 300所示。与图2相比,虽然在图2-图3中物体102仅部分地位于视场106内,但是物体102在图3中比在图2中更进一步地位于视场106内(因此Sk2 300大于Sk1200)。

如本文所述,距离感测设备可以是飞行时间传感器,其是机器视觉系统的一部分,该机器视觉系统还包括用于执行机器视觉任务的内部和/或外部处理硬件和相关软件。参考步骤452和454,访问第一距离数据和第二距离数据可以包括处理硬件(例如,是成像设备的一部分的硬件)从飞行时间传感器接收第一飞行时间测量值和第二飞行时间测量值。作为另一个实例,处理硬件可以从与飞行时间传感器共享的存储器中访问飞行时间测量值。

在步骤456中,机器视觉系统基于第一距离数据和第二距离数据确定物体的距离测量模型。距离测量模型配置成对距离感测设备的视场内的物体的物理参数随时间的变化进行建模,例如物体的高度、物体的表面积等。在步骤458中,机器视觉系统基于先前的距离数据(例如,用于第一次执行的第一距离数据和第二距离数据)和距离测量模型来确定距离数据,该距离数据指示在物体完全位于距离感测设备的视场内之前到物体的估计距离。

在步骤460中,机器视觉系统确定距离测量模型是否随距离测量数据收敛。在一些实施例中,机器视觉系统可以确定距离测量模型的变化低于预定阈值。在一些实施例中,机器视觉系统可以确定距离测量数据和估计的物体的高度(例如,在步骤458中确定的数据)之间的变化低于预定阈值。例如,如结合等式1-2进一步所描述,可以将物体的高度建模为作为观测矩阵的一部分的参数,并且可以在每次迭代时更新观测矩阵。如果在多次迭代之后,预测高度接近观测值(例如,在阈值内),则系统可以确定在当前迭代中使用的模型是足够的,并且可以使用观测矩阵来确定物体的高度(例如,使得距离测量模型在该状态下是稳定的)。如果机器视觉系统确定距离测量模型没有随距离测量数据收敛,则方法450前进到步骤462,并且用一个或多个附加距离测量来更新距离测量模型,然后返回到步骤458。

如果机器视觉系统确定距离测量模型随距离测量数据收敛,则方法450前进到步骤464,并且机器视觉系统基于在步骤458中确定的距离数据确定指示物体的高度的数据。例如,机器视觉系统可以使用来自步骤458的最后确定的数据作为物体高度的指示。

如本文所述,机器视觉系统可以使用指示物体的高度的数据来执行机器视觉系统的各种任务。例如,机器视觉系统可以基于距离数据来确定指示与距离感测设备相关联的成像设备的透镜的焦点调节的数据。机器视觉系统可以基于指示焦点调节的数据,发送一个或多个信号来改变透镜的焦点。在一些实施例中,机器视觉系统使用焦点调节来改变液体透镜的焦点。机器视觉系统可以在传输一个或多个信号以改变透镜的焦点之后采集物体的图像。在一些实施例中,机器视觉系统可以配置成在发送一个或多个信号之后等待预定的时间量,以在采集物体的图像之前改变透镜的焦点。在一些实施例中,系统可以从液体透镜组件接收指示聚焦调节完成的反馈数据,并且机器视觉系统可以响应于反馈数据的接收来采集图像。

在一些实施例中,机器视觉系统可以基于估计的距离数据来确定指示成像设备的照明模块的亮度调节的数据。例如,如果距离数据指示短物体,则机器视觉系统可以配置成为照明模块使用较高的亮度设置(与距离数据指示较高的物体时相比)。因此,机器视觉系统可以配置成对远离成像设备的物体使用更亮的照明,而对更靠近成像设备的物体使用更柔和的照明。在一些实施例中,为了调整物体的照明,该技术可以调整成像设备的曝光时间以调整图像亮度(例如,不调整照明模块)。例如,该系统可以减少靠近相机的物体的曝光时间。

在一些实施例中,机器视觉系统可以访问指示机器视觉应用的至少一个约束的数据。例如,机器视觉系统可以通过飞行时间传感器的视场访问指示与盒子的运动相关联的物体的运动参数的数据。机器视觉系统可以使用指示运动参数的数据来确定距离数据。例如,参考图4B,在步骤458中,机器视觉系统可以基于第一距离数据、第二距离数据、距离测量模型和一个或多个运动参数来确定距离数据。在一些实施例中,运动参数包括物体穿过距离感测设备的视场时物体的速度和/或物体的加速度。例如,机器视觉系统可以基于第一距离数据、第二距离数据、距离测量模型和物体的速度来确定距离数据。

在一些实施例中,当物体进入距离感测设备的视场时,机器视觉系统可以使用卡尔曼滤波器来对到物体的距离进行建模。例如,机器视觉系统可以使用卡尔曼滤波器来估计该区域的物体随时间的变化。参考图4B中的步骤458,例如,机器视觉系统可以使用距离测量模型,基于所采集的(例如,在步骤452、454和/或462采集的)距离数据来确定物体面积的估计。例如,机器视觉系统可以基于第一距离数据来确定物体的第一物体面积估计(该物体仅部分地位于距离感测设备的视场内)。机器视觉系统可以使用卡尔曼滤波器来确定后续的物体面积估计。例如,机器视觉系统可以使用距离测量模型基于第一物体面积估计和第二距离数据来确定物体的第二物体面积估计(该物体仍然仅在距离感测设备的视场内)。机器视觉系统可以基于第二物体面积估计来确定物体的高度估计。

机器视觉系统可以配置成使用一个或多个方程式来测量状态(例如,视场内的物体的面积)和/或执行距离感测设备的测量更新(例如,更新到物体的估计距离)。下面的示例性方程1可用于执行状态更新:

S

其中:

S

S

S

w

如等式1所示,状态可以是距离确定设备的视场中的物体面积。这些状态可以基于机器视觉系统的参数来建模。例如,如果物体以接近恒定的速度移动(例如在传送带上),并且飞行时间(TOF)传感器的帧速率足够高,则状态更新可以用线性函数来建模,其中,物体面积的变化在单位时间内是恒定的。在一些实施例中,前两个物体面积测量可以是基于机器视觉应用规范确定的初始值,例如盒子尺寸范围、传送带宽度、物体移动速度等。应当理解,初始物体面积的测量不需要精确。例如,w

方程2提供了用于执行距离测量的示例性等式:

TOF

其中:

TOF

h是物体的高度;

S是飞行时间传感器的视场;

S

d是飞行时间传感器和传送带之间的距离;并且

v

参考方程式2,可以基于物体的高度h和距离d的加权平均值来确定TOF传感器读数。

应该理解的是,等式1和等式2仅用于说明的目的,并且其他模型可以用于特定的机器视觉应用。例如,可以使用卡尔曼滤波器模型的其他形式,这取决于移动的物体是否受到加速度、物体面积是否改变和/或其他变化因素。当物体进入飞行时间传感器的视场时,飞行时间传感器的测量随着时间的推移可以缓慢减小(例如,从测量到传送带的距离到测量到物体顶部的距离)。可由模型确定的估计盒子面积可相应地随时间缓慢增加,并与飞行时间测量值成反比,使得估计盒子面积随时间增加。

在一些实施例中,机器视觉系统可以使用参数估计技术(例如,期望最大化(EM)、最大后验概率(MAP)等)来更新模型的参数。例如,如示例性方程式2所示,物体的高度可以是观测矩阵的一部分。可以在每次迭代中使用参数估计算法来更新盒子高度。图5A是示出了根据本文描述的技术的一些实施例的使用距离测量和参数估计来确定和更新距离测量模型的示例性方法500。在步骤502中,机器视觉系统使用本文描述的技术来确定距离测量模型。每当系统在步骤504中获得新的距离观测值时,在步骤506中,系统使用模型(例如卡尔曼滤波器)来更新距离测量模型的状态,并且在步骤508中,机器视觉系统使用参数估计来更新系统观测矩阵。

图5B示出了根据本文描述的技术的一些实施例的使用距离测量和参数估计来确定和更新距离测量模型的示例性详细方法550。在步骤552中,机器视觉系统访问在第一时间确定的第一距离数据,其中,物体位于仅部分地位于距离感测设备的视场内的第一位置(例如,如图2所示)。在步骤554中,当物体位于第二位置时,机器视觉系统访问在随后的第二时间确定的第二距离数据,其中,该第二位置仍然仅部分地位于距离感测设备的视场内(例如,如图3所示)。在步骤556中,机器视觉系统基于第一距离数据和第二距离数据确定物体的距离测量模型。

在步骤558中,机器视觉系统基于先前的距离数据(例如,用于第一次执行的第一距离数据和第二距离数据)和距离测量模型来确定距离数据,该距离数据指示在物体完全位于距离感测设备的视场内之前到物体的估计距离。在步骤560中,机器视觉系统确定距离测量模型是否随距离测量数据收敛。如果机器视觉系统确定距离测量模型不随距离测量数据收敛,则方法550前进到步骤562,并使用参数估计(例如,使用EM、MAP和/或其他参数估计技术)来更新参数。该方法前进到步骤564,用一个或多个附加的距离测量来更新距离测量模型,并返回到步骤558。

如果机器视觉系统确定距离测量模型随距离测量数据收敛,则方法550从步骤560前进到步骤564,并且机器视觉系统基于在步骤558确定的距离数据确定指示物体的高度的数据。例如,机器视觉系统可以使用来自步骤558的最后确定的数据作为物体的高度的指示。

如本文所述,随着物体进入飞行时间传感器的视场,飞行时间传感器的测量可以缓慢减小(例如,从测量到传送带的距离到测量到物体顶部的距离)。使用距离测量模型确定的估计盒子面积可以相应地随时间缓慢增加,以与飞行时间测量值成反比,使得估计盒子面积随时间增加。在一些实施例中,使用参数估计可以微调飞行时间测量值和盒子面积测量值之间的关系。

由距离感测设备生成的预测距离信息也可以用于执行机器视觉系统的其他方面。在一些实施例中,机器视觉系统可以使用预测的距离信息来自动触发视觉系统对物体的图像采集。例如,当系统确定物体距离的变化(例如,距支撑基座/传送带的高度变化)时,系统可以触发图像采集。在一些实施例中,机器视觉系统可以使用预测的距离信息来执行物体(例如,盒子)尺寸标注。在校准过程中,机器视觉系统可以测量传送带和视觉系统之间的距离D 114,并存储信息。在运行时,机器视觉系统可以采集图像,并且可以在物体完全位于图像内之前预测到物体的距离和/或测量到图像/视场中心的物体的距离。如果系统检测到矩形形状,则可以基于预测的和/或测量的距离(例如,并且基于成像器的已知光学特性,例如图像传感器尺寸、透镜焦距等)来确定该矩形的尺寸。如图1-图3所示,物体102的高度110可以基本上代表成像设备离传送带104的高度与成像设备和物体102之间的预测和/或测量的最短距离之间的差值。在一些实施例中,由于成像设备被固定地安装到飞行时间传感器,成像设备和物体102之间的高度可以由距离D 114表示。

在一些实施例中,机器视觉系统可以用于检测和分析物体缺陷。例如,在机器视觉系统如本文所述检测到(例如,矩形)顶面之后,机器视觉系统可以测量与顶面形状的偏差,以检测损坏的物体(例如,损坏的盒子)。在一些实施例中,系统可以执行关注区域(Regionof Interest,RoI)检测。例如,基于照相机的符号信息读取器的视场可以被成像到多点(例如,n×1或n×m)飞行时间传感器阵列的感测面积上。传感器阵列可以测量3D高度图,以缩小符号信息解码的关注区域。确定物体驻留在图像中的哪一部分可以减少解码时间,因为可以从整个采集的图像中的缩小的关注区域中搜索符号候选特征。

在一些实施例中,机器视觉系统可以检测视场中物体之间的间隙,这可以帮助将符号代码链接到适当的成像物体。例如,在物流应用中,一次可能有一个以上的物体进入和/或在视场内,飞行时间测量值可以帮助定位物体的边缘,并确定什么符号与视场中的各个物体相关联。

在一些实施例中,机器视觉系统可以使用飞行时间传感器预测和/或测量的距离来限制视觉系统的读取范围,以防止无意的读取。例如,如果到物体的距离在定义的范围内,则机器视觉系统(a)采集图像,(b)启动符号解码过程,和/或(c)传输解码后的数据以进行进一步处理。

根据本文描述的原理操作的技术可以以任何合适的方式实现。例如,实施例可以使用硬件、软件或其组合来实现。当以软件实现时,软件代码可以在任何合适的处理器或处理器集合上执行,无论是在单个计算机中提供还是分布在多个计算机中。这种处理器可以实现为集成电路,在集成电路组件中具有一个或多个处理器,包括本领域已知的市售集成电路组件,例如CPU芯片、GPU芯片、FPGA芯片、微处理器、微控制器或协处理器。可选地,处理器可以在定制电路中实现,例如专用集成电路(ASIC),或者由配置可编程逻辑器件产生的半定制电路。作为另一种选择,处理器可以是更大的电路或半导体器件的一部分,无论是市售的、半定制的还是定制的。作为具体实例,一些市售的微处理器具有多个核心,使得这些核心中的一个或一个子集可以构成处理器。然而,处理器可以使用任何合适形式的电路来实现。

此外,应当理解,计算机可以以多种形式中的任何一种来具体实施,例如机架式计算机、台式计算机、笔记本电脑或平板计算机。另外,计算机可以嵌入通常不被认为是计算机但具有适当处理能力的设备中,包括个人数字助理(PDA)、智能电话或任何其他适当的便携式电子设备或固定电子设备。

此外,计算机可以有一个或多个输入和输出设备。这些设备可用于呈现用户界面等。可用于提供用户界面的输出设备的实例包括用于视觉呈现输出的打印机或显示屏,以及用于听觉呈现输出的扬声器或其他声音生成设备。可用于用户界面的输入设备的实例包括键盘和定点设备,如鼠标、触摸板和数字化平板电脑。作为另一个实例,计算机可以通过语音识别或其他听觉形式接收输入信息。在所示的实施例中,输入/输出设备被示为与计算设备物理上分开。然而,在一些实施例中,输入和/或输出设备可以物理地集成到与处理器或计算设备的其他要素相同的单元中。例如,键盘可以实现为触摸屏上的软键盘。可选地,输入/输出设备可以与计算设备完全断开,并且通过无线连接在功能上集成。

这种计算机可以通过一个或多个网络以任何合适的形式互连,包括局域网或广域网,例如企业网或因特网。这种网络可以基于任何合适的技术,并且可以根据任何合适的协议进行操作,并且可以包括无线网络、有线网络或光纤网络。

此外,本文概述的各种方法或过程可被编码为可在采用多种操作系统或平台中的任何一种的一个或多个处理器上执行的软件。另外,这种软件可以使用多种合适的编程语言和/或编程或脚本工具中的任何一种来编写,并且也可以被编译为可执行的机器语言代码或在框架或虚拟机上执行的中间代码。

在这方面,本发明可以具体实施为用一个或多个程序编码的计算机可读存储介质(或多个计算机可读介质)(例如,计算机存储器、一个或多个软盘、CD、光盘、DVD、磁带、闪存、现场可编程门阵列或其他半导体设备中的电路配置、或其他有形的计算机存储介质),当在一个或多个计算机或其他处理器上执行时,这些程序执行实现上述本发明的各种实施例的方法。从前述实例中显而易见的是,计算机可读存储介质可以将信息保留足够长的时间,以提供非暂时形式的计算机可执行指令。这种计算机可读存储介质可以是可运输的,使得存储在其上的一个或多个程序可以被加载到一个或多个不同的计算机或其他处理器上,以实现如上所述的本申请的各个方面。本文所使用的术语“计算机可读存储介质”仅涵盖可以被认为是产品(即,制品)或机器的计算机可读介质。可选地或附加地,本发明可以具体实施为除计算机可读存储介质之外的计算机可读介质,例如传播信号。

术语“代码”、“程序”或“软件”在本文中以一般意义使用,指的是任何类型的计算机代码或计算机可执行指令集,其可用于对计算机或其他处理器进行编程,以实现如上所述的本申请的各个方面。此外,应当理解,根据该实施例的一个方面,执行一个或多个计算机程序时,实施本申请的方法不需要这些计算机程序驻留在单个计算机或处理器上,而是可以以模块化方式分布在多个不同的计算机或处理器中,以实现本申请的各个方面。

计算机可执行指令可以是由一个或多个计算机或其他设备执行的多种形式,例如程序模块。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、物体、组件、数据结构等。通常,在各种实施例中,程序模块的功能可以根据需要进行组合或分布。

此外,数据结构可以以任何合适的形式存储在计算机可读介质中。为了简化说明,数据结构可以示为具有通过数据结构中的位置相关的字段。这种关系同样可以通过在传递字段之间关系的计算机可读介质中为字段分配存储位置来实现。然而,可以使用任何合适的机制来建立数据结构的字段中的信息之间的关系,包括通过使用指针、标签或建立数据元素之间的关系的其他机制。

本申请的各个方面可以单独使用、组合使用或以在前述实施例中未具体讨论的各种布置使用,因此其应用不限于前述描述中阐述的或附图中示出的组件的细节和布置。例如,一个实施例中描述的方面可以以任何方式与其他实施例中描述的方面相结合。

此外,本发明可以具体实施为一种方法,已经提供了该方法的实例。作为该方法的一部分执行的动作可以以任何合适的方式排序。因此,可以构建这种实施例,其中,以不同于所示的顺序来执行动作,这可以包括同时执行一些动作,即使其在说明性实施例中被示为有顺序的动作。

在说明书和权利要求书中使用的“一个”和“一种”的表述,应理解为“至少一个/一种”,除非有明确的相反指示。

说明书和权利要求书中使用的“和/或”的表述,应理解为所结合的要素的“两者之一或两者”,即要素在某些情况下结合存在而在其他情况下分别存在。用“和/或”列出的多个要素应该以相同的方式来解释,即所结合的要素的“一个或多个”。除了由“和/或”从句具体标识的要素之外,可以可选地存在其他要素,无论这些其他要素与那些具体标识的要素相关还是无关。因此,作为非限制性实例,在一个实施例中,当与诸如“包括”的开放式语言结合使用时,对“A和/或B”的引用可以仅指代A(可选地包括除B以外的要素);在另一个实施例中,仅指代B(可选地包括除A以外的要素);在又一个实施例中,指代A和B(可选地包括其他要素);等等。

如在说明书和权利要求书中所使用的,关于一个或多个要素的列表,短语“至少一个”应理解为表示从要素列表中的任何一个或多个要素中选择的至少一个要素,但不一定包括要素列表中具体列出的全部要素中的至少一个,并且不排除要素列表中要素的任何组合。该定义还允许可选地存在除了在短语“至少一个”所指的要素列表中具体标识的要素之外的要素,无论其是否与那些具体标识的要素相关。因此,作为非限制性实例,“A和B中的至少一个”(或者等效地,“A或B中的至少一个”,或者等效地,“A和/或B中的至少一个”)在一个实施例中可以指代至少一个(可选地包括一个以上的)A,且不存在B(且可选地包括除B之外的要素);在另一个实施方案中,可以指代至少一个(可选地包括一个以上的)B,且不存在A(且可选地包括除A以外的要素);在又一个实施例中,可以指代至少一个(可选地包括一个以上的)A,以及至少一个(可选地包括一个以上的)B(且可选地包括其他要素);等等。

在权利要求中使用诸如“第一”、“第二”、“第三”等顺序术语来修饰权利要求时,其本身并不意味着一个权利要求要素相对于另一个权利要求要素的任何优先级、优先顺序或顺序,或者方法的动作的执行时间顺序,而是仅用作将具有特定名称的一个权利要求要素与具有相同名称的另一个权利要求(但使用序数词)区分开来的标签来区分权利要求要素。

同样,本文所使用的措词和术语是出于描述的目的,而不应被视为限制性的。本文中使用的“包括”、“包含”或“具有”、“涵盖”、“涉及”及其变体意味着包含其后列出的项目及其等同物以及其他项目。

技术分类

06120113241519