背景
三维成像技术在过去的几十年里已经取得了巨大的发展,并且出现了各种各样的方法,比如飞行时间发(TOF)、立体视觉、结构光以及数字条纹投影技术。以上这些技术中的每一种都是为了克服其它技术的缺陷来开发的,并且在某些特别的领域取得了成功。
飞行时间法
飞行时间法是一种类似于蝙蝠的超声波系统的光学方法,该方法记录光点离开发射器并且从物体上返回到接收器的时间,由于光速近似恒定不变,被测物体的深度信息可以由所记录的时间计算出来。然而,由于光速特别快(3.0*108m/s)**,为了获取1.00mm的深度分辨率,要求时间计时器的分辨率至少为**10(-9)s。因此,该方法的精度收到了极大的限制。
后来,为了避免直接测量时间差,TOF技术通过调制具有正弦周期的发射光来测量往返过程中的相位变化,可以用数学方法描述为:
激光三角法
激光三角法可以获得高分辨率、高精度的三维信息。一个基于激光三角法的测量系统通常包括一个激光投射器,一个相机。测量时,激光投射器投射光点至被测物表面,然后相机拍摄受到光点照射的物体。由于,激光投射器、相机成像点、被测物投射点形成一个三角形,因此被测物上被投射点的深度信息可以被计算出来(假设系统已经被标定)。
为了获取三维信息,基于激光三角法的系统通常需要进行以下工作:1)系统标定(相机标定、投射器标定);2)提取图像上激光点/线;3)使用已标定参数计算深度信息。由于激光三角法可以获取较高的测量精度,并且使用单一波长的光源,因此该方法可以用来测量较大的物体(比如:建筑、芯片等)。然而,为了测量整个场景,需要对光源进行移动(扫描),导致该方法测量效率较低。
立体视觉
立体视觉使用从两个角度拍摄的两张图像来恢复被测物的三维信息,无需进行扫描,该方法适合动态测量的应用。该方法使用的主要技术是极线几何和几何光学。在相机成像几何中,一个三维点对应图像中的唯一一点,但是图像中的一点对应多个三维空间点,因此,需要使用立体匹配的方法来确定具体的匹配点。
结构光
结构光方法和基于立体视觉的方法很相似,主要差别是使用投影仪来代替其中的一个相机。投影仪通过投射特殊编码的结构图案来帮助确定相机-投影仪之间的对应性。对于一个结构光系统,首先需要设计结构图案,以下是常用的几种图案编码方法。
伪随机编码
二值编码
数字条纹投影
目前已有多种数字条纹投影技术,比如:傅里叶测量轮廓术、相移测量轮廓术等,而本文仅讨论相移测量轮廓术。相移法中投射的条纹图像可表示为:
在上述方程中,仅仅存在三个未知量I’,I’'和phi,因此,仅仅需要三个方程即可求解出该方程中的未知参数。因此,三步相移方法被提了出来。三步相移,顾名思义,余弦函数的周期需要移动三步,分别为-alpha,0,alpha,对应的数学表达式为
求解以上方程组可以计算出相位值:
如果相移角度为2pi/3,那么相位值可写为:
平均亮度I’和调制亮度I’'可由下式得出:
此外,还可以通过下式计算出没有条纹的场景图片:
三步相移法由于仅仅需要三张图片,所以测量速度较快。
以上过程计算出来的相位值都位于[-pi, pi)范围内,在周期边界处存在2pi突变,被称为包裹相位,如下图所示。
因此需要采用解包裹的方法来获得连续的绝对相位。目前存在多种解包括方法,包括空间解包裹和时间解包裹。本文主要介绍非常经典的时间解包裹方法–多频相移法。待更新。。。
大家好,我主要的研究方向有:
1)主流的结构光三维测量方法,包括:线扫,格雷码,相移,散斑等;
2)摄像机标定和投影仪标定;
3)点云处理;
4)图像处理;
5)Halcon应用;
6)机器视觉相机选型。
对以上研究方向感兴趣的朋友可以关注我的微信公众号: