文章目录
前言
基于图像的三维重建从获取多视图像开始,逐步通过相应的算法恢复场景中物体的三维结构。而今,相应的重建算法及流程愈加完善,高效率的三维重建技术也被应用在众多领域当中。接下来就从最基础的相机模型开始,一步一步实现整体的流程。
一、针孔模型
相机模型是光学成像模型的简化,目前有线性模型和非线性模型两种。而针孔成像模型是相机成像采用最多的模型,成像原理为:现实世界中源于某个物体的光线穿过针孔,会在接受屏上投影成一幅倒立的图像。过程如图1所示:
针孔模型成像以针孔为摄像机中心,倒影为成像平面。其中,摄像机中心到成像平面之间的距离为焦距。为了方便观看和分析,我们将成像平面拿到相机前方,也保持其与摄像机中心的距离为焦距f,这样等效像平面上图像不再倒立,如图2所示:
在针孔模型中,现实世界的一点、其在成像平面上投影点、摄像机中心三点共线,这种特征是成像分析的基础,被称为中心投影或者透视投影。
二、模型内坐标系简介及相互转换
针孔相机模型存在四个坐标系:世界坐标系、摄像机坐标系、图像物体坐标系和图像像素坐标系。设现实世界空间点的世界坐标系为Xw(xw,yw,zw),对应的摄像机坐标系坐标为Xc(xc,yc,zc),对应的图像物体坐标系的坐标为,对应的图像像素坐标系的坐标为。
1.外参矩阵
世界坐标系到相机坐标系
由于世界坐标系和相机坐标系都是三维坐标系,所以他们之间的变换为刚体变换,即可以通过旋转和平移得到。坐标系之间的转换如图3所示:
其中,世界坐标系到相机坐标系的变换公式为:逆变换为:
其中,相机中心在世界坐标系中的位置为:
2.内参矩阵
相机坐标系到归一化像平面坐标系
归一化像平面为虚拟的平面,与物理像平面平行,且距离相机光心距离为1。相机坐标系到归一化相机坐标系之间变换如图4所示:
以更加直观的图5来表达其变换关系:
变换公式为:
归一化像平面坐标系到物理像平面坐标系
物理像平面是实际存在的平面,它是相机CCD阵列所在的平面。
如上图4,图5所示,归一化像平面坐标系到物理像平面坐标系的转换公式为:
α,β—单位是像素/毫米。
由于物体像平面坐标系一般以左上角为坐标原点,所以需要进行坐标系平移。公式如下:
3. 透视矩阵
由上可得,由世界坐标系到物理像平面坐标系的转换没有什么难度,如下图6:
具体公式为:
通常Zc称为尺度因子λ,K为内参矩阵,旋转矩阵R和平移矢量t称为相机的外参矩阵。
4. 径向畸变
由于上述成像模型是假定摄像机遵守线性投影模型,即世界中的直线产生图像中的直线。不幸的是,很多广角镜头具有明显的径向畸变(失真),在直线投影时会彰显为可见的曲线。幸运的是,补偿径向畸变在实践中并不那么困难。对于多数镜头,一个简单的二次畸变模型就可以产生很好的结果。最简单的径向畸变模型使用低阶多项式,例如:
其中k1,k2被称为径向畸变系数,
针孔相机径向畸变矫正为: