光栅式结构光传感器的编码方法
随着生产自动化水平的提高,人们对生产环节的监控水平的要求也越来越高,视觉检测系统能满足生产线上检测的实时性要求,并且具有一定的柔性,精度适中,因此得到了广泛地应用。一般来说,视觉检测系统包括结构光传感器、多线结构光传感器、双目视觉传感器。本文主要讨论多线结构光传感器,即光栅式结构光传感器。
1光栅式结构光传感器原理
光栅式结构光传感器是一种基于主动三角法的视觉传感器。由光投射器在空间投射出一系列光平面,每个光平面通过摄像机建立与象平面间的透视对应,几何结构如图1所示。
图1光栅式结构光传感器结构
在第K个光平面上以O(K)L为原点建立直角坐标系O(K)Lx(K)Ly(K)L,其它为摄像机模型结构。则有点的象面坐标与其在光平面坐标的关系[1]如下:
可见,若要求得点的光平面坐标必须知道点属于哪个光平面。故光栅式结构光传感器存在着光条的识别问题,通过光条编码可以解决这个问题。
2结构光编码
2.1结构光编码问题概述
由于线结构光传感器获得的信息较少(只能获得一个光平面内的位置信息),人们相应地开发了光栅式结构光传感器和网格式结构光传感器。但点的匹配问题也相应地出现了。
为了解决点的对应问题,人们将投射的光进行编码。Altschulter[2]和Posdamer[3]采用了激光光闸的编码技术。128×128激光网格通过一个可编程的空间光调制器投射到物体表面,在象面上产生点阵模型。可编程的空间光调制器[4]通过编程可以使某些激光束通过,而某些激光束被阻挡。通过对应于不同激光束的一系列图像,可以解决点的对应问题。文献[5]提出了一种使用灰度码的时间序列编码方案。对于通常的三维静态物体,这两种方法能够很好地完成点的对应,但对于动态实时的问题这些方法显然不能使用。
对于动态实时的问题,我们希望有一种通过单一图像即可解决点的匹配的方案。Boyer和Kav[6]使用一种彩色的光条,通过相邻光条的颜色进行编码。Vysteke和Oosterlinck[6]将一种方的模板投射到物体上,模板是通过二值化编码的。Minarv[6]等人提出了一种基于三级灰度等级的网格式结构光的编码方法。
从上面的讨论可以看出,网格式结构光可以利用二维信息进行编码,可利用的信息多,所以编码问题比较容易解决。但网格式结构光传感器不能进行特征点的精确测量。为了完成特征点的精确测量,我们采用光栅式结构光传感器。因此,需要研究光栅式结构光传感器的编码方案。
2.2宽度编码的可行性
对于光栅式结构光传感器,我们利用光条的宽度信息进行编码。要想利用光条的宽度进行编码。必须确保等宽的光条在象面上投影的宽度比等于1或接近1。根据透视变换原理,由分析可知,对于f=25mm的透镜,在工作距离为400mm时相邻两光条宽度投影变化不大,故根据光条投影的宽度进行编码是可行的。图2为将宽窄光条的宽度比作成2:1,投影在一个平板上,摄像机接收到的图像,在象面上求得宽光条宽约20~25个象素,窄光条宽约11~15个象素。可见宽窄光条可以很容易地区分开。
图2二进制编码的光条图象
3二进制编码方法
3.1n位二进制编码方法
图3为结构光投射器原理,投射器模板的图样模式基本上决定了光平面和物体表面相交后的光条图样。光栅式结构光传感器的编码就是通过对模板上的图样模式编码来实现的。
图3光栅式结构光投射原理
在模板上刻一系列宽窄不同的两种线条组成的图案,该模板经投射形成的光平面和物体相交后形成的图样是一系列宽窄不同的光条。在模板上按二进制方式对图样进行编码。用“0”表示窄光条,用“1”表示宽光条。将所有的光条按顺序分组,每组对应一个序号,用一个二进制码表示每组的序号,该二进制码和该组的图案相对应。例如用三位二进制码表示每组的序号,序号为4的那一组用二进制码“100”表示,相应的线条图案为“宽”、“窄”、“窄”。假设用n位二进制码表示每组对应的序号,则线条模式共有2n个分组,于是最多可以对n.2n个光条进行编码。图4给出了一个用三位二进制编码的模板图样。
图4三位二进制编码图样
对经过二进制编码的光平面识别是简便的。首先,对摄像机接受到的光条进行处理,根据光条的宽窄将光条译成由二进制码组成的序列,然后根据编码规则将得到的序列分解成组,最后识别出每一个具体的光平面。需要指出的是,由于被测物体表面尺寸和摄像机视场的限制,摄象机获得的光条数一般来说总是小于投射器投射的光平面数。
例如,采用二位二进制码对摄像机接受的光条处理后得到“001101”,按二位一组对该序列进行分组,只可能有两种结果:“00”“11”“01”和“0”“01”“10
- DIY创意设计:手舞足蹈跳舞机的软硬件实现,方案设计(05-26)
- 激光传感器焊接技术的介绍与发展(05-21)
- 防撞激光传感器有效防止汽车追尾事故(12-30)
- Reed Solomon编解码器的可编程逻辑实现(06-21)
- 在FPGA上实现H.264/AVC 视频编码标准(07-23)
- WinCE下光电编码器的驱动程序设计(04-12)