经典相位法三维轮廓测量模型

2020-04-24
作者:书涵
Date:2020-04-24
在结构光三维测量中,之前笔者介绍了关于把投影看做相机的逆的模型,这次笔者要介绍一个经典相位三维轮廓测量模型,有很多相位三维轮廓测量模型都是在经典相位测量模型上的改进。
如下图所示,在经典三维轮廓测量模型中,需要精准的设置相机,投影与参考平面的位置关系。具体设置如下:
1.投影平面需要与参考平面平行,且投影坐标系的X轴和Y轴要分别于参考平面的X轴和Y轴平行
2.相机坐标系Y轴要与参考平面的Y轴平行
3.像机光心与投影中心连线要平行于参考平面,像机光轴与投影仪光轴交于参考平面顶点(图中O点)
根据上述设置,物体的实际高度可以通过相似三角形求得。所求得的高度是物体相对参考平面的高度。推导如下:
如上图所示可知,有如下相似关系,
则由相似三角形原理,可以得到,
由于
(投影中心到参考平面距离)则由等比关系式可得:
至此,就可以得到物体相对于参考平面的高度PP‘的表达式,想要真正求得物体的实际高度,我们不仅需要提前测量投影中心到参考平面的长度l和投影中心与相机中心的距离d,还需要对参考平面进行标定。
在对参考平面进行标定时,要做两件事。一是测量一个相位周期(2π)的光栅投影到参考平面上后的光栅的长度 \lambda_{0} ,又称光栅节距。有了光栅节距值后,如果上图所示的B点绝对相位为 \theta_{B} (绝对相位=相位主值+相位周期数*2π)。则空间实际距离OB可以表示为:
。同理可得
。二是需要获得参考平面在相机中成像的相位值。即知道每个像素点的拍摄的参考平面点的相位值。(注:准确的说应该是点B绝对相位值减去点O绝对相位值的差值,如果点O处相位值为0,则可以直接用B点的绝对相位值)
对参考平面进行标定后,我们就可以通过上述公式对物体的高度进行相位测量,如上图所示,照射在物体表面一点P的投影相位值 \theta_{P}=\theta_{B} ,而 \theta_{A} 则是点P在相机中成像位置 (u_{p},v_{p}) 对应的标定时获取的参考平面在 (u_{p},v_{p}) 处成像的相位值。
所以最终物体高度可以用下式表达:
至此,经典相位法三维轮廓测量模型推导完毕。根据推导的公式,我们可以回头看看该测量装置在设置时需要如此严格的条件的必要性,对于步骤1的要求,原因如下,如果投影坐标系Y轴与参考平面坐标系的Y轴不平行,则投影到参考平面上的相位值会沿着参考平面Y轴发生变化,即对不同y值,其相位起始点不同,这样在三维中投影结果不能像上图中二维示意图那样OA和OB共用同一个起始点表示。而由于无法知道每个点的y值,就无法获得OB的值。二如果投影坐标系X轴与参考平面坐标系X轴不平行,则投影条纹在参考平面上的光栅节距会随着到起始点O的距离不同而变化。无法把相位用光栅节距换算成实际长度。(其实这里如果知道投影平面X轴和参考平面X轴的夹角,从理论上也可以换算成实际长度,但需要对公式进行改进)。对于步骤2的要求,和步骤1中需要投影Y轴与参考平面Y轴平行类似,如果相机坐标系Y轴与参考平面坐标系Y轴不平行,则参考平面Y轴在相机图片上的成像不是竖直的, 相机上每个像素点的相位值不能用参考平面上的同一个起始点O来计算,则无法知道OA的值。而对于步骤3,则更显而易见,如果投影光心 O_{p}O_{c} 不与参考平面平行,则无法知道 OO^{’}_{c} 的值,如果相机光轴不和投影仪光轴在参考平面上相交,我们就得不到一个三角形,无法用相似性原理得到物体的高度。由以上可以看出,经典的相位法轮廓测量模型对于投影和相机的相对位置的设置有诸多难以达到的要求,而每个要求的标准与否都会影响物体最终的测量误差。而且该模型只能求出物体相对参考平面的高度值,而不能获得物体完整的三维坐标值。此外,该模型中考虑的相机和投影都是一个完美的小孔成像模型,在该模型中,相机拍得的图片不会有成像畸变问题。而投影仪投出的正弦光栅条纹一定是竖直的而不会因为投影畸变使得光栅投出去会有轻微的扭曲。由此可见,在实际三维重建工程中,我们几乎不可能设置这样一个理想的模型。尽管如此,该模型还是提供了一个很不错的思路。且后来有不少学者是基于此模型的基础上对相位法测轮廓模型进行改进,最终得到了易用的三维模型。对于初学者来说,了解这个经典模型对于相位法测轮廓的理解是非常有好处的。