一种基于空间编码的三维轮廓计算机重构方法

文档序号:6653067阅读:492来源:国知局
专利名称:一种基于空间编码的三维轮廓计算机重构方法
技术领域
本发明属于三维传感与计量技术领域,特别涉及三维物体表面形貌的计算机重构技术。
三维物体表面轮廓的计算机重构技术是目前国内外三维传感与计量研究的热点之一,它被广泛地应用于航空航天、机械制造、在线检测与质量控制、医疗诊断、计算机辅助设计/计算机辅助制造(CAD/CAM)、机器人的视觉系统等领域。基于三角法的空间编码方法是三维形貌重构主要研究方向之一,然而现有的空间编码方法尚存在精度受硬件性能限制大的缺点,因此发展一种高精度的空间编码测量方法,日益受到国内外专家的重视。
三角法的工作原理描述如下

图1a是空间坐标系XYZ的XZ平面视图,图1b是YZ平面视图。物点P是被测物体11表面上任意一点,CCD摄象机12和投影仪13放置在物体上方,它们的光轴成一定角度,图中分别将摄象机和投影仪简化成两个透镜。以摄象机镜头中心为原点(0,0,0),投影仪镜头中心的坐标是(X0,0,Z0),0是投影仪的光轴与摄象机的光轴的夹角。物点P相对于摄象机镜头的水平视角和垂直视角分别是α和β,相对于投影仪镜头的投影角为。按照投影仪镜头中心、摄象机镜头中心和物点P之间的几何三角关系,设P点的坐标是(X,Y,Z),可以建立下面的方程组
X=Z·tgα(2)Y=Z·tgβ(3)按照上面的方程组,只要已知物点的水平视角、垂直视角和投影角,就可以求出该点的三维位置坐标,其中视角α、β由物点P在摄象机CCD阵列中对应的像素位置给出。
CCD摄象机成像关系如图2所示,图中CCD阵列22对应的被测基准面21水平宽度为W,摄像机镜头23到被测基准面21的距离是L,物点P在CCD阵列上水平方向上的像素位置是m,CCD阵列水平方向总像素数是M,则水平视角α表示为α=tg-1(mM·WL)----(4)]]>同理,垂直视角β表示为β=tg-1(nN·HL)----(5)]]>其中,H是摄象机CCD阵列对应的被测基准面垂直高度,n是物点P在CCD阵列上垂直方向上的像素位置,N是CCD阵列垂直方向总像素数。投影角用条纹投影空间编码法求得。
空间编码三角法原理如图3所示,LCD投影仪33将投影图案A、B、C依次投影到被测空间31,如图3a所示;CCD摄象机依次记录下三幅灰度图像,如图3b所示;图像a、b、c分别对应图案A、B、C。在一般情况下,摄象机32正对被测空间31放置,投影仪33的光轴与摄象机32的光轴成一定的角度。投影图案中的黑白条在被测空间内形成亮暗条纹,这就在摄象机的图像中形成不同的灰度值。把图像二值化后,高灰度值的亮条纹表示为“1”,低灰度值的暗条纹表示为“0”。这样图像中的每一个像素获得一个三位字长的二进制编码,一个码位对应一幅图,顺序为第一位对应图像a,第二位对应图像b,依次类推。这就是说,不同的投影图案有不同的权,投影图案A的权最高,图案B其次,等等。
图3b中,采用的是最简单的二进制码投影图案,第一幅图案A由亮暗两条等宽度的条纹组成,第二幅图案B将第一幅中的两条条纹分别等分成两条亮暗条纹,以后的投影图案均将前一幅图案中的每一条条纹细分成两条等宽的亮暗条纹。图3a中用三幅投影图案将被测空间划分成8个区域d,每个区域用一个三位的二进制码字表示出来。区域0获得的编码是“000”,区域1获得的编码是“001”,区域2获得的编码是“010”,等等。然后将每个区域获得的二进制编码转换成该区域对应的投影码,这个过程称为译码。可以通过建立译码表或译码公式两种方法来完成译码过程。图3中投影图案的译码表表示如下表1译码表
按照上面的译码表编写搜寻译码程序,由计算机完成译码过程。二进制码投影图案还可以建立译码公式Np=Nd-2n-1+0.5 (6)其中,Np是投影码,Nd是十进制编码,n是二进制码投影图案幅数。有了投影码,通过下面的关系式就可以求出投影角。
其中,L是镜头到被测基准面的距离,K是投影条纹在被测基准面上划分的子区域的宽度。
条纹投影空间编码是用条纹的空间分布将被测空间划分成许多子区域,子区域的宽度决定该方法的空间分辨率,表示为S=12·h0nw·sin(a)----(8)]]>其中,S表示系统的空间分辨率,h0是测量空间的高度,a是摄象机与投影仪之间的夹角,nw是编码的码字数目。当nw增加时,系统的测量误差减小。但是不能无限制地增加nw,由于采样定理的限制,摄象机的采样频率应该是投影仪对物体表面的区域划分频率的两倍以上,也就是编码要满足投影条纹划分的最小区域的宽度至少二倍于一个像素视野宽度,所以nw不能取得太大。如果要进一步提高空间分辨率,就必须提高硬件设备的性能,选用具有更高光学分辨率的LCD投影仪和CCD摄象机。然而,这样将大幅度增加系统的成本。
本发明的目的在于克服已有纯粹黑白条纹投影法空间分辨率受硬件性能限制的不足之处,提出一种通过黑白条纹与灰度条纹结合的三维轮廓重构方法,具有测量精度高,不受硬件性能限制的特点。
本发明提出的一种基于空间编码的三维轮廓计算机重构方法,其特征在于首先采用黑白条纹投影图案对被测空间进行粗略的空间编码,以实现对被测三维轮廓的粗划分,然后再用灰度渐变的图案对所说的粗划分的空间再进行细划分。这样用黑白条纹和灰度投影相结合的图案就可以得到比同样数目黑白条纹投影的空间编码划分细致得多的效果,从而达到突破硬件限制的目的。
上述黑白条纹投影和灰度投影结合法的具体实现步骤如图4所示。首先,LCD投影仪将条纹投影图案和灰度投影图案依次投射到被测物体,CCD摄象机依次记录下对应的黑白条纹图像和灰度图像。其次,分别处理这两类图像,黑白条纹图像经过二值化处理和译码处理后得到粗编码信息矩阵,灰度图像经过消除背景光处理和规范化处理后得到精编码信息矩阵。然后,将粗、精编码信息矩阵相结合得到完整的编码信息矩阵。最后,用基于像素的三角法解算程序重构出三维物体的表面形貌。
为了提高黑白条纹投影的编码效率,本发明采用的黑白条纹投影编码的方法,包括1)每一个编码区域对应码字均不相同;2)相邻编码区域之间的Hamming距离均是1;3)每一个物点上至少有被一个亮条纹和一个暗条纹所投影的机会;4)投影条纹划分的最小区域的宽度至少二倍于一个像素视野宽度。
实现上述编码的具体步骤为1)设定投影的图案数目N,使投影条纹划分的最小区域的宽度至少二倍于一个像素视野宽度,每幅投影图案的明暗分布对应设定的编码区域M,组成一个N*M矩阵,该矩阵中的元素aij对应第j个编码区域的第i位的值;2)给矩阵的第一列赋初值,初始值可以出1和0任意组合,也可以取默认值3)变化第一列中的一位的值,把它作为下一列;
4)判断该列是否全为0或全为1或与前面的某列相同,如果是,则重新变化另一位的值,再判断;如果没有上述情况,则将其作为新生成的列;5)重复3、4步骤的过程,直至生成全部投影图案矩阵。
在上述生成黑白条纹投影图案的编码方法详细说明如下1.编码的相互独立性。
在编码图案中,每一个编码区域对应码字均不相同。这个条件是必要的,它使基于单一像素的三角法成为可能,令计算机自动处理编码时不会产生歧义。图5中列出了一种相互独立的二进制编码。
2.相邻编码区域之间的Hamming距离均是1。
这个条件使条纹投影空间二进制编码造成的边缘编码误差最小。图6中列出了一种Hamming距离H均为1的编码。
3、编码的自我规范化性。
测量中由于像素上取得的光强灰度值受投影物面的反射率影响,可能发生的情况是暗条纹在白色物面上产生的灰度值比亮条纹在黑色物面上产生的灰度值大。这样就不能用一个全局恒定的二值化阈值去满足所有的被测区域,全局阈值只适用于物面反射率一致且无外部光照或外部光照均匀的构造情况。因此,要求每一个物点上至少有被一个亮条纹和一个暗条纹所投影的机会,它对应的像素上的光强灰度值序列中就会含有一个较大和较小的灰度值。这样就可以按单一像素二值化以取得二进制编码,其阈值为该像素上较大和较小的灰度值的平均值。称这样的编码为能够自我规范化的,它能够适用于物面反射率不一致且有外部光照的非构造情况。
图7a的格雷码具有相邻码字的Hamming距离恒为1的特性,同时具有便于数据转化的特点。但是,该编码中含有不能自我规范化的区域D,它们是区域0和区域5。区域0由三个全亮的条纹构成编码,区域5由三个全暗的条纹构成编码。当进行动态阈值二值化时,它们当中的一些码位被二值化成“1”,另一些码位被二值化成“0”,从而产生编码错误。解决这个问题的方法是增加一幅全亮和一幅全暗的投影图案,以确保每一个码字能够自我规范化,如图7b所示。这相当于增加一个0和1位到每一个码字中,这样区域0和5由原来的码字“111”和“000”变成现在的码字“01000”和“01111”,可以实现动态阈值二值化。
4.编码要满足采样定理。
采样定理在这里可以描述为摄象机的采样频率是投影仪对物体表面的区域划分频率的两倍以上。即编码要满足投影条纹划分的最小区域的宽度至少二倍于一个像素视野宽度。如图8所示,图中小方格表示CCD摄象机的一个像素在被测物面上对应的视野范围。图上投影条纹划分的最小区域的宽度大于两个像素视野宽度,满足采样定理。
上述黑白条纹编码的生成过程可以利用程序自动完成。如图9首先设定要投影的图案数目N,然后计算需要生成的投影矩阵的大小。矩阵的行数N为投影图案数目,为设定值,其列数M为该编码对空间的划分个数,理论上应为2N个。但是这2N个划分中包括了全亮、全暗的编码,不能很好的二值化,还可能不满足Hamming距离为1的条件。如果按照N的奇偶分类,分别设定列数M=2N-2或M=2N-3,那么就一定可以保证生成的编码符合本发明设定的条件。接下来输入初始列或采用默认值。下面由程序变换这一列中的一位,并检查该列是否全零(全暗)、全一(全亮)或与前面的列重复,进而决定接受该列或变化另一位继续检查,直到得到满意的列。这样逐列生成编码,当全部编码生成后,输出编码矩阵。图10是用这个程序生成的一组5位的二进制编码图案,它有30个码字,将被测空间划分成30个子区域,每个码字是一个5位字长的二进制编码。这组编码图案是用缺省初始列[10...0]T生成的,当然,如果采用不同的初始列,会生成不同的编码图案。
在黑白条纹投影的基础上,本发明增加了两幅灰度图案投影。这两幅图案也可以用程序自动实现。例如可以利用计算机控制投影仪按灰度值线性变化完成投影。
通过采用黑白条纹投影和灰度投影结合的方法,本发明有效的克服了纯粹黑白条纹投影法空间分辨率严格受限于硬件性能的不足,用较小的硬件开支就可以获得较高的空间分辨率。
附图简要说明图1为三角法原理示意图。
图2为CCD摄象机成像关系示意图。
图3为空间编码三角法原理示意图。
图4为本发明的黑白条纹投影和灰度投影结合法的流程5为编码的独立性示意图。
图6为Hamming距离均是1的编码图案示意图。
图7为编码的自我规范化示意图。
图8为编码的采样定理示意图。
图9为本发明的实施例的编码图案自动生成软件流程图。
图10为本发明的实施例的二进制编码图案示意图。
本发明提出的一种基于空间编码的三维轮廓计算机重构方法实施例结合附图详细描述如下本发明以5幅投影图案为实施例,如图11所示,首先,投影仪112用3幅黑白条纹图案E1、E2、E3将被测空间粗略地划分成7个区域,每个区域D得到一个整数表示的编码。然后,投影仪112用2幅灰度投影图案E4、E5在每个区域内形成由暗到亮和由亮到暗的均匀灰度分布,在消除背景光和规范化处理之后得到被测物体表面的精确编码信息,它提供编码的小数部分。最后,将粗编码信息和精编码信息相结合,计算机采样摄象机111的视频图像信号,并以位图格式存储和读取图像。每一幅图像在计算机里表示为一个480×640的矩阵,矩阵的元素是0~255之间表示灰度级的整数。设矩阵I1、I2、I3、I4、I5分别表示5幅图像,首先对I1、I2、I3进行动态阈值二值化Imax=max(I1,I2,I3)(9)Imin=min(I1,I2,I3) (10)Ithr=12(Imax+Imin)----(11)]]>Bi=floor(Ii./Ithr) (i=1,2,3)(12)表示二进制数异或运算,Ithr是动态阈值矩阵,其元素取为对应的像素上最大灰度值和最小灰度值的平均值。Bi(i=1,2,3)是二值化后的矩阵,元素全部由0和1组成。floor是向负无穷方向取整函数,./表示矩阵点除运算。根据该编码的特点,可用下面的公式方便地完成译码过程,把二进制数转换成十进制数B1′=B1]]>Bi′=Bi-1′⊕Bi(i=2,3)----(13)]]>A=B1′·22+B2′·21+B3′·20-4----(14)]]>Cn480×640=[A1480×320-A2480×320]----(15)]]>A是译码后的十进制数矩阵,根据投影图案的对称性,A的每一行元素的变化规律为-3、-2、-1、0、-1、-2、-3。将矩阵A的右半矩阵符号取反,得到最终的粗编码译码矩阵Cn。
通过公式(16)将表示灰度图像的矩阵I4和I5做消除背景光和规范化处理,其元素规范在-0.5~0.5之间。将粗编码信息矩阵Cn和精编码信息矩阵Cp相加,得到最终的编码信息矩阵CCp=12(I4-I5)./(Imax-Imin)----(16)]]>C=Cn+Cp(17)最后,用基于像素的三角法解算程序重构出物体的表面形貌。由于这种方法在纯粹的黑白条纹投影基础上附加了更加丰富的小数编码信息矩阵Cp,故只用较少的投影图案就能取得优于纯粹黑白条纹投影的重构结果。实验证明,5幅投影图案的结合法得到的测量结果优于8幅黑白条纹投影法的测量结果。
权利要求
1.一种基于空间编码的三维轮廓计算机重构方法,其特征在于首先采用黑白条纹投影图案对被测空间进行粗略的空间编码,以实现对被测三维轮廓的粗划分,然后再用灰度渐变的图案对所说的粗划分的空间再进行细划分。
2.如权利要求1所述的基于空间编码的三维轮廓计算机重构方法,其特征在于具体实现步骤为1)首先,LCD投影仪将所说的黑白条纹投影图案和灰度投影图案依次投射到被测物体,CCD摄象机依次记录下对应的黑白条纹图像和灰度图像;2)其次,分别处理这两类图像,黑白条纹图像经过二值化处理和译码处理后得到粗编码信息矩阵,灰度图像经过消除背景光处理和规范化处理后得到精编码信息矩阵;3)然后,将粗、精编码信息矩阵相结合得到完整的编码信息矩阵;4)最后,用基于像素的三角法解算程序重构出三维物体的表面形貌。
3.如权利要求1所述的基于空间编码的三维轮廓计算机重构方法,其特征在于所说的采用黑白条纹投影图案的空间编码方法包括1)每一个编码区域对应码字均不相同;2)相邻编码区域之间的Hamming距离均是1;3)每一个物点上至少有被一个亮条纹和一个暗条纹所投影的机会;4)投影条纹划分的最小区域的宽度至少二倍于一个像素视野宽度。
4.如权利要求3所述的基于空间编码的三维轮廓计算机重构方法,其特征在于所说的采用黑白条纹投影图案的空间编码方法的具体实现步骤为1)设定投影的图案数目N,使投影条纹划分的最小区域的宽度至少二倍于一个像素视野宽度,每幅投影图案的明暗分布i对应设定的编码区域M,组成一个N*M矩阵,该矩阵中的元素aij对应第j个编码区域的第i位的值;2)给矩阵的第一列赋初值,初始值可以由1和0任意组合,也可以取默认值;3)变化第一列中的一位的值,把它作为下一列;4)判断该列是否全为0或全为1或与前面的某列相同,如果是,则重新变化另一位的值,再判断;如果没有上述情况,则将其作为新生成的列;5)重复3、4步骤的过程,直至生成全部投影图案矩阵。
全文摘要
本发明属于三维传感与计量技术领域,本方法为:首先采用黑白条纹投影图案对被测空间进行粗略的空间编码,以实现对被测三维轮廓的粗划分,然后再用灰度渐变的图案对所说的粗划分的空间再进行细划分。本发明具有测量精度高,不受硬件性能限制的特点。
文档编号G06T9/00GK1271144SQ00107760
公开日2000年10月25日 申请日期2000年5月26日 优先权日2000年5月26日
发明者尤政, 董斌, 于世洁 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1