徐土豆
认证:优质创作者
所在专题目录 查看专题
【多视角立体视觉系列】 几何变换的层次——投影变换,仿射变换,度量变换和欧几里德变换
【多视角立体视觉系列】 conic圆锥线和quadric二次曲锥面的定义和应用
讨论物体的表面深度对相机成像的影响
图像校正(Image Rectification)——使得在对极线上寻找对应点更加容易
几何变换——关于透视变换和仿射变换以及齐次坐标系的讨论
立体视觉中的对极几何——如何更好更快地寻找对应点
作者动态 更多
给定计算预算下的最佳LLM模型尺寸与预训练数据量分配
05-19 09:33
大模型推理时的尺度扩展定律
05-18 10:32
世界多胞体与世界模型
05-13 09:42
奖励模型中的尺度扩展定律和奖励劫持
05-12 08:41
MeCo——给预训练数据增加源信息,就能减少33%的训练量并且提升效果
05-08 09:13

图像校正(Image Rectification)——使得在对极线上寻找对应点更加容易

本文转自徐飞翔的“图像校正(Image Rectification)——使得在对极线上寻找对应点更加容易 ”

版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明

为什么我们需要图像矫正

我们在[1]曾经聊到了在对极线上寻找对应点的方法,如Fig 1.1所示。这种方法将对应点可能的范围约束到了一条直线上,而不是一个二维平面,这样大大减小了搜索空间。同时,我们也在[1]中聊过,每个对极面都是会经过基线的,每个对极线也是会经过对应的对极点的,正是因为如此,其实对于单张图的对极线组来说,如果延伸每条对极线,我们会发现每条对极线都会汇聚于对极点上,如Fig 1.2所示。也正是因为如此,我们得到的对极线们都不是平行的,如Fig 1.3所示。

Fig 1.1 在对极线l和l'上寻找对应点。

Fig 1.2 对极线的延长线将会汇聚在对极点上。

Fig 1.3 两张图对应的对极线对(epipolar lines pair),我们发现这两组对极线都是不平行的。

我们在后续的处理中,将会发现不平行的对极线会使得寻找对极点的运算变得复杂,我们期望的是, 如果每对对极线都是平行的,那将会大大减少后续算法的复杂度,特别是在求视差时,平行的对极线将会提供极大的便利。 理想的对极线对的效果如Fig 1.4所示。我们后续就讨论如何才能从不平行的对极线转换成平行的,也就是 图像矫正(image rectification) 的具体操作。

Fig 1.4 上图表示的是未经过图像矫正的对极线配对,我们发现其是不平行的。下图是经过图像矫正的对极线配对,我们发现其平行了,这个效果正是我们所期望的。

图像矫正

需要明确的是,进行图像矫正之前需要知道相机的内参数和外参数[4]。

我们首先要知道,为什么我们的对极线对会不平行呢?如图Fig 2.1所示,其不平行的原因是因为我们的成像平面没有共面(coplanar),那么自然地,我们的直接做法就是矫正我们的成像平面,使得其共面,效果如图Fig 2.2的黄色面所示。其总体效果,如Fig 2.3所示,我们可以发现,通过这种手段,我们的对应点的搜索空间进一步缩小到了水平线上,只用一个水平线上的参数x xx表示其距离就可以描述对应点了,这样其实是大大减少了运算量的。

Fig 2.1 使得对极线不平行的根本原因是我们的不同摄像机的成像平面之间并不是共面的。

Fig 2.2 通过矫正成像平面到共面,我们可以使得对极线对平行。

Fig 2.3 通过矫正到(2)的情况,我们的搜索空间进一步减少了。

我们后续具体分析这个矫正过程,我们要想怎么样才能将成像平面矫正到共面呢?我们观察图Fig 2.4,我们延伸射线 分别得到, ,使得,同时,我们确保到平面的距离相同,那么我们的平面就是期望得到的矫正成像平面了。其实这个也不难理解,因为每个对极面都是经过基线的,而基线平行于 ,那么 在基线上的投影必然是平行于的,同时,我们保证了两个焦点到两个平面的距离相同,确保了其是的投影。

Fig 2.4 平行对极线(粉色)平行于基线(黑色OO'),而且焦点分别到其对应的成像平面的距离相同。

我们为什么要加上这个焦点到两个矫正后的成像平面的距离相同这个约束呢?让我们看一个例子。

在如图Fig 2.5的系统中,我们假设两个成像平面是共面的,其焦点之间的距离,两个摄像头之间不存在有旋转关系,那么我们可以知道其相机参数为:、

Fig 2.5 在共面的成像平面中的建模。

从[1]中提到的对极约束的代数表达形式,我们有:

从中我们发现,我们必须引入这个约束去约束成像平面的位置。

我们知道极点e 是本征矩阵的零空间向量,也就是说我们有,我们可以解出:

我们如果从齐次坐标的角度去看待那么我们知道其实这个时候极点是在无限远处了。(关于齐次坐标系,见[2,3])

于是,其实矫正成像平面的后果就是,我们的极点被挪到了无限远处,这个和我们图Fig 1.2的推论相同。

Fig 2.6 经过矫正之后,图像的极点被移到了无限远处。

我们到现在算是对图像矫正有了直观上的印象,接下来我们尝试用算法去描述这个过程。图像矫正算法主要分四步。

用旋转矩阵旋转左相机,使得左成像平面的极点到无限远处。

用和第一步相同的旋转矩阵旋转右相机。

用外参数中的旋转继续旋转右相机。

对坐标系调整尺度。

我们首先需要确定旋转矩阵​ 。为了确定这个矩阵,我们需要构造一组彼此正交的单位向量 。我们一般选择以其中一个焦点为原点构建,选择 作为一个基底,然后进行单位化,我们有:

构造则只有和正交并且是单位向量这约束,因此比较任意,如:

容易定义:

Fig 2.7 构建出正交的单位向量,如绿色线段所示。

因此旋转矩阵为:

然后设置左右摄像机的旋转矩阵

其中的R \mathbf{R}R是外参数的旋转矩阵。

随后进行旋转和调整坐标系尺度,如:对于左相机的点 ,计算出,随后计算器调整后的坐标系,最终有:

对于右相机,其操作相同。

最后的矫正结果展示如:

Reference

[1]. https://blog.csdn.net/LoseInVain/article/details/102665911

[2]. Hartley R, Zisserman A. Multiple View Geometry in Computer Vision[J]. Kybernetes, 2008, 30(9/10):1865 - 1872.

[3]. https://blog.csdn.net/LoseInVain/article/details/102756630

[4].https://blog.csdn.net/LoseInVain/article/details/102632940

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 2
收藏 1
关注 52
成为作者 赚取收益
全部留言
0/200
成为第一个和作者交流的人吧