掌桥专利:专业的专利平台
掌桥专利
首页

一种具有深度预测的单目3D重建方法

文献发布时间:2023-06-19 12:13:22


一种具有深度预测的单目3D重建方法

技术领域

本发明涉及三维重建技术领域,具体是一种具有深度预测的单目3D重建方法。

背景技术

近年来,许多研究人员将注意力放到了具有细节信息的室内密集三维重建。同步定位与地图构建技术旨在解决未知环境中的导航和地图构建问题,已被证明是一种可行的三维重建方法。随着深度相机的发布,出现了许多优秀的SLAM方法如:KinectFusion,InfiniTAM,ElasticFusion,RGB-D SLAM等。这些方法可以广泛应用于自动驾驶、模型构建、增强现实等领域。但是深度相机的不足给这些方法带来了难以克服的局限性。首先,深度相机的探测范围有限,且对光照条件十分敏感,这导致上述方法在光照不均匀的条件下重建精度很差。其次,深度摄像头在消费级设备上远未普及,使其很难在真实场景上应用。

为了克服上述不足,一些研究人员提出了单目同步定位与地图构建技术(SLAM)。这些方法在连续的相邻帧上执行特征匹配,使用立体匹配来恢复图像深度信息,并最终重建目标场景。然而,不确定的绝对尺度限制了这些方法的应用前景。即使位姿估计和表面重建均准确完成,最终的重建结果仍然让人难以接受。单目同步定位与地图构建技术的另一个限制是纯旋转运动条件下的位姿估计问题,当相机进行纯旋转运动时,无法找到相应的立体匹配,这将导致跟踪和重建的失败。

与此同时,深度学习在三维重建领域取得了巨大成功。训练后,神经网络能够从单幅图像,立体图像或图像集合中预测深度值。网络通过调整网络结构可直接从训练数据集中学习整个三维重建处理框架。此外深度学习可以从图像中直接获取场景的绝对尺度而不需要其他辅助信息。然而,这些方法也有其缺点,很难训练神经网络直接使用多视图几何的基本原理。此外,网络预测的深度会部分模糊,导致重建场景缺少形状细节。

发明内容

本发明要解决的技术问题是提供一种具有深度预测的单目3D重建方法,能够解决现有技术的不足,实现大规模高质量的三维重建。

本发明的内容包括以下步骤:

A、使用单目深度估计网络获得RGB图像的深度图和粗略的位姿估计;

B、结合ICP算法和PnP算法来计算相机位姿估计,在局部和全局两个级别上执行回环检测,以保证重建模型的一致性,并利用不确定性对深度图进行细化,提高重建质量;

C、将深度图转化为全局模型,然后将当前帧的随机蕨类编码插入数据库中。

作为优选,步骤A中,在前向传播阶段,子网之间的迭代优化可以产生准确的深度预测。然后,我们根据相机参数校正深度图,并将结果传输到位姿估计模块。

作为优选,步骤A中,

利用多视图几何原理将RGB图转化为深度图;首先,每个RGB图使用一个由两个沙漏模块组成的2D特征提取器来提取特征并通过后台项目构建成本量;然后将成本量用于立体匹配,并使用池化层在不同视图之间聚合信息;3D沙漏模块用于处理汇总成本量以获取中间深度;在深度维度中,Softmax运算符用于获取每个像素深度的概率分布,以便将最大深度函数映射为深度估计;

通过解决最小二乘问题来优化位姿估计;通过使用2D特征提取器提取RGB图片的特征并预测当前帧与关键帧之间的相对运动;沙漏网络传输连接的特征图并计算残差流;使用可微分的高斯牛顿法来优化残差项的组合以计算位姿校正项。

作为优选,步骤A中,在进行深度预测之后,对网络预测得到的深度图进行深度校正,使用以下公式调整深度图,

其中,

作为优选,步骤B中,

将场景表示为一组无序的面圆M,所有面圆

作为优选,步骤B中,

在姿态估计当中,定义RGB帧

其中,

其中,

计算当前帧的预测深度图

其中,

作为优选,步骤B中,

对帧到模型误差和帧到帧误差进行加权,损失函数如下,

其中,

目标是求解

将当前深度图

其中

使用不同深度图中同一场景点的平方误差来描述深度图的不确定性,将点的不确定性初始化为相邻深度图之间像素深度的平方差:

初始化之后,根据以下加权方法对深度图

作为优选,步骤C中,

使用局部和全局两个级别的回环检测来消除重建模型的偏移误差;如果当前帧与模型中的面圆匹配,则更新面圆的相关参数,并修改更新时间;将超过

设活动区域偏离非活动区域,并且本地环路无法闭合,采用全局闭环方法来引导表面融合,并使活动区域与非活动区域对齐,以实现全局一致性;使用随机蕨类编码方法进行全局回环检测;对当前帧进行蕨类编码之后再数据库中进行匹配,如果匹配成功且满足相关约束则执行表面变形。

作为优选,步骤C中,

表面融合的目标是将深度图集成到全局模型当中;将所有活动的面圆投影到当前图像平面上,以找到面圆之间的对应关系;然后依据法线角度,与视线的距离和置信度对面圆进行筛查;确定关联关系之后,对面圆进行平均,并更新面圆的相关属性;最后从模型中删除不稳定的面圆;对于更新过的面圆,如果存在重叠面圆且属性值类似,则将这些面圆也融合起来。

作为优选,步骤C中,按照硬件平台的计算能力对系统中的若干参数进行动态调整,进行动态调整的参数包括,

在进行跟踪之前,是否对两帧图像计算像素差的平方和,以实现预对准;

在进行特征点提取的时候,对高斯金字塔的层数进行调整;

通过改变时间窗口阈值大小,对处于活跃状态的面圆数量进行调整;

在深度预测过程中,对迭代次数和同时进行深度预测的图像数目进行调整。

本发明的有益效果是:本发明可以高质量地重建室内场景,解决了用于三维重建的传感器和用于捕获训练数据集的传感器参数不同的问题。通过对位姿估计的联合优化方法,可在深度信息不足的情况下有效地改善跟踪和3D重建精度。在获得相机位姿的基础上,利用深度细化策略实现提高了深度预测的精度。另外,针对各种硬件平台条件自适应调整系统参数,在保持重建精度的同时又提高了帧率。

附图说明

图1为本发明的原理图。

图2为使用CNN-SLAM在NYU Depth v2数据集的kitchen_0046序列上的重建结果。

图3为使用本发明在NYU Depth v2数据集的kitchen_0046序列上的重建结果。

图4为使用CNN-SLAM在ICL-NUIM数据集的起居室kt2序列上的重建结果。

图5为使用本发明在ICL-NUIM数据集的起居室kt2序列上的重建结果。

图6为使用CNN-SLAM在TUM RGB-D数据集的fr1_rpy序列上的重建结果。

图7为使用LSD-SLAM在TUM RGB-D数据集的fr1_rpy序列上的重建结果。

图8为使用本发明TUM RGB-D数据集的fr1_rpy序列上的重建结果。

图9为自适应策略在GeForceGTX1660TiGPU上对系统性能影响的对比图。

图10为自适应策略在GeForceGTX2080GPU上对系统性能影响的对比图。

图11为自适应策略在RTXTITANGPU上对系统性能影响的对比图。

图12为三种GPU的平均处理时间对比图。

图13为三种GPU的3D重建性能对比图。

具体实施方式

一种具有深度预测的单目3D重建方法,包括以下步骤:

A、使用单目深度估计网络获得RGB图像的深度图和粗略的位姿估计;

B、结合ICP算法和PnP算法来计算相机位姿估计,在局部和全局两个级别上执行回环检测,以保证重建模型的一致性,并利用不确定性对深度图进行细化,提高重建质量;

C、将深度图转化为全局模型,然后将当前帧的随机蕨类编码插入数据库中。

步骤A中,在前向传播阶段,子网之间的迭代优化可以产生准确的深度预测。然后,我们根据相机参数校正深度图,并将结果传输到位姿估计模块。

步骤A中,

利用多视图几何原理将RGB图转化为深度图;首先,每个RGB图使用一个由两个沙漏模块组成的2D特征提取器来提取特征并通过后台项目构建成本量;然后将成本量用于立体匹配,并使用池化层在不同视图之间聚合信息;3D沙漏模块用于处理汇总成本量以获取中间深度;在深度维度中,Softmax运算符用于获取每个像素深度的概率分布,以便将最大深度函数映射为深度估计;

通过解决最小二乘问题来优化位姿估计;通过使用2D特征提取器提取RGB图片的特征并预测当前帧与关键帧之间的相对运动;沙漏网络传输连接的特征图并计算残差流;使用可微分的高斯牛顿法来优化残差项的组合以计算位姿校正项。

步骤A中,在进行深度预测之后,对网络预测得到的深度图进行深度校正,使用以下公式调整深度图,

其中,

步骤B中,

将场景表示为一组无序的面圆M,所有面圆

步骤B中,

在姿态估计当中,定义RGB帧

其中,

其中,

计算当前帧的预测深度图

其中,

步骤B中,

对帧到模型误差和帧到帧误差进行加权,损失函数如下,

其中,

目标是求解

将当前深度图

其中

使用不同深度图中同一场景点的平方误差来描述深度图的不确定性,将点的不确定性初始化为相邻深度图之间像素深度的平方差:

初始化之后,根据以下加权方法对深度图

步骤C中,

使用局部和全局两个级别的回环检测来消除重建模型的偏移误差;如果当前帧与模型中的面圆匹配,则更新面圆的相关参数,并修改更新时间;将超过

设活动区域偏离非活动区域,并且本地环路无法闭合,采用全局闭环方法来引导表面融合,并使活动区域与非活动区域对齐,以实现全局一致性;使用随机蕨类编码方法进行全局回环检测;对当前帧进行蕨类编码之后再数据库中进行匹配,如果匹配成功且满足相关约束则执行表面变形。

步骤C中,

表面融合的目标是将深度图集成到全局模型当中;将所有活动的面圆投影到当前图像平面上,以找到面圆之间的对应关系;然后依据法线角度,与视线的距离和置信度对面圆进行筛查;确定关联关系之后,对面圆进行平均,并更新面圆的相关属性;最后从模型中删除不稳定的面圆;对于更新过的面圆,如果存在重叠面圆且属性值类似,则将这些面圆也融合起来。

步骤C中,按照硬件平台的计算能力对系统中的若干参数进行动态调整,进行动态调整的参数包括,

在进行跟踪之前,是否对两帧图像计算像素差的平方和,以实现预对准;

在进行特征点提取的时候,对高斯金字塔的层数进行调整;

通过改变时间窗口阈值大小,对处于活跃状态的面圆数量进行调整;

在深度预测过程中,对迭代次数和同时进行深度预测的图像数目进行调整。

由于系统中大多数的计算任务都在GPU中进行,因此上述自适应策略将GPU的计算能力指数作为输入。通过NVIDIA的官方网站上获得了GPU的计算能力指数。综上所述,本发明的优化元组为

表1

跟踪精度实验评估

使用ICL-NUIM和TUM RGB-D这两个公开数据集对本发明的跟踪精度进行实验。ICL-NUIM数据集是由计算机合成的,包含了起居室和办公室两个场景,共8个序列。TUM数据集是通过深度相机收集的真实场景数据,经常用来测试算法的跟踪准确性。为了确保实验结果的可靠性,将跟踪结果与许多出色的单目SLAM系统进行了比较,并与基于直接法的LSD-SLAM和基于特征点法的ORB-SLAM进行了比较。此外,还与Laina等人的工作进行了比较,他们将CNN网络预测的深度图输入到最先进的RGB-D SLAM当中完成对场景的重建。为了试验的完整性,还与CNN-SLAM进行了比较。绝对轨迹均方根误差(ATE RMSE)是位姿估计值与地面真实值之间欧氏距离的均方根值,可以直观的反应算法的准确性和轨迹的全局一致性。按照惯例,也使用ATE RMSE来描述系统的跟踪性能。为了证明联合PnP算法用于位姿估计的有效性,将未添加PnP算法的结果作为性能基准。ATE RMSE的结果显示在表2中。本发明(RGB-Fusion)在所有场景中均显示了令人满意的结果,并且本发明的跟踪性能在大多数序列中精度都是最高的。

表2

深度估计实验评估

评估了深度估计性能作为系统3D重建效果的基本参考。测量了预测深度值和地面真值之间的差异的像素的百分比,以便评估深度预测的性能。

表3

重建精度实验评估

利用Handa等人提出的度量标准来量化重建精度,该精度表示从重建模型上的面圆到地面真实模型上最近的面圆的平均距离。由于ICL-NUIM数据集提供了地面真实三维模型,因此在此数据集上进行重建性能的评估。为了试验更加完整,与最先进的SfM系统COLMAP和VisualSfM进行了比较,结果如表4(单位:米,RGB-Fusion表示没有PnP算法的重建精度,RGB-Fusion(op)代表有PnP算法的重建精度)所示。如图2-8所示,还在三个数据集上对CNN-SLAM和本发明(RGB-Fusion)进行了定性比较,实验结果表明本发明的方法表现更好。

表4

自适应策略的影响

在不使用自适应策略的情况下评估了平均帧延迟和3D重建精度。如果不使用自适应策略,则本发明将使用默认参数重建场景。在硬件平台上计算能力不足的情况下,它将显著增加帧的处理延迟。在具有不同计算能力的三种硬件平台上分别运行本发明所提出的重建方法(分别配备GeForceGTX1660TiGPU,GeForceGTX2080GPU和RTXTITANGPU)以比较自适应策略对系统性能的影响。如图9-12所示(数据是在ICL-NUIM数据集的起居室kt1序列上测量的),在不同的硬件条件下使用自适应策略时,每个序列的帧处理时间减少了15ms以上。图13(数据是在ICL-NUIM数据集的起居室kt1序列上测量的)显示了采用和不采用自适应策略时本发明的3D重建性能。每个硬件平台的3D重建误差增加了不到0.03m。简而言之,自适应策略可以有效地减少帧处理延迟,同时保持相似的重建性能。

相关技术
  • 一种具有深度预测的单目3D重建方法
  • 一种具有深度预测的单目3D重建方法
技术分类

06120113210432