结构光系统之投影仪和系统标定

基于棋盘格标定板的单相机单投影仪结构光系统的标定——投影仪标定和系统标定

做投影仪标定的前提是了解上一篇关于相机标定的博客:

                                                   结构光系统之相机标定

一、理论分析:

标定投影仪,是将投影仪当作逆相机进行标定从而利用张正友相机标定的理论进行标定,最后获得投影仪的内参和外参。

根据张正友相机标定的原理我们需要已知所投射棋盘格的角点的2D像素坐标和世界坐标系下的3D坐标。

  • 1、根据标定相机得到的外参,获得相机坐标系下的标定平面方程;
  • 2、投影棋盘格到标定板上,检测角点,获得世界坐标系下的光线;     

             通过求线面交点获得投影棋盘格的空间3D坐标(世界坐标系下);

  • 3、用棋盘格的2D点和对应的3D点标定投影仪,直接用张正友的相机标定方法。

下图为系统图:

系统示意图

作图为了说明标定原理,将平面内标定板上的棋盘格和投影仪的投射图案分开了,第二张图为实际拍摄图像。

投射棋盘格角点的三维坐标怎么求取呢?

1、根据标定相机得到的外参,获得相机坐标系下的标定平面方程

上图中的Kext为相机的外参,在相机标定中我们已经证明了n为标定平面的法向量,p为平移向量,如图右所示。

假设平面上一点为r,则有关系    

\widehat{x},\widehat{y},\widehat{z}为笛卡尔坐标系单位向量,n=a\widehat{x}+b\widehat{y}+c\widehat{z},r=x\widehat{x}+y\widehat{y}+z\widehat{z}

nr-np=0,ax+by+cz=np,即为世界坐标系下的标定平面方程。

2、投影棋盘格到标定板上,检测角点,获得相机坐标系下的光线

      通过求线面交点获得投影棋盘格的空间3D坐标(世界坐标系下);

      下面建立从相机光轴通过投射图案角点的3D射线方程:

从相机光心到标定板的射线,如上图中红色线所使,可以用向量(Rx,Ry,Rz)表示。

在已知相机的内外参数和三维点坐标时,求解相机拍摄到的所对应的二维像素坐标时是有唯一值的,但是由内外参和二维点坐标求解三维点坐标时则是不唯一的,所求得的是相机光心投射出去的射线上的三维点可以是射线上的任意一个三维点,且所有的三维点坐标数值上相差一个比例系数,图示如下:

因此,在由2D像点(逆向映射)恢复3D物点的过程中,由于2D像点的深度信息的丢失,造成了重建过程中的不确定性,因此需要引入新的约束条件才能完成重建。这是从重建映射求解的角度进行解释。

为了获得通过平面内角点像素坐标(Cx,Cy)的3D射线,我们用以下的放射变换求得:

3、用棋盘格的2D点和对应的3D点标定投影仪,用张正友的相机标定方法

4、当相机和投影仪被标定完成后,就可以直接调用opencv 的立体视觉标定函数标定系统 

二、实现过程:

1、操作步骤

该种方法将投影仪当作逆向的相机模型来进行标定,具体标定步骤如下:
       1:按照合适的角度固定好相机和投影仪,角度在30度左右,标定过程中保证二者相对静止;
       2:将打印好的标定板(棋盘格/圆形阵列)贴到较为平整的白板上;
       3:投影仪关闭,相机拍摄打印的标定板图片;
       4:投影仪打开,将标定图案投射到白板上,相机拍摄投射的标定板图片;
       5:改变系统相对白板的位姿,重复步骤S3、S4,拍摄>15组的数据;
       6:使用拍摄的打印标定板图片进行相机标定,获得相机内外参并保存每个标定板上图案位置信息;
       7:投影仪标定;
       8:已知每次场景下的相机外参和投影仪外参,计算出相机和投影仪之间的相对位姿。

2、拍摄的标定所拍摄图片

      步骤3拍摄的图片:

       步骤4,5拍摄图片:

 

猜你喜欢

转载自blog.csdn.net/qq_15295565/article/details/107142007