当前位置: 首页 > article >正文

半遮挡检测算法 Detecting Binocular Half-Occlusions

【1. 背景】:

本文分析【Detecting Binocular Half-Occlusions:Empirical Comparisons of Five Approaches】Geoffrey Egnal和Richard P. Wildes于2002年发表在IEEE Transactions on Pattern Analysis and Machine Intelligence上,这是1篇中科院1区的论文,值得学习。论文主要研究了双目视觉系统中的半遮挡(half-occlusions)检测问题,文章提及了五种检测半遮挡的方法,并进行了定量和定性的比较分析。

【V: leaf3d】


【2. 研究内容】:

文章提及的5种方法分别为:

  1. Bimodalities in Disparity (BMD)

    BMD 方法基于视差图像的双峰特性。在半遮挡边界附近的点会匹配到遮挡面和被遮挡面,导致局部视差直方图呈现双峰分布。通过检测这种双峰特性,可以识别半遮挡边界

  2. Match Goodness Jumps (MGJ)
    MGJ 方法假设匹配质量低的点可能是半遮挡点。当匹配算法处理来自两个图像的同一表面时,匹配质量通常较高;而在半遮挡区域,匹配质量会显著下降。MGJ 通过检测匹配质量的突变来识别半遮挡

  3. Left-Right Checking Failures (LRC)
    LRC 方法基于左右视图的视差图像应互为相反数(除了在半遮挡区域)。如果左右视图的视差图像在某些点上不满足这种关系,则这些点可能是半遮挡点

  4. Ordering Constraint (ORD)
    ORD 方法基于排序约束。如果两个点在左视图中按某种顺序匹配,但在右视图中匹配顺序改变,则这些点可能是半遮挡点

  5. Occlusion Constraint (OCC)
    OCC 方法基于遮挡约束。该方法假设视差图中的不连续性对应于半遮挡区域。通过检测视差图中的不连续性,可以识别半遮挡区域

其中,他们的区别和联系在于:

      BMD 和 MGJ 是边界检测方法,主要用于检测半遮挡的起始和结束位置。

      LRC、ORD 和 OCC 是区域检测方法,用于标记整个半遮挡区域


【方法1:BMD】

BMD 方法的核心思想是:水平视差图像中与半遮挡边界对应的点在其邻域中将具有由被遮挡区域和遮挡表面产生的视差值。在这些区域,视差的直方图应该是双峰的(见下图,局部视差直方图 disparity in window在选定的邻域内,统计每个像素的视差值,并构建视差直方图。直方图的横轴表示视差值,纵轴表示该视差值出现的频率, 第一个峰对应于遮挡面的视差值; 第二个峰对应于被遮挡面的视差值。在非遮挡区域,视差值连续、接近的,因此局部视差直方图是单峰的)。选择峰值比测试来确定是否存在双峰,峰比是第二高峰与最高峰的比值。如果峰值大小相似,表示双峰,则峰值比更接近1,BMD可以表示为

因此,如果某个像素的邻域被检测为双峰分布,则该像素被认为是半遮挡边界的一部分。对于每个像素重复上述过程,最终生成一个标记半遮挡边界的图像。 

优点:BMD 方法能够检测到所有遮挡边界,包括与视差方向垂直的不连续性。它是一种基于局部统计的方法,对匹配算法的依赖较小。局限性:对参数(如邻域大小和阈值)非常敏感,需要根据具体场景进行调整。在视差变化剧烈或噪声较多的区域,容易产生误报。

【方法2:MGJ】

MGJ方法的核心思想是利用匹配算法生成的匹配质量图像(match goodness image)来检测半遮挡点。在双目视觉中,匹配质量通常反映了像素之间匹配的可靠性。MGJ 方法假设在半遮挡区域,匹配质量会显著下降,因为这些区域无法找到正确的匹配点。如下图以右视图为基准的匹配统计,计算某一点领域的匹配质量突变程度,设定阈值来判断是否为半遮挡点。

优点:

1. 简单高效。MGJ 方法基于匹配质量图像的直接分析,计算复杂度较低

2. 独立性强:MGJ 方法不依赖于视差图像的具体内容,而是基于匹配质量的变化,因此对匹配算法的依赖较小。

局限性:

1. 对噪声敏感:在匹配质量图像中,噪声可能会导致误报,尤其是在低纹理或高对比度区域。

2. 依赖匹配算法:MGJ 方法的性能依赖于匹配算法生成的匹配质量图像的质量。如果匹配质量图像存在误差,MGJ 方法的性能也会受到影响。

3. 可能漏检:在某些情况下,半遮挡区域的匹配质量可能不会显著下降,导致漏检。

【方法3:LRC】

LRC方法的核心思想是利用左右视图的视差图像之间的关系来检测半遮挡点。具体来说,LRC 方法假设左视图和右视图的视差图像在非遮挡区域应该是互为相反数,而在半遮挡区域,这种对称性会被破坏。如图所示Disparity中左基准视差图和右基准视差图中,非遮挡区域对应点的视差是视差值相近,但符号相反的值。但是在遮挡区域不满足该关系。左右视察一致性描述的是左基准点匹配到右图中的点后,右图中的点再返回来仍然能够找到左图的同一点,按照如下定义阈值来判断

优点:简单高效:LRC 方法基于视差图像的直接分析,计算复杂度较低;对称性检测:通过检测左右视图的对称性破坏,能够有效地识别半遮挡点;适用性强:适用于多种双目匹配算法生成的视差图像。

局限性:

对噪声敏感:在视差图像中,噪声可能会导致误报,尤其是在低纹理或高对比度区域。依赖视差图像质量:LRC 方法的性能依赖于视差图像的质量。如果视差图像存在误差,LRC 方法的性能也会受到影响。可能漏检:在某些情况下,半遮挡区域的对称性破坏可能不明显,导致漏检。

【方法4:ORD】

核心思想是利用双目图像中匹配点的几何顺序关系来检测半遮挡点。在双目视觉中,如果两个点在左视图中按某种顺序排列,那么在右视图中它们的匹配点也应该保持相同的顺序。如果顺序被破坏,则可能表明存在半遮挡。

 该方法容易理解,通过基准图像上点的左右关系和匹配点的左右关系来判断。但是,半遮挡区域可能不会明显违反排序约束,导致漏检。

【方法5:OCC】

OCC 方法的核心思想是:在双目视觉中,视差图的不连续性通常对应于场景中的遮挡边界。

 该方法随着而来的问题是,物体的不连续也会带来视差的跳变,跳变处有可能对应着遮挡的区域,但如何准确分界是一个问题。


http://www.kler.cn/a/551771.html

相关文章:

  • rust笔记1-学习资料推荐
  • CHARMM-GUI EnzyDocker: 一个基于网络的用于酶中多个反应状态的蛋白质 - 配体对接的计算平台
  • Ubuntu下mysql主从复制搭建
  • three.js+WebGL踩坑经验合集(8.2):z-fighting叠面问题和camera.near的坑爹关系
  • 【系列教程】Python第三课:用前两课知识解决实际问题
  • ES8中 async 和await的用法详细的总结
  • LabVIEW无刷电机控制器检测系统
  • 【算法】回溯算法
  • 基于YOLO11深度学习的心脏超声图像间隔壁检测分割与分析系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标分割、人工智能
  • rtsp协议分析
  • 蓝桥杯题目(生日蜡烛)
  • 读书笔记 - 修改代码的艺术
  • 【机器学习】衡量线性回归算法的指标:MSE、RMSE、MAE
  • DeepSeek的本地化部署
  • DeepSeek之高并发架构设计
  • Qt开发③Qt的信号和槽_概念+使用+自定义信号和槽+连接方式
  • 突破平面限制:低空经济激活城市土地“立体生长力”
  • Perl语言的系统运维
  • IntelliJ配置Maven
  • 黑神话悟空风格事务解读snapshot