CN104137147B - 机器视觉系统中的使用多个光设置的对焦点操作 - Google Patents
机器视觉系统中的使用多个光设置的对焦点操作 Download PDFInfo
- Publication number
- CN104137147B CN104137147B CN201280070653.6A CN201280070653A CN104137147B CN 104137147 B CN104137147 B CN 104137147B CN 201280070653 A CN201280070653 A CN 201280070653A CN 104137147 B CN104137147 B CN 104137147B
- Authority
- CN
- China
- Prior art keywords
- image
- height
- stack
- region
- interest
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/70—Circuitry for compensating brightness variation in the scene
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/67—Focus control based on electronic image sensor signals
- H04N23/673—Focus control based on electronic image sensor signals based on contrast or high frequency components of image signals, e.g. hill climbing method
Abstract
自动调整照明条件的方法改进了对焦点(PFF)3D重建的结果。基于亮度标准来自动求出多个照明水平,并且以各照明水平拍摄图像栈。在一些实施例中,可以基于在作为针对整个关注区域的最佳高度的单个全局焦点高度处、而不是针对仅关注区域中的最暗或最亮图像像素的最佳焦点高度处所获取到的试验曝光图像来确定光水平及其各自的光设置。使用Z高度质量指标来组合所选择的各光水平处的3D重建的结果。在一个实施例中,基于在X‑Y位置处具有相应的最佳Z高度质量指标值的PFF数据点来选择要与该X‑Y位置相关联的PFF数据点Z高度值。
Description
相关申请的交叉引用
本申请要求2011年12月23日提交的美国专利申请61/580,145的优先权,在此通过引用包含此公开的全部内容。
技术领域
这里公开的实施例通常涉及机器视觉检查系统,并且更特别地涉及向非专家操作员提供利用对焦深度操作进行的精确且高效的表面形状检查的视频工具和方法。
背景技术
可以利用精密机器视觉检查系统(或简称为“视觉系统”)来获得被检查对象的精密尺寸测量并且检查各种其它对象特征。这种系统可以包括计算机、照相机和光学系统、以及在多个方向上可移动以使得能够进行工件检查的精密台。可以表征为通用“离线”精密视觉系统的一个示例性现有技术系统是可商购获得的QUICK系列的基于PC的视觉系统和可购自位于伊利诺伊州奥罗拉的三丰美国公司(MAC)的软件。例如,2003年1月出版的QVPAK 3D CNC Vision Measuring Machine User’s Guide和1996年9月出版的QVPAK 3D CNC Vision Measuring Machine Operation Guide中大体描述了QUICK系列的视觉系统和软件的特征和操作,这些均通过引用全部包含于此。这类系统能够使用显微镜型的光学系统并且使台移动从而以各种倍率提供小的或相对较大的工件的检查图像。
机器视觉检查系统通常利用自动化的视觉检查。美国专利6,542,180('180专利)教导了这种自动化的视觉检查的各种方面并且通过引用全部包含于此。如'180专利中所教导的,自动化的视频检查计量仪器通常具有使得用户能够针对各特定工件配置定义自动检查事件序列的编程能力。例如,这可以通过基于文本的编程、或者经由通过存储与用户所进行的检查操作序列相对应的机器控制指令序列来逐渐地“学习”检查事件序列的记录模式、或者经由这两种方法的组合来实现。这种记录模式经常称为“学习模式”或“训练模式”。一旦在“学习模式”中定义了检查事件序列,之后就可以在“运行模式”期间使用这种序列来自动获取(以及附加分析或检查)工件的图像。
包括特定检查事件序列(即,如何获取各图像以及如何分析/检查各所获取图像)的机器控制指令通常存储为特定工件配置所特有的“部分程序”或“工件程序”。例如,部分程序定义如何获取各图像,诸如相对于工件如何定位照相机、以何种照明水平、以何种倍率水平等。此外,部分程序定义例如如何通过利用一个或多个视频工具来分析/检查所获取图像。
可以使用视频工具(或简称为“工具”)来进行检查和/或机器控制操作。视频工具是向精密机器视觉检查系统的非专家用户提供图像处理和检查操作的重要且广为人知的操作和编程辅助。例如,在前面并入的'180专利和通过引用全部包含于此的美国专利7,627,162中论述了视频工具。在学习模式期间,可以针对代表性工件上的特定部分或关注区域来确定视频工具的设置参数和操作(通常称为“训练”视频工具),并且对这些设置参数和操作进行记录以自动并可靠地检查相似工件。设置参数通常可以使用视觉检查系统软件的各种图形用户界面窗口小部件以及/或者菜单来进行配置。这些工具可以包括例如边缘/边界检测工具、自动调焦工具、形状或模式匹配工具和尺寸测量工具等。例如,这些工具常规用在以上所论述的诸如QUICK系列的视觉系统和相关联的软件等的各种可商购获得的机器视觉检查系统中。
一种已知类型的视频工具是“多点工具”或“多点自动调焦工具”视频工具。这种工具提供了根据针对工具的关注区域内的所定义X-Y坐标处的多个子区域的诸如利用自动调焦方法等所确定的“最佳焦点”位置所推导出的(沿着照相机系统的光轴和调焦轴的)Z高度测量值或坐标。可以将一组这样的X、Y、Z坐标称为点云数据或简称为点云。通常,根据现有技术的自动调焦方法和/或工具,照相机在沿着z轴(调焦轴)的位置的范围内移动,并且拍摄各位置处的图像(称为图像栈(image stack))。对于各所拍摄图像,基于该图像并且与拍摄到该图像时照相机沿着Z轴的相应位置有关地,针对各子区域来计算焦点指标(focusmetric)。这样得到各子区域的焦点曲线数据(还可简称为“焦点曲线”或“自动调焦曲线”)。可以通过使曲线拟合焦点曲线数据并且估计拟合曲线的峰值,来求出焦点曲线的与沿着z轴的最佳焦点位置相对应的峰值。这些自动调焦方法的变形是本领域内众所周知的。例如,在ISIS Technical Report Series,Vol.17,November 2000中由Jan-Mark Geusebroek和Arnold Smeulders所发表的“Robust Autofocusing in Microscopy”中论述了与上述调焦方法相似的一种已知的自动调焦方法。在美国专利5,790,710中描述了另一已知的自动调焦方法和设备,在此通过引用包含其全部内容。
在精密机器视觉检查系统中经常期望微米或亚微米范围的精度。这对于Z高度测量特别具有挑战性。与多点工具相同,在确定跨工件表面的一组Z高度测量值时产生特定问题。由于许多原因,对于关注区域内的数据点中的至少一部分数据点,Z高度精度和可靠度可能差。作为第一示例,在关注区域的表面强烈弯曲(例如,IC球栅阵列锡球的表面)的情况下,该表面的一些部分处于极端入射角,使得这些部分经由光学系统返回很少的光并且在自动调焦图像中曝光不足,而该表面的其它部分可能具有小的入射角和高反射性,使得这些部分经由光学系统返回过量光并且在自动调焦图像中过度曝光。没有一个图像曝光适合这种关注区域的所有部分。曝光不足和过度曝光的子区域表现出低对比度和/或高图像噪声。通过引用全部包含于此的共同受让的美国授权前公开2011/0133054('054公开)公开了多点工具的实施例、以及用于(例如,采用点云数据的形式)表现可能由于低对比度和/或高图像噪声而具有差的可靠性的Z高度测量值的特征的方法。
已知通过提供多个自动调焦图像栈来克服上述问题,其中各图像栈是用不同的曝光水平而获取到的。然后,可以在特定子区域经过了最适当曝光的特定图像栈中确定该子区域的最佳焦点位置。从位于奥地利Grambach/格拉茨市的Alicona Imaging GmbH可商购获得一个这种系统。然而,Alicona系统是针对该特定问题的专业化表面映射系统,并且该系统使用在通用的精密机器视觉检查系统中可能不可用的特殊硬件和照明。这些专用系统没有提供在针对通用机器视觉检查系统进行编程的情况下用于确定何时使用具有不同的曝光水平的多个自动调焦图像栈或用于确定特定曝光水平的足够灵活的解决方案。相反,已知用于构建具有扩展的景深和扩展的动态范围(即,扩展的曝光范围)的合成照片的图像融合方法的目的在于进行摄像而不是进行精确的Z高度测量。在可以由非专家用户可靠地操作以对用于Z高度测量的通用机器视觉检查系统进行编程的视频工具的情况下如何实现这些方法、以及这些方法将如何提供出于工业测量应用的目的的可接受的吞吐量和可靠性,这两者均并不明确。
关于上述方法应用至通用精密机器视觉检察系统,存在如下特定问题:为获得最佳吞吐量和可靠性,非专家用户、即不擅长摄像和/或图像处理领域的用户通常必须基于特定工件的特性对并入系统的各种多点测量操作和图像处理方法进行调整和操作。因而,根据上述考虑,在对通用机器视觉检查系统进行编程的情况下,需要非专家用户可以掌握并操作的用于机器视觉系统的多点Z高度视频工具根据需要提供具有不同的曝光水平的适当数量的自动调焦图像栈,并且确定所需的曝光水平。
发明内容
提供该发明内容部分是为了以简化形式介绍以下在具体实施方式部分进一步说明的概念的选择。该发明内容部分并不意图指定所请求保护的主题的关键特征,也并不意图辅助确定所请求保护的主题的范围。
对机器视觉系统提供基于对焦深度操作的多点视频工具。该多点视频工具确定工件上的关注区域中所包括的多个子区域的Z高度测量值。该多点视频工具在需要的情况下提供具有不同曝光水平的适当数量的自动调焦图像栈,并且确定所需的曝光水平,从而针对多个子区域各自提供曝光良好的图像栈。在对通用机器视觉检查系统所用的检查操作进行编程的情况下,该多点视频工具由配置成非专家用户(即,对基础的光学、数学和/或图像处理操作的理解很少或无法理解的用户)能掌握并操作的简单用户界面特征所支持。
一个实施例的说明可以包括:一种用于操作精密机器视觉检查系统以确定一组多点Z高度测量数据的方法,其中所述一组多点Z高度测量数据包括工件上的特定关注区域中的基于对焦的Z高度测量值,所述精密机器视觉检查系统包括:摄像部,其包括照相机;可控照明部;调焦部;控制部,其包括图像处理器;第一测量模式,用于对工件进行基于多点对焦的Z高度测量,并且包括基于单个图像栈来针对关注区域内的多个子区域确定基于多点对焦的Z高度测量值的操作,其中所述单个图像栈是针对所述单个图像栈中的各图像使用相同照明参数而获取到的;第二测量模式,用于对工件进行基于多点对焦的Z高度测量,并且包括基于多个图像栈来针对关注区域内的多个子区域确定所述基于多点对焦的Z高度测量值的操作,其中第一图像栈是使用满足所述关注区域中的图像像素的暗度限制标准并且对于所述第一图像栈中的各图像均相同的暗度限制照明参数所获取到的,并且第二图像栈是使用满足所述关注区域中的图像像素的亮度限制标准并且对于所述第二图像栈中的各图像均相同的亮度限制照明参数而获取到的;用户界面,其包括图像显示器和图形用户界面即GUI;以及多点Z高度测量工具,其包括:所述第二测量模式;所述关注区域中的图像像素的所述亮度限制标准;所述关注区域中的图像像素的所述暗度限制标准;以及多点GUI元件,其包括关注区域指示器;以及所述方法包括以下步骤:进行所述精密机器视觉检查系统的操作,包括:获取工件上的所述特定关注区域的图像;启动多点Z高度测量工具的实例;以及在所获取图像中定义关注区域;进行所述多点Z高度测量工具的所述实例的与所述第二测量模式相对应的自动操作,包括:(a)使所述摄像部自动聚焦于所述关注区域的全局最佳焦点高度处的操作,其中所述全局最佳焦点高度是基于使用一组初步照明参数所获取到的图像栈并且基于根据整个关注区域所确定的焦点指标而确定的,(b)对在所述全局最佳焦点高度处所获取到的图像进行分析以及对所述照明参数进行调整以确定满足所述关注区域中的图像像素的所述亮度限制标准的亮度限制照明参数的操作,以及(c)对在所述全局最佳焦点高度处所获取到的图像进行分析以及对所述照明参数进行调整以确定满足所述关注区域中的图像像素的所述暗度限制标准的暗度限制照明参数的操作。
在一些实施例中,所述方法还可以包括:在运行模式期间在部分程序指令的控制下进行所述精密机器视觉检查系统的操作,并且所述方法还包括以下步骤:获取包括所述关注区域的多个图像栈,其中所述多个图像栈至少包括使用所确定的暗度限制照明参数所获取到的第一图像栈和使用所确定的亮度限制照明参数所获取到的第二图像栈;以及基于所述多个图像栈来针对所述关注区域内的多个子区域各自确定基于多点对焦的Z高度测量值。在一些实施例中,多个图像栈可以包括使用提供与第一图像栈和第二图像栈所使用的照度水平相比为中间水平的照度的一组照明参数所获取到的一个或多个附加图像栈。在一些实施例中,所述多个图像栈包括使用所述一组初步照明参数所获取到的图像栈。
在一些实施例中,所述方法还可以包括基于多个图像栈来针对关注区域内的多个子区域确定基于多点对焦的Z高度测量值的操作,并且这些操作针对多个子区域各自可以包括:针对所述多个子区域各自确定所述基于多点对焦的Z高度测量值包括以下步骤:针对所述多个图像栈各自确定该子区域的Z高度质量指标;以及基于所述多个图像栈中的提供最佳Z高度质量指标的图像栈来确定该子区域的基于对焦的Z高度测量值。
在一些实施例中,所述方法还可以包括以下步骤:在运行模式期间,在部分程序指令的控制下进行所述方法的至少一部分。
在一些实施例中,所述方法还可以包括在学习模式期间进行所述方法的至少一部分,并且还可以包括记录与所述多点Z高度测量工具的当前实例相对应的部分程序指令,所述部分程序指令可用于进行包括以下步骤的操作:获取包括所述关注区域的多个图像栈,其中所述多个图像栈至少包括使用所确定的暗度限制照明参数所获取到的第一图像栈和使用所确定的亮度限制照明参数所获取到的第二图像栈;以及基于所述多个图像栈来针对所述关注区域内的多个子区域各自确定基于多点对焦的Z高度测量值,其中该确定针对各子区域包括:针对所述多个图像栈各自确定该子区域的Z高度质量指标;以及基于所述多个图像栈中的提供最佳Z高度质量指标的图像栈来确定该子区域的基于对焦的Z高度测量值。
在一些实施例中,所述方法还可以包括在学习模式期间进行所述精密机器视觉检查系统的操作,其中:在获取所述特定关注区域的图像的步骤中,所述工件是代表性的工件,并且该步骤包括将所获取图像显示在所述图像显示器上;启动多点Z高度测量工具的实例的步骤包括将所述多点Z高度测量工具的多点GUI元件显示在所述图像显示器中;以及在所述所获取图像中定义关注区域的步骤包括通过将所述多点GUI元件的关注区域指示器定位成包围所述特定关注区域来在所显示的图像中定义关注区域。
各种实施例的另一说明可以包括:一种用于操作精密机器视觉检查系统来确定包括对工件的基于对焦的Z高度测量值的一组Z高度测量数据的方法,所述精密机器视觉检查系统包括用户界面、包含照相机的摄像部、可控照明部、调焦部以及包含图像处理器的控制部,所述方法包括以下步骤:(a)操作所述精密机器视觉检查系统来定义所述工件上的用于进行对焦点操作的关注区域;(b)操作所述精密机器视觉检查系统来定义与N个图像栈相关联的各自的N个照明矢量,其中所述N个图像栈包括包含所述关注区域并且具有在所定义的Z高度范围内的不同的焦点Z高度的图像,其中N至少为2,并且定义各自的所述N个照明矢量包括以下步骤:(b1)定义各自的第一照明矢量以使得满足第一亮度标准,其中在第一亮度标准中,所述关注区域中的最亮像素位置包括所述照相机的亮度范围的上部25%内的亮度值;以及使得如在具有所述Z高度范围中的各自的焦点Z高度并且具有与各自的所述第一照明矢量相对应的图像曝光水平的至少第一图像中所确定的,将所述关注区域中的亮度值为亮度上限以上的最亮像素位置的第一数量限制为所述关注区域中的像素位置的第一小比例;以及(b2)定义各自的第二照明矢量以使得满足第二亮度标准,其中在第二亮度标准中,如在具有所述Z高度范围中的各自的焦点Z高度并且具有与各自的所述第二照明矢量相对应的图像曝光水平的至少第二图像中所确定的,将所述关注区域中的亮度值为亮度下限以下的最暗像素位置的第二数量限制为所述关注区域中的像素位置的第二小比例;以及(c)进行操作(c1)和(c2)的组中的至少一个操作,其中:(c1)包括以下步骤:在检查相应工件上的相应关注区域的情况下,将各自的所述N个照明矢量与部分程序相关联地进行存储以供随后使用,其中所述部分程序包括用于进行包括以下步骤的操作的指令:基于各自的所述N个照明矢量来获取N个图像栈;判断所述N个图像栈中的哪个图像栈在各对焦点数据点位置处具有最佳Z高度质量指标;以及提供根据所述图像栈推导出的Z高度测量数据,以使得在各对焦点数据点位置处,将与具有最佳Z高度质量指标的图像栈关联的Z高度测量值识别为在该对焦点数据点位置处的Z高度测量值;以及(c2)包括以下步骤:操作所述精密机器视觉检查系统来基于各自的所述N个照明矢量获取N个图像栈;判断所述N个图像栈中的哪个图像栈在各对焦点数据点位置处具有最佳Z高度质量指标;以及提供根据所述图像栈所推导出的Z高度测量数据,以使得在各对焦点数据点位置处,所述Z高度测量值基于在该对焦点数据点位置处具有最佳Z高度质量指标的图像栈。
在一些实施例中,在步骤(b1)中,如在具有所述Z高度范围中的各自的焦点Z高度并且具有与各自的第一照明矢量相对应的图像曝光水平的多个第一图像中所确定的,将所述关注区域中的亮度值为亮度上限以上的最亮像素位置的第一数量限制为所述关注区域中的像素位置的第一小比例;以及在步骤(b2)中,如在具有所述Z高度范围中的各自的焦点Z高度并且具有与各自的所述第二照明矢量相对应的图像曝光水平的多个第二图像中所确定的,将所述关注区域中的亮度值为亮度下限以下的最暗像素位置的第二数量限制为所述关注区域中的像素位置的第二小比例。
在一些实施例中,在步骤(b1)中,所述至少第一图像由所述第一图像构成,并且在步骤(b2)中,所述至少第二图像由所述第二图像构成。在一些实施例中,所述第一图像和所述第二图像各自的焦点Z高度是不同的。在一些实施例中,所述第一图像和所述第二图像各自的焦点Z高度是相同的。
在一些实施例中,步骤(b)包括进行包括以下步骤的操作:定义所述Z高度范围;使用初步照明矢量获取初步图像栈,所述初步图像栈包括在所述Z高度范围内的多个相应焦点Z高度处的多个图像;基于所述初步图像栈来确定峰值焦点Z高度;以及使用所述峰值焦点Z高度作为所述第一图像和所述第二图像各自的焦点Z高度。在一些实施例中,定义各自的所述第一照明矢量包括:使用各自的照明矢量来迭代地分析在所述峰值焦点Z高度处所获取到的各图像,直到识别出满足所述第一亮度标准的各自的至少第一图像为止,以及使用与各自的该至少第一图像相对应的各照明矢量作为各自的所述第一照明矢量;以及定义各自的第二照明矢量包括:使用各自的照明矢量来迭代地分析在所述峰值焦点Z高度处所获取到的各图像,直到识别出满足所述第二亮度标准的至少第二图像为止,以及使用与各自的该至少第二图像相对应的各照明矢量作为各自的所述第二照明矢量。
在一些实施例中,该方法可被表征为自动调整照明条件以改进基于对焦(对焦点或PFF)的3D表面分布重建的结果。在一个实施例中,该方法自适应地确定多个图像栈和相应的光设置以用于数据获取。将所确定的数量的图像栈和相应的光设置记录在如下程序中,其中该程序获取相应光设置处的多个图像栈,并且基于X-Y位置处的多个图像栈中的具有相应的最佳Z高度质量指标值的PFF数据点来选择要与该X-Y位置相关联的PFF数据点值。在一些实施例中,可以基于亮度标准来自动求出多个照明水平(例如,至少两个,并且在一些实施例中为三个照明水平以上)。可以获取多个图像栈(例如,各照明水平处一个图像栈),并且可以使用Z高度质量指标来有效地组合所选择的各光水平处的结果以提供3D表面分布重建。应当理解,特别是在被测量区域包含宽范围的表面角度(诸如可能引起可能超过照相机的动态范围的照度变化的角度等)的情况下,自动光调整可以使得能够与单一光设置相比更多的表面点的3D重建。
在本发明的另一方面的一个实施例中,在一个实现中,该方法通过以第一个用户所选择的或标准的光设置来拍摄第一个图像栈而开始。然后针对该图像栈确定峰值焦点位置。然后使台移动至峰值焦点位置。然后确定在峰值焦点位置处仅产生几个饱和或“亮”像素的较低光设置。然后确定在峰值焦点位置处仅产生几个“暗”像素的较高光设置。然后判断较低光设置和较高光设置之间(或这些设置和初始光设置之间)的差是否极大。如果针对较低光设置和较高光设置各自、这些差极大,则以较低光设置和较高光设置各自获取到相应的图像栈,否则可以利用初始或折衷的光设置。
在本发明的另一方面的一个实施例中,在一个特定实现中,可以自动确定较低和较高的光水平设置,从而使各图像栈中的“过亮”区域和“过暗”区域最小。可以根据哪些像素在所确定的特定灰度水平以上还是以下来判断将哪些像素分类为过亮(例如,过饱和)还是过暗。然后,在关注区域内的总像素数中的指定数量或百分比为所指定的过亮/过暗水平的情况下,可以将光水平搜索视为完成。在一个特定示例实施例中,可以根据总像素数中的指定小百分比的像素何时过亮来选择期望的“低”照明水平,而可以根据总像素数中的指定小百分比的像素何时过暗来选择期望的“高”照明水平。
在本发明的另一方面的一个实施例中,在一个特定示例实施例中,关于使图像栈中的“过亮”表面区域最少的较低光设置的确定包括定义各自的第一照明矢量,以使得:满足第一亮度标准,其中关注区域内的最亮像素位置包括照相机的亮度范围的上部百分比(例如,上部25%)中的亮度值;以及将关注区域内的亮度值为亮度上限以上的最亮像素位置的第一数量限制为关注区域内的总图像像素数的第一小比例(例如,0.1%)。为了确定使图像栈中的“过暗”表面区域的数量最小的较高光设置,定义各自的第二照明矢量,以使得满足第二亮度标准,其中将关注区域内的亮度值为亮度下限以下的暗像素位置的第二数量限制为第二小比例(例如,0.1%)。
在本发明的另一方面的一个实施例中,根据所确定的较低光设置和较高光设置的性能,可以连同部分程序一起保存并存储这些设置或者可以不保存和存储。换句话说,根据照明条件,可以使用仅一个照明水平集或不使用附加照明水平集(例如,如果用户指定的或标准的照明水平提供充足的表面照度、以使得“过亮”或“过暗”像素足够少,则算法可以不保存任何附加照明水平集)。
在本发明的另一方面的一个实施例中,为了确定期望光水平的目的而从初步图像栈中选择单个图像(即,与代表性的Z位置相对应)。在一个实现中,可以应用标准锐度(例如,对比度)度量以从该初步图像栈中求出代表性图像。在该处理中,可以使用多点对焦点视频工具的整个关注区域(与仅小的局部关注区域相对)来计算该度量。换句话说,在特定实现中,可以依赖单个图像(即,台要移动至的单个Z位置)来确定照明调整如何改变表面的照度。然后,可以在算法的调整循环中重复且快速地拍摄并分析指定Z位置处的该单个“实时”照相机图像。
本领域许多技术人员将假定,对于可靠结果需要进行如下的光设置的方法,其中在该方法中,首先设置焦点,以使得仅(或至少)良好地聚焦于图像的暗部分以调整该暗部分的照明,其次设置焦点,以使得仅(或至少)良好地聚焦于图像的亮部分以调整该亮部分的照明。然而,与这种方法相对比,已经通过实验确定了以下:对于许多种工业工件,在针对使用标称水平的照度(例如,如由操作员/观察员所设置的提供关注区域的主观“良好”图像的照度、或者标称自动确定的光水平)所获取到的图像栈中的关注区域提供最高(或近似最高)的整体锐度或对焦测量值的Z高度处所获取到的图像趋于是用于设置亮部光水平和暗部光水平这两者的适当或甚至最佳的图像。优选该方法,但在各实施例中并非必须的。在一个替代实施例中,对于用于求出较低光设置的调整的第一阶段,可以选择具有最大数量的“过亮”像素的图像(即,指定Z高度),并且对于用于求出较高光设置的调整的第二阶段,可以选择具有最大数量的“过暗”像素的图像(即,指定Z高度)。然而,如上所示,在特定实现中,与利用在关注区域中具有最高的高“平均”锐度的单个图像(即,单个Z位置)的技术相比,该双重图像调整技术的结果已通过实验被判断为是不太有利的。
在本发明的另一方面的一个实施例中,光水平的设置可以包括针对多个个体光的多个设置。在一个特定示例实施例中,单独可调整的光可以包括诸如同轴、台、环形光的四个区段、环形光位置等的光。在另一实施例中,为了在搜索光设置期间实现高效,可以将照明调整限制为所选择的数量的个体光(例如,仅同轴和/或台等)。
在本发明的另一方面的一个实施例中,在一个实施例中,可以仅在学习模式期间进行针对附加光设置的搜索。由于以下原因而可以这样做:针对不同光设置的搜索可能相当耗时(例如,约1分钟的量级),使得在运行模式期间进行光设置可能是低效的。一旦在学习模式期间建立了光设置,则将这些光设置存储在部分程序中,然后在运行模式期间使用以在无需针对新的光设置进行附加搜索的情况下拍摄多个图像栈。因而,与在运行模式期间搜索附加光设置所需的附加时间相对比,在这种实现中在运行模式期间仅需的附加时间是为了拍摄并分析附加图像栈所花费的时间。应当理解,通过如此在学习模式期间自适应地确定多个图像栈和相应的光设置、然后在运行模式期间使用这些参数,提供了快速且高效的方法。在替代实施例中,在特定情形下,可以实现动态运行模式,其中可以在运行模式期间进行附加光设置的搜索。在努力以在运行模式期间进行附加光设置的搜索所需的附加时间为代价来提高运行模式结果的精度时,可以使用这种实现。
在本发明的另一方面的一个实施例中,可以利用Z高度质量指标来判断应使用哪些数据来进行表面重建(即,用于根据以变化的光设置所拍摄到的多个图像栈来组合3D重建的结果)。换句话说,在以变化的光设置拍摄多个图像栈以产生表面的3D重建的情况下,对于给定像素(例如,X-Y面内的给定表面位置),可以根据多个图像栈中的具有最高的Z高度质量指标的图像栈来选择锐度曲线。将该特征与这里所公开的针对多个图像栈的光设置的方法相组合使用提供了在这里所公开的多点视频工具中测量Z高度的特别精简且快速但可靠的方法。
在本发明的另一方面的一个实施例中,在一个实施例中,通常可以将Z高度质量指标定义为基于由焦点峰值确定数据集表示的代表性峰值高度和代表性噪声水平或“噪声高度”之间的关系(例如,比率或商)的指标。在一个特定实现中,可以将Z高度质量指标定义为如下比率,其中该比率为焦点峰值确定数据集(或焦点峰值确定数据集的拟合曲线)的最大值-焦点峰值确定数据集(或焦点峰值确定数据集的拟合曲线)的基线值÷焦点峰值确定数据集的估计噪声值。在特定实现中,可以将焦点峰值确定数据集的基线估计为其中值,其中该集合中的大部分值可能接近基线并且通常在焦点峰值的区域中可能出现相对少量的值。例如,这种焦点峰值确定数据集可以与包括分布在以最佳焦点位置为中心的相对较大的Z高度范围内的相对大量图像(例如,100个图像)的图像栈相对应。在特定实现中,可以将估计噪声值确定为相对于焦点峰值确定数据集的中值的中值绝对差。
在本发明的另一方面的一个实施例中,在一个特定示例实现中,用于计算Z高度质量指标的特定等式可以具有如下分子,其中该分子包括最大对比度值减去作为各对比度曲线中的所有对比度值的中值的基线对比度值。该等式的分母可以包括对比度曲线的所有对比度值和基线对比度值之间的差的绝对偏差的中值。应当理解,在该等式中,分母通常估计曲线的噪度。大的噪声(即,相对于基线的大的中值绝对偏差)表示较低的焦点质量。
在本发明的另一方面的一个实施例中,尽管可以基于亮度标准来组合/选择各种照亮的图像栈,但在特定实现中,利用Z高度质量指标作为组合/选择标准提供了优良结果。利用Z高度质量指标作为该标准的一个显著优点是使选择光水平更加容错,这是因为使用Z高度质量指标作为选择基础与使用亮度标准进行选择相比通常更全面、更具相关性且更具鲁棒性。另外,还可以存储特定焦点质量元数据并用于后续应用。
在一些实施例中,在提供基于提供具有照明的多个图像栈的多点Z高度测量值和基于这里所公开的教导的分析的模式下工作的多点Z高度测量工具还可以在提供先前已知的操作的模式下工作,其中使用单个图像栈和单一光设置来提供多点Z高度测量值。可以使用与多点Z高度测量工具相关联的GUI元件来选择模式。在一些实施例中,用户可以判断多点Z高度测量工具是以强调“较高精度”的模式(其中,在花费数据获取时间和/或执行时间的情况下,可以在一些子区域中设置具有更理想照明的图像栈)还是以强调“较高速度”的模式(其中,可以在一些子区域中设置提供不太理想照明的图像栈)进行工作。
附图说明
通过参考以下结合附图所进行的详细说明,将更加容易地解释和更好地理解本发明的实施例的前述方面以及许多随之而来的优点,其中:
图1是示出通用精密机器视觉检查系统的各种典型组件的图;
图2是图1的机器视觉检查系统的控制系统部和视觉组件部的框图;
图3是利用单一光设置所拍摄到的复杂物体的表面的图像的图;
图4A~4C是利用变化的光设置所拍摄到的图3的复杂物体的表面的图像的图;
图5A和5B分别是示出代表高焦点质量值和低焦点质量值的曲线的图表;
图6是利用变化的光设置所拍摄到的一系列示意性表示的可变焦点图像栈的图;
图7A和7B是示出Z高度测量工具用户界面的一个实施例的各种特征的图;
图8A~8D是示出与Z高度测量工具用户界面的一个实施例有关的各种设置的图,其中该Z高度测量工具用户界面包括与利用多个图像栈和多个照明矢量有关的参数;
图9A和9B是例示示出用于利用多个图像栈和多个照明矢量来进行Z高度测量的一个实施例的示例例程的流程图;
图10是示出用于在仅利用单一图像和单一Z高度的情况下搜索多个照明矢量的示例例程的流程图;
图11A和11B是例示示出用于利用多个图像栈和多个照明矢量来进行Z高度测量的另一实施例的示例例程的流程图;
图12是例示示出图9、10或11的例程内的用于确定照明参数的操作的一个实施例的示例例程的流程图;
图13是示出包括与利用多个图像栈和光设置的Z高度测量工具相关联的各种特征的机器视觉检查系统用户界面显示的一个实施例的图;以及
图14是例示示出所并入的'054公开所述的、可用于对利用这里所公开的多点Z高度测量工具所分析的多个图像栈各自进行分析的操作的一个实施例的示例例程的流程图。可以使用图14所示的Z高度指标作为图9或11的例程中的Z高度质量指标。
具体实施方式
图1是可用在一个实施例中的一个示例性机器视觉检查系统10的框图。该机器视觉检查系统10包括视觉测量机12,其中该视觉测量机12被可操作地连接以与控制计算机系统14交换数据和控制信号。控制计算机系统14被进一步可操作地连接以与监视器或显示器16、打印机18、操纵杆22、键盘24和鼠标26交换数据和控制信号。监视器或显示器16可以显示适合对机器视觉检查系统10的操作进行控制和/或编程的用户界面。
视觉测量机12包括可移动工件台32和可包括变焦透镜或可更换透镜的光学成像系统34。变焦透镜或可更换透镜通常为光学成像系统34所提供的图像提供各种倍率。机器视觉检查系统10大体上相当于上述QUICK系列的视觉系统和软件、以及类似的最新型可商购获得的精密机器视觉检查系统。在2008年12月23日提交的共同受让的美国专利7,454,053以及共同待审且共同受让的美国专利8,111,938中也描述了机器视觉检查系统10,其中这些专利各自通过引用全部包含于此。在2003年8月4日提交的共同待审且共同受让的美国授权前公开2005/0031191和2004年3月25日提交的美国专利7,324,682中也更为详细地描述了视觉测量机和控制系统的各种方面,其中这些公开和专利各自也通过引用全部包含于此。
图2是一个实施例中的机器视觉检查系统100的控制系统部120和视觉组件部200的框图。如以下将更详细地说明,利用控制系统部120来控制视觉组件部200。视觉组件部200包括光学组件部205,光源220、230和240,以及具有中央透明部212的工件台210。工件台210是可以沿着X轴和Y轴可控制地移动的,其中X轴和Y轴位于与可以定位工件20的台的表面大体平行的面内。光学组件部205包括照相机系统260、可更换物镜250,并且可以包括同轴光源230以及具有透镜286和288的转台透镜组件280。作为转台透镜组件的替代,可以包括固定的或可手动更换的倍率改变透镜或变焦透镜结构等。如以下进一步所述,通过使用可控马达294,光学组件部205沿着与X轴和Y轴大体垂直的Z轴可控制地移动。
将要使用机器视觉检查系统100来摄像的工件20放置在工件台210上。台灯220、同轴灯230和表面灯240中的一个或多个可以分别发射源光222、232或242,以对工件20进行照明。该源光被反射或透射作为工件光255,其中该工件光255穿过可更换物镜250和转台透镜组件280并且被照相机系统260收集。将照相机系统260所拍摄到的工件20的图像在信号线262上输出至控制系统部120。光源220、230和240可以分别经由信号线或总线221、231和241与控制系统部120连接。为了改变图像倍率,控制系统部120可以经由信号线或总线281使转台透镜组件280沿着轴284转动,以选择转台透镜。
在各种典型实施例中,光学组件部205使用可控马达294相对于工件台210在垂直Z轴方向上可移动,其中可控马达294驱动致动器或连接线缆等以使光学组件部205沿着Z轴移动从而改变照相机系统260所拍摄到的工件20的图像的焦点。如这里所使用的术语Z轴指期望用于使光学组件部205所获得的图像聚焦的轴。可控马达294在使用的情况下,经由信号线296与输入/输出接口130连接。
如图2所示,在各种典型实施例中,控制系统部120包括控制器125、输入/输出接口130、存储器140、工件程序生成器和执行器170、以及电源部190。这些组件各自以及以下所述的附加组件可以经由一个或多个数据/控制总线和/或应用程序编程接口、或者通过各元件之间的直接连接来互连。
输入/输出接口130包括摄像控制接口131、运动控制接口132、照明控制接口133和透镜控制接口134。运动控制接口132可以包括位置控制元件132a和速度/加速度控制元件132b。然而,应当理解,在各种典型实施例中,这些元件可以进行合并和/或不进行区分。照明控制接口133包括照明控制元件133a~133n,其中这些照明控制元件133a~133n在可应用的情况下,针对机器视觉检查系统100的各种相应光源,进行例如选择、功率、接通/断开开关和选通脉冲定时的控制。
存储器140包括图像文件存储器部141、可具有一个或多个部分程序等的工件程序存储器部142、以及视频工具部143。视频工具部143包括工具部143a和其它相似工具部,其中这些其它相似工具针对各相应工具来确定GUI、图像处理操作等。视频工具部143还包括关注区域生成器143x,其中该关注区域生成器143x支持对视频工具部143所包括的各种视频工具中可操作的各种ROI进行定义的自动、半自动和/或手动操作。
视频工具部143还包括Z高度测量工具部143g,其中如以下更详细地所述,该Z高度测量工具部143g提供与Z高度测量操作有关的各种操作和特征。在一个实施例中,Z高度测量工具部143g可以包括Z高度工具143ga和Z高度工具模式控制件143gb。Z高度工具143ga可以包括多区域自动调焦工具143gaa、多点自动调焦工具143gab和白光干涉测量工具143gac。Z高度工具模式控制件143gb可以包括多个图像栈和多个照明矢量控制部143gba和Z高度质量确定部143gbb。
简言之,Z高度测量工具部143g可以进行与已知的Z高度测量工具相似的至少一部分操作、例如以学习模式和运行模式进行用于生成焦点曲线的全部或一部分并求出其峰值作为最佳焦点位置的操作。以下更详细地说明作为本发明的主题的附加的Z高度测量工具操作。
如以下更详细地说明,在将利用多个照明矢量所拍摄到的多个图像栈用于提高被测量面的重建的精度的一个实施例中,多图像栈和多照明矢量控制部143gba进行工作。在一个实施例中,基于亮度标准来自动求出多个照明水平(例如,两个、三个或更多个照明水平),并且使用Z高度质量指标将所选择的各光水平下的3D构造的结果(例如,最多为三个图像栈)有效地组合。Z高度质量指标由Z高度质量确定部143gbb来确定,并且可以针对特定关注区域进行定义。在一些实施例中,关注区域或子区域可以包括被定义为与各个像素位置相对应或表示各个像素位置的一小组像素。
对于Z高度测量工具部143g,替代结构也是可能的。例如,Z高度工具143ga可以提供附加的Z高度测量工具元件,并且模式控制部143gb可以提供以依赖期望哪种工具行为的方式对Z高度测量工具元件的用户界面和相互关系进行管理的操作。更一般地,可以以结合机器视觉检查系统100可工作的任何现在已知或随后研发的形式实现这里所公开的实施例,以提供这里所公开的与Z高度测量操作有关的特征。
通常,存储器部140存储可用于使视觉系统组件部200进行工作以拍摄或获取工件20的图像的数据,以使得所获取的工件20的图像具有期望的图像特性。存储器部140还存储检查结果数据,还可以存储可用于以手动或自动方式(例如,部分作为视频工具所实现的)使机器视觉检查系统100进行工作以对所获取图像进行各种检查和测量操作以及经由输入/输出接口130输出结果的数据。存储器部140还可以包含定义经由输入/输出接口130可操作的图形用户界面的数据。
台灯220、同轴灯230以及表面灯240各自的信号线或总线221、231和241全部与输入/输出接口130连接。来自照相机系统260的信号线262和来自可控马达294的信号线296与输入/输出接口130连接。除输送图像数据以外,信号线262还可以输送来自控制器125的用于启动图像获取的信号。
一个或多个显示装置136和一个或多个输入装置138也可以与输入/输出接口130连接。可以使用显示装置136和输入装置138来进行以下操作:显示可以包括可用于进行检查操作以及/或者创建和/或修改部分程序的各种图形用户界面(GUI)特征的用户界面;查看照相机系统260所拍摄到的图像;以及/或者直接控制视觉系统组件部200。在具有预定义的部分程序(或工件程序)的全自动化系统中,可以省略显示装置136和/或输入装置138。
在各种典型实施例中,在用户利用机器视觉检查系统100创建工件20的部分程序时,用户通过使用工件编程语言以自动、半自动或手动方式对部分程序指令进行明确编码来生成这些指令,或者通过以学习模式操作机器视觉检查系统100来生成这些指令以提供期望的图像获取训练序列。例如,训练序列可以包括:定位视场(FOV)中的工件特征;设置光水平;调焦或自动调焦;获取图像;以及提供应用于图像的检查训练序列(例如,使用视频工具)。学习模式运行,以使得这些序列被捕获并转换成相应的部分程序指令。在执行部分程序的情况下,这些指令将使机器视觉检查系统再现训练后的图像获取和检查操作以对与在创建部分程序时所使用的工件相匹配的一个或多个工件进行自动检查。
用于检查工件图像中的特征的这些分析和检查方法通常在存储器140的包括Z高度测量工具部143g的视频工具部143内所包括的各种视频工具中实现。在以上论述的诸如QUICK系列的视觉系统和相关联的软件等的可商购获得的机器视觉检查系统中包括许多已知的视频工具(或简称为“工具”)。
如前面概述和以下更详细地所述,诸如Z高度工具143ga等的Z高度测量工具通常获取一系列图像并产生焦点曲线作为用于确定“最佳焦点”位置的处理的一部分。通过利用使用多图像栈和多照明矢量控制部143gba和Z高度质量确定部143gbb的方法,可以实现用于对焦点(PFF)操作和表面重建的更加精确的Z高度测量。
图3是利用单一光设置所拍摄到的复杂物体301(例如,医用钻头)的表面的图像300的图。如以下更详细地所述,已经确定,在特定实例中,单一光设置可能不足以进行用于重建复杂表面的精确表示的摄像操作。在被测量表面包含宽范围的表面角度的情况下尤其如此,这会导致可能超过给定照相机的动态范围的照度变化。如图3所示,在复杂物体301的表面的重建期间使用单一光设置的情况下,图3的中央区域314的图像可能不会过饱和并且由此区域314可用于表面的重建,但重建的表面可能具有缺失区域(例如,过暗的区域310、以及过亮的区域312和316)。
换句话说,由于物体301的复杂形状,照明水平在表面上差别很大。这导致在非常暗区域(例如,区域310)和非常亮(过饱和)区域(例如,区域312和区域316)中缺少对比度。缺少对比度使得难以在这些位置处可靠地重建表面。在一些实例中,缺少对比度可能是由于照度的可变性超过照相机的动态范围所引起的。在一个实施例中,可以根据诸如以下针对图5A和5B更详细地所述等的Z高度质量指标来判断对比度是否过低而使得无法可靠地重建表面的特定区域。
图4A~4C是利用三个不同的光设置所拍摄到的图3的复杂物体301的表面的图像的图。如图4A所示,利用了相对较低的光设置(即,图像中的相对较少的像素发生过饱和的光设置)。如以下将更详细地所述,在特定实施例中,可以根据特定指定标准来选择这种低光设置(例如,将处于照相机的亮度范围的上部25%内的图像中的亮像素的数量限制为诸如0.1%等的、占关注区域中的总像素数的相对较小的比例)。作为图4A所示的相对较低的光设置的结果,将在更加标准的照明水平下可能具有过饱和像素的区域(例如,相应地具有角度且具有高反射性的区域412A和416A)例示作为在照相机的动态范围内,由此产生可以在这些区域中更可靠地重建表面的图像部分。
图4B示出中间范围的光设置(例如,可以与图3的照明水平、或者用户所选择的或“标准”的照明水平相对应等)。如以上关于图3所述,区域412B和416B例示照度已超过照相机的动态范围的发生过饱和的像素。然而,图4B的中央区域414B被示出没有发生过饱和,因而可用于进行该区域中的表面的精确重建。图4B还示出仍太暗而无法用于有意义的表面重建的区域410B。
图4C示出相对较高的光设置(例如,存在非常少的暗区域的光设置)。如以下将更详细地所述,在一个实施例中,可以根据特定指定标准来选择图4C的光设置(例如,对照明矢量进行定义,以使得将亮度值为亮度下限以下的关注区域中的暗像素位置的数量限制为诸如0.1%等的关注区域中的总像素位置的小比例)。如图4C所示,先前在图4A和4B中总体过暗的区域410C和418C现在被示出具有充足的对比度,以使得能够在这些区域中进行更可靠的表面重建。
如以上关于图4A~4C所述,对于具有复杂表面结构的物体(例如,医用钻头301等),可能难以确定将足以照亮物体的所有表面区域以使得能够实现可靠的表面重建的单一照明水平。如以下将更详细地所述,在一个实施例中,可以以不同的照明水平拍摄多个图像栈,以使得可以产生一系列图像,其中可以从这一系列图像中获取不同的部分以更加可靠地重建物体的表面。例如,通过利用来自图4A~4C的图像的不同部分(例如,来自图4A的区域412A和416A、来自图4B的区域414B和来自图4C的区域410C和418C),可以产生物体301的表面的更加可靠的重建。如以下关于图5A和5B将更详细地所述,在一个实施例中,根据Z高度质量指标来进行关于利用哪些图像的哪些数据的判断、以及关于在用于可靠的表面重建的任意图像的特定区域中对比度是否过低的判断。
通常,如以下将更详细地所述,这里所公开的各种实施例提供简单的自动化解决方案,该方案减少照明特性可能变化较大的表面上的不期望缺失区域。可以拍摄多个图像栈(例如,在一个实施例中,最多可以利用三个图像栈),其中各图像栈是以不同的光设置所拍摄到的。然后,利用Z高度质量指标来组合所拍摄到的所有图像栈的3D重建结果,以产生单个的较高质量重建。这样,尽管物体的表面中存在宽范围的表面角度和反射性,但较少的缺失区域或无缺失区域可能产生重建表面。
在一个实施例中,仅在学习模式期间才可以进行对附加光设置的搜索。之所以可以这样做是因为:针对不同光设置的搜索可能相当耗时(例如,按分钟的量级),使得在运行模式期间进行此搜索可能是低效的。一旦在学习模式期间建立了光水平,则将这些光水平存储在部分程序中,然后在运行模式期间在无需对新照明设置进行附加搜索的情况下使用这些光水平来拍摄多个图像栈。因而,运行模式期间所需的唯一附加时间是拍摄以及分析附加图像栈所花费的时间,而不是运行模式期间搜索附加光设置所需的附加时间。然而,在期望的情况下,还可以利用动态运行模式,其中在该运行模式期间进行附加的光水平搜索。这种类型的动态运行模式可以用于以下情形,其中在该情形下,判断为速度的牺牲相对于由此产生的运行模式结果的精度的提高是值得的。
图5A和5B是分别例示具有低Z高度质量指标和高Z高度质量指标的代表性曲线的图表500A和500B的图。图表500A和500B包括通过等式1与Z高度质量指标Q相关的焦点曲线数据。
(等式1)
在等式1中,对比度相关的指标值包括基于一组焦点曲线数据的Z高度质量指标Q,其中该一组焦点曲线数据包括针对工件图像的各栈中的各X-Y位置的对比度值对Z高度(如以下关于图6将更详细地所述)。等式1中的变量在分子中包括最大对比度值MAX减去BAS,并且在分母中包括对比度曲线的第i个对比度值Ci和基线对比度值BAS之差的绝对偏差的中值,其中BAS可以是各对比度曲线中的所有对比度值的中值的基线对比度值。
可以理解,通常,等式1的分母估计曲线的噪度。大的噪声(即,相对于基线的大的中值绝对偏差)导致较低的焦点质量。例如,图5A的图表500A相对含有噪声,因此具有高分母(即,相对于焦点指标值基线FMbaseline的大的中值绝对偏差),对此所计算出的Z高度质量指标Q相对较低。相比之下,图5B的图表500B示出相对含较少噪声的曲线,从而产生相对较低的分母(即,相对于焦点指标值基线FMbaseline的小的中值绝对偏差),对此所计算出的Z高度质量指标Q相对较高。在图表500A和500B中,在一些情况下,可以假定焦点指标最大值FMmax和FMmax'处于相同水平,焦点指标基线水平FMbaseline和FMbaseline'同样如此(例如,可以假定图表500A和500B具有相同的垂直缩放比例),其中等式1中的分子(即,MAX-BAS)在各情况下均相同。在其它情况下,可以假定焦点指标最大值FMmax和FMmax'处于不同水平,焦点指标基线水平FMbaseline和FMbaseline'同样如此(例如,可以假定图表500A和500B具有不同的垂直缩放比例),其中等式1中的分子(即,MAX-BAS)在各情况下可能相同。
与对应于沿着Z轴的最佳焦点位置的焦点曲线的峰值相对应的最大Z高度(例如,FMmax或FMmax')是用于确定焦点曲线的关注区域的Z高度。在一个实施例中,可以通过对焦点曲线数据进行曲线拟合并且估计拟合的曲线的位置峰值,来求出与焦点曲线的峰值相对应的Z高度。在共同受让并且通过引用全部包含于此的美国专利6,542,180中教导了图像栈和焦点曲线的确定和分析所用的示例性技术。
更一般地,可以将Z高度质量指标Q定义为基于如下关系的指标,其中该关系为由焦点峰值确定数据集所表示的代表性峰值高度和由该焦点峰值确定数据集表示的代表性噪声水平或“噪声高度”之间的关系(例如,比或商)。在一个实施例中,可以将这种指标定义为将焦点峰值确定数据集的最大值(或对焦点峰值确定数据集的曲线拟合)减去焦点峰值确定数据集的基线值(或对焦点峰值确定数据集的曲线拟合)除以焦点峰值确定数据集的估计噪声值所得的比。在特定实现中,可以将焦点峰值确定数据集的基线确定为其中值,其中该集合中的大部分值可以在基线附近,并且仅相对少量几个值可能出现在焦点峰值的区域中。这种焦点峰值确定数据集例如可以与包括分布在最佳焦点位置周围的相当大的Z高度范围内的相对大量的图像(例如,100个图像)的图像栈相对应。在特定实现中,可以将估计噪声值确定为相对于焦点峰值确定数据集的中值的中值绝对差。
对于包括分布在最佳焦点位置周围的相当大的Z高度范围内的相对大量的图像的图像栈,基于等式1的较大Q值可靠地表示与基础数据的噪声水平相比较强的焦点峰值,从而产生相对可靠的Z高度估计。基于本发明,本领域技术人员可以将估计Z高度质量指标的可接受的替代方式确定为与基于焦点峰值确定数据集所确定的估计Z高度相关联。例如,可以使用数据集的标准偏差作为(等式1的分母中所使用的)焦点指标信号的噪声的度量,尽管该度量由于其将焦点峰值和噪声这两者并入单个值中因而在特定实现中可能不太理想。可以通过(例如,使用滑动平均)对焦点指标信号进行平滑化、然后根据平滑后化的信号计算原始焦点指标信号的偏差,来确定噪声的另一度量。这样,可以使用平滑后的信号作为无噪声信号的近似,然后可以估计噪声。然而,在特定实现中,该方法可能相对依赖于为了对信号进行平滑化所选择的技术。
同样,可以针对等式1的其它部分确定替代。例如,在一些实施例中,焦点峰值确定数据集的最大值可以被最高的几个值的平均值替换。同样,在一些实施例中,焦点峰值确定数据集的基线值可以被最低的几个值的平均值替换。在其它实施例中,可以基于拟合曲线(例如,高斯曲线)而不是基于焦点峰值确定数据集的原始数据来估计(等式1的分子中所使用的)最大值和基线值之间的差。本领域技术人员可以基于这里所公开的基本原理来确定其它变形。
在一个实施例中,可以利用Z高度质量指标Q来判断应使用哪些数据来进行表面重建。换句话说,在以变化的光设置拍摄到多个图像栈以针对各像素产生表面的3D重建(即,x-y平面中的给定表面位置)的情况下,可以根据多个图像栈中的Z高度质量指标最高的图像栈来选择锐度曲线。另外,还可以利用Z高度质量指标来拒绝特定表面点,其中在这些特定表面点处根据所有图像栈进行的基于焦点的3D重建由于各种原因(例如,缺少纹理、照明不足、过饱和、表面超出对焦范围等)仍不可靠。换句话说,在特定实施例中,可以认为优选在最终重建表面中留有孔,而不是在这些位置处冒不正确或不精确的重建的风险。
在这里所公开的各种视频工具中,(例如,所有照明水平下的)所有的图像栈均具有相同的关注区域。由于假定在没有发生明显饱和并且没有发生照明角度的变化的情况下、较高的亮度将通常提供增加的对比度,因此在一些实施例中,可以使用亮度作为Z高度质量指标的代替。然而,这些实现可能不如使用真正的子区域Z高度质量指标那样具有鲁棒性,原因在于可以通过使用如这里所公开的真正的Z高度质量指标来识别并克服与使子区域散焦相关联的不可预测且不期望的影响,而这些不可预测且不期望的散焦影响可能无法通过更为简单的子区域亮度分析进行检测和克服。
图6是示意性表示的一系列可变焦点图像栈610、620和630的图600。如现有技术已知的,为了形成各图像栈610、620和630,照相机可以沿着z轴(调焦轴)在Z高度位置的范围内移动并且在各位置拍摄图像。对于各所拍摄的图像,可以基于图像中的关注的区域或子区域ROI(k)(例如,一组像素)来计算焦点指标,并且可以使该焦点指标与拍摄到图像时照相机沿着Z轴的相应Z高度位置相关。这产生焦点曲线数据(例如,诸如图5A和5B所示的焦点曲线数据等)。在一个实施例中,焦点指标值可能涉及图像中的关注区域的对比度或锐度的计算。在各种实施例中,可以对焦点值或曲线进行归一化。在并入的参考文献中详细说明了各种焦点指标计算技术,并且各种适当的焦点指标函数对本领域技术人员而言也是已知的。
如图6所示,将(例如,以中间范围的光水平所拍摄到的)第一个图像栈610例示为具有四个图像IMG-L1(1)~IMG-L1(4)。可以理解,在实际实施例中,在给定图像栈中可以包括较大数量的图像(例如,100个图像)。可以使各图像IMG-L1(1)~IMG-L1(4)与给定光设置和各Z高度有关。例如,可以使图像IMG-L1(1)与光设置L1(1)和Z高度Z1(1)有关,而可以使图像IMG-L1(2)与光设置L1(2)和Z高度Z1(2)有关,而可以使图像IMG-L1(3)与光设置L1(3)和Z高度Z1(3)有关,并且可以使图像IMG-L1(4)与光设置L1(4)和Z高度Z1(4)有关。
同样,将以较低的光设置(例如,很少几个像素发生过饱和的情况)拍摄到的第二个图像栈620例示为包括四个图像IMG-L2(1)~IMG-L2(4)。还可以使这些图像各自与给定光设置和各Z高度相关,诸如使图像IMG-L2(1)与光设置L2(1)和Z高度Z2(1)相关等,其中使其余的图像IMG-L2(2)~IMG-L2(4)根据其给定光设置和各Z高度同样地相关联。同样,将以较高的光设置所拍摄到的(例如,具有很少几个暗像素的)第三个图像栈630例示为包括四个图像IMG-L3(1)~IMG-L3(4)。也使这些图像各自与给定光设置和各Z高度相关,诸如使图像IMG-L3(1)与光设置L3(1)和Z高度Z3(1)相关等,其中使其余的图像IMG-L3(2)~IMG-L3(4)根据其给定光设置和各Z高度相关联。参考以上的图4A、4B和4C,在一个示例实施例中,对于区域414B中的像素,图像400B可以表示来自图像栈610的最佳对焦图像(例如,图像IMG-L1(3))。同样,对于来自区域412A的像素,图像400A可以表示来自图像栈620的最佳对焦图像(例如,图像IMG-L2(2)),同时对于来自区域410C的像素,图像400C可以表示来自图像栈630的最佳对焦图像(例如,图像IMG-L3(2))。
同样如图6所示,可以形成包括图像栈610、620和630中所包括的所有图像的图像栈640。在一个实施例中,使栈610、620和630中的所拍摄到的图像的Z高度散布(例如,与在同一Z高度处拍摄所有图像相对,在不同的Z高度处进行各栈中第一个图像的拍摄),以使得在这些栈如图像栈640所示那样交错的情况下,所有图像处于不同高度。在另一实施例中,可以以大致相同的Z高度拍摄图像及其各自的图像栈(例如,以大致相同的高度拍摄图像栈610、620和630各自中的第一个图像)。在一个替代实施例中,代替单独拍摄到图像栈610、620和630,可以作为连续处理来获取图像栈640,其中在拍摄到各图像之前调整光设置。然而,在特定实施例中,由于在特定现有设备中为改变照明设置可能存在缓慢的响应时间,因此在拍摄各图像之前改变光设置是不实际的。换句话说,如果使用中的设备需要过多时间来调整光设置,则在特定实例中,认为将整个图像栈640视为连续处理不太实际。
将图像栈610的第一个图像IMG-L1(1)例示为包括两个关注区域ROI(1)和ROI(2)。关于术语“关注区域”,应当理解,不同类型的工具(例如,Z高度工具143ga)可以以不同的方式相对于关注区域进行定义和工作。例如,已知的“多点”类型的自动调焦工具(例如,图2的工具143gab)可以返回与多点型Z高度工具所定义的全局关注区域内的各个“关注子区域”(例如,关注子区域的网格)相对应的多个Z高度。例如,可以将这些关注子区域手动和/或自动定义为以全局关注区域内的各(或大多数)像素为中心。因而,在一些情况下,可以将关注区域(例如,ROI(1)和ROI(2))视为全局关注区域内的代表性关注子区域。然而,重要的一点是可以针对所定义的任何关注区域建立Z高度。
因而,可以理解,在与建立Z高度有关地使用术语关注区域的情况下,可以将(例如,多点自动调焦工具所定义的全局关注区域内的)关注子区域包含在该术语的含义内。为了例示这一点,将关注区域ROI(1)和ROI(2)示出为相对较小(例如,3×3个像素),正如多点自动调焦工具的一些典型关注子区域那样。例如,可以利用这种区域大小来确定各关注区域(或子区域)中的单个中心像素的焦点峰值。
在图6的右侧示出子区域ROI(1)和ROI(2)的定性表示的焦点曲线。例如,焦点曲线FCL2(1)定性地表示位于紧挨左侧的定性示出的图像栈IMGL2中的子区域ROI(1)的焦点曲线结果,并且针对其它焦点曲线也同样。基于前述说明和教导可以理解,较高的焦点曲线峰值可以与基础图像的较好的图像对比度和/或较好的Z高度质量指标相对应。因而,图6示出如下示例:子区域ROI(1)在图像栈IMGL1中具有最适当的照明水平,从而在该图像栈中表现出最高的焦点曲线峰值。同时,子区域ROI(2)在图像栈IMGL3中具有最适当的照明水平,从而在该图像栈中表现出最高的焦点曲线峰值。基于前述说明和教导可以理解,较高的焦点曲线峰值可能经常与基础图像的较好的图像对比度和/或较高的Z高度质量指标相对应。因而,在这种情况下,可以基于图像栈IMGL1的焦点曲线来最佳地确定子区域ROI(1)的Z高度,并且可以基于图像栈IMGL3的焦点曲线来最佳地确定子区域ROI(2)的Z高度。
图7A和7B是示出包括Z高度工具用户界面720(其外观还可被称为Z高度工具用户界面窗口小部件)的用户界面700的一个实施例的各种特征的图。图7A示出视场705和Z高度工具用户界面720,其中视场705包括两个工件表面710a和710b,以及Z高度工具用户界面720包括表示Z高度工具用户界面720以多图像栈和多照明矢量Z高度工具模式进行工作的照明符号模式指示器721、以及在Z高度工具模式有效的情况下所定义的关注区域或关注区域指示器722。将照明符号模式指示器721例示作为包括三个弯曲箭头,其中这三个弯曲箭头代表多图像栈和多照明矢量操作。可以理解,在一些视觉系统中,可以连同已知或传统的Z高度工具、模式或方法一起提供这里所公开的Z高度工具、模式或方法。因而,照明符号模式指示器721将操作的多图像栈和多照明矢量Z高度工具模式与Z高度操作的其它模式区分开。以下没有详细说明的Z高度工具及其用户界面720的操作的各种方面可以根据商用系统中的已知方法和/或如这里所述的方法进行工作。
在图7A所示的视图中,已选择了用户界面关注区域722以进行编辑。在选择关注区域722以供编辑的情况下,如所示,可以沿着角和边显示一组大小/位置编辑手柄725(包括诸如可以通过拖拉来控制的手柄727等的各个手柄)。(例如,如通过用户界面720所实现的)Z高度工具或模式根据上述原理执行操作的特定组合。
图7B示出包括多图像栈和多照明矢量Z高度工具类型的启动按钮740的工具选择栏707的一个实施例。图7B示出如下的用户界面结构,在该用户界面机构中,工具选择栏707表示经由多图像栈和多照明矢量Z高度工具或模式按钮740周围的“有效”框745使多图像栈和多照明矢量Z高度工具或模式有效,并且将其它自动调焦工具/模式按钮设置为无效(在其它工具/模式按钮周围不存在“有效”框)。这表示当前Z高度工具模式是多图像栈和多照明矢量Z高度工具模式。
在各种实施例中,如果用户“按下”其它工具/模式按钮其中之一(例如,传统的Z高度工具或模式按钮750),则所按下的工具和/或模式将变得有效,然后与(图7A所示的)各关注区域(指示器)722的编辑相关联的操作和显示元件、以及多图像栈和多照明矢量Z高度工具或模式的操作将完成和/或无效。在一些实施例中,图7B中的工具选择栏707的状态可以与图7A所显示的用户界面的状态相对应,这是因为如果关注区域(指示器)722被选中或有效,则可以与工具720相关联地使多图像栈和多照明矢量Z高度工具或模式变为有效,并且其它工具/模式按钮可能变为无效,而与它们的先前状态无关。在视场705中选择任何其它工具的关注区域(指示器)的情况下,这还可以是与任何其它工具相关联的行为。
在一个实施例中,可以提供如下的工具模式确定操作,其中该工具模式确定操作判断Z高度工具720的一个或多个实例是否被配置为根据诸如学习模式管理实现或运行模式起源实现等的特定实现来进行工作。在一个实施例中,用户可以通过使用诸如配置菜单窗口等的用户界面特征来设置Z高度工具720的特定实现,其中该配置菜单窗口用于通常针对Z高度工具或模式、以及/或者特别针对多图像栈和多照明矢量Z高度工具或模式来设置工作参数。
图8A~8D是例示与如下的Z高度工具用户界面的一个实施例有关的各种设置的图,其中该Z高度工具用户界面包括与利用多个图像栈和多个照明矢量有关的参数。
特别地,图8A~8D是示出标签为Z高度工具参数对话框800的Z高度工具参数对话框的一个实施例的各种特征的图,其中该Z高度工具参数对话框800包括用户可选择的选项卡部810a、810b、810c和810d。对于所有的选项卡部810a~810d,底部的默认按钮使选项卡部810a~810d上的条目恢复为其默认值,OK按钮接受当前参数并且关闭Z高度工具参数对话框800,并且取消按钮使所有参数返回至在当前编辑序列开始之前的状态并关闭对话框800。
图8A示出选项卡部810a,其中该选项卡部810a可以反映选择的Z高度工具全局关注区域的X中心坐标和Y中心坐标、以及宽度(W)、高度(H)和角度姿势(未示出)。可以通过(例如,如图7A所示的)关注区域的图形定义来确定这些值,以及/或者可以将这些值直接输入对话框中。
图8B示出选项卡部810b,其中该选项卡部810b反映针对选择的关注区域所要采用的Z高度工具搜索类型。搜索类型使得用户能够在与焦点曲线数据和分析有关的Z高度工具操作的速度和精度之间选择期望权衡,这可能影响图像(即,图像栈中的图像)之间的Z间距等。除非用户输入不同的选择,否则可以使用这些搜索类型其中之一作为默认搜索类型。选项卡部810b还可以使得用户能够影响Z高度工具操作所使用的Z高度搜索范围(例如,图像栈中所包括的图像的Z范围)的确定。
在各种实施例中,用户可以接受和/或选择以下搜索范围:确定并使用默认搜索范围,或者该搜索范围基于用户所输入的标称(或范围中点)值,或者该搜索范围可以基于用户所输入的最大值和最小值。在各种实施例中,Z高度工具可以基于工具的手动模式和/或学习模式设置期间的操作来确定默认搜索范围。在搜索范围并非完全通过用户输入来定义的任意情况中,Z高度工具操作可以基于当前机器光学配置(例如,当前景深或倍率)以及/或者工件信息(例如,由于固定或制造变化等所引起的预期表面高度变化)来确定Z高度搜索范围,从而提供高效的搜索范围,其中该高效的搜索范围还包括足以使得在测量和/或部分程序执行期间在关注Z高度的区域内具有合理变化的情况下进行鲁棒操作的范围。
在图8A~8D所示的实施例中,Z高度工具是可以配置为作为单点或多点的Z高度工具进行工作的通用工具。图8C示出选项卡部810c,其中该选项卡部810c反映Z高度工具针对所定义的全局关注区域所提供的测量数据的类型。图8C所示的实施例使得用户能够选择四个测量数据类型其中之一。“标准”选择可以针对关注区域返回单个Z高度。“多点”选择可以针对选项卡部810a中示出的全局关注区域内的多个子区域(例如,具有代表性的x-y坐标位置的ROI(k))自动提供Z高度值。“多点最大”选择和“多点最小”选择可以自动提供子区域内的最大和/或最小的Z高度值。在输入“多点”选择的情况下,可以基于“工具子区域”参数框中所表示的子区域行和列的数量来(相对于全局关注区域位置和程度)来确定子区域的数量以及这些子区域的代表性的x-y坐标位置。
在图8A~8D所示的实施例中,Z高度工具是可以配置为根据多点Z高度工具操作的速度和精度之间的期望权衡来使多点Z高度工具进行工作的通用工具。图8D示出选项卡部810d,其中该选项卡部810d反映在针对工具操作配置用户偏好时可以使用的参数。在一些实施例中,除在选项卡部810c中选择多点单选按钮的情况以外,可以使选项卡部810d的元素“变灰”和/或无效。图8D所示的实施例包括“使用单一光水平”单选按钮,其中用户可以选择该“使用单一光水平”单选按钮以强制多点Z高度工具操作使用单一光水平和单一图像栈。这种模式选择可以适于检查能够在单一图像的关注区域中良好曝光的工件。这种模式的一些实施例当前可以在可商购获得的机器视觉检查系统中得到,以及/或者可以基于本发明进行理解,并且将不针对“使用单一光水平”单选按钮进行更详细的说明。选项卡部810d还可以包括“使用多个光水平”单选按钮,其中用户可以选择该“使用多个光水平”单选按钮以强制多点Z高度工具操作使用包括全部使用所公开的实施例的以下操作的模式,其中使用多个光水平来获取相应的多个图像栈,以及多点Z高度测量值基于多个图像栈的分析。这种模式选择适于对在单一图像的关注区域中无法良好地曝光的工件(例如,诸如图3和4所示工件等的工件)的检查。
图8D所示的实施例包括“最优化精度”单选按钮和“最优化速度”单选按钮,其中在选择“使用多个光水平”单选按钮的情况下,用户可以对这两个单选按钮进行选择。在一些实施例中,除了选择“使用多个光水平”单选按钮的情形以外,可以使这些元件“变灰”和/或无效。“最优化精度”单选按钮可以强制“使用多个光水平”模式使用两个或三个光水平和相应的图像栈来确定多点Z高度测量值。
例如,在一个实施例中,可以如关于图13所述的照明水平L2和L3的概述和所述来确定仅两个光水平,其中以可以针对尽可能多的子区域使亮度和对比度最优化的方式来确定亮度限制光水平。在另一实施例中,可以如关于图12或图13的照明水平L2和L3的概述和所述来确定两个光水平,并且第三个光水平可以是L1和L3之间的标称光水平的光水平(例如,光水平L1、或者L2和L3之间的自动确定的平均光水平等)。这种实施例可以提供如下的图像栈,其中在中间光水平下的第三图像栈中,一部分子区域具有良好的Z高度质量,由此针对这些子区域产生更加精确的Z高度测量值。
如针对这里的各种实施例所公开的,“最优化速度”单选按钮使得“使用多个光水平”模式能够使用两个甚至一个光水平,只要这些光水平足以满足针对关注区域中的像素的亮度限制标准和针对关注区域中的像素的暗度限制标准即可。例如,在一些特定关注区域中,图12的照明水平L1可以满足这两个标准,并且可以使用利用该光水平的单个图像栈来确定所有子区域的Z高度测量值。可以理解,除了使用该模式的确定是基于由视频工具操作所进行的自动分析以外,这基本等同于使用“单一光水平”模式。在另一示例中,在一些特定关注区域中,图12的照明水平L2和L3可能不如利用图13的方法将确定的那样最佳,但可以满足这两个标准,并且可以使用利用这两个光水平的两个图像栈来确定所有子区域的Z高度测量值。
可以使用选项卡部810d中示出的Z高度质量阈值滑块来调整Z高度测量值的拒绝阈值。也就是说,如这里针对各种实施例所公开的,各子区域Z高度测量值选自该子区域被判断为具有最佳Z高度质量指标的图像栈。在一些应用中,在各Z高度测量值具有基于不可靠的或含噪声的焦点曲线数据而表明其可能是不可靠的测量值的Z高度质量指标(例如,低Z高度质量指标)的情况下,可以抑制该Z高度测量值或利用警告或错误指示符来标记该Z高度测量值。用户可以调整Z高度质量阈值滑块,从而通过这样的方式改变抑制或标记Z高度测量值的Z高度质量指标拒绝阈值。然而,应当理解,选项卡部810c和810d仅是示例性而非限制性的。更一般地,这两者可以根据需要调整以支持落入这里所公开的实施例的范围内的任何期望实现。
图9A和9B是例示用于利用多个图像栈和多个照明矢量来进行Z高度测量的示例例程900的流程图。如图9A所示,在块910中,提供精密机器视觉检查系统和当前工件。该精密机器视觉检查系统可以包括用户界面、包括照相机的摄像部、可控照明部、调焦部和包括图像处理器的控制部。在块920中,操作该精密机器视觉检查系统来定义工件上进行对焦点操作的关注区域。
在块930中,操作精密机器视觉检查系统进来定义与N个图像栈相关联的各自的N个照明矢量,其中N个图像栈包括在所定义的Z高度范围内具有不同的焦点Z高度的图像,N至少为2,并且其中定义各自的N个照明矢量包括至少两个步骤。如至少在具有Z高度范围内的相应焦点Z高度并且具有与各自的第一照明矢量相对应的图像曝光水平的第一个图像中所确定的那样,用于定义N个照明矢量的第一步骤包括定义各自的第一个照明矢量以使得满足第一亮度标准,以及使得将关注区域中亮度值为亮度上限以上的亮度像素位置的第一数量限制为关注区域中的像素位置的第一小比例,其中在第一亮度标准中,关注区域中的最亮像素位置包括在照相机的亮度范围的上部25%内的亮度值。
如至少在具有Z高度范围中的焦点Z高度并且具有与第二照明矢量相对应的图像曝光水平的第二图像中所确定的,用于定义N个照明矢量的第二步骤包括定义第二个照明矢量,以使得满足第二亮度标准,其中在第二亮度标准中,将关注区域中的亮度值为亮度下限以下的第二数量的最暗像素位置限制为关注区域中的第二小比例的像素位置(例如,0.1%)。然后,例程900A继续进入如在图9B中继续的点A。
如图9B所示,从点A起,例程900B继续进入判定块974。在判定块974中,判断是否正进行用于当前以学习模式创建部分程序的操作。如果没有进行用于当前以学习模式创建部分程序的操作(例如,如果当前正在执行运行模式),则例程继续进入如以下将更详细地说明的块980。如果在判定块974中判断为正进行用于当前以学习模式创建部分程序的操作,则例程继续进入块975。
在块975中,将各自的N个照明矢量与随后在检查相应工件上的相应关注区域时所使用的部分程序相关联地进行存储,其中该部分程序包括用于进行至少三个操作的指令。第一个部分程序操作包括基于各自的N个照明矢量来获取N个图像栈。第二个部分程序操作包括判断N个图像栈中的哪个图像栈在各对焦点数据点位置处具有最佳Z高度质量指标。第三个部分程序操作包括提供从图像栈所获得的Z高度测量数据,以使得在各对焦点数据点位置处,将与具有最佳Z高度质量指标的图像栈相关联的Z高度测量值识别为该对焦点数据点位置处的Z高度测量值。
在块980中(例如,在当前正在执行运行模式的情况下),操作精密机器视觉检查系统来基于各自的N个照明矢量获取N个图像栈。在块990中,判断N个图像栈中的哪个图像栈在各对焦点数据点位置处具有最佳Z高度质量指标。在块995中,提供从图像栈所获得的Z高度测量数据,以使得在各对焦点数据点位置处,Z高度测量值基于在该对焦点数据点位置处具有最佳Z高度质量指标的图像栈。
关于图9A和9B,应当理解,在不同的实现中,可以在不同的时间或按不同的序列进行所述操作。例如,图9A所述的第一照明矢量和第二照明矢量的定义在搜索期望的照明水平时可能需要一定量的处理时间,其中如上所述,在特定实现中,在运行模式期间可能不进行该定义,从而提高算法的速度。可以将这种运行模式称为“静态”运行模式,其中利用在学习模式期间所确定并保存的第一照明矢量和第二照明矢量作为该运行模式期间的第一照明矢量和第二照明矢量。然而,在替代实施例中,可以利用“动态”运行模式,其中在该运行模式期间确定第一照明矢量和第二照明矢量。在特定情形中可能期望这种实现,诸如需要较高精度、或者根据在学习模式期间所存储的第一照明矢量和第二照明矢量在运行模式期间是否产生满意结果进行评价等在后者中,如果没有产生满意结果,则运行模式可以进行附加动态搜索以重新确定第一照明矢量和第二照明矢量。
关于图9B的操作,通常将进行作为学习模式的一部分的照明矢量的存储,尽管在特定实现中,在学习模式期间仍可以获取图像栈以使得用户可以浏览这些结果。换句话说,在学习模式期间,一旦确定了照明矢量,代替简单地存储照明矢量,可以进行用以获取图像栈并确定由此得到的Z高度测量值的操作,以使得用户可以浏览这些结果以判断这些结果是否良好。如果用户判断为这些结果令人满意,则将照明矢量存储作为部分程序的一部分,而如果结果不令人满意,则可以不存储照明矢量。
图10是示出用于在仅利用单个图像和单个Z高度的情况下搜索多个照明矢量的示例例程1000的流程图。如以下将更详细地所述,利用单个代表性Z位置来进行照明调整以确定期望的照明水平提高了算法的速度。如图10所示,在块1010中,定义Z高度范围,并且以初始用户选择的或标准的中间范围光设置来获取包括该Z高度范围内的多个相应焦点Z高度处的多个图像的初步图像栈。
在块1020中,基于初步图像栈来确定峰值焦点Z高度,并且使台移动至该峰值焦点位置。在一个实施例中,根据为了从初步图像栈中找出代表性图像所应用的标准锐度(例如,对比度)测量来进行峰值焦点Z高度的确定。在该处理中,(与仅小的局部关注区域相对比)可以使用整个图像来计算该度量。在块1030中,在台处于峰值焦点位置处的情况下,调整照明以确定第一照明矢量。在块1040中,在台仍处于峰值焦点位置的情况下,调整照明以确定第二照明矢量。
应当理解,进行单个图像(即,台的单个Z位置)的此确定以最佳地表示图像栈是为了提高算法的速度。换句话说,在特定实现中,各照明调整之后的图像栈整体的拍摄和分析将相对变慢。作为代替,可以依赖单个图像(即,使台移动至的单个Z位置)以判断照明调整如何改变表面的照度。然后,在该算法的调整循环中,可以重复且快速地拍摄并分析指定Z位置处的单个“实时”照相机图像。该单个图像的利用在以下方面是有效的:在特定实现中,已通过实验确定了整体锐度测量值较高的图像趋于最佳地表示图像栈。这是由于以下事实:这些图像趋于使对比度最大化,由此得到各种实施例的光调整例程所利用的最大数量的过暗和/或过亮像素(在存在的情况下)。
图11A和11B是示出包括例程部分1100A和1100B的示例例程的流程图,其中这些例程部分1100A和1100B用于利用多个图像栈和多个照明矢量来进行Z高度测量。在各种实施例中,可以使用在本申请中所公开的以及/或者如所并入的文献中所公开的特征的各种组合和教导来进行例程1100的操作。
如图11A所示,在块1110中,提供如下的机器视觉检查系统,其中该机器视觉检查系统包括:摄像部,其包括照相机;可控照明部;调焦部;控制部,其包括图像处理器;第一测量模式,用于对工件进行基于多点对焦的Z高度测量,并且包括基于单个图像栈来确定针对关注区域内的多个子区域的基于多点对焦的Z高度测量值的操作,其中该单个图像栈是针对该图像栈中的各图像使用相同的照明参数所获取到的;第二测量模式,用于对工件进行基于多点对焦的Z高度测量,并且包括基于多个图像栈来确定针对关注区域内的多个子区域的基于多点对焦的Z高度测量的操作,其中第一图像栈是使用满足关注区域中的图像像素的暗度限制标准并且针对该第一图像栈中的各图像相同的暗度限制照明参数所获取到的,并且第二图像是使用满足关注区域中的图像像素的亮度限制标准并且针对该第二图像栈中的各图像相同的亮度限制照明参数所获取到的;用户界面,其包括图像显示器和图像用户界面(GUI);以及多点Z高度测量工具,其包括:第二测量模式、针对关注区域中的图像像素的亮度限制标准、针对关注区域中的图像像素的暗度限制标准、以及包括关注区域指示器的多点GUI元件。
在块1120中,获取代表性工件上的特定关注区域的图像,并且将所获取的物体的图像显示在图像显示器上。
在块1130中,启动多点Z高度测量工具的实例,并且在所获取图像中定义其关注区域。然后,例程1100A继续进入如图11B中所继续的点A。
如图11B所示,从点A起,例程1100B继续进入块1140。在块1140中,进行与第二测量模式相对应的多点Z高度测量工具的该实例的、使摄像部自动聚焦于该关注区域的全局最佳焦点高度处的自动操作,其中全局最佳焦点高度是基于使用一组初步的照明参数所获取到的图像栈并且基于根据整个关注区域所确定的焦点指标来确定的。
在块1150中,进行与第二测量模式相对应的多点Z高度测量工具的实例的包括如下操作的自动操作:分析在全局最佳焦点高度处所获取到的图像并调整照明参数以确定满足关注区域中的图像像素的亮度限制标准的亮度限制照明参数;以及分析在全局最佳焦点高度处所获取到的图像并调整照明参数以确定满足关注区域中的图像像素的暗度限制标准的暗度限制照明参数。
应当理解,上述例程1100仅是示例性的而非限制性的。在一些实施例中,该例程还可以包括:获取包括关注区域的多个图像栈,其中这多个图像栈至少包括使用所确定的暗度限制照明参数所获取到的第一图像栈和使用所确定的亮度限制照明参数所获取到的第二图像栈;以及基于这多个图像栈来确定针对关注区域内的多个子区域各自的基于多点对焦的Z高度测量值。在一些实施例中,多个图像栈可以包括使用与第一图像栈和第二图像栈所使用的照明参数相比提供中间水平的照度的一组照明参数所获取到的一个或多个附加图像栈。在一些实施例中,多个图像栈包括使用一组初步的照明参数所获取到的图像栈。
在一些实施例中,该例程还可以包括基于多个图像栈来确定针对关注区域内的多个子区域的基于多点对焦的Z高度测量值的操作,并且这些操作可以包括针对多个子区域各自:确定该子区域针对多个图像栈各自的Z高度质量指标;以及基于多个图像栈中的提供最佳Z高度质量指标的图像栈来确定该子区域的基于调焦的Z高度测量值。
在一些实施例中,该例程可以包括在运行模式期间在部分程序指令的控制下进行该例程的至少一部分。
在一些实施例中,该例程可以包括在学习模式期间进行该例程的至少一部分,并且还可以包括记录与多点Z高度测量工具的当前实例相对应的部分程序指令,其中该部分程序指令可用于进行以下操作,包括:获取包括关注区域的多个图像栈,这多个图像栈至少包括使用所确定的暗度限制照明参数所获取到的第一图像栈和使用所确定的亮度限制照明参数所获取到的第二图像栈;以及基于这多个图像栈来确定针对关注区域内的多个子区域各自的基于多点对焦的Z高度测量值,其中该确定操作针对各子区域包括:针对多个图像栈各自确定该子区域的Z高度质量指标;以及基于多个图像栈中的提供最佳Z高度质量指标的图像栈来确定该子区域的基于对焦的Z高度测量值。
在一些实施例中,该方法可以包括在学习模式期间进行机器视觉检察系统的操作,其中:在获取特定关注区域的图像的步骤中,该工件是代表性工件并且该步骤包括将所获取图像显示在图像显示器上;启动多点Z高度测量工具的实例的步骤包括将其多点GUI元件显示在图像显示器中;并且在所获取图像中定义关注区域的步骤包括通过将多点GUI元件的关注区域指示器定位成包围特定关注区域来定义所显示图像中的关注区域。受益于本发明的本领域技术人员将明白该例程的其它可能添加和变化。
图12是示出(例如,图9、10或11的例程内的)用于确定适应数量的照明水平的示例例程1200的流程图。如以下将更详细地所述,与以上关于图11的块1110~1140所述的更为一般的操作相比,块1210、1220以及块1230和1240的组示出特定更详细的功能(例如,其中所保存的光水平的数量是可调整的)。如图12所示,在块1210中,以用户所指定的(标准、初始)照明水平组L1来拍摄图像栈S1。假定用户所指定的(标准、初始)照明水平组L1是良好地示出表面、但可能无法成功移除所有过暗或过亮区域的合理的中间范围的平均照明设置。
在块1220中,在图像栈S1中,确定锐度测量值最高的图像I。然后,将台定位在图像I的Z高度处,并且利用实时照相机图像IL来进一步搜索附加照明水平。在一个实施例中,在对堆栈S1中的图像进行评价以判断哪个图像将表示堆栈的情况下,(与仅使用小的局部关注区域来计算锐度测量值相对比)使用各整体图像来计算锐度测量值。如上所述,确定最佳地表示图像栈的单个图像(和台的相应Z高度位置)是有利的,这是因为该确定使得算法能够高速工作。换句话说,拍摄并分析各光调整之后的整个图像栈将相对变慢。作为代替,可以依赖单个实时照相机图像来确定照明调整如何改变表面的照度,其中可以在该算法的调整循环中重复且快速地拍摄并分析这种实时照相机图像。
如以下将更详细地所述,块组1230(包括块1231~1235)确定照明水平集L2(在一个实施例中,其与图11的块1130的第一照明矢量相对应),并且判断是否将要存储照明水平集L2。在判定块1231中,判断图像IL中当前是否存在过多的亮像素。在一个实施例中,如果像素的灰度大于阈值(例如,灰度为230),则将该像素定义为亮。可以根据亮像素是否构成图像中的总像素数的阈值分数(例如,图像像素的总数的0.001)以上来判断是否存在过多的亮像素。
如果在判定块1231中判断为在图像IL中不存在过多的亮像素,则如以下将更详细地所述,例程继续进入块1236。如果判断为在图像IL中存在过多的亮像素,则例程继续进入判定块1232,其中在该判定块1232中,判断是否可以进行附加光调整。通常,只要所有的照明变量尚未全部被调至最低,则认为附加光调整仍是可以的。如果在判定块1232中判断为不再能够进行光调整,则如以下将更详细地所述,例程继续进入判定块1234。如果判断为仍可以进行光调整,则在块1233中,使所有的工作光减少一级。在各替代实施例中,与共同进行调整相对比,光的减少量可以改变或可以针对各光而不同。不再对已调至最低并且设置为零的光进行调整。然后,例程返回至判定块1231。
如前面所述,如果在判定块1231中判断为在图像IL中不存在过多的亮像素,则例程继续进入块1236。在块1236中,所有的工作光增加一级。不再对已达到最大设置的光进行调整。然后,例程继续进入判定块1237,其中在该块1237中,判断图像IL中当前是否存在过多的亮像素。如果在判定块1237中判断为图像IL中不存在过多的亮像素,则例程继续返回至块1236。如果在判定块1237中判断为在图像IL中存在过多的亮像素,则例程继续进入块1238。在块1238中,所有的工作光减少一级(以返回到不存在过多的亮像素的光水平),并且例程继续进入判定块1234。应当理解,块1236~1238的操作的结果是在初始光水平至少不如“过多亮像素标准”所容许的那样亮的情况下、在不会产生过多亮像素的状态下提供尽可能高的光水平,这在一些实施例中可能是有利的。
在判定块1234中,判断当前照明水平集L2是否不同于初始照明水平集L1。如果当前照明水平集L2没有不同于照明水平集L1,则如以下将更详细地所述,例程继续进入块1241。如果当前照明水平集L2不同于照明水平集L1,则例程继续进入块1235,其中在该块1235中,将照明水平集L2存储作为部分程序的一部分,之后例程进入块1241。
如以下将更详细地所述,块组1240(包括块1241~1246)确定照明水平集L3(其在一个实施例中与图11的块1140的第二照明矢量相对应),并且判断是否将存储照明水平集L3。在块1241中,作为初始步骤,使光设置返回至初始照明水平集L1,从而开始在相反方向上搜索满足所指定的一组标准的较高的照明水平。在判定块1242中,判断图像IL中是否存在过多的暗像素。在一个实施例中,如果像素的灰度小于指定阈值(例如,灰度为50),则将像素定义为暗。另外,根据暗像素的数量是否大于图像中的总像素数的阈值分数(例如,图像像素的总数的0.001)来判断是否存在“过多”的暗像素。
如果在判定块1242中判断为图像IL中不存在过多的暗像素,则如以下将更详细地所述,例程继续进入判定块1245。如果判断为在图像IL中存在过多的暗像素,则例程继续进入判定块1243,其中在该判定块1243中,判断是否可以进行进一步的光调整。只要尚未将所有的照明变量调至最高,则认为仍可以进行照明调整的附加增加。
如果在判定块1243中、判断为不能进行附加光调整(由此表示可调整的照明设置已全部调至最高),则如以下将更详细地所述,例程继续进入判定块1245。如果在判定块1243中、判断为仍可以进行光调整,则例程继续进入块1244,其中在该块1244中,工作光增加一级。在各种替代实施例中,与共同进行光调整的情况相对比,光的增加量可以针对各光而改变或不同。不再对已达到最大设置的各个光进行调整。然后,例程返回至判定块1242。
在判定块1245中,判断当前照明水平集L3是否不同于初始照明水平集L1和L2。如果判断为当前照明水平集L3不同于照明水平集L1和L2,则例程进入块1246,其中在该块1246中,将照明水平集L3存储在部分程序中。如果判断为当前照明水平集L3没有不同于照明水平集L1和L2,则例程在无需存储照明水平集L3的情况下结束。
如上所述,根据照明水平集L2和L3的评价(即,照明水平集L2和L3是否充分不同于初始照明集L1以及/或者是否彼此不同),可以存储该评价或可以不存储该评价。因而,根据照明条件,可以存储并使用两个、一个或无附加照明水平集(如果用户指定的照明集L1提供充足的表面照度,则算法可能不保存任何附加照明水平集)。
图13是示出机器视觉检查系统用户界面显示器1300的一个实施例的图,其中该机器视觉检查系统用户界面显示器1300包括与利用多个光设置和图像栈的Z高度测量工具相关联的各种特征。在图13所示的示例状态中,用户界面显示器1300包括视场窗口1303,其中该视场窗口1303显示工件图像1310。用户界面1300还包括诸如选择栏1320和1340、实时X-Y-Z(位置)坐标窗口1330和光控制窗口1350的各种测量和/或操作选择栏。
视场窗口1303包括示例性的多点Z高度工具窗口小部件1314、以及由该小部件1314的外边界所定义的并且叠加在要检查的当前工件特征1312上的相应的全局关注区域1314'。如图13所示,将全局关注区域1314'再分割成10×10个关注子区域SROI(k)(例如,其中k=1~100)。各子区域SROI(k)可以与代表中央位置(Xk,Yk)相关联,并且可以包括与多个像素行和多个像素列相对应的区域。在基于(例如,如前面所述的)关注子区域来确定最佳焦点Z高度Zpk的情况下,可以利用三维坐标(Xk,Yk,Zpk)来表示与该关注子区域相对应的点云元素。在各种实施例中,可以使子区域的代表位置间隔开几个像素、或者间隔开小至一个像素。因而,在一些这种实施例中,用于针对各子区域确定最佳焦点Z高度Zpk的像素区域可以彼此局部重叠。在一些实现中,各子区域的面积可能相对较小(例如,9×9个像素、13×7个像素、3×3个像素、3×5个像素等)。应当理解,在各种实施例中,与趋于产生可能包括相对大的噪声分量的”焦点信号”或焦点指标的小的焦点关注区域相关联地,根据选择用于针对子区域确定Z高度测量值的最佳图像栈来使用Z高度质量指标是特别有价值的。
在各种实施例中,用户可以通过从显示各种替代工具和/或模式选择按钮的选择栏707中选择相应的“Z高度工具”按钮740来选择专用多点Z高度工具或包括多点模式的通用Z高度工具。经由Z高度工具或模式按钮740周围的“有效”框745,工具选择栏707可以表示Z高度工具或模式是有效的。
在这种选择时,在一个实施例中,如图13所示,用户界面可以自动显示诸如前面所述的参数对话框800等的Z高度工具参数对话框,其中如前面在这里所公开的,该Z高度工具参数对话框用于选择多点测量模式以及针对所选择的多点测量模式配置各种参数。在一个实施例中,可以将窗口小部件1314自动显示在用户界面中以使得用户能够以图形方式定义Z高度工具的该实例的关注区域1314'(例如,通过使用计算机鼠标和屏幕光标拖动位于窗口小部件1314的边界的正方形手柄)。应当理解,针对窗口小部件1314所示出的10×10个小区域与图13中的选项卡部810c所示的特定“多点”参数设置相对应。
图14是例示示出如下操作的一个实施例的示例例程1400的流程图,其中这些操作可用于对利用这里所公开的多点Z高度测量工具所分析的多个图像栈各自进行分析。例如,可以使用图14所示的“Z高度指标”作为图9或11的例程内的Z高度质量指标。在包括基本相同的附图的所并入的'054公开中说明了例程1400的大部分操作。基于'054公开的相关教导以及本发明中其它地方的教导,本领域技术人员可以通过检查来理解图14。
在块1405中,针对k=1~P定义或选择一组关注区域ROI(k),其中要确定Z高度和相应的Z高度质量指标。应当理解,在一些实施例中,根据用于将估计的3-D坐标数据(点云数据)提供至对包括关注区域ROI(k)的表面区域进行形状拟合的形状拟合算法的期望目标,各关注区域(或子区域)ROI(k)可能相对较小(例如,小至9×9个像素、7×7个像素或甚至更少),并且可能与个体坐标位置(例如,代表性的x-y像素坐标位置)相对应。
在块1410中,定义包括image(i)的图像的图像栈集,其中i=1~N。图像栈集的视场可以包括关注区域ROI(k)的集合,并且图像栈集的Z范围通常跨越针对关注区域ROI(k)的集合所预期的Z高度。在块1415中,开始用以在相应的Z高度Z(i)处获取图像栈集image(i)的组成部分的操作。Z高度Z(i)是机器视觉检查系统在获取image(i)时所表示的Z高度,并且与该图像的对焦被摄体面的位置相对应,而与工件表面是否实际位于该对焦被摄体面无关。
在一些实施例中,使其它块(例如,块1417~1443)的操作与块1415并行执行可以是有利的,即图像分析操作可以在已获取到一个或多个初始图像的一个或多个区域之后的任何方便时间开始,从而节约操作时间和/或存储器。因而,在块1417中,针对第一个/下一个image(i)的图像分析操作的处理循环可以在已获取到第一个/下一个image(i)的一个或多个区域或子区域之后的任何方便时间开始。
在块1420中,嵌套处理循环开始处理与当前image(i)中的第一个/下一个关注区域ROI(k)有关的操作,其中k=1~P。在块1430中,针对当前image(i)中的当前关注区域ROI(k)确定焦点指标fm(k,i),并且将各个这种焦点指标fm(k,i)和相应的Z高度Z(i)添加至当前关注区域ROI(k)的焦点峰值确定数据集(例如,焦点曲线数据集)。在判定块1443中,判断嵌套处理循环中是否存在针对当前image(i)要处理的更多关注区域ROI(k)。如果存在,则操作返回至块1420,否则操作继续进入判定块1444。
在判定块1444中,判断在块1417中开始的处理循环中是否存在要处理的其它image(i)。如果存在,则操作返回至块1417,否则操作继续进入块550。在图14所示的实施例中,在完整焦点峰值确定数据集针对各关注区域ROI(k)可用的情况下,操作继续进入块1450。然而,在其它实施例中,块1450的操作可以针对特定关注区域在充足的焦点峰值确定数据集针对该特定关注区域可用之后的任何方便时间开始。在块1450中,针对各关注区域ROI(k)(例如,k=1~P),基于通过块1430的操作针对该ROI(k)所建立的焦点峰值确定数据集针对该ROI(k)确定(例如,如前面所述估计)最佳焦点Z高度Zp(k)。在一些实施例中,可以将各最佳焦点Z高度Zp(k)存储在存储器140中。
然后,操作继续进入块1460,其中在该块1460中,针对各关注区域ROI(k)(例如,对于k=1~P),确定该关注区域ROI(k)的相应的Z高度质量指标ZQM(k)。基于用于确定针对该关注区域ROI(k)的最佳焦点Z高度Zp(k)的数据,Z高度质量指标ZQM(k)可以采用表示相应的估计Z高度Zp(k)的可靠性或不确定性的任何方便的Z高度质量指标。
在一个实施例中,Z高度质量指标ZQM(k)可以有利地且便利地基于通过块1430的操作针对关注区域ROI(k)所建立的相应峰值焦点确定数据集(例如,如以上参考等式1所述)。然而,应当理解,各峰值焦点确定数据集最终基于以上要参考的图像栈中所包括的基础图像数据。因而,在各种其它实施例中,可以根据关注区域ROI(k)的图像栈集中所包括的数据、或者根据源自于该图像数据的其它数据来推导Z高度质量指标ZQM(k)。前面已经概述了确定Z高度质量指标ZQM(k)的各种方法(例如,以上参考等式1所述)。
然后操作继续进入块1470,其中在该块1470中,针对各ROI(k),使Z高度质量指标与该ROI(k)的相应最佳焦点Z高度Zp(k)相关联,以使得可使用Z高度质量指标ZQM(k)来从多个图像栈结果中选择最佳Z高度测量值(Zheight(Zp(k))。例如,在一些实施例中,将Z高度质量指标ZQM(k)与其相应的最佳焦点Z高度Zp(k)相关联地存储在存储器140中。如'054公开所述,可以将Z高度质量指标ZQM(k)存储作为元数据。在其它实施例中,将Z高度质量指标ZQM(k)与它们的相应最佳焦点Z高度Zp(k)相关联地直接传送或应用于表面表示拟合操作(例如,2维“分布”拟合操作或3维点云拟合操作)。在块1470之后,例程结束。
尽管这里已经例示和说明了本发明的各实施例,但基于本公开内容,所例示和说明的特征配置和操作序列的多种变形对于本领域技术人员将是明显的。因而,应当理解,可以在没有背离本发明的精神和范围的情况下在本发明中进行各种改变。
例如,在各种实施例中,可以基于前面并入的'180专利中所公开的照明调整工具以及共同受让并通过引用全部包含于此的美国专利6,627,863,('863专利)中所包括的操作来实现识别满足各种照明标准的照明参数的光调整。在另一示例中,并入的'054公开中所述的方法可以用于对利用这里所公开的多点Z高度测量工具分析后的多个图像栈进行分析,并且根据'054公开的方法所确定的“Z高度元数据”可用作用于确定视频工具分析后的多个图像栈中的哪一个提供子区域的最佳Z高度质量指标的Z高度质量指标,并且应用于确定该子区域的基于焦点的Z高度测量值。通过引用全部包含于此的共同受让的美国授权前公开2011/0103679(公开'679)的教导也可适用于提供各种实施例中可使用的方法、例如提供关注区域的全局最佳焦点图像。
应当理解,这里所公开的方法可以以直接方式用于白光干涉仪(WLI)测量工具或方法。在一个这种实施例中,根据这里所公开的教导来确定经由WLI元件投射至工件的光水平和所使用的图像栈的数量。在一些实施例中,测量得到的WLI信号的振幅(例如,归一化WLI峰值信号振幅)可用作Z高度质量指标的角色。
Claims (18)
1.一种用于操作精密机器视觉检查系统以确定一组多点Z高度测量数据的方法,其中所述一组多点Z高度测量数据包括工件上的特定关注区域中的基于对焦的Z高度测量值,所述精密机器视觉检查系统包括:
摄像部,其包括照相机;
可控照明部;
调焦部;
控制部,其包括图像处理器;
第一测量模式,用于对工件进行基于多点对焦的Z高度测量,并且包括基于单个图像栈来针对关注区域内的多个子区域确定基于多点对焦的Z高度测量值的操作,其中所述单个图像栈是针对所述单个图像栈中的各图像使用相同照明参数而获取到的;
第二测量模式,用于对工件进行基于多点对焦的Z高度测量,并且包括基于多个图像栈来针对关注区域内的多个子区域确定所述基于多点对焦的Z高度测量值的操作,其中第一图像栈是使用满足所述关注区域中的图像像素的暗度限制标准并且对于所述第一图像栈中的各图像均相同的暗度限制照明参数所获取到的,并且第二图像栈是使用满足所述关注区域中的图像像素的亮度限制标准并且对于所述第二图像栈中的各图像均相同的亮度限制照明参数而获取到的;
用户界面,其包括图像显示器和图形用户界面即GUI;以及
多点Z高度测量工具,其包括:
所述第二测量模式;
所述关注区域中的图像像素的所述亮度限制标准;
所述关注区域中的图像像素的所述暗度限制标准;以及
多点GUI元件,其包括关注区域指示器;以及
所述方法包括以下步骤:
进行所述精密机器视觉检查系统的操作,包括:
获取工件上的所述特定关注区域的图像;
启动多点Z高度测量工具的实例;以及
在所获取图像中定义关注区域;
进行所述多点Z高度测量工具的所述实例的与所述第二测量模式相对应的自动操作,包括:
(a)使所述摄像部自动聚焦于所述关注区域的全局最佳焦点高度处的操作,其中所述全局最佳焦点高度是基于使用一组初步照明参数所获取到的图像栈并且基于根据整个关注区域所确定的焦点指标而确定的,
(b)对在所述全局最佳焦点高度处所获取到的图像进行分析以及对所述照明参数进行调整以确定满足所述关注区域中的图像像素的所述亮度限制标准的亮度限制照明参数的操作,以及
(c)对在所述全局最佳焦点高度处所获取到的图像进行分析以及对所述照明参数进行调整以确定满足所述关注区域中的图像像素的所述暗度限制标准的暗度限制照明参数的操作。
2.根据权利要求1所述的方法,其中,所述方法包括在部分程序指令的控制下进行所述精密机器视觉检查系统的操作,并且所述方法还包括以下步骤:
获取包括所述关注区域的多个图像栈,其中所述多个图像栈至少包括使用所确定的暗度限制照明参数所获取到的第一图像栈和使用所确定的亮度限制照明参数所获取到的第二图像栈;以及
基于所述多个图像栈来针对所述关注区域内的多个子区域各自确定基于多点对焦的Z高度测量值。
3.根据权利要求2所述的方法,其中,针对所述多个子区域各自确定所述基于多点对焦的Z高度测量值包括以下步骤:
针对所述多个图像栈各自确定该子区域的Z高度质量指标;以及
基于所述多个图像栈中的提供最佳Z高度质量指标的图像栈来确定该子区域的基于对焦的Z高度测量值。
4.根据权利要求2所述的方法,其中,所述多个图像栈包括使用所述一组初步照明参数所获取到的图像栈。
5.根据权利要求1所述的方法,其中,在学习模式期间进行所述精密机器视觉检查系统的所述操作,该操作包括用户进行检查操作的序列,并且包括存储与所述检查操作的序列相对应的机器控制指令的序列,其中:
在获取所述特定关注区域的图像的步骤中,所述工件是代表性的工件,并且该步骤包括将所获取图像显示在所述图像显示器上;
启动多点Z高度测量工具的实例的步骤包括将所述多点Z高度测量工具的多点GUI元件显示在所述图像显示器中;以及
在所述所获取图像中定义关注区域的步骤包括通过将所述多点GUI元件的关注区域指示器定位成包围所述特定关注区域来在所显示的图像中定义关注区域。
6.根据权利要求5所述的方法,其中,所述方法还包括记录针对所述多点Z高度测量工具的实例的部分程序指令,其中所述部分程序指令进行包括以下步骤的操作:
获取包括所述关注区域的多个图像栈,其中所述多个图像栈至少包括使用所确定的暗度限制照明参数所获取到的第一图像栈和使用所确定的亮度限制照明参数所获取到的第二图像栈;以及
基于所述多个图像栈来针对所述关注区域内的多个子区域各自确定基于多点对焦的Z高度测量值,其中该确定针对各子区域包括:
针对所述多个图像栈各自确定该子区域的Z高度质量指标;以及
基于所述多个图像栈中的提供最佳Z高度质量指标的图像栈来确定该子区域的基于对焦的Z高度测量值。
7.根据权利要求6所述的方法,其中,所述Z高度质量指标包括由根据所述多个图像栈所推导出的焦点峰值确定数据集所表示的代表性峰值高度与由所述焦点峰值确定数据集所表示的代表性噪声水平之间的关系。
8.一种用于操作精密机器视觉检查系统来确定包括对工件的基于对焦的Z高度测量值的一组Z高度测量数据的方法,所述精密机器视觉检查系统包括用户界面、包含照相机的摄像部、可控照明部、调焦部以及包含图像处理器的控制部,所述方法包括以下步骤:
(a)操作所述精密机器视觉检查系统来定义所述工件上的用于进行对焦点操作的关注区域;
(b)操作所述精密机器视觉检查系统来定义与N个图像栈相关联的各自的N个照明矢量,其中所述N个图像栈包括包含所述关注区域并且具有在所定义的Z高度范围内的不同的焦点Z高度的图像,其中N至少为2,并且定义各自的所述N个照明矢量包括以下步骤:
(b1)定义各自的第一照明矢量以使得满足第一亮度标准,其中在第一亮度标准中,所述关注区域中的最亮像素位置包括所述照相机的亮度范围的上部25%内的亮度值;以及使得如在具有所述Z高度范围中的各自的焦点Z高度并且具有与各自的所述第一照明矢量相对应的图像曝光水平的至少第一图像中所确定的,将所述关注区域中的亮度值为亮度上限以上的最亮像素位置的第一数量限制为所述关注区域中的像素位置的第一小比例;以及
(b2)定义各自的第二照明矢量以使得满足第二亮度标准,其中在第二亮度标准中,如在具有所述Z高度范围中的各自的焦点Z高度并且具有与各自的所述第二照明矢量相对应的图像曝光水平的至少第二图像中所确定的,将所述关注区域中的亮度值为亮度下限以下的最暗像素位置的第二数量限制为所述关注区域中的像素位置的第二小比例;以及
(c)进行操作(c1)和(c2)的组中的至少一个操作,其中:
(c1)包括以下步骤:
在检查相应工件上的相应关注区域的情况下,将各自的所述N个照明矢量与部分程序相关联地进行存储以供随后使用,其中所述部分程序包括用于进行包括以下步骤的操作的指令:
基于各自的所述N个照明矢量来获取N个图像栈;
判断所述N个图像栈中的哪个图像栈在各对焦点数据点位置处具有最佳Z高度质量指标;以及
提供根据所述图像栈推导出的Z高度测量数据,以使得在各对焦点数据点位置处,将与具有最佳Z高度质量指标的图像栈关联的Z高度测量值识别为在该对焦点数据点位置处的Z高度测量值;以及
(c2)包括以下步骤:
操作所述精密机器视觉检查系统来基于各自的所述N个照明矢量获取N个图像栈;
判断所述N个图像栈中的哪个图像栈在各对焦点数据点位置处具有最佳Z高度质量指标;以及
提供根据所述图像栈所推导出的Z高度测量数据,以使得在各对焦点数据点位置处,所述Z高度测量值基于在该对焦点数据点位置处具有最佳Z高度质量指标的图像栈。
9.根据权利要求8所述的方法,其中,
在步骤(b1)中,如在具有所述Z高度范围中的各自的焦点Z高度并且具有与各自的第一照明矢量相对应的图像曝光水平的多个第一图像中所确定的,将所述关注区域中的亮度值为亮度上限以上的最亮像素位置的第一数量限制为所述关注区域中的像素位置的第一小比例;以及
在步骤(b2)中,如在具有所述Z高度范围中的各自的焦点Z高度并且具有与各自的所述第二照明矢量相对应的图像曝光水平的多个第二图像中所确定的,将所述关注区域中的亮度值为亮度下限以下的最暗像素位置的第二数量限制为所述关注区域中的像素位置的第二小比例。
10.根据权利要求8所述的方法,其中,所述第一图像和所述第二图像各自的焦点Z高度是不同的。
11.根据权利要求8所述的方法,其中,所述第一图像和所述第二图像各自的焦点Z高度是相同的。
12.根据权利要求8所述的方法,其中,步骤(b)包括进行包括以下步骤的操作:
定义所述Z高度范围;
使用初步照明矢量获取初步图像栈,所述初步图像栈包括在所述Z高度范围内的多个相应焦点Z高度处的多个图像;
基于所述初步图像栈来确定峰值焦点Z高度;以及
使用所述峰值焦点Z高度作为所述第一图像和所述第二图像各自的焦点Z高度。
13.根据权利要求12所述的方法,其中,
定义各自的所述第一照明矢量包括:使用各自的照明矢量来迭代地分析在所述峰值焦点Z高度处所获取到的各图像,直到识别出满足所述第一亮度标准的各自的至少第一图像为止,以及使用与各自的该至少第一图像相对应的各照明矢量作为各自的所述第一照明矢量;以及
定义各自的第二照明矢量包括:使用各自的照明矢量来迭代地分析在所述峰值焦点Z高度处所获取到的各图像,直到识别出满足所述第二亮度标准的至少第二图像为止,以及使用与各自的该至少第二图像相对应的各照明矢量作为各自的所述第二照明矢量。
14.根据权利要求8所述的方法,其中,包括与部分程序所管理的所述精密机器视觉检查系统的操作的运行模式相关联地进行步骤(c2)的操作。
15.根据权利要求14所述的方法,其中,
在操作的运行模式期间,在步骤(c2)中,操作所述精密机器视觉检查系统来基于各自的所述N个照明矢量获取N个图像栈包括以下步骤:
从所述部分程序再调用Z高度范围;
从所述部分程序再调用各自的所述N个照明矢量;以及
使用再调用的Z高度范围和各自的所述N个照明矢量来获取所述N个图像栈。
16.根据权利要求14所述的方法,其中,
在操作的运行模式期间,在步骤(c2)中,操作所述精密机器视觉检查系统来基于各自的所述N个照明矢量获取N个图像栈包括以下步骤:
从所述部分程序再调用Z高度范围;
获取初步图像栈,其中所述初步图像栈包括所述Z高度范围中的多个相应焦点Z高度处的多个图像;
基于所述初步图像栈来确定峰值焦点Z高度;
针对代表性的所述第一图像和所述第二图像,使用所述峰值焦点Z高度作为运行模式焦点Z高度;以及
使用各自的所述N个照明矢量来获取所述N个图像栈。
17.根据权利要求8所述的方法,其中,所述Z高度质量指标包括由根据多个图像栈所推导出的焦点峰值确定数据集表示的代表性峰值高度与由所述焦点峰值确定数据集表示的代表性噪声水平之间的关系。
18.根据权利要求17所述的方法,其中,所述Z高度质量指标基于一组焦点曲线数据,所述一组焦点曲线数据包括针对各自的工件图像栈中的各X-Y位置处的与Z高度相对应的对比度值,并且所述Z高度质量指标根据如下等式
使用了最大对比度值MAX、作为各自的对比度曲线中的所有对比度值的中值的基线对比度值BAS、以及所述对比度曲线的第i个对比度值Ci和所述基线对比度值BAS之差的绝对偏差的中值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161580145P | 2011-12-23 | 2011-12-23 | |
US61/580,145 | 2011-12-23 | ||
PCT/US2012/071522 WO2013096929A1 (en) | 2011-12-23 | 2012-12-21 | Points from focus operations using multiple light settings in a machine vision system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104137147A CN104137147A (zh) | 2014-11-05 |
CN104137147B true CN104137147B (zh) | 2017-05-31 |
Family
ID=48654141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280070653.6A Active CN104137147B (zh) | 2011-12-23 | 2012-12-21 | 机器视觉系统中的使用多个光设置的对焦点操作 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9060117B2 (zh) |
JP (1) | JP6101706B2 (zh) |
CN (1) | CN104137147B (zh) |
DE (1) | DE112012005389T5 (zh) |
WO (1) | WO2013096929A1 (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9350921B2 (en) | 2013-06-06 | 2016-05-24 | Mitutoyo Corporation | Structured illumination projection with enhanced exposure control |
US9396571B2 (en) | 2014-02-10 | 2016-07-19 | International Business Machines Corporation | Simplified lighting compositing |
DE102015208337A1 (de) * | 2014-06-17 | 2015-12-17 | Mitutoyo Corp. | Bearbeitungsumgebung eines maschinellen sichtsystems für ein teileprogramm, in dem ein durchgehender datenstrom von bilderfassungsvorgängen in einem laufmodus ausgeführt wird |
US20160073061A1 (en) * | 2014-09-04 | 2016-03-10 | Adesa, Inc. | Vehicle Documentation System |
US9602715B2 (en) | 2015-07-09 | 2017-03-21 | Mitutoyo Corporation | Adaptable operating frequency of a variable focal length lens in an adjustable magnification optical system |
US9830694B2 (en) | 2015-08-31 | 2017-11-28 | Mitutoyo Corporation | Multi-level image focus using a tunable lens in a machine vision inspection system |
US9774765B2 (en) | 2015-09-15 | 2017-09-26 | Mitutoyo Corporation | Chromatic aberration correction in imaging system including variable focal length lens |
US9930243B2 (en) | 2016-05-02 | 2018-03-27 | Mitutoyo Corporation | Variable focal length imaging system |
US9736355B1 (en) | 2016-05-03 | 2017-08-15 | Mitutoyo Corporation | Phase difference calibration in a variable focal length lens system |
US9961253B2 (en) * | 2016-05-03 | 2018-05-01 | Mitutoyo Corporation | Autofocus system for a high speed periodically modulated variable focal length lens |
US10151962B2 (en) | 2016-09-29 | 2018-12-11 | Mitutoyo Corporation | Variable focal length lens system with focus monitoring and control |
US10142550B2 (en) | 2016-11-15 | 2018-11-27 | Mitutoyo Corporation | Extending a focus search range in an imaging system including a high speed variable focal length lens |
US10580234B2 (en) | 2017-01-20 | 2020-03-03 | Adesa, Inc. | Vehicle documentation system |
KR102377250B1 (ko) * | 2017-08-24 | 2022-03-22 | 래디언트 비전 시스템즈, 엘엘씨 | 분수 픽셀들을 사용하여 전자 시각 디스플레이들을 측정하기 위한 방법들 및 시스템들 |
US10776983B2 (en) | 2018-02-27 | 2020-09-15 | Nvidia Corporation | Analysis of point cloud data using depth and texture maps |
JP6977634B2 (ja) * | 2018-03-13 | 2021-12-08 | オムロン株式会社 | 外観検査装置、外観検査方法及びプログラム |
CN109194867A (zh) * | 2018-08-29 | 2019-01-11 | 广州智摄宝摄影科技有限公司 | 一种智能拍摄控制方法及智能拍摄控制系统 |
CN109254382B (zh) * | 2018-10-12 | 2021-11-26 | 南通大学 | 基于机器视觉的螺纹检测自动对焦方法 |
US11125967B2 (en) | 2018-12-26 | 2021-09-21 | Mitutoyo Corporation | System and method for calibrating variable focal length lens system using calibration object with planar tilted pattern surface |
US10520301B1 (en) * | 2018-12-31 | 2019-12-31 | Mitutoyo Corporation | Method for measuring Z height values of a workpiece surface with a machine vision inspection system |
DE102019102231A1 (de) * | 2019-01-29 | 2020-08-13 | Senswork Gmbh | Vorrichtung zur Erfassung einer dreidimensionalen Struktur |
CN110009642B (zh) * | 2019-03-14 | 2021-03-26 | 华中科技大学 | 基于白光干涉测量的三维图像噪声区域重建方法及系统 |
US10880468B1 (en) | 2019-12-19 | 2020-12-29 | Mitutoyo Corporation | Metrology system with transparent workpiece surface mode |
US11499817B2 (en) * | 2020-05-29 | 2022-11-15 | Mitutoyo Corporation | Coordinate measuring machine with vision probe for performing points-from-focus type measurement operations |
US11631196B2 (en) * | 2020-07-31 | 2023-04-18 | Zebra Technologies Corporation | Systems and methods to optimize imaging settings for a machine vision job |
US11328409B2 (en) * | 2020-09-30 | 2022-05-10 | Mitutoyo Corporation | System and method utilizing multi-point autofocus to align an optical axis of an optical assembly portion to be normal to a workpiece surface |
US11587246B2 (en) | 2020-10-30 | 2023-02-21 | Mitutoyo Corporation | Metrology system with projected pattern for points-from-focus type processes |
US11486694B2 (en) | 2020-12-18 | 2022-11-01 | Mitutoyo Corporation | Chromatic range sensor system for measuring workpiece thickness |
US11714051B2 (en) | 2021-11-30 | 2023-08-01 | Mitutoyo Corporation | Metrology system configured to measure apertures of workpieces |
EP4227636B1 (de) * | 2022-02-11 | 2024-04-17 | Carl Zeiss Industrielle Messtechnik GmbH | Bestimmung von tiefenwerten eines oberflächenbereichs eines werkstücks |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1782661A (zh) * | 2004-10-29 | 2006-06-07 | 株式会社米姿托约 | 在视觉系统中用于自动恢复视频工具的系统和方法 |
CN101477229A (zh) * | 2008-10-08 | 2009-07-08 | 中南大学 | 阵列波导对准封装中机器视觉的照明方法及平行光源装置 |
CN101840164A (zh) * | 2010-05-13 | 2010-09-22 | 北京理工大学 | 一种光刻机投影物镜波像差在线检测装置及方法 |
CN102019765A (zh) * | 2009-09-11 | 2011-04-20 | 株式会社Lstech | 导光板用图像形成装置 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5790710A (en) | 1991-07-12 | 1998-08-04 | Jeffrey H. Price | Autofocus system for scanning microscopy |
US5325449A (en) | 1992-05-15 | 1994-06-28 | David Sarnoff Research Center, Inc. | Method for fusing images and apparatus therefor |
JP3296513B2 (ja) * | 1993-04-09 | 2002-07-02 | 株式会社ミツトヨ | 微小径測定装置 |
US5828793A (en) | 1996-05-06 | 1998-10-27 | Massachusetts Institute Of Technology | Method and apparatus for producing digital images having extended dynamic ranges |
US6542180B1 (en) | 2000-01-07 | 2003-04-01 | Mitutoyo Corporation | Systems and methods for adjusting lighting of a part based on a plurality of selected regions of an image of the part |
JP4477782B2 (ja) * | 2000-01-18 | 2010-06-09 | 株式会社ミツトヨ | 被測定物のイメージにおける複数選択領域該当箇所の照明調整装置及び方法 |
US6627863B2 (en) | 2000-12-15 | 2003-09-30 | Mitutoyo Corporation | System and methods to determine the settings of multiple light sources in a vision system |
SE518050C2 (sv) | 2000-12-22 | 2002-08-20 | Afsenius Sven Aake | Kamera som kombinerar skarpt fokuserade delar från olika exponeringar till en slutbild |
JP2003014433A (ja) | 2001-07-04 | 2003-01-15 | Nikon Corp | 形状測定装置、形状測定装置の制御装置、及び形状測定装置の制御プログラム |
US7324682B2 (en) * | 2004-03-25 | 2008-01-29 | Mitutoyo Corporation | System and method for excluding extraneous features from inspection operations performed by a machine vision inspection system |
JP2006017613A (ja) | 2004-07-02 | 2006-01-19 | Mitsutoyo Corp | 干渉画像測定装置 |
JP4480492B2 (ja) * | 2004-07-06 | 2010-06-16 | 株式会社キーエンス | 拡大観察装置、画像ファイル生成装置、画像ファイル生成プログラム、3次元画像表示プログラム及びコンピュータで読み取り可能な記録媒体 |
US7627162B2 (en) * | 2005-01-31 | 2009-12-01 | Mitutoyo Corporation | Enhanced video metrology tool |
US7653298B2 (en) | 2005-03-03 | 2010-01-26 | Fujifilm Corporation | Image capturing apparatus, image capturing method, image capturing program, image recording output system and image recording output method |
US7570795B2 (en) * | 2006-07-18 | 2009-08-04 | Mitutoyo Corporation | Multi-region autofocus tool and mode |
US8830340B2 (en) | 2006-09-08 | 2014-09-09 | Sri International | System and method for high performance image processing |
JP2009265112A (ja) * | 2008-04-02 | 2009-11-12 | Casio Hitachi Mobile Communications Co Ltd | 撮像装置及びプログラム |
US8111938B2 (en) | 2008-12-23 | 2012-02-07 | Mitutoyo Corporation | System and method for fast approximate focus |
US8111905B2 (en) * | 2009-10-29 | 2012-02-07 | Mitutoyo Corporation | Autofocus video tool and method for precise dimensional inspection |
US8581162B2 (en) * | 2009-12-08 | 2013-11-12 | Mitutoyo Corporation | Weighting surface fit points based on focus peak uncertainty |
JP2011153905A (ja) * | 2010-01-27 | 2011-08-11 | Mitsutoyo Corp | マシンビジョン検査システム用の光学収差補正 |
-
2012
- 2012-12-21 JP JP2014548996A patent/JP6101706B2/ja active Active
- 2012-12-21 DE DE112012005389.3T patent/DE112012005389T5/de active Pending
- 2012-12-21 US US13/725,992 patent/US9060117B2/en active Active
- 2012-12-21 CN CN201280070653.6A patent/CN104137147B/zh active Active
- 2012-12-21 WO PCT/US2012/071522 patent/WO2013096929A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1782661A (zh) * | 2004-10-29 | 2006-06-07 | 株式会社米姿托约 | 在视觉系统中用于自动恢复视频工具的系统和方法 |
CN101477229A (zh) * | 2008-10-08 | 2009-07-08 | 中南大学 | 阵列波导对准封装中机器视觉的照明方法及平行光源装置 |
CN102019765A (zh) * | 2009-09-11 | 2011-04-20 | 株式会社Lstech | 导光板用图像形成装置 |
CN101840164A (zh) * | 2010-05-13 | 2010-09-22 | 北京理工大学 | 一种光刻机投影物镜波像差在线检测装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2013096929A1 (en) | 2013-06-27 |
DE112012005389T5 (de) | 2014-09-11 |
JP6101706B2 (ja) | 2017-03-22 |
CN104137147A (zh) | 2014-11-05 |
US9060117B2 (en) | 2015-06-16 |
JP2015507262A (ja) | 2015-03-05 |
US20130162807A1 (en) | 2013-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104137147B (zh) | 机器视觉系统中的使用多个光设置的对焦点操作 | |
US11869139B2 (en) | System and method for three-dimensional scanning and for capturing a bidirectional reflectance distribution function | |
JP4945642B2 (ja) | 3d画像の色補正の方法及びそのシステム | |
JP6493395B2 (ja) | 画像処理装置と画像処理方法 | |
US10482621B2 (en) | System and method for improved scoring of 3D poses and spurious point removal in 3D image data | |
US8581162B2 (en) | Weighting surface fit points based on focus peak uncertainty | |
CN103175469B (zh) | 增强型边缘聚焦工具及利用该工具的聚焦方法 | |
US8350850B2 (en) | Using photo collections for three dimensional modeling | |
Meilland et al. | 3d high dynamic range dense visual slam and its application to real-time object re-lighting | |
CN101762268B (zh) | 用于快速近似聚焦的系统和方法 | |
WO2011162388A4 (ja) | 点群データ処理装置、点群データ処理システム、点群データ処理方法、および点群データ処理プログラム | |
US20140294284A1 (en) | Enhanced edge detection tool for edges of irregular surfaces | |
US20130027538A1 (en) | Multi-region focus navigation interface | |
JP2012132910A (ja) | 構造化照明を用いるエッジ検出 | |
JP6614905B2 (ja) | 三次元計測装置およびその制御方法 | |
JPWO2020165976A1 (ja) | シミュレーション装置およびシミュレーション方法 | |
US10880468B1 (en) | Metrology system with transparent workpiece surface mode | |
Blais et al. | Recent developments in 3D multi-modal laser imaging applied to cultural heritage | |
CN110506191A (zh) | 监测3d扫描仪的扫描体积 | |
JP4784270B2 (ja) | 三次元計測方法、計測装置、復元方法および復元装置 | |
Eilertsen et al. | A versatile material reflectance measurement system for use in production | |
CN116940827A (zh) | 用于确定物体表面的反射行为的计算机实施的方法、计算机程序、数据处理系统和设备以及其上存储有用于确定物体表面的反射行为的指令的存储介质 | |
Gladines | Advancements in shape-from-focus based profilometry for additive manufacturing metrology | |
CN117671113A (zh) | 材质表面反射参数的估计方法、装置、设备及存储介质 | |
Rushmeier | Capturing appearance |
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 |