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

一种基于NeRF的ORB-SLAM3系统AR实时可视化方法和系统

文献发布时间:2024-04-18 19:58:53


一种基于NeRF的ORB-SLAM3系统AR实时可视化方法和系统

技术领域

本发明涉及增强现实领域,具体涉及一种基于NeRF的ORB-SLAM3系统AR实时可视化方法和系统

背景技术

近几年,神经辐射场(NeRF,Neural Radiance Fields)兴起并发展迅速,在2020年NeRF获得ECCV best paper后受到广大的关注。NeRF的发展主要是基于NeRF问题的改进和基于NeRF的应用两个方面。基于NeRF问题的改进包括速度慢、只针对静态场景、泛化性差、需要大量视角等问题;基于NeRF的应用包括逆渲染、可控编辑、多模态、图像处理、视频处理等领域。现有的模块化的Python框架Nerfstudio为NeRF应用提供了一个简单的API,用于神经辐射场NeRF的开发。允许简化创建,训练和可视化NeRF的端到端过程。该库通过模块化每个组件来支持NeRF的可解释实现。因此环境及物理实体可通过NeRF技术进行云端渲染。

因此,基于NeRF技术进行模型云端渲染,如何将环境及物理实体进行虚实融合实现和发展,成为了待研究的方向。

发明内容

本发明为了克服以上技术的不足,提供了一种基于NeRF的ORB-SLAM3系统AR实时可视化方法和系统,通过NeRF技术进行云端渲染所需环境及物理实体,再通过SLAM技术环境及物理实体分别对应的场景实时视频流及视频帧相应IMU数据进行实时处理,并采用自研AR可视化进行实施模型计算和特征点绘制,从而实现AR可视化。

本发明克服其技术问题所采用的技术方案是:本申请的第一个方面提出了一种基于NeRF的ORB-SLAM3系统AR实时可视化方法,包括S1、基于图像捕捉传感器获取建模视频流,并对建模视频流基于NeRF渲染得到渲染模型从而输出至AR可视端;S2、基于图像捕捉传感器获取场景实时视频流,并基于ORB-SLAM3系统对场景实时视频流进行关键帧选取、特征点提取和相机位姿估计从而得到视频流关键帧数据、特征点数据和相机位姿态数据;S3、基于AR可视端获取视频流关键帧数据、特征点数据和相机位姿态数据进行实时视角场景绘制,以及基于AR可视端和渲染模型进行实时渲染模型计算和绘制,从而实现渲染模型AR可视化至实时视角场景。

进一步的,所述步骤S1基于图像捕捉传感器获取建模视频流,并对建模视频流基于NeRF渲染得到渲染模型从而输出至AR可视端,具体包括:S11,基于图像捕捉传感器获取建模视频流或带有时间戳的有序建模图片序列;S12,将建模视频流或带有时间戳的有序建模图片序列转换为预设格式视频流并上传至云端;S13,基于NeRF对预设格式视频流进行渲染得到三维点云;S14,对三维点云进行mesh处理得到渲染模型。

进一步的,所述视频流关键帧数据至少包括关键帧图像存储格式和对应的关键帧图像颜色编码格式。

进一步的,所述ORB-SLAM3系统至少配置完成图像捕捉传感器对应的相机内外参数,特征相关参数和标定参数。

进一步的,所述步骤S2还包括,S211,基于惯性传感器获取对应图像捕捉传感器获取的场景实时视频流的惯性传感器数据;S212,将采集的惯性传感器数据输入至ORB-SLAM3系统;S213,基于惯性传感器数据对场景实时视频流进行关键帧选取、特征点提取和相机位姿估计。

进一步的,所述AR可视端基于Pangolin库构建。

进一步的,所述步骤S3具体包括:S31、AR可视端基于接收的场景绘制指令,并基于AR可视端获取的关键帧数据和相机位姿态数据加载渲染模型进行实时视角场景绘制;S32,AR可视端基于接收的模型绘制指令,加载渲染模型绘制并进行渲染模型实时计算。

进一步的,所述步骤S3还包括:S33,AR可视端基于接收的特征点绘制指令,基于实时特征点数据进行绘制;S34,AR可视端基于接收的阴影绘制指令,对渲染模型的光源进行调整,从而进行渲染模型的阴影绘制。

进一步的,所述步骤S32具体包括;S321,加载存储的渲染模型;S322,基于场景实时视频流确定世界坐标系,即通过视场宽高度、相机内外参数等确定投影矩阵和模型视图矩阵,并加载相机位姿;S323,通过AR端信号判断是否对渲染模型存储树进行清空处理,并基于接收的模型绘制指令,加载渲染模型的id和位姿,并对其进行平面检测后加入到平面动态存储结构体中;S324,将平面存储体中已检测平面的模型逐个加载到视窗。

本申请的第二个方面提出了一种基于NeRF的ORB-SLAM3系统AR实时可视化系统,至少包括图像捕捉传感器、云端和客户端,所述客户端至少包括ORB-SLAM3系统和AR可视端,所述图像捕捉传感器,用于采集建模视频流和场景实时视频流并分别对应输出至云端和ORB-SLAM3系统,所述云端用于运行NeRF从而得到渲染模型输出至AR可视端,所述ORB-SLAM3系统,用于对场景实时视频流进行实时计算从而得到实时场景数据,并输出至AR可视端;所述AR可视端,用于基于获取的渲染模型和得到的实时场景数据,进行AR可视化绘制。

本发明的有益效果是:

1、采用NeRF实现了的实体或环境的云端渲染,简化创建、训练和可视化NeRF的端到端的过程;

2、采用SLAM对场景实时视频流及视频帧对应的IMU数据进行实时处理,增强了数据关联性,提高了地图的准确性,基于单、双目的视觉惯性系统,包括惯性传感器(IMU)初始化阶段。

3、AR可视端实时采集场景实时视频流和渲染模型,并根据需要自主调整渲染模型的位姿和大小和自主绘制,对于AR商业化应用具有现实意义。

附图说明

图1为本发明实施例的一种基于NeRF云端渲染技术的ORB-SLAM3系统AR实时可视化方法的流程图;

图2为本发明实施例的一种基于NeRF云端渲染技术的ORB-SLAM3系统AR实时可视化系统的原理框图;

图3为本发明实施例的对三维点云进行mesh处理得到渲染模型的示意图;

图4为本发明实施例的基于ORB-SLAM3系统对场景实时视频流进行处理的流程示意图;

图5为本发明实施例的AR可视端进行可视化的流程示意图;

图6为本发明实施例的AR可视端进行模型处理的流程示意图;

图7为基于本发明实施例的一种基于NeRF云端渲染技术的ORB-SLAM3系统AR实时可视化方法得到的花箱AR可视化至实时视角场景的示意图。

具体实施方式

为了进一步理解本发明,首先对本发明提到的部分术语进行解释:

SLAM:即时定位与地图构建(Simultaneous Localization and Mapping,简称SLAM)是一个专用术语,也称为CML(Concurrent Mapping and Localization)或并发定位与建图。

ORB-SLAM3:ORB-SLAM3是一个支持视觉、视觉加惯导、混合地图的SLAM系统,可以在单目相机,双目相机和RGB-D相机等相机上利用针孔或者鱼眼模型运行。

COLMAP:一种基于计算机视觉的三维重建工具,它可以将多张图像转化为三维模型。Colmap的原理是通过图像匹配和三角测量来实现三维重建。

为了便于本领域人员更好的理解本发明,下面结合附图和具体实施例对本发明做进一步详细说明,下述仅是示例性的不限定本发明的保护范围。

如图1所示,本实施例所述的一种基于NeRF云端渲染技术的ORB-SLAM3系统AR实时可视化方法,包括S1、基于图像捕捉传感器获取建模视频流,并对建模视频流基于NeRF渲染得到渲染模型从而输出至AR可视端;S2、基于图像捕捉传感器获取场景实时视频流,并基于ORB-SLAM3系统对场景实时视频流进行关键帧选取、特征点提取和相机位姿估计从而得到视频流关键帧数据、特征点数据和相机位姿态数据;S3、基于AR可视端获取关键帧数据、特征点数据和相机位姿态数据进行实时视角场景绘制,以及基于AR可视端和渲染模型进行实时模型计算和绘制,从而实现渲染模型AR可视化至实时视角场景。

以下通过应用到图2的基于NeRF云端渲染技术的ORB-SLAM3系统AR实时可视化系统的具体实施例对每个步骤进行详细说明如下。

S1,基于图像捕捉传感器获取建模视频流,并对建模视频流基于NeRF渲染得到渲染模型从而输出至AR可视端。具体包括如下几个步骤:

S11,基于图像捕捉传感器获取建模视频流或带有时间戳的有序建模图片序列。

图像捕捉传感器可以是AR眼镜,相机、摄像头等任意一种图像获取装置,从而获得Images图像集、Video视频数据。

S12,将建模视频流或带有时间戳的有序建模图片序列转换为预设格式视频流并上传至云端。

NeRF API(Nerfstudio)针对Images图像集、Video视频数据Data可使用Any任意捕捉设备Capture Device,但要求经过COLMAP处理,在发明的一个实施例中,采用COLMAP使建模视频流变成Nerfstudio能直接读取处理的格式。

S13,基于NeRF对预设格式视频进行渲染得到三维点云。

如图3所示,由运行NeRF API的服务器从云端得到预设格式视频流Video,并对视频流进行渲染处理,从而得到三维点云Point Cloud。

S14,对三维点云进行mesh处理得到渲染模型。

如图3所示,对三维点云Point Cloud进行mesh处理得到obj格式的渲染模型。

并基于NeRF API的导出功能使obj格式的渲染模型输出至AR可视端。

S2,基于图像捕捉传感器获取场景实时视频流,并基于ORB-SLAM3系统对场景实时视频流进行关键帧选取、特征点提取和相机位姿估计从而得到视频流关键帧数据、特征点数据和相机位姿态数据。如图4所示,为基于ORB-SLAM3系统对场景实时视频流进行处理的流程示意图,具体包括以下步骤:

S21,通过图像捕捉传感器获取场景实时视频流,连续捕获场景图像。惯性传感器同步监测图像捕获装置移动数据,从而获取相应场景实时视频流视频帧所对应时刻装置的运动状态和姿态。

惯性传感器是一种用于检测物体的运动状态和姿态的传感器,通常由三个主要的惯性测量单元(IMU)组成,包括加速度计和陀螺仪。惯性传感器通过测量物体的加速度和角速度来获取相关的数据。

S22,将得到的场景实时视频流和IMU获取数据实时输入至ORB-SLAM3系统。

其中,对于场景实时视频流的视频图像帧的捕捉可调用opencv库函数,用库函数捕捉图片信息,用时间排序,并将时间排序后的图片输入至ORB-SLAM3系统。

其中,ORB-SLAM3系统需对接好软硬件接口,配置相关环境,

在一些实施方式中,ORB-SLAM3系统的软件配置需要克隆ORB-SLAM3代码库,安装依赖项、第三方库和工具,例如OpenCV、Eigen、DBoW2、g2o、Pangolin等;构建运行程序代码,例如CMake、make。

硬件方面完成所需预操作,如AR眼镜的硬件驱动安装,图像捕捉传感器对应的相机内外参数、特征相关参数和标定参数的配置等。

S23,ORB-SLAM3系统对场景实时视频流进行关键帧选取、特征点提取和相机位姿估计。

在一些实施方式中,关键帧选取通过视频流的帧间的相对运动信息来确定关键帧。采用了累积误差,当当前帧与最近一个关键帧之间的累积旋转或平移运动超过阈值时,将当前帧选为新的关键帧。

特征点提取采用FAST特征检测+BRIEF描述子。首先使用FAST角点检测器检测图像中的角点作为特征点候选集。接着对特征点进行方向计算,并根据特征点周围的像素值计算BRIEF描述子。

特征点匹配和优化方法来估计相机的位姿。匹配当前帧与最近关键帧之间的特征点对应关系。再利用匹配对,通过PnP、EPnP算法初始估计位姿。然后,通过光束平差法(Bundle Adjustment,BA)进行非线性优化相机位姿,提高位姿估计的准确性。

S3,基于AR可视端获取关键帧数据、特征点数据和相机位姿态数据进行实时视角场景绘制,以及基于AR可视端和渲染模型进行实时模型计算和绘制,从而实现渲染模型AR可视化至实时视角场景。如图5所示,其为AR可视端进行可视化的流程示意图。在一些实施中,AR可视端基于Pangolin库进行构建,从而可实现窗口创建、设置与实现(也可调用Qt等相关库进行完成),基本窗口需包括窗口、操作界面、绘制界面区域,操作界面需保证有图像绘制、特征点绘制选择框,模型插入、清空键及模型位姿和大小调整键,也可有平面网格绘制键。

S31、AR可视端基于接收的场景绘制指令,并基于AR可视端获取的关键帧数据和相机位姿态数据加载渲染模型进行实时视角场景绘制;

如图5所示,AR可视端启动后等待AR端同步信号传入,如果有AR端同步信号传入,则创建GUI窗口,通过创建的GUI窗口的图像绘制键选择是否进行实时场景图像绘制。如果不进行图像绘制,即绘制界面为空,可以是默认全黑或其它。如果进行图像绘制,则基于获得的实时视频流关键帧、相应特征点及相机位姿信息等数据进行实时视角场景绘制。其中,AR可视端获取的数据至少包括关键帧图像存储格式、图片颜色编码格式(RBG/BGR/UVUY等),特征点存储、相机位姿、关键帧,其均以参数形式进行传输。图片颜色编码格式输入和输出须统一。

S32,AR可视端基于接收的模型绘制指令,加载渲染模型绘制并进行渲染模型实时计算。

通过创建的GUI窗口的模型相关键选择是否进行实时模型计算与加载绘制。其中模型可以选择多个模型,并基于GUI窗口对模型位姿和大小进行调整。从而完成模型的处理。

其中模型处理的流程示意图如图6所示,首先对图5中加载渲染好的AR模型进行存储调用;再通过实时场景视频流确定世界坐标系,即通过视场宽高度、相机内外参数等确定其投影矩阵、模型视图矩阵,同时加载相机位姿;然后通过AR端信号判断是否对渲染模型存储树进行清空处理,若有需绘制的已渲染模型,则对模型的id和位姿进行加载,并对其进行平面检测、加入平面动态存储结构体中;最后对平面存储体中已检测平面的模型逐个处理加载到视窗,具体包括GPU加载模型、对模型进行转换投影至场景的世界坐标系、对模型进行旋转缩放处理等。

在一些实施方式中,AR可视端还可以基于接收的特征点绘制指令,基于实时特征点数据进行绘制。例如通过创建的GUI窗口的特征点绘制键选择是否进行实时特征点集绘制。还可以通过基于接收的阴影绘制指令,对渲染模型的光源进行调整,从而进行渲染模型的阴影绘制,其中,默认光源坐标为相机位姿,可通过调整键进行光源调整为光源类型、光源位姿、光亮强度等光源信息。

如图7所示为通过上述基于NeRF云端渲染技术的ORB-SLAM3系统AR实时可视化方法,实现的将花箱AR可视化至实时视角场景的示意图。

本发明的另一个实施例提出了一种基于NeRF云端渲染技术的ORB-SLAM3系统AR实时可视化系统,至少包括:图像捕捉传感器、云端和客户端,所述客户端至少包括ORB-SLAM3系统和AR可视端,其中,图像捕捉传感器,用于采集建模视频流和场景实时视频流并分别对应输出至云端和ORB-SLAM3系统;云端,用于运行NeRF从而得到渲染模型输出至AR可视端;客户端,ORB-SLAM3系统,用于对场景实时视频流进行实时计算从而得到实时场景数据,并输出至AR可视端,AR可视端,用于基于获取的渲染模型和得到的实时场景数据,进行AR可视化绘制。

在一些实施方式中,AR实时可视化系统可以由一个AR眼镜实现,图像捕捉传感器可以为AR眼镜的摄像头,客户端可以内置AR眼镜的控制器中,从而实现渲染模型AR可视化至实时视角场景。

需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

专业人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

相关技术
  • 一种基于三维可视化员工实时定位系统及方法
  • 一种无人机激光探测实时可视化方法、系统及存储介质
  • 一种基于AR眼镜的电力屏柜压板状态识别方法及系统
  • 一种基于BIM+AR钢筋图集可视化方法与系统
  • 一种基于AR的施工BIM模型可视化方法及系统
技术分类

06120116514335