一种基于彩色光栅的快速三维立体重建方法转让专利

申请号 : CN201510819074.2

文献号 : CN105300319B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杜娟谭健胜冯颖陈雅

申请人 : 华南理工大学

摘要 :

本发明公开了一种基于彩色光栅的快速三维立体重建方法,包括如下步骤:S1在三维立体视觉系统中,获取标定图像,所述三维立体视觉系统包括摄像机、投影仪、工作平台及计算机;S2设计彩色光栅投影条纹;S3在三维立体视觉系统中,打开投影仪,拍摄在无待测芯片的彩色光栅投影背景图,把待测芯片放置在工作平台上,将彩色光栅投影到待测芯片上,采集包含待测芯片的彩色光栅投影图;S4采用改进的双边滤波算法对包含待测芯片的彩色光栅投影图进行滤波;S5对滤波后的包含待测芯片的彩色光栅投影图进行灰度化;S6采用占宽比例法计算条纹差值,进一步得到偏移距离,本发明达到了工业产品缺陷检测的精度要求和实时性要求。

权利要求 :

1.一种基于彩色光栅的快速三维立体重建方法,其特征在于,包括如下步骤:S1在三维立体视觉系统中,获取标定图像,所述三维立体视觉系统包括摄像机、投影仪、工作平台及计算机;

S2设计彩色光栅投影条纹;

S3在三维立体视觉系统中,打开投影仪,拍摄在在无待测芯片的彩色光栅投影背景图,把待测芯片放置在工作平台上,将彩色光栅投影到待测芯片上,采集包含待测芯片的彩色光栅投影图;

S4采用改进的双边滤波算法对包含待测芯片的彩色光栅投影图进行滤波;

S5对滤波后的包含待测芯片的彩色光栅投影图进行灰度化;

S6采用占宽比例法计算条纹差值,进一步得到偏移距离,计算公式为d=n*β,d为偏移距离,β为光栅条纹的宽度,n则为条纹偏移的差值,所述β在系统标定时通过光栅设计直接获得;

S7根据彩色光栅投影三维数学模型进行高度恢复;

所述S4中改进的双边滤波算法采用局部加权平均的方法获取复原图像 的像素值;

式中,sx,y表示中心点(x,y)的(2N+1)×(2N+1)大小的邻域,对该邻域内的每一个像素点f(x,y),其加权系数w(i,j)由两部分因子的乘积组成:w(i,j)=wg(i,j)·wr(i,j)

其中, 为空间相似度函数, 为亮度相似

度函数,所述N为整数。

2.根据权利要求1所述的快速三维立体重建方法,其特征在于,所述设计彩色光栅投影条纹具体采用彩色投影光栅的蓝、绿、青、红、品红和黄六种颜色,编号为1-6,周期为6。

3.根据权利要求1所述的快速三维立体重建方法,其特征在于,所述S5具体为:根据S2制定的彩色光栅的编码规则,得到投影光栅的阶次为Z1,利用公式I=Z1/T,T为投影光栅的编码周期,在本发明中为6,即可得到存在6个灰度级的光栅投影灰度图像。

4.根据权利要求1所述的快速三维立体重建方法,其特征在于,所述S6中采用占宽比例法计算条纹差值,计算公式为d=n*β,具体为:(1)逐点扫描包含待测芯片的彩色光栅投影图,检测各点处所在的条纹阶次;

(2)与彩色光栅投影背景图中的对应条纹值相减,得到条纹初步差值N0,此时N0为整数;

(3)定义变量点A为包含待测芯片的彩色光栅投影图上某一像素点,a是点A在包含待测芯片的彩色光栅投影图中的向上占宽比,点B是与点A同一位置在彩色光栅投影背景图中的像素点,点A’是点A偏移前在彩色光栅投影背景图中的像素点,b是点A’在背景图中的向上占宽比,则实际的条纹差值为n=N0+b-a;

(4)β为光栅条纹的宽度,在系统标定时可直接获得,最后由计算公式为d=n*β即可计算得到偏移距离d。

5.根据权利要求1所述的快速三维立体重建方法,其特征在于,在标定图像之前,对图像叠加模板为5×5,宽度为1的二维高斯滤波器。

说明书 :

一种基于彩色光栅的快速三维立体重建方法

技术领域

[0001] 本发明涉及表面贴装设备中的图像处理领域,特别涉及一种基于彩色光栅的快速三维立体重建方法。

背景技术

[0002] 目前,三维立体重建有多种方法,如:双目视觉立体重建技术、基于物体外部轮廓线的立体重建技术、深度图像和彩色图像相结合的立体重建方法以及光栅投影立体重建方法等。
[0003] 经典的光栅立体重建方法采用的是相位测量法,其基本原理是:将光栅分别投影到参考平面和被测物体表面,由于参考平面选取的是水平平面,投影到上面的参考光栅不会发生变形;当光栅投影到被测物体表面时,光栅会产生不同程度的变形,这是由于投影光栅受到了被测物体表面高度的调制,这种变形可解释为相位和振幅均被调制的空间载波信号。所放置的被测物体高度不同,光栅的相位变化程度也随之不同,二维平面变形条纹的相位变化中携带有物体表面的三维形貌信息。因此,通过求取相位的变化值,就可以得到物体在相应点处的高度,从而得到三维物体的轮廓形状。
[0004] 但是经典的光栅投影法对投影仪与摄像机的几何放置关系有严格要求,在实际操作不利于调整。而且经典法使用的投影光线是灰度结构光,其单幅信息量小,实现编码需要投影多幅图像,不利于实时性。

发明内容

[0005] 为了克服现有技术存在的缺点与不足,本发明提供一种基于彩色光栅的快速三维立体重建方法。
[0006] 本发明一种基于彩色光栅的快速三维立体重建方法所采用的技术方案为:本文系统所搭建的三维立体视觉系统是以一个CCD摄像机、一台DLP投影仪、工作平台以及工业控制计算机组成,投影仪向工作平台投射彩色光栅条纹,摄像机通过其所在的空间位置,对位于工作平台的待测芯片进行拍照采图,计算机收集图像并进行滤波处理,基于彩色光栅投影法的原理计算出芯片的三维形状信息。在该技术方案中,完成物体的立体重建只需采集一幅彩色光栅投影图,很好地达到了工业产品缺陷检测的精度要求和实时性要求。
[0007] 本发明采用如下技术方案:
[0008] 一种基于彩色光栅的快速三维立体重建方法,包括如下步骤:
[0009] S1在三维立体视觉系统中,获取标定图像,所述三维立体视觉系统包括摄像机、投影仪、工作平台及计算机;
[0010] S2设计彩色光栅投影条纹;
[0011] S3在三维立体视觉系统中,打开投影仪,拍摄在在无待测芯片的彩色光栅投影背景图,把待测芯片放置在工作平台上,将彩色光栅投影到待测芯片上,采集包含待测芯片的彩色光栅投影图;
[0012] S4采用改进的双边滤波算法对包含待测芯片的彩色光栅投影图进行滤波;
[0013] S5对滤波后的包含待测芯片的彩色光栅投影图进行灰度化;
[0014] S6采用占宽比例法计算条纹差值,进一步得到偏移距离,计算公式为d=n*β,d为偏移距离,β为光栅条纹的宽度,n则为条纹偏移的差值,所述β在系统标定时通过光栅设计直接获得;
[0015] S7根据彩色光栅投影三维数学模型进行高度恢复。
[0016] 所述设计彩色光栅投影条纹具体采用彩色投影光栅的蓝、绿、青、红、品红和黄六种颜色,编号为1-6,周期为6。
[0017] 所述S4中改进的双边滤波算法采用局部加权平均的方法获取复原图像 的像素值;
[0018]
[0019] 式中,sx,y表示中心点(x,y)的(2N+1)×(2N+1)大小的邻域,对该邻域内的每一个像素点f(x,y),其加权系数w(i,j)由两部分因子的乘积组成:
[0020] w(i,j)=wg(i,j)·wr(i,j)
[0021] 其中, 为空间相似度函数, 为亮度相似度函数,所述N为整数。
[0022] 所述S5具体为:根据S2制定的彩色光栅的编码规则,得到投影光栅的阶次为Z1,利用公式I=Z1/T,T为投影光栅的编码周期,在本发明中为6,即可得到存在6个灰度级的光栅投影灰度图像。
[0023] 所述S6中采用占宽比例法计算条纹差值,计算公式为d=n*β,具体为:
[0024] (1)逐点扫描包含待测芯片的彩色光栅投影图,检测各点处所在的条纹阶次;
[0025] (2)与彩色光栅投影背景图中的对应条纹值相减,得到条纹初步差值N0,此时N0为整数;
[0026] (3)定义变量点A为包含待测芯片的彩色光栅投影图上某一像素点,a是点A在包含待测芯片的彩色光栅投影图中的向上占宽比,点B是与点A同一位置在彩色光栅投影背景图中的像素点,点A’是点A偏移前在彩色光栅投影背景图中的像素点,b是点A’在背景图中的向上占宽比,则实际的条纹差值为n=N0+b-a;
[0027] (4)β为光栅条纹的宽度,在系统标定时可直接获得,最后由计算公式为d=n*β即可计算得到偏移距离d。
[0028] 在标定图像之前,对图像叠加模板为5×5,宽度为1的二维高斯滤波器。
[0029] 本发明的有益效果:
[0030] (1)本发明通过计算彩色光栅条纹的偏移量恢复出物体的高度,恢复精度高,过程简单,可操作性强;
[0031] (2)本发明根据二进制对彩色光栅条纹进行编码,可靠性高,易于实现;
[0032] (3)利用彩色光栅进行投影通过条纹颜色记录更多的被测物体的信息,只需采集一幅投影图像,有效地提高了算法的实时性;
[0033] (4)本发明在进行高度恢复的时候提出了占位比例法,计算简便,准确率高,针对芯片一类线性形状的物体具有很好的恢复效果和稳定性。

附图说明

[0034] 图1是本发明实施例的三维立体视觉系统的结构示意图;
[0035] 图2是本发明的光栅投影原理图;
[0036] 图3是本发明实施例的光栅投影模型图;
[0037] 图4是本发明实施例的占宽比例法原理示意图;
[0038] 图5是本发明的工作流程图。

具体实施方式

[0039] 下面结合实施例及附图,对本发明作进一步地详细说明,但本发明的实施方式不限于此。
[0040] 实施例
[0041] 如图1所示,本发明的三维立体视觉系统包括摄像机1、投影仪2、工作平台3及计算机,待检测芯片4放置在工作平台上,投影仪把彩色光栅投影至待检测芯片上,由摄像头采集光栅投影图像。本发明还需要采集空的工作平台的光栅投影图像作为背景对比图,用于计算待检测芯片前后的光栅条纹的偏移量。
[0042] 本实施例中摄影仪采用DLP摄影仪。
[0043] 如图5所示,本发明一种基于彩色光栅的快速三维立体重建方法,包括如下步骤:
[0044] S1在三维立体视觉系统中,获取标定图像。
[0045] 在三维立体视觉系统中,将待检测芯片放置于工作平台上,调节好光源的亮度,通过摄影机拍摄得到标定图像。在对图像进行标定之前,首先对图像叠加模板为5×5,宽度为1的二维高斯滤波器,滤除杂质噪声。
[0046] 二维高斯滤波器的函数g(i,j)
[0047]
[0048] 其中 为模板中心 σ为宽度,也即平滑程度。用由此函数生成的高斯序列做卷积运算,进行高斯滤波。
[0049] S2设计彩色光栅投影条纹,列出了列出区分度最高的8种纯色:采用对24位真彩图像3个分量R、G、B分别赋值实现,24位真彩图像的R、G、B分量分别是8位,有256个灰阶,把每个分量只取0和255两个值,并将灰阶255时为1,灰阶0时为0,这样R、G、B分量的取值分别为0或1,3个分量有8种组合且分别代表8种纯色:黑为000、蓝为001、绿为010、青为011、红为100、品红为101、黄为110、白为111。这种编码方式的周期为23=8,因此根据二进制计算分别赋予其0-7的代号。
[0050] 考虑到实际投影得到图像会有投影遮挡的影响,去掉黑色这一条纹;另外还有基板颜色和光栅间隙产生的影响,也去掉白色的条纹,我们实际上使用的彩色投影光栅为蓝、绿、青、红、品红和黄6种颜色,其代号为1-6,周期为6。
[0051] S3在三维立体视觉系统中,打开投影仪,拍摄在在无待测芯片情况下的彩色光栅投影背景图,把待测芯片放置在工作平台上,将彩色光栅投影到待测芯片上,采集包含待测芯片的彩色光栅投影图;
[0052] S4采用改进的双边滤波算法对包含待测芯片的彩色光栅投影图进行滤波;
[0053] 为了更好地从采集图像中恢复出芯片的三维外观,通常在预处理过程中,要对图像进行去噪滤波。本发明采用了改进的双边滤波算法不仅考虑像素间的距离因素,而且也考虑像素间灰度值因素,更符合人眼视觉习惯,能有效地改进传统中值滤波和高斯滤波不能保护图像细节和边缘的缺点;
[0054] 所述S4双边滤波器采用局部加权平均的方法获取复原图像 的像素值:
[0055]
[0056] 式中,Sx,y表示中心点(x,y)的(2N+1)×(2N+1)大小的邻域。对该邻域内的每一个像素点f(x,y),其加权系数w(i,j)由两部分因子的乘积组成:
[0057] w(i,j)=wg(i,j)·wr(i,j)
[0058] 其中, 为空间相似度函数, 为亮度相似度函数。
[0059] 双边滤波在充分保护边缘的前提下对输入图像进行平滑处理。但经典的双边滤波算法,对噪声的干扰依然很敏感,抗噪能力存在一定的不足,边缘结构保持效果并没有得到明显的提高。同时,噪声的存在会影响亮度加权系数的准确估计,使得双边滤波结果在某些区域仍存在剩余噪声,抑噪能力不强。
[0060] 为了更好突出边缘效果,消除边界锐化现象,本发明在亮度相似函数的窗口做进一步改进:
[0061]
[0062] 在改进的双边滤波窗口中,可以使得窗口中各元素围绕中心点(x,y)具有一定的张弛度,使得原图窗口与滤波窗口的差值形成的矩阵的各元素围绕中心点(x,y)的比值减少,产生更好的的平滑和缓和作用。
[0063] S5对滤波后的包含待测芯片的彩色光栅投影图进行灰度化;
[0064] S6采用占宽比例法计算条纹差值,进一步得到偏移距离,计算公式为d=n*β,d为偏移距离,β为光栅条纹的宽度,n则为条纹偏移的差值,所述β在系统标定时通过光栅设计直接获得;
[0065] (1)逐点扫描包含待测芯片的彩色光栅投影图,也记为I2,检测各点处所在的条纹阶次Z2,Z2的计算方法为:获取每个像素点的R、G、B值(分别为0或者1)。根据二进制编码规则可得,
[0066] Z1=R*22+G*21+B*20,计算得到Z2的值为1-6,分别对应蓝、绿、青、红、品红、黄6种颜色的彩色光栅条纹;
[0067] (2)将彩色光栅投影背景图也记为I1对应的条纹值Z1与Z2相减,得到条纹初步差值N0,此时N0为整数,需要注意的是当I 1与I2还处于同一个条纹周期时所得的N0是正确值,而当I2由于偏移而越至I 1的下一个周期编码时,相减会得到一个错误的负值,因此此时的N0需要加上一个编码周期才能得到一个正确的条纹初步偏移值。具体的计算公式如下:
[0068]
[0069] (4)图4中,左侧从上至下包含待检测芯片的彩色光栅投影图、黄色条纹、品红色条纹、红色条纹、青色条纹及绿色条纹,右侧从上至下为无待测芯片的彩色光栅投影背景图、品红色条纹、红色条纹、青色条纹、绿色条纹及蓝色条纹,由图4可以看出,条纹真正的偏移值是N0+b-a,a跟b均为条纹中点的向上占宽比,取值范围为0-1。其中a是该点在实际光栅投影图中的向上占宽比,b是该点在原标准背影图中的向上占宽比。首先,以当前像素点为起点,向上遍历,直到到达与起点颜色不一样的下一条纹时停止,即到达了同一颜色条纹的边界,此时计数得到的像素点数目定义为upcount。同理,以该起点向下遍历直到到达同一颜色条纹的边界,计数得到的像素点数目定义为downcount。Upcount与downcount的和记为count,即实际整根条纹的像素长度,区别于标准背景图中每根条纹的像素长度COUNT,COUNT是一个固定值,而count由于物体高度的影响使光条条纹发生偏移,因此在不同像素点的count会有所差别。求取占宽比的方法就是求取向上或向下像素长度与整根条纹的比值。
[0070] 受芯片本身形状的制约以及其它如拍摄角度等因素的影向,实际情况比较复杂。为了解释的方便,首先定义一些变量:根据上文的编码方式,彩色光栅条纹的编号分别为1-
6。设当前像素点所在的条纹的编号为value,在背景图中向上与其相邻最近的一根条纹的编号为upvalue,向下与其相邻最近的一根条纹的编号为downvalue。针对不同的条件,占宽比的计算方法会有所区别。本文从中总结出了三种相对普遍的情况:
[0071] 1)在实际光栅投影图中,向上和向下与其相邻最近的一根条纹的颜色编号分别与标准背景图中的upvalue和downvalue相等,即“上等下等”,则表明该点的向上和向下的像素长度都是可以信赖的,求取向上占宽比时,使用向上或向下的像素长度均可,公式如下:
[0072] a=upcount/COUNT
[0073] 2)在实际光栅投影图中,向上与其相邻最近的一根条纹的颜色编号与标准背景图中的upvalue相等,而向下与其相邻最近的一根条纹的颜色编号不等于标准背景图中的downvalue,即“上等下不等”,则表明只有向上的像素长度值得信赖,可用于计算,公式如下:
[0074] a=upcount/COUNT
[0075] 3)在实际光栅投影图中,向下与其相邻最近的一根条纹的颜色编号与标准背景图中的downvalue相等,而向上与其相邻最近的一根条纹的颜色编号不等于标准背景图中的upvalue,即“下等上不等”,说明只有向下的像素长度值得信赖,可用于计算,公式如下:
[0076] a=1-downcount/COUNT
[0077] 针对芯片对象,有两种特殊情况需要考虑:第一种是距离摄像头最远的地方,处在图像上方的管脚由于滑坡出现了遮挡,致使条纹的排列情况不规则,因此计算时不能再用标准条纹长度COUNT,而要用实际条纹长度count,在实际图像中其特点也满足分类3),因此公式如下:
[0078] a=1-downcount/count
[0079] 第二种情况下是距离摄像头最近的地方,处在图像下方的管脚由于滑坡出现了条纹跳跃的问题,致使条纹的排列情况不规则,因此计算时不能再用标准条纹长度COUNT,而要用实际条纹长度count,在实际图像中其特点也满足分类2),因此计算公式如下:
[0080] a=upcount/count
[0081] 该点在原标准背影图中的向上占宽比b属于“上等下等”的情况,可归入上述的分类(1),因此b的计算公式如下:
[0082] b=upcount/COUNT
[0083] 最后即可算出条纹真正的偏移值为N0+b-a。
[0084] S7根据彩色光栅投影三维数学模型进行高度恢复。
[0085] 如图2所示:光栅投影主要是根据三角形原理进行测量的,通过出射点、投影点和成像点三者之间的三角形几何关系进行求解,应用广泛、容易求解并且测在图2中,摄像机与投影仪存在一定的角度。假设P点为投影仪光学系统的光学中心。C点为摄像机光学镜头的光学中心;OC、OP分别为摄像机与投影仪的假想光轴;A为光线PH和参考平面的交点;H为被测物体上的一点,其高度为h;B点为CH的延长线,交于参考平面的交点,投影中心P到摄像机光心C之间的距离为W,A点与B点之间的距离为S,投影仪光心到参考面之间的距离为L。根据相似三角形原理,△PCH~△ABH,可得物体上一点离参考面的高度h的计算公式为:
[0086]
[0087] 本发明采用的光栅投影立体重建系统模型如图3所示。在图3中,各参量的意义如下:Ωw表示参考坐标系、Ωc表示摄像机坐标系、Op表示投影中心、Oc表示光心,Oc′是Oc在参考面上的投影。omn表示摄像机成像面上的图像坐标系。参考坐标系为OXYZ,Ωw是根据投影装置建立的。OXY平面平行于投影面,Y轴平行于光栅条纹,Z轴经过投影中心Op。
[0088] 设摄像机到投影中心的距离为W,摄像机与参考面之间的垂直距离为hc。设物体表面上一点P,光束OpP与物体表面相交于点P,P′为物点P在OXY平面上的投影。OpP与OXY平面相交于D点。P″、D″分别是P′、D在OXY平面上的投影。OcP是进入摄像机的光束,其延长线与参考面相交于点A,A″是点A在X轴上的投影。P点在摄像机中成像于p(m,n),从摄像机获得的图像中看到,由于物体的高度影响,在成像面上的p点处的条纹由原先的A点处条纹转换到P点处条纹,位置发生了偏移。设A″到P″的距离为d,P点的高度为h,由相似三角形原理可得:△PAP′∽△OcAOc′以及△AOc′A″∽△P′Oc′P″,可得:
[0089]
[0090] 即:
[0091]
[0092] hc、Oc′是系统标定出的参数,为了计算出物体表面高度h,只要求出d以及OA″便可,d是A″到P′的距离,与条纹变化的差值n和条纹的宽度β有关,利用本文提出占宽比例法计算,OA″通过系统的标定得到,方法如下:
[0093] OA″是图像坐标上的点对应到参考面上的A点的水平坐标值。在系统标定过程中,我们可以得到其投影矩阵MM:
[0094]
[0095] 消去Zc,可以推出由ui,vi计算Xwi,Ywi,Zwi(Zwi已知)的通用公式:
[0096]
[0097] 将对应的像素点(ui,vi)以及Zwi=0代入上面(1)式,得到Xwi的值即为OA″的值。
[0098] 本发明所搭建的三维立体视觉系统是以一个CCD摄像机、一台DLP投影仪、工作平台以及工业控制计算机组成,投影仪向工作平台投射彩色光栅条纹,摄像机通过其所在的空间位置,对位于工作平台的待测芯片进行拍照采图,计算机收集图像并进行滤波处理,基于彩色光栅投影法的原理计算出芯片的三维形状信息。在该技术方案中,完成物体的立体重建只需采集一幅彩色光栅投影图,很好地达到了工业产品缺陷检测的精度要求和实时性要求。
[0099] 上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。