发明名称 以单基色对比度为特征测量轴向位移的方法
摘要 以单基色对比度为特征测量沿轴向位移的方法及装置,由一台计算机及其摄像头、一台步进电机、步进电机接口电路以及摄像头轴向位移装置组成,摄像头被安装在轴向位移装置上,由步进电机所驱动,步进电机通过步进电机接口电路连接到计算机的RS232C接口,该计算机配置有摄像头拍摄以及根据单基色对比度测量轴向位移程序。本发明以一种基色帧的对比度作为被测物体图像的特征,通过计算像素亮度的自关联匹配系数,自动分析并选取最佳观察区域,通过计算机的RS232C接口控制步进电机的旋转,进而操作摄像头的运动,通过计数观察窗内图像特征的数目,判断物体成像聚焦的程度,籍此获取微小位移。本测量方法提高了测量速度,避免了其它波长的光照及其变化对测量的影响。
申请公布号 CN102102980B 申请公布日期 2013.06.12
申请号 CN200910250910.4 申请日期 2009.12.21
申请人 重庆工商大学 发明人 曾艺
分类号 G01B11/02(2006.01)I 主分类号 G01B11/02(2006.01)I
代理机构 代理人
主权项 一种以单基色对比度为特征测量轴向位移的方法,它通过一台计算机及其摄像头、摄像头轴向位移装置、一台步进电机以及步进电机接口电路测量轴向位移,摄像头安装在摄像头轴向位移装置上,步进电机通过步进电机接口电路连接到计算机的RS232C接口,所述摄像头轴向位移装置包括:摄像头(1)安装在第一工作台(33)上,第一工作台(33)与一根长的螺丝纹旋转轴(34)以螺丝纹套接,螺丝纹旋转轴(34)通过第一支撑架(31)和第二支撑架(32)安装在一张大的第二工作台(30)上,并且,螺丝纹旋转轴(34)与第一支撑架(31)和第二支撑架(32)都是以转轴的方式套接,螺丝纹旋转轴(34)在与第一支撑架(31)和第二支撑架(32)的套接处可以转动但不发生向前或向后的位移,螺丝纹旋转轴(34)上有一个固定的第一齿轮(341),该齿轮(341)与步进电机(40)的转轴(41)上面的第二齿轮(42)相互咬合,步进电机(40)也安装在第二工作台(30)上,步进电机(40)通过步进电机接口电路(43)连接到计算机(5)的RS232C接口(8);其特征在于,该方法通过摄像头拍摄并以单基色对比度为特征测量物体沿所述摄像头的光轴方向发生的微小位移,包括下述步骤:步骤一、以位图M×N的格式拍摄一帧被测物体的图像,作为参考帧;以该帧像素阵列左上角的第一个像素的位置为原点,以向右的方向为X轴方向,垂直向下方向为Y轴方向,所取坐标系的单位为一个像素的大小;在所述像素阵列的中央选取一个区域,大小为m0×n0,称之为观察窗,它距离所述像素阵列的水平方向和垂直方向的边缘像素各有h和v个像素,即有:m0+2h=M,n0+2v=N,其中,M、N、m0、n0、h、v∈正整数;步骤二、逐像素行、逐像素列导出所述参考帧像素阵列的关于X轴方向和关于Y轴方向的两帧边方向数据{referencex(x,y)}和{referencey(x,y)},其中,下标x或y分别表示所沿的坐标轴的方向,符号“{}”表示沿其中函数下标所标示的坐标轴方向观察窗内诸像素(x,y)处的边方向数据的一个集合,保存这些数据;步骤三、分别计算所述参考帧里观察窗内像素阵列的自关联匹配系数: <mrow> <mi>auto</mi> <mo>_</mo> <msub> <mi>correlation</mi> <mi>x</mi> </msub> <mrow> <mo>(</mo> <mi>a</mi> <mo>,</mo> <mi>b</mi> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>y</mi> <mo>=</mo> <mi>v</mi> <mo>+</mo> <mn>1</mn> </mrow> <mrow> <mi>v</mi> <mo>+</mo> <mn>1</mn> <mo>+</mo> <msub> <mi>n</mi> <mn>0</mn> </msub> </mrow> </munderover> <munderover> <mi>&Sigma;</mi> <mrow> <mi>x</mi> <mo>=</mo> <mi>h</mi> <mo>+</mo> <mn>1</mn> </mrow> <mrow> <mi>h</mi> <mo>+</mo> <mn>1</mn> <mo>+</mo> <msub> <mi>m</mi> <mn>0</mn> </msub> </mrow> </munderover> <mo>[</mo> <msub> <mi>reference</mi> <mi>x</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>&CenterDot;</mo> <msub> <mi>reference</mi> <mi>x</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>+</mo> <mi>a</mi> <mo>,</mo> <mi>y</mi> <mo>+</mo> <mi>b</mi> <mo>)</mo> </mrow> <mo>]</mo> </mrow> <mrow> <mi>auto</mi> <mo>_</mo> <msub> <mi>correlation</mi> <mi>y</mi> </msub> <mrow> <mo>(</mo> <mi>a</mi> <mo>,</mo> <mi>b</mi> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>y</mi> <mo>=</mo> <mi>v</mi> <mo>+</mo> <mn>1</mn> </mrow> <mrow> <mi>v</mi> <mo>+</mo> <mn>1</mn> <mo>+</mo> <msub> <mi>n</mi> <mn>0</mn> </msub> </mrow> </munderover> <munderover> <mi>&Sigma;</mi> <mrow> <mi>x</mi> <mo>=</mo> <mi>h</mi> <mo>+</mo> <mn>1</mn> </mrow> <mrow> <mi>h</mi> <mo>+</mo> <mn>1</mn> <mo>+</mo> <msub> <mi>m</mi> <mn>0</mn> </msub> </mrow> </munderover> <mo>[</mo> <msub> <mi>reference</mi> <mi>y</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>&CenterDot;</mo> <msub> <mi>reference</mi> <mi>y</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>+</mo> <mi>a</mi> <mo>,</mo> <mi>y</mi> <mo>+</mo> <mi>b</mi> <mo>)</mo> </mrow> <mo>]</mo> </mrow>式中,运算符号●表示二进制逻辑与运算,其运算结果或为逻辑0或为逻辑1,运算符号“[]”表示取其中的逻辑运算函数的值所对应的数值,或为数值0,或为数值1,参数 变量a、b的组合决定了关联匹配算子阵列的规模,如果取3×3关联匹配算子阵列:a=‑1、0、1,b=‑1、0、1,因此,沿每个坐标轴方向各自会产生9个自关联匹配系数auto_correlationx(a,b)和auto_correlationy(a,b);步骤四、根据上述两帧边方向数据对应的自关联匹配系数,分别搜索在目前的物体表面状况以及照明状况下可以进行匹配比较的最佳观察窗像素阵列:mx=m0±step,nx=n0±step,2h=M‑mx,2v=N‑nx和my=m0±step,ny=n0±step,2h=M‑my,2v=N‑ny,式中,下标x、y分别表示对应着沿X轴方向和Y轴方向,step为搜索过程中的步进参数,其前面的加减号由搜索方向决定;取此两组值中大者为本测量所用观察窗阵列的规模:m×n;步骤五、对于上述参考帧之像素阵列,选取其三种基色帧之一,分别逐行、逐列导出沿X轴和Y轴方向该基色的1×2=2帧边方向数据;据此,对于其中的观察窗区域,分别使用累加器计数它们所对应的正边、负边的数目:NCOLORX轴正、NCOLORX轴负、NCOLORY轴正和NCOLORY轴负,其中,N表示数目,下标中的文字COLOR表示所选基色;累加上述累加器的计数结果并保存之,表示为:N(i,j=0,forw=0,back=0),其中,i=1,2,3.....,表示所拍摄的参考帧的顺序计数,也是测量的计数,j=0,1,2,3,......,表示第i次测量过程中拍摄的取样帧的计数,变量forw和back分别表示第i次测量中所述步进电机发生顺时钟旋转和反时钟旋转所对应的步进脉冲计数:forw=0,1,2,......,back=0,1,2,......,本次测量开始前,有:i=1,j=0,forw=0,back=0;步骤六、测量开始:所述计算机通过其RS232C接口的一根输出控制线FORWARD输出第forw=1个数字脉冲信号到所述步进电机接口电路,控制该步进电机顺时钟旋转一步,然后,拍摄第j=1帧取样帧位图;对于上述取样帧之像素阵列,分别逐行、逐列导出沿X轴和Y轴方向的所选基色的1×2=2帧边方向数据;据此,对于其中的观察窗区域,分别使用累加器计数它们所对应的正边、负边的数目:NCOLORX轴正、NCOLORX轴负、NCOLORY轴正和NCOLORY轴负;累加上述累加器的计数结果并保存之,表示为:N(i,j=1,forw=1,back=0);步骤七、如果:N(i,j=1,forw=1,back=0)≥N(i,j=0,forw=0,back=0),所述计算机通过其RS232C接口的一根输出控制线FORWARD输出第forw个数字脉冲信号到所述步进电机接口电路:forw=2,3,......,控制该步进电机顺时钟旋转进步,每次顺时钟旋转一步都拍摄并分析比较前后各取样帧中观察窗内沿X轴和Y轴方向所选基色的所有的正边和负边的数目之和N(i,j=forw‑1,forw‑1,back=0)和N(i,j=forw,forw,back=0),保存之,该过程中应当会有:N(i,j=forw,forw,back=0)≥N(i,j=forw‑1,forw‑1,back=0),直到满足:N(i,j=forw,forw,back=0)<N(i,j=forw‑1,forw‑1,back=0),这时,记录(forw)MAX=forw,同时,所述计算机通过其RS232C接口的另一根输出控制线BACKWARD输出一个数字脉冲信号到所述步进电机接口电路:back=1,控制该步进电机反时钟旋转一步,这时,相对本次测量开始前的初始位置,本装置的摄像头即处于本次测量中的最佳物体成像聚焦位置:FocusP=(forw)MAX‑back=(forw)MAX‑1,其计算的结果大于或等于0,表示所述步进电机的旋转方向总的看来是顺时钟方向的,该聚焦位置对应的取样帧观察窗内沿X轴和Y轴方向所选基色的所有的正边和负边的数目之和为:N(i,j=(forw)MAX‑1,forw=(forw)MAX‑1,back=0),测量过程中拍摄的取样帧的总计数结果为:j=(forw)MAX+back=(forw)MAX+1;如果:N(i,j=1,forw=1,back=0)<N(i,j=0,forw=0,back=0),所述计算机通过其RS232C接口的一根输出控制线BACKWARD输出第back=1个数字脉冲信号到所述步进电机接口电路,控制该步进电机反时钟旋转退一步,即回到本次测量的初始位置,然后,所述计算机通过其RS232C接口的输出控制线BACKWARD继续输出第back个数字脉冲信号到所述步进电机接口电路:back=2,3,......,控制该步进电机进一步反时钟旋转,在此过程中,每次反时钟旋转一步都拍摄并分析比较前后各取样帧观察窗内沿X轴和Y轴方向所选基色的所有的正边和负边的数目之和N(i,j=back+1,forw=1,back)和N(i,j=back,forw=1,back=back‑1),应当有:N(i,j=back+1,forw=1,back=back)≥N(i,j=back,forw=1,back=back‑1),保存之,如此继续,直到满足:N(i,j=back+1,forw=1,back)<N(i,j=back,forw=1,back‑1), 这时,记录:(back)MAX=back,同时,所述计算机通过其RS232C接口的另一根输出控制线FORWARD输出一个数字脉冲信号到所述步进电机接口电路,这时有:forw=2,控制该步进电机顺时钟旋转一步,至此,相对本次测量开始前的初始位置,本装置的摄像头即处于本次测量中的最佳物体成像聚焦位置:FocusP=forw‑(back)MAX=2‑(back)MAX,其计算的结果为负值,表示所述步进电机的旋转方向总的看来是反时钟方向的,该聚焦位置对应的取样帧观察窗内沿X轴和Y轴方向所选基色的所有的正边和负边的数目之和为:N(i,j=((back)MAX‑1)+1=(back)MAX,forw=1,back=(back)MAX‑1),测量过程中拍摄的取样帧的总计数结果为:j=forw+(back)MAX=2+(back)MAX;综合起来,相对本次测量开始前的初始位置,本次测量所获得的物体沿所述摄像头的光学轴方向发生的位移是:Δz(i)=forw‑back,上述计算式中计数器forw和back的值均为本次测量过程中最后的计数结果,计算结果有正或负的符号,分别表示所发生的位移沿光学轴前进或后退的方向,对应于所述步进电机的旋转方向即顺时钟方向或反时钟方向,具体由摄像头轴向位移装置之安排确定;总的位移为:ΔZ0(i)=ΔZ0(i‑1)+Δz(i),其中,ΔZ0(i‑1)为本次测量之前累积的轴向位移;步骤八、准备下一次测量工作:测量次数计数器i=i+1,取第i次测量确定的最佳物体成像聚焦位置处相应的物体成像帧观察窗内沿X轴和Y轴方向所选基色的所有的正边和负边的数目之和作为新的测量参考值:N(i,j=0,forw=0,back=0)=N(i,j=(forw)MAX‑1,forw=(forw)MAX‑1,back=0),或N(i,j=0,forw=0,back=0)=N(i,j=((back)MAX‑1)+1=(back)MAX,forw=1,back=(back)MAX‑1);步骤九、跳转到步骤六,继续测量;上述步骤二、步骤五与步骤六中所述边方向数据或某种基色的边方向数据的定义是:像素阵列中,沿着X轴或者沿着Y轴方向,如果一个像素的光强值或所选基色的强度值比其后面的第二个像素相应的值还要小一个误差容限值error,即如果:I(X,Y)<I(X+2,Y)‑error或I(X,Y)<I(X,Y+2)‑error,则定义这两个像素之间存在一个沿该轴方向的正边或所选基色的正边;如果一个像素的光强值或所选基色的强度值比其后面的第二个像素相应的值还要大一个误差容限值error,即如果:I(X,Y)>I(X+2,Y)+error或I(X,Y)>I(X,Y+2)+error,则定义这两个像素之间存在一个沿该轴方向的负边或所选基色的负边;如此获得的边位于该像素之后的第一个像素的位置,也即位于参与比较的两个像素的中间位置的那个像素上;如果一个像素的某种光强值或所选基色的强度值与其后面的第二个像素相应的值接近,其值相差不超过一个误差容限值error,即如果:I(X+2,Y)‑error≤I(X,Y)≤I(X+2,Y)+error,或I(X,Y+2)‑error≤I(X,Y)≤I(X,Y+2)+error,则认为这两个像素之间沿该坐标轴方向不存在对应的边或所选基色的边,或称之为第三类边;沿着某一个坐标轴方向,对应的像素行或像素列所有的正边、负边以及第三类边组成该行或该列沿该坐标轴方向的边方向数据,对应的像素行或像素列所选基色的所有的正边、负边以及第三类边组成该行或该列所选基色沿该坐标轴方向的边方向数据,并以3bit的二进制数值001,010和100分别表示其中的正边、负边以及第三类边;根据具体的光照情况,预置上列式中的误差容限值为一个小的数值;像素阵列中的四个边与角上的像素位置不存在边方向数据。
地址 400067 重庆市南岸区学府大道19号重庆工商大学科研处