三维轮廓测量中根据多个相机和源的点云合并的制作方法

文档序号:12513316阅读:543来源:国知局
三维轮廓测量中根据多个相机和源的点云合并的制作方法与工艺

本发明的各方面涉及使用三角测量原理基于来自多个相机和结构化光源的图像数据来生成对象的复合表面轮廓。



背景技术:

承载电子集成电路和分立电子部件的电路板是公知的。电路板基板上制备有用于容纳诸如集成电路芯片、电阻器或电容器之类的电子部件的引线的预定导体路径和焊盘。在电路板组装过程期间,焊膏(solder paste)沉积物被放置在板基板的适当位置处。通常通过以下来施加焊膏沉积物:将模板筛网(stencil screen)放置在基板上,通过模板开口施加焊膏并从基板移除模板。然后,电路板电子部件被置于基板上,优选地利用拾取和放置机器,其中电子部件的引线被放置在相应的焊膏沉积物上。在所有部件被定位在基板上之后,使电路板经过烘箱,以熔化焊膏沉积物,从而在部件和基板之间创建电以及机械连接。

焊膏沉积物和电子部件的尺寸以及它们必须放置在基板上的精确度随着对电子工业中的小型化的越来越强调而变得越来越小和越来越紧。焊膏沉积物高度可以小至50微米,并且焊膏砖的高度必须经常被测量到在设计高度和尺寸的1%以内。焊料砖之间的中心到中心间距有时小至200微米。焊膏过少可能导致电子部件的引线和电路板基板的焊盘之间没有电连接。焊膏过多可能导致部件的引线之间的桥接和短路。诸如电阻器和电容器之类的分立电子部件可以小至200×400微米,并且微球网格阵列部件上的引线的中心到中心间隔可以小于300微米。

单个电路板可能花费数千甚至数万美元来制造。在制备过程完成之后对电路板的测试可以检测焊膏放置和部件放置和引线连接中的误差,但是通常对于有故障的板的唯一补救措施是放弃整个板。另外,随着部件的小型化,即使利用光学放大,电路板的目视检查也不可靠。因此,必须在制备过程期间检查电路板,使得在将电子部件放置到基板上之前可以检测到不适当的焊膏沉积物。这种过程内焊料检查降低了故障成本,因为昂贵的部件还没有被放置在电路板上。

放置后,对部件进行检查以确保部件的适当放置也是重要的。部件放置不适当、部件缺失或焊接点较差是在部件放置和焊膏回流期间出现的典型缺陷。在回流之后,可以使用自动光学检查系统来检查部件的适当放置和回流焊接点的质量,以确保所有部件被适当焊接并连接到电路板。当前的光学检查系统使用电路板的二维视频图像来检测缺陷。然而,检测电路板的三维高度图像的光学检查系统使得能够对放置缺陷进行检测或以其他方式加以改进,所述放置缺陷为诸如引线抬起、封装共面性以及部件基碑(tombstone)和广告牌(billboard)等。

一种类型的三维检查系统使用相位轮廓测量。通常,相位轮廓测量系统使用单个相机和投影仪。然而,当使用了多个相机时,用户将需要使用诸如点云库(PCL)之类的工具将所得到的点云合并,所述点云库是开放源计算机视觉库。虽然PCL非常强大,但是对于在例如上面列出的那些高速自动检测系统中使用来说太慢。



技术实现要素:

提供了一种用于测量三维表面的计算机实现的方法和系统。该方法包括在表面上投射结构化照明并获取多个图像集合。对所述多个图像集合进行处理以获得多个点云。限定空间累加器。多个点云中的第一点云与多个点云中的第二点云组合到空间累加器中。基于空间累加器的内容生成表面的空间坐标。

附图说明

图1示出了本文所述的实施例特别适合的多次反射问题。

图2是根据本发明的实施例的用于使用相控结构光的电路板的三维成像的多成像设备高度图像传感器的图解视图。

图3是根据本发明的实施例的用于使用相控结构光的电路板的三维成像的多成像设备高度图像传感器的图解视图。

图4是根据本发明的实施例的合并点云的方法的流程图。

图5是根据本发明的实施例的获取多个点云并将它们合并在一起的方法的流程图。

图6是绘制来自两个相机A和B的相同X-Y位置的复数值的示例。

图7示出了根据本发明的实施例在投射到规则空间累加器网格上时在倾斜观看相机中使用复数值的优点。

图8示出了相机从右侧观看的相同对象和投射图案。

图9示出了根据本发明的实施例的沿着空间累加器中的单个线对来自多个相机视图的复数值的合并。

图10A和10B示出了关于若干相机的结果的非线性混合(在这种情况下是几何中值)的优点。

图11示出了根据本发明的实施例的三个相机像素与待测表面的交叉点。

图12示出根据本发明的实施例如何将针对投射像素的信号分配到网格上。

具体实施方式

使用白光相控轮廓测量是用于光学地获取电路板的拓扑表面高度图像的公知技术。在美国专利No.6,750,899中描述了一种投射正弦图案条纹图案以生成3D轮廓的示例系统。三维轮廓或高度图可以通过以下来生成:将来自源的各种结构化光图案投射到对象上,用一个或多个相机记录图案,并适当地处理图像。由各种相机观看的图案由对象的形状来调制。对图案的调制进行分析,以生成三维点云。如本文所使用的,“点云”是在特定坐标系中的一组数据点以及指示质量度量的至少一个附加数据点。在三维坐标系中,点通常由X、Y和Z坐标限定。在美国专利No.6,750,899中描述了一种投射正弦图案条纹图案以生成3D轮廓的示例系统。

被检查对象中的陡峭斜坡和凹陷特征可以导致阴影和遮挡,因此期望组合多个点云以使得一个重建中的空白可以从另一重建中填充。下面参考图2描述示例性三维条纹投射装置。

结构化的光图案可以在被相机成像之前经历来自对象的多次反射。这些反射可能在基于图像创建的点云中引起严重的误差或噪声。闪光或高光对象使多次反射变差。

图1示出了多次反射问题。入射结构化照明在线10处示出,其在具有Z坐标值Z1的点A处从表面18反射出。反射的结构化照明的一部分12经过光学器件26并且由检测器15检测。然而,反射的入射照明的另一部分14作为线19从对象17的表面16反射出。该多次反射照明还经过光学器件26并且由检测器15检测。如果沿着线19的多次反射照明的强度远大于沿着线12的直接反射照明的强度,则点A的所报告的Z坐标将是其中线19与入射照明线10相交的Z2。因此,多次反射照明是该过程中的误差源。

存在点云降噪方法,但是由于通常的相位-轮廓测量重建过程可以极大地放大弱数据中的噪声,因此非常希望在其可能导致问题之前在处理的早期阶段降低弱数据的权重。此外,用于去除坏点的常规技术因为大部分数据可能由于遮挡和多次反射而被破坏而趋向于是无效的。需要一种用于合并点云以显著降低点云误差的改进方法,特别是对于有光泽的对象和部分遮挡的区域。

图2是根据本发明的实施例的用于使用相控结构化光的电路板18的三维成像的多成像设备高度图像传感器60的图解视图。图案投射源62耦接到控制器66并且通过用成像透镜22对空间光调制器(SLM)64成像而将结构化光图案30(图3所示)投射到电路板18上。在一个实施例中,SLM 64是可从德州仪器(例如TI部件号DLP5500)获得的数字微反射镜器件(DMD)。该器件并入了数字微反射镜阵列,该阵列可单独寻址,以在表面上形成任意图像。在操作中,在DMD阵列上对所需的结构化光图案进行编程。经编程的图像使得微反射镜中的每一个倾斜到两个位置中的一个,这两个位置对应于在单独反射镜的位置处的图像的像素强度值。对于高亮度的像素,倾斜的DMD将来自光源24的光通过成像透镜22反射到电路板18,从而产生亮像素。对于对应于结构化光图案30中的低亮度的像素,DMD反射镜的倾斜将来自光源24的光反射远离成像透镜22,从而在结构化光图案30中产生暗像素。通过改变发送到DMD的编程图像,可以生成所需的相移图像序列。使用诸如白光LED之类的亮光源24照明SLM 64。两个相机52a、52b耦接到控制器66并且被配置为同时获取用结构化光图案30照明的电路板18的图像。相机52a、52b可以是在机器视觉中使用的若干图像感测技术中的任何一种,例如与将电路板18成像到检测器中的成像透镜26耦接的CCD或CMOS检测器。图案投射源62和相机52a、52b的光轴入射角之间的差表示高度传感器的三角测量角。

在操作中,光源24照明SLM 64,并且编程有高亮度值的像素反射光通过成像透镜22。成像透镜22将来自SLM 64的光投射到电路板18上。同时,两个相机52a、52b在照明周期期间获取电路板18的第一图像。然后将编程到SLM 64中的投射图案改变为具有第一正弦图案的部分相位距离的等效距离的相对相移的第二正弦图案,并且相机52a、52b获取第二图像。最后,被编程到SLM 64中的投射图案随后被改变为具有第一和第二正弦图案的部分相位距离的等效距离的相对相移的第三正弦图案,并且相机52a、52b获取第三图像。

使用SLM 64来生成结构化光图像序列具有优于使用机械移位的玻璃上铬中间掩模(chrome-on-glass reticle)的优点。利用玻璃上铬中间掩模,结构化光图案30与玻璃上铬图案固定,并且通过物理地移动中间掩模来生成具有不同相位的图像序列。物理地移动中间掩模是昂贵的并且需要倾向于机械磨损和最终失效的运动部件。此外,通常需要改变正弦图案的周期。通过改变正弦图案的周期,可以调整高度图像传感器的高度范围和高度分辨率。当在已经放置部件之后检查电路板时,改变传感器的高度范围是特别重要的,因为放置的部件的高度可以高于由中间掩模图案确定的传感器的高度范围。改变玻璃上铬中间掩模图案需要用另一个中间掩模物理地替换一个中间掩模,这通常在传感器的操作期间不能完成。

利用SLM 64,可以仅通过将数字阵列编程到控制器66中来将各种图案投射到电路板18上。通过将连续图像编程到控制器66,仅完成投射具有变化相位的图像序列。通过从控制器66存储器寻址连续图像,在不物理地移动中间掩模的情况下,投射相位图像序列。此外,通过改变编程到控制器66的图案的相位周期,可以在传感器的操作期间改变高度成像传感器62的高度分辨率和高度范围。

图3是根据本发明另一实施例的用于使用相控结构化光的电路板的三维成像的多成像设备高度图像传感器70的图解视图。在该实施例中,四个相机52a、52b、52c、52d被配置为从四个不同的入射角同时获取电路板18上的正弦结构化光图案30的图像。四个相机52a、52b、52c、52d入射角中的每一个相对于图案投射源62的投射入射角形成三角测量角。图案投射源62将正弦结构化光图案30投射到电路板18上。优选地,相机52a、52b、52c、52d被同时触发以获取正弦图案30的图像。图案投射源62投射具有第一正弦图案的部分相位距离的等效距离的相对相移的第二正弦图案,并且同时触发四个光学图像传感器52a、52b、52c、52d以获取第二图像集合。最后,被编程到图案投射源62中的投射图案随后被改变为具有第一和第二正弦图案的部分相位距离的等效距离的相对相移的第三正弦图案,并且相机52a、52b、52c、52d各自获取第三图像。虽然在图3中示出了具有单个投影仪的四个相机,本发明的实施例还包括与单个相机结合操作的多个投影仪。此外,本发明的实施例还包括利用多个投影仪操作的多个相机。图像被发送到控制器66,控制器66将图像集合处理成高度图像。

图4是根据本发明的实施例的合并点云的方法的流程图。方法100开始于块102,其中将若干不同的结构化光图案从一个或多个方向投射到对象上。这些投射图案中的每一个是用一个或多个相机成像的。接下来,在块104,对于给定的投影仪,限定三维表面,并且该表面上的空间阵列用作空间累加器。在块106,对于在块104中与投影仪相关联的每个相机,使用系统的校准几何结构来分析结构化图案图像,以确定由三维对象坐标构成的点云和对应于相机像素的一个或多个质量度量。在块108,将来自块106的每个点云坐标数学地投射到空间累加器上,其累加范围值(与空间阵列相关)和与范围值相关联的质量度量。在块110,产生对应于空间累加器中的每个元素的范围值和质量度量的复数值。接下来,在块112,针对空间累加器的每个元素合并复数值,以便产生针对空间累加器的每个元素的单个范围值和单个质量度量。各种方法可以用于合并,只要结果是减少或消除点云信息中的遮挡和/或多次反射的影响的单个点云。在块114,针对其他投影仪重复该方法,直到关于所有投影仪已经执行该方法。

图5是根据本发明的实施例的获取多个点云并将它们合并在一起的方法的流程图。方法150开始于块152,其中将至少三个不同图案顺序地投射到待测量的表面上,并且其图像由多个相机获取。优选地,图案是以三个不同相位呈现的正弦条纹图案。接下来,在块154,形成像素的灰度水平的组合,以便产生复数值(在直角坐标中表示,例如z=u+iv或在幅度和相位的极坐标中表示)。优选地,复数值的幅度表示值的质量,并且相位表示观察到的图案的空间信息(例如投射的正弦波的相位)。在块156,对像素的相位进行处理,以标识对应于像素的投射图案内的具有恒定相位的表面。在块158,系统的校准几何结构用于标识对应于像素的从相机到目标区中的光线。接下来,在块160,计算光线(块158)与所标识的表面(块156)之间的交叉点,以确定对应于像素的观察点的唯一三维坐标。在块162,校正相位以对应于标称包裹高度,并产生对应于像素的相位的校正后的复数值。在采用必须归一化到公共高度标度的多个相机的实施例中仅需要块162。在块164,将对应于像素的复数值累加到空间阵列中。在块166,针对所有相机的图像中的每个像素重复块154-164。应当注意,可以投射附加的多个图案集合,并且可以针对每个相机和投影仪对的特定图案集合生成附加点云。例如,可以改变条纹图案集合的方向,并且针对每个相机和投影仪对生成附加的点云。如本文所限定的,图案集合是使用特定图案获取的多个图像,其中该集合包含足够的图像信息以生成单个点云。一旦块166完成,方法150在块168处继续,其中空间阵列中的每个累加器的值被合并。该合并可以根据任何合适的技术来执行。一些示例性技术包括但不限于代数求和或几何中值。最后,在块170,对空间阵列中的每个累加器进行反正切运算,以导出该表面的范围图。

在针对给定的相机和投影仪对处理了每个像素之后,拥有值(x,y,z,r,m)的点云。r是归一化的反射率,并且m是由美国专利No.6,750,899中的等式(1)限定的条纹调制(对比度)。每个点具有3D坐标(x,y,z)以及反射率值和调制值。这个点云可以通过任何数量的方案或技术(参见Jagan Sankaranarayanan、Hanan Samet和Amitabh Varshney的论文,“A fast all nearest neighbor algorithm for applications involving large point-clouds.”Computers&Graphics 31,.(2)(2007),157-174,以及Ruwen Schnabel、Roland Wahl和Reinhard Klein的论文“Efficient RANSAC for Point-Cloud Shape Detection.”Computer Graphics Forum.26,2(2007))来直接使用以辨别对象的真实形状。参考文献试图减少或消除点云中的误差或错失的数据。这些问题通常由遮挡或多次反射引起。

现有技术的局限性是满足现代印刷电路板组装线的显著速度要求所需的巨大计算负担。因此,需要快得多的方法以便服务于印刷电路板制造工业。本文公开的实施例将点云投射到称为空间累加器的点网格上。在一个实施例中,空间累加器是大致平行于点的空间范围的二维平面。在这些实施例中,空间累加器被配置为存储复数值,其中值的幅度表示某种质量测量,并且相位表示离某个参考表面(通常为平面)的距离。

投射过程产生不规则的像素网格,其中不规则性部分地由倾斜几何结构引起,并且部分地由非平坦形貌引起。其x-y坐标不正好位于2-D空间累加器的网格上的像素通过合适的图形保真内核(例如与双线性内插相关联的金字塔内核)来内插。作为投射处理的示例,图11示出了三个相机像素与要测量的表面的交叉点。相机像素光线与测量的投射图案位置的交叉点允许确定交叉点的校准的X、Y、Z位置。然后将这些点中的每一个投射到累加器网格上。对于所示的情况,网格是大致平行于点的空间区域的平面。然而,本文所述的实施例不限于测量大致平坦的表面。有效累加器网格的主要要求是网格中的每个累加器组合一些空间位置的估计。如果网格过度倾斜,则例如来自广泛分离的空间点的像素可能被不经意地组合成单个累加器。在实践中,累加器网格可以倾斜或翘曲成对于测量过程来说方便的任何形状。通常,如投射到累加器网格上的相机像素将不会正好位于网格点处。如果仅将像素值添加到最近的累加器网格点,则在空间位置的舍入中发生的误差将在重建中引起噪声,类似于公知的在将场景渲染到光栅设备时遭遇的图形保真问题。为了避免这个问题,每个像素应该在累加之前用精细的重建(图形保真)内核进行卷积。图12示出如何将用于投射的像素的信号分配到网格上;在该示例中应用双线性内插内核。与投射点相邻的像素中的每一个被递增该投射点的复数值乘以该像素中的内核的面积。针对每个投射的相机像素重复该过程,从而提供简单且快速的加权以及对累加器网格的复数相加。如下面将描述的,提供了到累加器网格中的这种简单相加的多个优点。该方法本身不同于用于生成三维对象的图像的“泼溅(splat)”过程,这是因为不需要在有序方向(例如从低到高)上遍历点云,还因为没有使用新值来覆盖累加器中的现有值。对于每个相机和投射图案的集合,提供表面形状的估计,并且用表面估计填充空间累加器。

估计量(estimator)可以被投射到除平面之外的一些合适的表面上。例如,如果期望目标对象是球体,则可以将估计量投射到球体上,其中球体的参数被调整以最佳地拟合估计量。

一种产生高度图像的容易方式是平均来自任何X、Y位置处的每个相机的高度估计。这种技术的主要优点是简单,但在抑制或消除多次反射的影响方面几乎没有帮助。

在一个实施例中,空间累加器的每个元素中的复数值(u+iv)可以被求和,其中u和v是复数像素值的实分量和虚分量。(备选地,复数像素可以表示为长度为√(u2+V2)和相位角为atan2(u,v)的矢量。在使用正弦条纹投射的实施例中,给定像素的范围值被编码为相位值的函数。在一个实施例中,质量度量被限定为Q=r×m,其向具有更高反射率和条纹对比度的像素分配更多权重。在该实施例中,复数点值的相位对点的高度(或者离空间累加器的标称零位置的距离)进行编码。

在复平面中的求和以低质量估计自动对像素解权重。图6是绘制来自两个相机A和B的相同X-Y位置的复数值的示例。来自相机A的强信号“A”具有被编码为相位角ΦA和矢量长度QA的高度,并且来自相机B的弱信号“B”具有被编码为相位角ΦB和矢量长度QB的高度。如果来自相机A和B的信号仅被转换为高度并且被平均,则结果是高度HA和HB之间的中间水平。在复域中添加矢量产生由强信号(矢量‘A’)支配的结果,其中较弱信号(矢量‘B’)的贡献小,所得到的高度被编码为相位角ΦCB

图7示出了当投射到规则的空间累加器网格上时在倾斜观看相机中使用复数值的优点。上图示出了倾斜相机的像素可能如何映射到不规则表面拓扑上。每个像素观看目标上的点,其中点之间的间距取决于目标的局部拓扑。在投射正弦条纹图案的实施例中,每个像素可以测量投射到表面(投影仪未示出)上的相位和质量度量。图7的第二部分示出了测量的复数值,在每个像素位置处绘制了矢量图,其中水平轴是该像素处的信号的实分量(u)且垂直轴是在该像素处的信号的虚分量(iv)。每个像素的矢量图被绘制在它们适当的横向位置处。操作从测量的图像复数值和已经被清除(设置为0)的输出复数图像开始。为了简单起见,使用最近相邻采样技术而不是更正确的位置内插技术(例如,上述的双线性滤波器)来描述该操作。在最近相邻采样中,相机像素被投射到最近相邻空间网格位置。当它们被添加到累加器时,又查看每个相机像素:(1)最左边的像素仅被添加到累加器中的适当位置;(2)接下来的两个像素二者都与相同的累加器位置最接近,它们又被添加到累加器(因为使用复数值数据进行工作,所以这个和非常像相位值的加权平均);(3)在该示例中的接下来的三个像素均落在唯一的累加器位置中。注意,两个累加器网格点没有映射到它们的任何数据;这些网格位置保持零值(标记为没有信号强度)。

第二相机还可以观看相同的对象并以相同的方式处理。图8示出了相机从右侧观看的相同对象和投射图案。再次,示出了相机像素与每个相机像素的复数信号一起被映射到表面上。然后,将相机像素位置投射到空间累加器网格上。注意,左相机错过的像素位置可以被右相机观看到,反之亦然,以填充遮挡区域。

图9示出了沿着空间累加器中的单个线的来自多个相机视图的复数值的合并。为了清楚起见,省略了空间累加器的其它复数值。图9中的绘图的顶部行是左相机观察到的复数值,绘图的第二行是来自右相机的值。如果仅两个相机可用,则组合图像的最直接的方法是仅使复数值相加,如绘图的第三行上所示。注意,错过的值已被填充,并且所有相机一致的数据点产生更强的信号。

已经发现在实践中有利的是通过使用非线性技术(而不是复数值的简单相加)来组合若干相机的空间累加器。这些方案包括:使用几何中值和投票。在几何中值法中,各个复数值可以通过所谓的几何中值或L1估计量来组合,该估计量是复平面中的位置,其使到点的欧几里得距离之和最小化。该方案的优点是对离群值的优异抗性。投票方法使用最佳估计量,而其他则被丢弃。在统计文献中已经描述了许多鲁棒估计量,典型技术可以丢弃离群值(例如截断平均值)或去权重离群值(例如,温塞平均值(Winsorized mean))。有效地,这些工具投票出认为不准确的那些点。

图10A和10B示出了关于若干相机的结果的非线性混合(在这种情况下是几何中值)的优点。示出了单个累加器位置的实际结果;相机A和B得到在高芯片电容器附近的点的相对好的样本,相机C的结果被从电容器的侧面反射出的光的多次反射破坏。在绘图中,矢量的长度(复数值的幅度)表示每个相机的信号强度,矢量的方向(复数值的角度)表示每个相机的高度估计。复数值的绘图示出了相机A 191和B 192的类似结果,而相机C 193具有非常强但错误的值。仅取得三个值的总和或平均值194产生远离相机A和B值的值,单个离群值可能损害算术平均的结果。几何中值195(中心趋势的非线性估计)不受任何强度的单个离群值破坏。

几何中值的进一步使用是作为空间滤波器。在前一段中,描述了取得在单个位置处的若干估计的几何中值。还可以取得感兴趣对象周围的像素区的几何中值。例如,如果在具有四个相机的系统上使用3×3空间滤波器,则每个位置处存在四个估计以及还存在九像素的空间区。因此,将取得36个估计的几何中值。结果是比线性滤波器更耐噪声,并且不受诸如包裹之类的问题影响。

一旦点云被合并,则合并值可以用于提供与表面相关的三维信息。这样的信息尤其可以用于测量和/或检查等。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1