前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DCF:立体视觉的视差计算系统

DCF:立体视觉的视差计算系统

原创
作者头像
一点人工一点智能
发布2023-03-22 16:48:35
7180
发布2023-03-22 16:48:35
举报

首发地址:DCF:立体视觉的视差计算系统

入群邀请:7个专业方向交流群+1个资料需求群

视差图是立体视觉系统的重要组成部分,因为它们会对两个或多个图像的位移进行编码。不过,以前的工作只提供了一些实现细节,处理步骤上不太好定义,并且很少讨论软件设计。与之相反,DCF是对立体视觉系统的主要组件进行标准化,并进行了集成,以促进视差图的构建。因此,DCF算法可以被参数化或使用先前定义的配置来执行。因此,DCF输出可以定向到不同的应用,例如基准测试方案、计算机和机器人应用、三角测量和3D重建。

项目地址:https://github.com/SoftwareImpacts/SIMPAC-2022-236

01  系统简介

视差计算是使用相机的机器视觉过程中的一个步骤。在立体视图中,相机通常同时记录来自不同视点的图像[1,2]。尽管相机记录了相同的场景,但它们位于先前配置的位移裕度(displacement margin)或无限制配置的不同位置[3]。生成的图像具有一些相同的场景元素,这些元素可以用于测量与相机有关的图像的偏移[4]。这种方法可以从二维图像和使用二维图像构建的三维场景中估计深度[5,6,7]。

视差计算旨在测量相机之间像素的位移[8]。移动较少的像素具有较小的视差值。另一方面,当可以在非相邻位置处观察到像素移动时,出现较大的视差值。该测量是根据一个或多个目标图像与参考图像的坐标来计算的。顾名思义,参考图像是观察像素位移的起点。

视差信息表示着场景中的元素到参考相机的接近度或距离。视差也被视为逆深度,因为视差值与深度成反比[9,10]。当像素在图像之间具有较小的位移时,视差值指示场景中的对象离得更远,即,它们具有更大的深度值。相反,更显著的差异表明场景中的对象更接近参考相机,即它们具有更低的深度值。

视差计算的过程中会程产生一个被命名为视差图的新图像。立体算法通常在获得视差图时执行四个步骤[[9]。第一是匹配成本计算,用于检查像素之间的相似性。第二是成本(支持)聚合,它在像素相似性评估中添加了邻域窗口。第三是视差计算/优化步骤,其计算参考图像和目标图像之间的像素的位移。最后,第四步是视差细化步骤,对视差图进行调整以校正计算误差。

评估像素之间的相似性对于计算机视觉系统来说是一项具有挑战性的任务。光度失真、镜面反射、透视失真、模糊区域、重复图案、遮挡和噪声会严重影响像素匹配[11,12,13]。由于单独的像素容易出错,因此使用Support或Aggregation窗口,以便中心像素的相邻区域减少像素之间的模糊性和失配。这种策略(或基于区域的方法)在逐像素(或基于像素的方法)评估方面提供了更明确的结果[14]]。然而,Aggregation窗口的理想大小是一个需要找到的参数,并且它是一个可能干扰立体视觉算法执行时间的参数。

有许多视差计算算法,特别是用于成本聚合(the cost aggregation)步骤的方法[14,15,16]。一些工作讨论了聚合窗口大小的不变方法,如积分图像[17]和框滤波[18,19]。其他人提出了可变大小的窗口[20]、颜色强度水平的感知分组[21]、窗口位移[9]、多分辨率图像[22]或用于视差计算的图像分割[23]。尽管每种方法都有其特殊性,但一些常见元素有助于编码、重用和比较不同的深度估计方案。

这项工作提出了视差计算框架(DCF),旨在实现不同视差计算方案的共存。DCF界定了立体视觉的范围,为按需处理不同的应用程序提供了坚实的基础,其软件设计允许附加新的立体视觉方法、算法和指标评估。此外,DCF是一个允许共存不同方案的平台,用于构建视差图,其架构集成了文献中讨论的主要视差计算组件。

在准备软件设计时,我们关注的是设计具有内聚范围的模块化软件。从这个意义上说,我们提出了不同立体视觉方法之间的共性,并创建了结构软件层,包括预处理、视差计算、后处理和性能评估模块。此外,在DCF设计中,所有架构组件都是可用的,这样它们的组件就可以重用,可以附加新的算法,并且可以准备其他结构,包括处理其他计算机视觉任务的组件。

DCF可以提出与比较不同的视差计算方法、估计和预测的视差之间的误差分析、每种算法的执行时间、过滤输入图像、构建视差图以及细化视差计算相关的研究问题。使用DCF,研究人员可以进行比较分析,对检查结果进行可视化或者数字化处理,检查实现的代码,并添加新的算法。此外,他们可以使用执行Pipeline在不同的测试配置下执行视差计算方法。

可以使用DCF配置不同的执行Pipeline。例如,可以使用不同的聚合窗口大小来测试算法(图1)。其他成本函数可以很容易地取代相似性评估函数(图2)。我们可以将预处理和后处理步骤添加到最初没有使用这些步骤设计的算法中(图3)。我们可以应用图像滤波并检查获得的结果(图4),或者向视差图添加不同的细化技术(图5)。此外,我们可以通过查看每个错误来比较不同的方法(图6)。

在当前版本的DCF中,有十种视差计算方法、十一种成本函数、三种评估度量和三种视差图细化方法。此外,还有特征检测器、图像滤波算法和图像校正算法。表1给出了已经在DCF中实现的视差计算方法、成本函数和视差图细化方法。

图片
图片
图片
图片

最后,DCF中存在的算法可以被参数化,或者使用先前定义的配置来执行。DCF调用是通过脚本进行的,在脚本中,从参数定义到函数调用,命令都是按顺序显示的。从这个意义上说,DCF中存在的所有功能都可以在多种配置中访问、参数化和执行。用于访问DCF功能的接口是公共的,因此单个脚本可以直接访问算法。

02  影响概述

已发表的与视差图构建相关的工作提供了很少的实现细节,没有提供源代码,提出的处理步骤也没有很好地定义,并且用于处理计算机视觉任务的软件设计很少被讨论或强调。即使有软件可用,识别和解耦构建视差图的步骤也是一项挑战。因此,我们开发了DCF来标准化视差计算的主要组件,并便于不同立体视觉方法之间的比较。DCF输出可以指向不同的应用,例如基准测试方案、计算机和机器人应用、三角测量和3D重建。

DCF被用于评估哪种代价函数更适合每种立体视觉方法[4],设计基于分割过程和自适应支持窗口的细化视差方法[10,28,29,30],并从非结构化环境中构建视差图,其中自然因素(如光照和地形形状)提供了各种非受控条件[31]。在文献[32]中,我们首次深入了解了DCF体系结构,通过标准结构适应不同的立体方法。随后,我们在文献[33]中介绍了DCF架构的建模,以集成视差计算的主要组件。与前一版本的DCF不同,该代码经过了修订,并在该版本中添加了不同的使用示例。此外,我们记录了DCF源代码,以文本方式描述函数的目标、预期输入参数和输出。

图片
图片

2.1 正在进行的使用该软件的研究项目

立体视觉系统的一个关键组成部分是视差图。如果仔细构建视差图,它可以参与工业自动化、自主导航和3D重建。从这个意义上说,自动驾驶汽车可以利用场景的深度在没有碰撞的情况下四处移动;视障人士可以使用为帮助其行动而开发的计算机应用程序;在三维世界中跟踪物体,可以使得增强现实具有更好的视觉效果。我们目前正在使用DCF来研究立体视觉算法,并在视觉和数字上进行比较。此外,我们使用DCF来测试滤波和视差图细化等处理步骤。

2.2 软件支持的所有学术出版物列表

1. G. da Silva Vieira, J.C. de Lima, N.M. de Sousa, F. Soares, A three-layer architecture to support disparity map construction in stereo vision systems, Intell. Syst. Appl. 12 (2021) 200054.

2. G. da Silva Vieira, F.A. Soares, J.C. de Lima, G.T. Laureano, S.A. Santos, R.M. Costa, R. Salvini, Trunk detection and tree disparity calculation in uncontrolled environments, in: 2019 IEEE Symposium on Computers and Communications, ISCC, IEEE, 2019, pp. 1–6.

3. G.D.S. Vieira, F.A.A. Soares, J.C. De Lima, H.A. Do Nascimento, G.T. Laureano, R.M. Da Costa, J.C. Ferreira, W.G. Rodrigues, A disparity computation framework, in: 2019 IEEE 43rd Annual Computer Software and Applications Conference, Vol. 2, COMPSAC, IEEE, 2019, pp. 634–639.

4. G. da Silva Vieira, F.A.A. Soares, G.T. Laureano, R.T. Parreira, J.C. Ferreira, R.M. Costa, C.B. Ferreira, Disparity refinement through grouping areas and support weighted windows, in: 2018 IEEE Canadian Conference on Electrical & Computer Engineering, CCECE, IEEE, 2018, pp. 1–4.

5. G. da Silva Vieira, F.A.A. Soares, G.T. Laureano, R.T. Parreira, J.C. Ferreira, R. Salvini, Disparity map adjustment: a post-processing technique, in: 2018IEEE Symposium on Computers and Communications, ISCC, IEEE, 2018, pp.00580–00585.

6. G. Vieira, F.A.A.M.N. Soares, G.T. Laureano, R.T. Parreira, J.C. Ferreira, A segmented consistency check approach to disparity map refinement, Can. J. Electr. Comput. Eng. 41 (4) (2018) 218–223.

7. G.D.S. Vieira, F.A.A. Soares, G.T. Laureano, R.T. Parreira, J.C. Ferreira, R.M. Costa, C. Gonçalves, Stereo matching enhancement by statistical analysis and weighted functions, in: 2018 IEEE Canadian Conference on Electrical & Computer Engineering, CCECE, IEEE, 2018, pp. 1–4.

8. G. Vieira, F. Soares, N. Sousa, J. Gil, R. Parreira, G. Laureano, R. Costa, J. Ferreira, Stereo vision methods: from development to the evaluation of disparity maps, in: Proceedings of XIII Workshop de Visão Computacional, 2017, pp.132–137

1. 书籍推荐-《基于多视图几何的机器人系统视觉感知与控制》

2. 书籍推荐-《3D形状分析:基础、理论和应用》

3. 书籍推荐-《立体视觉物体检测》

4. 梳理 | 立体视觉相机的优势

5. 书籍推荐-《3D计算机视觉》

6. 多视图点云配准算法综述

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 01  系统简介
  • 02  影响概述
    • 2.1 正在进行的使用该软件的研究项目
      • 2.2 软件支持的所有学术出版物列表
      相关产品与服务
      腾讯云服务器利旧
      云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档