一种在MR设备上动态加载三维模型的方法与流程

专利2022-05-10  38


一种在mr设备上动态加载三维模型的方法
技术领域
1.本发明涉及在mr设备的成像方法,尤其涉及一种根据动态加载三维模型、调整精度,同时避免mr设备大量占用处理器和内存、提高系统流畅性的在mr设备上动态加载三维模型的方法。


背景技术:

2.随着数字化影像技术的不断发展,以增强现实(augmentedreality,ar)、混合现实(mixedreality,mr)为代表的计算机图形技术和可视化技术已经对电子、数码、医疗、游戏、测绘、监控和图形图像等多个领域产生了颠覆性的影响。现在业内普遍认可增强现实和增强虚拟环境这两类从真实世界到虚拟环境的vr增强技术,混合现实则是包含这两类技术及其融合。
3.增强现实技术与增强虚拟环境技术,可分别形象地描述为“实中有虚”和“虚中有实”。增强现实技术通过运动相机或可穿戴显示装置的实时连续标定,将三维虚拟对象稳定一致地投影到用户视口。增强虚拟环境技术通过相机或投影装置的事先或实时标定,提取真实对象的二维动态图像或三维表面信息,实时将对象图像区域或三维表面融合到虚拟环境中。
4.混合现实(mixedreality,mr)技术作为一种新兴的数字化技术,它基于前端采集设备所获得的高分辨率影像数据,通过软件将目标区域或物体结构进行立体化呈现,重建三维模型,目的是实现“增强现实”(实中有虚)与“增强虚拟环境”(虚中有实),三维视频融合作为“增强虚拟环境”技术,通过摄相机或投影装置提取真实对象的“二维动态图像”或“三维表面”信息,实时将“对象图像区域”或“三维表面”以纹理方式注册到三维虚拟环境中,生成“增强虚拟环境”,在真实世界和虚拟环境间构建一个通道。在空间中显示三维重建的虚拟图像,将影像数据、定位信息直接转移到现实对应的区域,实现影像与三维模型的吻合,减少在定位、测绘及影像信息传递过程中的精力、时间消耗及数据误差。这种虚实融合的技术将虚拟环境与真实环境进行匹配合成,降低了三维建模的工作量,并借助真实场景及实物提高用户的体验感和可信度。随着当前视频图像的普及,mr技术的探讨与研究更是受到关注。
5.然而,随着海量的数据处理需求和匹配精度要求的不断提升,mr在加载三维模型的过程中对计算设备的中央处理器(cup)开销和内存需求极高。追求高精度、高清晰度的过程中,长期占用计算机处理单元会损害系统的流畅性,增加功耗,大规模加载模型也可能会导致系统瘫痪并且崩溃,影响用户体验。


技术实现要素:

6.本发明要解决的技术问题是,现有基于混合现实(mixedreality,mr)为的计算机图形技术和可视化技术中,批量加载动态三维模型的方法产生大量中间数据,算法复杂,导致对计算设备的中央处理器(cpu)和内存的大规模占用,从而影响流畅性,增加功耗的问
题。
7.本发明解决技术问题的方案包括:
8.一种在mr设备上动态加载三维模型的方法,包括:
9.s1:将三维模型切分成具有不同精度等级的三维瓦片集合,在mr设备上按照最低精度等级加载切分后的三维模型;
10.s2:基于mr设备视场角确定三维瓦片到mr设备的距离,根据距离远近确定需要加载的三维瓦片的精度等级;
11.s3:在mr设备上根据精度等级二次加载三维模型。
12.进一步地,所述将三维模型切分成具有不同精度等级的三维瓦片集合,包括:加载三维模型的osgb文件,该文件由倾斜摄影图片创建而来,将osgb文件切分成同等大小的三维瓦片(tiles)的集合(tilelist_all),每组三维瓦片(tiles)又根据精度等级划分成不同等级的子瓦片(tile)。
13.进一步地,所述根据距离远近确定需要加载的三维瓦片的精度等级是指:根据远粗略近精细的原则来确定三维瓦片的集合里需要加载的精度等级。
14.进一步地,所述基于mr设备视场角确定三维瓦片到mr设备的距离,根据距离远近确定需要加载的三维瓦片的精度等级包括:根据视场角确定在mr设备的视锥体范围内的三维模型的三维瓦片(tiles)列表,计算三维瓦片(tiles)列表里的三维瓦片(tiles)到mr设备的最短距离,根据最短距离确定三维瓦片(tiles)列表的精度等级,并将相应精度等级的子瓦片(tile)加入到加载列表(tilelist_load)中。
15.进一步地,如果三维瓦片(tiles)列表不存在相应精度等级的子瓦片(tile),则将低一级精度等级的子瓦片(tile)加入到加载列表(tilelist_load)中。
16.进一步地,若正在加载过程中,mr设备视场角或三维模型位置发生变动,则中断加载作业,重复步骤s2

步骤s3。
17.进一步地,变动前后三维瓦片列表对应的精度等级相同,即:level_a=level_b,则:
18.tilelist_a

tilelist_b部分中未加载的取消加载作业,加载的退回到level_0的精度,tilelist_a∩tilelist_b部分中未加载的部分加入到加载列表(tilelist_load)里,tilelist_b

tilelist_a部分添加到加载列表(tilelist_load)里,之后开始按照次序加载作业;
19.其中,tilelist_a表示变动前的三维瓦片列表,其对应的精度等级为level_a;tilelist_b表示变动后的三维瓦片列表,其对应的精度等级为level_b,level_0表示最低的精度等级。
20.进一步地,变动前后三维瓦片列表对应的精度等级不相同,即:level_a≠level_b,则:
21.tilelist_a

tilelist_b部分中未加载的取消加载作业,加载的退回到level_0的精度,tilelist_b

tilelist_a部分添加到加载列表(tilelist_load)里;tilelist_a∩tilelist_b部分中未加载的部分加入到加载列表(tilelist_load)里,tilelist_a∩tilelist_b部分中已经加载部分更新为level_b的子瓦片,加入到更新作业(tilelist_update)里,之后按照次序加载加载列表(tilelist_load)和更新作业(tilelist_update);
22.其中,tilelist_a表示变动前的三维瓦片列表,其对应的精度等级为level_a;tilelist_b表示变动后的三维瓦片列表,其对应的精度等级为level_b,level_0表示最低的精度等级。
23.进一步地,当mr摄像机与三维模型距离超过预设上限的时候,将所有加载列表(tilelist_load)中的瓦片精度等级降低至level_0。
24.进一步地,当前显示的三维瓦片(tiles)精度等级不等于level_0时,保持level_0的子瓦片的加载状态但并不显示;当前显示的三维瓦片(tiles)精度等级降低至level_0时,取消当前显示的三维瓦片(tiles)的加载状态,其中,level_0表示最低的精度等级。
25.和相关现有技术相比,本技术的优势在于:
26.提出了一种在mr中根据距离动态加载三维模型的技术。该方法技术可以被多种常用文件格式包括openscenegraghbinary(.osgb)所支持。通过动态加载、区域判断、精度等级划分、三维瓦片关联等技术,实现大规模三维模型的重建,同时显著地解决了处理器和内存资源,提升了系统的流畅性。该方法可以根据mr用户的选择去动态的加载需要的模型和适合的精度,大量节省mr设备的处理器开销和占用的内存,提高了整个mr设备的流畅性,避免大规模加载模型导致系统瘫痪并且崩溃的情况,提高用户体验。
附图说明
27.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
28.图1为本技术mr设备的视锥体覆盖范围示意图;
29.图2为本技术三维模型切分成的不同精度等级的三维瓦片集合示意图;
30.图3为本技术在mr设备上动态加载三维模型的方法的加载顺序示意图(中心加载);
31.图4为本技术在mr设备上动态加载三维模型的方法的加载顺序示意图(外围加载)。
32.其中,1为mr摄像机;2和4为mr摄像机不可见区域;3为mr摄像机的视野范围;5为近平面;6为远平面。
具体实施方式
33.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
34.如图1所示,一种在mr设备上动态加载三维模型的方法,包括:
35.s1:将三维模型切分成具有不同精度等级的三维瓦片集合,在mr设备上按照最低精度等级加载切分后的三维模型;
36.s2:基于mr设备视场角确定三维瓦片到mr设备的距离,根据距离远近确定需要加
载的三维瓦片的精度等级;
37.s3:在mr设备上根据精度等级二次加载三维模型。
38.在本技术的实施例中,混合现实(mr)设备包括mr摄像机、mr眼镜、激光雷达、无人机加载图像获取设备、监控摄像头、投影设备、手机、移动平板、笔记本电脑等。
39.在本技术的实施例中,三维模型指现实世界中的各种物体,本技术在测试中常用的三维模型包括:立方体、长方体、球体、圆柱体、锥体、多面体等。
40.如图2所示,所述将三维模型切分成具有不同精度等级的三维瓦片集合,包括:加载三维模型的osgb文件,该文件由倾斜摄影图片创建而来,将osgb文件切分成同等大小的三维瓦片(tiles)的集合(tilelist_all),每组三维瓦片(tiles)又根据精度等级划分成不同等级的子瓦片(tile)。区别于传统建模,该组文件由整块三维模型切分的同等大小的三维瓦片集合(tiles)构成(tilelist_all),每组瓦片(tiles)又根据精细程度划分成level_0~level_max等若干个瓦片(tile)。
41.所述根据距离远近确定需要加载的三维瓦片的精度等级是指:根据远粗略近精细的原则来确定三维瓦片的集合里需要加载的精度等级。
42.所述基于mr设备视场角确定三维瓦片到mr设备的距离,根据距离远近确定需要加载的三维瓦片的精度等级包括:根据视场角确定在mr设备的视锥体范围内的三维模型的三维瓦片(tiles)列表,计算三维瓦片(tiles)列表里的三维瓦片(tiles)到mr设备的最短距离,根据最短距离确定三维瓦片(tiles)列表的精度等级,并将相应精度等级的子瓦片(tile)加入到加载列表(tilelist_load)中。
43.其中,mr设备位置和视锥体范围参见图1,其中,三维立方体在mr摄像机1的视锥体范围内,近平面5和远平面6将视锥体范围分为三块,即:位于三维立方体的前方的mr摄像机的不可见区域2和位于mr摄像机后方的不可见区域4以及位于中部的mr摄像机的视野范围3。
44.在一些实施例中,根据视锥体的特点(图1所示),mr设备距离三维模型越近,所呈现的内容数量少,但是清晰度越高。用户距离三维模型越远,所需要呈现的内容数量多,清晰度降低。所以瓦片的精度等级和距离成反比,瓦片的数量和距离成反比。
45.在一些实施例中,需要确定三维模型在mr设备的视锥体(图1所示)范围内,计算摄像机的视锥体(图1所示)所覆盖的瓦片列表tilelist_a,在tilelist_a里计算出距离mr设备最近的距离,以确定当前需要加载的精度等级为level_a的瓦片tile。加入到加载列表tilelist_load中。
46.在一些实施例中,如果正在加载中mr设备矩阵或三维模型矩阵发生变换,则中断加载作业,重新计算mr设备视锥体(图1所示)所覆盖的瓦片列表tilelist_b,重新计算mr设备和tilelist_b里最短的距离,确定当前需要加载的精度等级level_b。
47.在该实施例中,如果level_a和level_b相等。tilelist_a

tilelist_b部分未加载的取消加载作业,加载的退回到level_0的精度,tilelist_a∩tilelist_b部分未加载的部分加入到tilelist_load里,tilelist_b

tilelist_a部分添加到加载作业里tilelist_load里。开始按照次序加载作业。
48.在该实施例中,如果level_a和level_b不相等。tilelist_a

tilelist_b部分未加载的取消加载作业,加载的退回到level_0的精度,tilelist_b

tilelist_a部分添加到加
载作业里tilelist_load里。tilelist_a∩tilelist_b部分未加载的部分加入到tilelist_load的加载作业里。tilelist_a∩tilelist_b部分已经加载部分需更新为精度为level_b的瓦片tile,加入到更新作业tilelist_update里。开始按照次序加载作业tilelist_load和更新作业tilelist_update。
49.在该实施例中,加载完毕后,修改tilelist_a=tilelist_b,修改level_a=level_b。
50.在一些实施例中,如果在加载作业中存在某三维瓦片tiles不包含精细程度为level_x的瓦片tile,则加载精度等级level_x

1的瓦片tile。以此类推。
51.在一些实施例中,加载顺序的排序按照先中心后外围的原则来排布。首先加载tilelist_load的中心点瓦片组(tiles_0_0)(如图3所示),然后从tiles_0_0点向外圈部分扩散(如图4所示)。扩散方法为列举tiles_x_y的所有可能:假设需要扩散的外圈是第n圈(n>0),则x取值范围为

n~n,y取值范围为

n~n,x和y的绝对值不能同时小于n。
52.在一些实施例中,当mr设备与三维模型距离超过一定上限的时候,则应将所有tilelist_load中的瓦片精度降低至level_0。
53.在一些实施例中,当瓦片精度为level_x(x>0),取消精度level_0的瓦片渲染,保留level_0的数据,以便于返回到level_0的时候能快速响应。
54.在一些实施例中,当瓦片精度从level_x(x>0),降低至0时,取消精度为level_x(x>0)瓦片渲染,清理掉level_x(x>0)瓦片的数据。以节省更多的存储空间。
55.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
转载请注明原文地址:https://doc.8miu.com/read-1350109.html

最新回复(0)