一文详解双目相机标定理论与实践,双目相机标定分辨率

01 前言双目相机标定,从广义上讲 , 其实它包含两个部分内容:
两台相机各自误差的标定(单目标定)两台相机之间相互位置的标定(狭义,双目标定)在这里我们所说的双目标定是狭义的,讲解理论的时候仅指两台相机之间相互位置的标定,在代码实践的时候 , 我们才说完整的双目标定 。
【一文详解双目相机标定理论与实践,双目相机标定分辨率】注1:文末附【相机标定】交流群
注2:整理不易,请点赞支持!
作者:曹博 | 来源:3D视觉工坊微信公众号
首先来思考一个问题:为什么要进行双目标定?
这是因为在许多三维重建算法中,我们都要知道两台相机之间的相对位置关系,这样才能进行距离计算 。
双目标定前后 , 双目模型对比如下图所示:

一文详解双目相机标定理论与实践,双目相机标定分辨率

文章插图
图1 标定模型 [1]
其中:
基线:两个光心的连线称为基线;极平面:物点(空间点M)与两个光心的连线构成的平面称为极平面;极线:极平面与成像平面的交线极点:极线的一端,基线与像平面的交点像点:极线的一端,光心与物点连线与像平面的交点;可以看出:
校正前,相机的光心不是相互平行的校正后,极点在无穷远处,两个相机的光轴平行,像点在左右图像上的高度一致标定 校正后图片:
一文详解双目相机标定理论与实践,双目相机标定分辨率

文章插图
图1 立体校正后左右相机图像发生一定扭曲 [2]
这样的好处是:比如后续的立体匹配时 , 只需在同一行上搜索左右像平面的匹配点即可 , 能使效率大大提高 。
注:可以看出来,最重要的,我们要知道右相机相对于左相机的位姿关系,那我们才可以做校正!
02 单目理论回顾先来回顾下单目标定理论,理想的单目相机模型可以简化为(图片来自于[1]):
一文详解双目相机标定理论与实践,双目相机标定分辨率

文章插图
而四大坐标系,包括世界坐标系、相机坐标系、图像坐标系、像素坐标系,它们之间的转换关系如下:
一文详解双目相机标定理论与实践,双目相机标定分辨率

文章插图
最终,从理想的相机模型,从世界坐标系到像素坐标系的转换关系:
一文详解双目相机标定理论与实践,双目相机标定分辨率

文章插图
但由于制造原因,使得成像过程(从相机坐标系到图像坐标系转换过程中)存在着畸变 , 主要有两类 , 径向畸变和切向畸变,它们可以通过以下公式进行修正:
一文详解双目相机标定理论与实践,双目相机标定分辨率

文章插图
03 双目标定公式推导
一文详解双目相机标定理论与实践,双目相机标定分辨率

文章插图
图3 标定模型 [2]
记:
一文详解双目相机标定理论与实践,双目相机标定分辨率

文章插图
另外,右相机主点相对于左相机主点 , 显然还有:
一文详解双目相机标定理论与实践,双目相机标定分辨率

文章插图
一文详解双目相机标定理论与实践,双目相机标定分辨率

文章插图
代入上式,因为拍摄了多张图片,利用最小二乘法,也可以是奇异值分解(数学的部分比较复杂,在这里忽略),总而言之,最小化误差,即可得到我们最佳估计的 矩阵,有了这两个矩阵,我们做个旋转、平移就可以了 。
注:虽然得到了旋转、平移矩阵,也但是极线校正的方法有很多,这个我们之后讲 。
04 极线校正理论推导双目标定后,我们得到了右相机相对于左相机的位姿关系,也就是R、T矩阵,下面一步即做极线校正 。校正好处是之后做立体匹配搜索的时候,只需要在同高度附近进行搜索,大幅提升效率 。根据前文的推导 , 在获取了R、T矩阵后,我们就要进行极线校正(立体校正),使两部相机光轴平行,如下所示: