详述本发明
在描述本发明的处理和装置之前,应该清楚的是,为了试图提高清楚性,在此所作出的参照是检查确定的对象或在一个特殊的应用领域执行检查。这种参照和所附例子只是意在方便理解本发明而不会限制在此描述所述用的概念,因而在此只描述了使用系统的类型。相反,如上所述,可以应用于各种广泛的不同的领域并通常应用于对象确认或检测的问题。本发明能被用于确认诸如面孔的对象或检测诸如晶片缺陷的对象。其他的方面包括图像数据库索引,医学图像分析,监控和监视应用领域。
此外,在下述中,有时所作出的参照针对一个系统,它具有一个特殊的图像系统或图像系统部件或一个特殊的照明系统或照明系统部件或操作在特殊频率范围或温度上的灯光。当然,作为本领域技术人员来说,应该清楚的是,在此所述的概念很好地等效应用于具有任何类型图像或照明系统的检查系统(包括在一个宽范围的频率轮廓上操作的照明系统或者系统和部件提供的部件具有期望的操作或功能特性。此外,在此有时作出的参照针对于一个照明系统,具有安置在一个特殊拓扑结构中的灯。作为本领域技术人员应该清楚,使用各种灯拓扑结构能够实现本发明的原理,并且在此出现的那些内容仅作为示例而不应该构成限制。
此外,在此有时作出的参照针对于确定对象的检查,比如印刷电路板和安置在印刷电路板上的电路部件。如在此所述的,一个电路部件或更简单的一个部件,指的是诸如被安置或另外被耦合到一个印刷电路板(PCB)的一个印刷电路的一部分。对象还可以是一个有缺陷的印刷电路板。PCB可以是任何类型。
作为本领域普通技术人员应该清楚,本发明能被用于各种应用领域,并非限制于印刷电路板和部件的检查以及任何类型的对象。例如,本发明应用于这些地方,其中一个对象安置在和可能接触或靠近于另一个对象,或者其中一个对象被嵌入另一个对象,或其中它期望从一个图像中的一个后台识别一个前台对象,同样,在此所述的技术可以被用于任何类型的印刷电路板或电路板部件而不管它的功能。
因此,作为本领域普通技术人员应该清楚,在此所述的发生在“印刷电路板”上和“部件”上的处理过程能等效于发生在一个人的面容上或一个指印或一个公司标记或任何其他的图像。同样,在此所述的处理可以包括任何类型的集成电路,硬布线的或编程的以执行一个特殊任务或功能。
现在参考图1,用于执行检查印刷电路板(PCB)的一个处理系统10包括一个数据库部件12,具有其中存储的一个组合库14,它包含有关确定对象的详细信息。例如,在是一个PCB检查系统的情况下,组合库14包括有关一个集成电路形状和尺寸的详细信息,不包括任何有关该零件如何安置在一个PCB上的的信息。数据库12还包括一个检查计划库16,耦合到一个检查计划产生器18,产生用于一个特殊PCB的一个检查计划和存储在检查计划库16中检查计划的结果。
耦合到数据库12的一个图像处理系统20包括一个图像捕捉系统22,一个图像处理器24和一个图像接口单元25。例如,可以提供图像捕捉系统22作为一个或多个照相机或传感器,它捕捉被检查的一个对象的一个图像。在一个优选实施例中,照相机对应于彩色照相机。在图像被捕捉之后,在数据上有随后的处理,比如Bayer彩色恢复,白色平衡,对比增强等等…例如,图像接口单元25可以被提供成一个图形用户接口(GUI),通过它一个用户能与图像处理系统20对接。
由图像捕捉系统22捕获的图像被送到一个运行时间系统26。运行时间系统26从检查计划16确定,对于一个特殊的板类型,在一个照相机视野中检查哪个部分。运行时间系统26还确定在若干照相机视野中什么部分需要被检查(例如,如果该零件交叉横过一个照相机框界限或一部分对于一个照相机框是太大了)。
为了检查一个特殊的部分,运行时间系统26调用一个检查工具模型28。检查工具模型28包括一个封闭检测器30,一个theta估计器32,一个学习和调试系统34一个图像模型处理器36,一个结构模型处理器38一个几何模型处理器40和一个方位标记检测器42。在一个“检查模式”,一个“学习模式”,或一个“调试模式”中运行时间系统26能调用检查工具模型28。在学习和调试模式中,系统10将学习和保存关于出现部分的属性和更新或添加相应的图像的,结构的和几何的模型。运行时间系统26能经一个用户接口模型从一个用户取得输入。例如,整个一个调试处理过程中,系统的用户能经该用户接口询问问题。
当运行时间系统在检查模式中调用检查工具模型28时,一个检查处理被启动。下面结合图5将详细描述检查处理过程。充分说明整个检查处理过程中检查系统10利用多个模型。在一个实施例中,检查模型28以一个特殊的顺序利用图像模型36,结构模型38和几何模型40以执行一个检查。这样,检查系统10利用一个图像模型,一个结构模型和一个几何模型来检查对象。
以一个方式来组合三种模型类型,即使用每种模型类型的强项。图像模型36在有关的PCB上首先被应用于一个较大的区域以便确定是否在该有关区域中存在一个对象,它看起来与存储在被检查的一个对象的图像模型中图片非常类似,以确定是否被检查的该零件“相像”图像模型。这样的使用将区别于例如常规使用的图像模型,其中图像模型被用于确定是否被检查的一个对象存在于一个图像中。使用按照本发明的图像模型提供一个相当快速的技术,用于识别看起来很类似的对象。包括在图像模型中的属性可以对应于颜色,亮度等等…应该清楚,一个图像模型通常是一个固定的二进制的图案,亮度,彩色像素。通常这些象素具有一对一的相应于一个图像观看的一个对象。然而,一个图像模型也是处理的图像特征的一个固定的图案,比如梯度或纹理特性。一个图像模型还可以存在许多的不同的分辨率。一个图像模型的一个缺点是,在一个裸露的或粘贴板上的许多特性看上去与一个对象上的特性很类似。
在图像模型36被应用到被检查对象的图像之后,应用一个结构上的模型38…特别的是,应用结构模型以作出决定,是否对象真实的存在于有关区域中。如果图像模型指出,它认为该零件出现在一个特殊的位置上,结构模型查看是否指出的部分具有应该是出现在该零件上的所有结构特征。结构模型可以被用于提供对象位置的较准确的近似值。如果图像模型指出它不认为一部分相像于出现在ROI中的它的内部图像。对于看起来不同于图像模型的一部分,但具有正确的结构部件,结构模型在整个区域上查看。
图像和结构匹配步骤的输出是一个指示,1)该零件不存在或2)该零件在一个粗略位置上存在<x,y>,对于在r度上旋转的一个估计。如果该零件存在,应用一个几何模型以确定被检查的该零件或对象的精确的位置。
最后,应用一个几何模型40以确定被检查部分或对象的精确位置。几何模型充分的搜索对象的所有边缘,同时使用约束,即边缘匹配“顶层”模型说明。用几何模型作出假设该零件或对象已经知道是在一个特殊的地方,并且几何模型40确定被检查部分或对象的确切的详细位置。几何模型利用亮度,颜色等等中的强梯度来精确的定位被检查的部分或对象。应该清楚,几何模型可以使用不是强梯度的特性。例如,对于包含拐点的区域,它能分析图像,其他的几何特性,甚至图像特性,比如一个明显精确的位置的标记。这样,在检查系统10中使用多模型导致系统10具有增加的速度,少的假故障,和比现有技术的系统更高的测量分辨力。
图2-6A是一系列流程图,显示了由一个处理装置执行的处理,例如可以被提供成检查系统10(图1)的部分以检查一刷电路板(PCB)。可替换的,通过一个图像处理系统实现处理步骤,在一个处理中只简单的匹配图像而不用PCB检查。矩形单元(通过图2中的单元54表示)在此被表示成“处理方框”,和代表计算机软件指令或指令组。菱形单元(由图2中的单元50表示)在此表示“决定方框”和代表计算机软件指令,或指令组,它们影响由处理方框表示的计算机软件指令的执行。
可替换的,处理和决定方框表示通过功能等效的电路执行的步骤,比如一个数字信号处理器(DSP)电路或一个专用集成电路(ASIC)。流程图没有描述任何特殊编程语言的语法。相反,流程图示例了功能信息,本领域的一个普通技术人员需要制造电路或产生计算机软件以便执行特殊装置所要求的处理。应该注意的是,没有显示许多例行程序单元,比如循环的初始化和可变的以及暂时可变的使用。应该清楚的是,作为本领域普通技术人员来说,除非在此指明,否则在不脱离本发明的精神的情况下,描述的特殊的步骤顺序只是示例和可以被改变。
下面作为非具体电路板来描述图2-6A的流程图中的一些步骤,意味着为了完成步骤,从任何专用印刷电路板不需要信息。流程图中的其他的步骤被描述成具体电路板,意味着为了完成步骤需要有关一个或多个专用印刷电路板(或印刷电路板的特殊类型)的至少一些信息。特别的是,如果在检查一个印刷电路板的一个处理过程中执行的一个特殊的单元或步骤被说成是非具体电路板,这表示应用这些单元而不管什么电路板被建立。非具体电路板信息的例子包括该零件的尺寸,一个特殊部分的快照,默认结构模型和几何模型。具体电路板信息主要被用于训练步骤中,其中模型学习一个有关区域中粘贴上的一部分的一个实例和带有粘贴的或裸露的焊点的一个有关区域之间的区别。需要关于电路板上该零件的上下文信息的任何步骤是具体电路板。
现在回到图2,显示了PCB检查处理过程。在检查处理中,在步骤50开始处理。其中它确定是否一个组合库被板上组装。如果组合库被板上组装则处理流程到步骤52,其中一个检查计划被产生来用于一个具体的PCB。如果组合库没有被板上组装则处理流程首先到步骤54,在那里组合库被板上组装和接着到步骤52,在那里产生一个检查计划来用于一个具体的PCB。
注释组合库以便包括一个直观的分类类型。在一个特殊的PCB检查应用中,定义了十一种不同的直观的分类类型。应该理解,某些应用可能需要多于11中的直观分类类型,和其他的应用可以需要少于11中的直观分类。根据应用的需要,将选择用于任何特殊应用中的特殊的直观分类数。被分类成一个特殊的直观分类的部分具有一种公共的结构。例如,带有金属端盖的所有离散在一个有色的主体的两侧上具有两个金属端盖。因此,用30mils大小60的一个电容(称作封装类型CC0603)和用60mils大小120的一个电阻器(称作封装类型RC1206)具有相同的直观分类,即使它们是不同的尺寸和执行不同的功能。
部分程序库典型的描述该零件作为具有已知尺寸以及一个功能值的一个具体的封装类型。在这些库中,不注意零件外表如何或经可视的特征如何分组它们。另一方面,一个图像处理系统例如图像处理系统20(图1),基于它们的结构或外观期望零件的一个分组。这样,它是有用的以便用直观分类的定义注释任何零件库。
应该注意的是,如果一个库已经被板上组装(即被检查的对象上的数据已经被存储在数据库中)或能够从一个计算机数据库或其它的存储设备中被读取,可以不需要板上组装步骤,其中通过注释该库处理开始。在实际中,库中没有存储的零件这是不寻常的,并作出一个核查确定是否在库中有输入项用于电路板上的每个零件。
组合库包括信息比如:(1)零件尺寸;(2)零件名称;(3)分配的零件号;(4)厂商;(5)主体大小;(6)零件具有引线?;(7)引线大小;(7A)引线类型(8)引线距;(9)零件具有一个取向标记?;(10)取向标记出现在零件的地方。在一个实现中分类类型是11直观分类类型的其中之一:(1)与金属端盖离散的;(2)鸥型翼集成电路(ICs);(3)J-引线的ICs;(4)钽电容;(5)平面引导的(6)CAP;(7)离散阵列;(MELF;(9)SOTs;(10)二级管;和(11)球栅阵列(BGAs)。
应该理解,当需要时可以增加其它的直观分类类型。此外,在一些应用中,可以期望包括不是零件的直观分类类型的分类类型。例如,可以期望产生一组周围具体缺陷的直观分类,比如墓碑或告示牌(零件具有一侧接触该板和另一侧被提高在空中),损坏的零件,和斑点状的粘贴。组合库最好提供一个数据库,当需要时能有检查系统的各部分所访问。零件库板上组装/注释是一个非具体电路板步骤。
此外,还期望在一些应用中把快照放在库中。目前相信快照是独立的电路板。然而,少数测试已经显示在一个照明台上的一个零件看上去将比在一个黑暗台上的一个零件更明亮。
如步骤52中所示,在板上组装组合库之后,产生检查计划。通过取得具体电路板信息产生检查计划。电路板具体信息可以是一计算机辅助设计(CAD)数据的形式,挑选&放置数据,和/或PCB布局设计数据(例如Gerber数据)。检查计划描述PCB上每个部件的位置,描述零件类型和应该具有的方位。检查计划还描述在电路板上的基准和经过路线。检查计划还描述用于检查每个零件的模型。检查计划用针对每个部件类型的默认模型被初始化。
一旦产生基本的检查计划,步骤前进到步骤56,它对应于一个具体电路板学习步骤,其中在基本检查计划中的信息被增加。这种具体电路板学习处理把计划中已知的零件信息联系到它的观察的直观特性,比如几何信息。下面结合图3,3A,4和14更全面的描述该学习处理。上面的步骤50-56对应于一个安装,并在一个检查步骤之前发生的学习过程被执行。
在检查计划产生之后和完成了具体电路板学习处理,处理前进到步骤58,其中执行一个检查步骤。检查步骤是一个具体电路板步骤,并且下面结合图5,6和6A进行详细描述。在步骤58,在一个测试数据组上执行检查。通常,当我们第一次建立或训练时我们应该只期望得到三个训练电路板。第一个是裸露的,第二个是粘贴的电路板和第三个是一个放置的电路板。对于电路板上的零件的每个类型,我们希望训练模型能够检测,当零件存在和当它不存在时。通常在电路板上具有多于1个的零件示例。我们能把示例分成两组,学习和测试组。每组应该具有标记的正面的(零件存在)和负面的(零件不存在)例子。系统将在学习组上训练模型和验证它们在测试组上正适当地进行工作。 (测试和学习组具有共同的元件是可能的)。
完成了步骤58中测试数据组的检查之后,处理前进到步骤60,其中作出决定是否一个调试模式应该被启动。决定是充分的,在基于测试数据组58的检查的结果。特别的是,如果步骤58的结果表明对于所有整个PCB多数的部件模型获得好的结果,则在步骤60作出决定以直接前进到步骤62,在那里做出一个确定是否任何更多的电路板应该被检查。如果,另一方面,步骤58的结果指示对于一个或多个部件或对于一个整个PCB模型没有获得好的结果,则在步骤60作出决定以前进到步骤64,在那里另一个学习步骤被实现。该学习步骤将接受新的假阳性和假阴性,连同其他的训练数据,和修订模型。除了再训练假阳性和阴性之外,用户或系统可以改变图像模型中的快照,改变零件的尺寸以较好的适合数据,增加一个特殊类型的多个模型,改变调用模型的顺序,和改变用于确定零件存在或不存在的决定功能。
应该注意的是,用户能设置系统以便在任何时间调试模式。还应该注意的是,调试模式主要的是用检查计划中的任何模型被用于校正问题。如果作出决定进入一个调试处理则处理流程到步骤64,66的调试学习处理。如果在后台模式中用于一个部件的一个新的模型已经被学习,在检查计划中它能被替代。否则,用于一个特殊模型的学习步骤在一个不同的图像组上被重复。处理则流程到一个更新的计划步骤,其中用于一个问题部件的模型用一个“调试的”模型被替代。
有关调试处理步骤应该被跟随的决定可以发生在两个方式中。在一个方式中,检查系统本身识别检查一个特殊零件的一个问题(或者表述的不同,检查系统本身用一个特殊的模型识别一个问题-例如模型在检查一个具体零件中获得不良的结果)。在此情况下,作为调试学习处理的零件的检查系统能询问用户一系列问题比如: (1)所述零件比该种类的其他零件具有一个非常不同的外观,这是正常的变化?;和(2)系统有困难检查该零件。被损坏?
对于系统识别作为一个问题零件的那个零件,调试和随后的学习处理导致一个修订的特定模型或模型组。在产生新的模型或模型组之后,用于问题部件的检查计划被更新。
在第二方法中,系统不确认它具有校正的检查一个零件的一个问题(也就是,系统没有实现正在使用的模型正在导致不正确的检查结果)。例如,系统不确认它正在进行提供假阳性(即把一个坏零件标记成好零件,或把一个空位置标记成具有一个零件)和假阴性(即把一个好零件标记成一个坏零件,或不正确的标记零件不存在)。在此情况下,需要外部干涉(例如,到系统的一个用户或一些其它的外部因素必须确认具有识别一个零件的问题)。一旦问题被识别,系统被通知和被指令以改变模型来减少假阳性和假阴性的数量。响应于手动指令和为了减少假阳性和假阴性的数量,系统执行调试模式处理,学习和检查计划更新。整个调试和随后的学习处理过程中,例如,用户能提供图像给系统,导致假阳性和假阴性结果。
应该注意的是,调试处理在任何时间上能被实现(例如在检查一个单一的部件或电路板之后或者在检查一百个部件或电路板之后)。
处理接着前进到决定步骤,在那里做出有关是否有更多的电路板剩下被处理的决定。
根据学习步骤64的完成,检查计划被更新来用于问题部件或PCB。就是说,在学习步骤64中产生的新的模型相关于引起不良检查结果的零件或PCB。因此,下一次特殊的零件被检查时,新的模型或诸模型被用于检查处理。应该注意,所有的检查计划是具体电路板。
处理再次前进到步骤62,其中作出决定以检查更多的PCB。如果有更多的PCB保持用于处理,则处理前进到步骤68,在那里下一个电路板被检查。
在下一个电路板被检查之后,处理前进到步骤70,其中进行一个可选的后台模型建立处理步骤。这样,整个正规检查过程中,一个后台模型学习步骤能被执行。
执行后台模型训练的步骤与训练的步骤是相同的。后台模型训练能通过许多电路板处理数据,并且由此包括大量的数据,该数据与在步骤56的初始训练过程中使用的大量数据相比要相对大一些。
如上所述,如果产生的决定不是去调试,那么处理直接进入到决定步骤,这里关于是否有更多的电路板继续被处理的决定被产生。
因此,如果在步骤62中作出的决定是没有更多的电路板继续被处理,那么处理被终止。如果另一方面,更多的电路板继续被处理,则开始一个循环,在该循环中下一个被检查的电路板被鉴别和检查,并且构造后台模型和调试的这样一个选择步骤被重复。值的注意的是,在一些实施例中,它可以更好的而不用总是执行后台模型训练或调试。应当注意到如果与该平面有关的电路板被重新设计,局部平面可以被存储并且在后面使用。
图3、3A和图4描述了训练过程的各局部。在电路板具体图像上该模型需要被训练。由于一局部类型,模型需要看到这些实例:(1)被严格剪切的没有任何后台的局部的图像被旋转到正确的方位,(2)被粘贴的局部有它的后台(公知的“放置”图像),(3)粘贴板的实例和没有局部的后台(公知的“粘贴”图像),(4)裸露板的实例和没有局部的后台(公知的“裸露”图像)。因此,在一个具体的实施例中,去训练局部模型需要的最大数量的实例图像是四个。例如,在这些应用中,(例如,一些印刷电路板检查应用程序,裸露电路板已经被发现是不重要的。如上所述的更好的图像(2)-(4)具有相同的参考标记(例如,由PCB上相同位置的相同局部),并且图像(1)具有不同的参考标记(例如,与实施例(2)-(4)相比,在PCB上的不同位置置的相同局部)。通过非电路板具体技术(例如,在没有电路板的情况下它可以被单独成像)图像(1)也可以独立的被捕捉。
在学习如何去检查一个局部时,存在很多可变性。这些包括可变的局部色彩/亮度,局部尺寸变化,无均匀亮度,或多或少被氧化的金属,不同类型的粘贴,以及各种裸露电路板特征。该裸露电路板的特征包括在同一电路板中的不同颜色,各种厚度和涂复层,通道,轨迹,和丝网印刷。通过强迫该裸露,粘贴和放置图像具有同样的参考标记,我们至少能在学习期间消除电路板的变化性。由于图像模型执行匹配,因而产生于不同参考标记或者甚至是不同的电路板的快照是重要的。图像模型在感兴趣的区域中检查是否有类似与被存储的快照的精确局部。如果具有相同参考标记的快照作为放置图像,该快照会更好的匹配该局部(差别是零)。时时刻刻,局部外表上确实改变的相当多。我们会试着去量化这些在学习过程中的可变性。快照与它自身相匹配,将不会告知系统任何有关局部外表产生的大量变化。
当需要时,理想的情况是一种系统能自动从实例中剪切快照。可选择的是,用户输入包含局部的电路板图像或在后台中的局部图像,用胶粘住局部,复制和粘贴局部到新的图像中,旋转剪切的图像到合适的方位并存储它。当这里有很多局部类型时,用户干涉带来了相当麻烦。
在图3中,自动获得的组成局部的快照被旋转到默认方位的处理被显示,并且在图3中被描述的方法描述了如何去自动获得局部的剪切图像。
现在考虑图3,在步骤72的处理中被检查的目标的“默认快照”被获得。获得局部的真实快照的最好方法是提前使用被确定的检查过程,在感兴趣的区域中定位理想的局部。如果该局部被很好的定位,那么该局部的图像可以被旋转到默认的方位并被剪切。目前,为了检查,图像模型和结构模型需要快照。为了破坏问题的恶性循环,我们可以自举具有合成快照的系统,该合成快照具有与理想局部的相同的几何结构和一些局部的关键视觉特征。而且,看上去相似的局部快照也可以被使用。例如,如果我们需要局部号码是123-000-000的CC0805的快照,我们可以共享有相同的包类型的预先捕捉的快照,CC0805,除了局部号码是123-000-001的以外。这些默认的快照可以被存储在数据库12中或存贮在检查平面中
不管多少快照被提供,步骤74的处理被继续,这里快照被使用去构造默认图像模型和默认结构模型。由于在步骤74中产生的图像和结构模型没有产生任何电路板的具体信息,因此该模型作为“默认”模型被参考。
之后,处理进入到步骤76,在这里几何模型被产生或仅仅构造纯粹的几何信息(例如,在组合程序库中有用的几何信息)。因此,从组合程序库中关于局部的信息中能直接构造几何模型。
下面,在步骤78中,在PCB上被检查的感兴趣的区域(ROI)被识别。ROI应当包括考虑的目标(例如,象被检查的电路元件这样的局部)。在步骤80中,默认图像模型和默认结构模型被应用到ROI中确定该局部是否出现在ROI中。之后,处理进入到步骤82,这里,对局部是否出现在ROI中作出确定。因此,图像模型和结构模型被利用去确定局部是否出现在ROI中。
在确定步骤82中,如果确定局部不存在,则处理返回到步骤78中,这里新的ROI被输入,用于在步骤80中图像模型和结构模型的操作。该循环被重复直到图像模型和结构模型显示出局部存在于一些ROI之中,或直到所有的ROI都被检查过并且没有发现局部的存在。
在确定步骤82中,如果确定局部存在,则处理进入步骤84。在步骤84中,结构模型提供粗略定位在ROI中的PCB上的局部的位置位置给几何模型。从结构模型中输出的内容包括在ROI中局部的中心放置<dx,dy>(来自于期待放置的6点),并且大概估计局部被旋转的程度。结构模型可以更进一步转换<dx,dy>和θ到被考虑为几何模型的局部的每个边缘位置。
该几何模型将边界和局部的任何旋转角度定位到精确的次-象素数量级(例如,象素的几十分之一)。
在步骤86中,一旦精确的局部边界和它的旋转度被获知,它能被旋转到默认的方位。该局部通过与负的旋转角度(-θ)等同的量被旋转去获得“指定的角度”,该角度被定义在局部库中(例如,局部库中具有什么是零角度旋转的定义,并且这些与在特殊的印刷电路板上所发现的有关)例如,如果系统发现该局部被顺时针旋转了1度并且局部的默认方位是在顺时针90度的放置上,那么该系统能顺时针旋转局部图像到91度,由此变换该图像到正确的方位。
如步骤88所示,一旦快照已经被发现并被剪切,那么参考标记可以被随机的选择提供给放置,粘贴和裸露的实例。
图3A讨论了在快照上和电路板上训练模型的途径的具体实例。这对应于图2中的步骤56。
参考图3A描述的在结构模型中的图像的学习过程。在步骤90处理开始,其中结构模型和图像模型被输入,并且应用到剪切,粘贴,放置和裸露实例ROIs中。应当注意到,在图3的处理流程中,图像被随机的选择。然而,在一些应用中,理想状态是最好的图像实例使用在学习过程中。该技术将结合附图描述如下。
之后,处理进入到步骤92,在这里通过应用结构模型到图像中,默认品行和品行属性或结构模型的属性被学习的值替换。在具体实施中,四种图像-例如剪切,粘贴,放置和裸露图像被使用。然而,可以看到,由于这是非常普通的学习过程,因此本发明并不限制在这四种图像。在若干个级别上,结构模型的属性可以修改。在最高级别中,结构模型可以仅仅值只在粘贴或定位图像上它被操作好或坏的程度。该性能可以作为一组值被存储,其中至少一个值用于粘贴图像并且至少一个值用于定位图像。
在较低的级别上,结构模型可以被修改。我们可以构造该结构模型去改变它的属性和属性关系,使它最合适于定位的图像并且最容易将它与粘贴图像区分开来。
之后,处理进入步骤94,在这里通过将该图像模型应用到四种图像中(剪切,粘贴,定位和裸露图像),图像模型的默认属性被学习值替换。
与结构模型相似,图像模型在若干个不同级别中可以被修改。首先,快照像被连接到模型中。第二步,在粘贴图像和放置图像中的图像模型被存储。另外,图像模型中的其他属性被修改去最符合放置图像并且最能将他本身与放置图像区别开。例如,可以学习在粘贴图像中在位置(x1,y1)和(x2,y2)上,图像模型提供好的匹配。意思是,在裸露电路板上有一些看起来非常象局部的特征。我们可以产生值函数功能以便当应用到新的区域的图像模型发现在(x1,y1)或(x2,y2)最适合时,给出低可信度匹配值。
之后,处理进入到步骤95,在这里,通过将几何模型应用到四种图像中,几何模型的默认属性被学习值替换。例如,几何模型能测量局部和来自于放置图像以及快照的子局部的真实尺寸。被存储的默认几何模型中尺寸是期待尺寸的平均值,该期待尺寸符合所有厂家的局部类型。几何模型也可以学习在局部和电路板边界和子局部边界之间的斜率。如果图像被提供色彩,为了计算斜率,几何模型也可以学习最佳色彩频道。
处理结束。
值得注意的是,随机选择一组裸露,粘贴,放置图像去训练(如图3A所示)可能不是最优的程序。理想的,系统应当考虑所有的参考标记符合不同类型的电路板(例如,裸露,粘贴和放置)去选择能提供最优性能的实例图像。
因而,如果它被期待去选择最好的剪切,粘贴,放置和裸露图像,并将这些使用在结合图3A上述的学习过程中,那么涉及图4的步骤被执行。
在步骤96中开始处理过程:(1)电路板类型(裸露,粘贴,放置),(2)检查平面。由于在电路板上的局部放置有可能被弄错或忽略,因此被举例的放置电路板被普遍是指“青铜电路板”。
在步骤98中,与每个局部类型有关的默认的模型被产生,并且在步骤100中,由于一特殊的局部类型,默认模型被训练在多与一个的参考标记上,并且被应用到每个与局部类型有关的其他参考标记上。应当注意到在印刷电路板上的每个位置(或电路板位置),在该位置上元件被安置,被指定唯一的参考标记。因此,在检查平面中每个参考标记专指在印刷电路板上和特征局部的特殊的,唯一的位置,并且该局部被定位电路板放置。
在步骤102中,为了具体的参考标记,如果该局部存在于“青铜”电路板并且在那个参考标记缺少粘贴和放置电路板,那么具体局部类型的默认图像和结构模型被用来首次检查。
之后处理进入到步骤104,在这里一旦从步骤102中产生的一系列确定被核实,那么模型被训练在由举例参考标记得出的三种图像中(注意,这里不需要去训练所有三种图像。在一些实施例中,裸露电路板发现是没用的)。如步骤106所示,学习的模型被用来检查与局部类型相关的在“青铜”放置电路板上和粘贴,裸露电路板上的剩余的参考标记。
在步骤108所示中,根据它们从肯定的样品,“缺少的局部”中将肯定的样品,“存在的局部”分离的好坏程度,在特殊参考标记上被训练的模型可以被估计。对于每个被用作训练样品的参考标记,在提供这次隔离时,可以被估计有效的程度。在步骤110中,提供最佳分离的图像样品组应当被选择出来作为训练样品被使用在整个生产电路板的检查中。
在步骤112所示中,可以发现一系列训练图像对于一种局部类型的模型去分离正极和负极是不充分的。例如,一种局部类型,在一个板子上可能既有棕色的又有白色的实例。比起在白色样品或棕色样品之间进行选择要更好的是,我么可以训练两组模型,一组在棕色局部上并且一组在白色局部上。在图像输出上和结构模型存储中的简单的参数组可被用于确定是否需要更多的参考标记。参数组将确定有多少参考标记样品被需要。
在步骤114中,用于每个参考标记组的图像组被选择。为了每个参考标记组,默认的图像和结构模型被产生。之后,用于每组<模型,参考标记>的学习功能被执行。
之后,处理进入步骤116,在这里学习模型被存储到检查平面中。处理结束。
应当理解在图4中,描述了一种情况,其中三种图像为一个单组被用于训练。其他被检测的N-1个图像用于确定或衡量模型工作的好坏程度。然而,应当注意的是,在这些应用中,多个参考标记可以被用于在步骤104中的训练,并且由此它可以被期待去选择最好的一组或多组参考标记,这将超越测试组(即,无论左边是什么)给与模型最佳的辨别能力。
例如,如果两个参考标记被应用,那么在粘贴和放置图像中,其中一个可以被用来提供快照,并其另一个被用来训练模型。在其他情况中,假设三个参考标记,第一个参考标记可被用于快照,并且剩余的两个参考标记被用于训练。该情况可以被扩展到N个参考标记被应用,其中M个被用于训练,剩下的N-M个参考标记用于测试。最终,可以注意到该处理可以用于选择出最佳快照和最佳ROIs训练组。
在上述的描述中值得注意的是,在选择快照与选择粘贴,放置,和裸露训练图像之间没有产生差异。在更坏的情况中,每个参考标记应当作为用于快照的侯选者被检查。然而,在实际情况中,这样作太耗费时间。
一旦在一组样品图像中,用于每个局部类型的模型被产生并且被训练,那么系统就准备去检查电路板。图5显示了利用在多个模型中的检查处理的步骤。
参考图5,步骤118处理在开始,首先获得在电路板中感兴趣区域的图像,该电路板包括具体的局部类型。之后,处理进入步骤120,在这里与局部类型有关的模型被获得。
下一步,如步骤122所示,图像模型被用来捕捉图像。在这些模型中任何一个理想的模型都可以被我们应用到在所有可能的旋转度所有可能的中心位置,由此来确定局部的中心和旋转度。众所周知,这是个周密的检查过程,并确保如果在模型中的某个局部看起来与该图像模型中的快照相同的话,那么该图像模型将被发现。对于发行速度,当搜索到ROI时,图像模型可以对这组中心和可能的旋转进行抽样。大量的采样加速了操作。然而,由于采样规模的增加,模型发现局部的可能性减小了。为了试图去最大化速度和有效性,我们使用由粗到精的方法;首先粗略的抽样,之后围绕区域精确的抽样,该区域对于实际局部中心和旋转度来说是最佳侯选区域。该方法可以被任何模型使用,而不仅限于图像模型。
之后处理进入到确定步骤124,这里确定图像模型是否显示了存在的局部。
如果确定图像模型相信局部存在,那么处理继续到步骤126,这里结构模型环绕相对小一些的区域去搜索,在该区域中图像模型发现了局部。如果确定局部不存在,那么处理进入到步骤128,这里结构模型被用来执行对ROI的所有搜索。当结构模型搜索了整个ROI后,他可以使用由粗到精的搜索方法。
下一步,在步骤130中,基于结构模型产生的结果,该局部是否存在的最终确定被产生。(注意,在确定该局部是否存在的过程中,结构模型可以使用图像模型值作为它的确定函数)如果局部被认为不存在,那么处理结束。
如果,另一方面,局部被认为存在,那么处理继续到步骤132,在这里,几何模型被使用去精密的定位该局部,并且被用来去提供更多有关局部的详细旋转信息。之后处理结束。
图6和6A中显示了检查处理步骤的更多细节,该检查处理用于由特殊参考标记表示的特殊部件。与三个模型的应用不同的步骤被识别。用来确定是否图像模型和结构模型表示该局部存在的确定程序也被描述。
在步骤134中,为了局部类型,模型被装载到检查平面内。下面如步骤136所示,为了特殊的参考标记,系统获得局部的图像和它的周围环境。该图像被标示为“感兴趣的区域”或ROI。该ROI可以从电路板中较大的图像中被剪切,该电路板已经被获得或者由若干个相机框架拼凑在一起,该框架决定了ROI的尺寸是依赖于局部类型,它的尺寸,由用户输入的位置允许误差,以及模型中的任何周围区域的尺寸。
首先可选择的步骤138是去检查ROI,该ROI的特征出现在裸露或粘贴电路板上,但是当局部存在时,应当被隐藏。这些特征包括通道,轨迹,和板(粘贴或裸露),该板被普遍隐藏在例如集成电路板这样较大的局部下面或隐藏在具有隐蔽线路的诸如球状栅格阵列这样的局部下面。该步骤的实施是去检查期待尺寸的圆形,矩形或直线形特征。其他实施是将目前的RIO与在学习粘贴电路板上的ROI进行比较。如果在步骤104中确定隐藏特征的存在具有高可信度,那么由于缺少局部装置,处理被结束。
如果在步骤140中确定隐藏特征不存在,可以假设这些事情(即,正确的局部或其他一些事情)是在图像中。之后,系统执行第二个选择步骤142处理ROI,去寻找主要角度特征。作这件事的一种方法是在图像中的每个点上计算倾斜方向和幅度。基于该角度特征,系统计算在图像中目标的主要角度。如果局部不存在,则电路板轨迹和板的后台将产生0,90,180,或360度中的主要角度。这是因为这些特征通常与相对于相机框架排成一行或垂直。如果局部存在,他的特征将作用于一系列的主要角度。除了0,90,180,360外,最好的主要角度,θ,被显示于以后使用。这些使系统能预计到局部如何被旋转,但是在这里局部不能被定位。
下面在步骤114所示中,图像模型被应用到ROI图像。这些图像模型本质上看ROI是否包括一个结构,该结构看上去与被剪切的快照很相似,并且与裸露或粘贴的图像有很大区别。它使用学习的数据去计算正确局部出现的可能性或可信度。该图像模型搜索整个ROI。在图像中的多个旋转度和多个位置上,该图像模型应当匹配快照,在这种情况下,局部本身从期待的位置被转移并且被旋转的超过了期待的旋转度。为了增加速度,图像模型可以不检查在ROI中的每个位置上的局部。局部尺寸和局部类型目前决定了图像模型采样图像空间的粗略程度。另外,为了增加速度,图像模型仅仅检查两个旋转度,期待的旋转度和θ。经过粗略搜索后,图像模型可以围绕用于局部中心的最优侯选者作一个精确的搜索。图像模型输出最佳位置,<x1,y1>和假设角度,θ2,被用于ROI中的局部。它也可以输出存在局部的可能性Φ。
下面,在步骤146中,产生一个判定,判定是否图像模型表示局部存在。该判定是基于第一阈值,这里用Φ表示。值得注意的是,尽管相对简单的阈值在这里被使用,在一些应用中,它是有利的或理想的利用复杂的程序去提供阈值。例如,更加复杂的函数可以计算可能性Φ,在图像快照和用于局部的侯选位置之间的实际匹配值,侯选位置,以及没粘贴的图象决定局部是否真的存在的可能性。
如果图像模型确信局部存在,并且看上去完全象它已经学习过的东西,那么处理进入到步骤148,并且结构模型被使用去核实局部存在。为了试图去增加局部图像分辨率,它去搜索在该区域的周围该区域相对小一些并且在其中图像模型发现了局部。在这种情况下,它仅仅检查在小尺寸例如1或2个象素范围内,位置<x1,y1>和角度θ2周围的局部。
如果图像模型确信局部不存在,那么处理进入到步骤150,在这里,结构模型执行了ROI的全部搜索。再次为了速度,该结构模型不检查在ROI内的每个位置上和旋转度的局部。局部尺寸通常确定结构模型采样ROI的粗略程度。另外,为了更多的增加速度,机构模型仅仅检查两个可能的局部旋转度,期待的旋转度和θ。
结构模型最终确定局部是否存在。在步骤152所示中,如果,无论怎样,它确定局部存在于ROI中,则它返回最优位置,<x2,y2>和角度θ3。在步骤156所示中,该信息被发送到几何模型,之后由此定位该局部到子象素精确度并且精确θ的估计值。在步骤158所示中,几何模型返回“存在”标志,最终的中心位置,<x3,y3>,和角度θ4。
如果结构模型确定局部不存在,则系统停止操作并且返回“缺席”标志。
描述在图6和6A中的流程是使速度最优化。比较裸露电路板特征和计算θ估计值的在先选择步骤能被省略。在最全面的方式中,在ROI内的局部中的每个可能的位置上图像模型和结构模型被搜索。它们也能在各种角度中执行局部的搜索检查。另外,它们也可以用由粗到精的方法在位置和旋转度中执行搜索。
通过学习和调试,轮流图象模型或结构模型已被具体化是可能的。如果是这种情况,在合适的时间里,两者都可以被应用。如果其中一个被匹配,那么处理将继续被具体化在图4中。
应当注意到,在图6和6A中的确定功能可以基于其他因素或者比“可能性大于Φ”表现的更加复杂。这仅仅是举例。而且,模型得分的混和组合可以被使用在判定功能中,例如在机构模型的判定功能中。
应当注意到,尽管图6和6A仅仅显示了“存在”和“缺席”的输出。但这里有个中间情况,其中一些事情在图像中,然而,这些事情不是正确的局部。在这种情况下,在结构模型阶段,利用第二判定功能,如果局部存在的可能性是中间程度,那么系统可以转移到其他的分析程序,在这里执行分析并且输出“被损坏的局部”,“错误的局部”,“弄脏的粘贴”,“死亡的局部”…
最后,这项工作针对于印刷电路板检查,但是该方法被应用到图像处理领域。例如,一个人可以使用同样的方法用于面部识别,个人识别,和图像数据库检索。
现在考虑图7和7A,图像模型160,结构模型162,和几何模型164显示在指定的方位上,并且在被捕捉的图像区域166,168上被训练。图像区域166,168对应于PCB的局部。图像区域166是所谓的粘贴图像,意思是PCB已经在电路元件被安置的区域中进行了粘贴处理(例如,焊接)。因此,没有电路元件显示在图像166中。图像区域168是所谓的“放置”图像,意思是区域168中,电路元件170应当被安置在具体的位置上。
三种类型模型中的每一种都被提供给预定的视觉分类。使用在一个印刷电路板检查的具体实施例中的11种分类类型结合附图2被列出来。如上所述,多于11种或少于11种的分类类型也可以被使用,并且根据特殊应用的需要,分类类型的具体数值以及分类本身将被选择。
为了确定视觉分类的种数,我们考虑用于表面安装印刷电路板的所有典型的元件类型。我们本质上集合这些基于局部的普通视觉特征的元件。我们的目标是去产生最小数量的视觉分类,该视觉分类贯穿典型局部的所有类型。在PCB组成局部的情况中,我们发现导线类型的元件显示元件的视觉表面。例如,具有尾部金属帽的元件是普通的电阻和电容,所有这些都有两个尾部金属帽和彩色的身体。具有鸥翼引线的元件是通常的集成电路,该电路通常具有黑色的矩形身体并具有从身体里伸出的金属引线,在Z轴上向下弯曲,然后成为直线。在这种情况中,即使整个包的尺寸和它的子局部能改变,但是元件的全部构造仍保持相同。这就是结构模型被适当的代表这些分类的原因。
将视觉刺激分组到视觉分类的技术不仅用在印刷电路板检查当中。它被更多的应用到计算机视觉应用中,为了产生一系列能覆盖视觉刺激分类的模型用于该应用。一个实例是在面部区域检测中。脸在不同照明的条件下有不同的表现,不同性别和年龄的人可以根据相似的视觉被分在一组中。例如,在现有的关于面部图像处理的技术中,可以发现脸的正面可以被分到六种视觉类型中。尽管视觉类型对于人来说没有名称或语义,但是如果面部被检测,则分组对这个问题有更大的帮助。如果一个新的图像,当被处理时落入了视觉分组中的一种,那么它作为表面被识别。如果它在分组之外,那么它作为无表面被识别。在分析中信用度的衡量,是新图像对于表面分组靠近的额程度。
视觉分类组在其他应用中被普遍应用。这些应用例如,医学图像(例如,通过传感器来表现和收集肿瘤的表面特征),军事应用(例如,来自合成孔径雷达的用于探测目标的分级结构),和例如交通流量监测应用(例如交通流量中不同图案的分来)。
在这个具体的实施例中,模型160-164中的每个都属于被称为DISCRETES的视觉分类类型。对于全部匹配方法,11种视觉分类类型包括九个要素,这九个要素是(1)隐藏特征;(2)θ估计量范围;(3)图像模型属性;(4)结构模型属性;(5)几何模型属性;(6)方位标记类型;(7)交替模型;(8)学习参数;(9)确定函数。
闭合属性明确了所关心区域(ROI,region of interest)中被期望提供的闭合特征。估计量θ的属性确定了估计量θ应当使用的区域。结构模型属性描述了构成模型的多个区域,区域的性质及关系。几何模型属性描述了高梯度或边缘特征成分。方向标记明确了在各局部体上所期望使用的标记类型。
备用模型属性明确了备用模型在某一特定的类型中,可被应用于每一局部。例如,一备用模型可能包括一倒置的图象模型局部。学习性包括关于信息的处理,其中特征被学习并被存储用于每一同类的模型。最后,最后一个性质描述了判断函数用于判断该局部是否存在。该判断函数可以将一个或多个类型模型的输出作为输入。
下表1中给出一将组合元件的视觉类别的视觉类别信息应用于印刷电路板的实例。
图象模型160是与上述技术方案相应的剪切图。结构模型162在印刷电路板的不同实例中使用了相关标记R29。
既然将结构模型用于一组类型并没有精确的确定相关标记R29所指示的特定局部,于是提出了一种新的结构模型,当该新模型被用于包类型RC1206且使用了相关标记R29时,被用于确定电路板上特定局部的特定位置。如图11A所示,从而在放置局部以及如分组210的位置指示的粘贴局部之间取得了良好的区分效果。组210展示了由用于相关标记R29所指示的放置局部的图象新模型所得的值。因此,图11A同时展示了R29模型(组210)以及非R29模型(组206用于粘贴图象以及组204用于放置图象)的确定值,从而使粘贴局部和放置局部得到良好的区分。
图11和图11A图示了通过测试一组例图,可以确定需要专门化的或经过专门训练的模型的元件,其中,该模型被用于检测和识别。例如,上述的步骤100-108,连同图4,图示说明了一生成分离区域的技术,该技术用于衡量模型能够分辨肯定和否定的一组粘贴和放置图象实例的程度。图4讨论了怎样选择最佳的模型组,从而使粘贴和放置图象更好的区分。
注意到在图11A的处理过程的最后,我们已经加入了一个用于零件类型RC1206新的结构模型。这意味着两个结构模型与该零件类型联系在一起。我们可以使用同样的过程判断是否需要创造一个新的图象或几何模型。
现在来看图12,图12中展示了一个对应于元件比如RC0805的图象模型。再次,在这个特定的实例中,在粘贴局部和放置局部214,216之间有一个良好的区分效果,也就是说,图象模型可以正确的区分粘贴和放置局部。这个分析表明,对于零件类型,匹配方法最好按照图9A的流程图所示,这里结构模型除了用于局部检测及确定位置外,被更多的用于检验。
图13展示了一用于类RC1206的粘贴以及放置图象图象模型值。其中粘贴值,如组218所示,放置值如图13中的阴影局部所示。为了与现有技术和图13所取得的结果做比较,必须明确,在先技术中(例如仅被用于一个图象模型去确定和区别印刷电路板上的放置及粘贴区域),如图13所示粘贴和放置图象之间存在很少或没有区分。注意到现有技术中描述的过程能够使用结构模型来弥补图象模型的缺陷。如图11A所示,结构模型在粘贴和放置图象之间,提供了一个良好的区分效果。
这个分析表明,对该零件类型,匹配方法将更多的符合如图9B和9C的流程图,这时,结构模型被用于局部检测和定位。
如图14-14B所示,展示了一用于学习提供零件类型的图象以良好的分类的模型的技术。该过程由步骤230开始。步骤230从一组模型类型中选出一个适用于该零件类型的模型。该模型可以是一图象模型,结构模型或者是一几何模型。每一模型都可以被独立的学习,且我们目前同时学习一图象模型和一结构模型。
如步骤232所示,模型被用于所有的相同零件类型的“放置图象”。放置图象涉及一图象,该图象中位于一定范围内的期望位置的目标被检测。接着继续下一个步骤234,在所关心区域内的选定的模型和每一“放置图象”之间,计算得到一“放置图象值”。每一“放置图象值”是一个代表或指示模型和特定位置图象匹配程度的值。
处理过程继续至步骤236和238,其中,对于所有的相同零件类型的粘贴图象,应用相同的模型,计算得到一“粘贴图象值”,在所关心区域的选定模型和每一“粘贴图象”之间,计算得到一“粘贴图象值”。
计算得出放置图象值和粘贴图象值后,它们被存储用于之后的处理过程。接着,在步骤242中,进行了对于“分离值”(或者更简单“分离”)的检查。术语“分离”指的是那些明显超过常规放置及粘贴图象值的放置及粘贴图象值。如果确定了分离,接着就要确定分离的原因。因为,如果分离是因为反常的形势出现,并表现出不被期望重复的特征,那么分离点就不应当被包括在关于值分布状况的计算中。如果,另一方面,分离值出现在一定形势下并表现出一定的特征,该形势和特征是期望被重复的,那么分离点就应当被包括在关于值分布状况的计算中。例如,一尾帽上有粘贴图象的离散元件将提供一个分离值。我们将想要从好的放置组中消除该值,因为该分离值实质上是一个缺陷。同时,如果一放置图象被不正确的标记后,意味着期望的目标不在图象中,我们想要从该放置值组中移去与该图象相关的值。另一方面,举一个有效的实例,如果一离散元件通常有一个黑色的身体且包括一零件,该零件有一个白色的身体(或者具有强烈差别的外观),我们就将要把这个有效的实例体现在良好放置值的分布中。
简要的拿图14B做如下说明,例如,有表明值出现的次数的两柱状图。X轴上的每一局部表示值的范围。Y轴表示值的表面数量或值的范围的表面数量。曲线254对应于高斯曲线适应于放置图象值的几何柱状图且曲线256对应于GAUSSIAN曲线适应于粘贴图象值的柱状图。点258代表放置图象值的一分离点。也就是说,点258对应于一点,该点并没有包括在生成曲线254的计算中。近似的,点260代表粘贴图象值的一分离点且该点没有被包括在产生曲线256的计算中。
再来看图14和14A,处理过程继续到步骤244,该步骤用于计算一分离函数。分离函数的计算方式取决于多个因素,包括但不仅限定于步骤230选出的模型的类型,放置及粘贴图象的特征以及模型的特殊应用。例如,在一应用中,比如一印刷电路板检查步骤,在这里模型使用一图象模型,分离函数可以由相关函数的值产生。该值可以由任何模型匹配方法生成。最后的值可以输入到与步骤244相同的步骤中以得到分离函数。
在这种情况下,分离函数试图使一高斯曲线适合一肯定的实例以及另一高斯曲线适合否定的实例。一个高斯曲线可能不足以取得足够的曲线匹配。因此可能使用多个高斯曲线以近似每一类中的数据。例如,粘贴实例中,如果印刷电路板(PCB)有两个不同的背景颜色。可能产生双峰分布。有若干个分组参数,例如K-法,对于本领域普通技术人员达到该技术目的时是熟知技术。另一种计算分离函数的方法是假定我们不知道或者我们不强加任何的分布函数,然后找到符合该数据的最佳曲线。
提供一个新的数据点,然后在曲线上查找对应该点的值。基于计算的值和分布的状况,可以计算出该数据点属于某类的概率或可能性。在某些情况中,点会落于两个或多个分布区的交集中。在这种情况下,我们可以计算点属于每一分布区的可能性。在最简单的情况下,将该点标记在最具有可能性的分布区域。然而我们可以用较低的可信度报告该分析结果。
在分离函数计算得出后,处理流程至判定块246,在这里确定分离函数是否可接受。再次,确定的方法以及确定需考虑的因素取决于多个方面。例如,在一个如印刷电路板检测的应用里,相应的采用一图象模型作为模型,且分离函数包括相关函数,通过计算最小相关值和最大相关值之间的差值且将该差值与一预先设定的阀值比较,从而确定该分离函数是否可接受。
在其他应用中,然而,分离函数可以是区域的相互关系以及区域性质匹配结构模型的程度,或一个梯度模式匹配边缘模型的程度。
必须留意的是,该过程对于在任何肯定的或否定的实例得到值的应用中,是基本上相同的。然而,有多个输出值也是可以的。在这种情况下,需要更高维的高斯型曲线去近似该数据。
如果在判定块246中,确定分离函数的可接受的,则处理过程继续到步骤248,这里中模型被储存以留作以后使用。如果,另一方面,确定块246判断分离函数是不可接受的,则处理过程继续到步骤250,这里模型被确认为将来不再使用(或者该模型可以被简单的标记为将被处理)这个“坏”模型可以被用于作为将来模型的基准。
处理过程继续到步骤252,以确定是否有其他任何同类的需要评估的模型存在。如果没有更多的此类模型,那么处理过程结束。如果,另一方面,确定块252确定仍然有同类的其他需要评估的模型存在,那么处理过程至步骤253,再这里选择了下一类模型且处理流程返回至步骤232。在步骤232,上述的处理步骤再次重复。
是否有其他模型存在的问题可以通过多个方法表达出来。在最受限的范围里,问题是询问是否有其他同类的模型。例如,如果模型种类是一种图象模型,那么问题是询问是否有任何其他的相关图象不符合所有的数据。如果问题是询问是否有任何其他的用于那个局部或者那类局部的模型,那么下一个模型类型可以采用结构或几何模型。
如图14-14B所示的学习方法或确定函数的生成装置,是使用所有可利用的肯定的和否定的方法。该确定函数在新的实例出现后,可以不断的得到精确。模型的精确化可以发生,例如图2中的组件70的后台学习步骤。
该学习方法不同于图3A和4中的方法。该方法使用了所有可以利用的数据以生成模型。图3A和4集中于最典型的数据来训练模型。
应该注意图1和图14A中,仅假定了两种分析方法是可以利用的:存在的局部,不存在的局部。然而我们有可能需要描述其他的情况,例如局部受损,错误的局部,弄脏粘贴等等。如果新测得的图象落于真实位置和真实位置之间,我们可以为每一标记过的图象计算一分布值或者生成一更加复杂的函数以对新的图象进行分类。
符合本领域普通技术人员理解范围以内且在上述较佳实施例范围以外的其他实施例也可以被使用。上述其他实施例不应当限制于已公开的实施例,所有符合所附的权利要求书的范围和精神的实施例都在保护范围内。
申请文件中所有被引用的公开以及相关文献此处被特意的整体用参考书目引用。