计算机系统应用教程网站

网站首页 > 技术文章 正文

一文带你理解基于图像的三维重建

btikc 2024-09-11 01:49:10 技术文章 22 ℃ 0 评论

作者:追求卓越583

来源:公众号@3D视觉工坊

介绍

当前,对于一个场景的快速重建是重要的,目标是实现一个快速的、全面的三维重建模型。可以应用于野外的林业资源保护、火灾和地震的灾后抢救、边境安防、油田或者海上平台油气设施、电力设施监测都有十分重要的价值。

现在对于野外覆盖常用卫星。对卫星来说,存在分辨率不足的问题,无法清晰构建出野外的三维场景。而对于较精确的雷达激光扫描重建,既有造价昂贵的缺点,又十分笨重,在野外环境中进行三维重建十分不方便。

随着自动控制、无线传输等技术的发展,无人机的应用领域也越来越多。无人机具备成木低,应用范围广,机动性能好,降低野外作业人员危险等优点。因此基于图像的三维重建方法是解决上述问题的有效手段。

三维重建一直以来就是国内外学者研宄的热点问题,并取得了一些重大的成果。华盛顿大学的GRAIL实验室,采用多核并行技术耗时21小时完成了对罗马城的稀疏点云的重建,成功地实现了对海量数据的大场景稀疏点云的三维重建[1-2]。吴常常实现的VisualSFM算法是较为完善的开源视觉重建算法[3],在该算法使用多核捆绑调整[4]进行参数优化。但是,其对于纹理较弱的场景,不能进行三维重建。

基于深度学习的方法已经引起了人们的广泛关注,并在图像处理中得到了广泛的应用。一些研究者提出了基于深度神经网络的三维重建算法。Ummenhofer等人中提出的 DeMoN 给出了从连续的无约束图像对中恢复图像深度和相机运动的端到端神经网络[5],并且还可以输出表面法线、匹配对之间的光流,该框架由多个编码器-解码器组成。该网络只单纯利用两个图像之间的RGB信息而没有利用几何信息进行估计,三维重建准确度较低,效果不好。

本文介绍基于图像的三维重建方法,具备精确、廉价等特点。可以应用到很多领域,具有重要的研究与应用价值。

总体框架

本文介绍的方法,整体流程图如图1所示。

图1.整体流程图

具体步骤如下:

步骤1:首先要对无人机的飞行路径进行之字形规划,无人机拍摄的正射影像可以完全覆盖所需拍摄的场景,进而获取精确、详细的图像序列,无人机在拍摄图像的过程中,实时的将图片与RTK信息回传给地面站。

步骤2:地面站接收无人机拍摄的图片后,将图片按顺序进行排列,并将图像按照每20张分成一个簇。

步骤3:对每个簇中的图片进行提取特征点,并对特征点进行描述。

步骤4:接着进行特征匹配,使用滤波算法来剔除匹配错误的特征点。

步骤5:通过运动恢复结构技术获取相近图像之间的对应关系,初步获取相机在三维空间中的姿态及位置信息。

步骤6:图像中包含GPS信息,利用光束法平差来优化相机姿态参数,得到各个图像簇的稀疏点云。

步骤7:然后,通过恢复每张图像的深度图,基于深度图融合的方法,将这些深度图融合,得到各个图像簇的稠密点云。

步骤8:最后,将各个图像簇的稠密点云进行融合,得到整个场景的三维信息。

具体步骤:

首先,确定无人机拍摄野外场景的具体范围,并对无人机的飞行路径进行规划,这里选用之字形往返式的规划路径方式。这种方式对于无人机的飞行具有简单、便捷的特点,飞行路线大多都是直线,转弯的次数较少,消耗的能量也较少,并且可以完全覆盖所需要拍摄的场景。

此外,无人机所搭载的相机也有一定的要求,需要使用带有RTK载波相位差分技术的照相机,无人机在拍摄场景时,同时可以记录拍摄点位的GPS信息。

在无人机拍摄的图像后,需要将图像以及相应的RTK信息实时回传给地面站。

地面站在接收到无人机拍摄的图片后,将图片按顺序进行排列,这种有序的图像序列,为后续的特征匹配节省很多时间。

如图2所示,图片按顺序排列好之后,将图片按照每20张分成一个簇,后续就是对图像簇进行操作,各个图像簇之间并行处理,提高效率。

图2. 图像分簇

对每个簇中的图片进行提取特征点,这里提取SIFT特征点,因为SIFT特征具有区分性好,对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性等优点,因此这里使用SIFT特征提取算子对图像集进行特征提取。

提取了图像的特征点之后,需要对图像进特征匹配。在接收图像后已经对图像顺序进行了排序,在特征匹配阶段,只需要对各个图像簇中相邻的两幅图像进行特征匹配,对于n张输入图像,能够将匹配阶段的时间复杂度从O(n2)降低到O(n)。

对于特征匹配,包括多种两两图像之间的匹配算法可供选择。对于基于标量的特征描述符,有暴力匹配、近似最近邻匹配、层级哈希匹配和快速层级哈希匹配四种方式。对于二进制描述符,主要为暴力匹配。暴力匹配对参考图像中的每个特征点,在另一幅待匹配图上计算所有特征点和该点欧式距离,再利用距离比等条件进行剔除,最终得到匹配集。该方法时间复杂度较高,搜索效率较低。近似最近邻匹配的方法针对大数据集时它的效果要好于暴力匹配。层级哈希匹配和快速层级哈希匹配主要是利用局部敏感哈希将一个图像上的特征点映射成为一个哈希编码,在利用SIFT特征计算两幅图像之间的匹配的时候,对于第一幅图像上的某个特征点,搜索第二幅图像上和该特征点哈希编码的汉明距离小于某个阈值的特征点,然后根据SIFT特征描述符的相似性和比率测试确定最终的匹配。其中快速层级哈希匹配在速度上更快,利用预先计算好的散列区域,提升了匹配速度。所以, 这里采用快速层级哈希匹配处理两幅图像之间的匹配问题。

在匹配的过程中,会存在一些误匹配的情况,这对后期的三维重建会产生很大的影响,所以这里需要剔除匹配错误的特征点,这里采用RANSAC(Random Sample Consensus,随机抽样一致)算法来剔除误匹配的点。RANSAC算法可以从一组包含“外点”的观测数据集中,通过迭代方式估计数学模型的参数,进而剔除误匹配的点。

RANSAC算法的具体步骤:

(1)首先从数据集中随机选出一组局内点(其数目要保证能够求解出模型的所有参数),计算出一套模型参数。

(2)用得到的模型去测试其他所有的数据点,如果某点的误差在设定的误差阈值之内,就判定其为局内点,否则为局外点,只保留目前为止局内点数目最多的模型,将其记录为最佳模型。

(3)重复执行1,2步足够的次数(即达到预设的迭代次数)后,使用最佳模型对应的局内点来最终求解模型参数,该步可以使用最小二乘法等优化算法。

(4)最后可以通过估计局内点与模型的错误率来评估模型。

在得到图像中特征点的匹配关系后,通过运动恢复结构技术来计算相邻图像之间的对应关系,初步获取相机在三维空间中的姿态及位置信息。

因为无人机拍摄的图像中包含有GPS信息,利用图像和GPS间的约束,使用光束法平差对相机的姿态位置进行优化调整,得到准确的相机位姿以及场景路标点。这里使用全局式SFM(Structure from motion,运动恢复结构)来输出各个图像簇的稀疏点云,因为全局式SFM的重建速度相比于增量式SFM和层级式SFM的重建速度都快,并且重建效果可以达到要求。通过这种方式生成的稀疏点云具有尺寸及地理编码信息。

通过计算出每张图像的深度图,利用深度图融合,来生成三维稠密点云。基于深度图融合的方法,需要首先将每张图像对应起来,即通过旋转、平移等坐标变换对两张图像进行匹配,这些对应信息可以从SFM结果得到,然后再根据同一个空间点在各个深度图中对应的深度信息来共同恢复该空间点的三维位置。如果融合后的点云数量过多,还需要进行三维点云精简处理,进而得到各个图像簇的稠密点云。

根据各所述稠密深度图对应的位移及所述旋转关系,对各个图像簇对应的稠密点云进行融合,在融合的过程中需要剔除一些重叠的点云,进而得到整个场景的三维信息。

总结

本文介绍了基于图像的三维重建方法。首先通过无人机按照规划好的路线拍摄图片,无人机在拍摄完图片的过程中,将图片实时的回传给地面。在地面端接收无人机回传的图片,将接收的图像按顺序进行排列,并将图像按照每20张作为一个簇,分别对每簇中的图像进行提取特征点,并对特征点进行描述。接着进行特征匹配,使用滤波算法来剔除匹配错误的特征点。根据匹配的特征点,通过运动恢复结构技术获取相邻图像之间的对应关系,初步获取相机在三维空间中的姿态及位置信息。进而利用光束法平差来优化相机姿态参数,得到各个图像簇的稀疏点云。然后,通过恢复每张图像的深度图,基于深度图融合的方法,将这些深度图融合,得到各个图像簇的稠密点云。最后将各个图像簇的稠密点云进行融合,得到整个场景的三维信息。

参考文献:

[1] Noah Snavely, Steven M. Seitz, and Richard Szeliski. Photo Tourism:Exploring Image Collections in 3D[C]. ACM Transactions on Graphics (SIGGRAPH Proceedings)2006,25(3):835-846

[2] Noah Snavely, Steven M. Seitz, and richard Szeliski. Modeling the World from Internet Photo Collections [C]. International Conference of Computer vision, 2008:189-210

[3] Wu C. Towards Linear-Time Incremental Structure from Motion[C].International Conference on 3dv-Conference. IEEE, 2013:127-134.

[4] Wu C, Agarwal S, Curless B. Multicore bundle adjustment[C]. Computer Vision and Pattern Recognition. IEEE, 2011:3057-3064.

[5] Shan Q, Adams R, Curless B, et al. The visual turing test for scene reconstruction[C]. 2013 International Conference on 3D Vision-3DV 2013. IEEE, 2013: 25-32.

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。


下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表