一种垂直投影光栅测量仿真系统及其实现方法与流程

文档序号:11512912阅读:806来源:国知局
一种垂直投影光栅测量仿真系统及其实现方法与流程

本发明涉及一种垂直投影光栅测量仿真系统及其实现方法,特别涉及一种利用计算机仿真现实中光栅调制过程的一种结构光投影仿真系统及其实现方法,属于结构光测量技术领域。



背景技术:

随着科学技术的快速发展、社会生产率的持续提升,各个领域对测量技术的需求也在不断提高,特别是对其测量方式、测量效率和测量精度的要求变得更加苛刻。随着计算技术的。光学测量技术和数字图像处理技术快速发展,三维形貌测量方法层出不穷。结构光测量技术凭借其非接触和高精度的优点,在众多的测量方法中脱颖而出。

传统的接触式三维测量技术,需要通过机械探针接触被测物体,通过出点获得物体表面精确的坐标信息。接触式三维测量技术有很多优点如测量精度较高,对被测物体的色泽没有要求,但是也存在很大的缺点如测量过程耗时较长,机械探针在跟物体接触的过程中会造成物体表面接触变形。更重要的是有些物体表面形状太复杂导致机械探针无法抵达,对于这类物体接触式三维测量技术对其就无法进行测量。

光学测量技术是一种非接触式三维测量技术,可以弥补以上接触式三维测量技术存在的缺点。光栅投影测量技术就是一种很有效的光学三维测量技术,它是通过将光栅投影到物体表面,经过物体表面的调制光栅造成形变,接着利用图像采集器捕获变形后的光栅条纹,最后经过解调即可得出物体的表面信息。由于该技术信息量大,高效率和高精确度而备受关注,具有广阔的市场前景。

为了运用条纹光栅投影系统(fringeprojectionsystem,以下简称fps)获取三维物体表面形貌信息,在实验之前最好采用仿真验证一下设计方案。仿真可以免除了搭建fps平台的麻烦,而且仿真的速度更快,更灵活,而且可以方便他人使用。fps理论验证需要建立一个高精度光栅投影系统,图像采集器,实验设备校准装置等设。因此有必要开发一个fps仿真系统作为替换。fps仿真系统相比搭建fps平台,不仅具有高速、经济的有点,而且具有更高的灵活性和精度,除此之外它还能为系统参数的设置和误差的分析提供很大的便利。

许多研究人员已经提出了基于条纹投影技术的光学仿真系统。在大多文献中所使用的仿真算法都主要是运用光线追迹技术。目前光线追迹法被广泛应用与光学仿真领域,但是光线追迹法还存在许多问题:首先,由于布尔联合的问题,使三维信息减小一维,从而产生两个问题,对三维物体的操作应规范化,机器运算的有限精度带来了线面交点计算的误差。引入简单的接近正则化规则可以忽略一些小的误差,但是会产生一些副作用。其次,由于浮点运算的局限性,许多常用的求交点算法存在一些明显的数值问题。特别是光线经过自由曲面,要通过复杂的算法,对不同的情况进行讨论。

研究物体表面对光栅条纹的调制过程,对于研究光栅的调制方法、研究系统参数对测量的影响、评价算法的优劣、确定合理的技术方案和系统结构具有重要意义。但是目前存在的光栅投影仿真系统的仿真系统都是照相机光轴和参考平面垂直,而投影仪光轴相对于参考平面是倾斜的,并且要求两光轴相交于一点。本发明是垂直投影光栅投影测量仿真系统,对一些上方小下方大的物体,能够很好的避免阴影的产生,使在实际测量中能够减少处理阴影的麻烦。



技术实现要素:

本发明提供了一种垂直投影光栅测量仿真系统及其实现方法,能够很好的避免阴影的产生,使在实际测量中能够减少处理阴影的麻烦。

本发明的技术方案是:一种垂直投影光栅测量仿真系统,以windows系统为开发平台,通过逆光线追迹法,运用计算机编程语言,编写光栅投影模块、工作台模块、图像采集模块,再模拟被测物体,实现具有光栅投影测量系统的仿真模型,其中模拟的投影机和参考平面相互垂直,并且投影机和照相机的光轴无交点;

所述光栅投影模块用于模拟投影机生成光栅条纹图像,设置光栅调制频率和初始相位,从而将光栅条纹图像投射到被测物体表面;

所述被测物体和工作台模块用于仿真将要被测量的物体和物体所在的实验台;

所述图像采集模块用于模拟照相机采集调制过的光栅条纹,模拟光栅投影到物体表面后,光栅条纹会收到物体表面的调制,从而产生形变,通过模拟工业照相机采集形变光栅条纹图像。

一种所述的垂直投影光栅测量仿真系统的实现方法,所述方法的具体步骤如下:

step1、计算f点对应的长度和宽度;其中:f点为线段ec的延长线与参考平面r5r6r7r8的交点,e点为ccd象元,线段ec为象元e与相机光心c连线;

step2、d点坐标的计算;其中d点为象元e与光心连线ec的延长线与平面r1r2r3r4相交点;

step3、计算直线cd与物体表面的交点a的坐标;

step4、计算参考平面和物体表面上一点的相位值;

step5、根据step4中的相位值计算ccd阵列上与a点、d点所对应的像素的强度值;

step6、根据上述计算出的内容,系统中即得到照相机拍到的图像,得到图像即仿真出了垂直投影测量系统。

进一步地,(1)、所述步骤step1中运用相似三角形原理计算f点对应的长度和宽度,具体如下:

如图1,e点为ccd象元,每个象元的长和宽分别用sx,sy来表示,e点在ccd阵列上的行和列分别用i,j来表示,象元e与光心连线ec的延长线与物体表面相交于a点,与平面r1r2r3r4相交于d点,与参考平面r5r6r7r8相交于f点,f点与y轴的距离是f点对应的长度,f点与x轴距离是f点对应的宽度,根据相似三角形原理得出计算f点对应的长度和宽度的计算公式(1)、(2)

其中,i表示第i行的象元,f表示照相机焦距,lf表示f点对应的长度,bf表示f点对应的宽度;l'表示照相机距参考平面r5r6r7r8的距离;

(2)、所述步骤step2中d点坐标的计算,具体如下:

由于d点在直线cf上,根据几何关系得出公式(3)、(4),由于d点总是在参考平面r1r2r3r4上,得到d(xd,yd,zd)坐标的计算公式(3)、(4)、(5):

zd=0(5)

其中α、β分别是照相机光轴与yoz平面的夹角和xoz平面的夹角,o'为相机光轴和参考平面r5r6r7r8的交点;

(3)、所述步骤step3中,计算直线cd与物体表面的交点a的坐标,具体步骤如下:

由于a点在直线cd上,根据相似三角形原理得出公式(6)、(7)、(8),

(6)

za=f(xd,yd)(8)

其中,l为投影仪距参考平面r1r2r3r4距离,c(xc,yc,zc)为相机光心,其横纵坐标、z坐标均通过人工设置,根据仿真的实际位置调动,在三维空间中线面交点不能用数学公式直接求出,因此在仿真系统的实现过程中要用数值迭代法计算a点的坐标,在三维空间中采用迭代法直接计算出交点a坐标,a点是直线cd和物体表面的交点,设想cd直线上有一点q(xq,yq,zq),过q点做辅助线gh垂直于参考平面,h为直线gh和参考平面的交点,g为直线gh和物体表面的交点令h1=qh,h2=gq,其中h1,h2分别由公式(9)、公式(10)计算得到,

h2=f(xq,yq)(10)

其中,z=f(x,y)为曲面的函数表达式;

令d点为初始迭代点,初始步长s=1,向c点方向进行迭代搜索,每进行迭代一次得到的结果如下,

是n+1次迭代之后得到的q点的横坐标和纵坐标,k表示q点纵坐标和横坐标的比值,k=j/i,其中i,j表示e点像素的纵坐标和横坐标,

确定迭代停止点,定义三个变量d1、d2、kd,令第一次计算h1、h2的差值d1=h1-h2,对q点迭代之后计算出h1、h2的差值d2=h1-h2,令kd=d1·d2,此过程每迭代一步就重新将d1、d2赋值一次,当q点在da线段上时h1>h2(qh>gh),有h1-h2<0;当q点在ac线段上时h1>h2,有h1-h2>0;如果kd的符号在第n次迭代时发生变化,说明第n-1迭代时q点在da线段上,第n-1迭代时q点在ac线段上,即说明q点已经迭代到a点附近,q点超过a点之后开始减小步长s的值并进行反方向迭代,令s=-s/2,然后运用上面的方法进行多次迭代,直到|s|<0.001迭代停止;

(4)、所述步骤step4计算参考平面和物体表面上一点的相位值,具体步骤如下:

在平面r1r2r3r4上投射的光栅栅距为λ,令o点的初始相位为0,则参考平面上的d点、被测物体表面上的a点处的光栅相位分别由公式(12)、(13)计算得到

其中,xd=od,xa是a点x坐标值;

(5)、所述步骤step4中的相位值计算ccd阵列上与a点、d点所对应的像素的强度值,具体步骤如下:

如果直线ed和物体表面之间不存在交点,则ccd阵列上的e(i,j)点表示参考平面上光栅条纹强度图像,e点强度和参考平面r5r6r7r8上的d点强度相对应,它的强度值根据公式(14)计算得到;如果直线ed和物体表面有交点,则ccd阵列上的e(i,j)点表示经过物体表面调制后的光栅条纹强度图像,e点强度和物体表面上a点强度相对应,它的强度值根据公式(15)计算得到,

其中,a表示背景光强,b表示投射光栅的最大强度。

本发明的有益效果是:

1、使用方便

为了运用条纹光栅投影系统(fps)获取三维物体表面形貌信息,那么在实验之前最好采用仿真验证设计方案。仿真可以免除了搭建fps平台的麻烦,而且仿真的速度更快,更灵活,而且可以方便他人使用。fps理论验证需要建立一个高精度光栅投影系统,图像采集器,实验设备校准装置等。fps仿真系统相比搭建fps平台,不仅具有高速、经济的有点,而且具有更高的灵活性和精度,除此之外它还能为系统参数的设置和误差的分析提供很大的便利。

2、投影仪可以垂直投影

本发明是垂直投影光栅投影测量仿真系统,对一些上方小下方大的物体,能够很好的避免阴影的产生,使在实际测量中能够减少处理阴影的麻烦。

附图说明

图1为本发明系统原理图;

图2为本发明d点计算中的几何关系;

图3为本发明迭代法计算a点(直线和曲面交点)的二维示意图。

具体实施方式

实施例1:如图1-3所示,一种垂直投影光栅测量仿真系统,以windows系统为开发平台,通过逆光线追迹法,运用计算机编程语言,编写光栅投影模块、工作台模块、图像采集模块,再模拟被测物体,实现具有光栅投影测量系统的仿真模型,其中模拟的投影机和参考平面相互垂直,并且投影机和照相机的光轴无交点;

所述光栅投影模块用于模拟投影机生成光栅条纹图像,设置光栅调制频率和初始相位,从而将光栅条纹图像投射到被测物体表面;

所述被测物体和工作台模块用于仿真将要被测量的物体和物体所在的实验台;

所述图像采集模块用于模拟照相机采集调制过的光栅条纹,模拟光栅投影到物体表面后,光栅条纹会收到物体表面的调制,从而产生形变,通过模拟工业照相机采集形变光栅条纹图像。

采用64位win7操作系统,intel(r)core(tm)i5-2410mcpu@2.30处理器,4gb内存,选取c++builder6.0为开发软件。通过逆光线追迹法,运用c++语言,通过编写光栅投影模块-projecter、模拟被测物体和工作台模块、图像采集模块-camera(其中c点是照相机的光心),实现具有光栅投影测量系统的仿真模型;其中模拟的投影机和照相机的光轴不需要有交点。实施例中仿真系统参数选取如下:ccd像素为800x600,摄像机焦距f=1.5mm,象元尺寸sx=0.0032mm,sy=0.0032mm,投影仪距参考平面r1r2r3r4距离l=100mm,照相机距参考平面r5r6r7r8的距离l`=150mm,投影仪安装位置:xp=0mm,yp=0mm,zp=100mm。

一种所述的垂直投影光栅测量仿真系统的实现方法,所述方法的具体步骤如下:

step1、计算f点对应的长度和宽度;其中:f点为线段ec的延长线与参考平面r5r6r7r8的交点,e点为ccd象元,线段ec为象元e与相机光心c连线;

step2、d点坐标的计算;其中d点为象元e与光心连线ec的延长线与平面r1r2r3r4相交点;

step3、计算直线cd与物体表面的交点a的坐标;

step4、计算参考平面和物体表面上一点的相位值;

step5、根据step4中的相位值计算ccd阵列上与a点、d点所对应的像素的强度值;

step6、根据上述计算出的内容,系统中即得到照相机拍到的图像,得到图像即仿真出了垂直投影测量系统。

进一步地,(1)、所述步骤step1中运用相似三角形原理计算f点对应的长度和宽度,具体如下:

如图1,e点为ccd象元,每个象元的长和宽分别用sx,sy来表示,e点在ccd阵列上的行和列分别用i,j来表示,象元e与光心连线ec的延长线与物体表面相交于a点,与平面r1r2r3r4相交于d点,与参考平面r5r6r7r8相交于f点,f点与y轴的距离是f点对应的长度,f点与x轴距离是f点对应的宽度,根据相似三角形原理得出计算f点对应的长度和宽度的计算公式(1)、(2)

其中,i表示第i行的象元,f表示照相机焦距,lf表示f点对应的长度,bf表示f点对应的宽度;l'表示照相机距参考平面r5r6r7r8的距离;

(2)、所述步骤step2中d点坐标的计算,具体如下:

由于d点在直线cf上,根据几何关系得出公式(3)、(4),由于d点总是在参考平面r1r2r3r4上,得到d(xd,yd,zd)坐标的计算公式(3)、(4)、(5):

zd=0(5)

其中α、β分别是照相机光轴与yoz平面的夹角和xoz平面的夹角,o'为相机光轴和参考平面r5r6r7r8的交点;

(3)、所述步骤step3中,计算直线cd与物体表面的交点a的坐标,具体步骤如下:

由于a点在直线cd上,根据相似三角形原理得出公式(6)、(7)、(8),

(6)

za=f(xd,yd)(8)

其中,l为投影仪距参考平面r1r2r3r4距离,c(xc,yc,zc)为相机光心,其横纵坐标、z坐标均通过人工设置,根据仿真的实际位置调动,在三维空间中线面交点不能用数学公式直接求出,因此在仿真系统的实现过程中要用数值迭代法计算a点的坐标,在三维空间中采用迭代法直接计算出交点a坐标,a点是直线cd和物体表面的交点,设想cd直线上有一点q(xq,yq,zq),过q点做辅助线gh垂直于参考平面,h为直线gh和参考平面的交点,g为直线gh和物体表面的交点令h1=qh,h2=gq,其中h1,h2分别由公式(9)、公式(10)计算得到,

h2=f(xq,yq)(10)

其中,z=f(x,y)为曲面的函数表达式;

令d点为初始迭代点,初始步长s=1,向c点方向进行迭代搜索,每进行迭代一次得到的结果如下,

是n+1次迭代之后得到的q点的横坐标和纵坐标,k表示q点纵坐标和横坐标的比值,k=j/i,其中i,j表示e点像素的纵坐标和横坐标,

确定迭代停止点,定义三个变量d1、d2、kd,令第一次计算h1、h2的差值d1=h1-h2,对q点迭代之后计算出h1、h2的差值d2=h1-h2,令kd=d1·d2,此过程每迭代一步就重新将d1、d2赋值一次,当q点在da线段上时h1>h2(qh>gh),有h1-h2<0;当q点在ac线段上时h1>h2,有h1-h2>0;如果kd的符号在第n次迭代时发生变化,说明第n-1迭代时q点在da线段上,第n-1迭代时q点在ac线段上,即说明q点已经迭代到a点附近,q点超过a点之后开始减小步长s的值并进行反方向迭代,令s=-s/2,然后运用上面的方法进行多次迭代,直到|s|<0.001迭代停止;

(4)、所述步骤step4计算参考平面和物体表面上一点的相位值,具体步骤如下:

在平面r1r2r3r4上投射的光栅栅距为λ,令o点的初始相位为0,则参考平面上的d点、被测物体表面上的a点处的光栅相位分别由公式(12)、(13)计算得到

其中,xd=od,xa是a点x坐标值;

(5)、所述步骤step4中的相位值计算ccd阵列上与a点、d点所对应的像素的强度值,具体步骤如下:

如果直线ed和物体表面之间不存在交点,则ccd阵列上的e(i,j)点表示参考平面上光栅条纹强度图像,e点强度和参考平面r5r6r7r8上的d点强度相对应,它的强度值根据公式(14)计算得到;如果直线ed和物体表面有交点,则ccd阵列上的e(i,j)点表示经过物体表面调制后的光栅条纹强度图像,e点强度和物体表面上a点强度相对应,它的强度值根据公式(15)计算得到,

其中,a表示背景光强,b表示投射光栅的最大强度。

上面结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

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