增强现实虚实融合方法、电子设备和存储介质

未命名 10-09 阅读:207 评论:0


1.本技术涉及增强现实领域,尤其涉及一种增强现实虚实融合方法、电子设备和存储介质。


背景技术:

2.目前增强现实应用大多面向已知场景,在已知场景中摆放虚拟角色实现人机交互相较于未知场景明显更加轻松,在面对未知场景大多数增强现实应用无能为力。并且大多数增强现实应用对设备硬件的要求很高,配置相应设备的成本高昂。


技术实现要素:

3.本技术实施例的主要目的在于提供一种增强现实虚实融合方法、电子设备和存储介质,用以高效地在未知场景实现增强现实的应用。
4.第一方面,本技术实施例提供一种增强现实虚实融合方法,包括:
5.终端设备通过相机采集目标场景的多个连续视频帧,并发送给服务端;
6.服务端根据多个连续视频帧,为所述目标场景构建语义地图并将所述语义地图发送给终端设备,其中,所述语义地图中包括所述目标场景中关键物体的语义信息、姿态信息和位置信息;
7.所述终端设备根据所述语义地图确定虚拟角色在所述目标场景中的位姿信息,并向用户展示包含所述虚拟角色和所述目标场景的画面。
8.可选的,服务端根据多个连续视频帧,为所述目标场景构建语义地图并将所述语义地图发送给终端设备,包括:
9.服务端从所述多个连续视频帧中筛选出至少一个关键帧,根据所述至少一个关键帧构建语义点云地图;其中,所述语义点云地图包括所述目标场景中各个三维空间点的位置信息、姿态信息和语义信息;
10.根据所述多个连续视频帧和语义点云地图,确定相机位姿信息和重建网格信息;
11.根据所述语义点云地图、相机位姿信息和重建网格信息对所述目标场景进行重建,得到语义地图并发送给终端设备。
12.可选的,根据所述至少一个关键帧构建语义点云地图,包括:
13.用mobilenetv3代替deeplabv3+模型中的骨干网络resnet-101,得到改进后的deeplabv3+模型;
14.将所述至少一个关键帧输入改进后的deeplabv3+模型中进行语义分割,得到每一关键帧的三维语义点云,所述三维语义点云用于指示所述关键帧对应的三维空间点的位置信息和语义信息;
15.根据三维语义点云,得到所述目标场景中关键物体的姿态信息;
16.根据所述至少一个关键帧的语义信息与所述目标场景中关键物体的姿态信息,通过服务端的建图模块,构建出所述目标场景的语义点云地图。
17.可选的,根据三维语义点云,得到所述目标场景中关键物体的姿态信息,包括:
18.根据三维语义点云,构建基于全局描述子的特征描述;
19.基于全局描述子的特征描述,得到所述目标场景中关键物体的姿态信息。
20.可选的,根据所述多个连续视频帧和语义点云地图,确定相机位姿信息和重建网格信息,包括:
21.用voxel hashing算法来代替bundle fusion模型中的tsdf fusion算法,得到改进后的bundle fusion模型;
22.根据语义点云地图得到相机位姿信息,将所述多个连续视频帧和所述相机位姿信息输入改进后bundle fusion模型,得到重建网格信息。
23.可选的,所述终端设备根据所述语义地图确定虚拟角色在所述目标场景中的位姿信息,并向用户展示包含所述虚拟角色和所述目标场景的画面,包括:
24.所述终端设备根据所述语义地图中关键物体的语义信息、姿态信息和位置信息,确定虚拟角色在所述目标场景中的移动路径以及操作信息,其中,所述操作信息包括所述虚拟角色操作虚拟物体时的位姿信息以及所述虚拟物体的位姿信息;
25.根据所述移动路径和所述操作信息,构建包含所述虚拟角色和所述虚拟物体的虚拟图像;
26.将所述虚拟图像与所述相机采集的图像进行融合,并向用户展示融合后的画面。
27.第二方面,本技术实施例提供一种增强现实虚实融合方法,应用于终端设备,所述方法包括:
28.通过相机采集目标场景的多个连续视频帧,并发送给服务端,以使所述服务端根据多个连续视频帧,为所述目标场景构建语义地图,其中,所述语义地图中包括所述目标场景中关键物体的语义信息、姿态信息和位置信息;
29.接收服务端发送的所述语义地图,根据所述语义地图确定虚拟角色在所述目标场景中的位姿信息,并向用户展示包含所述虚拟角色和所述目标场景的画面。
30.第三方面,本技术实施例提供一种增强现实虚实融合方法,应用于服务端,所述方法包括:
31.接收终端设备通过相机采集目标场景的多个连续视频帧;
32.根据多个连续视频帧,为所述目标场景构建语义地图并将所述语义地图发送给终端设备,以使所述终端设备根据所述语义地图确定虚拟角色在所述目标场景中的位姿信息,并向用户展示包含所述虚拟角色和所述目标场景的画面,其中,所述语义地图中包括所述目标场景中关键物体的语义信息、姿态信息和位置信息。
33.第四方面,本技术实施例提供一种电子设备,包括:
34.至少一个处理器;以及与所述至少一个处理器通信连接的存储器;
35.其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述电子设备执行上述任一方面所述的方法。
36.第五方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现上述任一方面所述的方法。
37.本实施例提供的增强现实虚实融合方法、电子设备和存储介质,终端设备通过相
机采集目标场景的多个连续视频帧,并发送给服务端;服务端根据多个连续视频帧,为所述目标场景构建语义地图并将所述语义地图发送给终端设备,其中,所述语义地图中包括所述目标场景中关键物体的语义信息、姿态信息和位置信息;所述终端设备根据所述语义地图确定虚拟角色在所述目标场景中的位姿信息,并向用户展示包含所述虚拟角色和所述目标场景的画面。本技术实施例提供的增强现实虚实融合方法,可以根据相机采集的未知场景的视频帧,构建出语义地图,语义地图中包含关键物体的语义和姿态信息,并控制虚拟角色在目标场景中的移动路径、精确放置并展示虚拟物体,实现与未知场景的互动。同时采用端云分离的方法降低了对终端硬件设备的要求,实现节约成本的目的。
附图说明
38.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
39.图1为本技术实施例提供的一种系统架构图;
40.图2为本技术实施例提供的一种增强现实虚实融合方法的流程示意图;
41.图3为本技术实施例提供的一张稀疏点云地图;
42.图4为本技术实施例提供的一种改进后的bundle fusion模型中输出的场景重建的部分网格结果;
43.图5为本技术实施例为用户提供的一幅虚实融合后的画面;
44.图6为obr-slam3的系统架构图;
45.图7为本技术实施例提供的一种语义slam系统工作的流程示意图;
46.图8为本技术实施例提供的一种增强现实虚实融合装置的结构示意图;
47.图9为本技术实施例提供的一种增强现实虚实融合装置的结构示意图;
48.图10为本技术实施例提供的一种电子设备的结构示意图。
49.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
50.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
51.首先对本技术涉及的名词和技术进行解释:
52.增强现实(augmented reality):指对虚拟物体设置正确的位姿后,利用计算机渲染得到当前相机视角下的正确虚拟图像并叠加到真实图像或场景上,从而实现虚拟物体与真实场景虚实融合的视觉效果,相比于传统的文字书籍、影像视频资料等方式能够更加高效且直观地呈现信息。
53.三维注册技术:是增强现实技术实现虚实融合的增强现实效果的主要技术分支之一,该技术实现了对相机姿态的跟踪定位,而相机姿态是将虚拟物体渲染到真实相机下二
维图像的基础,相机定位的精度和速度也将直接影响渲染效果,是增强现实诸多技术中的关键。
54.slam:全称simultaneously localization and mapping,中文翻译为同步定位与建图,是三维注册的主要技术。slam主要原理即通过让装备相机或其他传感器的机器人等设备在环境中无任何先验信息(即未知场景)的情况下对相机姿态进行实时估计,同时对提取到的场景特征点进行估计,以此实现对周围场景地图的构建。其中以视觉传感器为主要传感器的slam称为视觉slam(visual slam),视觉slam根据传感器的不同可划分为单目视觉slam、双目视觉slam以及rgb-d视觉slam;根据所依托技术的不同可划分为基于滤波器的视觉slam、基于关键帧的视觉slam以及基于直接跟踪的视觉slam。目前,视觉slam主要通过sift(scale-invariant feature transform,尺度不变特征变换)、orb(oriented fast and rotated brief,fast关键点检测器和brief描述符的融合)等传统图像特征点进行帧间匹配和跟踪并作为路标构建地图并在后端优化。
55.语义分割技术:是指将输入数据按照物体类别的不同进行区域划分,将标签或者类别与图片中的每个像素关联,是对真实场景的像素级语义理解。例如自动驾驶汽车需要识别车辆、行人、交通信号、人行道和其他道路特征,以及医学成像和工业检测等领域。目前语义分割技术常被用于slam系统,由上文可知slam系统常被用于智能机器人感知周围环境的几何信息,然而对于特定环境下,仅仅感知环境的几何信息是不够的,还必须感知其中的内容信息,即如果需要让机器人理解场景中“什么是什么”需要用到语义信息。
56.语义slam:是语义分割技术与slam的结合,两者相辅相成,一方面,语义信息可以帮助slam提高建图和定位的精度,特别是对于复杂的动态场景,即将数据关联从传统slam系统的像素级别提升至物体级别;另一方面,借助slam技术计算出物体之间的位置约束,可以对同一物体在不同角度,不同时刻的识别结果进行一致性约束,从而提高语义理解的精度。
57.目前增强现实应用主要面向已知场景,面对未知场景时常常无能为力,而且对设备硬件的要求很高,导致配置设备的成本高昂。
58.有鉴于此,本技术提供了一种增强现实虚实融合方法,能够控制虚拟角色在未知场景中实现人机交互。同时本技术采用端云架构设计方案实现,即在云端服务器实现语义地图的构建,在终端只需根据语义地图控制虚拟角色的位姿,实现人机交互,可降低对终端硬件设备的要求,实现节约成本的目的。
59.图1为本技术实施例提供的一种系统架构图。如图1所示,该系统包括终端和服务端,服务端可以是云端服务端也可以是本地服务端,终端通过相机采集目标场景的视频帧并发送给服务端,服务端根据视频帧构建出语义地图并发送给终端,终端根据语义地图的信息确定虚拟角色的在目标场景中的位置、移动路径和动作姿态,并生成虚拟图像,然后与相机采集的真实图像(即上述视频帧)融合,生成虚拟融合后的图像并展示给用户。
60.本技术提供了一种增强现实虚实融合方法,能够在未知场景中实现当前设备在空间中的定位从而便于确定虚拟角色在空间中所摆放的位置,能够确定部分关键物体的语义和姿态信息,能使用户周围真实世界相关的信息变得数字化且可视化,增强对周围未知场景的感知能力,从而控制虚拟角色更加精确地放置所需摆放的虚拟物体,从而实现虚实融合。同时本技术采用端云架构设计方案实现,即在云端服务器部署好包括语义分割、姿态估
计、同时定位与地图构建系统,在终端实现虚实融合系统的虚拟角色部署、人机交互、模型展示和讲解等功能,端云分离的方法可以降低对终端硬件设备的要求,实现节约成本的目的。
61.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
62.图2为本技术实施例提供的一种增强现实虚实融合方法的流程示意图。如2所示,本技术实施例提供的一种增强现实虚实融合方法,可以包括:
63.步骤201、终端设备通过相机采集目标场景的多个连续视频帧,并发送给服务端。
64.其中目标场景是指要进行虚实融合的现实场景,终端设备通过带有深度模块的rgb-d相机采集目标场景的多个连续视频帧,视频帧中包含场景信息和深度信息,之后将采集到的多个连续视频帧发送给服务端。
65.步骤202、服务端根据多个连续视频帧,为所述目标场景构建语义地图并将所述语义地图发送给终端设备,其中,所述语义地图中包括所述目标场景中关键物体的语义信息、姿态信息和位置信息。
66.其中关键物体是指可区分类别的常见物体,例如目标场景是在家中时,关键物体可以是桌子、椅子、沙发和床等;当目标场景在马路上时,关键物体可以是车辆、行人、交通信息、人行道等。关键物体的语义信息是指该物体是什么种类,可以是人、桌子、椅子等;关键物体的姿态信息可以包括该物体在三维空间中的朝向信息;关键物体的位置信息是指该物体在三维空间中的位置信息。
67.由于采集目标场景视频帧的相机可能不止一个,多个相机采集的视频帧的格式可能存在不同,可选的,视频帧发送给服务端后可以通过预处理模块做统一分辨率裁剪、数据预处理和格式转换等。之后服务端根据统一格式后的视频帧,为目标场景构建语义地图并将其发送给终端设备。
68.可选的,服务端根据多个连续视频帧,为所述目标场景构建语义地图并将所述语义地图发送给终端设备,包括:
69.服务端从所述多个连续视频帧中筛选出至少一个关键帧,根据所述至少一个关键帧构建语义点云地图;其中,所述语义点云地图包括所述目标场景中各个三维空间点的位置信息、姿态信息和语义信息;
70.根据所述多个连续视频帧和语义点云地图,确定相机位姿信息和重建网格信息;
71.根据所述语义点云地图、相机位姿信息和重建网格信息对所述目标场景进行重建,得到语义地图并发送给终端设备。
72.具体的,服务端先从相机采集的多个连续视频帧中筛选出关键帧,再根据关键帧构建语义点云地图,其中关键帧是指角色或者物体运动变化中关键动作所处的那一帧,点云地图是指由一系列离散的空间点表示的地图,点云地图分为稀疏点云地图和稠密点云地图,图3为本技术实施例提供的一张稀疏点云地图,而语义点云地图是在点云地图的基础上增加了空间点的语义和姿态信息的地图;之后可以根据相机采集的视频帧和上述的语义点云地图,确定相机位姿信息和重建网格信息,其中相机位姿信息是指相机在空间中的位置和朝向信息,重建网格信息是指将点云地图重建出网格所需的信息,最后根据语义点云地
图、相机位姿信息和重建网格信息重建目标场景,得到语义地图并发送给终端设备。
73.可选的,根据所述至少一个关键帧构建语义点云地图,包括:用mobilenetv3代替deeplabv3+模型中的骨干网络resnet-101,得到改进后的deeplabv3+模型;
74.将所述至少一个关键帧输入改进后的deeplabv3+模型中进行语义分割,得到每一关键帧对应的三维语义点云,所述三维语义点云用于指示所述关键帧对应的三维空间点的位置信息和语义信息;
75.根据至少一个关键帧对应的三维语义点云,得到所述目标场景中关键物体的姿态信息;
76.根据所述至少一个关键帧的语义信息与所述目标场景中关键物体的姿态信息,通过服务端的建图模块,构建出所述目标场景的语义点云地图。
77.其中deeplabv3+是一种语义分割算法,采用编码器-解码器的方式进行设计,编码器部分采用骨干网络resnet-101和空间金字塔池(aspp)模块组成,首先通过骨干网络resnet-101提取图像生成高级语义特征图和低级语义特征图,然后aspp对骨干网络提取的高级语义特征图进行多尺度采样,生成多尺度的特征图,并通过1
×
1的卷积进行通道降维。aspp模块采用一种多尺度结构,可以保证目标在图像中所占比例不高同时仍有好的分割效果,aspp主要由1
×
1卷积、空洞率分别为6、12、18的空洞卷积、全局池化组成,对特征图进行不同感受野的特征提取,获得多尺度的特征。解码器主要对骨干网络提取的低级特征和aspp模块输出的多尺度特征进行4倍上采样然后进行融合,最后再次通过4倍上采样输出语义分割的结果。
78.具体的,首先用mobilenetv3代替deeplabv3+模型中的骨干网络resnet-101,得到改进后的deeplabv3+模型;将从视频帧中筛选出的关键帧输入改进后的deeplabv3+模型中进行语义分割,得到每一关键帧的三维语义点云,其中三维语义点云包含了该关键帧对应的三维空间点的位置信息和语义信息,将多个关键帧的三维语义点云进行关连,可以得到相机位姿变化情况,之后根据三维语义点云,得到目标场景中关键物体的姿态信息;最后将关键帧的语义信息、目标场景中关键物体的姿态信息和相机的位姿信息,输入服务端的建图模块,就可以构建出目标场景的语义点云地图。
79.由于主干网络的resnet-101模型大且占用显存多,无法满足slam的实时性和准确性要求,用mobilenetv3代替resnet-101作为deeplabv3+模型的骨干网络可以减轻主干网络的量级,mobilenetv3结合深度可分离卷积结构(depthwise separable convolutions)和线性瓶颈逆残差结构设计轻量级骨干网络,提升了模型的分割速度,同时,采用hard version of swish(h-swish)激活函数可以提高网络精度。
80.可选的,根据三维语义点云,得到所述目标场景中关键物体的姿态信息,包括:
81.根据三维语义点云,构建基于全局描述子的特征描述;
82.基于全局描述子的特征描述,得到所述目标场景中关键物体的姿态信息。
83.具体的,基于三维语义点云,选择全局描述子——快速点特征直方图(fast point feature histograms,fpfh)构建全局特征。其中fpfh是一种基于局部特征的全局特征描述子,它通过提取点云中的局部特征来构建全局特征。具体的构建过程如下:
84.(1)根据当前查询点求得其k邻域内每个点之间的三个特征元素值,然后统计成为一个spfh(simple point feature histograms,单点特征直方图);
85.(2)分别对k邻域中的每个点确定其k邻域内的spfh;
86.(3)对当前查询点的邻域中的各个spfh进行加权统计,得到最终的fpfh。fpfh的计算公式如下:
[0087][0088]
其中权重ωk表示查询点pq和其临近点pk之间的距离。
[0089]
之后以欧拉距离(euclidean distance)作为标准,将物体点云的fpfh和场景点云的fpfh进行特征匹配,通过flann(fast library for approximate nearest neighbors,最近邻查询)算法来实现最近邻查询。此外由于噪声的影响,错误的对应关系会对刚性矩阵变换估计产生错误的影响,因此需要进行ransac(random sample consensus,随机抽样一致算法)估算剔除错误对应关系。
[0090]
然后目标对齐的时候进行粗配准,将关键物体对应到对应位置,再用icp(iterative closest point,基于迭代最近点)算法在原本粗配准的基础上迭代求解上述损失函数收敛的最优解,同时在迭代过程中确立正确对应点集能够并避免迭代陷入局部极值等情况,同时实现较快的算法收敛速度和较高的配准精度,最终得到位姿估计结果,即细化后的配准矩阵。
[0091]
根据icp算法配准优化得到的配准矩阵转换到目标场景的世界坐标系下即可生成物体六自由度姿态估计,记录配准矩阵为rw→m,关键物体的质心位移为tw→m,则物体的六自由度姿态记作:
[0092][0093]
相较于传统的点特征直方图pfh(point feature histograms)而言,fpfh采用spfh值重新捕获临近重要点对的集合信息,将复杂度从传统的o(nk2)降低到o(nk),大大提高了计算效率,能够满足实时的性能需求。
[0094]
可选的,根据所述多个连续视频帧和语义点云地图,确定相机位姿信息和重建网格信息,包括:
[0095]
用voxel hashing算法来代替bundle fusion模型中的tsdf fusion算法,得到改进后的bundle fusion模型;
[0096]
根据语义点云地图得到相机位姿信息,将所述多个连续视频帧和所述相机位姿信息输入改进后bundle fusion模型,得到重建网格信息。
[0097]
其中,bundle fusion模型可以对目标场景进行重建,用voxel hashing算法来代替bundle fusion模型中的tsdf fusion算法,得到的改进后的bundle fusion模型包含以下几个步骤:
[0098]
(1)根据采集的多个连续视频帧做一致性搜索,包括sift描述子特征检测,特征匹配以及一致性检测,将稀疏到稠密的一致性用于局部相机位姿优化的gn解析,同时采集到的多个视频帧划分成一块一块的,比如第1帧到底10帧为第1块,第11帧到第20帧为第2块,以此类推,对块内局部优化匹配,并用每一块的第一帧表示该块的特征,将每个新的块和之前所有的块匹配做相机位姿优化。
[0099]
(2)全局优化过程采用的优化项包括稀疏特征优化项和稠密优化项,稀疏特征优化项的目标函数是特征3d点的欧式距离,表示如下:
[0100][0101]
其中,e
sparse
(x)表示稀疏匹配的误差函数,x表示某个块内的相机位姿,表示匹配帧的位姿,(p
i,k
,p
j,l
)表示匹配帧中对应的匹配点。从误差函数的定义可以看出,优化该目标函数是保证匹配的特征3d点之间的欧式距离尽可能小。
[0102]
(3)在建图部分采用voxel hashing算法,由于每个块的相机位姿一直在做改变,因此相机位姿的改变需要映射到全局tsdf(truncated signed distance function,基于截断地带符号距离函数)中,取出相机位姿改变量最大的10个块,按照将帧融合到tsdf的相机位姿,做分解过程,将之前融合进tsdf中的数据从tsdf中减掉。然后根据优化之后的相机位姿,将块的数据重进积分到tsdf中,得到重建网格信息。
[0103]
图4为本技术实施例提供的一种改进后的bundle fusion模型中输出的场景重建的部分网格结果。
[0104]
在建图部分采用voxel hashing算法改进传统的基于tsdf fusion算法的重建过程。voxel hashing算法能够有效的压缩t-sdf的体积,在无需分层空间的数据结构的同时,保证表面的分辨率通过插入和更新操作,能够有效的把新的t-sdf数据融合到哈希表中,同时最小化哈希冲突,在清理无效的体素块时,不需要重组数据结构,避免了巨大的开销。
[0105]
步骤203、所述终端设备根据所述语义地图确定虚拟角色在所述目标场景中的位姿信息,并向用户展示包含所述虚拟角色和所述目标场景的画面。
[0106]
具体的,终端设备根据语义地图中的信息确定虚拟角色在目标场景中的位姿信息,其中虚拟角色在目标场景中的位姿信息可以包括位置信息和姿态信息,最后用户端可以通过ar眼镜、手机或者平板观看到虚实融合后的画面。
[0107]
可选的,所述终端设备根据所述语义地图确定虚拟角色在所述目标场景中的位姿信息,并向用户展示包含所述虚拟角色和所述目标场景的画面,包括:
[0108]
所述终端设备根据所述语义地图中关键物体的语义信息、姿态信息和位置信息,确定虚拟角色在所述目标场景中的移动路径以及操作信息,其中,所述操作信息包括所述虚拟角色操作虚拟物体时的位姿信息以及所述虚拟物体的位姿信息;
[0109]
根据所述移动路径和所述操作信息,构建包含所述虚拟角色和所述虚拟物体的虚拟图像;
[0110]
将所述虚拟图像与所述相机采集的图像进行融合,并向用户展示融合后的画面。
[0111]
具体的,以在工业场景下虚拟人讲解机床切割钢板为例,终端设备在虚拟场景中的恰当位置摆放虚拟人,确立虚拟坐标系,根据语义地图建立目标场景的世界坐标系,根据相机初始位置确立相机坐标系;将虚拟坐标系与世界坐标系建立映射,之后将相机坐标系与世界坐标系建立映射,将相机视锥范围内的物体转化至相机坐标系下,虚拟人根据语义地图中关键物体的语义信息、姿态信息和位置信息可在场景中找到展台的位置并自动寻路,自动寻路是指可以自动规划好从现在的位置走到目标位置的路线,规划出的路线距离最短并且可以避开障碍物,虚拟人到达展台后找到机台及摆放虚拟雕刻头模型的位置,播
放切割机切割动画并进行讲解。最终构建出包含虚拟人、雕刻头模型和切割机切割动画的虚拟图像,将虚拟图像和已有的相机图像融合,得到虚实融合的画面并展示给用户。图5为本技术实施例为用户提供的一幅虚实融合后的画面。
[0112]
这样,终端设备中的虚拟角色可以根据语义地图中关键物体的语义信息、姿态信息和位置信息,在未知场景中感知自身的位置并自动寻路到设定位置,并以合理的姿态摆放虚拟物体,使虚拟角色与未知场景的交互更加合理,增强用户的观看体验。
[0113]
综上,本实施例提供的增强现实虚实融合方法,包括:终端设备通过相机采集目标场景的多个连续视频帧,并发送给服务端;服务端根据多个连续视频帧,为所述目标场景构建语义地图并将所述语义地图发送给终端设备,其中,所述语义地图中包括所述目标场景中关键物体的语义信息、姿态信息和位置信息;所述终端设备根据所述语义地图确定虚拟角色在所述目标场景中的位姿信息,并向用户展示包含所述虚拟角色和所述目标场景的画面。本技术实施例提供的增强现实虚实融合方法,可以根据相机采集的未知场景的视频帧,构建出语义地图,语义地图中包含关键物体的语义和姿态信息,并控制虚拟角色在目标场景中的移动路径、精确放置并展示虚拟物体,实现与未知场景的互动。同时采用端云分离的方法降低了对终端硬件设备的要求,实现节约成本的目的。
[0114]
在实际应用中,服务器中的系统可以以orb-slam3为基地构建语义slam系统,orb-slam3属于obr-slam系列,该系列选择使用图像的orb(oriented fast and rotated brief)特征,相较于sift、suft等特征,orb特征能够更好的满足slam系统的实时性要求,且相较于fast特征加入了旋转属性保证orb特征在特征匹配时能具备旋转不变性。此外,orb-slam为保证特征点的均匀分布将每帧图像划分为多个tiles并对每个tile提取orb特征;针对ptam容易出现累计误差的问题设计了回环检测,使用词袋模型检索和当前帧相似的历史关键帧。在多线程设计上,orb-slam在ptam的跟踪和建图两条线程的基础上设计了回环检测和全局优化线程,跟踪线程负责提取每帧的orb特征点并于前一帧做特征匹配从而计算粗略的相机姿态;局部匹配线程负责优化局部的相机姿态及地图特征点从而得到局部最优解。
[0115]
obr-slam3:图6为obr-slam3的系统架构图,如图6所示,包括跟踪线程、局部建图线程、回环检测&地图融合线程、全局优化线程,并且加入了atlas地图系统用于保存诸多琐碎的地图,可以避免跟踪丢失时回到丢失的位置重定位,而可以直接在atlas所有的小地图中进行查询匹配,将相机采集的视频帧输入跟踪线程,筛选出关键帧并输入局部建图线程中进行局部地图构建,并得到局部最优解,回环检测线程利用词袋模型将存在重合部分的地图进行回环检测,地图融合线程将构建出的局部地图进行融合,最后全局优化线程对结果进行全局优化。
[0116]
orb-slam3的核心思想是一个最大后验估计的数学描述,如下所示:slam3的核心思想是一个最大后验估计的数学描述,如下所示:其中,表示后验概率,表示先验概率,表示从第0帧到第k帧的imu(视觉里程计)积分,表示在给定第k帧imu数据的情况下,从第0帧到第k帧的可能的imu测量值分布可能性。基于此,考虑仅惯性的map估计:
其中表示从第i-1帧到第i帧的关键帧的预积分,s是整个地图的尺度,r
wg
是重力加速度方向,b表示imu的加速度和角速度偏差,是第i帧关键帧对应的无尺度速度。
[0117]
obr-slam3的主要几个线程模块:
[0118]
(1)atlas地图模块
[0119]
atlas地图模块是orb-slam3系统在跟踪过程中后端建图部分所需要维护的一组不相连的地图数据总和,在atlas众多地图中始终有用于当前跟踪线程定位的活跃地图以及与之相对的非活跃地图,跟踪线程的运行会被不断持续优化并将局部映射模块中的关键帧不断加入活跃地图。此外,在atlas模块中,orb-slam3新加入了存有关键帧信息的dbow2词袋模型,用于重定位、回环检测和地图融合。
[0120]
(2)跟踪线程模块
[0121]
跟踪线程模块是orb-slam3系统的跟踪主线程部分,用于处理传感器信息并计算当前活跃地图的相机位姿,同时最小化对应地图特征的重投影误差。此外,跟踪线程还决定了当前帧是否是一个关键帧,如果在视觉-惯性模式下,还会通过惯性残差来估计本体的移动速度和imu(视觉里程计)的偏差。而当跟踪丢失时,跟踪线程会尝试重定位并将当前丢失帧和atlas地图模块中的关键帧进行匹配从而进行重定位,重定位成功并维持跟踪状态,必要时需要切换活跃的地图。如重定位失败,一段时间后当前活跃地图状态会转化为非活跃并激活另一张地图。
[0122]
(3)局部建图模块
[0123]
局部建图模块的主要功能是向活跃帧中添加关键帧和地图点,移除活跃地图中的冗余帧,同时利用视觉ba或者视觉-惯性ba来优化地图。在orb-slam3中还提出了最新的方法用于初始化imu参数并通过最大化后验估计的方法来优化。
[0124]
(4)回环和地图融合模块
[0125]
回环和地图融合模块检测主要功能在于以关键帧的提取频率检测活跃地图和整个atlas地图模块之间的共同区域,如果公共区域属于当前活跃地图,系统会执行回环纠正,如果公共区域属于另一张不同的地图,两张地图会合并为一张单一地图并被设置为活跃地图。最终经过回环检测后,会新建一个独立线程做全局的ba在不影响实时的情况下进一步优化地图。
[0126]
图7为本技术实施例提供的一种语义slam系统工作的流程示意图,如图7所示,将处理好的rgb图像帧和depth图像帧输入,采用orb-freak算法对图像帧进行特征提取并做帧间跟踪及特征匹配,利用词袋模型作为甄选视频关键帧的工具;将提取完的关键帧传输给语义及姿态估计模块,利用神经网络实现像素级别的语义分割及姿态估计,建立多帧语义对象关联关系,并将语义和姿态估计结果传给后端建图模块;利用orb-slam3中新增加的atlas系统,其中包括dbow2关键帧数据库以及活跃状态和非活跃状态的两张地图,通过局部建图优化局部估计的相机位姿结果,将语义和姿态信息和三维点云地图进行关联,通过回环检测和融合模块实现最终地图的回环拼接和融合,之后通过语义优化后端ba得到全局
优化后的相机姿态;最后将全局优化后的相机姿态、rgb图像帧和depth图像帧输入重建模块,进行fusion融合,对场景进行重建并生成重建网格信息。
[0127]
可选的,步骤302还可以通过其他方式实现,例如可以人工对相机采集的历史连续视频帧进行标注,标注出每一历史视频帧中关键物体的语义信息、姿态信息和位置信息,然后将历史连续视频帧以及每一历史视频帧中的关键物体的语义信息、姿态信息和位置信息输入到深度学习模型中进行训练,该深度学习模型可以根据连续视频帧预测出关键物体的语义信息、姿态信息和位置信息,之后将通过相机采集目标场景的多个连续视频帧输入训练好的深度学习模型中,就可以预测出关键物体的语义信息、姿态信息和位置信息,构建出语义地图并发送给终端设备。
[0128]
可选的,步骤303还可以通过其他方式实现,例如将多个历史语义地图、虚拟角色在与每一历史语义地图对应的目标场景中的位姿信息输入到深度学习模型中进行训练,该深度学习模型可以根据语义地图预测出虚拟角色在与语义地图对应的目标场景中的位姿信息,之后将构建出的语义地图输入训练好的学习模型中,就可以预测出虚拟角色在该语义地图对应的目标场景中的位姿信息,最后向用户展示包含所述虚拟角色和所述目标场景的画面。
[0129]
本技术实施例提供另一种增强现实虚实融合方法,应用于终端设备,所述方法可以包括:
[0130]
通过相机采集目标场景的多个连续视频帧,并发送给服务端,以使所述服务端根据多个连续视频帧,为所述目标场景构建语义地图,其中,所述语义地图中包括所述目标场景中关键物体的语义信息、姿态信息和位置信息;
[0131]
接收服务端发送的所述语义地图,根据所述语义地图确定虚拟角色在所述目标场景中的位姿信息,并向用户展示包含所述虚拟角色和所述目标场景的画面。
[0132]
本实施例提供的方法的具体实现原理和效果可以参考上述实施例,此处不再赘述。
[0133]
本技术实施例提供又一种增强现实虚实融合方法,应用于服务端,所述方法可以包括:
[0134]
接收终端设备通过相机采集目标场景的多个连续视频帧;
[0135]
根据多个连续视频帧,为所述目标场景构建语义地图并将所述语义地图发送给终端设备,以使所述终端设备根据所述语义地图确定虚拟角色在所述目标场景中的位姿信息,并向用户展示包含所述虚拟角色和所述目标场景的画面,其中,所述语义地图中包括所述目标场景中关键物体的语义信息、姿态信息和位置信息。
[0136]
本实施例提供的方法的具体实现原理和效果可以参考上述实施例,此处不再赘述。
[0137]
对应于上述增强现实虚实融合方法,本技术实施例还提供一种增强现实虚实融合装置。图8为本技术实施例提供的一种增强现实虚实融合装置的结构示意图。如图8所示,所述装置应用于终端设备,所述装置包括:
[0138]
采集模块801,用于通过相机采集目标场景的多个连续视频帧,并发送给服务端,以使所述服务端根据多个连续视频帧,为所述目标场景构建语义地图,其中,所述语义地图中包括所述目标场景中关键物体的语义信息、姿态信息和位置信息;
[0139]
虚实融合模块802,用于接收服务端发送的所述语义地图,根据所述语义地图确定虚拟角色在所述目标场景中的位姿信息,并向用户展示包含所述虚拟角色和所述目标场景的画面。
[0140]
对应于上述增强现实虚实融合方法,本技术实施例还提供另一种增强现实虚实融合装置。图9为本技术实施例提供的一种增强现实虚实融合装置的结构示意图。如图9所示,所述装置应用于服务端,所述装置包括:
[0141]
接收模块901,用于接收终端设备通过相机采集目标场景的多个连续视频帧;
[0142]
构建地图模块902,用于根据多个连续视频帧,为所述目标场景构建语义地图并将所述语义地图发送给终端设备,以使所述终端设备根据所述语义地图确定虚拟角色在所述目标场景中的位姿信息,并向用户展示包含所述虚拟角色和所述目标场景的画面,其中,所述语义地图中包括所述目标场景中关键物体的语义信息、姿态信息和位置信息。
[0143]
本技术实施例提供的增强现实虚实融合装置的具体实现原理和效果可以参见前述实施例,此处不再赘述。
[0144]
图10为本技术实施例提供的一种电子设备的结构示意图。如图10所示,本实施例的电子设备可以包括:
[0145]
至少一个处理器1001;以及
[0146]
与所述至少一个处理器通信连接的存储器1002;
[0147]
其中,所述存储器1002存储有可被所述至少一个处理器1001执行的指令,所述指令被所述至少一个处理器1001执行,以使所述电子设备执行如上述任一实施例所述的方法。
[0148]
可选地,存储器1002既可以是独立的,也可以跟处理器1001集成在一起。
[0149]
本实施例提供的电子设备的实现原理和技术效果可以参见前述各实施例,此处不再赘述。
[0150]
本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现前述任一实施例所述的方法。
[0151]
本技术实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现前述任一实施例所述的方法。
[0152]
在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0153]
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本技术各个实施例所述方法的部分步骤。
[0154]
应理解,上述处理器可以是中央处理单元(central processing unit,简称cpu),还可以是其它通用处理器、数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)等。通用处理器可以是
微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。
[0155]
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0156]
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuits,简称asic)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
[0157]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0158]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0159]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。
[0160]
以上仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。

技术特征:
1.一种增强现实虚实融合方法,其特征在于,包括:终端设备通过相机采集目标场景的多个连续视频帧,并发送给服务端;服务端根据多个连续视频帧,为所述目标场景构建语义地图并将所述语义地图发送给终端设备,其中,所述语义地图中包括所述目标场景中关键物体的语义信息、姿态信息和位置信息;所述终端设备根据所述语义地图确定虚拟角色在所述目标场景中的位姿信息,并向用户展示包含所述虚拟角色和所述目标场景的画面。2.根据权利要求1所述的方法,其特征在于,服务端根据多个连续视频帧,为所述目标场景构建语义地图并将所述语义地图发送给终端设备,包括:服务端从所述多个连续视频帧中筛选出至少一个关键帧,根据所述至少一个关键帧构建语义点云地图;其中,所述语义点云地图包括所述目标场景中各个三维空间点的位置信息、姿态信息和语义信息;根据所述多个连续视频帧和语义点云地图,确定相机位姿信息和重建网格信息;根据所述语义点云地图、相机位姿信息和重建网格信息对所述目标场景进行重建,得到语义地图并发送给终端设备。3.根据权利要求2所述的方法,其特征在于,根据所述至少一个关键帧构建语义点云地图,包括:用mobilenetv3代替deeplabv3+模型中的骨干网络resnet-101,得到改进后的deeplabv3+模型;将所述至少一个关键帧输入改进后的deeplabv3+模型中进行语义分割,得到每一关键帧的三维语义点云,所述三维语义点云用于指示所述关键帧对应的三维空间点的位置信息和语义信息;根据三维语义点云,得到所述目标场景中关键物体的姿态信息;根据所述至少一个关键帧的语义信息与所述目标场景中关键物体的姿态信息,通过服务端的建图模块,构建出所述目标场景的语义点云地图。4.根据权利要求3所述的方法,其特征在于,根据三维语义点云,得到所述目标场景中关键物体的姿态信息,包括:根据三维语义点云,构建基于全局描述子的特征描述;基于全局描述子的特征描述,得到所述目标场景中关键物体的姿态信息。5.根据权利要求2所述的方法,其特征在于,根据所述多个连续视频帧和语义点云地图,确定相机位姿信息和重建网格信息,包括:用voxel hashing算法来代替bundle fusion模型中的tsdf fusion算法,得到改进后的bundle fusion模型;根据语义点云地图得到相机位姿信息,将所述多个连续视频帧和所述相机位姿信息输入改进后bundle fusion模型,得到重建网格信息。6.根据权利要求1-5任一项所述的方法,其特征在于,所述终端设备根据所述语义地图确定虚拟角色在所述目标场景中的位姿信息,并向用户展示包含所述虚拟角色和所述目标场景的画面,包括:所述终端设备根据所述语义地图中关键物体的语义信息、姿态信息和位置信息,确定
虚拟角色在所述目标场景中的移动路径以及操作信息,其中,所述操作信息包括所述虚拟角色操作虚拟物体时的位姿信息以及所述虚拟物体的位姿信息;根据所述移动路径和所述操作信息,构建包含所述虚拟角色和所述虚拟物体的虚拟图像;将所述虚拟图像与所述相机采集的图像进行融合,并向用户展示融合后的画面。7.一种增强现实虚实融合方法,其特征在于,应用于终端设备,所述方法包括:通过相机采集目标场景的多个连续视频帧,并发送给服务端,以使所述服务端根据多个连续视频帧,为所述目标场景构建语义地图,其中,所述语义地图中包括所述目标场景中关键物体的语义信息、姿态信息和位置信息;接收服务端发送的所述语义地图,根据所述语义地图确定虚拟角色在所述目标场景中的位姿信息,并向用户展示包含所述虚拟角色和所述目标场景的画面。8.一种增强现实虚实融合方法,其特征在于,应用于服务端,所述方法包括:接收终端设备通过相机采集的目标场景的多个连续视频帧;根据多个连续视频帧,为所述目标场景构建语义地图并将所述语义地图发送给终端设备,以使所述终端设备根据所述语义地图确定虚拟角色在所述目标场景中的位姿信息,并向用户展示包含所述虚拟角色和所述目标场景的画面,其中,所述语义地图中包括所述目标场景中关键物体的语义信息、姿态信息和位置信息。9.一种电子设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述电子设备执行权利要求7或8所述的方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求7或8所述的方法。

技术总结
本申请实施例提供一种增强现实虚实融合方法、电子设备和存储介质,其中方法包括:终端设备通过相机采集目标场景的多个连续视频帧,并发送给服务端;服务端根据多个连续视频帧,为所述目标场景构建语义地图并将所述语义地图发送给终端设备;所述终端设备根据所述语义地图确定虚拟角色在所述目标场景中的位姿信息,并向用户展示包含所述虚拟角色和所述目标场景的画面。本申请实施例可以根据相机采集的未知场景的视频帧,构建出语义地图,并控制虚拟角色在目标场景中的移动路径、精确放置并展示虚拟物体,实现与未知场景的互动。同时采用端云分离的方法降低了对终端硬件设备的要求,实现节约成本的目的。实现节约成本的目的。实现节约成本的目的。


技术研发人员:齐越 段宛彤 王君义 王宇泽 曲延松
受保护的技术使用者:北京航空航天大学
技术研发日:2023.05.15
技术公布日:2023/10/8
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐