印刷电路板组件缺陷检测的制作方法

文档序号:33507399发布日期:2023-03-18 04:49阅读:145来源:国知局
印刷电路板组件缺陷检测的制作方法
印刷电路板组件缺陷检测


背景技术:

1.在印刷电路板的组装期间,可能形成缺陷,例如枕头效应(head-in-pillow)缺陷等。如本领域技术人员所知,枕头效应缺陷是球栅阵列(bga)、芯片级封装(csp)或层叠式封装(package-on-package,pop)与印刷焊料膏之间的焊点的不完全聚结。因此,制造商通常对印刷电路板组件(pcba)进行检查以检测和标识pcba中的缺陷。检查pcba的一种常规方法包括使用自动x射线检查设备(axi)。axi通常捕获互连的二维(2-d)灰度图像,然后可以使用简单的线性回归模型对其进行分析。如果使用线性回归模型和2-d图像标识缺陷,那么使用3维(3-d)x射线图像执行第二离线检查以验证缺陷的存在。在第二次离线检查期间,旋转pcba以获得三维x射线图像。然而,第二离线检查过程相对较慢并且可能花费数小时来执行。另外,使用2-d x射线图像的初始检查可具有高假阳性率,从而导致执行第二离线检查过程的不必要延迟。此外,至少部分地由于所需的时间长度,第二离线3-d检查过程不适于制造,并且可能不能标识所有缺陷。


技术实现要素:

2.本公开的各方面可以包括方法、计算机程序产品和系统。该方法的一个示例包括获得印刷电路板组件的部分的多个二维灰度图像。每个二维灰度图像与在相应的不同位置处与印刷电路板组件的该部分相交的多个平行平面中的一个平行平面相对应。该方法还包括将多个二维灰度图像转换为彩色图像。多个二维灰度图像中的每个二维灰度图像与彩色图像的各个彩色通道相对应并且被用作针对彩色图像的相应的彩色通道的输入。该方法还包括分析彩色图像以检测指示缺陷的颜色变化;以及响应于检测到颜色变化而输出指示缺陷的警报。
附图说明
3.应理解,附图仅描绘示范性实施例且因此不应被视为限制范围,将通过使用附图以额外特定性和细节来描述示范性实施例,其中:
4.图1a-图1c是描绘示例印刷电路板组件缺陷检测系统的说明性实施例的框图。
5.图2示出了印刷电路板组件的示例部分的侧视图。
6.图3描绘了组合以形成示例彩色图像的示例x射线灰度图像。
7.图4描述了示例神经网络的一个实施例。
8.图5是描绘示例计算机设备的一个实施例的框图。
9.图6是描绘检测印刷电路板组件中的缺陷的示例方法的一个实施例的流程图。
10.图7描绘了云计算环境的一个实施例。
11.图8描述了抽象模型层的一个实施例。
12.根据惯例,所描述的各种特征不是按比例绘制的,而是为了强调与示例性实施例相关的具体特征而绘制的。
13.具体实现方式
14.在下面的详细描述中,参考了形成其一部分的附图,并且在附图中通过图示的方式示出了特定的说明性实施例。然而,应当理解,可以利用其它实施例,并且可以进行逻辑、机械和电气改变。此外,在附图和说明书中给出的方法不应被解释为限制可以执行各个步骤的顺序。因此,下面的详细说明不是限制性的。
15.本文描述的实施例提供了对印刷电路板组件(pcba)中的缺陷检测的改进。特别地,如下面更详细地描述的,通过分析从2-d灰度图像生成的彩色图像,检查pcba所需的时间量和相对于常规系统检测缺陷的精度,如下面更详细地描述的。因此,本文描述的实施例非常适合于在制造设置中使用,并且提供对pcba检查系统和技术的当前状态的改进。
16.图1a是描绘用于检测pcba中的缺陷的示例系统100的一个实施例的高级框图。系统100包括x射线设备102和经由链路106耦合到x射线设备102的缺陷检测设备104。链路106可以使用用于通信信道或链路的有线、无线,光和/或任何其它合适的介质来实现。例如,在一些实施例中,缺陷检测装置104与x射线装置102共处一地,并使用电缆或无线链路耦合到x射线装置102。在其它实施例中,缺陷检测装置104位于远离x射线装置102的位置并经由网络耦合到x射线装置102。因此,在这样的实施例中,链路106包括可以使用任何数目的任何适当的物理和/或逻辑通信拓扑来实现的网络。网络可以包括一个或多个专用或公共计算网络。例如,网络可以包括与工作负载相关联的私有网络(例如,具有阻止未授权外部访问的防火墙的网络)。备选地或附加地,网络可以包括公共网络,例如互联网。因此,网络可以形成基于分组的网络的一部分,诸如局域网、广域网和/或诸如互联网的全球网络。网络可以包括一个或多个服务器、网络或数据库,并且可以使用一个或多个通信协议在x射线设备102和缺陷检测设备104之间传送数据。
17.应当理解,图1a所示的实施例仅作为示例提供,并且系统100可以在其它实施例中以不同方式实现。例如,在图1a中,缺陷检测设备104被配置为实现彩色图像分析器108和彩色图像生成器110,下面将更详细地描述。然而,在其他实施例中,如图1b所示,x射线设备102可以被配置为实现彩色图像生成器110,并且缺陷检测设备104实现彩色图像分析器108。此外,在其他方面,如图1c所示的实施例,x射线设备102被配置为实现彩色图像生成器110和彩色图像分析器108。因此,在这样的实施例中,x射线设备102和缺陷检测设备104被实现为共享公共外壳的单个设备。即,单个设备可以执行x射线设备102的功能(例如捕获x射线图像)和缺陷检测设备104的功能。然而,应当理解,尽管在这样的实施例中被包含在单个设备的外壳内,但是分离的组件可以被配置为执行本文描述的相应功能(例如,捕获x射线图像、生成彩色图像、以及分析彩色图像)。
18.x射线设备102被配置为捕获pcba的部分的多个二维灰度图像,类似于由传统的自动x射线检查设备(axi)捕获的二维灰度图像。每个二维灰度图像与在相应的不同位置处与pcba的部分相交的多个平行平面中的一个平行平面相对应。因此,2-d灰度图像在本文也被称为图像切片。例如,图2描绘了与pcba的一部分的截面相交的多个平行平面。特别地,为了说明的目的,图2示出了球栅阵列的单个焊料互连。然而,应当理解,每个图像片可以包含多个这种互连。
19.图2的示例包括球栅阵列201、焊料球205、焊料膏207、焊盘209和印刷电路板211的一部分。x射线设备102被配置为在平面203-1、203-2和203-n的每一个处捕获相应的2-d灰度图像,其中n是平面的总数。在这个示例中,有3个分开的平行平面与pcba相交,在相交处x
射线设备102捕获图像。然而,在其它实施例中,可以使用2个或多于3个平面。在该示例中,平面203-1处的图像也被称为封装切片图像,平面203-2处的图像也被称为球中部切片图像,并且平面203-n处的图像也被称为焊盘切片图像。封装切片图像、球中部切片图像和焊盘切片图像的示例分别被描绘为图像320-1、320-2和320-n。
20.在该示例中,x射线设备102经由链路106向缺陷检测设备104提供图像320-1、320-2和320-n。缺陷检测装置104被配置为实现彩色图像生成器110和彩色图像分析器108。彩色图像生成器110使用图像320-1、320-2和320-n生成彩色图像。具体地,彩色图像生成器110被配置为使用图像320-1、320-2和320-n中的每一个中的一个作为到彩色图像324的相应的颜色通道的输入,如图3所示。例如,在图3所示的实施例中,图像320-1被输入到红色通道322-1中,图像320-2被输入到绿色通道322-2中,并且图像320-n被输入到蓝色通道322-n中。因此,在该示例中,彩色图像324使用或实现红色绿色蓝色(rgb)颜色空间。即,彩色图像324是rgb彩色图像。尽管本文讨论的示例是针对rgb彩色图像来描述的,但是应当理解,在其他实施例中可以使用其他颜色空间(也称为颜色代码或颜色模型)。例如,在一些实施例中,使用青色品红色黄色黑色(cmyk)颜色空间。在这样的实施例中,由x射线设备102获得4个灰度图像,其中每个灰度图像被用作合成的cmyk彩色图像的颜色通道的相应输入。
21.彩色图像分析器108经配置以基于彩色图像324的分析来标识缺陷,例如缺陷326。具体来说,彩色图像分析器108实施机器学习技术以标识彩色图像324中的缺陷。机器学习技术可以包括通过对数据集执行监督式、无监督式或半监督式学习而生成的算法或模型,并且随后应用所生成的算法或模型来标识缺陷,诸如上述枕头效应缺陷。然而,应理解,可通过本文所论述的技术标识的缺陷类型不限于枕头效应缺陷。例如,彩色图像分析器108还可以被配置为分析彩色图像324,以便标识第一级封装缺陷(例如c4倒装芯片凸块),第二级焊料接头缺陷、空隙水平、焊料印刷质量、一般互连形成缺陷、底部填充缺陷(例如界面分层/粘附缺陷)等中的一个或多个。
22.在一些实施例中,使用卷积神经网络(cnn)来实现彩色图像分析器108。卷积神经网络是一类已成功应用于视觉图像分析的深度前馈人工神经网络。卷积神经网络由具有可学习的权重和偏置的人工或神经元样结构组成。每个神经元接收一些输入并执行点积。卷积神经网络结构通常包括用于接收输入(例如,单个向量)并通过一系列隐藏层对其进行变换的层的堆叠。每个隐藏层由一组神经元组成,其中每个神经元具有可学习的权重和偏置,其中每个神经元可以完全连接到前一层中的所有神经元,并且其中单个层中的神经元在无任何共享连接情况下可以独立起作用。最后一层是完全连接的输出层,并且在分类设置中它表示类别得分,其可以是任意实值数或实值目标(例如在回归中)。图4中示出了一个示例,其示出了可以根据本文描述的示例性实施例使用的卷积神经网络的可能结构。
23.图4示出了可用于分析印刷电路板组件的生成的彩色图像以检测缺陷的示例神经网络400,如本文所述。示例神经网络400还可以可通信地链接到一个或多个用户设备和/或一个或多个其他神经网络。在实施例中,神经网络400可以是分类器型神经网络。神经网络400可以是较大神经网络的一部分(例如,可以是较大神经网络的子单元)。例如,神经网络400可以嵌套在单个较大的神经网络内、连接到几个其它神经网络、或连接到几个其它神经网络作为整体集合神经网络的一部分。应当理解,神经网络400仅作为示例提供,并且在其他实施例中,可以不同地实现神经网络。此外,尽管本文讨论了卷积神经网络,但是本文描
述的实施例不限于卷积神经网络,而是可以使用其他类型的神经网络来实现,例如循环神经网络(rnn)、深度卷积逆图形网络(dcign)等,以分析所生成的彩色图像。
24.输入401-1到401-m表示到神经网络400的输入(例如,生成的彩色图像)。在该实施例中,输入401-1到401-m不表示不同的输入。相反,401-1到401-m表示发送到神经网络400中的每个第一层神经元(神经元402-1到402-m)的相同输入。另外,应当理解,在一些实施例中,每个输入401-1到401-m表示相同的所生成的彩色图像的子集,例如由沿着所生成的彩色图像滑动的输入窗口来确定。在一些实施例中,输入401-1到401-m的数目(即,由m表示的数目)可以等于(并且因此由其确定)网络中的第一层神经元的数目。在其它实施例中,神经网络400可以在第一层中结合1个或多个偏置神经元,在这种情况下,输入401-1到401-m的数目可以等于网络中第一层神经元的数目减去第一层偏置神经元的数目。在一些实施例中,单个输入(例如,输入401-1)可以被输入到神经网络中。在这样的实施例中,第一层该神经网络可以包括单个神经元,其可以将输入传播到第二层神经元。
25.在该示例中,神经网络400包括8层神经元(称为层402、404、406、408、410、412、414和416,分别对应于所示的节点402-1至402-m、节点404-1至404-n、节点406-1至406-y、节点408-1至408-x、节点410-1至410-z、412-1至412-o、414-1至414-p和416-1至416-t)。在一些实施例中,神经网络400可具有多于8层或少于8层。这8层可各自包括与任何其它层相同数目的神经元,比任何其它层更多的神经元、比任何其它层更少的神经元、或比一些层更多的神经元和比其它层更少的神经元。在该实施例中,层416被当作输出层。层416输出目标事件将发生的概率,并且在该示例中包含两个神经元(神经元416-1和416-t)。在其它实施例中,层416可包含多于2个神经元或仅1个神经元。在该图示中,在神经网络400中没有示出偏置神经元。然而,在一些实施例中,神经网络400中的每一层可以包含一个或多个偏置神经元。
26.层402-416可以各自包括激活功能。所使用的激活函数可以是例如整流线性单元(relu)函数、软加(softplus)函数、软步(soft step)函数等。每个层可以使用相同的激活函数,但是也可以独立于或依赖于激活函数来变换该层的输入或输出。每层可以被配置用于特定功能。例如,在图4的示例中,层402是输入层。层404是被配置为处理输入数据的卷积内核层。层406是合并层,其被配置为简单地输入数据并去除不必要的特征。
27.层408可以是“释放(dropout)”层,其可以处理先前层的输入(本文是输入),其中一些神经元从处理中去除。这可以帮助平均数据,并且可以防止神经网络对一组数据或几组类似数据的过度专门化。释放层也可以帮助为“密集”层准备数据。例如,层410可以是密集层。在该示例中,密集层可以处理并减小特征向量(例如,输入401-1至401-m的向量部分)的维数,以消除对预测没有贡献的数据。作为另一个示例,层412可以是“批量标准化”层。批归一化可用于归一化批归一化层的输出以加速神经网络中的学习。层414可以是释放层、隐藏层或批量标归一层中的任何一种。注意,这些层是示例。在其它实施例中,层402中的任一个414可以是释放层、隐藏层或批量归一化层中的任何层。在具有比本文所示更多层或更少层的实施例中也是如此。
28.例如,在一些实施例中,神经网络400可以包括多个卷积核层,每个卷积核层之后是cnn开始处的合并层和释放层。另外,在cnn的这种实施例的末尾,有两个或多个完全连接的层,在中间有一个或多个释放层。释放层有助于防止过度拟合,并且与诸如在训练阶段期间调整动量和学习速率的其他技术相结合,使神经网络性能更加稳定。在一些实施例中,可
以使用生成的训练图像上的随机梯度下降来训练神经网络400。
29.层416是输出层。在该实施例中,层416包括产生输出418和420的两个神经元416-1和416-t。输出418和420表示目标事件将发生或将不发生的互补概率。即,输出418和420表示在生成的图像中存在缺陷的概率。例如,输出418可以表示缺陷存在的概率,而输出420可以表示缺陷不存在的概率。在一些实施例中,输出418和420可以各自在0.0和1.0之间,并且可以加起来为1.0。在这样的实施例中,1.0的概率可以表示预计的绝对确定性(例如,如果输出418是1.0,则缺陷存在的预计机会将是100%,而如果输出420是1.0,则缺陷不存在的预计机会将是100%)。应当理解,尽管在该示例中描绘了两个输出神经元416-1和416-t,但是在其他实施例中层416可以包括其他数目的输出神经元。例如,在一些实施例中,单个输出神经元416用于输出输出418或420之一。此外,在一些实施例中,输出层416的输出被彩色图像分析器108用来用检测到的缺陷326的指示来注释输入生成的彩色图像324。
30.通过从由x射线设备102捕获的灰度图像切片生成彩色图像,该彩色图像包含可以由彩色图像分析器108使用诸如cnn的神经网络来检测的颜色变化。可以训练cnn以将检测到的颜色变化与pcba中的缺陷相关联。因此,这种用于分析pcba的新颖技术为pcba提供了相对快速的通过/失败确定,而不需要单独的离线检查。例如,本文描述的实施例能够分析pcba的图像以进行以秒为单位测量的确定,这与涉及单独的离线检查的传统技术的一个或多个小时相反。此外,本文所述的技术可获得用于制造工艺中的足够准确度或捕获百分率。因此,本文描述的技术和系统能够在制造过程中使用,以提高检测速度和检测精度。
31.图5是描绘示例计算机设备500的一个实施例的框图。计算机设备500可用于实现缺陷检测设备104和/或x射线设备102。图5所示的计算机设备500的组件包括一个或多个处理器502、存储器504、存储接口516、输入/输出(“i/o”)设备接口512和网络接口518,它们全部直接或间接地通信耦合,用于经由存储器总线506、i/o总线508、总线接口单元(“if”)509和i/o总线接口单元510进行组件间通信。
32.在图5所示的实施例中,计算机设备500包括一个或多个通用可编程中央处理单元(cpu)502a和502b,本文统称为处理器502。在一些实施例中,计算机设备500包含多个处理器。然而,在其它实施例中,计算机设备500是单个cpu系统。每个处理器502执行存储在存储器504中的指令。此外,尽管针对中央处理单元芯片描述了实施例,但是应当理解,除了cpu芯片之外或代替cpu芯片,本文描述的实施例还可应用于利用数字信号处理器(dsp)和/或图形处理单元(gpu)芯片的计算机系统。此外,在一些实施例中,可以使用诸如ibm truenorth芯片的神经处理单元(npu)芯片来实现处理器502。然而,不需要使用神经处理单元来实现神经网络。因此,本文对处理器或处理单元的引用可以指cpu芯片、gpu芯片、dsp和/或npu芯片。
33.在一些实施例中,存储器504包括用于存储或编码数据和程序的随机存取半导体存储器、存储设备或存储介质(易失性或非易失性)。例如,存储器504存储彩色图像生成器指令540和彩色图像分析器指令542。当被诸如处理器502的处理器执行时,彩色图像生成器指令540使处理器502执行上述关于通过将灰度x射线图像切片输入到所得彩色图像的相应的颜色通道中来产生彩色图像的功能和计算。另外,当被诸如处理器502的处理器执行时,彩色图像分析器指令542使处理器502对所生成的彩色图像执行图像分析,如上所述。因此,彩色图像分析器指令542可以使计算机设备500实现被配置为分析彩色图像的卷积神经网
络的至少一部分。
34.另外,彩色图像分析器指令542可被配置为使处理器502向显示系统524输出命令以显示分析结果,诸如注释的彩色图像或其它音频或视觉输出,以指示显示设备526上的印刷电路板组件中的标识缺陷,如上所述。
35.在一些实施例中,存储器504表示计算机设备500的整个虚拟存储器,并且还可以包括经由网络耦合到计算机设备500的其它计算机设备的虚拟存储器。在一些实施例中,存储器504是单个单片实体,但在其它实施例中,存储器504包括高速缓存和其它存储器装置的分层结构。例如,存储器504可以存在于多级高速缓存中,并且这些高速缓存可以进一步按功能划分,使得一个高速缓存保存指令而另一个保存处理器使用的非指令数据。存储器504还可以是分布式的并且与不同的处理单元或处理单元组相关联,例如在任何各种所谓的非均匀存储器访问(numa)计算机体系结构中已知的。因此,尽管在图5所示的彩色图像生成器指令540和彩色图像分析器指令542指令540和彩色图像分析器指令542被存储在同一存储器504上,但是应当理解,可以不同地实现其它实施例。例如,彩色图像生成器指令540和/或彩色图像分析器指令542可以分布在多个物理介质上。
36.图5所示实施例中的计算机设备500还包括总线接口单元509,用于处理处理器502、存储器504、显示系统524和i/o总线接口单元510之间的通信。i/o总线接口单元510与i/o总线508耦合,用于向和从各个i/o单元传送数据。具体地,i/o总线接口单元510可以通过i/o总线508与也被称为i/o处理器(iop)或i/o适配器(ioa)的多个i/o接口单元512、516和518通信。显示系统524包括显示控制器、显示存储器或两者。显示控制器可以向显示设备526提供视频、静止图像、音频或其组合。显示存储器可以是用于缓冲视频数据的专用存储器。显示系统524与显示设备526耦合。在一些实施例中,显示设备526还包括一个或多个用于呈现音频的扬声器。备选地,用于呈现音频的一个或多个扬声器可以与i/o接口单元耦合。在替代实施例中,由显示系统524提供的一个或多个功能在还包含处理器502的集成电路上。此外,在一些实施例中,由总线接口单元509提供的一个或多个功能在还包括处理器502的集成电路上。
37.i/o接口单元支持与各种存储和i/o设备的通信。例如,i/o设备接口单元512支持一个或多个用户i/o设备520的附接,用户i/o设备520可以包括用户输出设备和用户输入设备(诸如键盘、鼠标、小键盘、触摸板、跟踪球、按钮、光笔或其他定点设备)。用户可以使用用户接口来操纵用户输入设备520,以便向用户i/o设备520提供输入数据和命令。另外,用户可以经由用户输出设备接收输出数据。例如,可以经由用户i/o设备520呈现用户界面,诸如在显示设备上显示或经由扬声器播放。
38.存储接口516支持一个或多个存储设备528(例如闪存)的附接。存储器504的内容或其任何部分可根据需要存储到存储设备528并从存储设备528检索。网络接口518提供从计算机设备500到其它数字设备和计算机设备的一个或多个通信路径。例如,在一些实施例中,所生成的彩色图像可以通过网络接口518传输到被配置为执行彩色图像分析的单独系统。另外,在一些实施例中,网络接口518可以被配置为从x射线设备接收二维灰度图像。备选地,二维灰度图像,生成的彩色图像和/或警报或分析结果可以通过不同的接口来传送,例如i/o设备接口512,而不是网络接口518。
39.尽管图5中所示的计算机设备500示出了在处理器502、存储器504、总线接口单元
509、显示系统524和i/o总线接口单元510之间提供直接通信路径的特定总线结构,但是在备选实施例中,计算机设备500包括不同的总线或通信路径,其可以以各种形式中的任何一种来布置,诸如分层、星形或web配置中的点对点链路、多个分层总线、并行和冗余路径、或任何其它适当类型的配置。此外,虽然i/o总线接口单元510和i/o总线508被示为单个相应单元,但是在其它实施例中,计算机设备500可以包括多个i/o总线接口单元510和/或多个i/o总线508。虽然示出了多个i/o接口单元,其将i/o总线508与运行到各种i/o设备的各种通信路径分开,但是在其他实施例中,一些或所有i/o设备直接连接到一个或多个系统i/o总线。
40.如上所述,在一些实施例中,图5中所示的一个或多个组件和数据包括在处理器502上执行的指令或语句,或者由在处理器502上执行的指令或语句解释以执行本文所述功能的指令或语句。在其它实施例中,图5中所示的组件中的一个或多个经由半导体装置、芯片、逻辑门、电路、电路卡和/或代替基于处理器的系统或除基于处理器的系统之外的其它物理硬件装置在硬件中实施。此外,在其他实施例中,可以省略图5所示的一些组件和/或可以包括其他组件。
41.图6是描绘检测印刷电路板组件中的缺陷的示例方法600的一个实施例的流程图。方法600可由x射线装置(例如x射线装置102)和/或缺陷检测装置(例如缺陷检测装置104)实施。因此,关于方法600描述的一个或多个动作可以由x射线设备或缺陷检测设备之一执行。在一些实施例中,方法600的一部分由x射线装置执行,且方法600的一部分由单独缺陷检测装置执行。在其它实施例中,方法600的所有动作由单个设备执行。方法600可由执行指令(例如彩色图像产生指令540和/或彩色图像分析器指令542)的处理器(例如计算机装置500中的处理器502)实现。
42.在602,获得印刷电路板组件的部分的多个二维灰度图像。如上所述,每个二维灰度图像与在各个不同位置处与印刷电路板组件的部分相交的多个平行平面中的一个平行平面相对应。在一些实施例中,获得多个二维灰度图像包括从被配置为捕获印刷电路板组件的x射线图像的x射线设备接收多个二维灰度图像。在其它实施例中,获得多个二维灰度图像包括利用x射线设备捕获二维灰度图像。用于捕获印刷电路板组件的二维图像切片的合适的x射线设备是本领域技术人员已知的。
43.在604,将多个二维灰度图像转换为彩色图像。特别地,每个二维灰度图像被应用于或输入到彩色图像的相应的颜色通道。例如,在一些实施例中,彩色图像是红色绿色蓝色(rgb)彩色图像。因此,在这样的实施例中,多个二维灰度图像包括3个二维灰度图像,其中3个二维灰度图像中的每个二维灰度图像与rgb彩色图像的红色通道、蓝色通道或绿色通道中的相应的一个通道相对应。
44.然而,如上所述,本文描述的实施例不限于使用rgb颜色空间中的图像。例如,在其它实施例中,彩色图像是青色、黄色、品红色、黑色(cmyk)彩色图像。因此,在这样的实施例中,多个二维灰度图像包括4个二维灰度图像,其中4个二维灰度图像中的每个二维灰度图像与cmyk彩色图像的青色通道、黄色通道、品红色通道和黑色通道中的相应的一个通道相对应。如上所述,在一些实施例中,x射线设备还被配置为生成彩色图像。在其它实施例中,x射线设备将多个二维灰度图像提供给从二维灰度图像生成彩色图像的单独设备。
45.在606,分析彩色图像以检测指示缺陷的颜色变化。例如,在一些实施例中,颜色变
化可以指示球栅阵列的焊料球连接中的缺陷。然而,本文描述的实施例不限于球栅阵列的焊料球连接中的缺陷。例如,可以分析彩色图像以标识较小芯片尺寸封装的连接中的缺陷。此外,可以通过检测彩色图像中的颜色变化来标识的缺陷可以包括枕头效应缺陷、第一级封装缺陷、第二级焊料接头缺陷、空隙缺陷,焊料印刷质量和底部填充缺陷等中的一个或多个。此外,如上所述,可以通过神经网络来执行分析,例如被配置为检测指示缺陷的颜色变化的卷积神经网络。在607,基于彩色图像的分析确定是否已经标识出缺陷。
46.在608处,响应于基于检测到颜色变化而标识缺陷,输出指示所标识的缺陷的警报。在一些实施例中,该警报可以包括注释的彩色图像,其指示与所标识的颜色变化的位置相对应的缺陷的位置。在其它实施例中,警报可以是可听警报或其它显示的警报。此外,在一些实施例中,警报可以包括对三维x射线分析的推荐。然而,不需要这种用于三维x射线分析的推荐。此外,在一些实施例中,即使对整个彩色图像的分析未完成,也在检测到单个缺陷时提供警报。在其它实施例中,在完成对整个图像的分析之后输出警报。因此,在一些这样的实施例中,警报可以包括标识/检测到的缺陷总数的报告。
47.如果在607没有标识出缺陷,则在610输出指示没有标识出缺陷的通知。例如,在一些实施例中,通知指示印刷电路板组件可以前进到制造过程的下一阶段。
48.本发明可以是处于任何可能的集成技术细节水平的系统,方法和/或计算机程序产品。计算机程序产品可以包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或介质)。
49.计算机可读存储介质可以是可保留和存储供指令执行设备使用的指令的有形设备。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码的设备、诸如其上记录有指令的槽中的穿孔卡片或凸起结构、以及前述的任何适当组合。本文使用的计算机可读存储介质不能被解释为瞬时信号本身,例如无线电波或其它自由传播的电磁波、通过波导或其它传输介质传播的电磁波(例如,通过光纤电缆的光脉冲)、或通过导线传输的电信号。
50.本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
51.用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集体系结构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、用于集成电路的配置数据、或以一种或多种编程语言的任何组合编写的源代码或目标代码,所述编程语言包括诸如smalltalk,c++等的面向对象的编程语言、以及诸如“c”编程语言或类似编程语言的过程编程语言。计算机可读程序指令可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立的软件包、部分在用户的计算机上执行、部分在远程计算机上执行、或
者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(lan)或广域网(wan)、或者连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
52.本文参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的各方面。应当理解,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合可以由计算机可读程序指令来实现。
53.这些计算机可读程序指令可以被提供给通用计算机,专用计算机或其他可编程数据处理设备的处理器以产生机器,使得经由计算机或其他可编程数据处理设备的处理器执行的指令创建用于实现在流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,该计算机可读存储介质可以指示计算机,可编程数据处理装置和/或其他设备以特定方式起作用,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现在流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
54.计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,从而产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现在流程图和/或框图的一个或多个框中指定的功能/动作。
55.图中的流程图和框图示出了根据本发明各种实施例的系统,方法和计算机程序产品的可能实现的体系结构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。在一些可替换的实现方式中,方框中指出的功能可以不按照图中指出的顺序发生。例如,根据所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。还将注意到,框图和/或流程图图示中的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的基于专用硬件的系统来实现。
56.此外,如上所述,缺陷检测装置的功能可以远离x射线装置实现,例如在云计算环境中。在一些这样的实施例中,系统可以使用来自多个不同pcba制造商所采集的图像来学习和细化模型。然而,应当理解,尽管本公开包括关于云计算的详细描述,但是本文所引用的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其它类型的计算环境来实现。
57.云计算是一种服务递送可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便的按需网络访问的服务递送模型,该可配置计算资源可以以最小的管理努力或与服务提供商的交互来快速地供应和释放。该云模型可以包括至少五个特征,至少三个服务模型和至少四个部署模型。
58.特点如下:
59.按需自助服务:云消费者可以根据需要自动地单方面地提供计算能力,例如服务
器时间和网络存储,而不需要与服务提供商进行人工交互。
60.广泛网络访问:能力在网络上是可用的,并且通过促进异构瘦或厚客户端平台(例如,移动电话、膝上型计算机和pda)使用的标准机制来访问。
61.资源池化:汇集提供者的计算资源以使用多租户模型服务多个消费者,其中根据需求动态分配和重新分配不同的物理和虚拟资源。存在位置独立的意义,因为消费者通常不具有对所提供的资源的确切位置的控制或知识,而是能够指定更高级抽象(例如,国家、州或数据中心)的位置。
62.快速弹性:在一些情况下,可以自动地快速和弹性地提供能力,以快速缩小和快速释放以快速缩小。对于消费者,可用于供应的能力通常表现为无限的,并且可以在任何时间以任何数目购买。
63.计量服务:云系统通过在适合于服务类型(例如,存储、处理、带宽和活动用户帐户)的某个抽象级别处利用计量能力来自动控制和优化资源使用。可以监视、控制和报告资源使用,为所使用的服务的提供者和消费者提供透明度。
64.服务模型如下:
65.软件作为服务(saas):提供给消费者的能力是使用运行在云基础设施上的提供者的应用。可以通过诸如web浏览器(例如,基于web的电子邮件)的瘦客户端接口从各种客户端设备访问应用。消费者不管理或控制底层云基础架构,包括网络、服务器、操作系统、存储器或甚至单独的应用能力,可能的例外是有限的用户特定的应用配置设置。
66.服务平台(paas):提供给消费者的能力是将消费者创建或获取的应用部署到云基础设施上,所述应用是使用由提供商支持的编程语言和工具创建的。消费者不管理或控制包括网络、服务器、操作系统或存储装置的底层云基础设施,但具有对所部署的应用程序和可能的应用程序托管环境配置的控制。
67.服务基础设施(iaas):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其它基本计算资源,所述任意软件可包括操作系统和应用程序。消费者不管理或控制底层云基础设施,但具有对操作系统、存储、部署的应用的控制,以及对所选联网组件(例如,主机防火墙)的可能有限的控制。
68.部署模型如下:
69.私人云:云基础设施仅针对一个组织操作。它可以由组织或第三方管理,并且可以存在于房屋内或房屋外。
70.社区云:云基础设施由若干组织共享并支持具有共享关注(例如,任务、安全要求、策略和合规考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于内部部署或外部部署。
71.公共云:云基础设施可用于普通公众或大型工业团体,并且由销售云服务的组织拥有。
72.混合云:云基础设施是两个或更多个云(私有、社区或公共)的组合,这些云保持为唯一的实体,但通过实现数据和应用可移植性(例如,用于云之间的负载平衡的云突发)的标准化或专有技术绑定在一起。
73.云计算环境是以无状态、低耦合、模块化和语义互操作性为焦点的面向服务。云计算的核心是包括互连节点的网络的基础设施。
74.现在参考图7,描绘了说明性云计算环境50。如图所示,云计算环境50包括一个或多个云计算节点10,云消费者所使用的本地计算设备(例如个人数字助理(pda)或蜂窝电话54a、台式计算机54b、膝上型计算机54c和/或汽车计算机设备54n)可以与这些云计算节点10通信。节点10可以彼此通信。它们可以在一个或多个网络中被物理地或虚拟地分组(未示出),一个或多个网络诸如上文所述的私有云、社区云、公共云或混合云、或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为云消费者不需要维护本地计算设备上的资源的服务。应理解,图7所示的计算设备54a-n的类型仅旨在是说明性的,并且计算节点10和云计算环境50可通过任何类型的网络和/或网络可寻址连接(例如,使用web浏览器)与任何类型的计算机化设备通信。
75.现在参考图8,示出了由云计算环境50(图5)提供的一组功能抽象层。应当预先理解,图8中所示的组件、层和功能仅是说明性的,并且本发明的实施例不限于此。如图所示,提供了以下各层和相应的功能:
76.硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:主框架61;基于risc(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储装置65;以及网络和联网组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
77.虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储器72;虚拟网络73,包括虚拟私有网络;虚拟应用程序和操作系统74;以及虚拟客户端75。
78.在一个示例中,管理层80可以提供下面描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其它资源的动态获取。计量和定价82提供了在云计算环境内利用资源时的成本跟踪,以及对这些资源的消耗进行计费或开票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其它资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务级别管理84提供云计算资源分配和管理,使得满足所需的服务级别。服务级协定(sla)规划和履行85提供云计算资源的预先安排和采购,根据sla预期云计算资源的未来需求。
79.工作负载层90提供可利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:映射和导航91;软件开发和生命周期管理92;虚拟教室教育递送93;数据分析处理94;交易处理95;以及pcba缺陷检测96,使用从2-d灰度x射线图像生成的彩色图像。
80.实例实施例
81.示例1包括一种方法。该方法包括获得印刷电路板组件的部分的多个二维灰度图像。每个二维灰度图像与在相应的不同位置处与印刷电路板组件的该部分相交的多个平行平面中的一个平行平面相对应。该方法还包括将多个二维灰度图像转换为彩色图像。多个二维灰度图像中的每个二维灰度图像与彩色图像的各个彩色通道相对应并且被用作针对彩色图像的相应的彩色通道的输入。该方法还包括分析彩色图像以检测指示缺陷的颜色变化;以及响应于检测到颜色变化而输出指示缺陷的警报。
82.示例2包括示例1的方法,其中彩色图像是红色绿色蓝色(rgb)彩色图像;并且其中多个二维灰度图像包括3个二维灰度图像,3个二维灰度图像中的每个二维灰度图像与rgb彩色图像的红色通道、蓝色通道或绿色通道中的相应的一个通道相对应。
83.示例3包括示例1-2中任一项的方法,其中分析彩色图像以检测指示缺陷的颜色变化包括分析彩色图像以检测球栅阵列的焊料球连接中的缺陷。
84.示例4包括示例1或3中任一项的方法,其中彩色图像是青色黄色品红色黑色(cmyk)彩色图像;并且其中多个二维灰度图像包括4个二维灰度图像,4个二维灰度图像中的每个二维灰度图像与cmyk彩色图像的青色通道、黄色通道、品红色通道和黑色通道中的相应的一个通道相对应。
85.示例5包括示例1-4中任一项的方法,其中获得多个二维灰度图像包括从被配置为捕获印刷电路板组件的x射线图像的设备接收多个二维灰度图像。
86.示例6包括示例1-4中任一项的方法,其中获得多个二维灰度图像包括:利用被配置为捕获印刷电路板的x射线图像的x射线设备来捕获多个二维灰度图像;并且其中将多个二维灰度图像转换为彩色图像包括利用被配置为捕获多个二维灰度图像的x射线设备将多个二维图像转换为彩色图像。
87.示例7包括示例1-6中任一项的方法,其中分析彩色图像包括在卷积神经网络中处理彩色图像以检测指示缺陷的颜色变化。
88.示例8包括一种设备,该设备包括通信地耦合到x射线设备的接口,该x射线设备被配置为捕获印刷电路板的二维灰度图像;以及通信地耦合到接口的处理器。处理器被配置为分析从由x射线设备捕获的多个二维灰度图像生成的彩色图像,以标识指示印刷电路板组件中的缺陷的颜色变化。通过将多个二维灰度图像中的每个二维灰度图像输入彩色图像的相应的颜色通道来生成彩色图像。处理器还被配置为响应于标识颜色变化而输出指示缺陷的警报。
89.示例9包括示例8的设备,其中处理器还被配置成从多个二维灰度图像生成彩色图像。
90.示例10包括示例8的设备,其中接口被配置成接收来自x射线装置的彩色图像。
91.示例11包括示例8-10中任一项的设备,其中处理器还被配置成分析彩色图像以检测指示球栅阵列的焊料球连接中的缺陷的颜色变化。
92.示例12包括示例8-11中任一项的设备,其中彩色图像是红色绿色蓝色(rgb)彩色图像;并且其中多个二维灰度图像包括3个二维灰度图像,3个二维灰度图像中的每个二维灰度图像与rgb彩色图像的红色通道、蓝色通道或绿色通道中的相应的一个通道相对应。
93.示例13包括示例8-12中任一项的设备,其中处理器被配置为实现卷积神经网络,卷积神经网络被配置为分析彩色图像以标识指示缺陷的颜色变化。
94.示例14包括一种系统,该系统包括被配置为捕获印刷电路板组件的多个二维灰度图像的x射线设备。每个二维灰度图像与在相应的不同位置处与印刷电路板组件的该部分相交的多个平行平面中的一个平行平面相对应。系统还包括缺陷检测装置,缺陷检测装置包括处理器,处理器被配置为分析从由x射线装置捕获的多个二维灰度图像生成的彩色图像,以标识指示印刷电路板组件中的缺陷的颜色变化,多个二维灰度图像中的每个二维灰度图像与彩色图像的相应的颜色通道相对应;以及响应于标识颜色变化而输出指示缺陷的警报。
95.示例15包括示例14的系统,其中,x射线设备还包括处理器,处理器被配置为:通过将多个二维灰度图像中的每个二维灰度图像输入到彩色图像的对应的相应的颜色通道中
来生成彩色图像。
96.示例16包括示例14-15中任一项的系统,其中彩色图像是红色绿色蓝色(rgb)彩色图像;并且其中多个二维灰度图像包括3个二维灰度图像,3个二维灰度图像中的每个二维灰度图像与rgb彩色图像的红色通道、蓝色通道或绿色通道中的相应的一个通道相对应。
97.示例17包括示例14-16中任一项的系统,其中缺陷检测装置中的处理器还被配置为分析彩色图像以检测指示球栅阵列的焊料球连接中的缺陷的颜色变化。
98.示例18包括示例14-17中任一项的系统,其中缺陷检测设备中的处理器被配置为实现卷积神经网络,该卷积神经网络被配置为分析彩色图像以标识指示缺陷的颜色变化。
99.示例19包括示例14-18中任一项的系统,其中x射线设备和缺陷检测设备共享公共外壳。
100.示例20包括一种计算机程序产品,该计算机程序产品包括其中存储有计算机可读程序的计算机可读存储介质,其中该计算机可读程序在由处理器执行时使得该处理器通过将多个二维灰度图像中的每个二维灰度图像输入到该彩色图像的相应的颜色通道中来从该多个二维灰度图像中生成彩色图像,其中每个二维灰度图像与在各自不同位置处与印刷电路板组件的部分相交的多个平行平面中的一个平行平面相对应;分析彩色图像以检测指示印刷电路板组件中的缺陷的颜色变化;以及响应于检测到颜色变化而输出指示缺陷的警报。
101.示例21包括示例20的计算机程序产品,其中计算机可读程序还被配置为使处理器检测指示球栅阵列的焊料球连接中的缺陷的颜色变化。
102.示例22包括如示例20-21中任一项的计算机程序产品,其中计算机可读程序实施卷积神经网络,卷积神经网络被配置为分析彩色图像以标识指示缺陷的颜色变化。
103.示例23包括示例20-22中任一项的计算机程序产品,其中彩色图像是红色绿色蓝色(rgb)彩色图像;并且其中多个二维灰度图像包括3个二维灰度图像,3个二维灰度图像中的每个二灰度图像与rgb彩色图像的红色通道、蓝色通道或绿色通道中的相应的一个通道相对应。
104.示例24包括示例20-23中任一项的计算机产品,其中计算机可读程序还被配置为使处理器输出包括指示缺陷的位置的注释彩色图像的警报。
105.示例25包括示例20-24中任一项的计算机程序产品,其中颜色变化指示以下一项:枕头效应缺陷、第一级封装缺陷、第二级焊料接头缺陷、空隙缺陷、焊料印刷质量和底部填充缺陷。
106.尽管本文已经图示和描述了特定实施例,但是本领域的普通技术人员将理解,被计算以实现相同目的的任何布置可以代替所示的特定实施例。因此,显然本发明仅由权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1