CN1308893C - 生成电路板检验系统中使用的电路板特征调色板的方法 - Google Patents

生成电路板检验系统中使用的电路板特征调色板的方法 Download PDF

Info

Publication number
CN1308893C
CN1308893C CNB028118723A CN02811872A CN1308893C CN 1308893 C CN1308893 C CN 1308893C CN B028118723 A CNB028118723 A CN B028118723A CN 02811872 A CN02811872 A CN 02811872A CN 1308893 C CN1308893 C CN 1308893C
Authority
CN
China
Prior art keywords
circuit board
color
model
pcb
zone
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.)
Expired - Fee Related
Application number
CNB028118723A
Other languages
English (en)
Other versions
CN1518664A (zh
Inventor
帕梅拉·B·利普森
威廉·J·马莱利
理查德·派伊
阿帕纳·L·拉坦
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.)
Teradyne Inc
Original Assignee
Teradyne Inc
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 Teradyne Inc filed Critical Teradyne Inc
Publication of CN1518664A publication Critical patent/CN1518664A/zh
Application granted granted Critical
Publication of CN1308893C publication Critical patent/CN1308893C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/95Investigating the presence of flaws or contamination characterised by the material or shape of the object to be examined
    • G01N21/956Inspecting patterns on the surface of objects
    • G01N21/95607Inspecting patterns on the surface of objects using a comparative method
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • 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
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K13/00Apparatus or processes specially adapted for manufacturing or adjusting assemblages of electric components
    • H05K13/08Monitoring manufacture of assemblages
    • H05K13/081Integration of optical monitoring devices in assembly lines; Processes using optical monitoring devices specially adapted for controlling devices or machines in assembly lines
    • H05K13/0815Controlling of component placement on the substrate during or after manufacturing
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/95Investigating the presence of flaws or contamination characterised by the material or shape of the object to be examined
    • G01N21/956Inspecting patterns on the surface of objects
    • G01N2021/95638Inspecting patterns on the surface of objects for PCB's
    • 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/30141Printed circuit board [PCB]
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Biochemistry (AREA)
  • Immunology (AREA)
  • Pathology (AREA)
  • Analytical Chemistry (AREA)
  • Data Mining & Analysis (AREA)
  • Chemical & Material Sciences (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Operations Research (AREA)
  • Manufacturing & Machinery (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Image Analysis (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
  • Image Processing (AREA)

Abstract

一种用于识别和分类与电路板相关的一个或多个特征的方法,确定了电路板上被称为调色板区域的位置,在该位置可以测量每个种类的代表值。检验过程中,在每个正被检验的电路板上的每个调色板区域动态测量特征值,而且调色板区域处的值可以提供给检验过程所使用的多种模型。特征值也可以在电路板上的关心区域(ROI)动态地测量,并且被检验模型处理。在一个实施例中,否定模型接收与ROI相关的特征值,并且判断该特征值是否与裸露或未组装电路板相对应,或者在组装电路板的情况下否定模型可以用来判断是否缺少一电路元件。

Description

生成电路板检验系统中使用的电路板特征调色板的方法
技术领域
本发明通常涉及检验系统,更特别地,涉及应用于检验系统的图像处理系统和技术,这些检验系统包括用于检验印刷电路板的检验系统。
技术背景
众所周知,检验系统是指用于检验任一现实世界中的过程、设备或对象的系统。一个自动光学检验系统(AOI)在很大程度上不需要人的干预而执行检验。AOI可以根据使用的特殊应用而具有多种形状与结构。然而,这些系统一般都包括有一个或多个安装在固定装置(有时指检验头)内的传感器。这种检验头相对于正被检验的对象的运动受到控制。一个或多个传感器中的每一个都捕获一个正被检验的对象(或对象的一部分)的图像,并将捕获的图像提供给图像处理系统。最典型的传感器类型是对可见光谱敏感的照相机。其它比如有对X射线敏感的。图像处理系统将实际被检对象的捕获图像与该种类型对象的软件模型相比较。根据比较结果,检验系统给出捕获图像与模型的符合程度。因此,检验系统在检验过程中要使用模型。
众所周知,软件模型,或更简单说,模型,是已经在软件中“实现”或“代表”的现实世界过程、设备或概念的表示。因此,模型提供了对现实世界过程、概念或系统的结构、行为、操作或其它特征的选定或全部方面的表示。现实世界中的过程、设备或概念被称为对象类。
要生成一个模型,首先必须要明确一个对象类,然后选择要在模型中被编码的对象类的属性。因此,对象类一般要包括一组共享一个或多个特征或属性的对象或对象实例。
通常希望将这样的一些属性选择包括入模型,这些属性能简洁地概括这个对象类,并且使得使用包括这些属性的模型的检验系统能将特定对象确定为“真肯定”并将不属于该类的一部分的其它对象辨别为“真否定”。由于有许多属性可以被选择包括到模型中,而且有些属性使用后对确定“真肯定”和辨别“真否定”会有很高的成功率,因此很难决定哪些属性要包括在模型中。当我们不知道哪些属性能使检验系统将真肯定和真否定区别开时,问题会变得更加复杂。此外,即使我们可以设想将某些属性包括进来,我们可能还不知道怎样测量或表示它们。
标为“真肯定”的对象是完全属于某一个特定的、且该对象正与其相比较的对象类的对象。例如,如果对象类是集成电路封装类型,对象是一个集成电路,那么这个集成电路就可以被认为对于集成电路对象类是真肯定的。
反之,“真否定”的对象是不完全属于某一个特定的、且该对象正与其相比较的对象类的对象。例如,假设对象类是集成电路封装类型,而对象是一个集总元件电阻。在这种情况下,该集总元件电阻就可以被认为对于集成电路对象类为真否定,因为集总元件电阻与集成电路封装类型的对象不属于相同的对象类。
为了使模型与对象匹配从而决定模型是否是对象类的一部分,要采用一种匹配方法。该匹配方法从正被检验的对象中提取被选中的属性,并将此特定对象的测量属性与已经存储在模型中的对象类属性相比较。匹配方法中很重要的一个方面是正确地计算或决定正被检验对象的属性的值。然后,这些计算或选择的属性与模型属性相比较。例如,印刷电路板上模型元件使用的一个属性是印刷电路板的器件边缘线和元件的任一内部边缘。假定一幅可能包含器件的图像,大的图像梯度或不连续性就被认为是潜在的“边缘可能”,这种“边缘可能”是在板上放置元件的结果。
然而,该方法的一个问题是许多匹配方法不能正确确定、或者在现实的时间范围内不能正确确定从包含正被检验对象的图像中得到的数据,哪些应该用于属性测量。这种困难常被称为对应问题。当从正被检验对象的图像测量到的数据和模型属性之间需要精确对应、而与某一特定属性相关的数据是模糊之时,匹配方法就会产生不良结果。最不理想的情况是,如果图像中有n种属性的可能测量值,器件模型中有m种属性的测量值,则有mn种可能的组合。通常,所有组合都要评估,以选出最佳对应。即使这样,如果图像中的一个关键属性测量值不正确,也可能不存在真匹配。
众所周知,传统的印刷电路板(PCB)检验技术一般仅采用具有单一属性的单一模型类型。而且,传统检验系统使用单一匹配方法。多数模型匹配方案都计算图像内属性的实例,并将其与模型内所有的实例属性相比较。如上所述,必须评估的对应数目以指数计算。很多技术都试图通过排除不可能的或违反启发式发生规则的组合来精简该趋势。
现存在多种不同类型的模型,其中一种为图像模型,它从正被检验对象的实例的图像中生成。实际上,该模型通常根据样本或被检对象中有代表性的某个对象的图像而派生或构造出来。该样本或代表对象可以是完整的电路元件、电路元件的一部分或来自被检PCB的一部分。图像模型通常只有一个属性,如亮度。亮度分布按固定的空间结构排列。匹配方法用于将正被检验的对象(例如正被检验的电路的元件或部分)的图像翻译成某属性集合,比如模型中的属性集。举例讲,如果图像模型包括亮度属性,匹配方法就会从正被检验对象中产生一个亮度属性集合。然后该单一图像模型会用于执行检验过程。然而,图像模型技术的一个问题是:如果真肯定的出现改变成被检验对象的特定实例,那么图像模型就不能很好地表示实际数据。亦即,提供单一图像模型的PCB或电路元件的图形可能不是正在检验过程中正被检验的典型电路元件或PCB的精确表示。它也不是有若干可接收外形的典型电路元件的良好表示。那么,图像模型将不能精确地与正被检验的电路元件或PCB相匹配,采用该图像模型的检验系统也不会得到准确的测试结果。
另一种模型称为边缘模型,它通常是由被检电路的元件或电路部分的理想化边缘表示而提供的。匹配方法用于将正被检验对象(例如正被检验的电路的元件或部分)的图像翻译成边缘属性集合。但这个方法存在一个问题:新的待检验图像可能包含很多边缘。这时,不清楚使用哪个边缘集合将来自正被检验对象的新数据与模型中边缘或线路集合相匹配,因此很难测量新图像和模型中的对应特征。还有可能由于恶劣的光照条件、照相机噪声、对象与背景间较低的对比度或很多其它条件,图像处理系统也可能辨别不出真正的元件边缘。当匹配方法没有将图像电路元件精确地翻译成希望的属性时,检验系统就不会产生准确的测试结果。
当模型未得到精确测试结果时,检验系统就会产生大量的“假肯定”和“假否定”。在印刷电路板检验场合中,“假肯定”表示检验系统指出PCB上有某一电路元件而实际该电路元件并不存在。类似地,“假否定”表示检验系统指出PCB上没有某一电路元件而实际该电路元件却存在。
由于多种原因,PCB的自动光学检验相对较难。例如,暗色电路元件可能被放置在暗色的PCB上,这时照相机就不能检测出电路元件与PCB间的差异,因为暗色器件(即电路元件)正位于暗的背景(即PCB)。
而且,由于PCB采用的丝印处理过程,PCT可能包括“假边缘”以及由于元件和印刷电路板外形的大量变化导致的假否定与假肯定,这些变化也使检验系统很难一致识别PCB上的器件。
假否定是我们所不期望的,因为人力查找并排除这些错误条件很浪费时间。我们也不希望得到假肯定,因为以后才知道电路组件不存在或不合格也会浪费很多时间,代价很大。所以,使用单一模型与匹配方法的检验系统一般都会导致增加PCB制造成本及降低PCB生产速度。
因此,有必要提供一种产生假肯定与假否定相对较少的检验系统和技术。还期望提供一种能增加PCB检验与制造能力/速度以及能相对较快地处理印刷电路板图像的技术。还期望提供一种能够生产出可再生和重复的产品的系统。
发明内容
考虑到包括电路板检验系统在内的现有检验系统存在如上所述的问题与局限,按照本发明,我们认识到,通过在检验过程中动态获取电路板的一个或多个特征,并使用用于检验电路板的模型中的一个或多个特征,就能同时实现精确检验测试结果和满意有效的快速图像分析。合适的特征类型包括但不限于被检对象(例如电路板)的颜色、纹理和亮度。所以,接下来的问题就是怎样选择和利用检验过程中所用到的特征的合适的数量与种类。
根据本发明,可以认识到电路板具有相对较少的与其相关的颜色。因此,印刷电路板检验系统在检验过程中就可以使用颜色特征,以减少假肯定与假否定,同时提高电路元件或PCB检验的速度。
我们知道,未组装的电路板只有相对较少的几种不同颜色分布在它的表面。按照本技术,未组装的电路板是采用不同材料和不同过程制造的。例如,未组装的电路板可以使用纸质合成物、玻璃纤维、聚四氟乙烯(PTFE)来制造。未组装的电路板上主要的颜色通常都与制造过程中沉积在它两个外表面上的阻焊层相关。阻焊层有不同颜色,包括蓝色和绿色,但并不仅限于此。未组装的电路板表面的绝大部分都施加了阻焊层,包括不接收焊剂的未组装的电路板的所有区域。未组装的电路板上确实接收焊剂的区域没有施加阻焊,焊剂区域是用来连接电子元件的。未组装的电路板上必须裸露的区域,比如接插件焊盘,也没有施加阻焊。进行了焊接的区域通常在施加焊剂前后都是银色或灰色的,而要裸露的部分一般是银色、铜色或金色的。除了以上几种颜色,在阻焊层的表面上的未组装的电路板表面常采用丝网印刷,丝网印刷具有α-数字参考标志,有时也有相应电子元件的主体外形。丝网通常是白色的,但也可以有不同颜色。
无论电路板的材料、阻焊的颜色、接收焊剂的区域的颜色、裸露区域的颜色以及丝网的颜色是什么,特定的未组装的电路板表面只有几种相关颜色,这已被公认。
电路板上放置的电路元件可以有很多种颜色。例如,电阻可以是黑色、绿色或棕色的。很多情况下,电路元件的颜色与未组装的电路板的任何一种颜色都有很大不同。在其它场合,电子元件的颜色与未组装的电路板的某一种颜色较相近。
所以,需要提供一个能将未组装的电路板的颜色与放置在电路板上的电路元件的颜色区分开的系统,从而可以确定元件是否放置在电路板上特定的关心区域(ROI)。
因此,根据本技术,生成电路板检验系统中使用的电路板特征调色板的方法包括:确定电路板上第一特征的取值范围;为电路板建立多个特征种类;并选择电路板上的第一多个位置,该多个位置的每一个都具有至少代表特征种类中一个种类的特征值,此处的特征种类带有相对于电路板第一调色板区域的第一多个位置。
使用这个特殊的排列,就能得到用于检验过程的调色板区域。调色板区域与印刷电路板上的物理位置对应,在电路板上这个物理位置处可以测量一个代表关心特征的值。一旦确定,调色区域就可用于电路板检验过程。特别是,对每个被检电路板,电路板特征(例如颜色)能动态地在每个调色板区域测量。一旦每个调色板区域的值都被测量后,电路板上一个或多个关心区域(ROI)特征值的测量值就能动态获得。然后在ROI动态获得的值就能与对电路板动态获得的调色板区域值进行比较。根据动态获得的ROI值与动态获得的调色板区域值的比较结果,PCB上每个ROI就能被放置在一个建立的种类中。
根据本发明的另一个方面,检验系统包括颜色调色板和一个或多个检验模型。有了这个特殊排列,提供了检验过程(例如检验诸如印刷电路板这样的对象)中使用颜色调色板并提供相对较少的假肯定与假否定结果的检验系统。检验过程中用到的颜色调色板所采用的特定颜色的数量至少一部分是由印刷电路板上颜色的数量决定的。
根据本发明的另一个方面,检验对象的过程包括:在对象上一个或多个调色板区域处动态测量值;在对象上关心区域内一个或多个网格带动态测量值;将每个网格带的值与调色板区域的值进行比较;以及根据比较结果将每一网格带分类。有了这个特殊安排,提供了使用动态获得的值并得到精确检验过程的检验过程。然后可以将动态测量得到的、已分类的网格带值与电路板上关心区域的期望种类相比较。
根据本发明的另一方面,检验电路板的过程包括用相对较少的颜色种类表示电路板,并使用该颜色种类判断元件是否在电路板上。用这个特殊安排,提供了用于使用相对较少颜色检验电路板的过程。应该强调,该过程可被用于检验电路板以及其它类型的对象。
尽管此处只介绍了本发明在电路板检验系统中的应用,但应当认识到,本发明更广泛地涉及到动态测量被检物的特定特征以及在检验过程中使用动态获得的值。在一个优选的实施例中,特征在物体的特定位置测量,这些特定位置被称为“特征调色板区域”,或简称为“调色板区域”。正被测量的特定特征可以是物体的任何特征,包括颜色、纹理,当然也可以是亮度,但并不仅限于此。在一些实施例中,可能需要利用特征的组合,例如颜色与纹理、颜色与亮度或纹理与亮度。选择一个特定特征的决定取决于特定的应用以及在该应用中尤为重要的特定特征。例如,在一个用于印刷电路板检验的应用中,颜色就是一个重要的特征。这时,特征调色板就可以被称为“颜色调色板”(即关心的特征是颜色),关心区域就可以称为颜色调色板区域。另一个例子中,纹理可能是印刷电路板检验系统中的重要特征,这时特征调色板就称为纹理调色板(即关心的特征是纹理),关心区域称为纹理调色板区域。简言之,被检物体的任何特征(或特征组合)都可用于构成特征调色板,并由此选择调色板区域。
附图说明
通过下面的附图说明,可以帮助更全面地理解前面介绍的本发明的特点以及发明本身:
图1是一个检验系统的框图;
图2说明了用于检验特定印刷电路板类型的步骤;
图3A说明了自动获得旋转到默认方位的元件的快照的步骤;
图3B根据一个给定的示例图像集合(裸露、焊剂、放置和一器件快照),描述一个学习过程;
图4A和4B说明了选出用于图3B的最优示例图像集的学习过程;
图5说明了对于元件的检验过程的步骤;和
图6A和6B说明了图5检验一个元件的具体实施例;
图7A和7B显示了如在捕获图形区域上训练的,在额定方位内的一个图像模型、一个结构模型和一个几何模型;
图8显示了从期望角度放大的、图7A和7B的图像结构和几何模型;
图9A-9D显示了应用在三个不同检验实例中的图像、结构和几何模型;
图10A-10E是对于封装类型CC0805的焊剂和放置图像的实例的结构模型分数图;
图11A和11B是对于类型RC1206的一系列放置的器件和焊剂器件显示的结构模型分数相对实例变化的坐标图;
图12显示了与识别为RC0805的元件相匹配的图像模型;
图13显示了RC1206类型的焊剂与放置图像的图像模型分数;
图14A-14B显示了用于学习为器件类型提供良好图像分类的一个或一组模型的技术;
图14C显示了两条曲线恰好通过数据点的分数发生次数的柱状图;
图15是一个显示了使用动态获得的值用于印刷电路板检验的示例光学过程步骤的流程图;
图16是一幅显示了放置了元件的电路板的电子图像,该电路板上已经放置了一些电子元件;
图16A是图16中放置了元件的电路板的一部分的示意图;
图17和17A是一个显示了示例学习涂覆了焊剂的板的过程和示例否定模型过程的流程图;
图18是一个显示了涂覆了焊剂的电路板的一部分的示意图,该涂覆了焊剂的电路板采用了有网格带的网格区域;
图18A是一个显示了放置了元件的电路板一部分的示意图,该放置了元件的电路板采用了有网格带的网格区域;
图19是一幅显示了电路板一部分的电子图像,该电路板上存在未完全应用焊剂的区域;
图19A是对应于图19中电子图像的另一电子图像,该图像将未完全应用焊剂的区域采用电子方法填充来表示焊剂;
图20是另外一幅显示电路板一部分的电子图像,该电路板上也存在未完全应用焊剂的区域;
图20A是对应于图20中电子图像的另一电子图像,该图像将未完全应用焊剂的区域采用电子方法填充来表示焊剂;
图21是另一个显示放置了元件的电路板的一部分的示意图,该放置了元件的电路板采用了有网格带的网格区域;
图21A仍然是一个显示放置了元件的电路板一部分的示意图,该放置了元件的电路板采用了有网格带的网格区域;和
图22是一个显示了制造印刷电路板的步骤的流程图。
具体实施方式
说明本发明的过程与设备之前,在此声明,为使问题更易理解,这里有时作出对于某些对象的检验或特殊应用领域的检验的参考。这些参考及附带的示例只用于帮助对本发明的理解,不应看作将这里所说明的概念局限为仅能用于这里所说明的类型的系统。实际上,如前所述,本发明可用于多种不同的领域,经常用于对象识别或检测。本发明能用于识别对象,如人脸;或检测对象,如晶片瑕疵。其它应用领域包括图像数据库索引、医疗图像分析以及用于监督或监控应用。
在下面的说明书中,对于具有特殊成像系统、成像系统组件、特殊照明系统、照明系统组件、以特定频率特性或温度工作的光的系统也作出参考。当然,本领域一般技术人员都会注意,此处说明的概念同样应用于带有任何类型的成像或照明系统(包括应用于很宽频带的照明系统)或组件,只要该系统或组件具有期望的操作与功能特征。对带有处于特殊拓扑结构中的光的照明系统也作出参考。本领域一般技术人员也会知道,本发明的原理可以用很多的光拓扑结构实现,而且,此处讲到的仅作为例子,并不作为限定。
这里有时也参考了对某些对象的检验,如印刷电路板和印刷电路板上的电路元件。此处讲的电路元件,或更简单讲元件,是指一个器件,例如安装或连接到印刷电路板(PCB)的集成电路。该对象也可以是印刷电路板的瑕疵。PCB可以是任何类型。
本领域一般技术人员可以看出,本发明原理有很多应用,包括印刷电路板和元件检验及任何其它类型对象的检验,但不仅限于此。例如,本发明可用于如下场合:某对象放置在另一对象之上,并可能与其接触或十分接近;某对象嵌入另一对象之内;或者需要在一幅图像中将前景对象从背景中鉴别出来。同样,此技术可用于任何类型的印刷电路板或电路板元件,而与其本身功能无关。
因此,本领域一般技术人员可以理解,此处描述的发生在“印刷电路板”和“元件”上的说明书和处理一样可以用于人脸、指纹、公司标识或任何其它图像。同样,下面讲述的处理器可能包含任何种类的硬件连线或程序控制的集成电路,用来执行特殊任务或功能。
现在参考图1,用于执行印刷电路板(PCB)检验的处理系统10包括一个存储了封装库14的数据库组件12,封装库14中包含关于某个对象的详细信息。例如,一个PCB检验系统中,封装库14包含关于集成电路形状、大小的详细信息,不包含任何关于如何将器件放置到PCB上的信息。数据库12还包括一个检验计划库16,该检验计划库与一个为特定PCB生成检验计划并将检验计划结果存入检验计划库16的检验计划发生器18连在一起。
一个连接到数据库12的图像处理系统20包括一个图像捕获系统22、一个图像处理器24和一个图像接口单元25。图像捕获系统22可以是例如一个或多个捕获待检对象图像的照相机或传感器。在一个优选实施例中,照相机对应于彩色照相机。图像捕获后,对数据进行处理,如Bayer颜色恢复、白平衡、增强对比度等。图像接口单元25可以是例如图形用户接口(GUI),用户可以通过它与图像处理系统20进行交互。
图像捕获系统22捕获的图像被传递给一个实时运行系统26。该实时运行系统26根据检验计划16,决定对于一特定的板类型,选择哪些器件要在一个照相机的视觉场中检验。它也会判断哪些器件需要在多个照相机的视场检验(例如,如果与照相机框架边交叉的器件或器件对于一个照相机框架过大)。
为检验一个特定的器件,实时运行系统26调用一个检验器模块28。该检验器模块28包括一个封闭检测器30、一个θ评估器32、一个学习与调试系统34,一个图像模型处理器36,一个结构模型处理器38,一个几何模型处理器40和一个定向标志检测器42。实时运行系统26可以调用“检验模式”、“学习模式”或“调试模式”中的检验器模块28。在学习与调试模式中,系统10会学习并保存关于器件形状的属性,并更新或增加相关图像、结构及几何模型。实时运行系统26能通过用户接口模块接收用户输入。例如,调试过程中,能通过该用户接口向系统用户询问问题。
当实时运行系统调用检验模式中的检验器模块28时,检验过程被初始化。下面结合图5详细介绍检验过程。检验过程中检验系统10使用了多个模块。一个实例中,检验模块28为完成检验,按特定顺序使用了图像模型36、结构模型38和几何模型40。因此,检验系统10使用了图像模型、结构模型和几何模型来检验对象。
这三种模型类型通过使用每种模型类型的优点的方式结合在一起。图像模型36首先被用于PCB上一个较大的关心区域,以判断这个较大的关心区域内是否存在与正被检验对象的图像模型内存储的图片十分相似的对象,以判断被检器件是否与图像模型“相象”。这种使用与传统的图像模型使用不同,传统方式中图像模型被用来判断被检对象是否在一个图像中存在。按照本发明使用图像模型能提供一种相对较快的鉴别相似对象的技术。图像模型中包含的属性可以为颜色、亮度等。应该注意,图像模型通常都是二进制亮度颜色像素的固定模式。这些像素与对象的图像视图通常是一一对应的。然而,图像模型也可以是经处理的图像特征(诸如梯度或纹理特征)的固定模式。图像模型也可以具有许多不同的分辨率。图像模型的缺点是裸板或焊剂板上的许多特征与对象的特征可能很相象。
图像模型36被应用于被检对象的图像后,使用结构模型38。特别地,结构模型38用来判断对象是否真正在关心区域内。如果图像模型指示它认为器件在某一个特定位置,结构模型就会检查这个指示的器件是否具有该器件应具有的所有结构特征。结构模型可以用于提供与对象位置更加接近的近似值。如果图像模型指示它认为ROI中不存在与其内部图像相似的器件,结构模型在整个区域查找看起来与图像模型不同但具有正确的结构元件的器件。
图像与结构匹配步骤的输出指出1)没有器件,或2)器件大致在位置<x,y>,估计旋转r度。如果器件存在,几何模型就可用来精确定位被检器件或对象。
最后,几何模型40用来精确定位被检器件或对象。几何模型在按照边缘与“最高级别”模型规格相匹配的原则同时充分地搜索对象所有的边缘。使用几何模型的前提是器件或对象已经在某个已知的特定位置,几何模型40确定器件或对象放置的具体细节。几何模型利用亮度、颜色等的明显梯度来精确定位被检器件或对象。应当理解,几何模型除了能使用明显的梯度外,也能使用其它特征。例如,它能为包含变形点、其它几何特征以及甚至图像特征的区域分析图像,比如一个明显的精确定位的标记。所以,检验系统10中多个模型的使用使得系统10提高速度、减少错误,并能做出比以前系统更高的测量分辨率。
图2-6B、15、17和17A是一系列流程图,显示了一个处理设备执行的处理,该设备可作为例如检验系统10(图1)的一部分来检验印刷电路板(PCB)。或者,处理步骤可以由一个图像处理系统实现,此系统只需要简单的匹配一个非PCB检验过程中的图像。矩形元素(图2中元素54表示)在此表示“处理模块”,代表计算机软件指令或指令集。菱形元素(图2中元素50表示)在此表示“决策模块”,代表计算机软件指令或指令集,该指令或指令集影响处理模块表示的计算机软件指令的执行。
或者,处理与决策模块表示由相同功能的电路(例如数字信号处理器(DSP)电路或特定用途集成电路(ASIC))所执行的步骤。流程图没有描述任何特定编程语言的语法。流程图说明了本领域一般技术人员制造电路或生成计算机软件以执行特定设备所需处理所必需的功能信息。应当注意,很多常规的程序元素没有在图中表示,例如循环和变量的初始化以及临时变量的使用。对于本领域一般技术人员可以理解,除非具体指出,此处说明的步骤的特定顺序仅用于说明,并且在不脱离本发明精神的前提下可以改变。
下面的流程图2-6B中的一些步骤是作为非板特定的(non-boardspecific)而描述的,亦即无需任何特定印刷电路板的信息就可以执行这些步骤。流程图中其它一些步骤是作为板特定(board specific)的而描述的,亦即执行这些步骤至少需要一些关于一个或多个特定印刷电路板(或特定类型的印刷电路板)的信息。尤其是当检验印刷电路板的过程中特定元素或执行的步骤被表述成非板特定的,就表示这些元素的应用与正被制造的板无关。非板特定信息的例子包括器件的大小、特定器件的快照、默认的结构模型与几何模型。板特定的信息主要用于训练步骤,在训练步骤中,模型学习关心区域内焊剂上器件的实例与具有涂覆了焊剂或裸露的焊盘的关心区域之间的区别。任何需要有关板上器件的情况信息的步骤都是板特定的。
现在参考图2,显示了PCB检验过程。在检验过程中,处理从步骤50开始执行,在此处判断封装库是否被组装。如果封装库被组装,则处理转到步骤52,在这里,为特定PCB生成检验计划。如果封装库未被组装,则处理转到步骤54,在这里,封装库被组装后再转到步骤52,为特定PCB生成检验计划。
标注封装库以它包含一个视觉类类型。在一个特定的PCB检验应用中,定义了11个视觉类类型。应该理解,有些应用需要多于11个视觉类类型,而另一些则需要少于11个视觉类类型。任何特定应用中使用的视觉类的特定数量要根据该应用的需要选择。被划分为一个特定视觉类的器件都有相同的结构。例如,所有带金属端盖的个体都在彩色主体的两侧具有两个金属端盖。因此,一个大小为60×30密耳的电容(称为封装类型CC0603)和一个大小为120×60密耳的电阻(称为封装类型RC1206)即使大小、功能都不同,也属于相同的视觉类。
器件库一般将器件描述为具有优质尺寸和功能值的一个特定的封装类型。器件号常用来表示一个有特定功能值的封装类型。在这些库中,没有表明器件外观或怎样通过视觉特征分组。而图像处理系统,例如图像处理系统20(图1),期望将器件按照结构或外观分组。所以,用视觉类的定义标注任一器件库是很有用的。
应该注意,如果一个库已经被组装了(即如果被检对象的数据已存储在数据库)或能从计算机数据库或其它存储设备读出,则组装步骤就不再需要了,这样处理是从标注库开始的。实际当中,库中没有器件存储是很少发生的,并且作出检查以判断库中是否存在板上所有器件的条目。
封装库中包含如下信息:(1)器件尺寸;(2)器件名称;(3)指定的器件编号;(4)厂商;(5)主体大小;(6)器件是否含引线;(7)引线的大小;(7A)引线的类型;(8)引线的斜度;(9)器件是否有定向标记;(10)定向标记应在器件的什么位置。在一实施例中,类的类型应该是11种视觉类之一:(1)带金属端盖的离散个体;(2)鸥翼状(gull wing)集成电路(IC);(3)J型引线集成电路;(4)钽电容;(5)扁平引线;(6)CAP;(7)离散阵列;(8)MELF;(9)SOT;(10)二极管,和(11)球栅阵列(BGA)。
应当理解,可以根据需要加入其它视觉类。而且在某些应用中也需要包含不是器件视觉类的类的类型。例如,期望在特定瑕疵周围生成一组视觉类,如墓板(tombstoning)或锚板(billboarding)(一侧接触板而另一侧在空中抬起的器件)、受损器件和受涂污焊剂。封装库优选地作为可以根据需要由检验系统的不同器件访问的数据库而提供。器件库组装/标注步骤是非板特定的。
在某些应用中也期望将快照放入库中。现在认为,快照与板是相互独立的。然而有些测试显示,亮板上的器件比暗板上的器件显得明亮。
如步骤52所述,组装封装库后,生成检验计划。检验计划是通过获取板特定的信息而生成的。板特定信息可以是计算机辅助设计(CAD)数据、挑选和放置(pick&place)数据或/和PCB布局数据(例如Gerber数据)等形式。检验计划描述PCB上每个元件的位置,说明器件类型和其应有的方位。检验计划也描述板上基准点和过孔的位置。检验计划还描述用来检验每个器件的模型。检验计划由每个元件类型的默认模型初始化。
基本检验计划一生成,处理就前进到步骤56,步骤56对应于一个板特定的学习过程,基本检验计划中的信息在此被增强。这个板特定的学习过程将计划中已知的器件信息,如几何信息,与它观察到的视觉特征关联在一起。下面将联系图3A,3B,4A,4B,14A和14B详细介绍该学习过程。所以,前面讲的步骤50-56对应于在执行检验步骤之前发生的建立和学习的过程。
生成检验计划并完成板特定的学习过程后,处理进行到步骤58,执行检验步骤。该检验步骤是板特定的步骤,在下面的介绍中联系图5,6A和6B进行了详细讲解。在步骤58,检验在一个测试数据集中执行。一般来讲,首次安装或训练时,我们只希望得到三个训练板。首先是裸板,第二个是焊剂板,第三个是放置板。对于板上每种器件类型,我们都希望训练模型使其能检测出什么时候器件存在或不存在。通常,板上的器件都有不止一个实例。我们可将这些实例分成两组,学习组与测试组。每组都应有标记为肯定(器件存在)和为否定(器件不存在)的示例。系统训练学习组的模型,并确保它们正常工作于测试集。(测试集与学习集不可能有共同元素)
在步骤58完成测试数据集的检验后,处理进行到步骤60,此处决定调试模式是否应初始化。该决策主要取决于步骤58中测试数据集检验的结果。特别是如果步骤58的结果表明模型对整个PCB所有元件都有良好的效果,那么步骤60就会决定直接转到步骤62,在步骤62判断是否还有其它板需要检验。另一方面,如果步骤58的结果显示模型对于一个或多个元件或者整个PCB得不到良好的效果,步骤60就会决定转到步骤64,实现另一个学习步骤。这个学习步骤会采用其它的训练数据以及新的假肯定与假否定,并修正模型。除了重新训练假肯定与假否定外,用户或系统还可以修改图像模型中的快照、调整器件尺寸使其与数据对应更好、增加特定类型的模型、改变模块调用顺序,以及改变判断器件存在与否的决策功能。
应该注意,用户可以在任何时间将系统设为调试模式。同时也应注意,调试模式主要用于纠正检验计划中任何模型的错误。如果决定进入调试模式,那么处理转到步骤64,66的调试学习过程。如果在背景模式中学会了一个元件的一种新模型,就应用它替换检验计划中的已有模型。否则,一个特定模型的学习步骤就会在一个不同的图像集上重复进行。然后处理转到更新检验计划步骤,在这里,用新的“经调试的”模型代替问题元件的模型。
对于接下来是否进入调试处理步骤的判断可以通过两个方法中的任何一个来考虑。一种方法,检验系统在检验特定器件时自己发现问题(或者说,检验系统自己识别特定模型的问题-例如,模型检验特定器件时输出不良结果)。这种情况下,自身作为调试学习过程一部分的检验系统可以向用户询问一系列问题,例如:(1)有问题的器件与这种类型的其它器件在形状上有很大不同,这是正常变化吗?以及(2)系统检验该器件有困难,系统损坏了吗?
调试和随后的学习过程得到对于系统认为是问题器件的器件的经修改的特定模型或模型集。生成新模型或模型集后,问题元件的检验计划会被更新。
第二种方法是,系统不知道正确检验器件中存在问题(即系统未意识到正使用的模型正在产生错误的检验结果)。例如,系统不知道它正在给出假肯定(即将坏器件标为好器件,或将一个空的位置标记为有器件存在)和假否定(即将好器件标为坏器件,或错误地指示器件不存在)。在这种情况,需要外部干预(例如,用户或系统外的其它事物必须知道系统识别一器件时存在问题)。一旦确定问题就通知系统,并指导系统修改模型,以减少假肯定与假否定的数量。系统执行调试模式过程、学习并更新检验计划来响应手动指令,以达到减少假肯定与假否定数量的目的。在调试与随后的学习过程中,例如用户也可能给系统提供导致假肯定和假否定结果的图像。
注意,调试过程可以在任何时间执行(例如,检验完单个元件或板后,或者检验完一百个元件或板后)。
处理随后进入决策步骤,判断是否还有板需要处理。
完成学习步骤64后,为问题元件或PCB更新检验计划。即,学习步骤64生成的新模型与导致不良检验结果的器件或PCB有关。因此,下次检验那个特定器件时,检验过程使用新的模型。注意,所有检验计划都是板特定的。
然后处理重新回到步骤62,决定检验其它的PCB。如果还有PCB待处理,过程转到步骤68,检验下一个板。
下一个板检验完,处理转到步骤70,执行可选背景模型建立过程步骤。因此,常规检验中,可以执行背景模型学习步骤。
执行背景模型学习的步骤与学习步骤相同。背景模型学习能处理许多板的数据,因此包括的数据量相对于步骤56初始学习过程中用到的数据量很大。
如上所述,如决定不进行调试,处理就直接转到判断是否有其它板需要处理的决策步骤。
所以,如果步骤62判断没有其它的板需要检验,则处理结束。但如果有其它待检验的板,就会进入一个循环,在循环中下一个待检验的板被确认并检验,并重复建立背景模型和调试的可选步骤。应当理解,在一些实施例中,优选地不总是执行背景模型学习或调试。应当注意,如果与计划关联的板被重建,器件计划能够被保存并在后面使用。
图3A,3B,4A和4B说明了一个学习过程的元素。模型可能需要在板的特定图像上训练。对一个器件类型,模型需要知道如下示例:(1)没有任何围绕且旋转至正确方位的器件的严格修剪的图像;(2)焊剂上的器件及其围绕(称为“放置”图像);(3)无器件的焊盘及围绕的示例(称为“焊剂”图像);(4)无器件的裸露焊盘及围绕的示例(称为“裸露”图像)。因此,一个特定的实施例最少需要四个示例图像来为一个器件训练模型。然而在一些应用中,例子的最少数量可以小于四个。例如,在一些应用中(如一些印刷电路板检验应用),裸板并不重要。优选地,上面的图像(2)-(4)从同一个参考标志选取(即从PCB上同一位置的相同器件选取),图像(1)从一个不同的参考标志选取(即从PCB上与例子(2)-(4)不同位置的相同器件选取)。图像(1)也可以用非板特定的技术(例如,它可以在没有板的情况下单独成像)单独获得。
学习怎样检验一个器件时会发生几种不同的变化,包括:器件颜色/亮度的可变性、器件大小变化、照明不一致、或多或少的金属氧化、不同类型的焊剂以及多种的裸板的特征。裸板的特征包括:同一板上的不同颜色、厚度与光洁度的变化、过孔、线路和丝印。对比同一参考标志的裸露、焊剂和放置图像,至少能在学习中排除板的变化。快照应取自不同的参考标志,甚至不同的板,这点很重要,因为这关系到图像模型怎样完成匹配。图像模型检查是否有与关心区域中保存的快照完全相同的器件。如果该快照与位置图像源自同一参考标志,它就会与器件很好地匹配(差异为0)。器件的形状在各实例间相差很大,我们试图在学习过程中将这种变化量化。与本身匹配的快照不能告诉系统器件形状变化的数量。
我们希望系统在必要时能自动修剪示例的快照。可供选择的办法是:使用户导入一幅包括器件的板的图像或一幅背景上器件的图像,用橡皮圈圈住器件,将器件拷贝并粘贴到一幅新图像,将修剪的图像旋转到适当方位并保存。当有许多器件时,这种用户干预的方法是很麻烦的。
图3A表示一个自动获得旋转到默认方位的元件的快照的过程。因此,图3A中的方法描述了怎样自动获得一个器件的修剪的图像。
参考图3A,处理从步骤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,在步骤78输入一个新的ROI,在步骤80时这个新的ROI提供给图像与结构模型使用。循环重复下去,直到图像和结构模型指出器件在某个ROI内或所有的ROI都被扫描过但器件并不存在,循环结束。
如果在决策模块82中判断器件存在,处理过程就会执行步骤78。在步骤84,结构模型向几何模型提供在ROI内PCB上器件的大概位置。结构模型的输出包括位于ROI内的器件的中心<dx,dy>(期望位置的δ方位)和对器件怎样旋转的大概估计。结构模型可能更进一步将<dx,dy>和θ转换到被认为是集合模型的器件的每条边的位置。
几何模型将(即找到)器件的边界和任何旋转角度(θ)定位到子像素量级(例如一个像素的几十分之一)的精确程度。
如步骤86所示,一旦知道了器件的具体边界和它的旋转角,它就能被旋转到默认方位。器件旋转等于旋转角负数(-θ)的一个角度,获得一个“额定角度”,额定角度是在器件库中定义的(即,器件库有一个零度旋转角的定义,这与特定印刷电路板上的事物相关)。例如,如果系统知道器件逆时针旋转1度而器件的默认方位在顺时针90度的位置,系统就能将器件图像顺时针旋转91度,将它转到正确的方位。
如步骤88所示,一旦找到并修剪了快照,参考标志就可能被随机选取来提供放置、焊剂和裸露的示例。
图3B讨论了如何训练快照和板特定示例上的模型,它与图2中步骤56对应。
现在参考图3B,它讲述了结构模型内图像的学习过程。处理过程从步骤90开始,在步骤90,结构与图像模型被导入并被用于修剪、焊剂、放置和裸露的示例ROI。应该注意到,在图3B的流程中,图像是随机选取的。然而,某些情况下需要选择最优的示例图像集用于学习过程。这种技术将在后面结合图4介绍。
处理过程随后执行步骤92,结构模型默认质量和数量的性质或属性被将结构模型用于图像所学习到的值代替。在一个实施例中,使用四种图像——亦即修剪、焊剂、放置和裸露的图像。然而,可以看出,本发明不必局限于这四种图像,因为这只是普通的学习流程。结构模型的属性可以在几个不同的层次修改。在高层次,结构模型可能只需记录它在焊剂与放置图像上执行的好坏程度。性能可以被存储为一个分数集合,集合中至少有一个焊剂图像分和一个放置图像分。
结构模型也可以在较低层次修改。我们可以指导结构模型改变它的数量与质量的关系,以最好的符合放置图像并能最好地将其自身与焊剂图像区分开。
处理过程接下来执行步骤94,图像模型的默认属性被将图像模型用于这四幅图像(修剪、焊剂、放置和裸露图像)所学习到的值替换。
与结构模型相似,图像模型也可以在不同层次修改。首先,快照与模型关联;接下来可以存储焊剂与放置图像上的图像模型分数。而且,图像模型内的其它属性也可以被修改,以最大限度的适应放置图像并尽可能使图像模型与放置模型不同。例如,可以获悉在(x1,y1)和(x2,y2)处的焊剂图像内,图像模型匹配很好。这表示裸板上存在与器件非常相象的特征。我们可以生成一种计分功能,如果图像模型已知的最好匹配位置在(x1,y1)和(x2,y2),那么每当用于一个新的区域,图像模型就会给出较低的置信度匹配分数。
处理过程随后执行步骤95,用将几何模型施加于那四种模型所学习到的值替换几何模型的默认属性。例如,几何模型可以通过放置图像和快照测量器件及其子器件的真实尺寸。默认几何模型内存储的尺寸是所有厂商该器件类型期望尺寸的平均值。几何模型也能知道器件和板边界之间梯度的强度以及子器件边界之间梯度的强度。如果图像是彩色的,几何模型也可以知道计算梯度的最佳颜色通道。
处理过程到这里就结束了。
应当理解,选择一个随机的裸露、焊剂、放置图像的集合来进行训练(如图3B所示)可能不是最优过程。理想情况下,系统应该浏览所有不同类型的板(例如裸露、焊剂、放置)、查看所有参考标志,从而选择性能最好的示例图像。
所以,现在参考图4A和4B,它显示了如果希望选择在上述结合图3B的学习过程中使用的最佳的修剪、焊剂、放置和裸露图像,应执行哪些步骤。
处理从步骤96开始,导入:(1)板类型(裸露、焊剂、放置);(2)检验计划。示例放置板一般是指“铜板”,因为在这种板上放置器件可能有错误或遗漏。
处理过程中,步骤98生成与每个器件类型相关的默认模型;在步骤100,对一个特定的器件类型,默认模型在一个参考标志上训练,并应用于其它每个与这种器件类型相关的参考标志。应该注意,印刷电路板上要放置元件的每个位置(或板的位置)都被分配一个唯一的参考标志。所以,在检验计划中,每个参考标志都表示印刷电路板上一个特定的且唯一的位置以及放在板上那个位置的一个特定器件。
在步骤102,对一个特定的参考标志,用特定器件类型的默认图像和结构模型先来检查器件是否在“铜”板内,并且不在该参考标志处的焊剂和放置板内。
处理随后前进到步骤104,一旦步骤102的结论集被确认,就用从示例参考标志导出的三个图像训练模型(注意,不一定要用全部三个图像训练,有些实施例中裸板是没有用的)。如步骤106所示,随后就可以用学习模型检验与“铜”放置板和焊剂、裸板上器件类型都相关的其它参考标志。
如步骤108所示,在某个特定参考标志上训练的模型可以按照它们区分真肯定示例(“器件存在”)和真否定示例(“器件不存在”)的好坏程度来划分等级。对每个用作训练范例的参考标志,可以评价它提供这种区分的有效性。如步骤110所示,能给出最佳区分的示例图像集应作为训练范例用于全部成品板检验。
如步骤112所示,一个训练图像集有可能不满足一个器件类型模型实现区分真肯定和真否定。举例来说,对一个器件类型,板上可能既有棕色实例又有白色实例。与其只能在棕色或白色范例间选择,倒不如训练两组模型,一组用于棕色器件,另一组用于白色器件。可以用一种计算图像和结构模型分数输出的简单集群算法来判断是否需要多于一个的参考标志。该集群算法可以算出需要多少个参考标志示例。
在步骤114为每个集群选择图像的参考标志集。为每个集群生成默认的图像与结构模型。随后,为每个<模型,参考标志>组合执行学习过程。
处理随后转到步骤116,将学习后的模型保存回检验计划。处理结束。
应当理解,图4A和4B介绍了一种只有一个三图像组合(例如,裸露、焊剂和放置图像)被用于训练的方案。其它的N-1个图像用于测试,判断或测量模型工作的好坏程度。然而,应当理解,在一些应用中可能有超过一个参考标志用于步骤104的训练,因此需要选择能给模型提供对测试集(即余下的集合)有最佳区分能力的一个或多个最优参考标志集。
例如,假设有两个参考标志,一个用来提供快照,另一个用于训练焊剂和放置图像内的模型。再比如,给定三个参考标志,第一个用于快照;其它两个用于训练。推广到一般情况,共有N个参考标志,其中M(M<N)个用于训练,余下N-M个用于测试。最后要提醒的是,这个处理过程能用于选择最佳快照和ROI的最佳训练集。
应当理解,前面的说明中没有区分选择快照和选择焊剂、放置和裸露训练图像。最不理想的情况下需要将每个参考标志作为快照的候选而检查。但实际上,这会浪费太多的时间。
生成每个器件类型的模型并用一组示例图像训练这些模型后,系统就准备检验板了。图5说明了利用多个模型的检验过程的步骤。
现在参考图5,处理从步骤118开始,首先捕获一幅应包含特定器件类型的板上的关心区域的图像。处理随后转到步骤120,获得与该器件类型相关的模型。
接下来,如步骤122所示,将图像模型用于捕获的图像。对任何一个模型,都期望将其用于所有可能旋转角处的所有可能的中心区域,以确定器件的中心和旋转角。很明显,这是穷举搜索方法,它能保证如果存在与图像模型中快照相似的器件,图像模型就能发现它。对于速度问题,图像模型能在搜索ROI时采样中心及可能的旋转角的集合。采样越多,执行越快。然而,随着采样数量的增多,模型找到器件的可能性就会减小。为了使速度和效率都能够最大化,采用一种近似的精简策略:首先粗略地采样;再在最有可能成为器件真实中心和旋转角的区域周围进行细致采样。这种方案可用于任何模型,不仅是图像模型。
处理过程随后就进入决策模块124,判断图像模型是否指出了器件存在。
如果图像模型认为器件存在,处理转到步骤126,用结构模型在图像模型找到器件的相对较小的区域周围搜索;如果图像模型不能确定器件是否存在,处理过程转到步骤128,结构模型用于执行ROI的全面搜索。当结构模型搜索整个ROI时,它可能采用近似来精简搜索方法。
接下来,在步骤130,基于结构模型的结论,最终确定器件是否存在。(注意,在判断器件是否存在时,结构模型可能使用图像模型分数作为决策功能的一部分)如果认为器件不存在,处理过程结束。
反之,如果认为器件存在,处理接下来执行步骤132,用几何模型精确定位器件,同时也给出有关器件的更具体的旋转角信息。然后处理结束。
图6A和6B说明了特定参考标志处的特定器件的检验过程的更加详尽的步骤。不应用这三个模型的步骤是一样的。还说明了确定图像和结构模型是否指示器件存在的决策过程。
在步骤134,模型为一个器件类型载入检验计划。随后,如步骤136所示,系统为一个特定的参考标志得到一幅该器件和其围绕的图像。这幅图像标记为“关心区域”或ROI。该ROI可以是从一个较大的已经获得的板的图像修剪得来,或者是几个照相机画面整合在一起。根据器件类型、大小、用户输入的位置公差、模型内任何的围绕区域的大小来判断ROI的大小。
第一个可选的步骤138用于检验该ROI是否有这样的特征:显露在裸露和放置板上但当存在器件时就会封闭。这些特征包括过孔、线路和通常隐藏于类似集成电路等大器件或球栅阵列等隐藏了连线的器件下面的焊盘(涂覆焊剂的或裸露的)。该步骤的一种应用是寻找某种期望尺寸的圆形的、矩形的或线性的特征。另一种应用是将当前ROI与学习过的焊剂板上相同的ROI进行对比。如果步骤140指出很可能存在封闭特征,处理过程就会结束,因为这表示器件不存在。
如果步骤140指出封闭特征的不存在,就假设图像中存在某物(例如正确的器件或其它事物)。处理过程就会执行第二个可选步骤142处理ROI,寻找主要的角度特征。一种实现方法是计算梯度方向并在图像内每个点处放大。根据角度特征,系统计算图像内对象的主要角度。如果器件不存在,板上线路和焊盘的背景会产生0、90、180或360度的主要角度。这是因为这些特征通常与照相机画面成一条直线或垂直。如果器件存在,它的特征就会影响这组主要角度。最主要的角度θ不是0、90、180或360度,它被记录下来在后面使用。这能给系统提供器件旋转程度的一个估计值,但不能给出器件位置。
下一步,如步骤144所示,图像模型应用于这个ROI图像。图像模型主要观察这个ROI是否包含一个与修剪的快照相似但与裸露或放置图像完全不同的图案。它使用学习数据来计算正确器件存在的可能性或置信度。图像模型搜索整个ROI。该图像模型应该与图像中多个位置处多个旋转角的快照匹配,以防止器件本身是从期望位置迁移过来的并旋转超过期望旋转角。为增加速度,图像模型可以不在ROI内的每个位置检查该器件。现在是由器件大小和类型决定图像模型对图像空间采样的粗略程度。另外,为增加速度,图像模型仅检查两个旋转角,期望旋转角和θ。粗略搜索后,图像模型可以在最可能成为该器件中心位置的周围进行一次精确搜索。图像模型为ROI内的该器件输出最佳位置<x1,y1>和假设的角度θ2。它也输出一个器件存在的概率φ。
随后,在步骤146,判断图像模型是否指示器件存在。这是根据一个第一阈值决定的,该阈值用φ表示。应该注意,虽然此处使用了一个相对简单的阈值,但有些情况下,使用一个相对复杂的函数提供阈值会比较有利。例如,一个比较复杂函数可以使用已经计算的概率φ、图像快照和器件候选位置的实际匹配分数、候选位置和图像不是焊剂的概率来决定器件是否真的存在。
如果图像模型确定器件存在并看起来很像它学习到的,处理过程就会流转到步骤148,用结构模型验证器件的存在。它试图通过搜索图像模型发现器件位置的周围一个相对较小的范围来增加定位的分辨率。这种情况下,它只在位置<x1,y1>和角θ2周围按诸如1或2个像素这样的小节距检查器件。
如果图像模型不确定器件存在,处理过程流转到步骤150,结构模型对ROI进行完全搜索。同样,为了提高速度,结构模型不在ROI内每个位置和旋转角处检查器件。当前,器件大小决定这个粗略的结构模型怎样对ROI采样。此外,为进一步提高速度,结构模型只检查两个可能的器件旋转角,期望旋转角和θ。
结构模型最终决定器件是否存在。如果在这两种情况下结构模型都判断该器件在这个ROI内,它返回最佳位置<x2,y2>和角θ3,如步骤152所示。这些信息被送到几何模型,然后几何模型定位器件到子像素精度并将θ的估计值精确化,如步骤156所示。几何模型返回标记“存在”、最后的中心位置<x3,y3>和角θ4,如步骤158所示。
如果结构模型判断器件不存在,系统终止并返回标记“不存在”。
图6A和6B的流程是速度优化的。前面比较裸板的特征和计算θ估计值的可选的步骤可以省略。在最彻底的模式中,图像和结构模型能在ROI内的每个可能位置搜索该器件。它们也可以在多个角度搜索器件。另外,它们也可以采用由粗略到精确的方式搜索位置和旋转角。
通过学习和调试是可以指定一个可替换的图像或结构模型的。如果真是这样,这两个都会在适当的时间被使用。如果任一个匹配,处理过程就会如图4所示的那样继续。
应该注意,图6A和6B中的决策函数可以建立在其它比“概率>φ?”更复杂的其它因素或表达式上。这里仅是一个示例。模型分数的混合组合也可用于决策函数,例如用在结构模型决策函数。
也应注意,虽然图6A和6B显示仅输出“存在”和“不存在”,但存在一个中间情况。在该情况,图像中存在事物,尽管不是正确的器件。这种情况下,在结构模型阶段,使用第二决策函数。如果器件存在的概率居中,系统会分支到另一个分析过程,执行诊断并输出结果,如“器件损坏”、“错误器件”、“涂污焊剂”、“器件墓板”等。
最后,工作目标集中到印刷电路板检验,但这种策略可以在图像处理领域中应用。同样的策略可用于人脸识别、人物识别以及图像数据库实例搜索。
现在参考图7A和7B,额定方向内显示的一个图像模型160、一个结构模型162和一个几何模型164在捕获的图像区域166、168进行训练。图像区域166、168对应一个PCB的一部分。图像区域166是一个所谓的“焊剂”图像,表示这个PCB在电路元件即将被安装的区域存在焊剂(如焊料)。因此,区域166没有显示电路元件。图像区域168是一个所谓的“放置”图像,表示在区域168内的一个特定位置应存在一个电路元件170。
预定的视觉类都有这三种类型的模型的每一个。前面联系图2列出了一个印刷电路板检验的实施例所使用的11种类类型。如上所述,可以使用少于或多于11种的类的类型,而且类的类型的特定数量和类的类型本身应按照特定应用的需要选择。
为确定视觉类的数量,我们要考虑表面安装的印刷电路板的所有典型的元件类型。我们主要收集器件基于元件的通用视觉特征,目标是生成跨越所有典型器件类型的最少的视觉类。对PCB元件来讲,我们发现元件的引线类型能表示元件的视觉特征。例如,带端盖的元件一般都是电阻或电容,这两种元件都有两个金属端盖和一个彩色主体。带鸥翼状引线的元件通常是集成电路,它们通常是黑色的、矩形的、金属引线从本身伸出,元件在Z轴弯曲,随后伸直。在任何情况下,甚至虽然整个封装和其子器件的大小都可以改变,但元件整体结构保持不变。这就是结构模型适合于表示这些类的原因。
将视觉刺激源聚集到视觉类的技术不是印刷电路板检验所独有的,它可用于大多数的计算机视觉应用程序,用来生成一组覆盖应用的视觉刺激源类的模型。例如,应用于面部识别领域。不同性别、年龄的人,在不同亮度条件下、不同表情的面容可以根据视觉相似性归结分组。举例来说,以前与面部图像处理相关的工作可以将脸的正面归结为六种视觉类。虽然这些视觉类对人来讲没有名称或语义含义,但这种分组确实对面部识别问题有很大帮助。当处理一幅新的图像时,如果可以将它转变为这些视觉聚类之一,那么就可以将它看作一张脸;如果将它归类为不属于这个聚类,它就不是一张脸。一种诊断置信度的衡量标准是这个新图像与某一个面部聚类相近的程度。
视觉类聚集普遍应用于其它场合,例如医疗成像(如使用传感器将肿瘤外形特征化并聚类)、军事应用(如将合成光圈雷达检测的对象的图像分类),甚至用于交通流监控(如将交通流的不同模式分类)。
在这个特殊例子中,模型160-164中的每个都属于被称为离散(DISCRETES)的视觉类的类型。这11个视觉类的类型的每一个都包括全面匹配方法的9个元素:(1)封闭特征;(2)θ估计器区域;(3)图像模型属性;(4)结构模型属性;(5)几何模型属性;(6)方位标志类型;(7)备用模型;(8)学习参数;(9)决策函数。
封闭属性表示可能在ROI中存在的封闭特征;θ估计器属性表示该θ估计器应被使用的区域;结构模型属性描述了组成模型的区域、区域属性和关系;几何模型属性描述了高梯度或边缘属性的组成;定向标志属性表示器件本身可能存在的标志类型。
备用模型属性表示可用作每个器件在此特定类的类型内可以替换的模型。例如,备用模型可能包括一幅器件被倒置时的图像模型。学习属性包括有关每个类的类型内的每个模型的哪些特征应该被学习并保存的信息。最后一个属性表示确定器件是否存在的决策函数。决策函数可以使用一个或多个模型类型的输出作为输入。
下面的表1表示的是一个印刷电路板应用中的离散视觉类的视觉类信息示例。
                                   表1视觉类:离散
  封闭   θ估计器   图像模型   结构模型   几何模型   定向标志   备用模型   学习记录   备注
  焊盘   在整个ROI或误差边界矩形内应用   使用端盖电位加重的完全图像   3个主体区域2个焊剂区域2个背景区域   操作的多线顺序法:1)θ2)Dx Dy3)先修改θ符合端盖的外部边框;使用主体边框验证结果;修改原始规格的尺寸,尽可能适合器件。   多数情况下没有定向标志;少数情况下定向标志是一个条纹。   翻转器件应该存在模型   几何模型说明真实主体大小及端盖。保存所有结构模型的所有参数,包括:-端盖和焊剂之间决定率。-主体和背景。   结构模型最终判断存在/不存在
图像模型160相当于一幅修剪图像,比如按照前面描述的技术得到的修剪图像。此处的结构模型162相当于在视觉类离散中一个已经确定的元件的一个结构模型。因此,这个结构模型包括代表离散器件主体的第一部分162a;表示“端盖”的最接近末端的部分162b、162c(即一个离散元件的引线);代表板背景部分的侧面部分162d、162e;以及代表焊盘区的末梢部分162f、162g。几何模型164包括端盖区域164a、164b和主体区域164c。
在一个实施例中,系统在两个不同的旋转角处训练。所以,图7B给出了图像模型和几何模型160’、162’、164’的第二方位。模型160’、162’、164’基本与模型160、162、164相同,只是简单的旋转了一个与模型160、162、164不同的角度。
在图7A中,模型160-164和区域166、168表示的是对应0度和180度的旋转角。如图所示,结构模型部分被旋转,使之与有一般方位的电路元件匹配。在图7B中,图像、结构、几何模型,以及区域160’-170’表示的是额定值等于±90度的情况。图7B也表示的是PCB的一个焊剂和一个放置部分。这些模型用在区域166、166’、168、168’内正被检验的PCB的一个实时处理部分中,进行比较和鉴别。前面的描述将这些看作在这两/四个不同方位的真肯定与真否定的ROI实例。
现在参考图8,图像、结构、几何模型160-164从期望的0度角放大。放大一个模型就是指生成不同的、但可能是原始模型变化的过程。例如,器件实际上可以在一个关心区域内被旋转超过标定旋转角。器件大小实际上也可以与数据库中默认的大小有细微的差别。我们可以通过建立模型的不同实例对这些变化预先考虑。实际当中,我们不可能在每一个可能的旋转角或大小都生成、存储并匹配一个模型。在放大阶段,我们采样不同可能的变化来生成一些能跨越每个变化空间的模型。在这个特殊示例中,生成两个额定角度等于±10度的新模型。对每个空间的采样,比如可能旋转角的空间,都可以按照器件类型、器件大小和已知的器件公差来改变。
现在参考图9A-9D,其中图像、结构和几何模型160-164用于三个不同的检验场合,分别表示在图9B-9D中。注意,图像模型160包含一个黑色的、具有白色记录和灰色端盖的快照。第一种情况中,如图9B,图像模型160和由检验设备生成或捕获的图像170的子区域匹配很好。图像170中的器件也是黑色的、具有白色记录和灰色端盖。图像模型160与捕获图像170的一个子区域匹配完后,这个子区域的中心(x,y),相当于该器件的中心,就被保存到图像处理系统中(注意,我们可以用很多不同的方法参考一个子区域,比如其左上角)。图像处理系统的当前状态是它粗略假设正确的器件在图像170内的位置(x,y)的周围。结构模型162(图9A)现在就被用来验证元件172是在标出的位置(用圆标记),并精确定位。
在一个实施例中,结构模型162采用将其收集的区域放进位置(x,y)周围的一个刚性空间结构中的方法验证元件在标出的位置存在。如果满足区域与区域间的关系属性,结构模型就指示器件存在。在有时间限制的应用中可能会更倾向于使用这个实施例。
在另一个实施例中,结构模型实际可能改变其元件器件162a-162g的形状和空间位置,来与元件的区域对齐。如果结构模型能将其区域162a-162g对齐且任何一个区域162a-162g的形状改变都未超过可接收的限度,那么就会给出器件存在的指示。然而,如果结构模型不能在不使其任一区域162a-162g超过可接收限度地变形的同时将区域162a-162g对齐,那么就会指出器件不存在。
应该注意到,在一个包含(x,y)的相对较小的区域周围执行搜索需要结构模型。采用这种方法有两个原因:(1)图像模型运行于粗略模式,即它在图像中每隔N个像素检查一次;和(2)即使图像模型运行于精确模式,图像模型也对器件上诸如记录这样的高对比度区域极其敏感。如果记录不是正好在器件中间,图形模型就不会匹配到器件的中心,而匹配到记录的中心。
一旦结构模型确认元件存在于在(x,y)周围的ROI内并精确定位了它的中心位置,就使用几何模型166。如前面联系图1-6B描述的那样,几何模型本质上是一个精确的边缘定位器。几何模型用于为元件172计算精确的dx,dy值和θ值。dx,dy和θ值表示图像中正被检验的元件172偏离该元件通过检验计划计算的期望或理想位置值的距离和角度。应该注意,dx,dy和θ值都是参照元件172的中心计算的。可以理解,对于不同类型的器件,元件的中心计算是不同的。对于分类为离散的电路元件来讲,这就是电路元件主体与端盖的中心。对于分为类为IC的电路元件来讲,只有引线决定dx,dy和θ(主体是不可控的)。
图9C所示的示例中,图像模型160与一个在检验过程中由检验系统捕获的元件182的图像180相匹配。如上所述,在这个特殊的例子中,图像模型160是黑色的并带有灰色的端盖,元件182的图像是绿色的而且非常明亮(饱和端盖)。所以,图像模型160与元件182的图像匹配的并不好。在这个实例中,用结构模型162搜索一个关心区域(ROI)184来定位该电路元件182。如果发现电路元件182,就使用几何模型计算这个特定电路元件的精确的dx,dy和θ值。同样要注意,此处的dx,dy和θ值都是参照元件182的中心计算的。
在图9D所示的第三个示例中,图像模型仍然与图像检验设备捕获的图像匹配不好。此处图像模型匹配不好的原因是电路元件不存在,而且图像186内的焊盘和电路板背景在颜色和亮度上与图像模型有很大的不同。这就告诉系统元件不存在,或者存在一个与图像模型不同的元件。所以,如图9D所示,再次使用结构模型162搜索整个关心区域186寻找这个元件。在这个特定的示例中,结构模型162没有在关心区域188内发现这个电路元件,检验系统由此确定,器件未在印刷电路板上它本应存在的位置。
注意,有些情况下,图像模型可能与一幅没有器件的图像匹配很好。这种情况下,焊盘和背景可能与图像模型的快照非常相似。图9B中描述的同样的过程就会发生。结构模型会在器件最有可能的中心位置周围执行一次搜索,这个中心位置是由图像模型提供的。这个图像不太可能与结构模型中严格的规范相匹配。所以,结构模型会声明器件不存在。
现在参考图10A-10E,这是一个特定封装类型-CC0805的器件的结构模型分数相对焊剂和放置图像的实例变化的坐标图。该坐标图也表明了这个实例是被确定为含有该器件还是不含该器件。坐标图中显示了两个标识点分组,190和192。分组190表示器件不存在,而分组192表示器件存在。在这个特定的示例中,分数和实例对表示模型能精确地区分开放置器件与焊剂图像。组190内的点都是真否定,组192内的点都是真肯定。例如,在图10B和10C中,系统分析图像196和图像198并正确地标记它们为器件不存在,因为它们含有组190中的分数。在图10D和10E中,系统分析图像200和202并正确地标记它们为器件存在,因为它们含有组192中的分数。如图10A所示,共分析了197个焊剂实例和788个放置实例。焊剂和放置实例190、192间较宽的间距194表示系统能确定地区分开这两个组。
现在参考图11A和11B,它显示了封装类型RC1206的一系列放置器件和焊剂器件的结构模型分数对实例的坐标图。如图11A所示,一个放置器件分组204被明显地与一个焊剂器件分组206分开。而另一个放置器件分组208位于一个与焊剂器件分组206和放置器件分组204没有明显分开的区域中。结果分组208内的元件是结构模型不能确定为放置图像的元件。
在下面区域204与上面区域206之间的区域208出现的结果相当于结构模型不能确定是焊剂还是放置器件的元件。在这个特定的示例中,封装类型是RC1206;一个大小为120×60密耳的电阻。所以,封装类型RC1206正在使用的这个特定的结构模型没有准确地识别出来组208中的器件集合。
组208内表示的图像是用来分析并寻找任何共性的。从结果分析中发现,组208中所有的图像都来源于印刷电路板不同实例上的特定参考标志R29。
由于封装类型RC1206正在使用的结构模型不能准确识别出参考标志R29的一个特殊器件,就会在板上这个特定位置为这个特定器件生成一个新的结构模型。这个为封装类型RC1206和参考标志R29生成的新模型一经使用,如图11B所示,就会获得放置与焊剂器件之间充分的间距,图中由分组210位置表示。组210显示了为参考标志R29处的放置器件的图像产生的新结构模型所生成的分数。所以,图11B表示,R29模型(组210)和非R29模型(用于焊剂图像的组206和用于放置图像的组204)的识别分数都在焊剂和放置器件间产生充分的间距。
图11A和11B说明,通过检查示例图像的聚集,有可能鉴别出需要专业化或特殊训练的模型的元件,这些专业化或特殊训练的模型用于检验和识别。例如,前面联系图4介绍的步骤100-108说明了一种生成间距坐标图的技术,该技术是描述模型为一组焊剂与放置图像鉴别肯定与否定实例的能力的一种衡量方法。图4讨论了怎样选择最好的模型集合,使这组模型能在焊剂与放置模型之间给出充分的间距。
注意图11A中处理过程结束的位置,我们给器件类型RC1206增加了一个新的结构模型。这表示有两个结构模型与这个器件类型关联。可以使用同样的过程决定我们是否需要建立一个新的图像或几何模型。
现在参考图12,它显示了一个与RC0805类型元件相匹配的图像模型。同样,在这个特定的示例中,焊剂和放置器件分组214,216之间也存在充分的间距,因此表示图像模型可以正确地区分一个焊剂和一个放置器件。分析表明,对这个器件类型,匹配方法最有可能遵循如图9A中所描述的流程。在图9B中,结构模型更多地用于验证而不是器件检测和位置识别。
图13表示类型RC1206的焊剂与放置图像的图像模型分数。焊剂分数显示在组218,放置分数在图13中用短线表示。根据本发明的技术得到的结果并参考图13,可以发现,使用现有技术时(亦即,只使用一幅图像模型识别并区分一个印刷电路板的放置与焊剂区域),焊剂与放置图像之间只有很小的或没有间距,如图13所示。本发明中描述的过程能够用结构模型补偿图像模型的局限。已如图11B所示,结构模型确实能在焊剂和放置图像间提供充分的间距。
分析表明,对这个器件类型,匹配方法最有可能遵循如图9C和9D中所描述的流程。在图9C和9D中,结构模型被用来进行器件检测和位置识别。
现在参考图14A-14C,它显示了一种学习某个模型的技术,该技术能为一种器件类型的图像提供良好的分类。处理过程从步骤230开始,从模型类型集中为器件类型选择一个模型。该模型可以是一个图像模型、结构模型或几何模型。尽管这些模型中的每一个都可以被独立地学习,我们现在却同时学习一个图像和一个结构模型。
如步骤232所示,模型被用于同一器件类型所有的“放置图像”。“放置”图像就是指正被检验的对象位于其内期望位置处的某一个范围内的图像。处理过程随后转到步骤234,在已选择的模型与关心区域(ROI)内每个“放置图像”之间计算一个“放置图像分数”。每个“放置图像分数”都是一个代表或象征模型与某个特定放置图像之间匹配质量的值。
处理过程再转到步骤235和238,同一个模型再用于相同器件类型的所有焊剂图像,并在已选择的模型与关心区域(ROI)内每个“焊剂图像”之间计算一个“焊剂图像分数”。
放置图像分数和焊剂图像分数计算完后被保存,在后面的处理中使用。接下来,在步骤242执行一次“局外分数”(或更简单讲“局外值”)检查。名词“局外值”是指那些看上去在放置图像分数和焊剂图像分数的典型值域外部的放置与焊剂图像分数。如过一个局外值已经确定,那么就应该确定这个局外值的原因。亦即,如果局外分数是由于一种不会重复的反常形势或者特征导致的,那么这个局外点就不应被包括在分数分布的计算中。反之,如果局外分数是由于一种有望重复的反常形势或者特征导致的,那么这个局外点就应该被包括在分数分布的计算中。例如,一个端盖上带有焊剂的独立元件就会给出一个局外的分数。我们希望从有效的放置分数集合中排除这个局外分数,因为它实际上是一种故障。同样,如果一个放置图像标记不准确,即期望的对象不在图像中,我们也希望从放置分数集合中排除与这种图像相关的分数。另一方面,如果一个独立元件通常具有黑色主体,却发现该器件的一个有效实例的主体是白色的时(或者某种完全不同的外观),我们希望将这个有效的实例包括到有效放置分数的分布中。
例如,现在简单简要参考图14C,它显示的是两个分数发生次数的柱状图。X轴的每个元素代表一个分数域,Y轴表示该分数或分数域发生的次数。曲线254符合高斯分布,拟合放置图像分数的柱状图;曲线256也符合高斯分布,拟合焊剂图像分数的柱状图。点258表示一个放置图像分数的局外值。亦即,点258相当于一个不包括在用于生成曲线254的计算之中的一个点。类似地,点260表示一个焊剂图像分数的局外值,所以点260相当于一个不包括在用于生成曲线256的计算之中的一个点。
现在再参考图14A和14B,处理过程进行到步骤244,计算一个间距函数。该间距函数的计算方式由多种因素决定,包括步骤230内选择的模型的类型、放置与焊剂图像的特征和正在使用的模型的特定应用类型,但并不仅限于此。举例来讲,在类似于印刷电路板检验处理的应用中,模型相当于图像模型,间距函数可以由一个相关函数的分数产生。这个分数可以由任何模型匹配方法生成。例如,模型可以是一张带有一个复杂匹配函数的脸,结果分数可以输入同一个过程,从而生成一个如步骤244所述的间距函数。
这里的间距函数试图拟合一个肯定示例的高斯曲线和一个否定示例的高斯曲线。一个高斯曲线可能不足以实现充分的曲线拟合,因此需要几条高斯曲线来逼近每个类中的数据。例如,如果PCB有两种完全不同的背景颜色,焊剂示例就可能产生一种双模式分布。对于一般技术人员来讲,存在几种合适的集群算法,比如K-平均值法。另一种计算间距函数的方法是找到与数据拟合最好的曲线,这是以我们不知道或者没有利用分布函数为前提的。
给定一个新的数据点,可以查看在该点处的曲线值。根据计算的值和分布的性质,可以计算该数据点属于某个类的概率或可能性。有些情况下,该点可能在两个或更多的分布的交集内,这时可计算该点属于每个分布的可能性。最简单的情况下,我们可以将这个点标记为属于有最高可能性的分布。然而,我们可以报告这个具有较低置信度的诊断。
计算完间距函数,处理过程流转到决策模块246,判断该间距函数是否可以接收。同样,判断的方式和判断要考虑的因素也是由多种原因决定。举例说明,在一个类似于印刷电路板检验过程的应用中,模型相当于图像模型,间距函数包括相关函数,通过计算最小与最大相关值之间的差异并将这个差异与一个预定的阈值相比较,进而决定间距函数是否可以接收。
然而,在其它应用中,间距函数应体现区域和区域属性之间的相对关系与结构模型的匹配程度,或者梯度图案与边缘模型的匹配程度。
应该理解,对任何为肯定和否定示例生成分数的应用来讲,处理过程大致相同。但有可能有多个分数输出。在这种情况,需要用一个更高维度的高斯曲线逼近数据。
如果在决策模块246中判断间距函数可以接收,处理过程就会转到步骤248,在此保存模型,用于后面使用。另一方面,如果决策模块246中判断间距函数不能接收,处理过程就会转到步骤250,在此将模型标记为不可使用(或简单的将该其标记为要被处理掉的模型)。这个“坏”模型可以用作后面模型的基准。
处理过程随后转到步骤252,判断是否有需要评估的同一类型的其它模型存在。如果没有,处理过程结束;相反,如果步骤252判断存在这种模型,处理过程流转到步骤253选择下一个模型类型,随后再流转回步骤232。在步骤232,如上所述的处理步骤再次重复执行。
对于是否存在任何其它模型的问题可以有几种理解的方法。在最狭义的范围内,就是问是否有同一类型的任何其它模型存在。例如,如果模型类型是图像模型,问题就成为是否存在任何其它相关的、需要尝试去推翻所有数据的图像。如果问题变成是否有该器件或器件类型的任何其它的模型存在,那么接下来的模型类型就会是一个结构或几何模型。
图14A-14C所说明的学习方法或决策函数发生器是一种使用所有可用的真肯定和真否定的方法。决策函数可以随着新示例的应用不时的改善。模型的改善可能发生在,例如在图2中模块70的背景学习步骤中。
这里的学习方法与图3B和4A、4B中所描述的不同。这个方法使用所有可能的数据生成模型;图3B和4A、4B集中于获得最具代表性的数据训练模型。
应该注意,在图1和14B中,假设只可用两种类型的诊断结论:器件存在、器件不存在。然而,我们可能需要其它的类来表示器件损坏、错误器件、焊剂涂污等。如果新测量的图像介于真放置和真放置之间,我们就可以为每个标记的图像计算分数分布,或者生成一个更加复杂的函数来对新图像分类。
介绍本发明的技术和系统之前,先对一些介绍性的概念和术语进行解释。名词“未组装”下面将用于表示一个没有使用电路元件的电路板。这里使用的未组装电路板或者包含焊料或者不包含焊料。焊料可以理解成一种液体焊剂,只用于印刷电路板上特定的焊盘或区域。焊料经常通过丝印处理使用。焊剂区域是指电路元件先被放入其内的、并随后在制造阶段焊接的区域。尽管后面介绍的是使用焊料的表面安装的电路板,但应注意,本发明同样可以很好地用于使用不同焊接过程的穿孔电路板。
相反,名词“组装”和“部分组装”用于表示使用了电路元件的电路板。
动态颜色辨认过程利用一种识别,即一个未组装电路板在板表面上存在有限数量的不同颜色分布。许多情况下,这个不同颜色的数量的有限值是一个相对较小的数字。随着科技的发展,未组装电路板可以采用多种材料、应用多种工艺制造。例如,未组装电路板可以用纸质合成物、玻璃纤维和聚四氟乙烯(PTFE)制造。未组装电路板显示的颜色经常与一个阻焊层相关,制造过程中,该阻焊层被放在未组装电路板的每个外表面上。阻焊层有多种颜色,包括蓝色、绿色,但不仅限于此。阻焊层被用于未组装电路板的大多数外表面,包括该未组装电路板所有未使用焊料的地方。阻焊不用于未组装电路板上使用了焊料的地方,使用了焊料的位置是用来连接电路元件的。阻焊也不用于未组装电路板上必须裸露的区域,如连接元件的焊盘。除了上述颜色外,丝印经常用于未组装电路板表面的阻焊面。丝印有一个α-数字参考标志,有时主体外形也与电路元件对应。丝印一般为白色,但也可以是多种颜色。
印刷电路板上的颜色可以分成有限数量的颜色种类。所以,无论电路板的材料、阻焊的颜色、使用了焊料的位置的颜色、裸露位置的颜色、丝印的颜色是什么,与一个特定的未组装电路板表面相关的颜色都能被分成相对较少的颜色类。例如,对于一个有绿色阻焊和白色丝印的玻璃纤维未组装电路板来说,在电路板表面上使用了阻焊的位置一般都是绿色的。对于一些裸露的区域,铜导体或者焊层可以是铜色的;焊接电镀导体或焊层可以是银色的;连接元件的焊盘或类似物可以是金色的。使用了阻焊的区域一般有两种绿色阴影。第一种绿色阴影对应于亮板的颜色,用于未组装电路板表面的某个区域,该区域内使用铜的或焊接电镀的导体或者焊层,这个绿色阴影在阻焊下面是可见的。第二种绿色阴影对应于暗板的颜色,用于未组装电路板表面的某个区域,该区域内未使用铜的或焊接电镀的导体或焊层,此绿色阴影在阻焊下面也是可见的。未组装电路板颜色的变化与“颜色种类”一致。
可以看出,与一个特定电路板对应的某个特殊颜色种类可以在电路板表面变化。例如,有些情况下,阻焊被用于一个丝印过程中。应该注意,阻焊的丝印过程与前面介绍的、连接在印刷电路板上给参考标志或电路元件提供线路的丝印过程是不同的。使用丝印阻焊时,阻焊的厚度可能发生变化,导致颜色变化。但这种颜色变化通常都比较小。
示例的玻璃纤维未组装电路板有绿色阻焊和白色丝印,对于不同的电路板,尤其是不同的生产批量,它可以有不同的颜色。例如,相同的未组装电路板的同一生产批量中,不同的未组装电路板的阻焊可以是不同的绿色阴影。尽管设计者通常都说明未组装电路板的材料,此处是玻璃纤维,但阻焊一般都不标明。因此,在其它示例中,不同批量的未组装电路板的阻焊可能改变。举例说明,某个生产批量的阻焊是绿色的,除非特别声明,相同的未组装电路板的另一个生产批量的阻焊就是蓝色的。只不过,无论制造电路板的材料是何种颜色,可用于任何未组装电路板的颜色数量相对较少。
本领域普通技术人员了解的未组装电路板制造技术包括多种工艺步骤和多种材料。可以期望未组装电路板制造技术的未来发展能生产出颜色也相对较少的电路板。动态颜色识别过程并不仅局限于当前的未组装电路板制造方法或材料。
现在参考图15,一种处理印刷电路板的技术包括一组步骤302。在步骤302中,选择了一个被称为调色板区域的电路板上的区域,并且测量、采样或者捕获这个被选择区域的特征。应该注意,在后面的介绍中,电路板关心的特征是颜色。而且,为使描述清楚,后面的处理有时将调色板区域特别的引用为“颜色调色板区域”,电路板特征的处理过程也会按照颜色特征的内容来讲解。但应了解,包括结构、亮度但又不仅限于此的其它电路板特征也可以代替或与颜色关联使用。
从后面的讨论中可以知道,颜色调色板区域内的电路板颜色可被用于后面的多个电路板检验模型,包括前面联系图1-14C介绍的所有模型,而且不仅仅局限于这些。这当中的某些模型可以例如判断电路元件是否被放置于电路板上每个电路元件应该存在的位置,而且有些情况下判断电路元件是否被正确的放置在印刷电路板上。被处理的电路板可以是一个焊剂、放置、未组装或回流电路板。
在步骤308,电路板上的颜色调色板区域被标明。每个调色板区域都是优选的,保证每个调色板区域都对应电路板上多个不同颜色中的一个。图16A中显示了颜色调色板区域的一个特定示例。然而,可以确保每个颜色调色板区域对应于电路板上一个相对较小的区域。优选地,每个颜色调色板区域都被选择,使得每个区域是一种不同的颜色。用这种方法,多个颜色调色板区域中的每一个都有一种对应于前面介绍的颜色种类中的一种不同的颜色。在一个优选实施例中,颜色调色板区域要选在后面组装步骤中不装配电路元件的位置内。能保证这个目标的一种方法是在组装的电路板上选择颜色调色板区域。
在关于电路板检验的一个特殊的实施例中选择了5个颜色调色板区域。这5个颜色调色板区域中的每个都可以对应下列颜色种类之一:(1)裸露焊盘的颜色;(2)暗板的颜色;(3)亮板的颜色;(4)丝印颜色;和(5)焊剂的颜色。从前面的讨论可以看出,裸露焊盘的颜色对应未组装电路板上裸露的和没有覆盖阻焊的区域。也应了解,暗板相当于未组装电路板表面上或周围没有铜的或者焊接电镀的导体的区域,这种区域在阻焊下面可见。同样要注意,亮板的颜色对应未组装电路板表面上或周围有铜的或者焊接电镀的导体或焊层的区域,这种区域在阻焊下面可见。丝印颜色对应于丝印的颜色,焊剂的颜色对应于焊料的颜色。
尽管前面介绍了与5个颜色调色板区域对应的5种颜色,然而本发明仍可以使用少于或多于5种颜色种类,每个颜色种类都要与一个颜色调色板区域关联。同样,尽管也只介绍了对应于裸露焊盘的颜色、暗板的颜色、亮板的颜色、丝印颜色和焊剂颜色的颜色调色板区域,颜色调色板区域仍可使用任何能与未组装电路板相关颜色区分开的颜色种类。
应理解,一个特定的应用中使用的颜色种类数量和调色板区域数量是由多种因素决定,包括但不仅限于:被检物中不同颜色的数目、不同颜色以及颜色阴影的变化(例如颜色间的阴影)和重要性。
在作为可选步骤而提供的步骤310中,颜色调色板区域被一个图像处理系统扫描,该图像处理系统可能例如类似于图1中的图像处理系统20。这个图像处理系统光学扫描电路板,由此提供与每个颜色调色板区域相关的一个或多个像素值。根据这些像素值,图像处理系统生成一个与每个颜色调色板区域相关的初始调色板值。每个单独的初始调色板值都可对应一个带有传统的红、绿、蓝(RGB)颜色值的颜色矢量。本领域技术人员熟悉的其它颜色坐标系统当然也可以使用。所以,步骤310给出了与每个颜色调色板区域相关的调色板值。
应当理解,颜色调色板区域有一个颜色调色板区域的大小,它可以包含与该图像处理系统相关的一个或多个像素。还应当理解,这一个或多个像素中的每一个都与对应于具有传统红、绿、蓝(RGB)色值的颜色矢量的像素值相关联。在一个示范实施例中,每个单独的初始调色板值都是相关颜色调色板区域上像素值的平均值。
每个带有初始特征调色板值的颜色调色板区域都被分配了一个颜色种类,这些颜色种类对应于类似前面介绍的亮板的颜色、暗板的颜色、丝印、裸露焊盘的颜色和焊剂颜色。所有这些选择的颜色调色板区域都必须在处理过程继续前与一个颜色种类关联。每个与相应颜色种类相关的初始调色板值都应包括一个集合,保证仅使用这个颜色集合就能重现电路板的精确图像。
在步骤312,图像处理系统扫描一个对应于上面有焊料的未组装电路板的“焊剂”电路板。在步骤308中选择的调色板区域(本例中是颜色调色板区域)被用于动态地生成另一组调色板值,此处就是焊剂调色板值(即,从一个涂覆了焊剂的电路板得到的调色板值)。可以看出,焊剂调色板值不必与步骤310中生成的初始调色板值相同。然而,在步骤308确定的颜色调色板区域的位置和大小保持不变。每一个焊剂调色板值都与步骤310分配的颜色种类相关联。
在步骤314中,一个涂覆了焊剂的电路板“被学习”。在用于涂覆了焊剂的电路板时,术语“被学习”用于表示一个图像处理系统检查电路板以在对应于关心区域(ROI)的特殊区域建立电路板颜色的过程,其中ROI对应于电路板上随后会放置电路元件的位置。步骤312和步骤314的过程,共同标记为步骤304,将会联系图17进一步进行讨论。可以说,在步骤314,检查ROI来判断ROI处的颜色,其中ROI没有电路元件。同样在步骤314,“焊剂网格值”被与每个ROI关联。
在步骤316,图像处理系统扫描一个“放置”电路板。放置电路板(也称为组装电路板)就是电路元件放置在电路板上它们各自位置的电路板。电路元件可以使用前面曾用于电路元件安装的焊接焊盘处的焊剂固定,或者另外使用曾在装配步骤用于电路板的环氧树脂固定。放置电路板还没到加热焊料的制造步骤,因此是由焊剂将电路元件连接在电路板上。尽管后面介绍的是焊剂与放置电路板,但应该知道,此处讲解的技术也可以用于一个焊接后回流的电路板。
步骤308选择的颜色调色板区域再次被用于动态生成另一组调色板值,此处是放置调色板值。可以看出,放置调色板值既不需要与步骤310生成的初始调色板值相同,也不需要与步骤312产生的焊剂调色板值相同。然而如前所述,步骤308所确定的颜色调色板区域的位置和大小保持不变。每一个放置调色板值都与步骤310分配的颜色种类相关联。
在步骤318中,这个放置电路板被学习。与用于放置电路板一样,术语“被学习”用于表示一个检查组装电路板以在前面步骤314中创建的关心区域(ROI)内建立电路板颜色的过程。在步骤318,这些ROI对应到电路板上已放置元件的位置。所以步骤318中检查ROI来判断ROI处的颜色值,其中ROI具有电路元件。同样在步骤318,“放置网格值”被与每个ROI关联。
在步骤320中,一个电路板被检验,这里指图像处理系统扫描一个检验电路板。一个检验电路板可对应于一个焊剂、放置、未组装或回流电路板。步骤308中选择的颜色调色板区域还要再次被用于动态生成另一组调色板值,此处是“检验调色板值”。可以看出,检验调色板值不需要与步骤310中生成的初始调色板值相同,也不需要与步骤312中生成的焊剂调色板值相同,还可以不同于步骤316中产生的放置调色板值。然而如前所述,步骤308中确定的颜色调色板区域的位置和大小保持不变。每个检验调色板值都与步骤310中建立的颜色种类相关联。
在步骤322中,产生的调色板值用于一个检验过程,尤其适用于利用了图像模型、结构模型和几何模型中的一个或多个的检验过程,前面联系图1-14C介绍过这些模型。调色板值也可以用于“否定模型”图,“否定模型”图明确地使用了调色板值来判断元件是否存在,后面联系图17A对此作了介绍。
决策模块324完成了一个循环,其中重复步骤320和322直至所有电路板都被检验过。
现在参考图16和16A,其中提供了将有相似参考标志的相似元素,一个传统的放置电路板320包括:一个具有裸露焊盘颜色的裸露焊盘区域322;一个具有暗板颜色的暗板区域324;一个具有亮板颜色的亮板区域326;一个具有焊剂颜色的焊剂区域328;一个具有电路元件的颜色的电路元件330。在图16A中包含了一个丝印334用于帮助说明。
颜色调色板区域350a-350e对应于电路板320上的选中区域。在一个实施例中,颜色调色板区域由正在观察印刷电路板并确认代表板上每种颜色位置的印刷电路板上的位置的用户手动选择。因此,选出的颜色调色板区域350a-350e提供了与电路板320关联的所有颜色的标识。
在这个特定示例中,颜色调色板区域350a对应于具有裸露焊盘颜色的裸露焊盘区域322;颜色调色板区域350b对应于具有暗板颜色的暗板区域324;颜色调色板区域350c对应于具有亮板颜色的亮板区域326;颜色调色板区域350d对应于具有丝印颜色的丝印334。电路元件334与一种没有标明的“其它”颜色关联。
应该理解,虽然此处的颜色调色板区域350a-350e被表示成矩形,但是颜色调色板区域350a-350e可以有不同的大小和形状。也应理解,虽然此处的颜色调色板区域显示在印刷电路板上特定的位置,但是只要电路板上每种颜色都被一个颜色调色板区域表示,颜色调色板区域就可以位于电路板上的任何位置。还要注意,虽然在本范例中显示了6个颜色调色板区域,但是任何特定应用中颜色调色板区域的数量都要根据必须被表示的颜色的数量确定。因此,少于或多于6个颜色区域都有可能采用。
特别地,与颜色种类对应的颜色调色板区域350a-350e的数目是根据多种因素选择的,包括但不仅限于:与未组装电路板关联的不同颜色的数量;随之的处理负载;某个特定电路板上的一种特殊颜色种类的变化,上面介绍过,这种变化通常较小。尽管本实施例中显示了对应于5种颜色种类的5个颜色调色板区域350a-350e,但在其它实施例中,可以有多于或少于5个颜色调色板区域与各个颜色种类关联。可以看出,颜色种类“其它”可以对应于与未组装电路板无关的任一颜色。
颜色调色板区域350a-350N的形状根据多种因素选择,包括但不仅限于图像处理系统的机械特征。颜色调色板区域形状的选择应能保证该区域能够装入一个单一板颜色类型。
颜色调色板区域350a-350N的大小的选择也要根据多种因素,包括但不仅限于使用颜色调色板区域的电路板零件的大小。颜色调色板区域350a-350N的尺寸必须足够小,以保证只包含需要某种颜色的特殊电路板零件。颜色调色板区域350a-350N也要足够大,以保证颜色的平均出现在与颜色调色板区域350a-350N相关的像素之中。调色板区域大小的选择互相之间可以不同,以保证选择的颜色调色板区域只包含一种单一的颜色种类,并确保颜色调色板区域足够大,能获得一个或多个像素采样的平均颜色。
颜色调色板区域的位置要根据能够特征化每个颜色种类的电路板零件的位置来选择,颜色种类联合起来能表示与未组装电路板相关联的颜色的完整范围。
颜色调色板区域350a-350e按照图15中步骤304-308所描述的方法处理。特别地,在图15的步骤306,给每个单独的颜色调色板区域350a-350e测量一颜色调色板值。如前所述,每个颜色调色板区域内的颜色调色板值都能被表示成一个RGB颜色矢量。
所以,颜色调色板区域350a-350e对应于印刷电路板上的位置,在这些位置处,期望未组装电路板或者组装电路板320的未组装部分显现前面介绍的颜色种类所代表的颜色。如前所述,应当理解,只存在相对较少的颜色种类,因此,只有相对较少的颜色调色板区域350a-350e与组装电路板320关联。还应当理解,如前所述,颜色种类的特定颜色对本发明的目标无关紧要。
现在参考图17,显示了一个使用动态生成的调色板特征(例如调色板颜色)在每个ROI处学习未组装/涂覆焊剂的板的颜色布局的过程。然后这个被学习的颜色布局被用于图17A中所描述的检验。处理从处理模块406开始,在处理模块406,在印刷电路板上的调色板区域处进行动态测量。应当理解,术语“动态”在此用来描述某种技术,该技术通过测量/生成与颜色调色板区域相关的特征调色板值而将每个电路板分别特征化,并且其中对于一个给定类型的印刷电路板,板与板之间颜色调色板区域的大小、位置和数量恒定。
应注意,颜色调色板区域的大小、形状和位置可以按照前面结合图15介绍的方法选择。在一个优选实施例中,图像处理系统在每个调色板区域内动态地测量未组装印刷电路板的电路板特征(例如颜色)。但应该知道,尽管本实施例中测量是在未组装印刷电路板上进行的,但也可以在一个裸露电路板上甚至一个组装电路板上进行同样的测量。在具体的实施例中,得到印刷电路板的图像(例如,通过一个类似于前面结合图1所介绍的图像处理系统20),并对图像进行测量。
在处理模块410,生成特征调色板值。在一个将颜色作为关心特征的实施例中,调色板值通过将像素数据表示成颜色矢量而生成。例如,动态获得的颜色调色板值可以表示成传统的红、绿、蓝(RGB)颜色值。所以,调色板值可以通过将像素数据转换或变形为颜色空间值(例如,RGB颜色空间的值)而生成。
一旦确定了调色板值,就给每个调色板区域分配一语义标签(例如,“裸露焊盘的颜色”、“暗板的颜色”、“亮板的颜色”、“丝印”、“焊剂”)。如果关心的特征是颜色,而且测量在例如图16A的电路板上进行,那么区域350a(图16A)就会被分配语义标签“裸露焊盘的颜色”;区域350b(图16A)就会被分配语义标签“暗板的颜色”;区域350c(图16A)就会被分配语义标签“亮板的颜色”;区域350d(图16A)就会被分配语义标签“丝印”;区域350e(图16A)就会被分配语义标签“焊剂”。
处理模块412得到印刷电路板上关心区域(ROI)的一幅图像。一个关心区域相当于印刷电路板上的一个器件和围绕该器件的区域的一幅图像。也可以说,一个关心区域是一个待检验器件在印刷电路板上将被放置的位置和其周围区域的一幅图像。
在处理模块414,确定网格区域。网格区域对应于一关心区域(ROI)内的特定位置或区域。每个网格区域都带有一个或多个网格带,后面会结合图18进行介绍。
网格区域的位置确定后,图像处理系统就测量这个网格区域内每个网格带的期望的特征(例如颜色),如处理模块416所示。随后,在处理模块418生成网格带的值。一般情况下,网格带的值是通过将在模块416中得到的网格带的值与在模块410中得到的调色板值相比较而得到的。就颜色来讲,是通过判断调色板内那种颜色与网格带的颜色值最相近来分配语义标签的。在一个期望特征是颜色的具体实施例中,网格带的值可以通过将像素数据表示为颜色矢量来产生。举例来讲,每一个动态获得的网格带的值都可以用传统的红、绿、蓝(RGB)颜色值表示。也可以说,动态获得的网格带的值可以被表示成一种用一般技术分析的颜色分布。RGB值随后就可用于比较。亦即,任何一般技术人员都熟悉的技术也都可以用来表示和比较网格带的值。所以,在颜色是关心特征的情况下,网格带的值可以通过将网格带内的像素数据转换或变换成颜色空间值(例如RGB颜色空间值)产生。
网格带的值确定后,就会给每个调色板区域分配语义标签(例如“裸露焊盘的颜色”、“暗板的颜色”、“亮板的颜色”、“丝印”、“焊剂”)。举例来说,如果在图18的ROI 450上进行测量,区域452a就会被分配语义标签“亮板的颜色”;区域452b就会被分配语义标签“丝印”;区域452c-452e就会被分配语义标签“暗板的颜色”;区域452f-452g就会被分配语义标签“丝印”。
应当理解,印刷电路板上可以有一个或多个网格区域,每个网格区域可以有一个或多个网格带。也应理解,每个网格带都有一个网格带大小,这个大小可以包含与图像处理系统相关的一个或多个像素。还应理解,这一个或多个像素的每一个都与一个带颜色矢量的像素值相关,此处的颜色矢量可以用传统技术(例如RGB值)表示。在一个示范的实施例中,网格带的值是作为该网格带内所有像素值的平均值而计算的。但要理解,也可以使用任何传统技术给一网格带分配值。
决策模块420执行一个循环,在该循环中对于正被学习的印刷电路板上所有的ROI重复执行模块412-418。
如前所述,特定电路板结构的每个电路板都有或多或少的不同颜色。举例来讲,如果两个电路板有相同的电路板结构,一个电路板用有第一种颜色的阻焊制造,而另一个电路板用有第二种颜色的阻焊制造,那么这两个电路板颜色就会不同。然而两个电路板都能用图17的过程进行处理,因为这个过程动态地调整到第一和第二种阻焊的颜色,并且给出在任何特定电路板、甚至颜色不同的电路板之间都变化很小的结果。
图17A描述了检验一组装印刷电路板的过程。但应了解,同样的过程也适用于裸露电路板甚至未组装电路板的检验。也要理解,图17A的检验过程为每个正被检验的印刷电路板都重复执行。
现在参考图17A,检验组装印刷电路板的处理过程始于处理模块422和424,在这两个模块中,得到一幅印刷电路板的图像,并在被检印刷电路板上的调色板区域动态进行测量。应理解,调色板区域的大小、形状和位置按照前面结合图15所描述的方法选择。调色板区域也要按照已联系图17介绍过的处理过程进行学习。在一个优选实施例中,图像处理系统在每个调色板区域内动态地测量组装印刷电路板的颜色(或其它期望的特征)。
在处理模块426,生成这个特定的印刷电路板的特征调色板值(例如调色板区域处的像素值)。当使用的印刷电路板的特征是颜色时,调色板值可以通过将像素数据表示成颜色矢量来生成。例如,动态获得的特征调色板值可以表示成具有传统的红、绿、蓝(RGB)颜色值。所以,调色板值就是通过将像素数据转换或变换成颜色空间值(例如RGB颜色空间值)来生成的。
确定调色板值以后,就给每个调色板区域分配语义标签。同样,如果颜色是电路板使用的特征,相应的语义标签就是“裸露焊盘的颜色”、“暗板的颜色”、“亮板的颜色”、“丝印”和“焊剂”。举例来说,如果在图16A进行测量,区域350a就分配语义标签“裸露焊盘的颜色”;区域350b就分配语义标签“暗板的颜色”;区域350c就分配语义标签“亮板的颜色”;区域350d就分配语义标签“丝印”;区域350e就分配语义标签“焊剂”。
如前所述,一种特定电路板结构的每个电路板都有或多或少的不同特征。举例来讲,如果两个电路板有相同的电路板结构,一个电路板用有第一种颜色的阻焊制造,另一个用有第二种颜色的阻焊制造,那么这两个电路板就有不同的颜色。但是,两个电路板都可以用图17A中的处理过程检验,因为该过程能动态地调整为第一种和第二种阻焊的颜色,并给出在任何两个特定的印刷电路板、甚至不同颜色的电路板之间变化很小的结果。
接下来,在处理模块428,获得印刷电路板上一关心区域(ROI)的图像。这个关心区域对应印刷电路板上一器件及围绕该器件的区域的一幅图像。或者,这个关心区域也可以对应印刷电路板上某个位置及围绕该位置的区域的一幅图像,这个位置是待检验器件被期望放置的位置。
随后,在处理模块430,确定网格区域。网格区域对应于一个关心区域(ROI)内的特定位置或区域。每个网格区域都有一个或多个网格带,后面会结合图18进行介绍。
如处理模块432所示,一旦确定了网格区域的位置,图像处理系统就测量该网格区域内每个网格带的颜色。然后,在处理模块432,生成网格带的值。网格带的值可以通过将像素数据表示为颜色矢量来产生。例如,这些动态获得的网格带的值每个都可以用传统的红、绿、蓝(RGB)颜色值表示。或者,动态获得的网格带的值也可以用一种颜色分布表示,随后可以用标准技术对这种颜色分布进行分析。再或者,可以使用任何一种本领域一般技术人员熟悉的技术。所以,网格带的值就是通过将网格带内的像素数据转换或变换成颜色空间值(例如RGB颜色空间值)来生成的。
如步骤434所示,确定网格带的值以后,就为每个网格带分配一个语义标签(例如“裸露焊盘的颜色”、“暗板的颜色”、“亮板的颜色”、“丝印”、“焊剂”)。举例来讲,如果在图18中的ROI450进行测量,那么带452a就会分配语义标签“亮板的颜色”;带452b就会分配语义标签“丝印”;带452c-452e就会分配语义标签“暗板的颜色”;带452f-452g就会分配语义标签“丝印”。
应理解,可以(而且一般是)存在一个或多个网格区域,每个网格区域都有一个或多个网格带。还应理解,网格带有一个可以包含与图像处理系统相关的一个或多个像素的网格带的大小。还应理解,这一个或多个像素的每一个都与具有可用任何传统技术(例如RGB值)表示的颜色矢量的像素值相关。在一个示范的实施例中,网格带的值是用作为该网格带内所有像素值的平均值而计算的。然而,需要理解,任何一种传统技术都可用于给一个网格带分配值。
可以看出,在步骤434,可以将一个与未组装电路板无关的语义值或者颜色种类分配给一网格带,这个网格具有在步骤432确定的未知的网格带的值。例如,语义值“其它”可用来表示一个网格带的值,该值不属于与未组装电路板相关的特征调色板值。
在说明步骤436-440之前,应当注意,这些处理步骤与一个使用了否定模型的检验过程相关。应当理解,否定模型并未试图将电路元件分类。而是,否定模型仅将网格区域分类为具有与焊剂电路板相关的特征或者具有干扰颜色的特征。
在步骤436,将测量到的网格带的值与从一个未组装电路板获得且已经保存的网格带的值相比较。当如图17所示的检验过程在一个组装电路板上执行时,比较从组装印刷电路板得到的网格带的值与从未组装印刷电路板得到的网格带的值,结果就会指出在组装印刷电路板上存在一个有故障的电路元件。
如果决策模块436判断测量到的网格带的值与从未组装印刷电路板得到且保存的网格带的值一致时,处理过程就会执行处理模块440,指出器件不存在或当前电路板是一个未组装电路板。
如果决策模块436判断测量到的网格带的值与从未组装印刷电路板得到且保存的网格带的值不一致时,处理过程就会执行处理模块438,指出存在某物遮掩了未组装印刷电路板。所以,如果网格带的值不匹配,就给出ROI内有某物使涂覆焊剂的网格带的值被遮掩的指示。这个遮掩的对象最有可能是元件。否定模型判断这个“不是”焊剂ROI。
可以看到,在一个实施例中,在步骤432为正被检验电路板生成的网格带的值与为一个焊剂电路板在图17中的步骤416产生的网格带的值在步骤436进行比较。在一个优选实施例中,为检验电路板在步骤434提供的语义调色板标签与为这个涂覆焊剂的板在图17中的步骤418提供的语义标签在步骤436进行比较。第三个实施例中,为检验电路板在步骤432生成的网格带的值与为检验电路板在步骤426产生的特征调色板值在步骤436进行比较。第四个实施例中,为检验电路板在步骤434提供的语义调色板标签与为这个焊剂电路板在步骤410生成的语义调色板标签在步骤436进行比较。
应该注意,虽然涂覆焊剂的和检验的板之间与单独颜色调色板区域相关的特征调色板值可以不同,但是为焊剂电路板的颜色调色板区域分配的语义调色板标签或颜色种类却与为检验电路板的颜色调色板区域分配的语义标签相同。举例来讲,某种情况下,一个对应于颜色种类“暗板”的语义值就可以在一个电路板上是蓝色,而在另一个电路板上是绿色,相当于两种不同的特征调色板值。绝对颜色不影响否定模型。
决策模块442执行一个循环,模块428-422在循环内为正被检验的印刷电路板上所有的ROI重复执行。一旦不再有需要考虑的关心区域,这个印刷电路板的处理过程就结束,在处理模块422中可以重新开始另一个印刷电路板的处理过程。
现在参考图18,焊剂电路板450的一个ROI包含一个示范的网格区域452,它有7个网格带452a-452g。尽管显示的是7个网格带,但应理解,网格区域452可以包含任何数量的网格带(一个或多个),而且网格带可以具有任意的大小、形状和相对位置。涂覆焊剂的网格带的数量、大小、形状和位置要根据多种因素选择,包括但不仅限于:对应于该网格区域的ROI内的电子元件的大小;该电子元件的可接收的放置位置的容许限度;一个网格带内可以被平均来提供该涂覆焊剂的网格带的值的像素数量。
电路板450也包含两个焊盘454a,454b,以及两条线路区域455a,455b。电路板450还包括:一个板区域456,该区域的颜色已经用一个第二动态调色板值分类为亮板的颜色;一个板区域458,该区域的颜色已经用一个第三动态调色板值分类为暗板的颜色;丝印460a,460b,它们的颜色已经用一个第四动态调色板值分类为丝印的颜色。
网格带452a内的颜色种类对应于亮板的颜色;网格带452b对应于丝印颜色;网格带452c对应于暗板的颜色;网格带452d对印于暗板的颜色;网格带452e对应于暗板的颜色;网格带452f对应于丝印颜色;网格带452g对应于丝印颜色。如前所述,颜色种类是图像处理系统从与颜色调色板区域相关的颜色种类中选取的,此处的颜色调色板区域在图15中的步骤308确定。与涂覆焊剂的网格带452关联的特定颜色种类是在图17中的步骤414生成的。
注意,网格带452a-452g中的一个或多个可能覆盖有不同颜色特征的电路零件。举例来说,网格带452f覆盖亮板区域456、暗板区域458和丝印460b。然而,图像处理系统的一种相关处理算法可以用来判断网格带452f最有可能属于那种颜色种类。这个处理算法计算网格带内不同颜色的分布。该算法也计算颜色的统计信息,如网格带内的平均值和方差。为“焊剂”/“未组装”电路板计算并储存颜色的属性,并将这些属性在检验时与“放置”电路板相比较,进而判断元件是否存在。颜色属性的比较可以用很多种从颜色分布中导出的标准颜色矩阵来完成。此处的网格带452f与丝印颜色种类相关。
现在参考图18A,一放置的电路板550的一个ROI包含一个示范的网格区域552,它有7个网格带552a-552g。电路板550也包含两个焊盘554a,554b和相关线路555a,555b,它们都有一个已经确定了的颜色种类。在此,焊盘554a,554b和线路555a,555b都是焊剂颜色。电路板550还包含:一个板区域556,该区域的颜色已经分类为亮板的颜色;一个板区域458,该区域的颜色已经分类为暗板的颜色;丝印560a,560b,它们的颜色已经分类为丝印的颜色。此处,ROI 550也包括电路元件570。所以,网格带552a内的颜色种类对应于亮板的颜色;网格带552b内的颜色种类对应于丝印颜色;网格带552c内的颜色种类对应于暗板的颜色;网格带552d内的颜色种类对应于“其它”的颜色;网格带552e内的颜色种类对应于“其它”的颜色;网格带552f内的颜色种类对应于丝印颜色;网格带552g内的颜色种类对应于丝印颜色。
如前所述,图像处理系统从与颜色调色板区域相关的颜色种类中选择这些颜色,此处的颜色调色板区域在图15中的步骤308确定。此处,网格位置552d,552e没有与颜色调色区域相关、并在图17中的步骤420测量的动态特征调色板值当中的电路板颜色相对应。与网格带552相关的特定颜色种类在图17中的步骤414生成。
应注意前面提到,该检验系统可以使用一种“否定模型”。这个“否定模型”在元件焊盘之间、板的围绕区域内使用如图18和18A所描述的固定网格模拟裸板。这个否定模型基于的论据有:(1)板上每个网格带都可用一个颜色较少的集合描述(对应于焊盘、焊剂、铜上的阻焊、衬底上的阻焊和丝印);(2)即使集合内的绝对颜色在板上变化,PCB某部分的特定位置处的颜色构成也保持不变;(3)即使元件外形在板上变化,它也与裸露电路板的颜色和结构不同。当元件在焊盘上没有清晰的引线、并且元件主体能与未组装的板区分开时,用这个模型判断元件是否存在是很有效的。一般来讲,判断电路元件不存在主要通过判断网格区域内网格带的相关颜色是否与未组装电路板颜色种类相匹配来完成。
现在参考图19和19A,一焊剂电路板的一部分的光学图像600包含了一幅没有焊剂的图像部分602。理想情况下,固定焊剂充分地用于电路板所有部分,而图像部分602的存在表明焊剂仅被用于相应焊盘的一部分。可以看出,在执行图15-18所描述的处理过程之前,需要修改图像,以电子地填充未涂覆焊剂的图像部分602。否则,处理时该未涂覆焊剂的图像部分602就会被分类为错误的颜色种类。因此,在图19A中,这个未涂覆焊剂的图像部分602已经被电子地填充了,以提供一致的焊盘图像606。
现在参考图20和20A,一焊剂电路板的一部分的ROI图像610包括了一个未涂覆焊剂的图像部分612,表明焊剂还没有用于任一对应的焊盘。对本发明来讲,在执行图15-18介绍的处理过程之前,需要电子地填充这个未涂覆焊剂的焊盘图像612。否则,处理时这个未涂覆焊剂的焊盘图像612就会被分类为错误的颜色种类。因此,在图19A中,这个未涂覆焊剂的焊盘图像612已经被电子地填充了,以提供具有焊剂的焊盘图像616。
现在参考图21,放置电路板650的一个ROI包含一个示范的网格区域652,这个网格区域有21个网格带652aa-652gc。这些网格带表示为652xy,x代表网格区域652中的一行,y代表网格区域652中的一列。举例来讲,网格带652aa对应位于第一列、第一行的一个网格带。电路板650也包含两个焊盘654a,654b和两个线路区域655a,655b。线路区域的颜色已经被测量过,并保存为一个第一动态调色板值。线路区域一般都被归类为亮板的颜色(覆盖铜的阻焊层)。电路板650还包括:一个板区域656,其颜色已经归类为亮板的颜色;一个板区域658,其颜色已经归类为暗板的颜色;已经归类为丝印颜色的区域660a,660b。因此,网格带652aa-652gc内的颜色就与下面的表2中所描述的颜色种类分别对应。
表2
  网格带   颜色种类   网格带   颜色种类   网格带   颜色种类
  652aa   亮板颜色   652ab   亮板颜色   652ac   亮板颜色
  652ba   丝印   652bb   丝印   652bc   丝印
  652ca   焊剂颜色   652cb   暗板颜色   652cc   焊剂颜色
  652da   其它   652db   其它   652dc   其它
  652ea   焊剂颜色   652eb   其它   652ec   焊剂颜色
  652fa   丝印   652fb   丝印   652fc   丝印
  652ga   丝印   652gb   丝印   652gc   丝印
如上所述,图像处理系统从与颜色调色板区域相关的颜色种类中选择颜色,此处的颜色调色板区域在图15中的步骤302中确定。与放置元件的网格带652相关的特定颜色种类在图17中的步骤414测量/生成。
应该注意,电路元件670要正确放置,保证它相对于焊盘654a,654b完全对称地定向。所以,当给电路板加热使焊盘654a,654b上的焊剂熔化时,电路元件被完全焊接到焊盘654a,654b上的可能性就很高。
可以看出,由于在这个特定的示例中电路元件670是对称放置的,所以网格区域652的每一列a,b,c中的颜色种类就都相对于中间列(即网格区域652的列b)对称地定向。
尽管显示的是21个网格带652aa-652gc,应当理解,可以使用多于或少于21个网格带。网格带的大小和位置可以根据多种因素选择,包括但不仅限于电路元件的大小和电路元件放置的容许偏差。
现在参考图21A,一放置电路板750的一个ROI包含一个示范的网格区域752,这个网格区域有21个网格带752aa-752gc。这些网格带表示为752xy,x代表网格区域752中的一行,y代表网格区域752中的一列。举例来讲,网格带752aa对应位于第一列第一行的网格带。电路板750也包含两个焊盘754a、754b和两个线路区域755a、755b。线路区域的颜色已在前面被测量过,并保存为一个第一动态调色板值。电路板750还包括:一个板区域756,其颜色已经归类为亮板的颜色;一个板区域758,其颜色已经归类为暗板的颜色;区域760a,760b,其颜色已经归类为丝印颜色。因此,网格带752aa-752gc内的颜色就与下面的表3中所描述的颜色种类分别对应。
表3
  网格带   颜色种类   网格带   颜色种类   网格带   颜色种类
  752aa   亮板颜色   752ab   亮板颜色   752ac   亮板颜色
  752ba   丝印   752bb   丝印   752bc   丝印
  752ca   焊剂颜色   752cb   其它   752cc   焊剂颜色
  752da   焊剂颜色   752db   其它   752dc   焊剂颜色
  752ea   其它   752eb   其它   752ec   焊剂颜色
  752fa   丝印   752fb   丝印   752fc   丝印
  752ga   丝印   752gb   丝印   752gc   丝印
如上所述,图像处理系统从与颜色调色板区域相关的颜色种类中选择颜色种类,此处的颜色调色板区域在图15中的步骤302确定。与放置元件的网格带752相关的特定的颜色种类在图17中的步骤414测量/生成。
应该注意,电路元件770未正确放置,这使得它相对于焊盘754a,754b方位不对称。所以,当给电路板加热使焊盘754a,754b上的焊剂熔化时,电路元件被完全焊接到焊盘754a,754b上的可能性就很小。
尽管显示的是21个网格带752aa-752gc,应当理解,可以使用多于或少于21个网格带。网格带的大小和位置可以根据多种因素选择,包括电路元件(例如电路元件770)的大小,以及电路元件放置的容许偏差。
如前所述,图像处理系统能判断元件是否位于与网格区域752对应的一个ROI。而且,由于有了具有充足数量和空间的网格带752aa-752gc的网格区域752,这个光学检验系统就可以确定元件,例如元件770,未正确放置在焊盘754a、754b上。
可以看出,与电路元件670的不对称放置相对应,每个列a,b,c中的颜色种类都未相对中间列(即列b)对称定向。仅从这个信息,光学系统就能确定电路元件在焊盘754a、754b上是倾斜的。
除了检查颜色种类,光学系统也使用这些已经测量并为同样结构的另一个放置电路板保存的颜色种类,来更精确地确定一个未正确放置的电路元件。
现在参考图22,在模块780中,上面带有蚀刻、沉积或其它方式的电子电路线路的未组装印刷电路板被输出给一个如模块782所示的焊剂工作站。这个焊剂应用工作站可以是一个丝印印刷机或任何一般技术人员都熟悉的设备,它将焊剂应用于印刷电路板。某些实施例中,焊剂可以手工处理。无论采用何种方式或技术将焊剂应用于印刷电路板,焊剂都是被用于预先决定该印刷电路板区域的。焊剂应在给定范围内按预定数量使用。处理过程随后流转到模块784,一个焊剂检验系统检验已用于印刷电路板预定位置的焊剂。由此可以确定在模块782中使用的焊剂是否被正确地用在印刷电路板上每个恰当的区域内。如果确定焊剂在某个或多个检查位置没有被正确应用,那么该印刷电路板就返回到模块782,将焊剂重新用于每个它在第一次应用中未被正确使用的位置。所以,模块782和784重复执行,直到贴料检验系统确认焊剂已被正确地用于每个适当位置。
处理过程再流转到模块786,焊剂已被正确应用的印刷电路板被提供给一个元件放置工作站。这个元件放置工作站包含一个被称为挑选与放置的机器,或者说这个放置工作站包括手动放置印刷电路板上的电路元件。选择自动的或手动的元件放置技术要根据多种因素,包括但不仅限于:电路元件的复杂性;电路元件对手动或机器处理的敏感性;自动系统处理特殊大小和形状的电路元件时的技术局限性;自动系统相对手动系统的成本效率。
一旦电路元件放置在印刷电路板上,处理就通过模块788,在模块788中,一个放置检验工作站对放置的电路元件执行检验。响应于模块788处来自放置检验工作站的指令,处理可以根据模块788内放置检验工作站的结果,返回到处理模块782或处理模块786。
一旦在模块788中确定电路元件放置正确而且没发现其它瑕疵,处理过程就流转到模块790,在模块790,一个焊剂回流工作站将回流焊剂,从而将电路元件连接到印刷电路板。焊剂回流工作站可以是自动工作站或手动工作站。在模块790的焊剂回流后,处理过程流转到模块800,在模块800,一个放置与焊接接头检验工作站检验每个电路元件及关心的焊接接头。如果未发现问题,处理过程就流转到模块802,在模块802,得到一个组装印刷电路板。
应当注意,在上面的描述中,前面曾介绍过的包括使用调色板区域的那些检验过程可被用于前面提及的任何或所有的检验步骤784,788,780。
介绍过本发明一些优选实施例以后,本领域一般技术人员都可以很明显地发现,其它体现了优选实施例概念的实施例也可以使用。因此可以知道,这些实施例不应仅限于公开的实施例,而仅应由所附权利要求的本质和范围所限定。
本文引用的所有出版物和参考文件都被完整地参考,从而被专门包含于这里。

Claims (16)

1.一种用于生成电路板检验系统中使用的电路板特征调色板的方法,该方法包括:
确定印刷电路板上的特征的值域;
为印刷电路板建立多个所述特征的种类,包括根据在印刷电路板上确定的特征的值域,为该印刷电路板建立有限数量的特征种类;和
选择印刷电路板上的多个第一位置,这多个位置中的每一个都具有至少代表特征种类中一个种类的特征值,多个第一位置对应于电路板的多个第一调色板区域,第一调色板区域包括多个特征种类的所有全部特征值的多个位置。
2.如权利要求1的方法,进一步包括通过在每个第一调色板区域动态测量第一印刷电路板的特征的值,检验第一印刷电路板。
3.如权利要求2的方法,进一步包括在第一印刷电路板的一个或多个第二位置动态测量特征的值,这一个或多个第二位置与多个第一调色板区域不同。
4.如权利要求3的方法,其中一个或多个第二位置的每一个都对应印刷电路板上的一个关心区域。
5.如权利要求3的方法,进一步包括将在第一个印刷电路板上一个或多个第二位置中的每一个位置处动态测量的特征的值与在第一个印刷电路板上每个第一调色板区域动态测量的特征值相比较。
6.如权利要求5的方法,进一步包括根据比较结果,在一个或多个第二位置中的每一个位置处为特征的每个值确定一个种类。
7.如权利要求6的方法,包括将在一个或多个第二位置的每一个位置处的特征的每个值的种类与在一个或多个第二位置的每一个位置处的特征的每个值的期望种类相比较。
8.如权利要求2的方法,进一步包括通过在第二印刷电路板上的每个第一调色板区域动态测量特征的值,检验第二印刷电路板。
9.如权利要求8的方法,进一步包括在第二印刷电路板的一个或多个第二位置动态测量特征的值,其中一个或多个第二位置与第一调色板区域不同。
10.如权利要求9的方法,进一步包括将在第二印刷电路板上一个或多个第二位置的每一个处动态测量的特征的值与在第二印刷电路板上每个第一调色板区域动态测量的特征值相比较。
11.如权利要求10的方法,进一步包括根据比较结果,在第二印刷电路板的一个或多个第二位置的每一个位置为特征的每个值确定一个种类。
12.如权利要求11的方法,进一步包括将在一个或多个第二位置的每一个位置处的特征的每个值的种类与在一个或多个第二位置的每一个位置处的特征的每个值的期望种类相比较。
13.如权利要求1的方法,其中特征对应于颜色。
14.如权利要求1的方法,其中特征对应于纹理。
15.如权利要求1的方法,其中特征对应于亮度。
16.如权利要求1的方法,其中特征是多个不同特征中的一个或多个的组合,而且其中
确定印刷电路板上特征的值域包括为印刷电路板上多个特征中的每个确定一个值域;
为印刷电路板建立多个特征种类包括为印刷电路板上每个特征建立多个特征种类;和
选择第一多个位置相当于选择第一调色板区域,包括在该印刷电路板上选择多个调色板区域,该多个调色板区域中的每个都具有至少代表多个特征种类中的一个种类的特征值。
CNB028118723A 2001-05-02 2002-05-02 生成电路板检验系统中使用的电路板特征调色板的方法 Expired - Fee Related CN1308893C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US28806501P 2001-05-02 2001-05-02
US60/288,065 2001-05-02

Publications (2)

Publication Number Publication Date
CN1518664A CN1518664A (zh) 2004-08-04
CN1308893C true CN1308893C (zh) 2007-04-04

Family

ID=23105591

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028118723A Expired - Fee Related CN1308893C (zh) 2001-05-02 2002-05-02 生成电路板检验系统中使用的电路板特征调色板的方法

Country Status (4)

Country Link
EP (1) EP1386143A1 (zh)
CN (1) CN1308893C (zh)
CA (1) CA2446259A1 (zh)
WO (1) WO2002088688A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101714180A (zh) * 2008-09-23 2010-05-26 卡姆特有限公司 基于参考信息的评价方法、系统和计算机程序产品

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5381166B2 (ja) 2009-03-04 2014-01-08 オムロン株式会社 モデル画像取得支援装置、モデル画像取得支援方法およびモデル画像取得支援プログラム
JP5926881B2 (ja) * 2010-03-30 2016-05-25 富士機械製造株式会社 画像処理用部品データ作成方法及び画像処理用部品データ作成装置
CN102137230A (zh) * 2010-12-28 2011-07-27 中国计量学院 连接件外观缺陷在线检测定位拍照控制方法与装置
EP3048439B1 (en) * 2013-09-17 2019-08-21 FUJI Corporation Mounting inspection device
CN104394651B (zh) * 2014-11-18 2017-05-03 北京三重华星电子科技有限公司 一种电子产品可制造性规范的方法
US10916005B2 (en) * 2014-11-24 2021-02-09 Kitov Systems Ltd Automated inspection
JP6751567B2 (ja) * 2016-02-18 2020-09-09 Juki株式会社 電子部品検査方法、電子部品実装方法、及び電子部品実装装置
US11147201B2 (en) * 2016-10-06 2021-10-12 Fuji Corporation Component mounting device
CN111656883B (zh) * 2018-02-09 2021-07-30 株式会社富士 元件图像识别用学习完成模型生成系统及方法
CN109599347B (zh) * 2018-12-04 2020-09-01 四川金湾电子有限责任公司 一种引线框架检测方法、系统、存储介质和终端
CN114549390A (zh) * 2020-11-25 2022-05-27 鸿富锦精密电子(成都)有限公司 电路板检测方法、电子装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0231941A2 (en) * 1986-02-05 1987-08-12 OMRON Corporation Method for inspection of printed circuit board assembly by arithmetic comparison of several pictures in different colours
CN1077028A (zh) * 1992-03-12 1993-10-06 贝尔特隆尼克斯有限公司 应用多色反射鉴别技术对物体或表面的检测的方法和装置
WO2000073994A1 (en) * 1999-06-01 2000-12-07 Beltronics, Inc. Pixel classification in object inspection based on likelihood
CN1304488A (zh) * 1998-08-18 2001-07-18 奥博泰克有限公司 利用颜色检查印刷电路板

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0231941A2 (en) * 1986-02-05 1987-08-12 OMRON Corporation Method for inspection of printed circuit board assembly by arithmetic comparison of several pictures in different colours
CN1077028A (zh) * 1992-03-12 1993-10-06 贝尔特隆尼克斯有限公司 应用多色反射鉴别技术对物体或表面的检测的方法和装置
CN1304488A (zh) * 1998-08-18 2001-07-18 奥博泰克有限公司 利用颜色检查印刷电路板
WO2000073994A1 (en) * 1999-06-01 2000-12-07 Beltronics, Inc. Pixel classification in object inspection based on likelihood

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101714180A (zh) * 2008-09-23 2010-05-26 卡姆特有限公司 基于参考信息的评价方法、系统和计算机程序产品

Also Published As

Publication number Publication date
CN1518664A (zh) 2004-08-04
WO2002088688A1 (en) 2002-11-07
CA2446259A1 (en) 2002-11-07
EP1386143A1 (en) 2004-02-04

Similar Documents

Publication Publication Date Title
CN1308893C (zh) 生成电路板检验系统中使用的电路板特征调色板的方法
CN1261908C (zh) 检测印刷电路板缺陷的方法和系统
CN1440543A (zh) 使用检查系统的图像处理系统
TWI395944B (zh) 於一樣品之帶電粒子束檢測中判定缺陷之方法以及系統
CN1289901C (zh) Pcb检测中错误报警的减少
CN1825100A (zh) 基板检查方法和装置、及其检查逻辑设定方法和装置
TWI313748B (en) Board inspecting method and apparatus and inspection logic setting method and apparatus
JP5444092B2 (ja) 検査方法およびその装置
CN109472271B (zh) 印刷电路板图像轮廓提取方法及装置
CN1871622A (zh) 图像比较系统和图像比较方法
CN1147889A (zh) 自动化图象质量控制
CN1324526C (zh) 视频信号的自适应缩放
CN107945184A (zh) 一种基于彩色图像分割和梯度投影定位的贴装元件检测方法
CN101032159A (zh) 图像处理设备及其方法,图像处理程序
CN1440541A (zh) 零件识别数据生成方法和装置,电子零件安装装置和记录介质
CN1993707A (zh) 图像处理方法和设备、摄像设备以及程序
CN1993708A (zh) 图像处理设备及方法、摄像设备以及程序
CN2765259Y (zh) 图像识别装置和图像识别装置的示教装置
CN1834630A (zh) 基板检查装置及其检查逻辑设定方法和检查逻辑设定装置
CN1747648A (zh) 部件安装质量分析方法和部件安装质量分析装置
CN116091505B (zh) 一种蓝宝石衬底自动缺陷检测分类的方法和系统
CN1797426A (zh) 图像处理方法、基板检查方法和装置及检查数据制作方法
CN114092448B (zh) 一种基于深度学习的插件电解电容混合检测方法
CN1479111A (zh) 用于表征电路板测试覆盖率的方法和设备
CN1434918A (zh) 用于检验多色和轮廓图像的cam(计算机辅助制造)参考

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: LIANGRUI TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: TERADYNE, INC.

Effective date: 20041022

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20041022

Address after: Taiwan County, Taipei, China

Applicant after: Teradyne Inc.

Address before: Massachusetts, USA

Applicant before: Teradyne, INC.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070404

Termination date: 20160502

CF01 Termination of patent right due to non-payment of annual fee