我是靠谱客的博主 明理灯泡,最近开发中收集的这篇文章主要介绍多视角立体视觉简介摘要简介,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 摘要
  • 简介
    • 收集图像
    • 摄像机投影模型
    • 来自运动中的结构
    • 光束法平差
    • 多视角立体视觉

摘要

本文介绍了多视图立体视觉的动手视图,重点介绍了实际算法。多视图立体视觉算法能够仅从图像中构建高度详细的三维模型。他们拍摄了一组可能非常大的图像,并构建了一个三维合理的几何图形,在一些合理的假设下解释了图像,最重要的是场景刚性。本教程将多视图立体视觉问题框架为一个图像/几何一致性优化问题。它详细描述了它的主要两个成分:光度一致性措施的鲁棒实现,和有效的优化算法。然后,它介绍了这些主要成分如何被一些最成功的算法使用,应用到实际的应用程序,并作为行业产品部署。最后,它描述了利用特定领域知识的更先进的方法,如结构先验,并概述了剩余的挑战和未来的研究方向。

简介

从照片中重建三维几何是一个经典的计算机视觉问题,研究人员已经研究了30多年。它的应用范围从3D地图和导航到网上购物、3D打印、计算摄影、计算机电子游戏或文化遗产档案。然而,直到最近,这些技术才足够成熟,足以将实验室控制环境进入野外,并提供工业规模的鲁棒性、准确性和可伸缩性。

建模真实对象或场景的三维几何建模是一项具有挑战性的任务,目前已经应用了各种工具和方法,如计算机辅助设计(CAD)工具[3]、臂装探针、主动方法和基于被动图像的方法。其中,基于被动图像的方法,即本教程的主题,提供了一种快速捕捉准确的3D内容的方法,其成本是其他方法的一小部分。图像分辨率和质量的稳步增长使数码相机成为廉价和可靠的高分辨率传感器,可以产生卓越质量的3D内容。

基于图像的3D重建算法的目标可以描述为“给定一组物体或场景的照片,在已知材料、视点和光照条件的假设下,估计最有可能解释这些照片的3D形状”,如图1所示。该定义强调了任务的困难,即假设材料、视点和照明是已知的。如果这些都不清楚,这个问题通常是错误的,因为几何图形、材料、视点和照明的多个组合可以产生完全相同的照片。因此,如果没有进一步的假设,没有一个算法可以单独从照片中正确地重建三维几何图形。然而,在一组合理的额外假设下,例如。刚性的兰伯特纹理表面,最先进的技术可以产生高度详细的重建,甚至从数百万张的照片。

在这里插入图片描述
有许多线索可以用来从照片中提取几何图形:纹理、脱焦、阴影、轮廓和立体对应。后三种都非常成功,立体通信在鲁棒性和应用程序数量方面是最成功的。多视图立体声(MVS)是对一组技术使用立体相对作为其主要提示和使用两个以上图像的一般术语。

以下章节中描述的所有MVS算法都假设了相同的输入:一组图像及其相应的相机参数。本章仅从照片开始概述了MVS管道。本章的一个重要的可带回家的信息很简单:一个MVS算法只与输入图像和相机参数的质量一样好。此外,MVS最近的成功在很大程度上是由于计算相机参数的底层运动结构(SFM)算法的成功。

在这里插入图片描述
图1.2提供了通用MVS流程的草图。不同的应用程序可能使用每个主要块的不同实现,但总体方法总是相似的:

  • 收集图像
  • 计算每张图像的照相机参数
  • 从一组图像和相应的照相机参数中重建场景的三维几何图形。
  • 可选择重建场景的材质

在本章中,我们将更深入地了解MVS的前三个主要阶段:图像收集、相机参数估计和三维几何重建。第二章提出了光一致性作为MVS算法正在优化的主要信号的概念。第三章介绍并比较了一些最成功的MVS算法。第四章讨论了领域知识的使用,特别是在提高重建质量方面的结构先验。第5章概述了成功的应用程序、可用的软件和最佳实践。最后,第6章描述了MVS目前的一些局限性,以及解决这些问题的研究方向。

在这里插入图片描述

收集图像

我们可以将MVS捕获设置大致分为三类(见图1.3):

  • 实验室设置
  • 户外小型场景捕捉
  • 使用车队或众包资源进行的大型场景捕捉,如汽车、飞机、无人机和互联网。

MVS算法首先开始于实验室设置,在那里光条件可以很容易地控制,相机可以很容易地校准,例如。从机械臂,旋转表,基准标记,或早期的SfM算法。MVS算法经历了两个主要的发展,把他们带到他们目前的状态:他们离开实验室的设置到一个小规模的户外场景,例如。一个建筑立面或一个喷泉,然后扩大到更大的场景,例如。整个建筑和城市。

这些重大的变化不仅仅是由于MVS领域本身的发展。它是一个新硬件的组合来捕获更好的图像,更多的计算能力,和可伸缩的相机估计算法。

硬件的改进:硬件改进的两个领域对MVS的影响最大:数码相机和计算能力。数码摄影成为主流,图像数字传感器在分辨率和质量方面不断提高。此外,地理定位传感器(GPS)的大规模生产和小型化使它们在数码相机、平板电脑和手机中普遍存在。虽然商业单元的精度对于MVS的目的还不够,但它确实提供了对相机参数的初步估计,可以改进这些参数,使用计算机视觉技术。第二个重要的硬件改进是计算能力。廉价计算机集群或GPU通用计算的兴起使SfM算法和MVS算法能够轻松地处理成千上万的图像。

运动结构算法的改进:研究人员已经致力于视觉重建算法几十年。然而,直到相对最近,这些技术才足够成熟,足以用于大规模的工业应用。如今,工业算法能够估计数百万幅图像的相机参数。近年来,两种略有不同的技术取得了巨大进展:运动结构(SFM)和视觉同步定位和映射(VSLAM)。两者都依赖于对应的线索和场景是刚性的假设。SfM最常用于计算无序图像集的相机模型,通常是离线的,而VSLAM专门从视频流计算相机的位置,通常是实时的。在本教程中,我们主要关注SfM算法,因为大大多数MVS算法被设计用于处理无序图像集,并依赖SfM来计算相机参数。但是,请注意,VSLAM最近在MVS方面取得了非常快的进展。

术语“相机参数”是指描述相机配置的一组值,即由位置和方向组成的相机姿势信息,以及相机的固有特性,如焦距和像素传感器的大小。有许多不同的方法或“模型”来参数化此相机配置。在下面的部分中,我们将讨论在MVS应用程序中使用的一些最常见的相机投影模型。

摄像机投影模型

如前言所述,MVS算法需要额外的知识,才能很好地提出重建问题。特别地,MVS算法要求每个输入图像都有一个相应的相机模型,该模型充分描述了如何将世界上的三维点投影到特定图像中的二维像素位置。MVS最常用的相机模型是针孔相机模型,它完全由一个3x4投影相机矩阵[88]来解释,定义到一个比例。这是通常用于非数码相机捕捉静止照片的模型。任意3×4投影矩阵P均可分解为3×3上三角形矩阵K和3×4姿态矩阵的乘积[R|T]。

在这里插入图片描述
矩阵K通常被称为内部矩阵,因为它由相机固有的量组成:垂直和水平焦距(fx、fy)、主点(cx、cy)和斜s。矩阵[R|T]通常称为外部矩阵,其中R是相机的旋转,T是相机的平移。请注意,由于数字传感器的质量,人们很少估计投影矩阵的11个参数。特别是,假设像素没有偏斜(s=0),并且是正方形(fx=fy)。此外,如果没有裁剪图像,则可以安全地假设主点位于图像的中心。因此,一个常见的针孔照相机模型仅由7个参数组成:焦距f、旋转矩阵R和平移向量T。

在这里插入图片描述
如果附加的透镜质量低,或广角(见图1.4左),纯针孔模型不够,通常使用径向畸变模型进行扩展。径向失真对于高分辨率的照片特别重要,其中与纯针孔模型的小偏差可以等于图像边界附近的多个像素。

径向失真通常可以在照片进入MVS管道之前消除。如果估计了图像的径向畸变参数,则可以通过重新采样消除图像失真,就像使用理想的镜头没有失真一样(见图1.4左下角)。不扭曲的图像简化了MVS算法,并经常导致更快的处理时间。一些照相机,例如。在手机中,结合专用硬件来消除图像捕获后处理过程中的径向失真。但是请注意,整正广角图像将引入重采样工件以及视场裁剪。为了避免这些问题,MVS管道可以直接支持径向失真和更复杂的相机模型,而是牺牲了额外的复杂性。

最后,滚动快门是另一个对视频处理应用特别重要的复杂性来源(见右图1.4)。带有电子卷帘快门的数字传感器在稍微不同的时间曝光每一行图像。这与整个图像同时曝光的全局百叶窗形成了鲜明对比。滚动快门通常提供了更高的传感器吞吐量,而牺牲了一个更复杂的相机模型。结果,如果相机或场景在拍摄图像时移动,图像的每行有效地捕捉稍微不同的场景。如果照相机或场景的动作很慢,等等。快门速度,滚动快门效果可以小到可以忽略。否则,相机投影模型需要结合这些效果。

来自运动中的结构

有大量关于运动结构算法的文献,我们不打算在这里全面回顾它。下面,我们将讨论SfM的一些关键方面,以及它们如何与MVS算法的关系。

SfM算法以一组图像作为输入,产生两件事:每幅图像的相机参数和图像中可见的三维点,通常被编码为轨迹。轨迹被定义为重建的三维点的三维坐标和在输入图像的子集中相应的二维坐标的列表。当前大多数最先进的SfM算法共享相同的基本处理管道。

  • 检测每个输入图像中的二维特征
  • 匹配图像之间的二维特征
  • 从匹配项中构建二维轨道
  • 从二维轨道中求解SFM模型
  • 使用线束调整来细化SfM模型

在这里插入图片描述
关于SfM的最初工作主要集中在刚性场景[88]假设下的两个和三个视图的几何图形上。卡罗Tomasi对视觉重建算法的技术视角[182]提出了早期工作的概述。SfM的关键发展之一是使用RANSAC[61]稳健地估计给噪声匹配的两个到三个视图之间的上极几何。

然后,工作集中在SfM算法的两个关键组成部分:1)从多个摄像机计算欧几里得重建(最高规模),即估计摄像机参数和轨道的三维位置,以及2)构建更长的二维轨道。到20世纪末,SfM算法能够从大型结构化的图像集中稳健地计算模型,例如。从图像序列或视频序列[62,152]和第一个SfM工业解决方案开始商业化,如电影编辑和特效[4]。

这些初始系统主要是为结构化的图像集而设计的,即图像顺序重要的图像集,如视频序列。虽然一些MVS应用程序可以定义这样的顺序,例如,谷歌的街景[81]或微软的街景[143],但最近的许多MVS应用程序也使用在不同时间使用不同硬件捕获的无序图像集,例如。从航空图像中获得的三维地图,[108,144,30]。快速和高质量的特征检测器[87,135,57]和描述符[135,36,159,130,26]的开发是使SfM使用非结构化数据集的一个关键发展。高质量的描述符允许从以非常不同的姿势和照明拍摄的图像中构建更长和更高质量的轨道。

在这里插入图片描述
解决大规模非结构化照片集合的SFM的最终要素是改进匹配阶段。在非结构化照片收集的情况下,一个人不知道任何应该匹配的候选图像。因此,每一幅图像都必须与其他图像相匹配,这在计算上非常昂贵。高效的索引[146]与高质量的描述符相结合,允许数百万幅图像的高效成对匹配。关于简化轨道[172]和并行化[25,64]的进一步工作,导致了业界最先进的SfM管道,例如微软的光合用[16]和谷歌的照片之旅[15](见图1.6)。

光束法平差

虽然捆绑调整[183]并不是严格的SfM的一部分,但它是用于细化初始SfM模型的一个非常常见的步骤。给定一组相机参数{Pi}和一组轨迹{Mj,{mji}},其中Mj表示轨迹的三维坐标,mji表示其在相机中图像投影的二维图像坐标,光束法平差最小化以下非线性最小二乘误差:
在这里插入图片描述
V(j)是点Mj可见的相机索引列表,而Pi(MJ)使用相机参数Pi表示相机I中三维点Mj的投影二维图像坐标。

E(P,M)通常以平方像素测量,但表示估计精度的一个更常见的度量是使用均方根误差或RMSE,它以像素测量并定义为:
在这里插入图片描述
其中,N是用(1.2)汇总的剩余项数。光束法平差前的典型RMSE值是几个像素的顺序,而光束法平差后的值通常是子像素。

光束法平差框架允许在一个有原则的优化框架中将多个传感器与SfM目标相结合。将GPS和IMU约束与SFM约束融合的一种方法是简单地在(1.2)中添加额外的术语,以惩罚Pi与预测相机模型与GPS和IMU信号的偏差。

MVS算法对估计的相机模型的精度非常敏感。原因是,为了提高效率,他们使用相机模型定义的上极性几何图形将二维匹配问题限制为一维匹配问题(详情请参见第1.5节)。如果重投影误差很大,那么一个像素可能永远不会与它的真实匹配进行比较,从而显著降低了MVS的性能。MVS对相机重投影误差的鲁棒性主要取决于匹配标准(即第2章中提出的光一致性度量)对不对齐的容忍性。通常,光一致性测度量的域Ω越大(见方程2.1),测度越鲁棒。不幸的是,大域也倾向于产生平滑几何,因此精度准确性和鲁棒性之间存在妥协。

由于MVS对重投影误差非常敏感,束调整通常是MVS的要求,其目标是亚像素重投影误差。请注意,由于重新投影误差是用像素测量的,因此可以对输入图像向下采样并重新调准相机参数,直到重新投影误差下降到某一阈值以下。只要下采样的图像仍然包含足够的纹理和细节,让MVS为[72]工作,这种方法就可以工作。

多视角立体视觉

多视点立体视觉的起源可以追溯到人类立体视觉,第一次尝试作为计算问题解决立体匹配问题[139]。直到今天,双视图立体视觉算法一直是一个非常活跃和富有成果的研究领域[162]。多视图版本的立体视觉最初是对双视图情况的自然改进。而不是从其中捕捉两个不同的视角的两张照片,而是多视图立体声将在两者之间捕获更多的视点,以增强鲁棒性,例如。到图像噪声或表面纹理[184,147]。它最初是一种改善双向立体视觉的方法,现在已经演变成一个不同类型的问题。

虽然MVS与这种经典立体算法具有相同的原则,但MVS算法被设计用来处理更不同视点的图像,比如围绕对象的图像集,也处理大量的图像,甚至在数百万数量级。MVS问题本质上的差异最终产生了与经典立体视觉问题显著不同的算法。例如,3D映射[108,144,30]的工业应用,一次处理数百公里以上的数百万张照片,有效地重建了大都市地区、国家,最终重建了整个世界。
在这里插入图片描述
匹配图像之间的像素是一个具有挑战性的问题,不是立体或多立体声独有的。事实上,光流是计算机视觉中另一个非常活跃的领域,解决了跨图像[33]的密集对应问题。与MVS的主要区别在于,光流通常是一个双图像问题(类似于双视图立体声),相机没有被校准,其主要应用是图像插值,而不是三维重建。

请注意,在MVS的情况下,其中相机参数是已知的,解决场景的三维几何图形完全相当于解决跨输入图像的对应问题。要了解原因,请考虑属于三维场景几何图形的三维点(参见左图1.7)。将三维点投影到一组可见摄像机中,在每个图像上的投影坐标之间建立了一个独特的对应关系。

给定图像中的一个像素,在其他图像中找到相应的像素需要两种成分:

  • 在其他图像中生成可能的候选像素的一种有效方法。
  • 衡量给定候选人正确匹配可能性的方法。

如果相机几何未知,如光流那样,图像中的每个像素可以与另一个图像中的任何其他像素匹配。也就是说,对于每个像素,一个像素必须在另一个图像中进行二维搜索。但是,当摄像机参数已知(且场景为刚性)时,图像匹配问题从二维搜索简化为一维搜索(见右图1.7)。图像中的像素生成通过图像的像素和照相机中心的三维光线。另一图像上的对应像素只能位于该光线对第二图像的投影上。当多个摄像机从不同的角度观看相同的三维场景时,产生的不同几何约束被称为上极几何[88]。

至于判断候选者匹配的可能性的度量,有大量关于如何建立所谓的照片一致性度量来估计两个像素(或像素组)对应的可能性的文献。第2章详细介绍了MVS下的照片一致性措施。

最后

以上就是明理灯泡为你收集整理的多视角立体视觉简介摘要简介的全部内容,希望文章能够帮你解决多视角立体视觉简介摘要简介所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部