立体视觉=对应+重建:
? 对应:给定一幅图像中的点pl,找到另一幅图像中的对应点pr。
? 重建:给定对应关系(pl, pr),计算空间中相应点的3D 坐标P。
立体视觉:从图像中的投影恢复场景中点的三维位置的过程
类型:基于窗口/局部的算法和全局算法
三角测量:给定pl,我们知道点P位于连接pl和左光心Cl的直线Ll上。**假设我们确切地知道相机的参数,我们可以显式计算 Ll 和 Lr 的参数。**因此,我们可以计算两条直线的交点,即点 P
◇ 匹配代价计算:SSD、SAD、MSE、MAD
◇ 代价聚合
◇ 视差计算和优化
◇ 视差细化
指用于从一对立体图像(或称为双目图像)中计算深度信息的一系列步骤。在计算机视觉领域,这些算法通过比较同一场景的两个稍有不同视角的图像来估计物体的距离。
匹配成本计算:这是立体匹配的第一步。目标是确定立体图像对中的两个像素有多匹配。常见的匹配成本计算方法包括:
这些方法用于计算每个像素可能视差的成本。成本越低,表示匹配越好。
成本聚合:在计算了初步匹配成本之后,通常会在邻域内聚合这些成本,以提高对噪声和无纹理区域的鲁棒性。聚合步骤有助于引入上下文信息,减少初步匹配中不正确匹配的影响。
视差计算和优化:这一步涉及为每个像素选择最小化聚合成本的视差值(即在两幅图像中匹配像素之间的水平位移)。可以应用优化方法,如动态规划、图割或半全局匹配,以找到整个图像中最一致的视差值。
视差细化:从前一步获得的初步视差图可能存在不准确之处,特别是在物体边界或遮挡区域附近。因此,会采用中值滤波、左右一致性检查(用于识别和纠正遮挡或匹配错误)和亚像素增强等细化步骤,来提高视差图的质量。
通过遵循这些步骤,本地立体声算法可以生成代表场景深度信息的视差图。这个图在3D重建、自主导航和虚拟现实等多种应用中非常关键。
稀疏和密集对应
解决对应问题(correspondence problem)是立体视觉中的一个核心问题,特别是在处理双目(或多目)立体图像时。在这个上下文中,对应问题指的是确定一幅图像中的像素点在另一幅图像中的匹配点。理解这一问题的关键在于了解“极线约束”(epipolar constraints)。
二维搜索域的问题: 如果没有任何约束,为了在一幅图像中找到另一幅图像的每个像素点的对应点,理论上需要在整个图像平面上进行搜索。这称为二维搜索域,它导致计算量非常大,且容易产生错误匹配。
极线约束(Epipolar Constraints): 幸运的是,在立体视觉中,我们可以利用极线约束来显著减少搜索的复杂度,缩小特征点匹配时的搜索范围。极线约束基于这样一个事实:对于第一幅图像中的任何一个点,其在第二幅图像中的对应点必定位于一条特定的线上,这条线称为极线。
如何应用极线约束:
总之,极线约束是解决立体视觉中对应问题的关键,它通过将复杂的二维搜索问题简化为一维搜索,使得深度估计变得更加可行和精确。
图像校正(Rectification)是立体视觉系统中的一项重要技术,它在搜索图像对应点之前通常会被执行,以简化搜索过程。让我们分析一下校正的动机、实现方法和一种简单的解决方案:
图像校正在立体视觉中扮演着关键角色,它通过简化对应点的搜索过程来提高了系统的效率和匹配的准确性。通过物理或软件方法校正摄像机,可以使得极线对齐到水平扫描线,从而将原本的二维搜索问题转化为一维搜索问题。这不仅简化了计算过程,还提高了匹配的精度和系统的整体性能。
同态变换(Homography)的概念:
映射到共同平面 P:
极线的平行性:
极线与图像行的平行性:
这个过程的关键是通过同态变换将两个图像映射到一个共同的平面上,并调整它们的视角使得极线平行于该平面。通过这种方式,极线也就与图像的行平行,从而将匹配点的搜索简化为在水平行上的一维搜索,大大简化了计算过程,并提高了效率和准确性。这种方法在双目立体视觉系统中广泛应用,特别是在需要高精度和高效率的应用场景中。
则校正算法为:
? 选择与 CrCl 平行的平面 P
? 定义 P 上的左右图像坐标系
? 根据 P 和虚拟图像的坐标系构造校正矩阵 Hl 和 Hr。