一种基于视频流的无人机实时三维模型重建技术

2024-03-18 05:12宋亚婷纪任鑫陈军鹏
科技创新与应用 2024年7期
关键词:视差关键帧三维重建

李 虹,宋亚婷,曹 琳,纪任鑫,陈军鹏,吴 琨

(1.中国消防救援学院,北京 100000;2.北京航空航天大学自动化科学与电气工程学院,北京 100000)

随着无人机的广泛应用,利用无人机拍摄的数据进行快速三维模型重建成为测绘、应急、VR 等领域的重要研究课题。传统的三维重建通常使用运动恢复结构(Structure From Motion,SFM)技术[1],但SFM 整体优化非常耗时,很难达到实时处理的要求。而视觉SLAM 技术[2]基本处理框架与SFM 相似,但通过图优化技术和并行处理达到实时效果。Artal 等[3]提出了ORB-SLAM 方法,视觉SLAM 精度和实时性都得到了提高,但没有较好的地图模块。研究团队经过改进,在ORB-SLAM 的基础上推出了ORB-SLAM2[4],增加了双目和RGB-D 深度相机模式,使其有了更强的应用性。Engel 等[5]提出了LSD-SLAM 算法,它是一种大规模单目SLAM 方法,通过使用关键帧与另一个传入帧进行比较,可以创建更有意义的环境表示,无需存储处理过的特征,从而实时创建半稠密的三维地图。但上述算法依旧存在的主要问题是,位置和姿态的精度较低,并只能得到稀疏点云或者半稠密点云。

1 研究方法概述

本文方法主要包括关键帧抽取模块、关键帧匹配与整体优化模块、密集匹配模块。分别用3 个进程运行,并行密集匹配技术基于GPU 来实现。针对目前三维重建难以实现实时三维密集点云模型重建的缺点,提出一种实时无人机三维重建系统,在视觉SLAM 基础上融合了无人机POS 信息、并行密集匹配和点云匹配技术。整体框架如图1 所示。

图1 本文算法框架流程图

2 特征检测与关键帧提取

2.1 特征提取与匹配方法

实时三维重建的各个模块均依赖于特征提取的准确度以及速度,在本文算法中,特征的提取均采用ORB 算法[6],ORB 特征是采用FAST 关键点作为特征点,在图片中随机选取某一个像素点p,以r为半径选取候选区域。若区域中存在一组连续且亮度均高于或低于待检测像素亮度值与设定阈值之和的N个像素,则定义该像素点为特征点。为了使特征具有旋转不变性,通过灰度不变性计算每一个FAST 角点的方向。其次,利用BRIEF[7]描述子作为特征点描述的特征检测方法,具有精度高、旋转不变性等特点。最后利用特征描述子进行特征匹配,使用KD-Tree 进行最近邻查找,在通过两张图像的双向匹配排除误匹配点(图2)。

图2 FAST 角点提取结果示意图

2.2 关键帧抽取

本文提出利用相机标定参数和POS 数据来获取关键帧。如图3 所示,视频流数据首先需要确定第一个关键帧,如果特征点的数量大于100,将其设置为第一个关键帧,并将第一个关键帧设置为当前关键帧。根据POS 数据提供的高度信息和相机标定数据提供的焦距,以及视频帧的尺寸值可以计算出视频帧和当前关键帧所覆盖的地面区域的重叠率。

图3 抽取关键帧方法流程图

3 模型初始化与整体优化

本文通过结合POS 信息来进行模型初始化,如图4 所示,利用POS 数据提供的位置和姿态来计算出匹配点对应的三维坐标。但是由于POS 数据的位置和姿态存在误差,特别是姿态的误差对三维模型的精度影响较大,引入5 点法相对定向计算立体模型的相对位姿,并将其作为约束,与投影约束一起进行图优化整体求解,得到精度较高的三维模型。

图4 立体三维模型的初始化流程图

3.1 5 点法相对定向

基于特征匹配结果,并结合随机一致性采样方法[8]可以得到误差最小的基本矩阵。然后对基本矩阵进行奇异值分解来得到相对定向的结果,即位姿R与平移t的值。假设基本矩阵为E,对E进行SVD 分解,得

式中:U、V分别为正交矩阵,Σ 为奇异阵。则位姿R与平移t为

最后,利用重建的三维点坐标根据实际成像时目标相对位置排除错误的相对定向结果(图5)。

图5 5 点法相对定向的流程图

3.2 光束法整体优化

当新的关键帧被提取后进行关键帧匹配,若匹配成功将根据匹配结果来提取对应的三维点,并对三维模型点云进行不断扩充。利用连接点和特征点之间的对应关系,可以恢复出关键帧的位置和姿态。当关键帧匹配失败后暂时保留匹配失败的关键帧,并利用POS数据作为关键帧的位置和姿态。当后续更新关键帧,利用其他的关键帧更新匹配失败的关键帧的位置和姿态,从而实现更为完整的三维重建效果。当新的关键帧位置和姿态的初始值计算出来后,将目前所有的关键帧和点云数据进行光束法的整体平差,提高位置姿态参数,以及三维点云的精度。

光束法平差数学模型:

光束平差法通常需要对旋转矩阵进行求导,而旋转矩阵通常因正交性质会使得优化困难。因此,本文使用李群李代数,将位姿估计转变为无约束优化求解。假设点P在2 个关键帧中的投影分别为P1、P2。关键帧2相对关键帧1 的旋转矩阵与平移分别为R和t,并采用李代数ξ 表示。假设空间中存在一点Pi,根据小孔成像模型可得

将Pi投影至图像上存在一定的残差,对所有点的反投影误差进行累加求和,并需使累积误差和最小,则可表示为

式中:通过对其线性化并对点Pi进行求导,以及对空间点P进行求导即可得到点P的最优解。因此,需要采用最小二乘法对平差求解。

4 点云匹配

4.1 密集匹配

在光束法整体优化的基础上,继续用密集匹配计算图像中每个像素点的三维坐标。首先用并行的密集匹配技术来对图像中的每个像素点进行匹配,通过半全局匹配实现立体相对的密集匹配与三维重建,因此每增加一个关键帧,就在关键帧和相邻的关键帧之间进行密集匹配,得到新的点云数据。由于关键帧的位置和姿态存在误差,所以,新的点云数据和已有的点云数据之间会出现错位的问题。本文利用点云匹配技术来实现点云的融合,具体是采用广义迭代最近点(Generalized Iterative Closest Point,GICP)算法[10]进行点云匹配。点云融合后可以生成三角网并进行纹理映射,最终得到具有真实纹理的三维模型(图6)。

图6 密集匹配流程图

4.2 半全局匹配

半全局匹配采用最优化能量函数的思想。主要步骤如下。

1)匹配代价计算。根据左右图像中的灰度、梯度信息,按照相似度在视差范围内搜索区域内进行度量。

2)匹配代价聚合。对匹配点领域内所有匹配代价求和。为了建立邻接像素之间的联系并优化代价矩阵,使用相邻像素的视差值对代价矩阵进行全局优化,即每个像素在某个视差下的新代价值都会根据其相邻像素在相同视差值或附近视差值下的代价值重新计算。这样就得到了新的代价矩阵,可以用矩阵S 来表示。

3)视差计算。根据代价聚合结果,可以选择出最优匹配代价。在视差计算中,使用经过代价聚合的代价矩阵S 确定每个像素的最优视差值。

4)优化视差结果。对视差图采用左右一致性检查算法进行优化,减少误匹配结果产生的视差;采用剔除小连通区域算法来排除孤立的异常点,以提高结果的准确性。

5 实验测试

5.1 实验环境与设置

实验软件环境为Linux 平台,操作系统为Ubuntu18.04。模型训练在GPU 型号为NVIDIA GeForce GTX 1660 Ti 上的设备进行,显存为8 G。测试使用的CPU 型号i7-9750H。

5.2 实验结果与分析

图7 展示了本文算法在无人机实时航拍数据上的三维重建结果。

图7 三维重建效果图

利用无人机对某区域进行航拍作为实验分析实例,相机分辨率为4 096×2 160@30 fps 的可见光相机,拍摄路线间距为38.2 m,长度为478.1 m,曝光间距为16.1 m。航拍影像航向重叠度为70%,旁向重叠度为60%,影像的地面分辨率约为0.05 m。由图7 可知,本文提出的方法对该区域实现了较好的实时三维重建,局部纹理特征明显,重建密集点云精度高,在保证实时性的情况下保证了数据的质量。在三维重建完成后可以精确定位点云坐标,并且点云之间的长度及面积也有较高的计算精度。

6 结束语

本文深入研究了无人机航拍实时三维重建的方法,针对当前无人机三维重建过程无法保证实时性以及点云稀疏的问题,提出了一种融合POS 信息、并行密集匹配和点云匹配技术的实时三维模型重建方法。实验结果表明,本文方法可实时重建稠密点云的三维模型,生成后的模型局部特征明显,为测绘等领域提供了一种实时的无人机三维重建方法。

猜你喜欢
视差关键帧三维重建
基于自适应窗的立体相机视差图优化方法研究
基于Mimics的CT三维重建应用分析
基于梯度域引导滤波的视差精炼迭代算法
基于改进关键帧选择的RGB-D SLAM算法
基于关系图的无人机影像三维重建
基于分割树的视差图修复算法研究
三维重建结合3D打印技术在腔镜甲状腺手术中的临床应用
基于相关系数的道路监控视频关键帧提取算法
立体视差对瞳孔直径影响的研究
基于聚散熵及运动目标检测的监控视频关键帧提取