机器视觉系统校准的制作方法

文档序号:29040716发布日期:2022-02-25 20:38阅读:51来源:国知局
机器视觉系统校准的制作方法
机器视觉系统校准
1.本技术是申请日为2016年8月1日、申请号为201610621798.0、名称为“机器视觉系统校准”的发明申请的分案申请。
2.相关申请的交叉引用
3.本技术要求2015年7月31日提交的标题为“机器视觉系统校准”的临时专利申请no.62/199,459在35u.s.c.
§
119(e)下的权益,其全部内容都通过引用整体包含于此。
技术领域
4.公开的装置、系统、与计算方法大体上涉及机器视觉系统,并且更具体地说,涉及校准机器视觉系统。


背景技术:

5.在机器视觉系统中,可以利用一个或多个图像捕获装置以在对象或成像场景内的表面上执行视觉系统处理。这些处理可以包括检查、成像/符号解码、对象对准、和/或多种其它任务。在一些实施方式中,机器视觉系统可以用于检查布置在成像场景内或者经过成像场景的工件。此场景可以通过一个或多个图像捕获装置成像。通过图像捕获装置捕获的图像可以通过机器视觉系统处理以确定关于成像场景内的特征的信息,诸如特征的现实世界位置、位姿等的信息。在一些应用中,可以校准图像捕获装置以允许机器视觉系统以增加的准确性和可靠性执行视觉任务。
6.在一些情形中,可以利用校准目标来校准视觉系统中的图像捕获装置。校准目标可以是具有准确地已知(例如,由于制造过程)或者可测量尺寸特征的任何对象。例如,校准目标可以包括校准板。校准板可以是使得具有在其表面上可见的不同图案的平面对象。可以布置不同的图案,使得机器视觉系统或用户可以容易地识别通过图像捕获装置获取的校准板的图像中的可视特征。一些示例性图案包括点栅格、线栅格、蜂窝图案,正方形棋盘、三角形棋盘等。此图案通常地包括高度可定位特征。特征的定位中的准确性等级可能影响校准的准确性。
7.通过板的设计,诸如关于在此设计中明确定义的参考位置和/或坐标系统的位置和/或定向,每个可视特征的特征都是已知的。存在于此设计中的特征可以包括校准特征。校准特征可以是校准板的设计中的单独特征,其特征可以容易地测量(例如,特征的位置、尺寸、颜色等),并且其通过标定设计的期望特征是已知的。例如,一些可能的校准特征位置包括棋盘图案瓷砖的角或中心,或者点栅格中的点的中心,或者线栅格中的线交叉。
8.校准板设计可以包括以重复图案布置的大量的校准特征。更基本地,校准特征可以从获取的图像容易地提取并且可以提供已知特征。在一些应用中,利用已知的尺寸特征来校准机器视觉系统。


技术实现要素:

9.一些实施方式包括机器视觉系统。机器视觉系统包括一个或多个接口,此一个或
多个接口构造为提供与运动呈现装置、第一图像传感器、第二图像传感器的通信。运动呈现装置构造为提供平移移动与面内旋转移动中的至少一个,并且与第一坐标系统相关。运动呈现装置构造为直接地或间接地承载第一校准板与第二校准板,并且第一校准板与第二校准板相应地包括具有关于第一校准板的已知的物理位置的多个第一特征,与具有关于第二校准板的已知的物理位置的多个第二特征。第一图像传感器与第二图像传感器构造为相应地捕获第一校准板与第二校准板的图像,并且第一图像传感器与第二图像传感器相应地与第二坐标系统与第三坐标系统相关。机器视觉系统还包括构造为运行存储在存储器中的计算机程序的处理器。存储在存储器中的计算机程序可操作为致使处理器经由一个或多个接口将第一数据发送到运动呈现装置,该第一数据构造为致使运动呈现装置移动到要求的第一位姿;经由一个或多个接口接收来自运动呈现装置的报告的第一位姿;以及经由一个或多个接口接收来自第一图像传感器的关于报告的第一位姿的第一校准板的第一图像;以及经由一个或多个接口接收来自第二图像传感器的关于报告的第一位姿的第二校准板的第二图像。计算机程序还可操作为致使处理器确定第一校准板上的多个第一特征与第一图像中的多个第一特征的第一位置之间的多个第一对应关系;确定第二校准板上的多个第二特征与第二图像中的多个第二特征的第二位置之间的多个第二对应关系;至少部分地基于多个第一对应关系与报告的第一位姿确定第一坐标系统与第二坐标系统之间的第一转换;以及至少部分地基于多个第二通信与报告的第一位姿确定在第一坐标系统与第三坐标系统之间的第二变换。
10.一些实施方式包括机器视觉系统。机器视觉系统包括一个或多个接口,此一个或多个接口构造为提供与运动呈现装置、第一图像传感器、第二图像传感器的通信。运动呈现装置构造为提供平移移动与面内旋转移动中的至少一个,并且与第一坐标系统相关。运动呈现装置构造为直接地或间接地承载第一校准板与第二校准板,并且第一校准板与第二校准板相应地包括具有关于第一校准板的已知的物理位置的多个第一特征,与具有关于第二校准板的已知的物理位置的多个第二特征。第一图像传感器与第二图像传感器构造为相应地捕获第一校准板与第二校准板的图像,并且第一图像传感器与第二图像传感器相应地与第二坐标系统与第三坐标系统相关。机器视觉系统还包括构造为运行存储在存储器中的计算机程序的处理器。存储在存储器中的计算机程序可操作为致使处理器经由一个或多个接口将第一数据发送到运动呈现装置,该第一数据构造为致使运动呈现装置移动到要求的第一位姿;经由一个或多个接口接收来自运动呈现装置的报告的第一位姿;以及经由一个或多个接口接收来自第一图像传感器的关于报告的第一位姿的第一校准板的第一图像;以及经由一个或多个接口接收来自第二图像传感器的关于报告的第一位姿的第二校准板的第二图像。计算机程序还可操作为致使处理器确定第一校准板上的多个第一特征与第一图像中的多个第一特征的第一位置之间的多个第一对应关系;确定第二校准板上的多个第二特征与第二图像中的多个第二特征的第二位置之间的多个第二对应关系;确定第一变换,其允许在与运动呈现装置相关的第一坐标系统和与第一图像传感器相关的第二坐标系统之间映射;以及确定第二变换,其允许在与运动呈现装置相关的第一坐标系统和与第一图像传感器相关的第三坐标系统之间映射。
11.一些实施方式包括另一种类型的机器视觉系统。机器视觉系统包括一个或多个接口,此一个或多个接口构造为提供与运动呈现装置、第一图像传感器、第二图像传感器的通
信。运动呈现装置构造为提供平移移动与面内旋转移动中的至少一个,并且与第一坐标系统相关,运动呈现装置还构造为直接地或间接地承载第一图像传感器与第二图像传感器。第一图像传感器与第二图像传感器构造为相应地捕获第一校准板与第二校准板的图像,并且第一图像传感器与第二图像传感器相应地与第二坐标系统与第三坐标系统相关。第一校准板与第二校准板相应地包括具有关于第一校准板的已知物理位置的多个第一特征,与具有关于第二校准板的已知物理位置的多个第二特征。机器视觉系统还包括构造为运行存储在存储器中的计算机程序的处理器。计算机程序可操作为致使处理器经由一个或多个接口将第一数据发送到运动呈现装置,该第一数据构造为致使运动呈现装置移动到要求的第一位姿;经由一个或多个接口接收来自运动呈现装置的报告的第一位姿;以及经由一个或多个接口接收来自第一图像传感器的关于报告的第一位姿的第一校准板的第一图像;以及经由一个或多个接口接收来自第二图像传感器的关于报告的第一位姿的第二校准板的第二图像。计算机程序进一步可操作为致使处理器确定第一校准板上的多个第一特征与第一图像中的多个第一特征的第一位置之间的多个第一对应关系;确定第二校准板上的多个第二特征与第二图像中的多个第二特征的第二位置之间的多个第二对应关系;至少部分地基于多个第一对应关系与报告的位姿确定第一坐标系统与第二坐标系统之间的第一转换;以及至少部分地基于多个第二对应关系与报告的位姿确定第一坐标系统与第三坐标系统之间的第二转换。
12.一些实施方式包括另一种类型的机器视觉系统。机器视觉系统包括一个或多个接口,此一个或多个接口构造为提供与运动呈现装置、第一图像传感器、第二图像传感器的通信。运动呈现装置构造为提供平移移动与面内旋转移动中的至少一个,并且与第一坐标系统相关。运动呈现装置进一步构造为直接地或间接地承载包括具有未知物理位置的多个特征的目标物体。第一图像传感器与第二图像传感器构造为相应地捕获目标对象中的第一子组与第二子组多个特征,并且第一图像传感器与第二图像传感器相应地与第二坐标系统与第三坐标系统相关。机器视觉系统还包括构造为运行存储在存储器中的计算机程序的处理器。计算机程序可操作为致使处理器经由一个或多个接口将第一数据发送到运动呈现装置,该第一数据构造为致使运动呈现装置移动到要求的第一位姿;经由一个或多个接口接收来自运动呈现装置的报告的第一位姿;经由一个或多个接口接收来自第一图像传感器的关于报告第一位姿的多个特征的第一子组的第一图像;以及经由一个或多个接口接收来自第二图像传感器的关于报告第一位姿的多个特征的第二子组的第一图像。计算机程序进一步可操作为致使处理器确定在第一图像中的目标物体上的第一子组特征;确定在第二图像中的目标物体上的第二子组特征;至少部分地基于多个特征的第一子组与报告的第一位姿确定第一坐标系统与第二坐标系统之间的第一变换,以及根据多个特征的第二子组与报告的第一位姿确定第一坐标系统与第三坐标系统之间的第二变换。
13.一些实施方式包括另一种类型的机器视觉系统。机器视觉系统包括一个或多个接口,此一个或多个接口构造为提供与运动呈现装置、第一图像传感器、第二图像传感器的通信。运动呈现装置构造为提供平移移动与面内旋转移动中的至少一个,并且与第一坐标系统相关。运动呈现装置还构造为直接地或间接地承载第一图像传感器与第二图像传感器。第一图像传感器与第二图像传感器构造为捕获包括具有未知物理位置的多个特征的目标对象的图像,并且第一图像传感器与第二图像传感器相应地与第二坐标系统与第三坐标系
统相关。机器视觉系统还包括构造为运行存储在存储器中的计算机程序的处理器。计算机程序可操作为致使处理器经由一个或多个接口将第一数据发送到运动呈现装置,该第一数据构造为致使运动呈现装置移动到要求的第一位姿;经由一个或多个接口接收来自运动呈现装置的报告的第一位姿;经由一个或多个接口接收来自第一图像传感器的关于报告第一位姿的多个特征的第一子组的第一图像;以及经由一个或多个接口接收来自第二图像传感器的关于报告第一位姿的多个特征的第二子组的第二图像。计算机程序进一步可操作为致使处理器确定在第一图像中的目标物体上的第一子组特征;确定在第二图像中的目标物体上的第二子组特征;以及至少部分地基于多个特征的第一子组与报告的第一位姿确定第一坐标系统与第二坐标系统之间的第一变换;以及基于多个特征的第二子组与报告的第一位姿确定第一坐标系统与第三坐标系统之间的第二变换。
14.在一些实施方式中,计算机程序可操作为致使处理器确定补偿与运动呈现装置相关的系统运动误差的运动修正变换。
15.在一些实施方式中,计算机程序可操作为致使处理器在第一时间段以后再校准机器视觉系统,包括预确定:多个第一对应关系、多个第二对应关系、第一变换与第二变换。在一些实施方式中,再校准机器视觉系统包括调节一个或多个预校准参数。
16.因此相当宽泛地概述了公开主题的特征以便可以更好地理解下面其详细的描述,并且以便可以更好地理解对本技术领域的当前贡献。当然具有在下文中将要描述的并且其将形成所附于此的权利要求的主题的公开的主题的其它特征。应该理解的是这里使用的措辞与术语,是出于描述的目的并且不应被视为限定。
附图说明
17.当结合其中相同的附图标记表示相同的元件的下面的附图考虑时,参照公开的主题的下面的详细描述可以更加充分地理解公开主题的多个目的、特点与优点。
18.图1示出了根据一些实施方式的基于单板的手眼(sph)校准系统。
19.图2a示出了根据一些实施方式的以静态图像捕获装置模式的坐标系统之间的关系;图2b示出了根据一些实施方式的以移动图像捕获装置模式的坐标系统之间的关系。
20.图3示出了根据一些实施方式的在sph校准系统中的sph校准模块的操作。
21.图4示出了根据一些实施方式的sph校准模块的直线估计阶段。
22.图5示出了根据一些实施方式的基于跟踪特征的手眼(tfh)校准系统。
23.图6示出了根据一些实施方式的在tfh校准系统中的tfh校准模块的操作。
24.图7示出了根据一些实施方式的tfh校准单元的直线估计阶段。
具体实施方式
25.在下面的描述中,阐述了关于公开主题的系统与方法以及此系统与方法可以在其中操作的环境等的多个具体细节,以便提供对公开的主体的透彻理解。然而,对于本领域中的技术人员显而易见的是,公开的主题可以在没有此具体细节的情况下执行,并且未详细描述本领域中众所周知的一些特征,以避免使公开的主题复杂化。此外,应该理解的是,下面提供的实例是示例性的,并且应该考虑到其它系统与方法在公开主题的范围内。
26.下面根据一个或多个实施方式引入了贯穿说明书使用的术语的示例性说明。这些
说明不旨在限定。
27.在自动工业系统中两个通常重要的部件是机器视觉系统与运动呈现装置。视觉系统可以提供运行时环境的重要信息,使得运动呈现装置可以情境感知。在一些高精度任务中,视觉系统可以提供运动呈现装置的状态的视觉反馈,使得可以进行调节以提高运动呈现装置的准确性,以形成闭环控制系统。通常,机器视觉系统利用图像捕获装置来探测运动呈现装置周围的视觉信息。
28.为了使用从图像捕获装置获得的信息,机器视觉系统应该能够在图像捕获装置的坐标系统与运动呈现装置的坐标系统之间转换。可以通过称为手眼校准的程序确立(1)图像捕获装置的坐标系统与(2)运动呈现装置的坐标系统之间的关系,其中手指的是运动呈现装置,而眼指的是视觉系统。
29.通常地,手眼校准包括利用运动呈现装置使诸如校准板校准目标移动到多个不同位姿。在各不同位姿处,视觉系统可以获取校准目标周围的图像。通过运动呈现装置的预期的运动与由视觉系统观察到的运动,校准系统可以确定视觉系统与运动呈现装置的坐标系统之间的转换。在一些情形中,替代移动校准目标,运动呈现装置可以相对于校准目标移动图像捕获装置以实现相同的目标。
30.用于手眼校准的通常准确且常用的校准目标是单个的大校准板,其通常大于单个图像捕获装置的视野(fov)或者大于由多个图像捕获装置的fov跨越的区域。大的校准板可以包括具有已知物理尺寸的大量的可靠特征。因此,大的校准板允许校准系统提供准确的手眼校准。然而,对于多种应用来说,大的校准板通常太笨重。实际上,基于大的校准板的校准系统可能需要人为干预,可能增加维护成本,或者在一些应用中可能是不实用的。
31.这里公开的实施方式解决了与基于大校准板的校准系统相关的问题。特别地,公开的实施方式提供了改进手眼校准系统的灵活性的两个手眼校准机构。公开的实施方式允许在对于基于大校准板的校准系统不实用的应用中配置手眼校准。这些校准机构称为基于单校准板的手眼(sph)校准机构与基于跟踪特征的手眼(tfh)校准机构,并且实施这些机构的校准系统称相应地称为sph校准系统与tfh校准系统。
32.在一些实施方式中,sph校准系统可以构造为使用多个小的校准板以便手眼校准,而不是单个大的校准板。在一些实施方式中,每个图像捕获装置具有一个小的校准板。在一些实施方式中,可以刚性地并且与运动平面平行地安装多个小的校准板。较小校准板的使用可以改进校准机构的灵活性:由于sph校准系统不依赖于笨重、大的校准板,因此可以在先前不实用的应用中配置此sph校准系统。例如,在非常大的平板电视上,将单个校准板安装在实际部分上比构造大的校准板更实用。
33.使用多个小的校准板的典型挑战中的一个是多个校准板相对于彼此未对准。换句话说,多个小的校准板中的一个或多个可能具有不同的面内旋转,因为使校准板的面内旋转完全对准是困难的。此外,小的校准板中的每个都通常与其自身的独特坐标系统相关。因此,sph校准系统可以构造为不仅确定校准板之间的相对面内旋转与平移,而且确定校准板的实际坐标系统。当使用单个大的校准板时,通常不出现此挑战。
34.在一些实施方式中,tfh校准系统将运行时间对象用作手眼校准的校准目标。由于运行时间对象被用作校准目标,因此tfh校准系统不需要用户创建、购买、保持与存储校准板。此外,使用运行时间对象能够提高校准机构的灵活性。尽管运行时间对象可以提供与大
校准板相比较少数量的可靠校准特征,tfh校准机构可以提高校准系统的灵活性。由于tfh校准系统不依赖于笨重、大的校准板,因此可以在先前不实用的应用中配置此tfh校准系统。
35.由于透镜变形手眼校准在图像捕获装置中通常地是非直线问题。不幸地的是,由于非直线问题可能包括局部解并且现有的非直线优化技术可能不能有效地识别整体解,因此不能容易且有效地解决此非直线问题。
36.为解决此问题,在一些实施方式中,sph校准系统与tfh校准系统可以使用手眼校准的两步骤方法。例如,校准方法的第一步骤中,sph校准系统可以线性地接近坐标转换之间的关系,并且解决此线性关系以对手眼校准确定近似解。随后地,在第二步骤中,sph校准系统可以通过利用来自第一步骤的近似解初始化非线性优化技术来解决此实际非直线问题。由于从第一步骤的近似解接近手眼校准的整体解,因此非直线优化技术可以有效地识别整体解。还可以通过tfh校准系统使用类似的两步骤方法。
37.在一些实施方式中,sph校准系统与tfh校准系统可以在静态图像捕获装置构造中操作。在此静态图像捕获装置构造中,当运动呈现装置移动时,图像捕获装置的物理位置保持不改变。通常地,当在此系统上校准图像捕获装置时,校准对象或运行时间对象固定到运动呈现装置并且在校准过程中通过运动呈现装置移动。在此构造中,在全部图像捕获装置中的位置都保持不改变。
38.在一些实施方式中,sph校准系统与tfh校准系统可以在移动图像捕获装置构造中操作。在移动图像捕获装置构造中,图像捕获装置可以安装在运动呈现装置上,使得它们的物理位置相对于运动呈现装置的原位置改变。通常地,当校准在此系统上的图像捕获装置时,校准板固定到机器的基部并且在校准过程中保持静止,同时运动呈现装置使图像捕获装置四处移动。在此构造中,在全部图像捕获装置中的相对位置都保持不改变。在一些实施方式中,运动呈现装置运动必须与校准对象或运行时间对象平行。
39.在一些实施方式中,sph校准系统与tfh校准系统可以在运动呈现装置模式化系统误差,并且确定用于控制运动呈现装置的参数,例如(x,y,θ),以及原坐标系统中的运动呈现装置的实际物理位姿之间的关系。
40.sph校准系统
41.图1示出了根据一些实施方式的sph校准系统。图1示出了机器视觉系统100与运动呈现装置114。装置视觉系统100包括大体上朝向包括运动呈现装置114的场景指向的一个或多个图像捕获装置102。图像捕获装置102可以包括电耦合装置(ccd)图像传感器或者互补金属氧化物半导体(cmos)

图像传感器、线扫描传感器、飞点扫描器、电子显微镜、包括计算机断层扫描(ct)扫描仪、磁共振成像机的x光装置,和/或本领域中技术人员已知的其它装置。
42.在一些实施方式中,机器视觉系统100包括计算装置104。计算装置104可以包括处理器106与存储装置108。处理器106可以执行指令并且一个或多个存储装置108可以存储指令和/或数据。存储装置108可以是非瞬态计算机可读介质,诸如动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、磁盘驱动器、光盘驱动器、可编程只读存储器(prom)、只读存储器(rom)或者任何其它存储器或者存储器的组合。存储装置108可以用于临时地存储数据。存储装置108还可以用于长期数据存储。处理器106与存储装置108可以由
特定目的的逻辑电路增补和/或并入到特定目的的逻辑电路中。
43.在一些实施方式中,计算装置104可以包括sph校准模块110。sph校准模块110可以构造为调整sph校准机构。sph校准模块110可以构造为经由一个或多个接口112将构造为致使运动呈现装置移动到要求的第一位姿的第一数据发送到运动呈现装置114。sph校准模块110还构造为经由一个或多个接口112接收来自运动呈现装置114的报告的第一位姿;经由一个或多个接口112接收来自第一图像处理器的关于报告的第一位姿的第一校准板的第一图像;经由一个或多个接口112接收来自第二图像传感器的关于报告的第一位姿的第二校准板的第二图像;确定第一校准板上的多个第一特征与第一图像中的多个第一特征的第一位置之间的多个第一对应关系;确定所述第二校准板上的多个第二特征与所述第二图像中的多个第二特征的第二位置之间的多个第二对应关系;至少部分地基于多个第一对应关系与报告的第一位姿确定第一坐标系统与第二坐标系统之间的第一转换;以及至少部分地基于多个第二对应关系与报告的第一位姿确定第一坐标系统与第三坐标系统之间的第二转换。
44.在一些实施方式中,sph校准模块110可以在两步骤处理中确定第一转换与第二转换。在第一步骤中,sph校准模块110可以构造线性系统,此线性系统使未知参数、特征的对应关系、以及运动呈现装置114的报告的位姿相关。随后地,sph校准模块110可以通过迭代求解线性系统与非线性单个照相机校准步骤确定未知参数的估计值。在第二步骤中,sph校准模块110可以构造使得特征再投影误差最小的非线性系统,化,并且利用非线性解算器求解非线性系统。在此第二步骤中,线性系统的解可以用作用于非线性解算器的初始值。在一些实施方式中,利用全部对应关系与运动再现装置的报告的位姿同时地求解此转换。
45.在一些实施方式中,可以在数字电子电路中、或者在计算机硬件、固件、软件或者它们的组合中实施sph校准模块110。此实施可以是作为例如明确地体现在机器可读存储装置中的计算机程序的计算机程序产品,以便通过例如可编程处理器、计算机、和/或多个计算机的数据处理装置执行或者控制该数据处理装置的操作。可以以任何形式的计算机或编程语言书写计算机程序,包括源代码、编译代码、解释代码和/或机器代码,并且计算机程序可以以任何形式部署,包括作为独立程序或作为子程序、元素或适于在计算环境中使用的其它单元。计算机程序可以部署为在一台计算机上或者在一个或多个位置处的多台计算机上被执行。
46.在一些实施方式中,计算装置104可以包括一个或多个接口112。一个或多个接口112可以构造为在计算装置104与运动呈现装置114或图像捕获装置102之间提供通信。可以在硬件中实施一个或多个接口112以便在诸如光学、铜和/或无线接口的多种介质中以及在多个不同协议方中发送与接收信号,其中一些可能是非瞬态的。
47.在一些实施方式中,计算装置104可以包括服务器。可以利用操作系统(os)软件操作此服务器。在一些实施方式中,os软件以linux软件内核为基础并且在服务器中运行特定应用,诸如监控任务与提供协议栈。os软件允许服务器资源为控制与数据路径单独地分配。例如,一些数据包加速卡和数据包服务卡专用于执行布线或安全控制功能,同时其它数据包加速卡/数据包服务卡专用于处理用户会话流量。当网络要求改变时,可以动态地部署硬件资源以满足一些实施方式中的要求。
48.在一些实施方式中,运动呈现装置114可以构造为将运动提供到布置在运动呈现
装置114上的对象。运动呈现装置114可以包括机械臂的端部效应器、运动台、或者能够将运动提供到布置在装置的对象的任意类型的装置。
49.在一些实施方式中,在静态图像捕获装置构造中,运动呈现装置114可以构造为承载多个校准板116,并且多个校准板116可以通过静态图像捕获装置102成像。运动呈现装置114可以构造为沿着x轴135和/或y轴平移,由此使多个校准板116平移。运动呈现装置114还可以提供面内旋转,由此还旋转校准板116。
50.在一些实施方式中,每个校准板116都可以足够小,使得各校准板116都能覆盖单个图像捕获装置102的视野的大部分。在一些实施方式中,校准目标是平面,并且保持在相同的物理平面中,同时校准目标移动到各图像捕获装置的视野中的多个位置。
51.在一些实施方式中,每个图像捕获装置的光轴都无需垂直于校准目标116的平面。如通过将校准目标116布置在运动呈现装置114上限定的校准目标116相对于图像捕获装置图像坐标轴的初始面内定向,可以是任意的。
52.在一些实施方式中,在移动图像捕获装置构造中,多个校准板116可以是静止的,并且可以将图像捕获装置102安装在运动呈现装置114上,使得图像捕获装置102可以构造为相对于多个校准板116移动。
53.在一些实施方式中,可以将通过图像捕获装置102捕获的一个或多个图像传送到计算装置104以便进一步处理。一个或多个图像可以经由一个或多个接口112传送。
54.在一些实施方式中,计算装置104可以构造为经由一个或多个接口112接收一个或多个图像,以及经由一个或多个接口112接收运动呈现装置位姿,并且将接收的图像与运动呈现装置位姿提供到sph校准模块110。随后,sph校准模块110可以构造为处理接收的多个校准板116的图像以及运动呈现装置位姿以确定图像捕获装置102的坐标系统与运动呈现装置114的坐标系统之间的坐标转换。
55.尽管图1描述了具有四个图像捕获装置102的机器视觉系统100,但是在一些实施方式中,机器视觉系统100可以包括全部大体上朝向场景的较少或较大数量的图像捕获装置102。在一些实施方式中,单个图像捕获装置可以用于使场景成像。
56.尽管图1将运动呈现装置114描述为能够沿着x轴135和/或y轴140平移,但是在一些实施方式中,运动呈现装置114能够提供三维(3d)运动,包括沿着垂直于由x轴和y轴限定的平面的z轴的平移分量和/或者倾斜/旋出x-y平面的至少一个。在一些实施方式中,计算装置104可以完全地自容纳于图像捕获装置102内,部分地容纳于图像捕获装置102内,或者在图像捕获装置102之外。
57.坐标系统
58.在一些实施方式中,sph校准模块110使坐标系统与校准系统中的一个或多个部件相关。在sph校准模块110中使用的坐标系统可以如下设置:
59.原坐标系统(home2d):home2d是基础参考空间,其中描述了全部其它坐标空间以及它们的关系。home2d是标准正交的并且通过x轴与运动呈现装置114的旋转中心限定。例如,home2d的x轴与运动呈现装置的x轴对准,并且home2d限定为与x轴成90度。正y轴方向是沿着与运动呈现装置的y轴大体相同方向。根据是否校准板或运动呈现装置的运动被认为更准确,沿着轴的长度单元通过在校准板上的图案或者通过运动呈现装置的x单元行进提供。当此装置位于原位置时,home2d的起始点位于运动呈现装置的旋转中心。在校准系统中
仅存在一个home2d坐标系统。
60.图像坐标系统(raw2d):raw2d是单个图像捕获装置的像素空间坐标系统。存在用于每个图像捕获装置102的此坐标系统的一个实例。初始地在此坐标系统中探测到图像特征。由于透镜与透视变形,raw2d相对于home2d坐标系统不是标准正交空间。每个图像捕获装置的raw2d坐标系统都独立于其它图像捕获装置的raw2d坐标系统。
61.图像捕获装置坐标系统(camera2d):camera2d是用于单个图像捕获装置102的物理空间标准正交坐标系统(如在home2d中观察的)。存在用于每个图像捕获装置102的此坐标系统的一个实例。它具有与home2d坐标系统相同的长度单位。camera2d的原点位于在home2d中的与图像捕获装置的图像窗口的中心对应的位置处。它的x轴平行于在camera2d原点处的raw2dx轴。在一些实施方式中,sph校准模块110使raw2d在窗口中心处线性化,并且获取线性化x轴的方向,并且获取y轴的大体方向。每个图像捕获装置的raw2d坐标系统都通过单视图、单独成像捕获装置、校准模型与此图像捕获装置的camera2d系统相关。在移动图像捕获装置构造中,由于当运动呈现装置114移动到特定位姿时,图像捕获装置102随着运动呈现装置114移动,因此每个图像捕获装置的camera2d坐标都取决于如通过sph校准模块110命令的运动呈现装置的位姿。因此,在此情形中,camera2d坐标系统也相对于home2d坐标系统移动。在静态图像捕获装置构造中,camera2d独立于如通过sph校准模块110命令的运动呈现装置的位姿。
62.校准板坐标系统(plate2d):plate2d是校准板的坐标系统。存在用于各校准板的此坐标系统的一个实例。校准板包括定义明确的校准图案,其通常地包括至少一个基准点以限定系统原点与校准目标的坐标轴方向。在任意时间情形处,通过全部图像捕获装置观察的在单个校准板内的全部校准特征,都在相同的plate2d坐标系统中进行描述。然而,此空间可以通过运动呈现装置114在home2d坐标周围移动。plate2d是标准正交坐标系统(如在home2d中观察的),尽管其长度单元可以与home2d具有非恒等性比例因数。plate2d和home2d可以具有不同的利手性。每个校准目标plate2d坐标系统都独立于其它校准板的plate2d坐标系统。
63.在静态图像捕获装置构造(例如,移动板)中,plate2d取决于如通过校准系统命令的运动呈现装置114的位姿。由于校准目标116随着运动呈现装置114移动,即使当运动呈现装置114移动到不同位姿时,plate2d从stage2d转换也是固定的转换。然而,当运动呈现装置114移动到不同位姿时,home2d从plate2d转换不固定。因此,当运动呈现装置114移动到不同位姿时,plate2d坐标系统相对于home2d坐标系统移动。
64.在移动图像捕获装置构造中,plate2d独立于如通过sph校准模块110命令的运动呈现装置的位姿。
65.校准对象坐标系统(part2d):这是与校准对象(这可能不是校准板)相关的更加通常的坐标系统。part2d用于表示在校准对象上的特征的相对位置。在一些实施方式中,part2d可以设置为与home2d或stage2d相同。
66.台坐标系统(stage2d):stage2d是标准正交坐标系统(如在home2d中观察的),其附接到运动呈现装置,并且由此随着运动呈现装置移动。home2d与stage2d之间的关系通过二维刚性转换提供,当运动呈现装置114处于原位置时,这是恒等转换。
67.在一些实施方式中,home2d从stage2d表示home2d中的运动呈现装置的实际物理
位姿。home2d从stage2d可以限定home2d与stage2d之间的关系并且可以通过2d刚性转换表示。
68.在一些实施方式中,sph校准模块110构造为在home2d、camera2d与plate2d的利手性是独立的假设下操作。利手性涉及x轴与y轴的相对位置。通过运动台的轴线的方向来确定home2d利手性。plate2d利手性伴随在校准板上的图案。通过校准板与图像传感器之间的光学路径中的多个反射镜确定camera2d利手性。
69.在一些实施方式中,未修正的home2d从stage2d可以指示运动呈现装置114的命令或报告的位姿。由于运动呈现装置114中的系统性误差,运动呈现装置114的命令或报告的位姿可能不与home2d(例如,home2d从stage2d)中的运动呈现装置114的实际物理位姿匹配。由此,未修正的home2d从stage2d在某种意义上代表在校准以前的运动呈现装置的位姿的最佳猜测。
70.图2a示出了根据一些实施方式的静止图像捕获装置模式中的坐标系统之间的关系;图2b示出了根据一些实施方式的移动图像捕获装置模式中的坐标系统之间的关系。
71.图3示出了根据一些实施方式的在sph校准系统中的sph校准模块的操作。
72.sph校准模块110构造为确定一个或多个图像捕获装置102的坐标系统(例如,raw2d)与同运动呈现装置114相关的坐标系统(home2d)之间的关系。在一些实施方式中,sph校准模块110构造为在通过图像捕获装置102拍摄的图像中发现的raw2d特征位置到当运动呈现装置114移动通过已知的一组位姿时这些特征的物理home2d位置之间建立对应关系。
73.在一些实施方式中,运动呈现装置114承载多个校准板116。在此实施方式中,sph校准系统被认为在静止图像捕获装置构造中操作。在其它实施方式中,运动呈现装置114承载图像捕获装置102。在此实施方式中,sph校准系统被认为在移动图像捕获装置构造中操作。
74.在步骤302中,sph校准模块110构造为指令运动呈现装置114移动到预定位姿。一旦运动呈现装置114接收指令,运动呈现装置114就移动到预定位姿,并且将运动呈现装置114的报告的位姿向回报告到sph校准模块110。由于运动呈现装置114的有限准确性,运动呈现装置114的实际位姿可以与由sph校准模式110指令的命令位姿不同。
75.在步骤304中,sph校准模块110构造为指令图像捕获装置102捕获多个校准板的图像。一旦图像捕获装置102接收指令,每个图像捕获装置102都能够捕获对应校准板116的图像并且将捕获的图像传送到sph校准模块110。
76.在一些实施方式中,可以在图像捕获装置与校准板之间存在一对一对应关系。例如,第一图像捕获装置可以构造为捕获第一校准板的图像;第二图像捕获装置可以构造为捕获第二校准板的图像;并且第三图像捕获装置可以构造为捕获第三校准板的图像。在另一些实施方式中,在图像捕获装置与校准板之间可以存在多对一对应关系。例如,第一图像捕获装置与第二图像捕获装置可以构造为捕获第一校准板的图像;并且第三图像捕获装置与第四图像捕获装置可以构造为捕获第二校准板的图像。
77.在步骤306中,sph校准模块110构造为确定是否存在在其将捕获校准板116的图像的其它位姿。当存在在其将捕获校准板116的图像的其它位姿时,sph校准模块110可以前进到步骤302。当不存在在其将捕获校准板116的图像的其它位姿时,那么sph校准模块110可
以前进到步骤308。
78.在步骤308中,sph校准模块110构造为确定在校准板上的物理特征位置与在图像中捕获的raw2d特征位置之间的通信。例如,sph校准模块110可以利用特征查找技术来确定在图像中捕获的特征的位置。随后地,sph校准模块110可以确定在图像中捕获的确定的raw2d特征位置与已知的物理plate2d特征位置之间的对应关系。
79.在步骤310中,sph校准模块110可以利用对应关系与运动呈现装置114中的一个或多个位姿来确定关于图像捕获装置的raw2d坐标系统与home2d坐标系统的变换。
80.尽管sph校准模块110将相同类型的信息用作基于单个校准板的手眼校准系统,sph校准模块110利用不同的方法来确定关于raw2d坐标系统与home2d坐标系统的变换。在基于单个校准板的手眼校准系统中,在校准板上的特征的全部物理位置都限定在相同的plate2d坐标系统中。然而,在sph校准系统中,在不同校准板上的特征的物理位置限定在不同的plate2d坐标系统中。因此,sph校准系统可以将这些plate2d坐标系统变换到home2d坐标系统以便在相同的坐标系统中表示全部特征。在基于手眼校准系统的单个校准板中未出现此困难。
81.在一些实施方式中,sph校准模块110构造为确定下面参数中的一个或多个:
[0082]-单个图像捕获装置单视图校准模型,其特征在于各图像捕获装置的raw2d坐标与camera2d坐标系统之间的非线性变换。
[0083]-图像捕获装置的布置位姿:camera2d坐标系统与home2d坐标系统(例如,home2d从camera2d或者camera2d从home2d)之间的变换。
[0084]-校准目标的布置位姿:plate2d坐标系统与stage2d坐标系统(例如,stage2d从plate2d或plate2d从stage2d)之间的变换。
[0085]-从(1)用于控制运动呈现装置的参数,例如(x,y,θ)或者非修正的home2d从stage2d到(2)在原坐标系统(home2d)(例如运动修正矩阵)中的台的实际物理位姿的变换。
[0086]
在一些实施方式中,图像捕获装置的布置位姿可以指示系统中的图像捕获装置的位姿。在静态图像捕获装置构造中,通过home2d从静态camera2d给定布置位姿,其提供了各静态照相机的camera2d在home2d中的位姿。在移动图像捕获装置构造中,通过stage2d从移动camera2d给定布置位姿,其提供了各移动图像捕获装置的camera2d在stage2d中的位姿。在两种情形中,图像捕获装置的布置位姿包括2d刚性变换与可能的利手性翻转(flip)。
[0087]
在一些实施方式中,校准目标的布置位姿可以具体限定校准目标在校准系统中的位姿。在静态照相机构造中,通过stage2d从移动plate2d提供了布置位姿,其提供了移动校准目标的plate2d在stage2d中的位姿。在移动照相机构造中,通过home2d从静止plate2d提供了布置位姿,这提供了校准目标plate2d在home2d中的位姿。在两种情形中,布置位姿包括2d刚性变换以及可能的利手性翻转。
[0088]
在一些实施方式中,sph校准模块110还可以构造为补偿运动呈现装置114中的系统误差。一些较低准确性的运动呈现装置可能显示系统误差,诸如x运动轴与y运动轴之间的歪斜,两个轴之间的单位行进中的差值,和/或来自期望的标定值的单位行进中的比例误差。sph校准模块110可以构造为通过利用运动修正矩阵补偿运动呈现装置的以下参数来补偿此系统性误差:
[0089]-x单元行进的量级
[0090]-y单元行进的方向
[0091]-y单元行进的量级
[0092]
在此实施方式中,sph校准模块110可以假设x单元前进的方向通过定义是准确的。
[0093]
在一些实施方式中,sph校准模块110可以构造为基于在步骤308中确定的特征的对应关系以及运动呈现装置114的报告位姿确定这些估计值。
[0094]
在一些实施方式中,sph校准模块110假设在静态图像捕获装置构造中,校准目标刚性地附接到运动呈现装置114。在目标上的附接点与目标的定向是任意的。类似地,在一些实施方式中,sph校准模块110假设在移动图像捕获装置构造中,图像捕获装置刚性地附接到运动台,并且此图像捕获装置的附接点与它们的定向是任意的。在两种构造中,一旦附接,附接点与定向就应该贯穿校准程序保持不变。由于刚性地附接校准目标(或者图像捕获装置),当运动呈现装置移动校准目标或图像捕获装置时,布置位姿保持不变。布置位姿包括2-d刚性变换与可能的利手性翻转。在大部分应用中,不能精确地控制布置位姿并且在操作sph校准模块110以前布置位姿是未知的。
[0095]
在一些实施方式中,sph校准模块110可以使用两步骤方法来确定这些估计值。
[0096]
在第一步骤中,sph校准模块110可以构造与未知参数、在步骤308中确定的特征的对应关系、以及运动呈现装置114的报告位姿相关的线性系统。随后地,sph校准模块110可以通过迭代求解线性系统与非线性单个照相机校准步骤确定未知参数的估计值。
[0097]
在第二步骤中,sph校准模块110可以构造使特征再投影误差最小化非线性系统,并且利用非线性解算器求解非线性系统。在此第二步骤中,对于线性系统的解可以用作用于非线性解算器的初始值。
[0098]
第一步骤
[0099]
图4示出了根据一些实施方式的sph校准模块110的线性估计台。
[0100]
在步骤402中,sph校准模块110可以构造为估计raw2d从plate2d、raw2d从camera2d以及camera2d从plate2d的对应关系。
[0101]
为此目的,sph校准模块110可以执行单视图、用于运动呈现装置的各位姿的单个图像捕获装置校准。sph校准模块110可以使用单视图,在本技术领域中已知的单个图像捕获装置校准技术。
[0102]
在一些实施方式中,执行单视图、单图像捕获装置校准的sph校准模块110基于校准板的单个图像计算camera2d从plate2d以及raw2d从camera2d。通过这种方式,sph校准模块110能够解决校准目标与图像捕获装置之间的任何利手性翻转。
[0103]
单视图单照相机校准假设图像捕获装置与校准板两者都是静止的(或者彼此相对静止)。在此假设下,单视图单照相机校准基于特征对应关系(在图像空间raw2d上探测到的特征,与plate2d上的相应特征位置)计算camera2d坐标系统与plate2d坐标系统之间的变换,以及照相机固有参数(raw2d从camera2d)。
[0104]
由于特征对应关系代表raw2d与plate2d之间的变换,因此sph校准模块110可以使raw2d从plate2d分解成raw2d从camera2d与camera2d从plate2d。为确定raw2d从camera2d与camera2d从plate2d,sph校准模块110可以利用(1)raw2d特征点与plate2d特征位置之间的对应关系以及(2)与图像捕获装置相关的透镜变形模式类型。
[0105]
对于将raw2d从plate2d分解到raw2d从camera2d与camera2d从plate2d来说,sph
校准模块110假设raw2d从camera2d与camera2d从plate2d呈现特定形式。例如,当在照相机的光学路径中具有反射镜时,sph校准模块110可以假设camera2d从plate2d的变换是具有潜在利手性翻转的刚性变换。类似地,sph校准模块110可以假设raw2d从camera2d指示立体透视变换和仿射变换。sph校准模块110还可以假设raw2d从camera2d包括透镜变形。在一些情形中,透镜变形可以模式化为单个参数的径向模型,如下:rx=x*(1+k*r2);ry=y*(1+k*r2),其中r2=x2+y2,x和y是没有透镜变形的位置,并且k是径向变形的系数。由于k是未知的,因此通过校准程序估计此系数。raw2d从camera2d还包括透视变换和仿射变换。
[0106]
通过形成线性与非线性等式映射plate2d特征到raw2d特征,sph校准模块110执行单视图、单图像捕获装置校准,以解算raw2d从camera2d与camera2d从plate2d中的未知数。
[0107]
在一些实施方式中,需要执行单视图单图像捕获装置校准的最小对应数量是九个,具有非退化位置。当对应的数量小于九但是大于两个时,那么sph校准模块110可以使用刚性增加等级(rigid plus scale)并且利手性线性拟合以确定包括利手性的raw2d从plate2d。在一些实施方式中,sph校准模块110可以构造为利用最小二乘法发现刚性增加等级与利手性线性拟合。最小二乘法可以发现使最小二乘方误差最小化的raw2d从plate2d。在其它实施方式中,sph校准模块110可以构造为利用迭代最近点方法发现刚性增加等级与利手性线性拟合。
[0108]
当在全部视图中具有小于三个非线性特征时,那么sph校准模块110不能确定校准板的布置。因此,在此情形中,sph校准模块110可以引发异常并且终止。
[0109]
在步骤404中,利用在步骤402中确定的raw2d从camera2d的倒转,sph校准模块110可以将raw2d特征坐标变换到camera2d特征坐标。
[0110]
在步骤406中,sph校准模块110可以利用在camera2d坐标中表示的特征构造线性系统,并且求解运动模型与校准目标与图像捕获装置的布置位姿。
[0111]
基于用于各对应关系的特征可以构造此线性系统,存在至少两种方式以将特征位置绘制到home2d坐标系统。
[0112]
首先,可以通过将板布置变换施加到特征的plate2d坐标计算特征的home2d位置,这将plate2d坐标变换到stage2d坐标。然后施加运动呈现装置114的运动并且坐标变换到home2d:其中r表示运动呈现装置旋转矩阵,其代表运动呈现装置的旋转,p表示将plate2d坐标系统变换到stage2d坐标系统的plate2d布置变换矩阵,表示plate2d坐标系统中的特征点的坐标。其次,可以通过施加home2d从camera2d的变换计算特征的home2d位置以绘制特征到home2d的camera2d坐标描述:其中c表示将camera2d坐标系统变
换到home2d坐标系统的照相机布置变换矩阵,并且表示camera2d坐标系统中的特征点的坐标。
[0113]
由于当绘制到home2d坐标系统时在plate2d上的物理位置与camera2d的中成像点应该与相同位置对应,因此通过两种方法计算的home2d位置应该是相同的。然而,运动呈现装置114的系统性误差可以在由两种方法计算的home2d位置中形成差值。由此,利用运动模型可以补偿运动呈现装置114的系统误差。在一些实施方式中,运动模型可以表示为运动修正项其中m表示运动修正矩阵并且表示运动呈现装置的未校准位姿。
[0114]
因此,通过两种方法计算的home2d位置之间的关系可以表述为如下系统:
[0115][0116]
因为和r是已知的值,因此根据未知的m、p和c,上面确定的系统是线性系统。
[0117]
在一些实施方式中,运动修正矩阵m可以如下表示:
[0118][0119]
其中i表示运动修正矩阵的x方向,j表示运动修正矩阵的y方向,并且s表示运动修正矩阵的歪斜。
[0120]
在一些实施方式中,运动呈现装置旋转矩阵r可以如下表示:
[0121][0122]
其中θ表示运动呈现装置114的面内旋转。
[0123]
在一些实施方式中,plate2d布置变换矩阵p可以如下表示:
[0124][0125]
其中a、b、c和d是板布置旋转系数、以及e和f相应地是x和y轴中的板布置平移系
数。如上所述,plate2d布置变换矩阵p已知是2d刚性变换与利手性变换的组合。因此,plate2d布置变换矩阵p可以如下简化
[0126][0127]
在一些实施方式中,照相机布置变换矩阵c可以如下表示:
[0128][0129]
其中k、l、m和n是照相机布置旋转系数、并且r和t相应地是x和y轴中的照相机布置平移系数。如上所述,照相机布置变换矩阵c已知使2d变换与利手变换的组合。因此,照相机布置变换矩阵c可以简化如下:
[0130][0131]
在一些实施方式中,sph校准模块110可以基于plate2d坐标系统中的物理特征坐标与camera2d坐标系统中的成像特征位置之间的对应关系,相对于运动修正矩阵m、plate2d布置变换矩阵p以及照相机布置变换矩阵c解算线性系统
[0132]
在一些实施方式中,sph校准模块110可以构造为确定plate2d坐标系统是否在其利手性中翻转并且camera2d坐标系统是否在其利手性中翻转。如上提供的plate2d布置变换矩阵p与照相机布置变换矩阵c假设校准目标与图像捕获装置两者不具有利手性翻转。然而,当图像捕获装置或校准目标布置具有利手性翻转时,那么在plate2d布置变换矩阵p中的符号值和/或照相机布置变换矩阵c中的符号值应该适当地修改以相应地解释翻转的g与h轴,以及翻转的p和q轴。
[0133]
例如,当校准目标与图像捕获装置两者不具有利手性翻转时,则plate2d布置变换矩阵p与照相机布置变换矩阵c可以设置如下:
[0134][0135]
再例如,当校准目标具有利手性翻转、但是图像捕获装置不具有利手性翻转时,则plate2d布置变换矩阵p与照相机布置变换矩阵c可以设置如下:
[0136][0137]
再例如,当校准目标不具有利手性翻转、但是图像捕获装置具有利手性翻转时,则plate2d布置变换矩阵p与照相机布置变换矩阵c可以设置如下:
[0138][0139]
再例如,当校准目标与图像捕获装置两者具有利手性翻转时,则plate2d布置变换矩阵p与照相机布置变换矩阵c可以如下设置:
[0140][0141]
如果sph校准模块110关于plate2d坐标系统是否在其利手性中翻转并且camera2d坐标系统是否在其利手性中翻转不具有任何信息,那么sph校准模块110需要测试上面提供的全部四种情形以确定构造的线性系统的解。
[0142]
然而,在一些情形中,sph校准模块110可以限制测试情形的数量,因为sph校准模块110可以通过检查raw2d从plate2d变换确定在plate2d与raw2d之间是否存在利手性翻转。
[0143]
在一些实施方式中,sph校准模块110可以构造为通过检查从plate2d到raw2d变换来确定是否在plate2d与raw2d之间存在利手性翻转。例如,sph校准模块110可以构造为通过在图像的中心处线性化raw2d从plate2d和检查行列式来确定是否存在利手性翻状。当行列式为正时,那么sph校准模块110而已确定不存在利手性翻转。
[0144]
因此,当raw2d从plate2d变换指示在plate2d与raw2d之间存在利手性翻转时,则sph校准模块110已知p和c的组合仅可能是下面两种选择中的一种:
[0145]
或者
[0146][0147]
类似地,当raw2d从plate2d变换指示在plate2d与raw2d之间不存在利手性翻转时,则sph校准模块110已知p和c的组合仅可能是下面两种选择中的一种:
[0148]
或者
[0149][0150]
一旦sph校准模块110确定plate2d的利手性是翻转的,那么sph校准模块110就能够检查raw2d从plate2d变换以确定是是否raw2d也翻转。
[0151]
在一些实施方式中,sph校准模块110可以构造为通过(1)从用于两个选择的线性系统估计m,p,以及c,以及(2)根据用于两个选择的估计的m,p和c检查与之间的差值确定两种选择中哪一种是正确的。sph校准模块110还可以确定运动修正矩阵m的正定性。sph校准模块110构造为确定具有(1)较小差值与(2)更正定的运动校正矩阵m的选择是正确的选择。
[0152]
在步骤408中,一旦sph校准模块110估计m,p,和c,sph校准模块110可以在用于一个图像捕获装置102的不同位姿下结合对应关系。例如,sph校准模块110可以基于估计的m和p将plate2d坐标系统中的特征变换到home2d坐标系统。因此,在用于一个图像捕获装置102的不同位姿下的对应关系可以结合在home2d坐标系统中。
[0153]
在步骤410中,sph校准模块110可以在结合的对应关系上操作单视图单图像捕获装置校准。这种方式,sph校准模块110可以基于来自全部位姿的对应关系确定camera2d从home2d与raw2d从camera2d。由于在第一迭代的开始中使用的raw2d从camera2d变换不是从全部位姿计算的,因此能够通过第一迭代改进其准确性。在随后的迭代中,更加准确的raw2d从camera2d变换将进一步提高结果的准确性。当达到预设的最大迭代时,迭代将终止。
[0154]
第二步骤
[0155]
sph校准机构的第一步骤可以大体上提供接近地面真相的粗略的求解,但是仍可能需要进一步精化以改进准确性。为了从第一步骤精化初始结果,sph校准模块110可以构造为执行非线性优化以使“再投影误差”最小化,其中从第一步骤返回的结果被用作初始值。第二步骤可以如下表述:
[0156][0157]
其中(x,y,θ)是运动呈现装置114的非正确位姿,是特征的plate2d坐标与raw2d坐标。c
result
是需要解算的手眼校准结果,其包括图像捕获装置的固有
与外在参数,与图像捕获装置相关的透镜变形量,运动修正变换,以及校准目标布置。c是非线性优化中的一个中间校准结果。利用c,可以将物理点绘制到raw2d。可以表述为:
[0158]
t(c,x,y,θ,g,h,

)=raw2d从camera2d*camera2d从home2d*home2d从stage2d*stage2d从plate2d*(g,h)。
[0159]
在一些实施方式中,能量函数能够计算两个输入参数ω之间的欧几里得距离
[0160]
在一些实施方式中,sph校准模块110可以构造为利用诸如利文贝格

马夸特(lm)优化技术的非线性技术求解上述非线性系统。例如,sph校准模块110可以通过sph校准机构的第一步骤将初始解向量设置为线性解。目标函数设计为利用当前手眼校准结果计算raw2d与绘制raw2d之间的再投影误差。可以通过计算raw2d与绘制的raw2d之间的距离计算此再投影误差。
[0161]
随后,sph校准模块110利用数字方法计算雅克比矩阵。在计算雅克比矩阵以后,sph校准模块110更新非线性系统的解,计算残差,并且持续迭代直到满足默认停止标准。默认停止标准可以包括,例如此标准的数量是预定数量,或者此残差小于预定阈值。一旦sph校准模块110完成迭代,接收向量就可以包括图像捕获装置的固有与外在参数,与图像捕获装置相关的透镜变形量,运动修正变换,以及校准目标布置。
[0162]
tfh校准系统
[0163]
tfh校准系统可以用于其中运行时间对象(通过机器视觉系统分析的对象)具有可以用作校准图案的充分特征的应用中。例如,当运行时间对象具有大量角、边缘、或任意可识别特征时,利用tfh校准系统,这些特征可以用于执行手眼校准。
[0164]
将运行时间对象用作校准目标的挑战之一通常是在运行时间对象上的校准特征的物理位置是未知的。因此,tfh校准系统应该构造为(1)跨越运动呈现装置位姿探测与跟踪在运行时间对象上的校准特征,(2)估计探测到的校准特征的未知物理位置,以及(3)估计手眼校准参数。
[0165]
在一些实施方式中,tfh校准系统可以以静态图像捕获装置构造操作。在此构造中,图像捕获装置可以是静止的,并且运动呈现装置可以通过多种预定位姿承载运行时间对象。在其它实施方式中,tfh校准系统可以以移动图像捕获装置构造操作。在此构造中,运行时间对象可以保持静止,并且运动呈现装置可以通过多种预定位姿承载图像捕获装置。
[0166]
在一些实施方式中,tfh校准系统可以关联(1)通过多个图像捕获装置捕获的校准目标的图像,以及(2)在其下拍摄图像的运动呈现装置的位姿,并且将图像与相关的位姿存储在图像数据库中。
[0167]
在一些实施方式中,tfh校准系统可以构造为对存储在图像数据库中的图像执行tfh校准。tfh校准系统可以操作一个或多个特征跟踪器以探测与跟踪可以用作校准特征的特征。特征跟踪器可以包括角探测器、边缘探测器、尺度不变特征变换(sift)探测器、和/或能够探测适于校准目的的可靠特征的任何其它探测器。这些校准特征在raw2d坐标系统中描述,并且由此还称作为跟踪raw2d特征。tfh校准系统随后使用跟踪的raw2d特征以执行手眼校准。
[0168]
图5示出了根据一些实施方式的tfh校准系统。图5包括如图1的多个相同部件。然而,在跟踪的特征手眼校准系统中,计算装置104包括tfh校准模块502,并且运动呈现装置114构造为承载通过机器视觉系统100检查的运行时间对象504。
[0169]
在一些实施方式中,tfh校准模块502可以构造为与tfh校准机构匹配。tfh校准模块502可以构造为将构造为致使运动运动呈现装置移动到要求的第一位姿的第一数据经由一个或多个接口发送到运动呈现装置;经由一个或多个接口接收来自运动呈现装置的报告的第一位姿;经由一个或多个接口接收来自第一图像传感器的关于报告第一位姿的多个特征的第一子组的第一图像;以及经由一个或多个接口接收来自第二图像传感器的关于报告第一位姿的多个特征的第二子组的第二图像。tfh校准模块502还可以构造为至少部分地基于多个特征的第一子组与报告的第一位姿确定第一坐标系统与第二坐标系统之间的第一变换,以及至少部分地基于多个特征的第二子组与报告的第一位姿确定第一坐标系统与第三坐标系统之间的第二变换。
[0170]
在一些实施方式中,tfh校准模块502可以在两步骤处理中确定第一变换与第二变换。在第一步骤中,tfh校准模块502可以构造与未知参数、捕获图像中的特征的位置、运动呈现装置114的报告位姿相关的线性系统。随后地,tfh校准模块502可以通过迭代求解线性系统与非线性单照相机校准步骤确定未知参数的估计值。在第二步骤中,tfh校准模块502可以构造使特征再投影误差最小化非线性系统,并且利用非线性解算器解算非线性系统。在此第二步骤中,线性系统的此解决方案可以用作用于非线性解算器。
[0171]
在一些实施方式中,可以在数字电子电路中、或者在计算机硬件、固件、软件、或者在它们的组合中实施tfh校准模块502。此实施可以是作为例如明确地体现在机器可读存储装置中的计算机程序的计算机程序产品,以便通过例如可编程处理器、计算机、和/或多个计算机的数据处理装置执行或者控制该数据处理装置的操作。可以以任何形式的计算机语言或编程语言的书写计算机程序,包括源代码、汇编代码、翻译代码和/或机器代码,并且计算机程序可以以任意形式部署,包括作为独立程序或作为子程序、元素、或者适于在计算环境中使用的其它单元。计算机程序可以部署为在一台计算机上或者在一个或多个位置处的多台计算机上被执行。
[0172]
在一些实施方式中,sph校准模块110与tfh校准模块502可以存在于相同的计算装置104中。在一些实施方式中,可以在诸如asic、pla、dsp或fpga的相同的集成电路上实施sph校准模块110与tfh校准模块502,由此在芯片上形成系统。子程序可以表示执行一个或多个功能的计算机程序和/或处理器/特定电路的部分。
[0173]
在其它实施方式中,sph校准模块110与tfh校准模块502可以存在于不同的计算装置中。
[0174]
图6示出了根据一些实施方式的在tfh校准系统中的tfh校准模块的操作。
[0175]
tfh校准模块502可以构造为确定一个或多个图像捕获装置102(例如,raw2d)的坐标系统与运动呈现装置(例如,stage2d)的坐标系统之间的关系。为此目的,当运动呈现装置114移动通过已知组的位姿时,tfh校准模块502构造为在通过图像捕获装置102获取的图像中发现的raw2d特征到这些特征的物理stage2d坐标之间建立对应关系。
[0176]
在一些实施方式中,运动呈现装置114承载运行时间对象504。在此实施方式中,tfh校准系统被认为在静止图像捕获装置构造中操作。在一些实施方式中,运动呈现装置
114承载图像捕获装置102。在此实施方式中,tfh校准系统被认为在移动图像捕获装置构造中操作。
[0177]
在步骤602中,tfh校准模块502构造为指令运动呈现装置114移动到预定位姿。一旦运动呈现装置114接收指令,运动呈现装置114就移动到预定位姿,并且将运动呈现装置114的报告的位姿向回报告到tfh校准模块502。由于运动呈现装置114的限定的准确性,运动呈现装置114的实际位姿可以与由tfh校准模块502指示的报告与命令的位姿不同。
[0178]
在步骤604中,tfh校准模块502构造为指示图像捕获装置102捕获运行时间对象504的图像。一旦图像捕获装置102接收指令,每个图像捕获装置102都可以捕获运行时间对象504的图像并且将捕获的图像传送到tfh校准模块502。
[0179]
在步骤606中,tfh校准模块502构造为确定是否存在运行时间对象504的图像将被捕获的其它位姿。当存在在其将捕获运行时间对象504的图像的其它位姿时,tfh校准模块502可以前进到步骤602。当不存在在其将捕获运行时间对象504的图像的其它位姿时,那么tfh校准模块502可以前进到步骤608。
[0180]
在步骤608中,tfh校准模块502构造为基于从运行时间对象504的图像提取的校准特征,确定与图像捕获装置的raw2d坐标系统与home2d坐标系统相关的变换。
[0181]
在一些实施方式中,tfh校准模块502还可以构造为补偿运动呈现装置114中的系统误差。一些较低准确性的运动呈现装置可能显示系统性误差,诸如x运动轴与y运动轴之间的歪斜,两个轴之间的单位行进中的差值,和/或来自期望的标定值的单位行进中的比例误差。tfh校准模块502可以构造为通过估计运动呈现装置的以下参数补偿此系统性误差:
[0182]
y单元行进的方向
[0183]
x单元行进的量级
[0184]
在此实施方式中,tfh校准模块502可以假设x行进的方向与x单元尺寸通过定义是准确的。
[0185]
在一些实施方式中,tfh校准模块502可以构造为基于从运行时间对象504的图像提取的raw2d特征位置与运动呈现装置114的报告的位姿确定这些估计值。
[0186]
在一些实施方式中,tfh校准模块502假设,在静态图像捕获装置构造中,运行时间对象504刚性地附接到运动呈现装置114。运行时间对象504的附接点与运行时间对象504的定向是任意的。类似地,在一些实施方式中,tfh校准模块502假设在移动图像捕获装置构造中,图像捕获装置刚性地附接到运动台,并且此图像捕获装置的附接点与它们的定向是任意的。在两种构造中,一旦附接,附接点与定向就应该贯穿校准程序保持不改变。
[0187]
由于刚性地附接运行时间对象504或图像捕获装置102,当运动呈现装置移动校准目标或图像捕获装置时,布置位姿保持不改变。布置位姿包括2d刚性变换与可能的利手性翻转。在大部分应用中,布置位姿不能被精确地控制并且在操作tfh校准模块502以前是未知的。
[0188]
在一些实施方式中,sph校准模块502可以使用两步骤方法来确定这些估计值。
[0189]
在第一步骤中,tfh校准模块502可以构造与未知参数、在运行时间对象504上的校准特征的raw2d位置、以及运动呈现装置114的报告位姿相关的线性系统。随后地,tfh校准模块502可以通过迭代求解线性系统与非线性单照相机校准步骤确定未知参数的估计值。
[0190]
在第二步骤中,tfh校准模块502可以构造使特征再投影误差最小化的非线性系统
并且利用非线性解算器解算非线性系统。在此第二步骤中,对于线性系统的求解可以用作用于非线性解算器的初始值。tfh校准模块502的第二步骤与sph校准模块110的第二步骤相同。
[0191]
第一步骤
[0192]
如相对于sph校准模块110的第一步骤说明的,由于在stage2d坐标系统上的特征的物理位置与在camera2d坐标系统中的成像点当绘制到home2d坐标系统时应该对应于相同位置,因此通过两种方法计算的home2d的位置应该是相同的。此关系可以表述为以下系统:
[0193][0194]
其中m表示运动修正矩阵,表示运动呈现装置的未校准位姿,r表示运动呈现装置旋转矩阵,其代表在home2d坐标系统中的运动呈现装置的旋转,p表示将part2d坐标系统变换到home2d坐标系统的part2d布置变换矩阵,表示在part2d坐标系统中的特征点的坐标,c表示将camera2d坐标系统变换到home2d坐标系统的照相机布置变换矩阵,并且表示在camera2d坐标系统中的特征点的坐标。
[0195]
在sph校准的情形中,由于和r是已知值,因此根据未知值m,p和c上述系统是线性系统。然而,在tfh校准的情形中,tfh校准模块502不知道提取特征的part2d坐标:由此,根据未知变量:m,p,c,和上述系统不再是线性的。
[0196]
为确保以上确定的系统根据未知变量是线性系统,tfh校准模块502可以假设,在不损失一般性的情况下,part2d布置变换矩阵p是恒等矩阵。换句话说,不考虑运行时间物体504的面内旋转,在stage2d中测量校准特征。
[0197]
基于此假设,以上确定的系统可以如下书写:
[0198]
[0199]
在一些实施方式中,仅存在2个可能的利手性翻转。由于stage2d从part2d是恒等,因此在part2d与stage2d之间不具有利手性翻转。在图像捕获装置的布置不具有利手性翻转的情形中,那么在图像捕获装置的布置具有利手性翻转的情形中,那么通过求解以上确定的线性系统,tfh校准模块502可以估计图像捕获装置布置、运动模型与stage2d中的估计的特征位置。
[0200]
图7总结了根据一些实施方式的tfh校准模块502的线性估计台。
[0201]
在步骤702中,tfh校准模块502可以确定在raw2d坐标系统中的校准目标上的校准特征的位置。为此目的,tfh校准模块502可以在运动呈现装置114的一个或多个位姿下在通过多个图像捕获装置102获取的校准目标的图像上操作特征跟踪器。特征跟踪器可以包括角探测器、边缘探测器、尺度不变特征变换(sift)探测器、和/或能够探测适于校准目的的可靠特征的任何其它探测器。
[0202]
在步骤703中,tfh校准模块502可以将raw2d从camera2d设置为恒等变换。
[0203]
在步骤704中,tfh校准模块502可以利用raw 2d从camera 2d变换将raw2d特征位置变换到camera 2d特征位置
[0204]
在步骤706,tfh校准模块502可以建立线性系统并且通过线性系统估计m,cand(g,h)。
[0205]
在步骤708中,tfh校准模块502可以将全部stage2d特征位置转换到如下的home2d位置:随后地,tfh校准模块502可以在home2d特征位置与raw2d特征位置之间构造对应关系。基于这些对应关系,tfh校准模块502可以确定home2d从raw2d变换。此外,基于home 2d特征位置与camera2d特征位置之间的关系,tfh校准模块502可以估计camera 2d从home 2d变换。
[0206]
此外,在一些实施方式中,tfh校准模块502可以通过迭代步骤704

708再估计raw2d从camera 2d变换,直到满足停止标准。停止标准可以包括达到最大数量的迭代。此再估计过程与相对于sph校准模块110描述的迭代过程类似。
[0207]
在一些实施方式中,camera2d坐标系统是中间坐标系统,并且其单元尺寸(例如,比例因数)限定为与home2d坐标系统的单元尺寸是相同的。这意味着,当tfh校准模块502将raw2d从home2d分解成raw2d从camera2d与camera2d从home2d时,tfh校准模块502将比例因数分配在raw2d从camera2d中,并且将全部平移因数分配在home2d从camera2d中。或者,另选地,全部比例与平移可以被因式分解到home2d从camera2d,以使raw2d从camera2d为恒等。然而,这可能不是最准确的分解。但是可以求解在stage2d上的特征的物理位置以前,将不存在关于raw2d从home2d的任何信息。因此,tfh校准模块502可以迭代步骤702-708,以便当确定另一个时迭代求解raw2d从camera2d或camera2d从home2d的一个。
[0208]
例如,在第一迭代中,tfh校准模块502可以将raw2d从camera2d初始化为恒等,并且为camera2d从home2d与其它参数/变换解算。由于用于求解camera2d从home2d的raw2d从camera2d是恒等的,raw2d从camera2d的实际比例与平移被因式分解成camera2d从home2d。然而,通过定义,camera2d从home2d的比例应该是一个,由此可以计算与使用此比例因数以将计算的运动模式(例如,利用运动修正矩阵表示的运动修正项)、图像捕获装置的布置位姿、以及在步骤706中的特征的物理位置转换成正确比例。然后在步骤708中,raw2d从camera2d可以计算为取代初始恒等变换。在第二迭代中,tfh校准模块502可以使用更准确raw2d从camera2d以解算运动修正模式,图像捕获装置的布置位姿,以及特征的物理位置,并且然后通过特征的更准确物理位置更新raw2d从camera2d。此迭代处理改进了此分解的准确性。
[0209]
因此,在计算新的raw2d从camera2d以后,tfh校准模块502可以迭代步骤704-708,直到tfh校准模块502达到最大迭代数。步骤704-708的迭代可以减小由使非线性关系(例如,透镜变形)接近作为线性系统产生的近似误差。
[0210]
在第一迭代的过程中,可以求解raw2d与home2d之间的比例模糊。在大部分情形中,在第二迭代以后,tfh校准模块502应该能够提供相对准确的估计值。在一些实施方式中,最大迭代数可以设置到4,因为在公开的tfh校准机构的第一步骤中准确性不是主要的问题。
[0211]
第二步骤
[0212]
tfh校准机构的第一步骤通常地提供了接近地面真相的粗略求解,但是可能仍需要进一步细化化以改进准确性。为了细化来自第一步骤的初始结果,tfh校准模块502可以构造为执行非线性优化以使“再投影误差”最小化,其中从第一步骤返回的结果被用作初始值。通过tfh校准模块502执行的非线性优化可以与通过sph校准模块110执行的非线性优化基本上相同。一个区别在于,在tfh校准的情形中,在stage2d中的物理特征位置是未知的。由此,tfh校准模块502可以构造为利用来自第一步骤的stage2d中的估计的物理特征位置用作初始值迭代地估计在非线性估计中的stage2d中的物理特征位置。在lm解算器中细化在stage2d中的物理特征位置。
[0213]
再校准
[0214]
由于手眼校准方法的不同特征,可以在不同的方案中使用不同的手眼校准方法。例如,图像捕获装置通常地是利用提供高校准准确性的大校准板在工厂中预校准。然而,当运动呈现装置与图像捕获装置部署用于应用时,仍需定期地校准运动呈现装置与图像捕获装置以补偿物理设置中的改变。例如,一些预校准参数,诸如图像捕获装置的外部参数可能
由于运动呈现装置的振动随着时间改变,并且可以需要定期地再校准以补偿此改变。为此定期校准应用,sph校准机构与tfh校准机构可以是有用的。
[0215]
如上面说明的,尤其当在存在透镜变形的情况下仅具有几个特征或运动位姿时,sph校准机构与tfh校准机构可以提供限定的准确性。然而,当可获得从先前执行的校准产生的高度准确校准时,再校准的概念可以用于通过使用高度准确的先前执行的照相机校准改进sph校准机构与tfh校准机构的准确性。
[0216]
例如,在图像捕获装置或其透镜未被重新组装的前提下,即使在存在运动呈现装置的振动的情况下,诸如图像捕获装置的固有参数的一些校准参数也可能不改变。由此,再校准方案可以保持图像捕获装置的固有参数并且仅校准图像捕获装置的外部参数。再校准方案可以与全校准方案基本上类似。然而,再校准方案可以使用包括图像捕获装置的校准参数的其它输入向量。在没有关于图像捕获装置,尤其是tfh校准机构的固有参数的现有信息的情况下,与全手眼校准相比再校准方案不仅更快速,而且还更加准确。
[0217]
应该理解的是公开的主题不限于其应用到在下面描述中阐述的或者在附图中描述的构造的细节与部件的布置。公开的主题能够具有其它实施方式并且以多种方式实践与实施。此外,应该理解的是这里使用的措辞与术语,是出于描述的目的并且不应被视为限定。
[0218]
同样地,本领域中的技术人员将会理解的,作为本公开基础的构思可以容易地用作设计其它结构、方法、与装置的基础以用于执行公开的主题的几个目的。因此,重要的是,在它们不偏离公开的主题精神和范围的情况下,该权利要求被视为包括此等效构造。例如,公开实施方式中的一些涉及一个或多个变量。可以利用数学等式表达此关系。然而,本领域中的普通技术人员还可以利用不同的数学等式、通过变换公开的数学等式在一个或多个变量之间表述相同的关系。重要的是此权利要求视为包括一个或多个变量之间的此等效关系式。
[0219]
尽管已经在上述示例性实施方式中描述与说明了公开的主题,但是应该理解的是本公开仅通过实例的方式作出,并且可以在不偏离公开主题的精神与范围的情况下对公开主题的实施细节上作出多种改变。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1