【立体匹配论文阅读】SGM

 


基于半全局匹配和互信息的精确高效立体处理

大佬学术链接:https://scholar.google.com/citations?hl=zh-CN&user=Bs6t1F0AAAAJ&view_op=list_works

维基百科:https://en.wikipedia.org/wiki/Semi-global_matching

摘要

这篇论文考虑了精确立体匹配的目标,特别是在物体边界处,对录制或照明变化的稳健性以及计算效率的要求。这些目标导致了所提出的 半全局(SemiGlobal Matching)匹配方法,该方法基于 互信息(Mutual Information)和 全局平滑约束的近似 执行 像素匹配。检测遮挡,并以亚像素精度确定 视差 (disparities)。此外,还介绍了 multi-baseline 立体图像的扩展。有两个新颖的贡献。首先,展示了 基于互信息的匹配的分层计算,几乎与基于强度(intensity)的匹配一样快。其次,提出了 a global cost calculation 的近似,该近似可以在与 the number of pixels and disparities 成线性关系的时间内执行。在典型的图像上,实现只需要 1 秒。

"Recording" 在这里指的是记录或捕捉图像或视频的过程,包括使用相机或其他传感器来获取场景的信息。在立体匹配中,记录过程可能涉及到不同的摄像机角度或者不同时间点的图像捕获,用于生成立体图像或深度图。

1. 引言


准确、密集的立体匹配是许多应用的重要要求,例如三维重建。 -立体匹配是指在从不同视点拍摄的两张或更多图像中找到对应点的过程。 -精确的立体匹配对于 3D 重建等应用至关重要,在这些应用中,目标是创建场景或物体的三维表示。 -密集立体匹配是指查找图像中每个像素的对应关系,而稀疏立体匹配是指仅匹配部分像素的稀疏立体匹配。

最困难的通常是物体的边界和精细结构,它们可能显得模糊。 -立体匹配的挑战之一是精确匹配具有精细结构的物体或区域边界处的像素。 -这些区域可能会出现问题,因为它们可能显得模糊或对比度低,因此很难找到准确的对应关系。

其他实际问题源于录制和照明差异或反射,因为匹配通常直接基于强度,而相应像素的值可能大不相同。 -立体声匹配的另一个挑战来自录制条件的差异,例如光线或反射的变化。 -匹配算法通常依赖于比较图像之间的像素强度来找到对应关系。 -但是,由于光线或反射的变化,相应像素的强度可能具有不同的值,因此很难准确匹配它们。

此外,通常需要快速计算,这要么是因为实时应用程序,要么是因为需要高效处理大图像或许多图像。 -除了精度外,速度也是立体匹配的重要考虑因素。 -实时应用程序,例如机器人技术或增强现实,需要快速计算才能提供及时的响应。 -需要高效处理的大图像或大量图像也需要快速计算,以避免处理时间过长。


目标的应用

-突出显示的文本讨论了一种应用程序,在该应用中,精确的立体匹配、对录制或照明变化的稳定性以及处理效率这三个目标相结合。 -此应用程序涉及使用机载推扫式摄像机重建城市地形。

在物体边界精确匹配的重要性

-物体边界的精确匹配对于重建城市地形中的结构化环境至关重要。 -这意味着立体匹配算法需要准确确定左右图像中对应像素之间的差异(深度差),尤其是在物体边界处。 -通过精确匹配物体边界,该算法可以创建更详细、更真实的城市地形重建。

耐久性对记录差异和照明变化影响的重要性

-录制差异是指在拍摄立体图像期间相机设置或参数的变化。 -照明变化是指左右图像之间照明条件的差异。 -立体匹配算法必须能够抵御这些记录差异和照明变化,因为它们通常是研究人员或摄影师无法控制的。 -稳健性确保即使存在这些变化,算法仍能准确匹配像素并确定差异,从而更可靠地重建城市地形。

高效处理的重要性

-突出显示的文本中提到的应用程序涉及大图像和各种可能的差异。 -例如,图像的分辨率可能为数亿像素,差异范围为 1000 像素。 -要在合理的时间内处理如此大的数据集,必须进行有效的处理。 -立体匹配算法需要能够处理图像并以离线方式确定差异,这意味着可以在捕获图像后进行处理。 -所提出的半全局匹配方法旨在通过使用互信息的分层计算和全局成本计算的近似值来实现这种效率。 -在典型图像上实现此方法仅需 1 秒钟,因此适用于现实世界的应用。


局部方法及其局限性: -基于相关性的局部立体算法非常高效,适用于实时应用程序。 -但是,这些方法假设关联窗口内的差异(左右图像之间的像素位置差异)是恒定的。 -此假设在物体边界不正确,导致视差图中的物体边界模糊。 -有些技巧可以降低这种效果,但无法完全消除。 -另一方面,像素匹配通过单独考虑每个像素来避免这个问题。 -但是,逐像素匹配需要其他限制,例如分段平滑度,以确保明确的匹配。

在立体匹配中,基于局部相关性的方法可能会将窗口内的每对像素视为具有相同的深度差异,即假设窗口内的所有像素对的视差都是一样的。然而,这种假设并不总是符合实际情况。在真实的场景中,窗口内的不同像素对之间的深度差异可能会有所不同,尤其是在物体边缘或不连续性处。因此,这种假设可能会导致立体匹配错误,尤其是在处理边界时,可能会导致模糊的物体边界。

动态规划及其局限性: -动态规划技术可以有效地强制执行这些约束,但只能在单个扫描线内执行。 -这意味着限制是水平强制执行的,从而在差异图中产生条纹效果。

动态规划是一种优化方法,可以有效地强制执行一些匹配约束,例如像素间的一致性。然而,这种技术通常只在单个扫描线内进行,而不是在整个图像或窗口上进行。扫描线是指图像的水平或垂直线,沿着这些线进行像素匹配。

这种局限性意味着动态规划技术仅在每个扫描线上进行匹配,而不考虑相邻扫描线之间的关系。这可能会导致结果中出现所谓的"streaking effects",即图像中出现条纹状的不连续性。这是因为在相邻扫描线之间的匹配可能不一致,导致在图像中可见的条纹状效应,特别是在处理具有明显深度变化的区域时。因此,尽管动态规划技术可以在一定程度上提高匹配的准确性,但其局限性可能导致出现不理想的效果,特别是在处理具有复杂深度结构的区域时。

全局方法及其局限性: -全局方法,例如 Graph Cuts [7, 2] and Belief Propagation [10],在二维(水平和垂直)上强制执行匹配约束。 -但是,这些方法占用大量内存,而且 Graph Cuts 相对较慢。 -事实证明,Belief Propagation 可以有效地实施。 Graph Cuts [7, 2] and Belief Propagation 都用于立体匹配,但它们有其局限性。

匹配成本及其灵敏度: -立体匹配算法中的匹配成本通常基于左右图像中相应像素之间的强度差异。 -但是,基于强度的匹配对录制和照明差异、反射和其他因素很敏感。 -另一方面,计算机视觉中引入了互信息,用于处理具有相应强度的复杂关系的图像。 -互信息已用于基于关联的立体匹配和 Graph Cuts。 -事实证明,互信息可以抵御许多复杂的强度变换甚至反射。


3. Semi-Global Matching

3.1. Outline

这段文字介绍了半全局匹配(SGM)方法的概要及其基本步骤。

Semi-Global Matching (SGM): 半全局匹配方法是基于相互信息进行逐像素匹配,并通过组合许多一维约束来近似全局的二维平滑约束。这意味着它利用了像素级别的相似度信息,并尝试在整个图像上应用一种平滑性约束。

Outline: 概述了本节要讨论的主要内容。

Pixelwise cost calculation (Section 3.2): 在这一步骤中,首先讨论了像素级别的成本计算。这可能涉及到计算相邻像素之间的相似度或差异度,以获得它们之间的匹配成本。

Implementation of the smoothness constraint (Section 3.3): 接下来,介绍了平滑性约束的实现方式。这个约束旨在确保匹配结果在图像中是平滑的,即相邻像素的视差之间的差异不应该太大。

Disparity determination with sub-pixel accuracy and occlusion detection (Section 3.4): 在这一部分,讨论了如何确定视差,以及如何检测遮挡情况。这意味着算法不仅要计算视差值,还要尽可能精确地计算,并检测可能由于遮挡导致的匹配错误。

Extension for multi-baseline matching (Section 3.5): 这一部分描述了如何扩展算法以支持多基线匹配。这可能涉及到处理多个图像对,每对图像都具有不同的基线(相机之间的距离)。

Complexity and implementation (Section 3.6): 最后,讨论了算法的复杂性和实现细节。这可能包括算法的计算复杂度、内存需求以及实际实现中的一些技术细节。

总的来说,这段文字详细地介绍了半全局匹配方法的各个方面,包括其基本思想、步骤以及在不同情况下的实现方式和考虑因素。

无人机的双目视觉还是需要天空检测的:
https://github.com/MaybeShewill-CV/sky-detector
https://blog.csdn.net/zhubaohua_bupt/article/details/51887339
https://github.com/zhubaohuabupt/sky_recognition

https://jiweibo.github.io/StereoSGBM/

https://blog.csdn.net/wsj998689aa/article/details/49464017

https://www.cnblogs.com/chesstime/articles/17433460.html

posted @   Zenith_Hugh  阅读(116)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

微信打赏