全局校正假设
在双目视觉系统中,极线校正的核心目的是将左右相机的成像平面对齐,使得对应点位于同一水平线上。以下是对全局校正假设及实际场景适用性的详细解释:
1. 全局校正假设的本质
(1) 单一平面假设的数学基础
- 极线校正的目标:通过旋转矩阵(
R1
,R2
)将左右相机的成像平面变换到共面且行对齐的坐标系中。这一过程仅依赖相机参数(内参、外参),与场景中的物体深度无关。 - 标定板场景的适用性:
标定板是一个物理平面,其所有角点自然满足单一深度平面假设。此时,校正后的左右图像中对应点严格对齐,视差计算符合公式 Z=fB/(xL−xR)。
(2) 统一变换矩阵的作用
- 校正矩阵的计算:
R1
和R2
由立体标定得到的相机旋转矩阵R
和平移向量T
推导而来。它们描述的是相机的虚拟旋转,使成像平面共面。 - 单应性变换的本质:
校正过程本质是对图像平面进行全局单应性变换,将所有像素映射到同一虚拟平面上。这一变换不区分场景中的物体或背景,仅保证几何对齐。
2. 多平面场景下的实际适用性
(1) 极线对齐的几何不变性
- 不同深度的视差关系:
对于场景中的不同深度平面(如前景物体和背景),其视差仍遵循公式 Z=fB/(xL−xR)。深度越大(如背景),视差 xL−xR 越小;深度越小(如前景物体),视差越大。 - 校正后的匹配特性:
校正后的图像中,对应点位于同一水平线上。无论实际深度如何,立体匹配算法只需沿水平方向搜索,无需分平面处理。
(2) 统一变换矩阵的普适性
- 相机几何主导性:
极线校正的变换矩阵(R1
,R2
)由相机几何参数决定,与场景内容无关。即使存在多个深度平面,所有点仍被映射到同一共面坐标系中。 - 透视投影的一致性:
不同深度平面的视差通过统一的透视投影公式计算,无需为每个平面单独调整参数。公式中的焦距 f 和基线 B 是相机固有属性,与场景无关。
3. 极端场景验证
(1) 前景与背景的视差对比
- 示例场景:
假设场景中有一个近处的物体(Z1=1m)和一个远处的背景(Z2=5m),基线 B=0.1m,焦距 f=500 像素。 - 视差计算:
- 前景视差:xL−xR=fB/Z1=500×0.1/1=50 像素
- 背景视差:xL−xR=fB/Z2=500×0.1/5=10 像素
- 匹配结果:
校正后,左右图像中的物体和背景对应点均沿水平线对齐,立体匹配算法可正确区分不同视差。
(2) 弱纹理区域的鲁棒性
- 挑战:
若背景为白墙(弱纹理),立体匹配算法可能因缺乏特征点而失效,但这是算法局限性,而非校正问题。 - 解决方案:
引入结构化光或主动光源增强纹理,或使用全局优化算法(如Graph Cut)减少误匹配。
4. 校正流程的关键步骤
(1) 立体标定(stereoCalibrate
)
- 输入:多组标定板图像(左右相机拍摄)。
- 输出:相机间的旋转矩阵
R
和平移向量T
。 - 作用:建立左右相机的几何关系,为校正提供基础参数。
(2) 立体校正(stereoRectify
)
- 输出矩阵:
R1
,R2
:左右相机的校正旋转矩阵。P1
,P2
:校正后的投影矩阵,包含新内参和虚拟平面信息。
- 几何意义:
通过虚拟旋转使成像平面共面,极线严格水平对齐。
5. 总结
- 全局校正假设的合理性:
极线校正是基于相机几何参数的刚性变换,与场景内容无关。无论场景中有多少深度平面,只要标定准确,即可保证视差计算的正确性。 - 多平面场景的适配性:
不同深度平面的视差通过统一公式计算,无需分平面处理。立体匹配算法的任务是区分不同视差值,而非依赖分平面校正。 - 实际应用的限制:
若场景中存在遮挡、弱纹理或动态物体,可能导致匹配错误,但这是算法优化问题,不否定校正流程的普适性。