结构光的概念及其实现三维成像的主要原理
Posted smartvxworks
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结构光的概念及其实现三维成像的主要原理相关的知识,希望对你有一定的参考价值。
结构光三维成像的硬件主要由相机和投射器组成,结构光就是通过投射器投射到被测物体表面的主动结构信息,如激光条纹、格雷码、正弦条纹等;然后,通过单个或多个相机拍摄被测表面即得结构光图像;最后,基于三角测量原理经过图像三维解析计算从而实现三维重建。
基于结构光的三维成像,实际上是三维参数的测量与重现,主要是区别于纯粹的像双目立体视觉之类的被动三维测量技术,因而被称为主动三维测量。因为他需要主动去投射结构光到被测物体上,通过结构光的变形(或者飞行时间等)来确定被测物的尺寸参数,因此才叫做主动三维测量,嗯,相当主动。
首先,结构光的类型就分为很多种,既然是结构光,当然是将光结构化,简单的结构化包括点结构光,线结构光以及简单的面结构光等。复杂一点的结构化就上升到光学图案的编码了。结构光投射到待测物表面后被待测物的高度调制,被调制的结构光经摄像系统采集,传送至计算机内分析计算后可得出被测物的三维面形数据。其中调制方式可分为时间调制与空间调制两大类。时间调制方法中最常用的是飞行时间法,该方法记录了光脉冲在空间的飞行时间,通过飞行时间解算待测物的面形信息;空间调制方法为结构光场的相位、光强等性质被待测物的高度调制后都会产生变化,根据读取这些性质的变化就可得出待测物的面形信息。
下面以一种应用广泛的光栅投影技术(条纹投影技术)为例来阐述其具体原理。条纹投影技术实际上属于广义上的面结构光。其主要原理如下图所示, 即通过计算机编程产生正弦条纹,将该正弦条纹通过投影设备投影至被测物,利用CCD相机拍摄条纹受物体调制的弯曲程度,解调该弯曲条纹得到相位,再将相位转化为全场的高度。当然其中至关重要的一点就是系统的标定,包括系统几何参数的标定和CCD相机以及投影设备的内部参数标定,否则很可能产生误差或者误差耦合。因为系统外部参数不标定则不可能由相位计算出正确的高度信息。
下面以个人自制的系统进行的实验过程来讲解其原理。第一步,编程产生正弦条纹图,因为后续要利用变形条纹图获取相位,而获取相位的算法也有多种,此处采用的是四步移相法,具体原理去查文献,不再累述。因此这里产生四幅相位差pi/2的条纹。然后将该四幅条纹分时投影到被测物(面具)上,采集到如下四幅被调制条纹图,同时要采集四幅参考面的条纹(未被调制,同样四幅)。
第一步,编程产生正弦条纹图,因为后续要利用变形条纹图获取相位,而获取相位的算法也有多种,此处采用的是四步移相法,具体原理去查文献,不再累述。因此这里产生四幅相位差pi/2的条纹。然后将该四幅条纹分时投影到被测物(面具)上,采集到如下四幅被调制条纹图,同时要采集四幅参考面的条纹(未被调制,同样四幅)。
第二步,相位恢复
由采集到的四幅受调制条纹图计算出被调制相位,这里得到的相位图是截断相位图,因为四步移相算法得到的结果是由反正切函数计算所得,因而被限制在[-pi,pi]之间,也就是说每当其值超过该范围,又会重新开始。得到的相位主值如下图所示:
解决上述问题需要消跳变,即将截断相位恢复为连续相位。如下所示,左边为受调制的连续相位,右边是参考连续相位。
第三步,上述二者相减得到相位差,该相位差则表征了被测物相对参考面的高度信息,再代入相位与高度转化公式(其中相应参数经过标定),得到如下三维模型。
下面是本实验室研制的集成化3D结构光成像系统及其相关应用(变形测量,钥匙复制)
以上是关于结构光的概念及其实现三维成像的主要原理的主要内容,如果未能解决你的问题,请参考以下文章