一种三维模型单体化方法及装置与流程

文档序号:28917779发布日期:2022-02-16 11:53阅读:818来源:国知局
一种三维模型单体化方法及装置与流程

1.本发明涉及信息技术领域,特别是涉及一种三维模型单体化方法及装置。


背景技术:

2.随着计算机、传感器、倾斜摄影、5g、数字孪生等技术的快速发展,用户已经能够根据需要实时获取真实的三维信息并构建三维模型,三维模型已经成为继声音、图像、视频之后的第四代媒体,受到了全世界的广泛关注,并在数字城市、智慧城市、虚拟现实等诸多领域得到了广泛应用。
3.目前通过倾斜摄影测量技术,可对实景进行三维建模,从而得到三维模型,但是这种三维模型中的各个对象是连在一起的,通过点云技术进行单体化的技术处理数据量大,效率低,精确度也不高。


技术实现要素:

4.有鉴于此,本发明提供的一种三维模型单体化方法及装置。主要目的在于解决现有技术中单体化效率低的问题。
5.根据本发明一个方面,提供了一种三维模型单体化方法,该方法包括:s1:通过倾斜摄影测量或激光雷达扫描等手段获取场景三维模型数据,生成场景三维模型;对所述场景三维模型进行多尺度网格化及编码;s2:获取需要单体化的目标对象的矢量数据,所述矢量数据表征所述目标对象的外部轮廓;对所述目标对象的矢量数据进行所述多尺度网格化及编码;s3:通过所述矢量数据的编码在所述场景三维模型的编码中进行查询,得到所述矢量数据的边界内的所有网格构成的模型即为所述目标对象的单体化三维模型。
6.作为本发明的进一步改进,还包括以下步骤:在s3编码查询时,为获取到的所述矢量数据的边界内的所有网格进行网格属性赋值,所述属性表征所述目标对象的目标名称;通过将所述场景三维模型的所有网格进行网格属性赋值,实现所述场景中所有目标对象的单体化。
7.作为本发明的进一步改进,还包括以下步骤:结合与所述目标对象相关的属性信息,构建单体属性知识图谱;结合与所述目标对象相关的事件信息,构建单体事件知识图谱;将所述目标对象的单体化三维模型与所述单体属性知识图谱及所述单体事件知识图谱相关联,形成单体化多维模型。
8.作为本发明的进一步改进,构建所述单体属性知识图谱的步骤如下:通过开源的手段从互联网获取与所述单体相关的属性信息,所述属性信息包括:采购招标时间、单体建立时间、建立目的、承建单位、宽高、承载量、相关设施、设备、重要活动;综合所述属性信息,构建得到所述单体属性知识图谱,并与所述单体化三维模型关联。
9.作为本发明的进一步改进,构建所述单体事件知识图谱的步骤如下:s421:获取与所述目标对象相关的事件信息;s4211:地理空间关键词检索;从海量开源事件数据中进行关键词提取,并根据预先构建的地理空间关键词索引表确定与所述目标对象相关事件的概
略位置信息,所述地理空间关键词索引表包括地名、概略位置;s4212:对所述事件进行事件编码,所述事件编码包括事件位置编码和事件信息编码;所述事件位置编码为根据所述概略位置信息进行的所述多尺度网格化及编码;所述事件信息编码采用字符串编码表示整个事件的具体信息;通过所述事件位置编码在所述场景三维模型的编码中进行查询得到所述事件的定位;s4213:对同一事件的不同描述形成事件集合,对所述事件集合中每一个事件的所述事件位置编码进行空间关系运算得到所述事件集合的定位;获取与所述目标对象相关的所述事件集合及所述事件编码;s422:构建单体事件知识图谱;根据所述事件编码,挖掘所述事件的起因、现状、发展、关联,构建所述单体事件知识图谱。
10.根据本发明另一个方面,提供了一种三维模型单体化装置,包括以下模块:场景三维网格化模块:被配置为通过倾斜摄影测量或激光雷达扫描等手段获取场景三维模型数据,生成场景三维模型;对所述场景三维模型进行多尺度网格化及编码;矢量数据网格化模块:被配置为获取需要单体化的目标对象的矢量数据,所述矢量数据表征所述目标对象的外部轮廓;对所述目标对象的矢量数据进行所述多尺度网格化及编码;目标对象单体化模块:被配置为通过所述矢量数据的编码在所述场景三维模型的编码中进行查询,得到所述矢量数据的边界内的所有网格构成的模型即为所述目标对象的单体化三维模型。
11.作为本发明的进一步改进,还包括模块:三维模型单体化模块:被配置为为获取到的所述矢量数据的边界内的所有网格进行网格属性赋值,所述属性表征所述目标对象的目标名称;通过将所述场景三维模型的所有网格进行网格属性赋值,实现所述场景中所有目标对象的单体化。
12.作为本发明的进一步改进,还包括构建单体化多维模型模块:被配置为结合与所述目标对象相关的属性信息,构建单体属性知识图谱;结合与所述目标对象相关的事件信息,构建单体事件知识图谱;将所述目标对象的单体化三维模型与所述单体属性知识图谱及所述单体事件知识图谱相关联,形成单体化多维模型。
13.籍由上述技术方案,本发明提供的有益效果:
14.(1)在三维空间的多尺度整数化编码方法基础上,将单体化问题转换为编码查询问题,只需要改变相应网格的属性值即可,能够极大地提升数据处理效率,减少计算量,实现三维模型的快速单体化。
15.(2)不仅能够实现三维模型表面的单体化,还能对已单体化的三维模型内部进一步单体化,现有技术使用三角网的方法进行建模仅能实现表面单体化。
16.(3)将单体事件知识图谱和单体属性知识图谱通过位置信息与单体化的目标三维模型相关联,生成的单体三维模型信息图谱附加了丰富的属性信息和事件信息,不仅可以用于城市建设,还能为指挥决策提供重要依据。
17.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
18.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明
的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
19.图1示出了本发明实施例提供的一种三维模型单体化方法的流程示意图;
20.图2示出了本发明实施例提供的一种单体化多维模型构建流程示意图;
21.图3示出了本发明实施例一单体化目标的三维模型平面编码示意图;
22.图4示出了本发明实施例一中正射投影法中三维模型示意图;
23.图5示出了本发明实施例一中一三维模型采用正射投影法获取得到的正射影像示意图;
24.图6示出了本发明实施例二中事件编码结构示意图;
25.图7示出了本发明实施例二中事件定位示意图。
具体实施方式
26.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
27.矢量数据:在计算机中表示空间数据的两种基本形式之一。由于空间数据具有属性特征(表示实际物体或目标、现象的性质)和空间特征(表示物体或目标的空间位置),所以在计算机中可用一对或一组坐标加上属性码来表示空间数据,称该数据为矢量数据。按照矢量数据结构,地图上基本图形要素可以概括为点、线、面三种元素及它们的组合。利用全站型仪器野外测量、解析和数字摄影测量及地图数字化,可以直接获得这种矢量数据。
28.实施例一
29.本发明提供了一种三维模型单体化方法,其流程如图1所示,详细步骤叙述如下:
30.s1:通过倾斜摄影测量或激光雷达扫描等手段获取场景三维模型数据,生成场景三维模型;对场景三维模型进行多尺度网格化及编码。
31.s11:场景三维模型数据可以通过倾斜摄影测量或激光雷达扫描等手段获取,构成三维模型的基本单元多样,可以是三角面片、体元、多变形等多种形式;
32.需要说明的是,以上方式获取得到的三维模型是整个场景的,还无法将整个场景中的某个单一目标分离出来,更无法对该目标的三维模型进行编辑、组织、管理等操作。
33.s12:对步骤s11中生成的场景三维模型进行多尺度网格化及编码。三维模型的多尺度网格化包括单尺度网格化和多尺度聚合两个步骤。
34.s121:单尺度网格化中包括了表面网格化和内部网格化两个部分。表面网格化是根据计算机屏幕显示的原理,将构成三维模型的每一个表面单元进行网格化,最终实现整体三维模型的表面网格化,网格化的同时建立每一个表面单元与网格的对应关系。每一个表面单元的网格化都可以转换为线网格化和填充网格化。即对构成每一个表面单元的线段进行网格化,这个方法最常用的是射线追踪法或bresenham算法。在此基础上,通过种子填充算法实现三角面片的内部填充。在表面网格化的基础上,通过种子填充算法、扫描线算法的综合,实现三维模型的内部填充。
35.s122:在实际应用的过程中,往往需要有多个尺度的格网协同工作,因此在实现三维模型单尺度网格化的基础上,根据八叉划分的原理,实现单尺度编码的聚合,形成多尺度
网格。多尺度网格编码采用整数编码编码方式,如geohash、多尺度整数编码等。在编码的同时,建立编码与三角面片之间的对应关系。申请号为201710446485.0的专利《一种三维空间的多尺度整数化编码方法和装置》对多尺度网格化编码进行了详细描述,此处不再赘述。使用上述专利实施例的方法能够对三维模型进行多尺度的网格化,其中,大尺度的网格承载信息量小,搜索效率高,小尺度的网格承载信息量大,细节表达更好。
36.s2:获取需要单体化的目标对象的矢量数据,该矢量数据表征目标的外部轮廓;对目标对象的矢量数据进行多尺度网格化及编码;
37.获取单体化目标对象的矢量数据的方法主要有三种:
38.一是人工标注采集。
39.二是通过开源的手段获取,目前,网络上有大量的开源建筑物矢量数据等。
40.三是通过影像处理的方式得到。具体处理步骤包括:

获取需要单体化的目标所在场景的影像数据;

采用基于深度学习的方法实现场景影像的智能分割,实现目标矢量边界的提取;

加入梯度约束,实现矢量边界的进一步精化。具体表现在:加入高程信息,计算步骤二提取得到的边界上每一个像素点的梯度,并沿着像素y轴方向计算梯度最大点,替换初始矢量边界点;

获取得到该目标的矢量数据。
41.在仅有三维模型,没有矢量数据的情况下(如图4所示只有三维模型),可以采用正射投影的方式,通过对三维模型进行投影变换,生成如图5所示的正射影像,最后在正射影像上进行分割,进而获取得到矢量数据。其中三维模型生成投影影像可以通过下列方法实现:
42.(a)确定投影参数(投影中心和投影角度)和影像范围;
43.(b)根据投影参数构建三维模型中每一个点与像点的对应关系,并对构成三维模型的每一个单元的顶点进行投影计算;
44.(c)像素填充。以基本单元为基础,在像素平面,将每一个单元构成的基本形状进行填充;
45.(d)像素赋值。将三维模型的纹理信息赋值至每个对应的像素点;
46.(e)像素更新。对于同一个像素点,当具有多个物方点对应时,计算与投影中心的距离,将距离最近的那个点作为最终的像素点。
47.通过上述方法获取需要单体化的目标对象的矢量数据后,对单体化目标对象的矢量数据进行矢量网格化。其中矢量多尺度网格化和编码的方法与步骤s12中一致,即采用的是同一套编码。这里的矢量数据表征的是单体目标对象的外部轮廓。矢量网格化就是对该场景中每一个目标模型的平面轮廓进行网格化,并进行编码。
48.s3:通过矢量数据网格化编码在场景三维模型网格化编码中进行查询,得到矢量数据的边界内的所有网格构成的模型即为目标对象的单体化三维模型。
49.具体来说,将查询得到的矢量边界内的场景三维模型网格属性修改为目标编号,这样可以根据目标编号实现三维模型的快速单体化。通过编码查询、网格属性赋值,将三维模型单体化问题转换为编码查询问题,实现目标单体化数据的获取。场景三维模型网格化编码结构的格式如下表所示。
50.表1场景三维模型网格化编码结构
[0051][0052]
表2目标编号示意
[0053]
目标编号目标名称1建筑物2立交桥......
[0054]
对场景三维模型进行网格化以后,单体化的效果取决于获取到的矢量数据的精度。在矢量数据达到精度要求的情况下,可通过调整场景三维模型的网格尺寸实现不同尺寸单体的单体化。具体说来,本实施例的方法不仅可以实现单体表面的单体化,对于单体内部的模型也可以进一步单体化,如建筑物、建筑物内部的桌、椅、板凳等。上述方式与申请号为201710446485.0的专利《一种三维空间的多尺度整数化编码方法和装置》中的空间数据组织不同,空间数据网格化查询只是获取了范围内的空间数据,将整个三维空间使用网格进行多层次的划分,但不能对每一个网格的属性信息(如是大桥还是操场)赋值,而本实施例的单体化方式在查询时会给获取得到的单体化数据进行网格属性赋值,使得网格能够区分为不同的属性类别。通过将场景三维模型的所有网格进行网格属性赋值,实现场景中所有目标对象的单体化。
[0055]
实施例二
[0056]
单体化的三维模型可以为城市规划、智慧城市建设提供重要支撑,而与事件关联、附加丰富属性信息的单体化三维模型不仅可以用于城市建设,还能为指挥决策提供重要依据。本实施例技术方案通过网络的手段获取得到热点事件,再通过提取热点事件的位置信息,与按照实施例一方法获取的目标对象的单体化三维模型相关联,分别构建以事件为中心的知识图谱和以地理空间位置为中心的知识图谱,将两种知识图谱进行关联融合,最终得到一种单体化多维模型,它包含了全要素的地理空间信息,为指挥决策提供重要支撑。
[0057]
本实施例技术方案在实施例一技术方案的基础上,为目标对象的单体化三维模型关联了属性和事件信息的知识图谱。图2示出了本发明实施例提供的一种单体化多维模型构建流程示意图。
[0058]
具体来说,该步骤为s4:结合与该目标单体相关的属性信息,构建单体属性知识图谱;结合与该目标对象相关的事件信息,构建目标对象事件知识图谱;将目标对象的单体化三维模型与单体属性知识图谱及目标对象事件知识图谱相关联,形成单体化多维模型。具体步骤如下:
[0059]
s41:构建单体属性知识图谱。
[0060]
以步骤s1至s3中获取的目标对象单体化模型为基础,通过web数据搜索与分析,通过开源的手段从互联网获取与目标单体相关的属性信息,包括:采购招标时间、单体建立时间、建立目的、承建单位、宽高、承载量、相关设施、设备、重要活动等各种信息。属性数据按照分类,从不同的网站上以地名为关键词、以时间为线索进行迭代搜索,如从招标网获取中标单位等信息、建筑公司官网上获取设计图、承载量等信息、采购网或根据收货地址获取设施信息。综合上述属性信息,构建得到单体属性知识图谱,形成关联了目标对象属性信息的单体化模型。
[0061]
s42:构建单体事件知识图谱。
[0062]
s421:获取与目标对象相关事件信息。主要是通过关键词检索、语义分析、语义关联等手段实现与目标对象相关事件的自动提取,具体包括以下步骤:
[0063]
s4211:地理空间关键词检索。从海量的开源数据(语音、文字、图像等)中进行关键词提取,并根据构建的关键词索引表(包括地名、概略位置等信息)确定概略位置信息。
[0064]
s4212:事件编码。根据获取得到的地理空间关键词信息对每一个事件进行编码,如图6所示,编码分为两个部分:第一部分为事件位置编码。根据概略位置信息构建多尺度的整数编码,编码方法与前述三维模型多尺度网格化编码方法一致,将位置信息转换为网格编码值;第二部分为事件信息编码。主要是采用字符串编码表示整个事件的具体信息。
[0065]
s4213:事件定位。如图7所示,有一类事件中有位置信息,但是位置信息并不明确,而是以例如图7中路口2以西,路口1以东等描述,实际指向目标对象的位置。对于这类事件,可以通过综合比较对同一事件的不同描述中的事件位置编码得到事件的定位,也可以通过对事件编码部分中的事件位置编码实现该事件的空间关系运算,获取该事件的具体定位。
[0066]
s422:构建单体事件知识图谱。根据关键词检索、事件位置以及不同人对同一事件的描述,再通过网络对该事件的起因、现状、发展、关联等信息进行挖掘,最终实现单体事件知识图谱的构建。
[0067]
s43:关联形成单体化多维模型。通过事件定位将单体事件知识图谱与目标对象单体化模型进行关联,而目标对象单体化模型在步骤s51中已关联有目标对象属性信息,则进一步形成了既有几何结构属性信息,又含有目标单体属性,以及与目标单体相关联的事件等各种网络信息的单体化多维模型,是一种全新的地理空间信息组织方式。目标对象事件知识图谱与目标对象单体化模型的关联方法主要是进行编码间的运算,具体关联方法如下:
[0068]
(1)获取目标对象单体化的三维模型平面最大尺度编码,如图3所示,图3为一单体化目标的三维模型平面编码示意图,其中a1-a5,b1-b5,c1-c5,d1-d5,e1-e5均表示每一个网格的编码,红色边框表示整个三维模型平面最大范围,其编码记为a;
[0069]
(2)获取事件的最大位置编码,编码值为b;
[0070]
(3)判断编码a和编码b是否关联。对于字符串类编码,如geohash,通过比较字符串每一个位上的字符是否相同确定两者之间的关联;如下所示,编码a为a1a2a3..an,编码b为b1b2b3...bn,如果编码a和编码b的每一位都相同,即ai=bi,i=1,2,3

,n,则两者是关联的。对于整数型编码,如多尺度整数编码,通过比较数据间大小确定两者之间的关联。
[0071]
上述方法中,由于事件编码和三维模型编码采用的是同一套编码,因此,可以通过编码间的包含/被包含、相邻等空间关系,实现事件编码与单体化的三维模型编码的快速关
联。
[0072]
单体化的三维模型是构成智慧城市、数字地球的基本骨架。单体化三维模型可以真实、细致地表达地物的真实形态,但是缺乏属性和事件信息。将事件、属性信息与单体化的三维模型相关联,并构建地理空间位置或事件知识图谱,在智慧城市建设的过程中,能够有效的提高关联分析结果产生的广度和准确度。
[0073]
应用场景:
[0074]
将事件信息与单体化三维模型进行关联,就能得到既含有地理实体,又具有事件实体的新的数据组织形式,将该数据在智慧地球上进行展示,多个事件和单体的组合,便于事件的统一组织和分析。这样获取得到的单体化多维模型中包含大量的信息,既能用于城市规划、智慧城市建设等方方面面,又能供相关部门进行舆论、热点事件分析等。
[0075]
如遇到暴雨或者洪灾等事件,当网络上都在热议某水库时,通过网络的手段可以定位到该水库;再通过该事件与水库的单体化三维模型相关联就能实现事件的具体化;最后,以该地址为中心,可以分别构建以事件或地理空间位置为中心的知识图谱,为指挥决策提供重要支撑。
[0076]
实施例三
[0077]
进一步的,作为对上述实施例所示方法的实现,本发明另一实施例还提供了一种三维模型单体化装置。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。在该实施例的装置中,具有以下模块:
[0078]
场景三维网格化模块:被配置为通过倾斜摄影测量或激光雷达扫描等手段获取场景三维模型数据,生成场景三维模型;对场景三维模型进行多尺度网格化及编码;对应于实施例一中的步骤s1的相关内容。
[0079]
矢量数据网格化模块:被配置为获取需要单体化的目标对象的矢量数据,矢量数据表征目标对象的外部轮廓;对目标对象的矢量数据进行多尺度网格化及编码;对应于实施例一中的步骤s2的相关内容。
[0080]
目标对象单体化模块:被配置为通过矢量数据的编码在场景三维模型的编码中进行查询,得到矢量数据的边界内的所有网格构成的模型即为目标对象的单体化三维模型。对应于实施例一中的步骤s3的相关内容。
[0081]
三维模型单体化模块:被配置为为获取到的矢量数据的边界内的所有网格进行网格属性赋值,属性表征目标对象的目标名称;通过将场景三维模型的所有网格进行网格属性赋值,实现场景中所有目标对象的单体化。
[0082]
单体化多维模型模块:被配置为结合与目标对象相关的属性信息,构建单体属性知识图谱;结合与目标对象相关的事件信息,构建单体事件知识图谱;将目标对象的单体化三维模型与单体属性知识图谱及单体事件知识图谱相关联,形成单体化多维模型。对应于实施例一中的步骤s4的相关内容。
[0083]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实装置施例的相关描述。
[0084]
可以理解的是,上述方法和中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
[0085]
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0086]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0087]
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0088]
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0089]
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1