2.重点讨论影响三角法测量精度的各个因素;
3.通过自己编制一种空间编码并付诸实践,了解二进制空间编码的基本原理和原则。
二、实验原理
1.三角法的基本原理
三角法(triangulation)是以传统的三角测量为基础,按照被测物体、投影仪和CCD图像传感器的三角几何关系建立起来的物体三维形貌重构方法。如图11.1所示:
摄象机 投影仪 X ? Z P 图11.1 三角法原理图
三空间坐标系XYZ的XZ平面视图,右图是YZ平面视图。物点P是被测物体表面上任意一点,摄象机和投影仪放置在物体上方,它们的光轴成一定角度,图中分别将摄象机和投影仪简化成两个透镜。我们以摄象机镜头中心为原点(0,0,0),投影仪镜头中心的坐标是(X0,0,Z0),?0是投影仪的光轴与摄象机的光轴的夹角。物点P相对于摄象机镜头的水平视角和垂直视角分别是?和?,相对于投影仪镜头的投影角为?。按照投影仪镜头中心、摄象机镜头中心和物点P
- 31 -
Y P ????0 Z ?
之间的几何三角关系,设P点的坐标是(X,Y,Z),可以建立下面的方程组:
Z?X0?Z0?tg(???0) (11-1)
tg(???0)?tg?X?Z?tg? (11-2)
Y?Z?tg? (11-3)
被测基准面P镜头WL?CCD阵列
图11.2 CCD摄象机成像关系
按照上面的方程组,只要已知物点的水平视角、垂直视角和投影角,就可以求出该点的三维位置坐标。视角?、?由物点P在摄象机CCD阵列中对应的像素位置给出,如上图所示,摄象机CCD阵列对应的被测基准面水平宽度为W,镜头到被测基准面的距离是L,物点P在CCD阵列上水平方向上的像素位置是m,CCD阵列水平方向总像素数是M,则水平视角?表示为:
??tg?1??mW??? (11-4) ML??同理,垂直视角?表示为:
??tg?1??nH??? (11-5) ?NL?其中,H是摄象机CCD阵列对应的被测基准面垂直高度,n是物点P在CCD
- 32 -
阵列上垂直方向上的像素位置,N是CCD阵列垂直方向总像素数。投影角?的求取方法取决于不同的三维形貌重构与识别原理。在激光点/线扫描法中,投影角由扫描电机的扫描角度直接给出,或由工作台步进电机的步进距离计算出来。在条纹投影空间编码三维形貌重构与识别方法中,物点P的投影角?由该点对应的CCD像素上获得的编码给出。
2.二进制空间编码的基本原理和原则
条纹投影空间编码原理如图11.3所示。LCD投影仪将投影图案A、B、C依次投影到被测空间,CCD摄象机依次记录下三幅灰度图像,图像一、二、三分别对应图案A、B、C。在一般情况下,摄象机正对被测空间放置,投影仪的光轴与摄象机的光轴成一定的角度。投影图案中的黑白条在被测空间内形成亮暗条纹,这就在摄象机的图像中形成不同的灰度值。把图像二值化后,高灰度值的亮条纹表示为“1”,低灰度值的暗条纹表示为“0”。这样图像中的每一个像素获得一个三位字长的二进制编码,一个码位对应一幅图,顺序为:第一位对应图像一,第二位对应图像二,依次类推。这就是说,不同的投影图案有不同的权,投影图案A的权最高,图案B其次,等等。
CCD摄象机 LCD投影仪 投影图案A 投影图案B 图像一:1 1 1 1 0 0 0 0 投影图案C 图像二:1 1 0 0 1 1 0 0 图像三:1 0 1 0 1 0 1 0 区 域:7 6 5 4 3 2 1 0
图11.3 空间编码三角法原理图
- 33 -
上图中,采用的是最简单的二进制码投影图案,第一幅图案由亮暗两条等宽度的条纹组成,第二幅图案将第一幅中的两条条纹分别等分成两条亮暗条纹,以后的投影图案均将前一幅图案中的每一条条纹细分成两条等宽的亮暗条纹。图中用三幅投影图案将被测空间划分成8个区域,每个区域用一个三位的二进制码字表示出来。区域0获得的编码是“000”,区域1获得的编码是“001”,区域2获得的编码是“010”,等等。我们将它们称之为投影码。然后将每个区域获得的投影码转换成区域排列的对应值,这个过程称为译码。我们可以通过建立译码表或译码公式两种方法来完成译码过程。图11.3中投影图案的译码表表示如下:
表11-1 译码表
投影码 投影码的十进制表示 译码 111 7 1 110 6 2 101 5 3 100 4 4 011 3 5 010 2 6 001 1 7 000 0 8 有了译码,我们就可以通过下面的关系式就可以求出投影角。
??tg?1KNpL (11-6)
其中, L是镜头到被测基准面的距离,K是投影条纹在被测基准面上划分的小区域的宽度。
3.条纹投影空间编码三维传感测量系统
按照三角法基本原理,我们设计出条纹投影空间编码三维形貌重构构造光系统,如图11.4所示。该系统的硬件部分由一台LCD投影仪、一个CCD摄象机、计算机和图像采集卡组成。软件系统包括投影图案生成软件、LCD投影仪控制软
- 34 -
件、CCD摄象机图像采集软件、图像处理软件和三角法解算程序。投影图案生成软件、图像处理软件和三角法解算程序由MATLAB和VC编写,包含大量的矩阵运算。首先,投影图案生成软件生成所需的空间编码投影图案;其次,投影仪控制软件控制LCD投影仪将编码图案按一定时间间隔依次投射到物体表面上,与此同时,CCD摄象机依次记录下每一幅投影图案被物面调制形成的变形图像,计算机通过图像采集卡采集视频图像,并以位图文件(BMP)存储;然后,由图像处理软件处理这些图像文件,处理过程包括读取位图文件、二值化、噪声滤波处理、生成二进制编码和译码处理;最后,用三角法解算程序重构出物体表面形貌。
三、实验前的准备工作
仔细阅读本实验的关于条纹空间编码的基本原理和原则。实验前,小组成员必须按照空间编码的五个原理中的几条或全部提出一套自己的编码方案,包括:编码的生成算法,生成编码的程序原代码和生成的编码文件。
编码文件的格式:
我们在实验中采用七位的二进制编码,请实验者将自己所生成的投影码按整数数组的格式生成一个文件,因为数组的大小为128,一个整数占4个字节,所以文件的大小应为512个字节。
投影条纹图案 LCD投影仪 计算机 编码11010 图像传感器 视频图像
图11.4 条纹投影空间编码三维形貌重构系统
- 35 -