多目视觉三维重建研究综述

多目视觉三维重建研究综述

多目视觉三维重建研究综述

三维重建经过数十年的发展,已经取得巨大的成功.基于视觉的三维重建在计算机领域是一个重要的研究内容,主要通过使用相关仪器来获取物体的二维图像数据信息,然后,再对获取的数据信息进行分析处理,最后,利用三维重建的相关理论重建出真实环境中物体表面的轮廓信息.基于视觉的三维重建具有速度快、实时性好等优点,能够广泛应用于人工智能、机器人、无人驾驶、SLAM(Simultaneous localization and mapping)、虚拟现实和3D打印等领域,具有重要的研究价值,也是未来发展的重要研究方向.
1.三维重建方法
从整体上来看,三维重建技术主要通过视觉传感器来获取外界的真实信息,然后,再通过信息处理 技术或者投影模型得到物体的三维信息,也就是说, 三维重建是一种利用二维投影恢复三维信息的计算机技术。
从数据获取方法上来划分,可以划分为接触式和非接触式两种。接触式方法其实就是利用某些仪器能够快速直接测量场景的三维信息,主要包括触发式测量、 连续式测量、CMMs和RA等.虽然,接触式方法有其独特的优点,但是该方法只能应用于仪器能够接触到测量场景的场合.非接触式主要包括主动视觉法和被动视觉法,主动式需要向场景中发射结构光源,然后再通过计算和提取光源在场景中的投影信息来检测目标位置 并进行测量.被动式不使用任何其他能量,而是通过获取外界光源的反射来进行三维测量.
主动视觉又包括激光扫描法、结构光法、阴影法、TOF 技术、雷达技术、Kinect技术等;被动视觉法根据摄像机数目的不同分为单目视觉法、双目视觉法和多目视觉法;根据原理(匹配方法)不同又可以分为区域视觉法、特征视觉法等;根据应用方法也可以分为运动恢复结构法和机器学习法等。
本文主要对多目视觉方法的三维重建进行综述。
在这里插入图片描述

1.1基于多目视觉的三维重建方法
双目视觉的工作原理来源于人类的双目视觉系统,也就是说从不同的视角通过两个相同的相机捕获同一个位置下的左右两侧图像,然后再利用三角测量原理获取物体的深度信息,通过这些深度信息重建出物体的三维模型。多目视觉是双目视觉的一种延伸,它是在双目视觉的基础上,增加一台或者多台摄像机作为辅助进行测量,从而获得不同角度下同一物体的多对图像。
多目视觉法不需要人为地对相关辐射源进行设置,能够在不接触的情况下进行自动在线检测.这种方法的优点是可以减少测量中的盲区,获得更大的视野范围,更高的识别精度;此外,该方法还能解决双目视觉中的误匹配现象,能够适应各种场景.但由于在双目的基础上增加了一台或多台相机,在进行三维重建时需要对大量的数据进行处理,导致处理时间的增加,无法满足实时性的要求;此外,在重建过程中需要进行大量的匹配运算,运算量偏大,而且易受环境光照条件的影响;另外,在基线距离比较大时,重建效果会降低.目前,多目视觉法在车辆自主驾驶、机器人视觉、多自由度机械装置控制等很多 领域获得了广泛的应用。

1.2根据匹配方法分类
图像特征信息匹配的质量在三维环境重建过程中起着十分关键的作用.图像特征信息的匹配首先提取待重建图像的匹配信息,并使用相应的算法在提取出的匹配信息集中寻找最佳匹配集,根据最佳匹配集求解变换模型.根据匹配的方法不同可以分为区域视觉法和特征视觉法.
1.2.1区域视觉法
区域视觉法就是基于区域立体匹配算法的三维重建技术.该算法利用对极几何约束和连续性,提高了稠密匹配的效率和三维重建的质量.
1986年,Goshtasby等提出了一个由粗到细的分割方法,该方法减小了图像分割的质量对区域检测的影响。1994年,Flusser等首先对获取的图像进行分割并提取封闭区域,然后再用质心表示其封闭区域,最后,获取具有旋转不变特性的区域.进一步的,2003年,Alhichri等提出一种称为虚圆的图像特征.为了提取这种特征,需要对图像的边缘进行检测,从而获取其二值化的边缘图像,然后再使用欧氏距离变换提取图像特征.为了使检测算法具有仿射不变性,1997年,Schmid等提出局部灰度值不变量.2004年,Matas等又提出一种仿射不变区域检测算法.同年,Tuytelaars等提出了两种具有仿射变换不变性的特征区域的方法.与此同时,Kadir等也提出了一种显著区域的方法,遗憾的是,这种方法计算量比较大,并且检测区域的重复率也不如其他检测算法.
1.2.2特征视觉法
基于特征视觉的三维重建技术其实就是通过相机获取二维图像,然后提取图像中的角点作为特征点,以双目立体视觉理论为基础,利用匹配算法,获得特征点匹配对,再通过三角测量原理获取深度值,从而获得物体表面的三维模型.这种方法的优点是很好地解决了立体匹配的精度和速度,从而能够较精确地对物体实现三维重建.
1988年,Harris等首先提出具有旋转不变特性的角点检测算法,这种算法是对Moravec
提出的检测算法的改进.由于该算法在结果检测中存在许多的误检测点,为此Schmid等和Weijer等又在该算法的基础上进行了改进,减少了误检测点的数量.与此同时,为了适应图像分辨率的变化,2004年,Mikolajczyk等又在算法的基础上加入了尺度参数,将Harris角点算法扩展为Harris—Laplace算法,这种算法具有尺度不变性.在此基础上又提出了具有仿射不变的Harris—Affine算法.这种算法的优点是在较大的仿射变形情况下仍能保持不变性。
为了使角点的检测效率更高,速度更快,1997年,Smith等提出SUSAN(SmaUest univalue
segment assimilating nucleus)角点检测算法。随后,Lindeberg等[133_134]提出了一种基于尺度归一化微分算子的检测方法,这种方法的优点是对于提取的特征点的尺度和形状使其能够满足仿射不变性.Baumberg提出了一种新的迭代算法用来调整特征点的形状,使其能够满足图像的局部结构。Lowe最先提出了SIFT算子,该算子具有旋转不变性、尺度不变性以及光照不变性等优点,是目前最稳定的特征算子,但是,它的缺点也很明显,运算复杂,处理速度慢.2004年,Ke等在传统的SIFT特征算子的基础上,提出了基于主成分分析(Principal component analysis,PCA)的SIFT特征描述算子方法,该方法降低了特征描述子的维度,提高了匹配的精度.2006年,Ba.y等提出了SURF算法,这个算法是SIFT算子的一种改进,解决了SIFT算子计算速度慢的缺点.2014年,葛盼盼等在研究Harris算法和SURF算法各自的 特点后,提出了Harris-SURF算法,这种方法结合了Harris算法定位精度高以及SURF算法的旋转不变性、尺度不变性以及光照不变性等两者的优势,提高了三维重建的精度,使重建的效果更好.

1.3根据应用方法分类
基于被动视觉的三维重建技术根据所选取方法不同,所重建的效果有明显差别,但每种方法都有不同的优点和缺点.因此,根据应用方法可以分为运动恢复结构法和机器学习法.
1.3.1运动恢复结构法
如果获取的图像是从多个视点捕获的多张图像,可以通过匹配算法获得图像中相同像素点的对应关系,再利用匹配约束关系,结合三角测量原理,获得空间点的三维坐标信息,进而重建出物体的三维模型.这个过程被称为运动恢复结构法,即SfM (Structure from motion).
运动恢复结构法是通过三角测量原理来恢复场景的三维结构.这种方法不仅是三维重建的一种重要手段,而且也是一种结构测量的方法,能够广泛地应用在测绘、军事侦查等领域.目前SfM主要分为两类:增量式SfM(Incremental structure from motion)和全局式SfM(Global structure from motionl).
增量式SfM是最早提出的SfM方法,首先通过相机获取多幅图像,选取其中一对作为“种子”,其次求解出相机参数并恢复部分三维点,再次加入相关图像进行重加,最后使用BA(Bundle adjustment)进行优化,从而实现对图像重建的过程.
全局式SFM首先使用旋转一致性求解相机全局旋转,然后计算相机的位移,最后通过BA(Bundle adjustment)进行优化提升重建质量.全局式是由Sturm在1996 年提出的.随后,在2011年,Crandall等提出了一种基于马尔科夫随机场的全局式方法.同年,Irschara等引入GPS坐标作为相机坐标,并使用全局式SfM进行三维重建.2015年,Cui等在Crandall等人提出的方法基础上提出了一种全新的全局式SfM理论,主要通过辅助信息对求解过程进行优化,使其具备处理多种数据的能力.
目前,运动恢复结构法主要有因子分解法和多视图几何法两种.
1)因子分解法
因子分解法是Tomasi等在1992年最早提出的.该方法主要是把摄像机近似为正摄投影模型,再通过奇异值分解SVD(Singular value decomposition)对获取的观测矩阵进行处理,从而获得结构矩阵和运动矩阵.但是,这种方法的不足是忽略了大部分相机的真实投影模型.Poelman等将因子分解法扩展到弱透视投影和平行透视投影模型中,但得到的效果仍不是很好。Triggs又进一步将因子分解法推广到一般的透视投影模型中,这种模型需要首先恢复射影的深度,然后再通过因子分解法恢复其结构,该模型得到的效果要比以前研究者所使用的方法进步了很多,但其精度仍不是很高.然而,Han等于2001年提出了在透视投影模型下考虑相机投影矩阵约束的因子分解法,该方法取得了不错的效果。
因子分解法的优点是简便灵活,对周围的环境并没有什么特别的要求,也不依赖于任何一种具体的模型,抗噪能力相对来说也比较强,唯一的缺点就是精度不高。
2)多视图几何法
基于多视图几何的三维重建在计算机视觉领域中一直都是最热门的研究问题之一.多视图几何法是描述同一场景从不同视角下获取的多幅图像与物体之间投影关系的几何模型,该方法主要应用于单相机多视角的三维重建中。
通常多视图几何法主要包括以下4个步骤:
1)特征提取与匹配
特征提取与匹配首先利用局部不变性对图像特征信息进行检测,然后再用描述算子来提取特征点,最后对同一场景中表示同一空间位置的特征点进行匹配,从而计算出正确的匹配特征点对.特征提取与匹配是计算机视觉的研究基础,而图像特征信息匹配的质量在三维环境重建过程中也起着十分重要的作用,被广泛应用于图像检索、图像拼接、目标识别与跟踪及三维重建等领域.
2)多视图几何约束关系计算
多视图几何约束关系计算就是通过对极几何将几何约束关系转换为基础矩阵的模型参数估计的过程.1981年,Longuet—HigginsIl55J最早提出多视图间的几何约束关系,这种关系在欧氏几何中可以用本质矩阵表示.1990年,Faugeras等【156】详细研究了本质矩阵的性质.1993年,Luong等【157】提出了解决两幅图像之间几何关系的基础矩阵,并阐
述了对极几何在射影空间下的基本性质.1996年,Luong等【15剐将基础矩阵的概念进行推广,开启了多视图几何学的新篇章.
3)优化估计结果
当得到初始重建结果后,为了均匀化误差和获得更精确的结果,通常需要对初始结果进行非线性优化.在SfM中对误差应用最精确的非线性优化方法就是捆绑调整法,该方法是大规模三维重建中最为关键的一步,也是SfM的核心问题,它主要利用代价函数对多台相机模型的内外参数以及获取的三维点云数据同时进行优化调整。
2009年,Lourakis等1160J提出了稀疏捆绑调整法(Sparse bundle adjustment,SBA),它利用增量标准方程的稀疏结构来提高解方程的效率.然而,随着获取的三维点云数量的增加,捆绑调整方法需要大量的计算时间,为了解决这种问题,Choudhary等结合CPU和GPU加速运算的方式使用在 BA算法上,这种方法有利于加速捆绑调整。2012年,Hu等对大规模三维点云的优化进行了捆绑调整改进,可以在SfM中使用高分辨率图像,以及进行稠密三维重建。目前,捆绑调整法已经成为基于特征的多视图三维重建、结构和运动估计算法最后必须采用的步骤.
4)稠密场景描述
多视图几何法经过射影重建和度量重建后会生成一个稀疏的三维结构模型,这种稀疏的三维结构模型已经可以应用于要求精度不高的场景,但其不具有可视化效果.因此,为了获得应用范围更广的三维模型,要进行表面稠密估计,恢复稠密的三维点云结构模型.

1.3.2机器学习法
机器学习其实就是使机器具有学习的能力,从而不断获得新知识以及新技能得到有效提升.机器学习在三维环境重建中一直是重点研究对象,因此,根据机器学习可以分为常用的三种方法,分别是统计学习法、神经网络法和深度学习与语义法.
1)统计学习法
统计学习法就是需要通过不断地学习再学习的过程.该方法是以大型数据库为基础,例如,人脸数据库、场景数据库等.首先,这种方法需要对数据库中的每一个目标进行特征统计,这些特征主要包括亮度、纹理、几何形状、深度等,然后,再对重建目标的各种特征建立概率函数,最后,计算重建目标与数据库中相似目标的概率大小,取概率最大的目标深度为重建目标的深度,再使用差值计算和纹理映射进行目标的三维重建.目前,常用的概率
模型有马尔科夫模型(Markov model,MM)、隐马尔科夫模型(Hidden Markov model,HMMs)
和PHMMs模型(Pseudo 2D hidden Markov models)等.统计学习法可以对大型场景、人
脸及人体进行重建,并可以应用到视频检索和识别系统等其他领域.
2)神经网络法
基于神经网络法的三维重建是利用神经网络具有较好的泛函逼近能力,能够以任意的精度逼近任何非线性关系的优点来进行三维重建.如,Do 等提出了两种利用神经网络进行三维重建的方法.第一种方法是首先通过线性关系进行三维重建,然后再使用神经网络的优点来拟合重建的误差,从而提高三维重建的精度.第二种方法是先利用神经网络拟合图像的像差,从而获得理想的像点,然后再利用线性关系进行三维重建.不足的是这两种方法进行三维重建的过程比较复杂,需要进行相机的标定,来获取相机的参数.为了使三维重建的过程简
单,而且更能符合人的双眼认知机理,袁野等提出了一种基于BP网络的三维重建算法。
3)深度学习与语义法
基于深度学习的三维重建最近几年取得了非常大进展,是当前计算机视觉领域比较流行的方法之一.学习系统是由多层卷积层和多层全连接层组成的卷积神经网络(CNN)进行学习图像的层次化特征表示,这种方法能够精确地重建出物体的几何形状.与传统的三维重建相比较,基于深度学习的三维重建技术不需要进行特征提取与匹配以及复杂的几何运算,使用深度学习的方法更加方便,使得实时性进一步提高。
基于语义的三维重建可以运用在移动的行人或车辆等大的场景,这种方法能够精确地对环境中的目标物体进行识别,而深度学习技术也是最近几年刚刚兴起的比较有优势的识别方法,因此,深度学习和语义相结合的三维重建是未来几年的研究趋势,也会受到该领域的研究者们广泛关注。
2015年,Savinov等提出了一个稠密的语义三维重建方法。2016年,Blaha等提出了一个自适应多分辨率的语义三维重建方法.该方法的目的是在给定一组场景图像中进行3D场景稠密重建,并分割成语义目标类.随后,Sunderhauf等提出了面向对象的语义建图方法,该方法的主要目的是构建环境的3D点云地图,然后再通过卷积神经网络对关键帧图像中的物体进行识别检测,最后对3D目标物体进行点云分割,从而在地图中更新或添加目标物体的3D点云等信息。
在这里插入图片描述

2.总结
被动视觉中的双目视觉方法能够较好地获取重建效果,但是,必须要满足基线的范围才能重建出更好的效果.被动视觉中的多目视觉方法视野范围大,识别精度较高,重建效果稳定,适应性较强,能够应用在各种场景中,不足的是设备复杂,价格昂贵,计算量较大,控制上难以实现.运动恢复结构法对图像的要求较低,通用性非常好,鲁棒性较强,一般来说其重建效果依赖于特征点的密集程度,特征点越密集重建效果就越好,但相应的运算量也大大增加.统计学习法重建质量和效率都非常高,但其适用范围较窄,重建效果取决于数据库的完备程度,数据库越完备重建越精确.其他视觉中的区域视觉法计算简单,匹配精度较高,但是,对图像的要求较高,受光线的干扰较大.其他视觉中的特征视觉法抗干扰能力强,鲁棒性较高,应用范围广,但是,不能够对图像信息进行全面描述.其他视觉中的神经网络法重建效果较好,具有很强的鲁棒性,应用范围较广,不足的是,在重构之前需要进行训练,收敛速度较慢,运算量较大.另一方面,三维重建技术方法要求的功能也更加具体化,不仅要能精确地重建出物体的形状,还要能够对物体的形状进行辨识,尤其是能够对智能车重建出的前方环境中的动态目标进行判别.同时,在人工智能、机器人技术、无人驾驶等领域中,三维重建已成为不可或缺内容。
从目前基于视觉的三维重建关键技术的发展状况来看,以下几个方面的工作值得关注:
1)目前基于单目视觉的三维重建的应用环境非常广泛,然而大多数是以静态室内环境为主.应用于室外单目视觉的三维重建研究相对比较少,因此,对于动态的室外大规模三维场景重建,包括城市建设等是一个重要的研究方向.
2)更高效地将视觉传感器获取的三维信息与其他多传感器信息进行融合,可以应用到智能车的环境感知系统,提高智能车周围环境的识别能力,这也是一个非常有价值的研究方向。
3)基于视觉的三维重建主要是由视觉特征的检测与匹配完成的,然而,目前的视觉特征匹配还存在着许多缺点,例如匹配精度比较低、速度慢以及无法适应重复的纹理等问题.因此,还需要更深一步的研究来发掘新的视觉特征检测与匹配方法,从而满足基于视觉的三维重建在复杂环境中的应用.
4)传统三维重建方法针对的基本都是刚性物体,对于非刚性物体(如液态物体、火焰)和动态物体等的重建问题一直无法较好的实现,因此这也是未来的一个研究热点。
5)三维重建在医学上的应用也具有巨大的研究价值,是未来相关领域的一个研究方向。
6)基于视觉的三维重建技术研究和应用已从传统的工业领域快速扩展到其他领域,如医疗康复、外星探索等,这些领域也是未来发展的新方向.
由于三维重建中的方法各有缺点,因此在重建方法上需要改进的地方有如下几点:
1)计算量过大,比较消耗资源;2)抗干扰性不强,易受到各种外在条件的影响;3)对光线的要求比较高,太过于理想化,不符合实际的要求.又由于各种方法离实际应用还有一段距离,各种应用需求亟待被满足.也正因为如此,越来越多的研究人员进入该领域并积极推动 其发展.总而言之,在未来的工作中,将在现有工作基础上,重点需要在信息融合、虚拟现实、多机协作系统、室外动态环境的三维实时重建算法等方面开展进一步的研究,相信三维重建的发展一定能够促进其该领域的发展。

猜你喜欢

转载自blog.csdn.net/qq_39381856/article/details/109865420