CN113159094A - 利用视觉系统对图像中的探针进行有效评分的方法及系统 - Google Patents

利用视觉系统对图像中的探针进行有效评分的方法及系统 Download PDF

Info

Publication number
CN113159094A
CN113159094A CN202110108872.XA CN202110108872A CN113159094A CN 113159094 A CN113159094 A CN 113159094A CN 202110108872 A CN202110108872 A CN 202110108872A CN 113159094 A CN113159094 A CN 113159094A
Authority
CN
China
Prior art keywords
probe
gradient
image
training
magnitude
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110108872.XA
Other languages
English (en)
Inventor
N·R·博根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cognex Corp
Original Assignee
Cognex Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cognex Corp filed Critical Cognex Corp
Publication of CN113159094A publication Critical patent/CN113159094A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • G06T7/344Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/752Contour matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/754Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries involving a deformation of the sample pattern or of the reference pattern; Elastic matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/757Matching configurations of points or features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/772Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

提供了对在分析运行时图像的一个或多个候选姿态中使用的训练探针进行评分的系统及方法。将基于训练模型具有位置和梯度方向的一组探针应用至基于运行时图像的一个或多个候选姿态。所应用的探针各自分别包括相对于其梯度方向的离散的位置偏移集。计算每一探针的匹配得分,包括分别相对于每一探针的其中一个偏移估计每一探针的最佳匹配位置,以及生成由每一探针分别在所估计的最佳匹配位置处的各自探针得分所构成的集合。

Description

利用视觉系统对图像中的探针进行有效评分的方法及系统
本申请是申请日为2017年2月13日,申请号为201710076215.5,标题为“利用视觉系统对图像中的探针进行有效评分的方法及系统”的发明申请的分案申请。
技术领域
本发明涉及机器视觉系统,更具体地,涉及用于相对运行时图像的候选姿态对准训练图像的系统及方法。
背景技术
机器视觉系统在本文也称为“视觉系统”,其用于在制造环境中执行多种任务。一般来说,视觉系统由一个或多个具有图像传感器(或“成像器”)的相机组成,该图像传感器获取场景的灰度、色彩和/或三维(3D)范围/深度/高度图像,该场景包含制造中的对象。能够对对象的图像进行分析,以提供数据/信息给用户以及相关的制造和/或其它工艺。图像产生的数据通常由一个或多个视觉系统处理器(其能够是专用的)中的视觉系统、或者在通用计算机(例如,PC、笔记本、平板电脑或智能手机)内实例化的一个或多个软件应用程序的一部分来分析和处理。
常见的视觉系统任务包括对准和检查。在对准任务中,视觉系统工具,如可从内蒂克郡(Natick)、马尔迈松市(MA)的康耐视公司购买的公知的
Figure BDA0002918543170000011
系统,将场景图像中的特征与训练的(使用实际或合成模型)图案进行比较,并且确定成像场景中的图案的存在/不存在以及姿态。该信息能够用在后续的检查(或其它的)操作中,以搜索缺陷和/或执行其它操作,如部分拒绝。
此类视觉系统任务能够通过对运行时的二维(2D)(例如灰度)图像中的训练模型的给定姿态计算有意义的匹配分数来执行对准。该分数能够用于,例如,确定哪个候选姿态是模型的真实例,以选择最佳可用候选,或用于其他分类和/或决定目的。
当所获取的运行时图像包括偏离预期模型图像的变形或其他变化时,计算分数并确定对准通常是具有挑战性的。此类变形可能是因为对象表面的小缺陷、或者可能由光学问题所导致-如视角的变化、不均匀照明、视场的部分遮挡、阴影等。为了有效地对姿势进行评分,应该在该过程中考虑一些变形。同样,可能存在视觉系统相机-透镜失真(可能是非线性的),并且可能是难以解决并且需要高处理开销。
用于将训练模型与运行时的图形对准的常用技术包括使用探针,探针通常包括一系列位置,这些位置对应于模型上定义梯度的点。相对于运行时图像中的候选姿态定位探针,并且对探针评分以确定候选姿态与探针所定义的预期模型特征相匹配的程度。
在存在变形的情况下执行候选姿态的探针匹配的现有技术涉及从运行时图像中提取“特征片段(featurelet)”并且尝试匹配特征片段。它包括从图像中提取各个边缘过渡的子像素位置。每一子像素位置大致对应长度为一个像素的边界区段。一旦提取了这些特征片段,围绕每个探针的邻域搜索可以确定是否存在潜在的匹配特征,并且如果发生匹配,则在分数中给出信用分。然而,这种方法存在两个关键的缺陷。首先,其需要硬对比度阈值来确定什么是以及不是被称为特征的足够强的梯度变化。当图像特征接近该硬阈值时,提取的行为可能不稳定。其次,提取特征片段在计算上是昂贵的,因为它需要确定每个位置处的梯度、计算梯度方向的角度(只相对于它们的x和y分量)、以及执行非峰值抑制从而仅留下具有局部最强梯度。因此,该方法不如所期望的那样快速和有效。
匹配训练模型的另一现有技术是对“平滑的”运行时图像评分。它包括使图像平滑化(例如通过应用高斯滤波器)和(可选地)下采样图像。然后(例如)在变换的探针位置(如果适当,正确地映射到下采样坐标)对图像进行评分。这隐含地容许某些局部变形,因为附近的特征已经被模糊,使得它们与探针位置重叠。同样,这种方法存在两个关键的缺陷。首先,平滑化破坏了信息,因此可消除真实的匹配特征,从而导致得分低于期望值。其次,平滑化可创建具有强梯度的一个或多个新位置,并且因此可创建假匹配特征,从而导致得分高于期望值。
发明内容
本发明通过提供一种对在将训练模型图像与运行时图像的候选姿态对准中使用的探针进行评分的方法及系统来克服现有技术的缺点,该方法及系统允许非姿态变换的某些局部变形,但是避免了模糊和/或下采样运行时图像数据或对运行时图像执行过多的计算上昂贵的操作。适应这种变形不会显着降低得分。有利地,可以快速计算得分,并且通常不需要对所获取的图像执行任何显式的运行时特征提取。
在说明性实施例中,提供了对在分析运行时图像的一个或多个候选姿态中使用的训练探针进行评分的系统及方法。将基于训练模型、产生于训练阶段期间的具有位置和梯度方向的一组探针应用至基于运行时图像的一个或多个候选姿态。所应用的探针各自分别包括相对于其梯度方向的离散的位置偏移集;计算每一探针的匹配得分,包括分别相对于每一探针的其中一个偏移估计每一探针的最佳匹配位置,以及生成由每一探针分别在所估计的最佳匹配位置处的各自探针得分所构成的集合。
说明性地,其中所述探针集在训练步骤中生成有表示训练模型的位置和方向。可生成总分,所述总分为所述各自探针得分的加权求和或者乘积,所述总分的计算或(a)与生成探针得分同时操作或(b)在生成一些或全部探针得分之后操作。可选择模型和运行时图像之间的最佳对准匹配。说明性地,在应用步骤之前,相对于每一候选姿态所述探针集预寄存所述探针集。在应用步骤之前,计算应用每一探针的每一位置处的梯度。还可计算每一位置的梯度向量,在每一位置处,通过以下之一应用每一探针:(a)确定包含该位置的梯度场像素,并且使用对应于该梯度场像素的梯度矢量;(b)相对于该位置执行相邻梯度场值的子像素内插;(c)确定位于最接近该位置的图像像素集,并且应用X内核和Y内核来计算全像素梯度;或(d)确定该位置周围的全像素梯度的邻域的X梯度和Y梯度,以及相对该位置执行相邻梯度场值的子像素内插。每一探针的方向向量和每一探针的梯度方向向量中的至少一个的大小可被归一化至预定值(例如,1.0)。说明性地,归一化包括以下之一:(a)将所述方向向量的大小归一化为预定大小;或(b)将所述方向向量的大小归一化为作为其原始大小的预定函数的大小。所述系统和方法还可包括,在训练阶段期间归一化每一探针的方向矢量的大小。说明性地,所述运行时图像上应用的探针的位置由以下确定:(a)将每一探针的方向向量归一化至大小为1.0,以及(b)将偏移位置计算为归一化探针方向向量的预定倍数。在实施例中,所述系统和方法还可包括计算朝与每一方向向量垂直的方向上的偏移。此外,计算得分可包括在每一探针的相应位置处执行每一探针的方向和运行时图像的梯度向量的点积。在实施例中,基于归一化函数对所述探针的一个或多个向量的大小进行归一化。
附图说明
下面的发明描述参考附图,其中:
图1为根据说明性实施例显示获取示例性对象的图像的视觉系统图,该示例性对象的候选姿态使用探针与训练模型对准;
图2为训练过程的流程图,其中训练探针从模型图像轮廓/特征中生成;
图3为示例性模型图像轮廓的显示图,该显示图示出了与其相关的训练探针;
图4为多个训练探针的显示图,该显示图示出了相对于示例性模型轮廓梯度的探针中心位置;
图5为包围模型图像梯度的训练探针集的显示图;
图6是用于将训练探针应用于运行时候选姿态并对探针与运行时候选姿态的匹配评分的过程流程图;
图7是与训练探针集对准的带变形的示例性运行时图像的显示图;
图8是示出用于相对于运行时轮廓梯度估计最佳位置的以预定增量的偏移集的示例性探针的示意图;以及
图9是示出从与示例性运行时轮廓梯度匹配过渡到弱匹配再到不匹配的多个探针的显示图。
具体实施方式
I.系统概述
图1示出了机器视觉系统100(也简称为“视觉系统100”),其用于检查和/或分析对象表面上的特征,该对象在视觉系统相机组件120的视场(FOV)内成像。相机组件120能够是任何可接受的部件设置并且通常包括镜头组件122以及容纳图像传感器(或“成像器”)126的相机主体124,成像器126基于任何可接受的成像技术,如CCD或CMOS。成像器126能够设置为用于获取两个维度(例如,沿着x和y轴)的图像,该图像使用能够适用于以灰度或颜色感测场景的图像像素阵列。相机主体124能够容纳各种图像处理部件,这些部件构成操作相关视觉过程的视觉处理器130。视觉处理器130对所获取的场景图像进行操作并且能够利用视觉系统工具132和过程(处理器)132来从所获取的图像数据134中提取信息。该信息能够关于感兴趣特征以及出现在图像中的其它项-例如,视觉系统工具,如可从内蒂克郡(Natick)、马尔迈松市(MA)的康耐视公司购买的公知的
Figure BDA0002918543170000041
系统,能够用于分析图像中的特征并且提供关于相对姿态、对准以及其它细节(例如,边缘、斑点等)的信息。同时能够将某些或者全部视觉系统过程在相机组件120的主体124内实例化。可明确设想的是,某些或者全部过程能够通过互连的(有线或无线)计算装置/处理器来执行,如通过专用处理器或通用计算机(例如,服务器、PC、笔记本、智能手机、平板电脑等)140,其具有合适的用户接口(例如,键盘142、鼠标144以及显示器/触摸屏146)。互连的计算装置/处理器140能够使用经处理的图像数据134来通过下游的处理器或装置执行进一步的利用任务。例如,当视觉系统执行检查任务时,该信息能够用于提供质量控制信息给数据库或者拒绝线上的缺陷部分。通过读取对象上的标签和/或ID代码,该信息还能够用在(例如)物流应用中。还能够使用图像数据及其相关信息进行各种其它利用任务。
在说明性实施例中,视觉过程和处理器130包括多个功能块和/或模块。这些功能块和/或模块包括训练过程(处理器)152,其处理模型特征数据的训练,以用于后续运行时过程中,在运行时过程中,分析对象特征的候选姿态以相对于模型特征进行对准。如下文进一步所述,通过训练过程(处理器)152生成模型数据154。该模型数据包括模型/训练探针。这些探针表征各个位置处的模型特征的梯度。值得注意的是,训练或模型图像数据可以基于实际训练对象表面所获取的图像和/或合成的图像数据。也就是说,训练图像或模型可以通过在(例如)CAD模型、合成方形等中提供的描述来指定。因此,术语“模型”应当广义地理解为包括通常不依赖于实际获取的图像像素值的数据集。
视觉系统过程(处理器)130还包括运行时过程(处理器)154,其在运行时操作期间执行与对象图像的获取和处理相关的各种任务。这样的任务可包括使用视觉系统工具(132)寄存图像中的特征、执行特征的可选平滑化和梯度分析、识别边缘和其他特征以及将运行时分析结果传输到数据处理装置/过程(处理器)。这些过程允许运行时图像中的感兴趣特征的各种候选姿态被识别以用于后续对准操作。根据说明性实施例,这种运行时操作包括使用对准过程(处理器)156将对象和对象特征的候选姿态与模型对准。如下文所述,基于每一探针的分数,对准过程(处理器)将探针与候选姿态中的运行时图像特征/轮廓的梯度匹配。更具体地,在给定图像中,为训练模型的给定候选姿态计算分数。这允许该匹配适应在轮廓中(相对于模型)出现一定程度的局部变形,该变形超出了姿态所指定的。
II.训练模型探针
参考图2,其示出了训练模型特征的过程200,该模型特征由一个或多个模型轮廓组成。通过本领域技术人员应当清楚的几种技术中的任何一种来确定模型轮廓(或轮廓组)。每个轮廓可定义一螺旋性(handedness),其指示跨该轮廓的梯度方向,或者可不定义,在这种情况下可忽略梯度的极性。
在步骤210中,过程210提供了包括一个或多个轮廓的模型图像。如上所述,这些可基于所获取的模型对象的实际图像(其表示运行时对象的期望版本)来提供,或者通过来自(例如)对象的CAD表示的合成数据来提供。另外,可修改实际图像以生成期望的一个或多个模型轮廓。
如在步骤220中所述,模型轮廓由离散的样本(称为探针)集表示,这些探针指向梯度的方向(垂直于轮廓)。对于灰度模型,过程200通常通过检查梯度及其连通性来提取轮廓,然后选择离散的探针集来表示该轮廓。探针集的生成能够以通常本领域技术人员清楚的方式来完成。可以适当地采用附加技术,例如探针放置和平衡。此类技术,以及关于探针的更一般的背景,在Simon Barker的题为“PROBE PLACEMENT FOR IMAGE PROCESSING”的共同转让的美国专利申请序列号14/603,969中提供,其教导通过引用并入本文作为有用的背景信息。参考图3,其中示出了椭圆形对象310的示例性显示300。对象边缘处的对比度定义了梯度。也就是说,各个像素312、314和316从暗转变为亮。因此,由箭头所表示的一系列探针320定义了梯度方向。探针具有向量特征,因为其长度定义了梯度的大小。同样,每个探针320可定义一中心位置322(探针的实际位置),中心位置322大致落在对象310的指定边缘上。沿着示例性轮廓400的探针320在具有相关位置(圆圈322)的图4中更详细地示出。如图5所示,形状500的完整模型可由训练探针阵列来定义,训练探针阵列包围该形状的边界510,每一探针由一箭头表示,(在该示例中)该箭头指向外以表示梯度方向。
进一步参考过程200(图2),可选地,将这些探针归一化(步骤230),使得它们的最大长度(大小)为预设值,如1.0。在本示例性实施例中,所有探针的大小介于0和1之间。然后,将该归一化的探针集存储或以其他方式提供给过程的运行时阶段,以用于将候选姿态与模型匹配(步骤240)。
III.运行时操作
参考图6的运行时过程600,视觉系统(100)获取运行时的对象图像,或者图像数据以另外的方式(例如从存储器)提供给视觉系统、过程(处理器)130(在步骤610中)。说明性地,图像为2D阵列,其元素可以表示灰度、色彩强度、深度信息等。在步骤620中,视觉系统过程(处理器)130定位感兴趣区域-例如包含对比特征、轮廓和/或形状的图像部分。可选地,在步骤630中,视觉系统过程(处理器)还能从该图像中生成完全填充的“梯度图像”。对于2D阵列中的每一元素,梯度图像指定了朝x方向和y方向的导数。该阵列可与图像阵列相同,或者由于用于计算梯度的内核可偏移一小部分像素(例如一半像素)。或者,梯度图像阵列可定义相对于所获取的图像阵列的任意关系-例如,如果抽取作为梯度操作的一部分来执行。
值得注意的是,在各个实施例中,成像器可适用于获取3D图像。本文描述的原理可以扩展为以本领域技术人员应当清楚的方式适应此类数据。
在步骤640中,进行姿态变换。姿态变换指定图像中从探针的训练姿态到探针的候选姿态的映射。该姿态可以简单到只是x和y偏移,或者可选地,可以包括一些或所有仿射自由度。或者,姿态变换可定义任意复杂度的非线性映射。
说明性地,视觉系统过程(处理器)能够可以在设置或运行时期间请求用户(例如,经由用户界面)指定(或系统可以自动指定)在模型和运行时图像/轮廓之间允许的变形量。该变形能够以像素单位或另一适当的度量来指定。更具体地,用户指定仍被认为是良好匹配的局部变形量。在一实施例中,该值可以是整数,而在另一实施例中,该值可以是浮点值。说明性地,1.0的指定容许变形等于一个像素的线性尺寸。用户可以通过先前构建的校准关系将物理测量单位(例如,毫米、微米等)转换为像素单位。
如上所述,进行每一候选姿态的变换。通过变换对训练(模型)探针进行映射,并且对于每一探针,映射的位置构建有方向。图7示出了运行时对象图像710的显示710,运行时对象图像710包括相对于模型的一定程度的变形,该模型由模型探针720集所定义。圆圈区域730和740表示由于变形而与运行时轮廓边缘750显著未对准(分别向外和向内)的探针。该未对准通过通过如现在描述的评分来解决。
在说明性实施例中,为了对变换评分,首先对每一探针单独评分,接着对分数求和。对于每一探针,系统过程尝试找到(估计)图像中的匹配梯度。该过程还尝试找到匹配的“附近”梯度,以便适应候选和模型之间的小程度的固有变形。一般来说,该过程尝试找到沿着探针梯度方向的潜在匹配。因此,预期另一探针在沿着边缘的方向(垂直于梯度方向)上驻留在主探针的每一侧上。同样,该过程不会给短于预期的部分满分。所得到的技术有效地估计待测试的探针位置,特别是由于主探针(向量)方向是对轮廓上的特定位置最期望测试的方向,并且探针的长度已经被归一化为1.0。
根据步骤650(图6),该过程可以将探针方向的倍数(增量式偏移)添加到已变换的位置,以产生排成一行的一组测试位置。作为示例,如图8所示,示例性探针800定义了由箭头810表示的方向。探针800的已变换的位置通过圆圈820来识别。在该示例中,用户定义(归一化的)的容许变形被设置为2。因此,除了中心位置(圆圈820),其定义了用于在运行时图像确定梯度的测试位置,设置了四个附加的测试位置830、840、850以及860,每个位置具有1个单位的增量式偏移。在中心位置820的相对侧(830、840在一侧,而850、860在相对侧)的每一侧上。这些偏移位置830、840、850和860特别地通过将加上探针方向(黑色向量)的倍数(具体地,为-2、-1、0(位置820)、1和2)来计算。
考虑到效率,并且因为双线性内插空间的峰值通常发生在采样位置处,所以该过程确定每个采样位置落入其中的全像素梯度区间。这可能导致对相同位置测试两次,但是盲目测试比确定相同位置是否经受多次测试更有效。说明性地,该过程寄存了测试位置,其具有(归一化的)探针方向和原始梯度大小的向量(在测试位置处)的最大点积。
在进一步的实施例中,值得注意的是,探针位置可选自(例如)基于梯度方向的预设位置集。作为非限制性示例,系统选取四组偏移,其表示以0、45、90或135度中一个滑动探针。对于45度,例如,偏移可以是归一化值(-1,-1)、(0,0)、以及(1,1)。为了选择合适的方向,系统可选取最接近经映射的探针梯度的实际角度的预计算角度。
在过程600(图6)的步骤660中,然后对每个探针的偏移位置进行最终评分。对于每个探针的最终分数,系统对所选梯度大小向量进行归一化。通常,归一化函数确保探针长度最大化到给定值-例如1.0。
再次参考图7,其示出匹配到运行时图像710的训练探针720,圆圈区域730和740中探针表示非常低的分数,由于它们基本偏移运行时图像梯度。这些区域被认为是明显的不匹配。同样,相邻区域770定义低于阈值的低分,并且被认为是不匹配。过渡区域760是较小的匹配,因为梯度很弱(即使在测试的最佳位置偏移处),或者因为角度匹配低于理想。在运行时梯度处或附近(例如,区域780)的其余探针通常表示探针得分接近1,其定义非常强的匹配。值得注意的是,靠近图像顶部以及在图像稍左的一些探针不落在任何梯度上,但由于它们接近匹配的梯度,所以仍然标记为绿色。值得注意的是,即使是允许一些变形时,位置离匹配特征太远的探针得分还是接近0。否则,系统不能有效地区分匹配和不匹配模式。图9示出了轮廓900的一部分,其中基于与运行时梯度的接近度,探针从强匹配(区域910)过渡到弱匹配(区域920),再到不匹配(区域930)。
再次参考图6的运行时过程600,在已经对探针评分后,在步骤670中,系统接着计算所有此类探针得分的总和。可对最终得分进行归一化。也就是,以这种方式计算的得分的可能的最大值等于探针数,并且通过将该总和除以探针数,将该得分归一化为0-1的范围。可为每个适当的候选姿态计算这种类型的得分。超过给定阈值(判定步骤680)的得分被认为是对准姿态(步骤682),而不超过给定阈值的得分则是没有对准的(步骤684)。
IV、结论以及附加注意事项
上述系统和方法允许以计算上有效且准确(能够处理/匹配运行时图像的细节)的方式来适应在处于训练时间的模型和处于运行时的运行时对象图像的候选姿态之间存在合理程度的变形。考虑到在图像或下层对象中可能发生变形和失真,并且对所有此类可能的变换建模是不切实际的,因此本文中的对准过程(处理器)通常采用可能变换的子集-例如由x、y以及面内旋转θ来指定的刚性变换。为了准确地报告最佳候选,因此,评分过程通常对未建模的变换具有容错能力,未建模的变换通常表现为与已变换的边界存在局部偏差。所述系统和方法一般以最大的速度运行,以确保可以满足长度为几毫秒的时间预算,并且允许对可能出现在运行时图像中的许多可能候选姿态进行评分。
一般来说,前述系统和方法在训练阶段和运行时阶段实现这些目标。在训练阶段期间,选取探针集来表示该模型,其中每一探针定义一位置和一方向。在运行时阶段期间,接着计算由训练探针的变换所指定的探针的映射集。根据与已映射位置的偏移的离散集来计算或估计每一探针的最佳得分位置。这些偏移相对于映射的探针方向进行取向,并且计算每一探针的匹配得分作为该探针在其最佳匹配位置处的得分。然后计算总得分,该总得分各个探针得分的加权求和或者乘积。可选地,所述系统和方法可以在将候选姿态与训练探针对准之前,在预处理步骤中计算完全填充的梯度场。这可以通过针对测试探针的每个位置计算相应的梯度向量来实现。更具体地,确定包含该位置的梯度场像素,并且采用对应于该梯度场像素的梯度向量。或者,系统执行相邻梯度场值的子像素内插-例如通过四个相邻x梯度的双线性内插和四个相邻y梯度的双线性内插。系统还可以确定位于最接近该位置的图像像素集,并且应用X内核和Y内核来计算全像素梯度。
说明性地,还可以如上所述确定X和Y梯度,还有全像素梯度的邻域,然后可以确定如上所述的梯度值。此外,探针方向向量和/或梯度方向向量的大小(长度)能够以可独立应用于探针或梯度的方式被归一化。更具体地,可将方向向量大小归一化为预定大小(例如1.0)、或归一化为作为其原始大小的预定函数的大小。说明性地,可在训练阶段期间对所有探针方向向量的长度归一化。可通过(可选归一化的)探针方向和对应的(可选归一化的)梯度方向向量的点积来计算探针的上述得分和相应的梯度方向。说明性地,可使用向量的固定点表示用于计算效率。
在说明性实施例中,系统通过(a)将所有探针方向向量归一化为1.0的长度(例如,在训练阶段期间)、以及(b)将偏移位置计算为归一化探针方向向量的预定倍数(例如,如果允许的变形为3,则测试的偏移将为-3、-2、-1、0、1、2、3,各自乘以探针的归一化方向)。或者,系统可以使用垂直方向上的预定偏移来确定由向量(-y,x)指定的位置集,其中(x,y)是探针的归一化方向向量的分量。例如,{乘以(-y,x)的-1,0,1}与{乘以(x,y)的-3,-2,-1,0,1,2,3}的叉乘。
在各个实施例中,通过(a)除以理论最大的度量得分(即,每个探针完美匹配的得分)、或(b)通过除以训练图像中的训练姿态的得分,所述系统还可将(总)得分归一化至0-1的范围。
前述已经是本发明说明性实施例的详细描述。在不脱离本发明精神和范围的情况下,能够进行各种修改和添加。上述每一实施例中的特征可以适当地与其他所描述的实施例的特征组合,以便在相关联的新实施例中提供多种特征组合。此外,尽管前述描述了本发明的装置和方法的多个单独的实施例,但是这里描述的仅仅是对本发明原理应用的说明。例如,如本文所使用的,术语“过程”和/或“处理器”应当从广义上来理解,以包括各种基于电子硬件和/或软件的功能和组件(并且替代地,能够称为功能“模块”或“元件”)。此外,所描绘的过程或处理器可以与其他过程和/或处理器组合或分成各种子过程或处理器。此类子过程和/或子处理器能够根据本文的实施例进行各种组合。同样地,明确设想的是,能够使用电子硬件、由程序指令的非暂时性计算机可读介质构成的软件、或硬件和软件的组合来实现本文中的任何功能、过程和/或处理器。另外,如本文所使用的,如“垂直”、“水平”、“上”、“下”、“底部”、“顶部”、“侧面”、“前”、“左”、“右”等各种方向和位置术语仅被用作相对约定,而不是作为相对于固定坐标空间的绝对方向/位置,如重力的作用方向。另外,在相对于给定的测量、值或特性采用术语“基本上”或“近似”的地方,其是指在实现所需结果的正常操作范围内但包括由于固有不准确性以及系统允许的容限范围内(例如1-5%)的误差而引起的一些变化性的量。因此,该描述仅意在作为示例,而不以其他方式限制本发明的范围。

Claims (16)

1.利用视觉系统处理器对在分析运行时图像的一个或多个候选姿态中使用的训练探针进行评分的方法,包括以下步骤:
基于训练模型提供具有位置和梯度方向的探针的集合;
基于运行时图像提供一个或多个候选姿态,并且将所述探针应用到至少一个候选姿态,所应用的探针各自分别包括相对于其梯度方向的离散的位置偏移集;以及
计算每一探针的匹配得分,包括分别相对于每一探针的其中一个偏移估计每一探针的最佳匹配位置,以及由每一探针分别在所估计的最佳匹配位置处的探针得分生成各自探针得分的集合。
2.根据权利要求1所述的方法,其中在训练步骤中生成有表示训练模型的位置和方向的探针集。
3.根据权利要求1所述的方法,进一步包括计算总分,所述总分为所述各自探针得分的加权求和或者乘积,所述总分的计算或(a)与生成探针得分同时操作或(b)在生成一些或全部探针得分之后操作。
4.根据权利要求3所述的方法,进一步包括,基于所述总分,在模型和运行时图像之间选取最佳的对准匹配。
5.根据权利要求1所述的方法,进一步包括,在应用步骤之前,相对于每一候选姿态预寄存探针集。
6.根据权利要求1所述的方法,进一步包括,在应用步骤之前,计算应用每一探针的每一位置处的梯度。
7.根据权利要求6所述的方法,进一步包括计算每一位置的梯度向量,在每一位置处,通过以下之一步骤应用每一探针:
(a)确定包含该位置的梯度场像素,并且使用对应于该梯度场像素的梯度向量;
(b)相对于该位置执行相邻梯度场值的子像素内插;
(c)确定位于最接近该位置的图像像素集,并且应用X内核和Y内核来计算全像素梯度;或
(d)确定该位置周围的全像素梯度的邻域的X梯度和Y梯度,以及相对该位置执行相邻梯度场值的子像素内插。
8.根据权利要求1所述的方法,进一步包括,将每一探针的方向向量和每一探针的梯度方向向量中的至少一个的大小进行归一化。
9.根据权利要求8所述的方法,其中归一化步骤包括以下之一:
(a)将所述方向向量的大小归一化为预定大小,或
(b)将所述方向向量的大小归一化为作为其原始大小的预定函数的大小。
10.根据权利要求8所述的方法,进一步包括,在训练阶段期间将每一探针的方向向量的大小进行归一化。
11.根据权利要求8所述的方法,其中,所述运行时图像上应用的探针的位置由以下确定:
(a)将每一探针的方向向量归一化至大小为1.0,以及
(b)将偏移位置计算为归一化探针方向向量的预定倍数。
12.根据权利要求11所述的方法,进一步包括分别计算朝与每一所述方向向量垂直的方向上的偏移。
13.根据权利要求1所述的方法,其中计算步骤包括在每一探针的相应位置处执行每一探针的方向和运行时图像的梯度向量的点积。
14.根据权利要求1所述的方法,进一步包括基于归一化函数对所述探针的一个或多个向量的大小进行归一化。
15.利用视觉系统处理器对在分析运行时图像的一个或多个候选姿态中使用的训练探针进行评分的系统,包括:
评分过程,所述评分过程基于图像数据的训练模型接收具有位置和梯度方向的探针集并且基于运行时图像提供一个或多个候选姿态,以及将所述探针应用到至少一个候选姿态,所应用的探针各自分别包括相对于其梯度方向的离散的位置偏移集;以及
对准过程,所述对准过程计算每一探针的匹配得分,包括分别相对于每一探针的其中一个偏移估计每一探针的最佳匹配位置,以及由每一探针分别在所估计的最佳匹配位置处的探针得分生成独立的探针得分的集合。
16.根据权利要求15所述的系统,其中在训练步骤中生成有表示训练模型的位置和方向的探针集。
CN202110108872.XA 2016-02-12 2017-02-13 利用视觉系统对图像中的探针进行有效评分的方法及系统 Pending CN113159094A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662294430P 2016-02-12 2016-02-12
US62/294,430 2016-02-12
US15/429,336 2017-02-10
US15/429,336 US10769776B2 (en) 2016-02-12 2017-02-10 System and method for efficiently scoring probes in an image with a vision system
CN201710076215.5A CN107085728B (zh) 2016-02-12 2017-02-13 利用视觉系统对图像中的探针进行有效评分的方法及系统

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201710076215.5A Division CN107085728B (zh) 2016-02-12 2017-02-13 利用视觉系统对图像中的探针进行有效评分的方法及系统

Publications (1)

Publication Number Publication Date
CN113159094A true CN113159094A (zh) 2021-07-23

Family

ID=58668707

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110108872.XA Pending CN113159094A (zh) 2016-02-12 2017-02-13 利用视觉系统对图像中的探针进行有效评分的方法及系统
CN201710076215.5A Active CN107085728B (zh) 2016-02-12 2017-02-13 利用视觉系统对图像中的探针进行有效评分的方法及系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201710076215.5A Active CN107085728B (zh) 2016-02-12 2017-02-13 利用视觉系统对图像中的探针进行有效评分的方法及系统

Country Status (4)

Country Link
US (2) US10769776B2 (zh)
EP (1) EP3206164B1 (zh)
JP (4) JP6483168B2 (zh)
CN (2) CN113159094A (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10825199B2 (en) 2018-09-12 2020-11-03 Cognex Corporation Methods and apparatus for processing image data for machine vision
JP7182528B2 (ja) * 2018-09-12 2022-12-02 コグネックス・コーポレイション マシンビジョン用の画像データを処理するための方法及び装置
US10878299B2 (en) 2018-09-12 2020-12-29 Cognex Corporation Methods and apparatus for testing multiple fields for machine vision
US10846563B2 (en) * 2018-09-12 2020-11-24 Cognex Corporation Methods and apparatus for generating a dense field of three dimensional data for machine vision
GB2575333B (en) * 2018-12-21 2020-09-09 Imagination Tech Ltd Double-angle gradients
US11941863B2 (en) * 2021-08-04 2024-03-26 Datalogic Ip Tech S.R.L. Imaging system and method using a multi-layer model approach to provide robust object detection
CN117173389B (zh) * 2023-08-23 2024-04-05 无锡芯智光精密科技有限公司 一种基于轮廓匹配的固晶机视觉定位方法

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4581762A (en) 1984-01-19 1986-04-08 Itran Corporation Vision inspection system
US4876457A (en) 1988-10-31 1989-10-24 American Telephone And Telegraph Company Method and apparatus for differentiating a planar textured surface from a surrounding background
JPH07210687A (ja) * 1994-01-18 1995-08-11 Matsushita Electric Ind Co Ltd 形状検出装置
US5640200A (en) 1994-08-31 1997-06-17 Cognex Corporation Golden template comparison using efficient image registration
US5850466A (en) 1995-02-22 1998-12-15 Cognex Corporation Golden template comparison for rotated and/or scaled images
US5761070A (en) 1995-11-02 1998-06-02 Virginia Tech Intellectual Properties, Inc. Automatic color and grain sorting of materials
US6094508A (en) 1997-12-08 2000-07-25 Intel Corporation Perceptual thresholding for gradient-based local edge detection
US6175652B1 (en) 1997-12-31 2001-01-16 Cognex Corporation Machine vision system for analyzing features based on multiple object images
US6175644B1 (en) 1998-05-01 2001-01-16 Cognex Corporation Machine vision system for object feature analysis and validation based on multiple object images
US7016539B1 (en) * 1998-07-13 2006-03-21 Cognex Corporation Method for fast, robust, multi-dimensional pattern recognition
DE60019119T8 (de) * 2000-09-27 2006-10-12 Mvtec Software Gmbh System und Verfahren zur Objekterkennung
US7062093B2 (en) * 2000-09-27 2006-06-13 Mvtech Software Gmbh System and method for object recognition
GB0112773D0 (en) 2001-05-25 2001-07-18 Univ Manchester Object identification
US7058233B2 (en) 2001-05-30 2006-06-06 Mitutoyo Corporation Systems and methods for constructing an image having an extended depth of field
US7190832B2 (en) 2001-07-17 2007-03-13 Amnis Corporation Computational methods for the segmentation of images of objects from background in a flow imaging instrument
US7003161B2 (en) 2001-11-16 2006-02-21 Mitutoyo Corporation Systems and methods for boundary detection in images
US7162073B1 (en) 2001-11-30 2007-01-09 Cognex Technology And Investment Corporation Methods and apparatuses for detecting classifying and measuring spot defects in an image of an object
US6636298B1 (en) 2001-12-18 2003-10-21 Cognex Technology And Investment Corporation Method and apparatus for focusing an optical inspection system
US7110602B2 (en) 2002-08-21 2006-09-19 Raytheon Company System and method for detection of image edges using a polar algorithm process
US7567713B2 (en) 2006-02-08 2009-07-28 Mitutoyo Corporation Method utilizing intensity interpolation for measuring edge locations in a high precision machine vision inspection system
US8385657B2 (en) 2007-08-01 2013-02-26 Yeda Research And Development Co. Ltd. Multiscale edge detection and fiber enhancement using differences of oriented means
DE602007003849D1 (de) 2007-10-11 2010-01-28 Mvtec Software Gmbh System und Verfahren zur 3D-Objekterkennung
US8238639B2 (en) 2008-04-09 2012-08-07 Cognex Corporation Method and system for dynamic feature detection
JP5301239B2 (ja) * 2008-08-09 2013-09-25 株式会社キーエンス 画像処理におけるパターンモデルの位置決め方法、画像処理装置、画像処理プログラム及びコンピュータで読み取り可能な記録媒体
JP5253066B2 (ja) * 2008-09-24 2013-07-31 キヤノン株式会社 位置姿勢計測装置及び方法
US8515171B2 (en) 2009-01-09 2013-08-20 Rochester Institute Of Technology Methods for adaptive and progressive gradient-based multi-resolution color image segmentation and systems thereof
CN103377382A (zh) 2012-04-27 2013-10-30 通用电气公司 用于图像对准的最佳梯度寻踪
EP3869797B1 (en) 2012-08-21 2023-07-19 Adeia Imaging LLC Method for depth detection in images captured using array cameras
US20140270362A1 (en) * 2013-03-15 2014-09-18 Qualcomm Incorporated Fast edge-based object relocalization and detection using contextual filtering
JP6044705B2 (ja) * 2013-03-27 2016-12-14 株式会社ニコン 形状測定装置、構造物製造システム、形状測定方法、構造物製造方法、及び形状測定プログラム
US9135519B2 (en) * 2013-07-10 2015-09-15 Canon Kabushiki Kaisha Pattern matching method and pattern matching apparatus
US9569850B2 (en) * 2013-10-16 2017-02-14 Cognex Corporation System and method for automatically determining pose of a shape
US9995573B2 (en) 2015-01-23 2018-06-12 Cognex Corporation Probe placement for image processing
US10846563B2 (en) * 2018-09-12 2020-11-24 Cognex Corporation Methods and apparatus for generating a dense field of three dimensional data for machine vision
US10878299B2 (en) * 2018-09-12 2020-12-29 Cognex Corporation Methods and apparatus for testing multiple fields for machine vision
US10825199B2 (en) * 2018-09-12 2020-11-03 Cognex Corporation Methods and apparatus for processing image data for machine vision

Also Published As

Publication number Publication date
JP2019091493A (ja) 2019-06-13
CN107085728A (zh) 2017-08-22
US11676301B2 (en) 2023-06-13
JP6483168B2 (ja) 2019-03-13
JP7133283B2 (ja) 2022-09-08
US10769776B2 (en) 2020-09-08
US20210090230A1 (en) 2021-03-25
JP2022169723A (ja) 2022-11-09
CN107085728B (zh) 2021-02-12
JP2021168143A (ja) 2021-10-21
JP6899189B2 (ja) 2021-07-07
US20170236263A1 (en) 2017-08-17
JP2017182785A (ja) 2017-10-05
EP3206164B1 (en) 2022-05-25
EP3206164A1 (en) 2017-08-16

Similar Documents

Publication Publication Date Title
CN107085728B (zh) 利用视觉系统对图像中的探针进行有效评分的方法及系统
JP7297018B2 (ja) ビジョンシステムでラインを検出するためのシステム及び方法
Romero-Ramirez et al. Speeded up detection of squared fiducial markers
Hashemi et al. Template matching advances and applications in image analysis
JP6368709B2 (ja) 3次元身体データを生成する方法
US20150262346A1 (en) Image processing apparatus, image processing method, and image processing program
KR102649038B1 (ko) 비전 시스템으로 이미지에서 라인을 찾기 위한 시스템 및 방법
CN108596867A (zh) 一种基于orb算法的图片校正方法及系统
JP6317725B2 (ja) 取得された画像内のクラッタを決定するためのシステム及び方法
US6993177B1 (en) Gauging based on global alignment and sub-models
Zhang et al. A new algorithm for accurate and automatic chessboard corner detection
CN110288040A (zh) 一种基于拓扑验证的图像相似评判方法及设备
JP2016031766A (ja) Cadデータとsem画像との位置合わせ
US20240135583A1 (en) System and method for efficiently scoring probes in an image with a vision system
Reji et al. Comparative analysis in satellite image registration
Du et al. Grid-based matching for full-field large-area deformation measurement
Zhu et al. Efficient stitching method of tiled scanned microelectronic images
Kakadiaris et al. Face recognition using 3D images
Petrou et al. Super-resolution in practice: the complete pipeline from image capture to super-resolved subimage creation using a novel frame selection method
Skocaj et al. Evaluation of performance of smart mobile devices in machine vision tasks
Shulman An Innovative Method for Measuring Instrument Data Acquisition using Image Processing Techniques
CN117589065A (zh) 一种针对异形轴接口尺寸的检测方法
KR20230102604A (ko) Ar 마커와 카메라를 이용한 석고본의 3차원 복원장치
Ricolfe-Viala et al. Improving accuracy and confidence interval of camera parameters estimated with a planar pattern
Nithyanandam et al. An innovative normalization process by phase correlation method of Iris images for the block size of 32∗ 32

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination