Camera:双目成像原理

参考文章

1、理想双目相机成像模型计算深度基本原理

左右两个相机位于同一平面(光轴平行),且相机参数(如焦距f)一致。
Camera:双目成像原理_第1张图片
深度:z = f * b / d
计算深度所需数据如下
(1)、基线 b、焦距 f 可通过相机标定获得。
(2)、相机视差d,即左相机的每个像素点(xl, yl)和右相机中对应点(xr, yr)的对应关系,可通过极线约束及图像匹配算法对两个相机的像素点进行快速地匹配。

极线约束

极线约束(Epipolar Constraint)就是指在理想模型下,当同一个空间点在两幅图像上分别成像时,已知左图投影点p1,那么对应右图投影点p2一定在相对于p1的极线上,这样可以极大的缩小匹配范围
Camera:双目成像原理_第2张图片
C1,C2是两个相机,P是空间中的一个点,P和两个相机中心点C1、C2形成了三维空间中的一个平面P-C1-C2,称为极平面(Epipolar plane)。极平面和两幅图像相交于两条直线,这两条直线称为极线(Epipolar line)。根据极线约束的定义,我们可以在图中直观的看到P1的对应点P2一定在相对极线上。

图像匹配算法

两种图像匹配算法:基于滑动窗口的图像匹配、基于能量优化的图像匹配。

基于滑动窗口的图像匹配

原理:窗口内像素点相似度越高越有可能是最佳匹配结果。
对于左图中的一个像素点(左图中红色方框中心),在右图中从左到右用一个同尺寸滑动窗口内的像素和它计算相似程度,相似度的度量有很多种方法,比如 误差平方和法(Sum of Squared Differences,简称SSD),左右图中两个窗口越相似,SSD越小。下图中下方的SSD曲线显示了计算结果,SSD值最小的位置对应的像素点就是最佳的匹配结果。由于该匹配方式需要逐点进行滑动窗口匹配,计算量较大、实际应用效率较低。
Camera:双目成像原理_第3张图片

基于能量优化的图像匹配

原理:像素点匹配就是灰度值越接近越匹配,深度值越相近越匹配。
Camera:双目成像原理_第4张图片
公式1代表的能量函数就是著名的马尔科夫随机场(Markov Random Field)模型。


在理想条件下,有了左右图的每个像素的匹配结果,根据前面的深度计算公式就可以得到每个像素点的深度值,最终得到一幅深度图。

2、非理想双目相机成像模型计算深度基本原理

非理想计算深度的方式与理想计算深度的方式相似,唯一的区别就是非理想的条件下两个相机的光心不在同一平面。如下图,事实上情况这种才符合现实情景。
Camera:双目成像原理_第5张图片
为了更方便深度的计算,我们需要通过图像矫正技术将非理想的条件转换为理想条件。

图像矫正技术

图像矫正是将两个不同方向的图像平面(下图中灰色平面)重新通过矩阵变换的方式得到同一个平面且光轴互相平行(下图中黄色平面)图像平面,最终两个相机的图像经过转换后所对应的极线就变成水平。
Camera:双目成像原理_第6张图片
非理想的图像进行矫正后得到理想的图像,最终再套用理想图像的深度计算原理可得到其对应深度图。

你可能感兴趣的:(Camera,Camera,opencv,计算机视觉)