双目三维重建原理

一、三维重建是什么

三维重建主要是研究如何从得到的匹配点中计算出相机的投影矩阵(如果是外部标定的话,就是求出相机的外部参数)以及如何计算出匹配点的三维坐标。

目前研究的进展与之还相差较远。研究人员为了能够表达三维空间信息,目前较多地采用三维矢量图形来替代三维位图。主要的重构方法有如下几种:

1.空间点的重建

这是三维重构中的最基本的方法。空间任一点在两个摄像机中分别成像,得到该点在两个图像中的对应坐标,在知道两摄像机的参数矩阵的条件下,通过建立以该点的世界坐标为未知数的 4 个线性方程,可以用最小二乘法求解得该点的世界坐标有一种简化计算的办法,选取两个内部参数完全相同的摄像机,将他们平行配置,使他们的光轴相互平行。这种方法计算相当简单,不需要进行外部参数标定。但一般情况下,两个摄像机的内部参数完全相同(包括两摄像机的拍摄状态也相同)是很难选到。摄像机安装时无法看到光轴和成像平面,故难以实施。

1)基本模型

空间点三维重建的基本模型如图所示,对于空间物体表面任意一点P,如果用C1摄像机观察,看到它在C1摄像机的图像点位于p1,但他们无法由p1得知P的三维位置,事实上,在O1P(O1为C1摄像机的光心)连线上任意一点P’的图像点都是p1,因此,由p1点的位置,我们只知道空间点位于O1p1与O2p2两条直线的交点,即它们的三维位置是唯一确定的。

在这里插入图片描述
假如我们能够得到物体表面上所有点的三维坐标,则三维物体的形状与位置就是唯一确定的,在某些简单场合,例如三维物体时一个多面体,我们只需要知道它的各个顶点的三维坐标与相邻关系,则该多面体的形状与位置是唯一确定的。因此,用立体视觉的方法获取三维点的坐标是十分基础的。

2)最小二乘法求解三维坐标值

下面我们来具体介绍求解三维点坐标的算法。在进行讨论之前,我们要明确一下几点基本假设:空间任意点P在两个摄像机C1与C2上的图像点平p1与p2已经从两个图像中分别检测出来。即已知p1与p2为空间同一点P的对应点。至于对应点是如何找到的,这属于图像配准问题。还有一个假设就是,摄像机C1与C2已标定,他们的投影矩阵分别为M1与M2,于是有:
请添加图片描述
—————————————————————————————————————
投影矩阵
请添加图片描述请添加图片描述
—————————————————————————————————————
其中,(u1,v1,1)与(u2,v2,1)分别为p1与p2点在各自图像中的图像齐次坐标;(Xw,Yw,Zw,1)为P点在世界坐标系下的齐次坐标;mkij为mk的第i行第j列元素。式(4.1)与式(4.2)消去Zc1与Zc2得到关于Xw,Yw,Zw的四个线性方程:请添加图片描述由于空间点P是O1p1与O2p2的交点,它必然同时满足式(4.3),式(4.4),这两个是4.1和4.2各自求解两行之间的差。我们可以联立这四个式子,从而求出P点的坐标(Xw,Yw,Zw)。四个方程,三个未知数,也就是说这个方程组只有三个独立的方程,这是因为我们已经假设p1与p2点是空间同一点P的对应点,因此已经假设了直线O1p1与O2p2一定相交,或者说,这四个方程必定有解,而且解是唯一的。而实际应用中,由于数据总是有噪声的,我们可以用最小二乘法求出P的三维点坐标(Xw,Yw,Zw)。(这里X,Y,Z和Xw,Yw,Zw表示含义一样)。

3)最小二乘求解坐标

请添加图片描述

4)视差测距法(苛刻,一般不用)

以上我们介绍了空间点三维重建的一般方法,为了更清楚的了解上述过程的物理意义,下面我们讨论在一种简单的摄像机配置下的空间点重建方法,视差测距法。此方法要求选用两个内部参数完全相同的摄像机,将它们平行放置,使它们的光轴相互平行,另有一对坐标轴共线,两个成像平面共面,两摄像机的光心有一个固定的距离d,这样求解图像点的世界坐标时只涉及摄像机内参数。原理如图(4.2)所示:
请添加图片描述
在上述特殊摄像机配置下,假设C1坐标系为O1x1y1z1,C2坐标系为O2x2y2z2,焦距为f,摄像机间距为d,任何空间点P的坐标在C1下为(x1,y1,z1),在C2坐标系下为(x2,y2,z2),在左摄像机中的图像点左边为(u1,v1),在右摄像机中的图像点坐标为(u2,v2)。
根据式(4.5),式(4.6)的摄影比例关系,对于左右摄像机有如下关系:请添加图片描述
世界坐标系与摄像机坐标系的关系可表述如下:请添加图片描述
联立上两式可得:
请添加图片描述
求解得
请添加图片描述
由式(4.5)和式(4.8)可计算的空间点的三维坐标:请添加图片描述式(4.9)即为双目立体视觉重构三维空间点的方法,可见,通过图像对视差和像点坐标就可以恢复出物体的三维坐标。但是由于对设备配置的要求比较苛刻,只是被应用在一些简单的视觉系统

2.空间直线、空间二次曲线的重建

空间直线和空间曲线也是组成空间图形的主要基元。根据空间直线射影变换前后仍是直线的性质,以此来分析空间直线与图像中的直线之间的关系。空间直线在CCD上的成像可以这样认为,空间直线与摄像机光心构成的平面与成像平面的交线,两台摄像机有两个这样的平面,这两个平面的交线就是空间直线。空间二次曲线是空间二次曲面与平面的交线,因此二次曲线的平面曲线,在CCD上的成像可以认为是由空间二次曲线与光心组成的锥面与成像平面的交线。两台摄像机有两个这样的锥面,求这两个空间锥面的交线,就是空间曲线。

3.全像素的三维重建

对图像中的每个像素都进行三维重建,这当然是最理想的情况,目前要实施这种重构,需要相当严格的测量条件,且仅限于对某一具体对象,但效果并不理想。对此人们正在进行大量的研究,还有待于进一步的努力。

二、四个相机坐标系之间的转换关系

请添加图片描述

1.四个坐标系是什么

1)世界坐标系

构建世界坐标系只是为了更好的描述相机的位置在哪里,在双目视觉中一般将世界坐标系原点定在左相机或者右相机或者二者X轴方向的中点
是真实的三维空间的坐标系,可以以相机为参考进行指定以简化变换关系的数学表达,单位m。

2)相机坐标系

以相机光心为原点(在针孔模型中也就是针孔为光心),z轴与光轴重合指向相机的前方,x轴与y轴的正方向与图像物理坐标系平行。

3)图像物理坐标系

用物理单位表示像素的位置,坐标原点为摄像机光轴与图像物理坐标系的交点位置。坐标系为图上o-xy。单位是mm。单位毫米的原因是此时由于相机内部的CCD传感器是很小的,比如8mm x 6mm。但是最后图像照片是以像素为单位比如640x480.这就涉及到了图像物理坐标系与像素坐标系的变换了。下面的像素坐标系将会讲到。

4)像素坐标系

以像素为单位,坐标原点在左上角。这也是一些opencv,OpenGL等库的坐标原点选在左上角的原因。当然明显看出CCD传感器以mm单位到像素中间有转换的。举个例子,CCD传感上面的8mm x 6mm,转换到像素大小是640x480. 假如dx表示像素坐标系中每个像素的物理大小就是1/80. 也就是说毫米与像素点的之间关系是piexl/mm.

2.四个坐标系转换

1)世界坐标→相机坐标系

请添加图片描述
物体之间的坐标系变换都可以表示成坐标系的旋转变换加上平移变换,世界坐标系到相机坐标系的转换关系也是如此。绕着不同的轴旋转不同的角度得到不同的旋转矩阵。如下:
请添加图片描述
那么世界坐标系到相机坐标系的变换如下:
请添加图片描述

2)相机坐标系→图像物理坐标系

从相机坐标系到图像坐标系,属于透视投影关系,从3D转换到2D。 也可以看成是针孔模型的改变模型。满足三角形的相似定理。
请添加图片描述

3)图像物理坐标系→像素坐标系

此时与前面的坐标系变换不同,此时没有旋转变换,但是坐标原点位置不一致,大小不一致,则设计伸缩变换及平移变换。(u0,v0)是物理坐标系(x,y)的原点
请添加图片描述综上所述,大家可以看出四个坐标系之间存在着下述关系 ( 矩阵依次左乘 ):请添加图片描述
请添加图片描述通过最终的转换关系来看,一个三维中的坐标点,可以在像素坐标系中找到一个对应的像素点。但是反过来,通过像素坐标系中的一个点找到它在世界坐标系中对应的点就存在问题,因为我们并不知道等式左边Zc的值。

三、双目相机坐标系转换到左侧世界坐标

假设双目点云的三维坐标的世界坐标系和左相机的相机坐标系为一个。
请添加图片描述

————————————————————————————————————
参考:
[1]: https://blog.csdn.net/tiemaxiaosu/article/details/51734667#commentsedit
[2]:https://blog.csdn.net/wolfcsharp/article/details/92989018

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值