本公开涉及测绘,具体涉及一种可视域分析方法及装置。
背景技术:
1、可视域分析是研究观测点所能观测到的空间范围,在地理信息系统、城市规划、视频监控、通讯等不同领域有着广泛的应用需求。现有可视域分析技术在对复杂场景进行可视域分析时,往往存在精度差、效率低等问题,难以满足不同场景的可视域分析需求。
技术实现思路
1、本公开实施例的目的是提供一种可视域分析方法及装置,以准确快速地实现不同场景的可视域分析需求。
2、第一方面,本公开实施例提供了一种可视域分析方法,包括:
3、获取目标场景的多视角影像数据;
4、根据所述多视角影像数据建立所述目标场景的三维场景模型;
5、将所述三维场景模型分割为多个网格区域;
6、确定所述多个网格区域之间的可视关系;
7、获取目标观测点,并根据所述可视关系确定所述目标观测点对应的可视域数据。
8、一个可选的实施方式中,所述根据所述多视角影像数据建立所述目标场景的三维场景模型,包括:
9、对所述多视角影像数据进行特征匹配,确定不同视角影像数据中相对应的特征组;
10、根据匹配得到的所述特征组计算所述多视角影像数据中像素的深度信息;
11、根据所述多视角影像数据和深度信息生成所述目标场景的三维点云;
12、根据所述三维点云生成所述三维场景模型。
13、一个可选的实施方式中,所述根据所述三维点云生成所述三维场景模型,包括:
14、对所述三维点云进行预设处理操作;
15、根据经过所述预设处理操作的三维点云构建所述三维场景模型;
16、对所述三维场景模型进行优化;
17、其中,所述预设处理操作包括以下至少一种:点云滤波、点云分类、点云压缩;
18、所述对所述三维场景模型进行优化,包括以下至少一项:
19、根据所述多视角影像数据对所述三维场景模型进行纹理映射;
20、对所述三维场景模型进行平滑处理;
21、对所述三维场景模型进行简化处理。
22、一个可选的实施方式中,所述确定所述多个网格区域之间的可视关系,包括:
23、获取至少一个预设观测点,并将所述预设观测点对应的网格区域作为观测区域,将所述观测区域之外的至少一个其他网格区域作为被观测区域;
24、判断所述观测区域与被观测区域之间是否可视,并根据判断结果生成所述预设观测点对应的视域树;
25、所述根据所述可视关系确定所述目标观测点对应的可视域数据,包括:
26、从所述至少一个预设观测点对应的视域树中确定所述目标观测点对应的目标视域树;
27、查询所述目标视域树,得到所述目标观测点对应的可视域数据。
28、一个可选的实施方式中,所述判断所述观测区域与被观测区域之间是否可视,包括:
29、提取所述目标场景的场景数据;所述场景数据包括障碍物数据;
30、根据所述场景数据判断所述观测区域和所述被观测区域之间的直线路径上是否存在障碍物;
31、若所述直线路径上存在障碍物,则确定所述观测区域和所述被观测区域之间不可视;反之,若所述直线路径上不存在障碍物,则确定所述观测区域和所述被观测区域之间可视。
32、一个可选的实施方式中,所述视域树的数据结构包括以下至少一种:二叉空间分区树、四叉树、八叉树。
33、一个可选的实施方式中,所述方法还包括:
34、根据所述目标观测点对应的可视域数据,对所述目标场景对应的三维场景模型进行三维渲染,得到所述目标观测点对应的可视域渲染图。
35、第二方面,本公开实施例提供了一种可视域分析装置,包括:
36、三维建模模块,用于获取目标场景的多视角影像数据,并根据所述多视角影像数据建立所述目标场景的三维场景模型;
37、数据分析模块,用于将所述三维场景模型分割为多个网格区域,并确定所述多个网格区域之间的可视关系;
38、结果生成模块,用于获取目标观测点,并根据所述可视关系确定所述目标观测点对应的可视域数据。
39、一个可选的实施方式中,三维建模模块用于根据所述多视角影像数据建立所述目标场景的三维场景模型,具体可以包括:三维建模模块用于,对所述多视角影像数据进行特征匹配,确定不同视角影像数据中相对应的特征组;根据匹配得到的所述特征组计算所述多视角影像数据中像素的深度信息;根据所述多视角影像数据和深度信息生成所述目标场景的三维点云;并根据所述三维点云生成所述三维场景模型。
40、本公开一个可选的实施方式中,三维建模模块用于根据所述三维点云生成所述三维场景模型,具体可以包括:三维建模模块用于,对所述三维点云进行预设处理操作;根据经过所述预设处理操作的三维点云构建所述三维场景模型;并对所述三维场景模型进行优化。
41、本公开一个可选的实施方式中,所述预设处理操作包括以下至少一种:点云滤波、点云分类、点云压缩。
42、本公开一个可选的实施方式中,三维建模模块用于对所述三维场景模型进行优化,包括三维建模模块用于执行以下至少一项:
43、根据所述多视角影像数据对所述三维场景模型进行纹理映射;
44、对所述三维场景模型进行平滑处理;
45、对所述三维场景模型进行简化处理。
46、本公开一个可选的实施方式中,数据分析模块用于确定所述多个网格区域之间的可视关系,具体可以包括,数据分析模块用于执行以下操作:
47、获取至少一个预设观测点,并将所述预设观测点对应的网格区域作为观测区域,将所述观测区域之外的至少一个其他网格区域作为被观测区域;
48、判断所述观测区域与被观测区域之间是否可视,并根据判断结果生成所述预设观测点对应的视域树;
49、所述根据所述可视关系确定所述目标观测点对应的可视域数据,包括:
50、从所述至少一个预设观测点对应的视域树中确定所述目标观测点对应的目标视域树;
51、查询所述目标视域树,得到所述目标观测点对应的可视域数据。
52、本公开一个可选的实施方式中,数据分析模块用于判断所述观测区域与被观测区域之间是否可视,具体可以包括,数据分析模块用于执行以下操作:
53、提取所述目标场景的场景数据;所述场景数据包括障碍物数据;
54、根据所述场景数据判断所述观测区域和所述被观测区域之间的直线路径上是否存在障碍物;
55、若所述直线路径上存在障碍物,则确定所述观测区域和所述被观测区域之间不可视;反之,若所述直线路径上不存在障碍物,则确定所述观测区域和所述被观测区域之间可视。
56、在本公开一个可选的实施方式中,所述视域树的数据结构包括以下至少一种:二叉空间分区树、四叉树、八叉树。
57、本公开一个可选的实施方式中,上述装置还包括:
58、三维渲染模块,用于根据所述目标观测点对应的可视域数据,对所述目标场景对应的三维场景模型进行三维渲染,得到所述目标观测点对应的可视域渲染图。
59、第三方面,本公开实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如上述第一方面所述的方法的步骤。
60、第四方面,本公开实施例提供了一种计算设备,包括:
61、存储器,用于存储计算机程序产品;
62、处理器,用于执行所述存储器中存储的计算机程序产品,且所述计算机程序产品被执行时,实现如上述第一方面所述的方法的步骤。
63、在本公开实施例中,通过获取目标场景的多视角影像数据来构建其三维场景模型,并对该三维场景模型进行空间分割,基于分割得到的各个网格区域进行可视性判断,得到网格区域之间的可视关系,从而通过查询该可视关系,即可快速并准确确定从目标观测点所在的网格区域处观测,可以看到的若干可视网格区域,也就得到该目标观测点的可视域数据。
64、基于本公开实施例,对于任意复杂场景,都可以通过空间分割,将其划分为多个数据量较小的网格区域,计算其相互之间的可视关系,减轻可视性判断的计算量,提高计算效率;且对于任意目标观测点,都可以基于预先计算得到的网格区域的可视关系进行可视化查询,得到该目标观测点的可视域数据,提高可视域分析的效率和精度。
65、本公开实施例通过视域树结构来存储网格区域之间的可视关系,提高存储和查询效率,从而进一步提高可视域分析效率。
66、另外,本公开实施例中,还通过三维渲染技术,将目标观测点对应的可视域表示在目标场景的三维场景模型中,得到相应的三维渲染效果图,可以使相关人员更直观地了解该目标观测点的在各个方向上的可视情况。