精华内容
下载资源
问答
  • 多目视觉
    千次阅读 多人点赞
    2020-11-20 21:22:15

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

    三维重建经过数十年的发展,已经取得巨大的成功.基于视觉的三维重建在计算机领域是一个重要的研究内容,主要通过使用相关仪器来获取物体的二维图像数据信息,然后,再对获取的数据信息进行分析处理,最后,利用三维重建的相关理论重建出真实环境中物体表面的轮廓信息.基于视觉的三维重建具有速度快、实时性好等优点,能够广泛应用于人工智能、机器人、无人驾驶、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等提出了一种基于尺度归一化微分算子的检测方法,这种方法的优点是对于提取的特征点的尺度和形状使其能够满足仿射不变性.Baumberg提出了一种新的迭代算法用来调整特征点的形状,使其能够满足图像的局部结构。Lowe最先提出了SIFT算子,该算子具有旋转不变性、尺度不变性以及光照不变性等优点,是目前最稳定的特征算子,但是,它的缺点也很明显,运算复杂,处理速度慢.2004年,Ke等在传统的SIFT特征算子的基础上,提出了基于主成分分析(Principal component analysis,PCA)的SIFT特征描述算子方法,该方法降低了特征描述子的维度,提高了匹配的精度.2006年,Bay等提出了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—HigginsIl最早提出多视图间的几何约束关系,这种关系在欧氏几何中可以用本质矩阵表示.1990年,Faugeras等详细研究了本质矩阵的性质.1993年,Luong等提出了解决两幅图像之间几何关系的基础矩阵,并阐 述了对极几何在射影空间下的基本性质.1996年,Luong等将基础矩阵的概念进行推广,开启了多视图几何学的新篇章.
    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)对光线的要求比较高,太过于理想化,不符合实际的要求.又由于各种方法离实际应用还有一段距离,各种应用需求亟待被满足.也正因为如此,越来越多的研究人员进入该领域并积极推动 其发展.总而言之,在未来的工作中,将在现有工作基础上,重点需要在信息融合、虚拟现实、多机协作系统、室外动态环境的三维实时重建算法等方面开展进一步的研究,相信三维重建的发展一定能够促进其该领域的发展。

    参考文献:
    1 .Shen S H. Accurate multiple view 3D reconstruction using patch-based stereo for large-scale scenes. IEEE Transactions on Image Processing, 2013, 22(5): 1901−1914
    2 .Qu Y F, Huang J Y, Zhang X. Rapid 3D reconstruction for image sequence acquired from UAV camera. Sensors, 2018,18(1): 225−244
    3 .Lee D Y, Park S A, Lee S J, Kim T H, Heang S, Lee J H,et al. Segmental tracheal reconstruction by 3D-printed scaffold: Pivotal role of asymmetrically porous membrane. The Laryngoscope, 2016, 126(9): E304−E309
    4. Roberts L G. Machine Perception of Three-Dimensional Solids [Ph. D. dissertation], Massachusetts Institute of Technology, USA, 1963
    5 .Kiyasu S, Hoshino H, Yano K, Fujimura S. Measurement of the 3-D shape of specular polyhedrons using an m-array coded light source. IEEE Transactions on Instrumentation and Measurement, 1995, 44(3): 775−778
    6. Snavely N, Seitz S M, Szeliski R. Photo tourism: exploring photo collections in 3D. ACM Transactions on Graphics,2006, 25(3): 835−846
    7 Pollefeys M, Nist´er D, Frahm J M, Akbarzadeh A, Mordohai P, Clipp B, et al. Detailed real-time urban 3D reconstruction from video. International Journal of Computer Vision,2008, 78(2−3): 143−167
    8 .Furukawa Y, Ponce J. Carved visual hulls for image-based modeling. International Journal of Computer Vision, 2009,81(1): 53−679 Han J G, Shao L, Xu D, Shotton J. Enhanced computer
    vision with Microsoft Kinect sensor: a review. IEEE Transactions on Cybernetics, 2013, 43(5): 1318−1334
    10 .Ondr´uˇska P, Kohli P, Izadi S. Mobilefusion: real-time volumetric surface reconstruction and dense tracking on mobile phones. IEEE Transactions on Visualization and Computer Graphics, 2015, 21(11): 1251−1258
    11. Li Li, Ma Song-De. On the global quadric shape from contour. Chinese Journal of Computers, 1996, 19(6): 401−408(李利, 马颂德. 从二维轮廓线重构三维二次曲面形状. 计算机学报,1996, 19(6): 401−408)
    12 .Zhong Y D, Zhang H F. Control points based semi-dense matching. In: Proceedings of the 5th Asian Conference on Computer Vision. Melbourne, Australia: ACCV, 2002.23−25
    13. Lei Cheng, Hu Zhan-Yi, Wu Fu-Chao, Tsui H T. A novel camera self-calibration technique based on the Kruppa equations. Chinese Journal of Computers, 2003, 26(5): 587−597(雷成, 胡占义, 吴福朝, Tsui H T. 一种新的基于 Kruppa 方程的 摄像机自标定方法. 计算机学报, 2003, 26(5): 587−597)
    14. Lei Cheng, Wu Fu-Chao, Hu Zhan-Yi. A new camera self calibration method based on active vision system. Chinese Journal of Computer, 2000, 23(11): 1130−1139(雷成, 吴福朝, 胡占义. 一种新的基于主动视觉系统的摄像机自标 定方法. 计算机学报, 2000, 23(11): 1130−1139)
    15.Zhang Tao. 3D Reconstruction Based Monocular Vision [Master thesis], Xidian University, China, 2014(张涛. 基于单目视觉的三维重建 [硕士学位论文], 西安电子科技大 学, 中国, 2014)
    16. Ebrahimnezhad H, Ghassemian H. Robust motion from space curves and 3D reconstruction from multiviews using perpendicular double stereo rigs. Image and Vision Computing, 2008, 26(10): 1397−1420
    17 Hartley R, Zisserman A. Multiple View Geometry in Computer Vision. New York: Cambridge University Press, 2003
    18 .V´arady T, Martin R R, Cox J. Reverse engineering of geometric models an introduction. Computer-Aided Design,1997, 29(4): 255−268
    19. Isgro F, Odone F, Verri A. An open system for 3D data acquisition from multiple sensor. In: Proceedings of the 7th International Workshop on Computer Architecture for Machine Perception. Palermo, Italy: IEEE, 2005. 52−57
    20.Williams C G, Edwards M A, Colley A L, Macpherson J V,Unwin P R. Scanning micropipet contact method for highresolution imaging of electrode surface redox activity. Analytical Chemistry, 2009, 81(7): 2486−2495
    21 .Kraus K, Pfeifer N. Determination of terrain models in wooded areas with airborne laser scanner data. ISPRS Journal of Photogrammetry and Remote Sensing, 1998, 53(4):193−203
    22. G¨obel W, Kampa B M, Helmchen F. Imaging cellular network dynamics in three dimensions using fast 3D laser scanning. Nature Methods, 2007, 4(1): 73−79
    23 .Rocchini C, Cignoni P, Montani C, Pingi P, Scopigno R. A low cost 3D scanner based on structured light. Computer Graphics Forum, 2001, 20(3): 299−308
    24. Al-Najdawi N, Bez H E, Singhai J, Edirisinghe E A. A survey of cast shadow detection algorithms. Pattern Recognition Letters, 2012, 33(6): 752−764
    25. Park J, Kim H, Tai Y W, Brown M S, Kweon I. High quality depth map upsampling for 3d-tof cameras. In: Proceedings of the 2011 International Conference on Computer Vision.Barcelona, Spain: IEEE, 2011. 1623−1630
    26. Schwarz B. LIDAR: mapping the world in 3D. Nature Photonics, 2010, 4(7): 429−430
    27 .Khoshelham K, Elberink S O. Accuracy and resolution of kinect depth data for indoor mapping applications. Sensors,2012, 12(2): 1437−1454
    28 Yang Yao-Quan, Shi Ren, Yu Xi-Ning, Gao Tang-Nian.Laser scanning triangulation for large profile measurement.Journal of Xi0an Jiaotong University, 1999, 33(7): 15−18
    (杨耀权, 施仁, 于希宁, 高镗年. 激光扫描三角法大型曲面测量中影 响参数分析. 西安交通大学学报, 1999, 33(7): 15−18)
    29 Boehler W, Vicent M B, Marbs A. Investigating laser scanner accuracy. The International Archives of Photogrammetry, Remote Sensing and Spatial Information Sciences, 2003,34(5): 696−701
    30 Reshetyuk Y. Investigation and Calibration of Pulsed Time of-Flight Terrestrial Laser Scanners [Master dissertation],Royal Institute of Technology, Switzerland, 2006. 14−17
    31 Voisin S, Foufou S, Truchetet F, Page D L, Abidi M A.
    Study of ambient light influence for three-dimensional scanners based on structured light. Optical Engineering, 2007,46(3): Article No. 030502
    32 Scharstein D, Szeliski R. High-accuracy stereo depth maps using structured light. In: Proceedings of the 2003 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Madison, WI, USA: IEEE, 2003. I-195−I-202
    33 Chen F, Brown G M, Song M M. Overview of 3-D shape measurement using optical methods. Optical Engineering,2000, 39(1): 10−22
    34 Pollefeys M, Van Gool L. Stratified self-calibration with the modulus constraint. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1999, 21(8): 707−724
    35 O0Toole M, Mather J, Kutulakos K N. 3D shape and indirect appearance by structured light transport. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2016,38(7): 1298−1312
    36 Song Z, Chung R. Determining both surface position and orientation in structured-light-based sensing. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2010,32(10): 1770−1780
    37 Kowarschik R, Kuehmstedt P, Gerber J, Schreiber W, Notni G. Adaptive optical 3-D-measurement with structured light.Optical Engineering, 2000, 39(1): 150−158
    38 Shakhnarovich G, Viola P A, Moghaddam B. A unified learning framework for real time face detection and classification. In: Proceedings of the 5th IEEE International Conference on Automatic Face Gesture Recognition. Washington, USA: IEEE, 2002. 14−21

    更多相关内容
  • #资源达人分享计划#
  • 云计算-基于多目视觉的适境计算研究.pdf
  • 云计算-基于多目视觉的适境计算的理论研究及实现方法.pdf
  • 计算机视觉、人工智能 视觉的研究过程:感知、认知、和控制 车载摄像头的要求: 看得远:提供了更充足的反应时间,直接提升了安全性。需要长焦距(D大,欲保持其他地方不变,就需要F增大),但是焦距增加会导致视角...

    计算机视觉、人工智能 视觉的研究过程:感知、认知、和控制

    车载摄像头的要求:
    看得远:提供了更充足的反应时间,直接提升了安全性。需要长焦距(D大,欲保持其他地方不变,就需要F增大),但是焦距增加会导致视角变窄(当F增大,那么W就会减小)
    质量高:为了识别的准确率。要求成像效果

    相机坐标系

    相机坐标系是以相机的聚焦中心为原点,以光轴为Z轴建立的三维直角坐标系。
    相机坐标系(观察坐标系)相机坐标系的原点为相机的光心,x轴与y轴与图像的X,Y轴平行,z轴为相机光轴,它与图形平面垂直。光轴与图像平面的交点,即为图像坐标系的原点,图像坐标系为二维直角坐标系。

    xy平面和之前平面直角坐标系的表述一致
    z 轴与光轴重合
    在这里插入图片描述

    单目摄像头:

    识别目标 — 测距
    需要大量的数据,并且不断更新和维护

    应用于自动驾驶的路况判断

    双目摄像头:

    通过两幅图像的视差计算来确定距离,类似人的双眼,不需要知道障碍物是什么。
    靠计算来进行测距,最大的难点在于计算量巨大

    单目测距原理

    焦距: F = ( P × D ) / W F = (P \times D ) / W F=(P×D)/W
    在这里插入图片描述

    单目视觉

    参考链接
    单目视觉获得的图像本质上是2D的,结合相机的成像模型(初中物理,小孔成像)j就可以获知距离了,前提是你知道物体的真实大小。

    在这里插入图片描述

    测距

    case 1: 物体在摄像机的正前方(光轴上),即相机坐标系的y轴上。

    f D = h H \frac{f}{D} = \frac{h}{H} Df=Hh
    其中,
    f 为焦距(相机的内参数,一旦相机确定了,这个数值基本就是确定了)、
    h是在相平面内的成像高度
    D为物体到相机的距离
    H为物体的实际高度(可以获取)

    D为所求量,那么h的获知就成为了关键,是通过摄像机内部的感知元件作用后保留下来的

    若知道,每一个感知原件的物理尺寸 δ \delta δ和像中包含的感知原件的个数 n n n,那么就能够得知像的高度 h = n ∗ δ h = n * \delta h=nδ

    则, f D = n ⋅ δ H \frac{f}{D} = \frac{n \cdot \delta}{ H } Df=Hnδ D = f ⋅ H n ⋅ δ D = \frac{f \cdot H}{n \cdot \delta} D=nδfH

    case 2: 物体在摄像机坐标系的xy平面上有偏移(在x轴上有值)

    光心
    在这里插入图片描述
    那么物体成像并不是在图像的中间部分,而会在中间偏左或者偏右的位置,存在一个水平方向的夹角 α \alpha α,此时光心到像平面中心的距离与光心到物体的距离满足 case 1 的模型, 即有:
    D ′ = f ′ ⋅ H n ⋅ δ D^{'} = \frac{f^{'} \cdot H}{n \cdot \delta} D=nδfH f ′ = f 2 + l 2 f^{'} = \sqrt{f^2 + l^2} f=f2+l2 l = n x ⋅ δ l = n_{x} \cdot \delta l=nxδ

    α = a r c t a n ( l f ) \alpha = arctan(\frac{l}{f}) α=arctan(fl)

    其中 f ′ f^{'} f 表示焦距, D ′ D^{'} D 表示光心到物体中心的距离, l l l表示像中到图像中心的水平偏移距离, n x n_{x} nx 表示水平偏移的像素个数

    在这里插入图片描述

    此时,可以得到 物体到摄像机的距离为:
    D = D ′ ⋅ c o s α = H ⋅ f 2 + ( n x ⋅ δ ) 2 n ⋅ δ ⋅ f f 2 + ( n x ⋅ δ ) 2 = H ⋅ f n ⋅ δ D = D^{'} \cdot cos\alpha = \frac{H \cdot \sqrt{f^{2} + (n_{x} \cdot \delta)^2}}{n \cdot \delta} \cdot \frac{f}{ \sqrt{f^{2} + (n_{x} \cdot \delta)^2}} = \frac{H \cdot f}{n \cdot \delta} D=Dcosα=nδHf2+(nxδ)2 f2+(nxδ)2 f=nδHf

    case 3: 当物体在Z轴上有移动时,即在光轴上下移动

    可以猜想,计算公式也和前两个case相同。

    测物体大小

    若知道了物体到摄像机的距离, 那么其实可以推导出物体的一些尺寸
    H = n ⋅ δ ⋅ d f H = \frac{n \cdot \delta \cdot d}{f} H=fnδd

    双目视觉

    人眼观察世界通过两个视角来形成对空间的基本认知。模仿人眼的原理,可以使用多个摄像机同时采集同一空间中的图像,然后通过一定的算法来实现对三维空间的重建。这就是典型的双目视觉(stereo-vision)问题。

    展开全文
  • 单目和多目视觉统一标定

    千次阅读 2020-06-15 09:56:33
    单目和多目视觉统一标定 一.单目视觉标定 在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数...

    单目和多目视觉统一标定

    一.单目视觉标定

    在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定(或摄像机标定)。无论是在图像测量或者机器视觉应用中,相机参数的标定都是非常关键的环节,其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性。因此,做好相机标定是做好后续工作的前提,提高标定精度是科研工作的重点所在。

    相机标定方法有:传统相机标定法、主动视觉相机标定方法、相机自标定法。

    世界坐标系是系统的绝对坐标系,在没有建立用户坐标系之前画面上所有点的坐标都是以该坐标系的原点来确定各自的位置的。

    一般也定义到第一台相机的相机坐标系上。原点位于相机光心处。那么,这台相机的投影矩阵P=[ I|0]。也就是,这台相机在世界坐标系中没有进行平移和旋转。这样其他相机的位置就可以以第一台相机定义出来的世界坐标系为参考进行旋转和平移了。这样做的目的是为了计算起来简单。当然也可以不用这样构建世界坐标系。但是计算出来会复杂些。

    机器视觉就是用机器代替人眼来做测量和判断。

    机器视觉系统是指通过机器视觉产品将被摄取目标转换成图像信号,传送给专用的图像处理系统,得到被摄目标的形态信息,根据像素分布和亮度、颜色等信息,转变成数字化信号;图像系统对这些信号进行各种运算来抽取目标的特征,进而根据判别的结果来控制现场的设备动作。

    摄像头分为CCD、和CMOS两种。

    计算机视觉领域中常见的四个坐标系:像素坐标系、图像坐标系,相机坐标系,世界坐标系。

    1. 像素坐标系:

    如下图所示:像素坐标系u-v的原点为O0,

    横坐标u和纵坐标v分别是图像所在的行和列,

    在视觉处理库OpenCV中,u对应x,v对应y;
    在这里插入图片描述
    2. 图像坐标系:

    图像坐标系x-y的原点是O1,为像素坐标系的中点,

    如图所示:

    假设(u0,v0)代表O1在u-v坐标系下的坐标,dx和dy分别表示每个像素在横轴x和纵轴y的物理尺寸;

    则图像坐标系和像素坐标系的关系如下:
    在这里插入图片描述
    在这里插入图片描述
    3. 假设物理坐标系中的单位为毫米,那么dx的单位为毫米/像素。

    那么x/dx的单位就是像素了,

    即和u的单位一样。

    为了方便,

    将上式写成矩阵形式:
    在这里插入图片描述
    4. 相机坐标系:

    如图所示:

    O为摄像机光心,

    Zc为摄像机的光轴,和图像平面垂直;

    OO1为摄像机焦距;
    在这里插入图片描述
    5. 相机坐标系与图像坐标系的关系:

    如图所示:
    在这里插入图片描述
    6. 世界坐标系:

    世界坐标系是为了描述相机的位置而被引入的,

    任何维的旋转可以表示为坐标向量与合适的方阵的乘积。

    平移向量是第一个坐标原点与第二个坐标原点的偏移量;

    在世界坐标系下,有两个重要的参数:

    旋转矩阵R和平移向量T
    在这里插入图片描述
    在这里插入图片描述
    二.多目视觉标定:相机间无重叠部分,介绍两种典型方法

    随着机器视觉应用的日益广泛,大幅面多相机视觉系统的需求越来越多,主要应用方向为大幅面高精度的定位与测量和场景拼接等。

    多相机视觉系统的难点在于多相机坐标系的统一。 可以分为两类,一是相机视野间无重叠部分,二是相机视野间有重叠部分。

    相机间无重叠部分的情况主要用于大幅面多相机高精度的定位和测量,相机间有重叠部分的情况主要用于场景的拼接等。

    1. 使用大标定板统一坐标

    方案简介:

    此方法采用一块大标定板来统一各个相机的坐标,每个大标定板中有若干小标定板,各个小标定板间的位置关系都是已知的,各个相机都能拍摄到一个小标定板。通过各个小标定板可以标定每个相机的内部参数和外部参数,每个相机的坐标都可以转换到各个小标定板的坐标系上,从而统一各个相机的坐标。系统结构:
    在这里插入图片描述
    相机在各个位置拍摄Mark图像,通过图像处理方法得到Mark坐标

    常用的标定板形式:
    在这里插入图片描述
    上图所示为单个标定板图像,大标定板由若干单个标定板组成,标定板的大小和数量根据实际测量情况而定。

    多个标定板组合示意图:
    在这里插入图片描述
    案例分析:

    (1) 检测目标分析

    测量产品需要若干个测量指标。如下图所示。
    在这里插入图片描述
    (2)图像获取 采用4只相机来完成所有项目的测量,分别拍到的照片如下图所示。
    在这里插入图片描述
    (3)检测流程

    先分别利用每张图的两条垂直边计算出它们的交点,那么得到的4个交点就可以算出L1和L2的值,如下图所示(以右下角相机为例)。
    在这里插入图片描述
    注意事项: 此种方法需要将多只相机的坐标统一到一个坐标系中,并且单一相机还要做自己的校准,保证精度。根据检测要求,设置取多少个点作为参考,但是这影响测试的时间,需酌情考虑。

    应用领域: 手机和平板电脑面板尺寸的检测。

    1. 使用相对运动统一坐标

    方案简介: 此方法采用相机和被测物之间的相对运动来统一相机的坐标,相机和被测物只要一方运动即可,记录各个位置的坐标,然后通过数学运算来统一坐标。通常情况下是相机位置固定,被测物通过机械手等运动装置进行移动,然后把相机坐标系统一到机械手等运动装置的原点。
    总体结构:
    在这里插入图片描述
    方法介绍: 通过相机拍摄的图像对Mark点进行定位,从而计算出被测物相对于标准位置的偏差,包含角度偏差和位移偏差,最终确定机械装置需要旋转的角度和平移的距离。选用手机触摸屏和手机外壳的定位系统来介绍算法原理。
    手机触摸屏和手机外壳的定位系统,使用多支相机代替一支相机的方法进行定位,使手机触摸屏和手机外壳精确组装。相机分为两组,每组两支相机,一组拍摄手机外壳(组1),一组拍摄触摸屏(组2),两组相机标定方法相同,下面只介绍拍摄手机外壳的两支相机的标定。相机固定,机械手吸住手机外壳移动,两支相机分别拍摄手机外壳的两个定位孔,使用模板匹配的方法对两个定位孔进行识别,如下图所示:
    在这里插入图片描述
    (1) 通过机械手的移动获取标定所用坐标 (三点线性标定法)

    组1相机1:

    把Mark点移动到相机视野中,定相机的初始位置,得到初始Mark点的中心坐标Point11(cRow11, cColumn11),机械手沿X方向移动一定距离(5mm)后得到Mark点的中心坐标Point12(cRow12, cColumn12),机械手沿Y方向移动一定距离(6mm)后得到Mark点的中心坐标Point13(cRow13,cColumn13),同时可以得到在上述三个位置机械手的空间坐标Robot11(X1[0],Y1[0])、Robot12(X1[1],Y1[1])、Robot13(X1[2],Y1[2])。组1相机2:

    同上,把相同Mark点移动到相机视野中,通过相同的操作得到坐标:Point21 (cRow21,cColumn21)、Point22 (cRow22, cColumn22)、Point23 (cRow23, cColumn23)、Robot21(X2[0],Y2[0])、Robot22(X2[1],Y2[1])、Robot23(X2[2],Y2[2])。
    (2) 图像距离和实际距离之间转换比例关系的确定:

    通过数学运算可计算得到比例关系。

    (3) 旋转中心的确定

    依据三个点就可以确定一个圆的原理,让机械手在初始位置旋转三次,得到Robot31,Robot32和Robot33三个相对于机械手坐标系的坐标点,三个点的坐标就可以求出旋转圆心的坐标。

    (4) 标准线斜率求取:

    需要在两个相机的视野中各选取一点作为标准线的起始点和终点,然后求取此标准线在机械手坐标系中的斜率。调整机械手到合适位置,确定此处为标准位置,此时组1的两支相机分别拍摄初始位置的两个不同的Mark点的图像。通过模板匹配方法找到两个相机初始位置视野中两个Mark点的中心坐标Point10(Row10,Column10)和Point20(Row20,Column20),Point10和Point20确定为标准线的起始点和终点。求取Point10在机械手中的坐标如下图所示,下图中XOY是机械手坐标系,X1O1Y1是组1相机1的图像坐标。
    在这里插入图片描述
    通过点到直线的距离运算可以得到d14,d15和d16的实际长度,由于在移动过程中使用的是同一个mark点,d1,d2,d3在相机1和相机2的视野中的值是一样的。从而可以得到Point10在机械手坐标系中的实际坐标为: Point10X=X1[1]+d16+d2,Point10Y=Y1[1]+(d1-d15)。 同样可以得到Point20在机械手坐标系中的实际坐标:

    Point20X=X2[1]+d26+d2,Point20Y=Y2[1]+(d1-d25)。

    求取该标准线斜率;

    K = (Point20Y-Point10Y) / (Ponit20X-Point20X)

    = (Y2[1]-Y1[1]-d25+d15) / (X2[1]-X1[1]+d26-d16)

    之后在每次定位时需要和此标准线的斜率进行比较,从而得到和标准线的夹角,最后进行旋转校正。

    注意:由于Point10和Point20会落在不同的位置,在计算Point10和Point20的实际坐标时上述公式会有所变化,但原理相同。

    定位校准 以后在每次进行检测时,得到的结果都和标准线进行比较,可以得到和标准线的夹角和相对于标准位置的位置偏差,根据得到的角度和位置偏差进行校正。在校正过程中需要先旋转后平移,做一个闭环反馈系统实时校正。

    应用领域: 手机或平板电脑触摸屏和外壳的装配定位。
    在这里插入图片描述
    ============================

    三.多目视觉标定:相机间有重叠部分,介绍两种典型方法。

    1. 标定方法拼接图像

    方案简介:

    对于有些大幅面物体 ,可以通过拍摄多幅图像,每幅图像覆盖物体的不同的部分。如果摄像机经过标定并且它们与一个共有的世界坐标系之间的相对关系已知,就可以通过不同的图像进行精确测量。
    甚至可以将多幅图像拼接为一副覆盖整个物体的大图,这个可以通过将每幅图像都校正到同一个测量平面上实现。在结果图像上,可以直接在世界坐标系中进行测量。图像拼接示意图:
    在这里插入图片描述
    安装: 两个摄像机或多个摄像机必须安装在一个稳定的平台上,并且每幅图像覆盖整个场景的一部分。摄像机的方位可以随意,也就是说不需要它们看起来平行或垂直于物体表面。调整摄像机焦距、灯光以及交迭区域,使用一个大的可以覆盖整个视野的参照物。为了保证可以将多幅图像拼接为一副大图,它们之间必须存在一个小的交迭区域。交迭区域可以很小,因为这个交迭区域只是为了保证在拼接的结果图像中没有缝隙,下图为交叠区域示意图。
    在这里插入图片描述
    标定: 图像的标定可以分为两个步骤。 确定每个摄像机的内参。可以分别对每个摄像机进行标定求取摄像机的内参。 确定所有摄像机的外参。因为最后要将所有的图像转换到某一个世界坐标系中,所以需要使用一个大的标定物,这个标定物可以出现在所有的图像中,它可以由多个标定板组合而成,标定板的数量和使用摄像机的数量一致。下图为两个相机分别拍摄到的标定图像。
    注意:为了确定摄像机的外参,每个摄像机只需要拍摄一副标定图像就已经足够。标定物在多个摄像机分别进行拍摄标定图像的过程中不可以移动。理想情况下,这些标定图像应该同时获取。
    在这里插入图片描述
    将单个图像拼接为一个大图: 首先,每幅图像都必须进行校正,将这些图像转换到一个共有的坐标系中,它们之间就会正确匹配。在得到所有进行校正图像需要的映射图后,使用两个摄像机拍摄的每个图像对都可以进行校正并且高效的拼接。拼接的结果图由两幅校正后的图像组成,每个校正后的图像占图像的一个部分,下图为校正后的图像和拼接结果。
    在这里插入图片描述
    应用领域:液晶面板表面质量的检测

    1. 非标定方法拼接图像

    简介: 此种方法和前三种方法相比精度较低,适用于不需要实现高精度拼接的应用场合。这种拼接方法的优点是不需要进行摄像机标定,并且每幅单独的图像可以自动进行排列。拍摄单幅图像规则:在拍摄每幅图像时需要遵循下面这些规则:
    (1) 相邻的图像之间必须有交迭
    (2) 图像之间的交迭区域必须有比较明显的特征,这样就可以保证比较精确的自动匹配过程。如果在某些交迭区域内的特征不明显那么可以通过定义合适的图像对来克服。如果整个物体的特征都不是特别明显,那么交迭区域就应该更大一些。
    (3) 交迭的图像的缩放比例必须大约相等。一般情况下,缩放比例的不同不能超过5-10% (4) 这些图像的亮度应该相似,至少在交迭区域部分的亮度相似。否则,如果亮度区别非常明显的话,图像之间的接缝在结果图像中就非常明显,如下图所示。
    在这里插入图片描述
    定义交叠图像对: 需要定义一些交迭图像对,通过匹配确定这些图像对之间的转换关系。匹配的过程只会应用在这些交迭图像对上。
    在这里插入图片描述
    如果需要拼接的图像比较多,或者交迭图像每行图像比较多,此时合理彻底地安排图像对的配置十分重要。否则就可能有些图像不能实现精确匹配。这主要是因为噪声造成点坐标的一些误差导致不能准确计算图像之间的转换关系,这些误差会由一个图像传到下一幅图像上。

    提取图像中的特征点: 提取出的特征点的数量影响运行时间以及匹配的结果。特征点的数量越多,匹配的过程就越慢。但是太少的特征点将增大产生错误结果的可能性。在交迭的区域中匹配特征点并且确定图像之间转换关系:
    在进行图像拼接过程中最重要的任务就是图像对之间的匹配过程。匹配的图像对可以有任意的平移和旋转,唯一的要求就是图像应该有大约相同的缩放比例。如果图像之间平移和旋转的信息可用,它就可以用来限定寻找区域,这样就可以加速匹配过程并且使算法更加健壮。匹配特征点过程如下图所示。
    在这里插入图片描述
    生成拼接图像 知道了图像对之间的转换关系,就可以调用函数进行图像拼接,下图为拼接好的图像。

    注意: 需要注意球面拼接的情况,上述方法只适用于摄像机绕光心旋转或缩放。如果摄像机的移动包含平移或不是严格绕光心的旋转,使用这种方法得到的拼接结果将不准确也就不能够用在精确测量的场合。

    应用领域:
    (1) 街景的拼接。
    (2)电子地图的制作。
    (3) 医学影像的拼接。

    展开全文
  • #资源达人分享计划#
  • 多目视觉与激光组合导航AGV精确定位技术研究.pdf,为进一步提高自动导引车(AGV)的定位精度,提出了一种多目视觉与激光组合导航的精确定位方法。该方法首先提出了一种基于双目视觉实时测量的AGV位姿控制技术,通过多目...
  • 大型工业设备的视觉伺服控制系统需要采用多目视觉监测较大的工作场景,即对个执行机构进行视觉伺服控制。系统要求价格低廉、适应性和实时性好、维护简单等是工业视觉伺服系统面临的挑战。针对钢铁企业的棒材生产线...
  • 基于C++平台通过第三方库opencv和ceres,利用SFM原理实现的多目视觉三维重建,结果通过bundle adjustment最小化重投影误差来优化结果
  • 摘要配,并通过基于CPU的线程流水线方法解决了计算负载不平衡的问题,提高了计算效率。通过实验分析验证了提出算法的有效性。关键词:室内复杂环境;特征点法视觉SL
  • 针对自动运输车(AGV)定位范围窄、灵活性差问题提出解决方案并实验验证。采用红色单球作为AGV车体的...实验结果表明:基于红色单球标志物的多目视觉导引自动运输车定位方案具有定位范围大、灵活性好、适用性强的优势。
  • 自动驾驶 2D 单目\双目\多目视觉方法 一(Pseudo-LiDAR,Mono3D,FCOS3D,PSMNet)

    概述

    自动驾驶中必不可少的3D场景感知。因为深度信息、目标三维尺寸等在2D感知中是无法获得的,而这些信息才是自动驾驶系统对周围环境作出正确判断的关键。想得到3D信息,最直接的方法就是采用激光雷达(LiDAR)。但是,LiDAR也有其缺点,比如成本较高,车规级产品量产困难,受天气影响较大等等。因此,单纯基于摄像头的3D感知仍然是一个非常有意义和价值的研究方向,接下来我们梳理了一些基于单目和双目的3D感知算法。

    单目3D感知

    基于单摄像头图像来感知3D环境是一个不适定问题,但是可以通过几何假设(比如像素位于地面)、先验知识或者一些额外信息(比如深度估计)来辅助解决。本次将从实现自动驾驶的两个基本任务(3D目标检测和深度估计)出发进行相关算法介绍。

    3D目标检测

    表示转换(伪激光雷达):视觉传感器对周围其他车辆等的检测通常会遇到遮挡、无法度量距离等问题,可以将透视图转换成鸟瞰图表示。这里介绍两种变换方法。一是逆透视图映射(IPM),它假定所有像素都在地面上,并且相机外参准确,此时可以采用Homography变换将图像转换到BEV,后续再采用基于YOLO网络的方法检测目标的接地框。二是正交特征变换(OFT),利用ResNet-18提取透视图图像特征。然后,通过在投影的体素区域上累积基于图像的特征来生成基于体素的特征。然后将体素特征沿垂直方向折叠以产生正交的地平面特征。最后,用另一个类似于ResNet的自上而下的网络进行3D目标检测。这些方法只适应于车辆、行人这类贴地的目标。对于交通标志牌、红绿灯这类非贴地目标来说,可以通过深度估计来生成伪点云,进而进行3D检测。Pseudo-LiDAR先利用深度估计的结果生成点云,再直接应用基于激光雷达的3D目标检测器生成3D目标框,其算法流程如下图所示,

    在这里插入图片描述
    关键点和3D模型:待检测目标如车辆、行人等其大小和形状相对固定且已知,这些可以被用作估计目标3D信息的先验知识。DeepMANTA是这个方向的开创性工作之一。首先,采用一些目标检测算法比如Faster RNN来得到2D目标框,同时也检测目标的关键点。然后,将这些2D目标框和关键点与数据库中的多种3D车辆CAD模型分别进行匹配,选择相似度最高的模型作为3D目标检测的输出。MonoGRNet则提出将单目3D目标检测分成四个步骤:2D目标检测、实例级深度估计、投影3D中心估计和局部角点回归,算法流程如下图所示。这类方法都假设目标有相对固定的形状模型,对于车辆来说一般是满足的,对于行人来说就相对困难一些。

    在这里插入图片描述
    2D/3D几何约束:对3D中心和粗略实例深度的投影进行回归,并使用这二者估算粗略的3D位置。开创性的工作是Deep3DBox,首先用2D目标框内的图像特征来估计目标大小和朝向。然后,通过一个2D/3D的几何约束来求解中心点3D位置。这个约束就是3D目标框在图像上的投影是被2D目标框紧密包围的,即2D目标框的每条边上都至少能找到一个3D目标框的角点。通过之前已经预测的大小和朝向,再配合上相机的标定参数,可以求解出中心点的3D位置。2D和3D目标框之间的几何约束如下图所示。Shift R-CNN在Deep3DBox的基础上将之前得到的2D目标框、3D目标框以及相机参数合并起来作为输入,采用全连接网络预测更为精确的3D位置。

    直接生成3DBox:这类方法从稠密的3D目标候选框出发,通过2D图像上的特征对所有的候选框进行评分,评分高的候选框即是最终的输出。有些类似目标检测中传统的滑动窗口方法。代表性的Mono3D算法首先基于目标先验位置(z坐标位于地面)和大小来生成稠密的3D候选框。这些3D候选框投影到图像坐标后,通过综合2D图像上的特征对其进行评分,再通过CNN再进行二轮评分得到最终的3D目标框。M3D-RPN是一种基于Anchor的方法,定义了2D和3D的Anchor。2D Anchor通过图像上稠密采样得到,3D Anchor是通过训练集数据的先验知识(如目标实际大小的均值)确定的。M3D-RPN还同时采用了标准卷积和Depth-Aware卷积。前者具有空间不变性,后者将图像的行(Y坐标)分成多个组,每个组对应不同的场景深度,采用不同的卷积核来处理。上述这些稠密采样方法计算量非常大。SS3D则采用更为高效的单阶段检测,包括用于输出图像中每个相关目标的冗余表示以及相应的不确定性估计的CNN,以及3D边框优化器。FCOS3D也是一个单阶段的检测方法,回归目标额外增加了一个由3D目标框中心投影到2D图像得到的2.5D中心(X,Y,Depth)。

    单目深度估计

    不管是上述的3D目标检测还是自动驾驶感知的另一项重要任务——语义分割,从2D扩展到3D,都或多或少得应用到了稀疏或稠密的深度信息。单目深度估计的重要性不言而喻,其输入是一张图像,输出是相同大小的一张由每个像素对应的场景深度值组成的图像。输入也可以是视频序列,利用相机或者物体运动带来的额外信息来提高深度估计的准确度。

    相比于监督学习,单目深度估计的无监督方法无需构建极具挑战性的真值数据集,实现难度更小。单目深度估计的无监督方法可分为基于单目视频序列和基于同步立体图像对两种。前者是建立在运动相机和静止场景的假设之上的。在后者的方法中,Garg等人首次尝试使用同一时刻立体校正后的双目图像对进行图像重建,左右视图的位姿关系通过双目标定得到,获得了较为理想的效果。在此基础上,Godard等人用左右一致性约束进一步地提升了精度,但是,在逐层下采样提取高级特征来增大感受野的同时,特征分辨率也在不断下降,粒度不断丢失,影响了深度的细节处理效果和边界清晰度。为缓解这一问题,Godard等人引入了全分辨率多尺度的损失,有效减少了低纹理区域的黑洞和纹理复制带来的伪影。但是,这对精度的提升效果仍是有限的。

    最近,一些基于Transformer的模型层出不穷,旨于获得全阶段的全局感受野,这也非常适用于密集的深度估计任务。有监督的DPT中就提出采用Transformer和多尺度结构来同时保证预测的局部精确性和全局一致性,下图是网络结构图。

    双目3D感知

    双目视觉可以解决透视变换带来的歧义性,因此从理论上来说可以提高3D感知的准确度。但是双目系统在硬件和软件上要求都比较高。硬件上来说需要两个精确配准的摄像头,而且需要保证在车辆运行过程中始终保持配准的正确性。软件上来说算法需要同时处理来自两个摄像头的数据,计算复杂度较高,算法的实时性难以保证。与单目相比,双目的工作相对较少。接下来也同样从3D目标检测和深度估计两方面进行简单介绍。

    双目3D目标检测

    3DOP是一个两阶段的检测方法,是Fast R-CNN方法在3D领域的拓展。首先利用双目图像生成深度图,将深度图转化为点云后再将其量化为网格数据结构,再以此为输入来生成3D目标的候选框。与之前介绍的Pseudo-LiDAR类似,都是将稠密的深度图(来自单目、双目甚至低线数LiDAR)转换为点云,然后再应用点云目标检测领域的算法。DSGN利用立体匹配构建平面扫描体,并将其转换成3D几何体,以便编码3D几何形状和语义信息,是一个端到端的框架,可提取用于立体匹配的像素级特征和用于目标识别的高级特征,并且能同时估计场景深度和检测3D目标。Stereo R-CNN扩展了 Faster R-CNN 用于立体输入,以同时检测和关联左右视图中的目标。在RPN之后增加额外的分支来预测稀疏的关键点、视点和目标尺寸,并结合左右视图中的2D边界框来计算粗略的3D目标边界框。然后,通过使用左右感兴趣区域的基于区域的光度对齐来恢复准确的3D边界框,下图是它的网络结构。

    双目深度估计

    双目深度估计的原理很简单,就是根据左右视图上同一个3D点之间的像素距离d(假设两个相机保持同一高度,因此只考虑水平方向的距离)即视差,相机的焦距f,以及两个相机之间的距离B(基线长度),来估计3D点的深度,公式如下,估计出视差就可以计算出深度。那么,需要做的就是为每个像素点在另一张图像上找出与之匹配的点。

    对于每一个可能的d,都可以计算每个像素点处的匹配误差,因此就得到了一个三维的误差数据Cost Volume。通过Cost Volume,我们可以很容易得到每个像素处的视差(对应最小匹配误差的d),从而得到深度值。MC-CNN用一个卷积神经网络来预测两个图像块的匹配程度,并用它来计算立体匹配成本。通过基于交叉的成本汇总和半全局匹配来细化成本,然后进行左右一致性检查以消除被遮挡区域中的错误。PSMNet提出了一个不需要任何后处理的立体匹配的端到端学习框架,引入金字塔池模块,将全局上下文信息纳入图像特征,并提供了一个堆叠沙漏3D CNN进一步强化全局信息。下图是其网络结构。

    在这里插入图片描述

    Pseudo-LiDAR

    1. 核心思路总结

    首先利用DRON或PSMNET从单目 (Monocular)或双目 (Stereo)图像获取对应的深度图像(depth map),然后将原图像结合深度信息得到伪雷达点云 (pseudo-LiDAR),最后用pseudo-LiDAR代替原始雷达点云,以3D point cloud和bird’s eye view的形式,分别在LiDAR-based的F-PointNet以及AVOD上与图像的front view表示进行了比较,并对比了Image-based的Mono3D, 3DOP, MLF这三类方案。(好像就是一个深度估计+一个三维重建+一堆对比实验?)

    在这里插入图片描述
    图一:The Pipeline of Pseudo-LiDAR

    Pseudo-LiDAR一堆对比实验如表一所示。其中蓝色字体为利用图像的pseudo-LiDAR表示,灰色字体为利用原始雷达点云,黑色字体为利用图像的前视图表示 (原始表示)。从表中可以看到,将图像转换为pseudo-LiDAR表示后,确实是bridged the gap between Image-based 3D Perception and LiDAR-based 3D Perception.

    在这里插入图片描述
    表一:Comparison with Other Methods

    2. 要点分析

    1. The Inferior Performance of Image-based 3D Perception

    众所周知,从2D图像进行3D感知本身就是一个ill-posed问题,因为图像缺少3D感知最为关键的深度信息。虽然通过单目或双目深度估计可以得到深度图像,但是其不准确的深度信息会严重影响网络对三维空间的理解。这也是为什么目前主流的3D感知算法都会采用LiDAR的原因,即为什么LiDAR-based 3D Perception要远远优于Image-based 3D Perception, 因为LiDAR提供的深度信息是完全无误的。

    但是,真正的原因好像不仅仅局限于此。

    让我们先分析一下目前的Image-based 3D Perception方案具体是怎么做的:一种方式是通过深度估计将深度信息作为additional channel加到原始图像后;另一种方式也是以叠加的方式,加入ground, class semantic, instance semantic, shape, context, location等hand-crafted features, 见图二,以尽可能提供多方位的空间信息。那么,神经网络能够有效地从这些“无脑”叠加的多类特征图中感知到三维物体的真实属性吗?

    在这里插入图片描述
    图二:Hand-crafted Features in Mono3D

    接下来,我们可以看一个实验结果,如图三。其中,左上是由原始图像 (front view)估计的深度信息,左下是对应得到的pseudo-Lidar (BEV形式),右上是原始深度图通过二维卷积得到的结果,右下是将经过2D卷积处理后的深度图像变换到三维空间的点云。我们可以看到,原图像的深度信息经过2D卷积后发生了剧烈的畸变扭曲,原始的车辆形状也发生了巨大的改变。

    在这里插入图片描述
    图三:The Result of 2D Convolution to the Frontal View Depth Map
    因此,2D卷积在以front view形式的Image-based 3D Perception中并不work. 以下给出理论分析:

    (1) Physically Incoherent

    在2D图像中,不同深度的物体均呈现在同一个平面上,因此在卷积核的某一感受野之内,不同物体实际上是physically incoherent, 但相邻的像素点之间并没有显式表示这种关系。比如图四的bounding box中,按深度从小到大排序有手、球拍、人脸等物体,这些物体以front view的形式是连贯在一起的,而网络并不能感知到实际的physically incoherent关系。Focal Loss的提出也是为了解决类似的前景、背景不平衡的问题,但是个人认为更重要的原因是2D图像的front view表示形式,严重限制了神经网络的2D和3D Perception.

    在这里插入图片描述
    图四:Physically Incoherent Example of a 2D Image

    (2) Different Scales

    在front view后简单叠加depth map, 虽然能够提供重要的深度信息,但是仍然没有直观地展示真实三维空间的分布属性。除此之外,越远的物体在front view中是越小的,而检测小物体本身就是一个比较难的任务。因此,深度图中不同尺度的物体也增加了Image-based 3D Perception的难度。

    在这里插入图片描述
    图五:Different Scales Example of a Depth Map

    综上,目前的Image-based 3D Perception方案较差的性能主要是由于front view这种2D图形表示,而不是之前一直纠结的不准确的depth map. 表二给出了实验论证,使用相同方法估计的depth map, 以BEV形式 (pseudo-Lidar投影得到)的3D Perception要远优于FV+depth map的形式。

    在这里插入图片描述
    表二:Comparison between FV and BEV
    2. The Promising Performance of LiDAR-based 3D Perception

    经过上面的分析,LiDAR-based 3D Perception的优越性便显而易见了。首先,在三维点云中(或BEV), 卷积和池化操作的区域都是physical nearby, 不同位置的不同物体并不会混为一谈;其次,物体的尺度具备深度不变性,保持了三维空间中最原始的尺度。

    总之,虽然本文没有任何技术层面的创新与改进,但是重新审视了Image-based 3D Perception的致命点,能够给目前的三维感知一些重要的启示。正如作者所说的:“Sometimes, it is the simple discoveries that make the biggest differences”.

    四、一些思考

    1. Inspiration from 3D Perception to 2D Perception

    我们知道,目前几乎所有的3D Detector都是继承了2D Detector的结构以及设计思路 (除了PointNet),其改进的主要思想也都是来自2D Detector. 但是,从pseudo-Lidar对3D Detection的探讨中,我们也可以得到有益于2D Detection的启发,即主要限制复杂场景物体检测的原因是2D图像的front view表示。因此,对于这种场景,通过depth estimation-point cloud-3D detection-2D projection可能会比在FV上用focal loss更有效。

    1. Fusion of LiDAR and pseudo-LiDAR

    这也是作者在future work中提到的,因为雷达点云虽然精确并有反射强度信息,但是非常稀疏,而且线数不同分辨率也不同。相比之下,pseudo-LiDAR虽然不是特别精确,但是比雷达点云要密集的多,且具备RGB颜色信息。因此,将两者进行融合 (互补),会是一个比较有意思的工作。这样比传统的RGB image & LiDAR point cloud fusion方式,比如MV3D, AVOD等,更加易于神经网络感知。

    在这里插入图片描述
    此外,可以尝试在pseudo-LiDAR和LiDAR之间架一个GAN,以生成更高精度的pseudo-LiDAR,使得Image-based 3D Perception性能进一步接近LiDAR-based 3D Perception,即在自动驾驶中,使相机完全代替雷达成为可能。

    Mono3D

    在这里插入图片描述
    假设目标位于地面之上,以及目标的先验的大小,根绝目标的平均大小设置,根据这两个信息,稠密的生成3D物体候选框。在KITTI,车辆生成4w候选框,行人生成7w的候选框。根据最远距离和采样间隔决定的。对于每一幅图像,就可以生成稠密的3D物体候选。有了候选之后,我们将他们投影到2D图像,得到2D的候选框,2D候选框和视觉特征,根据评分,过滤到背景的候选框,以及NMS除去高度重叠的候选框,和2D视觉RPN是非常小相似的。因为2D的候选框和3D的候选框是一一对应的,我们就就知道了3D的候选框,再对3D候选框大小进行修正回归(之前是平均值)。

    FCOS3D

    在这里插入图片描述
    FCOS3D是FCOS在3D的扩展,实际上FCOS3D和FOCS在网络结构非常的相似,从pipeline可以看粗,backbone和neck和FCOS是完全一样的 ,FCOS3D在多个特征图上进行了预测。FCOS3D的不同在于:
    在这里插入图片描述
    在这里插入图片描述
    b是2D的中心,c是3D中心点在2D的投影,所以b和c是不同的。最终我们还要得到物体在3D的中心点,无论是通过图像还是其他信息,我们关心是在3D的中心点,而不是2D的bb的几何中心。
    这里借助反变换,因为知道了c的深度,我们可以计算。
    物体的长宽高LWH,直接在2d的图像上进行回归。
    目标的朝向,理论上也应该是3D的变量,但是车辆俯仰角和左右的倾斜,在一般的应用中,值比较小,实际应用作用不大。最重要的角,就是相对于z轴的旋转,对应的车身的一个朝向,正前方,还是45度,还是90度。FOCS3D只回归这个角度。

    在这里插入图片描述
    centerness在3d和2d不同。以3D中心点在2D的投影为原点的高斯分布(上面提了),利用高斯分布,来定义centerness。alpha是高斯的参数,deltax和deltay。

    在这里插入图片描述
    FCOS3D网络结构比较常见,速度也比较快。
    在3D的情况下IOU>0.7已经是比较苛刻的条件了。在L2纯视觉,L3和L4都有激光雷达,不需要图像来做3D的信息了。尤其是单目的。这里3D单目的物体检测,主要是以辅助。在这里插入图片描述

    PSMNet

    在这里插入图片描述
    双目系统不需要先验知识、几何约束、以及大量的数据。而是通过视差的概念来恢复当前目标点的深度信息。双目感知不依赖物体检测的结果,不需要知道当前物体的形状和信息,只需要知道是我们想要的目标点,两个相机都可以看到目标点。可以对场景任意一点,进行深度估计。
    在这里插入图片描述
    xl左边成像位置点,xr右边成像位置点。xl和xr的差值d就是视差。所以深度估计的关键就是估计视差。

    在这里插入图片描述
    将场景的深度估计转为视差估计。深度估计是以米为单位,视差的单位是像素。比如深度估计的范围是90-1.7m,视差的范围可能对应是1-10个像素。

    可以利用深度学习对周围的区域,进行特征的提取,来帮助引入有用的特征计算视差。

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    average pooling的尺寸越大,说明越是全局的特征,尺寸越小,越是局部的特征。SPP就是要找到不同层次的特征进行融合。
    在这里插入图片描述
    H‘和W’是原图像的1/4. D个可能的视差值,左侧和右侧的特征图,进行不同像素的移动。将移动后的特征图再进行拼接,多余的部分cut掉。每一个视差值得到的H‘和W’的特征图,channel是2C,原来的2倍。个数是D个。
    H‘*W’D2C。

    在这里插入图片描述
    在这里插入图片描述
    找到D中最小值,就是每个像素点的视差值,再通过视差去计算深度。
    在这里插入图片描述
    在这里插入图片描述
    基线长度就是2个摄像头之间的距离。
    在这里插入图片描述

    展开全文
  • 目视觉程序 通过对摄像机进行简单标定求出世界坐标犀利图像坐标系转换的必要参数,进而实现对固定平面内物体的位置定位及长度测量。针对该方法的特点,本文选取了4个点为标定点.
  • 行业分类-设备装置-一种基于独立云台的仿生多目视觉物理平台
  • 结构计算之多目视觉(三)

    千次阅读 2019-01-05 17:30:15
    本文介绍当3D点在N幅视图上的像和这些视图的摄像机矩阵,其中给定时,计算该3D空间点的位置。...线性三角法类似单目视觉中的DLT方法,在每幅图像上分别有测量,且这些方程可以组合成的形式,它是关...
  • 多目视觉三维人体运动
  • 点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达 本文转自|新机器视觉 机器人视觉系统是指用计算机来实现人的视觉功能,也就是用计算机来实现对客观的三...
  • 多目视觉 知识搜集

    千次阅读 2015-01-29 11:34:03
    邹宇华 blog http://my.csdn.net/chenyusiyuan oepncv 立体视觉http://blog.lehu.shu.edu.cn/byman/A263366.html
  • 目视觉,单目视觉和双目视觉的区别,matlab源码
  • 一种基于改进YOLOv3的单目视觉道路目标检测及距离估计方法.docx一种基于改进YOLOv3的单目视觉道路目标检测及距离估计方法.docx一种基于改进YOLOv3的单目视觉道路目标检测及距离估计方法.docx一种基于改进YOLOv3的单...
  • 目视觉测距

    2018-04-18 15:36:21
    测距是利用一个摄像头进行视频拍摄,在图像中找到待测物体。这一系列动作,涉及到了物体的识别,相机的结构,坐标变换的一些知识,距离的获取是一个很广泛的课题,用摄像头来测距是其中一个方向,包括单测距、...
  • 为了实现单目视觉系统的快速、精确的手眼标定, 本文提出了一种新的两步式手眼标定方法, 将手眼标定分为求解旋转关系和平移关系两步. 首先机器人携带标定板进行两次平移运动求解旋转关系, 然后机器人工具坐标系执行...
  • 根据单目视觉高精度位姿测量中合作目标形状和图案设计的基本原则,分析了在透视投影情况下方形和圆形合作目标特征点的提取精度,指出在特征点提取时方形合作目标角点具有透视不变性、圆形合作目标圆心存在固有偏移误差...
  • 近20年来,国内外很研究人员对这个问题进行了大量研究,提出了多种多样的实用算法并成功开发了一些视觉系统。这些系统所采用的算法基本上可以分为基于双目视觉的方法、基于运动的方法、基于外形的方法和基于知识的...
  • 研究生学位论文,内容非常详细,叙述十分清晰,具有很高的参考价值。非常值得学习,适合相关领域知识的学习和巩固,单目视觉空间目标位姿测量算法研究
  • 针对弹丸修正中弹目间距难以测量问题,提出了一种适用于常规弹药的单目视觉测量弹目间距的方法。根据投射成像原理,推算二维目标像点坐标与目标的空间三维位置之间的映射关系。通过分析弹丸、摄像机以及大地坐标系...
  • 此学习笔记,是我本人在学习单目视觉导航原理时,整理的一些网上论文资源,并做了适当的提炼。希望同学们可以在学习过程中,共同进步。
  • 利用相似三角形原理来使用单摄像头测距,使用的语言为python,测试图形为圆形。
  • opencv 多目(双目)视觉三维点重构,包含理论部分和代码实现测试两个部分。理论部分,包括相机内参标定推导(图像的外参、畸变系数推导),相机之间的外参推导流程。 代码实现部分,相机标定主要以opencv现有函数...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,901
精华内容 7,960
关键字:

多目视觉

友情链接: ACADO.rar