目录
3.2 深度学习重建算法和传统三维重建算法进行融合,优势互补
写在最前面:
本篇文章只是一名在校大学生做项目的学习笔记,内容主要参考B站视频1-三维重建概述分析.mp4_哔哩哔哩_bilibili 、知乎三维重建算法综述|传统+深度学习方式 - 知乎 (zhihu.com)和ChatGPT等等。内容会不断改进更新,如有引用地方为标注,请联系;如有错误,感谢指正。
一、本质解决问题:
利用数量有限、局部且相对独立的二维平面图像,构建一个新的坐标系,将每一张图像都在构建的坐标系中进行投影,整合在一起,从而实现二维图像的三维重建。
二、应用领域概述
原型设计(游戏应用)、机械手臂、虚拟现实(影视电影)、辅助驾驶、定位和追踪等
三、研究现状:
1.激光雷达等获取深度与三维信息(昂贵/非重点)
2. 基于传统多视图几何的三维重建算法(学习重点)
传统的三维重建算法按传感器是否主动向物体照射光源可以分为 主动式 和 被动式 两种方法。这些年,也有不少研究直接基于消费级的 RGB-D 相机进行三维重建,如基于微软的 Kinect V1 产品,同样取得了不错的效果。
2.1 主动式
指通过传感器主动地向物体照射信号,然后依靠解析返回的信号来获得物体的三维信息,常见的有如下三种。
(1)结构光
结构光法依靠投影仪将编码的结构光投射到被拍摄物体上,然后由摄像头进行拍摄。由于被拍摄物体上的不同部分相对于相机的距离精度和方向不同,结构光编码的图案的大小和形状也会发生改变。这种变化可以被摄像头捕获,然后通过运算单元将其换算成深度信息,进而获取物体的三维轮廓信息。这种方法缺点是容易受环境光干扰,因此室外体验差。另外,随检测距离增加,其精度也会变差。目前,一些研究通过增大功率、改变编码方式等形式解决这些问题,取得了一定的效果。
(2)TOF 激光飞行时间法
TOF 飞行时间法依靠通过向目标连续发送光脉冲,然后依据传感器接收到返回光的时间或相位差来计算距离目标的距离。但显然这种方式足够的精度需要极为精确的时间测量模块,因此成本相对较高。好处是这种方法测量距离比较远,受环境光干扰比较小。目前这方面研究旨在降低计时器良品率及成本,相应的算法性能也在提升。
(3)三角测距法
三角测距法,即依据三角测距原理,不同于前两者需要较为精密的传感器,三角测距法整体成本较低,并且在近距离的时候精度较高,因而广泛应用于民用和商用产品中,如扫地机器人中。但三角测距的测量误差与距离有关,随着测量距离越来越大,测量误差也越来越大,这是由三角测量的原理导致的,不可避免。
2.2 被动式(学习重点)
直接依靠周围环境光源来获取RGB图像,通过依据多视图几何原理对图像进行解析,从而获取物体的三维信息。常见的依据原理可以分为:
(1)单目视觉
单目视觉只使用单一摄像头作为采集设备,具有低成本、易部署等优点。其依靠一段时间内获得的连续图像的视差来重建三维环境。但其存在固有的问题:单张图像可能对应无数真实物理世界场景(病态),因此使用单目视觉方法从图像中估计深度进而实现三维重建的难度较大。依据原理,可以分类为:
单目视觉(Monocular Vision)是一种计算机视觉和机器视觉领域的研究方向,它关注的是通过单个摄像头或视觉传感器获取的图像来理解和感知三维世界。与双目视觉或多目视觉不同,单目视觉依赖于来自单个视点的信息来还原场景的三维结构和属性。(ChatGPT)
以下是单目视觉的一些关键概念和应用领域:
-
深度估计(Depth Estimation): 通过单个摄像头拍摄的图像,可以使用单目视觉技术来估计图像中物体的距离或深度。这通常涉及到从图像中提取特征、使用结构光、运动估计或深度学习等方法来推断深度信息。
-
SLAM(Simultaneous Localization and Mapping): 单目SLAM是一种用于在未知环境中同时估计相机的位姿(位置和方向)和地图的技术。这在无人机、机器人和增强现实领域中有广泛应用。
-
姿态估计(Pose Estimation): 单目视觉可以用于估计物体或相机的姿态(位姿和方向)。这对于物体跟踪、虚拟物体插入到实际场景中以及手势识别等任务非常重要。
-
目标检测和跟踪: 单目视觉也可以用于检测和跟踪物体。这在自动驾驶、视频监控、人脸识别和物体跟踪等领域有广泛应用。
-
虚拟现实(VR)和增强现实(AR): 单目视觉技术用于虚拟现实和增强现实应用,以将虚拟对象叠加到真实世界中或创建虚拟环境。
-
图像分割和语义分割: 单目视觉可以用于图像分割任务,将图像中的像素分为不同的类别,如物体、背景、道路等。
在单目视觉领域,深度学习技术,尤其是卷积神经网络(CNN)和循环神经网络(RNN)的发展,已经取得了显著的进展,使得从单个图像中提取更多的场景信息成为可能。
(2)双目/多目视觉
双目视觉主要利用左右相机得到的两幅校正图像找到左右图片的匹配点,然后根据几何原理恢复出环境的三维信息。但该方法难点在于左右相机图片的匹配,匹配地不精确都会影响最后算法成像的效果。多目视觉采用三个或三个以上摄像机来提高匹配的精度,缺点也很明显,需要消耗更多的时间,实时性也更差。
双目视觉和多目视觉是计算机视觉和机器视觉领域中的重要研究方向,它们涉及使用两个或多个摄像头或视觉传感器来获取图像和深度信息,以实现更丰富的场景理解和感知。(ChatGPT)
-
双目视觉(Binocular Vision): 双目视觉是使用两个摄像头或摄像头系统来捕获场景的立体图像,从而获得深度信息的方法。关键概念包括:
-
视差(Disparity): 双目视觉中,相机对之间的位置差异会导致左右图像中的物体位置不同,这个位置差异称为视差。通过计算视差,可以估计物体的深度。
-
三角测量(Triangulation): 通过计算视差和已知的相机参数,可以使用三角测量方法估计物体的三维位置。
-
立体匹配(Stereo Matching): 立体匹配是双目视觉中的关键任务,涉及将左右图像中的对应像素匹配起来,以计算视差和深度信息。
双目视觉广泛应用于机器人导航、三维重建、自动驾驶和虚拟现实等领域。
-
-
多目视觉(Multi-View Vision): 多目视觉涉及使用多个摄像头或传感器来捕获不同角度和视图的图像,以获得更丰富的信息。关键概念包括:
-
多视角几何(Multi-View Geometry): 多目视觉中的多个视图可以通过多视角几何原理来关联,从而计算物体的三维位置和姿态。
-
结构光(Structured Light): 使用多个摄像头和光源来投射结构化光,以获取物体的三维形状和深度信息。
-
多目标跟踪(Multi-Object Tracking): 在多摄像头环境中,多目标跟踪涉及跟踪多个物体的运动和轨迹。
多目视觉在三维重建、增强现实、三维打印和安防领域等具有广泛的应用。
-
2.3 基于消费级RGB-D相机
相机可以基于主动式、被动式不同原理,优点在于基于这些设备的算法更具备实用性。