基于视觉的三维重建,指的是通过摄像机获取场景物体的数据图像,并对此图像进行分析处理,再结合计算机视觉知识推导出现实环境中物体的三维信息。
那么,所谓的三维信息,应该是怎样的信息呢?
1. 相关概念
(1)彩色图像与深度图像
彩色图像也叫作RGB图像,R、G、B三个分量对应于红、绿、蓝三个通道的颜色,它们的叠加组成了图像像素的不同灰度级。RGB颜色空间是构成多彩现实世界的基础。深度图像又被称为距离图像,与灰度图像中像素点存储亮度值不同,其像素点存储的是该点到相机的距离,即深度值。
图2-1 深度图与灰度图
(解释:
从正方体左边的边缘开始,它离摄像机的距离越来越近,到达边缘时最近,随后慢慢变远,我个人认为离开正方体边缘之后应该离我们更远的。
对于灰度图:颜色都一样的,所以灰度也是一样的)
深度值指的目标物体与测量器材之间的距离。由于深度值的大小只与距离有关,而与环境、光线、方向等因素无关,所以深度图像能够真实准确的体现景物的几何深度信息。通过建立物体的空间模型,能够为深层次的计算机视觉应用提供更坚实的基础。
人物的彩色图像与深度图像
(2)坐标系
首先我们要理解相机模型中的四个平面坐标系的关系:像素平面坐标系(u,v)、像平面坐标系(图像物理坐标第(x,y)、相机坐标系(Xc,Yc,Zc)和世界坐标系(Xw,Yw,Zw)。,我们假设了一些参数,使四个坐标系之间的坐标联系起来,这样我们就可以从拍摄的图片上一个点坐标一路反推出世界中的那个点的坐标,这样就达到了我们的目的,三维重建。而那些我们假设的参数,就是我们要标定的内外参数。
图像坐标系:分为像素和物理两个坐标系种类。数字图像的信息以矩阵形式存储,即一副像素的图像数据存储在二维矩阵中。
图像的像素坐标系以图像左上角为原点、以像素为基本单位,U、V分别为水平、垂直方向轴。像素的横坐标u与纵坐标v分别是在其图像数组中所在的列数与所在行数。
(见原点O0, 与坐标轴u, v)
由于(u,v)只代表像素的列数与行数,而像素在图像中的位置并没有用物理单位表示出来,所以,我们还要建立以物理单位(如毫米)表示的图像坐标系x-y。
图像物理坐标系:将相机光轴与图像平面的交点(一般位于图像平面的中心处,也称为图像的主点(principal point)定义为该坐标系的原点O1,且x轴与u轴平行,y轴与v轴平行
(见图像中点O1,与坐标轴x,y)
像素坐标系与物理坐标系的转换:
假设(u0,v0)代表O1在u-v坐标系下的坐标,dx与dy分别表示每个像素在横轴x和纵轴y上的物理尺寸,则图像中的每个像素在u-v坐标系中的坐标和在x-y坐标系中的坐标之间都存在如下的关系:
其中,我们假设物理坐标系中的单位为毫米,那么dx的的单位为:毫米/像素。那么x/dx的单位就是像素了,即和u的单位一样都是像素。为了使用方便,可将上式用齐次坐标与矩阵形式表示为:
再次重申:dx与dy分别表示每个像素在横轴x和纵轴y上的物理尺寸
相机坐标系:
相机成像的几何关系可由下图表示。其中O点为摄像机光心(投影中心),Xc轴和Yc轴与成像平面坐标系的x轴和y轴平行,Zc轴为摄像机的光轴,和图像平面垂直。光轴与图像平面的交点为图像的主点O1, 由点O与Xc,Yc,Zc轴组成的直角坐标系称为摄像机的坐标系。OO1为摄像机的焦距。
世界坐标系:
世界坐标系是为了描述相机的位置而被引入的,如图2.2中坐标系Ow, Xw, Yw, Zw即为世界坐标系。
世界坐标系和相机坐标系的转换
世界坐标系通过刚体变换到达摄像机坐标系,然后摄像机坐标系通过透视投影变换到达图像坐标系。可以看出,世界坐标与图像坐标的关系建立在刚体变换和透视投影变换的基础上。
首先,让我们来看一下刚体变换是如何将世界坐标系与摄像机坐标系联系起来的吧。这里,先对刚体变换做一个介绍:
刚体变换(regidbody motion):三维空间中, 当物体不发生形变时,对一个几何物体作旋转, 平移的运动,称之为刚体变换。
因为世界坐标系和摄像机坐标都是右手坐标系,所以其不会发生形变。
下面让我来看一下,二者之间刚体变化的数学表达:
其中,XC代表摄像机坐标系,X代表世界坐标系。R代表旋转,T代表平移。R、T与摄像机无关,所以称这两个参数为摄像机的外参数(extrinsic parameter)
T可以理解为两个坐标原点之间的距离,因其受x,y,z三个方向上的分量共同控制,所以其具有三个自由度。
R则为分别绕XYZ三轴旋转的效果之和。如下面所示:
R=r1*r2*r3.其由三个方向的θ控制,故具有三个自由度。
平移向量t和旋转矩阵R可以用来表示相机坐标系与世界坐标系的关系。所以,假设空间点P在世界坐标系下的齐次坐标是
[ Xw,
Yw,
Zw,
1 ],
在相机坐标下的齐次坐标是
[ Xc,
Yc,
Zc,
1 ],
则存在如下的关系:
可变换成:
其中,R是3×3的正交单位矩阵(也称为旋转矩阵),满足一下条件:
t是三维的平移向量,矢量

成像投影关系(相机坐标系与像平面坐标系)
在相机模型中我们可以得到以下公式:
同样我们用矩阵形式表示:
得到公式
而我们可以将以上公式综合一下就可以得到:
因此,内参数矩阵可以表示为:
=
外参矩阵可以表示为:
由旋转矩阵R和平移向量T组成
接下来用一张图把三个过程连接起来。实现从世界坐标(X,Y,Z)到(u,v)之间的转换。让图像坐标与世界坐标直接对话。
下图中的转换关系,都是用齐次坐标表达的,大家会发现这样的表达非常整洁。
其实这张图显示的过程还有一个名字:摄像机模型(camera model)。其实也就是摄像机的几何模型了。
将三者相乘,可以把这三个过程和在一起,写成一个矩阵:

P就是世界坐标到图像坐标的直接联系人,P就表示了一个投影相机,有下面公式:
注意在表示齐次坐标时,需要在符号上面加个小帽子。除去齐次坐标控制位P23,P具有11个自由度。
摄像机模型及其中涉及的坐标系等,是弄清3D重建几何框架的基础。可以把它们视为基本运算关系。后面对于三维重建几何框架的推导,都是要用到三个基本坐标系和摄像机模型的。
可以看到,通过将图像像素坐标和世界坐标联系起来,我们就得到了每一个像素在实际的立体空间中的位置,这就是我们所获得的三维空间的信息
而摄像机模型的参数,也就是我们要标定的,如果有一个完美的摄像机模型的参数的话,我们就可以准确地得到三维空间的信息,从而进行立体重建
参考了博客:
https://blog.youkuaiyun.com/waeceo/article/details/50580607
https://blog.youkuaiyun.com/wangyaninglm/article/details/51558656