一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

虚拟建筑生成方法、装置、设备及计算机可读存储介质与流程

2022-03-19 22:15:36 来源:中国专利 TAG:


1.本技术涉及数据处理技术,尤其涉及一种虚拟建筑生成方法、装置、设备及计算机可读存储介质。


背景技术:

2.随着数字化时代的来临,如何在虚拟的世界中构建真实的环境变得十分重要。由于人类所处的环境主要由各种建筑物构成,构建真实环境中十分重要的一个环节就是在虚拟世界中重建真实世界的建筑物。然而,在虚拟世界里构建建筑物是一件非常复杂、困难的任务,其主要是由于难以利用传感设备采集真实环境中大量建筑物数据并对其进行建筑物重建。例如,使用相机或者激光雷达作为传感器很难完成对单一建筑实体和场景下所有建筑数据的全面数据采集,难免会碰到遮挡、数据缺失、噪音大等问题;使用卫星数据虽然能够快速覆盖一个区域内的所有建筑,但其拍摄角度也十分有限,难以观察到建筑物的侧面,同时由于卫星距离较远,建筑物的细节也难以完全采集到。不论是基于相机、激光雷达的技术方案还是基于卫星数据的技术方案都难以解决大规模建筑物建模的问题。


技术实现要素:

3.本技术实施例提供一种虚拟建筑生成方法、装置及计算机可读存储介质,能够能够提高虚拟建筑的生成效率和准确性。
4.本技术实施例的技术方案是这样实现的:本技术实施例提供一种虚拟建筑生成方法,包括:获取待处理的卫星图像,并确定所述卫星图像中各个卫星建筑实例的属性信息;获取所述卫星图像对应的地图数据,并确定所述地图数据中的各个地图建筑矢量数据;基于所述各个卫星建筑实例、所述各个卫星建筑实例的属性信息确定所述各个地图建筑矢量数据对应的属性信息;获取所述地图数据对应的多个街景图像,并基于所述多个街景图像确定所述各个地图建筑矢量数据的纹理信息;基于所述各个地图建筑矢量数据生成三维建筑模型,并基于所述各个地图建筑矢量数据的属性信息和纹理信息对所述三维建筑模型进行纹理贴图,得到目标虚拟建筑。
5.本技术实施例提供一种虚拟建筑生成装置,包括:第一确定模块,用于获取待处理的卫星图像,并确定所述卫星图像中各个卫星建筑实例的属性信息;第一获取模块,用于获取所述卫星图像对应的地图数据,并获取所述地图数据中的各个地图建筑矢量数据;第二确定模块,用于基于所述各个卫星建筑实例、所述各个卫星建筑实例的属性信息确定所述各个地图建筑矢量数据对应的属性信息;
第三确定模块,用于获取所述地图数据对应的多个街景图像,并基于所述多个街景图像确定所述各个地图建筑矢量数据的纹理信息;建模贴图模块,用于基于所述各个地图建筑矢量数据生成三维建筑模型,并基于所述各个地图建筑矢量数据的属性信息和纹理信息对所述三维建筑模型进行纹理贴图,得到多个目标虚拟建筑。
6.在一些实施例中,该第一确定模块,还用于:获取训练好的实例分割模型;利用所述实例分割模型对所述卫星图像进行处理,得到所述卫星图像中包括的各个卫星建筑实例的属性信息、所述各个卫星建筑实例的包围盒和所述各个卫星建筑实例的掩模信息。
7.在一些实施例中,该第一获取模块,还用于:获取所述卫星图像中第一顶点的第一位置信息和第二顶点的第二位置信息,所述第一顶点和所述第二顶点为对角顶点;基于所述第一位置信息和所述第二位置信息,确定所述卫星图像对应的区域范围信息;基于所述区域范围信息,获取所述卫星图像对应的地图数据。
8.在一些实施例中,该第二确定模块,还用于:确定第r个地图建筑矢量数据与所述各个卫星建筑实例之间的各个匹配得分;当所述第r个地图建筑矢量数据的各个匹配得分中存在至少一个大于匹配阈值的匹配得分时,从所述各个卫星建筑实例中确定与所述第r个地图建筑矢量数据对应的目标卫星建筑实例;将所述目标卫星建筑实例对应的属性信息确定为所述第r个地图建筑矢量数据对应的属性信息。
9.在一些实施例中,该第二确定模块,还用于:获取各个卫星建筑实例对应的卫星建筑矢量数据;确定所述第r个地图建筑矢量数据的第一中心位置,确定各个卫星建筑矢量数据的第二中心位置;基于所述第r个地图建筑矢量数据、所述第一中心位置、所述各个卫星建筑矢量数据和所述各个第二中心位置确定第r个地图建筑矢量数据与所述各个卫星建筑实例之间的各个匹配得分。
10.在一些实施例中,该第二确定模块,还用于:确定所述第r个地图建筑矢量与所述各个卫星建筑矢量数据之间的各个第一距离;确定所述第一中心位置和各个第二中心位置之间的各个第二距离;基于所述各个第一距离和所述各个第二距离确定第r个地图建筑矢量数据与所述各个卫星建筑实例之间的各个匹配得分。
11.在一些实施例中,该第三确定模块,还用于:从所述多个街景图像中确定各个地图建筑矢量数据对应的目标街景图像;对各个目标街景图像进行语义分割,得到所述各个目标街景图像中包含目标建筑
图像的各个目标图像区域;获取多个预设纹理图像,并确定每一目标图像区域和各个预设纹理图像之间的各个相似度;基于所述每一目标图像区域对应的各个相似度从所述多个预设纹理图像中确定所述每一目标图像区域对应的目标纹理图像;将所述每一目标图像区域对应的目标纹理图像确定为所述各个地图建筑矢量数据的纹理信息。
12.在一些实施例中,该第三确定模块,还用于:获取采集各个街景图像时采集设备的采集位置、内参数和外参数;基于所述采集位置、所述内参数和所述外参数确定所述各个街景图像中包括的建筑标识和所述街景图像中建筑图像区域的覆盖比例;当所述覆盖比例大于预设的覆盖阈值时,将所述街景图像确定为所述建筑标识对应的地图建筑矢量数据对应的目标街景图像。
13.在一些实施例中,该第三确定模块,还用于:从第r个目标图像区域对应的各个相似度中确定最高相似度;当所述最高相似度大于预设的相似度阈值时,将所述最大相似度对应的预设纹理图像确定为所述第r个目标图像区域对应的目标纹理图像。
14.在一些实施例中,该装置还包括:第三获取模块,用于当所述最高相似度小于或者等于所述相似度阈值时,从所述第r个地图建筑矢量数据对应的属性信息中获取所述第r个地图建筑矢量数据的楼体属性;第四确定模块,用于基于所述楼体属性从所述多个预设纹理图像中确定所述第r个地图建筑矢量数据的目标纹理图像。
15.在一些实施例中,该建模贴图模块,还用于:从所述各个地图建筑矢量数据对应的属性信息中获取所述各个地图建筑矢量数据的楼顶属性;基于各个楼顶属性从多个预设纹理图像中确定各个虚拟建筑的楼顶纹理图像,将所述各个地图建筑矢量信息的纹理信息确定为所述各个虚拟建筑的楼体纹理图像;基于所述各个虚拟建筑的楼顶纹理图像和楼体纹理图像进行纹理贴图,得到各个目标虚拟建筑。
16.本技术实施例提供一种计算机设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现本技术实施例提供的方法。
17.本技术实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本技术实施例提供的方法。
18.本技术实施例提供一种计算机程序产品,包括计算机程序或指令,计算机程序或指令被处理器执行时实现本技术实施例提供的方法。
19.本技术实施例具有以下有益效果:在进行虚拟建筑的生成时,首先获取待处理的卫星图像,并确定卫星图像中各个
卫星建筑实例的属性信息,然后再获取卫星图像对应的地图数据,并确定地图数据中的各个地图建筑矢量数据,然后基于所述各个卫星建筑实例、所述各个卫星建筑实例的属性信息确定所述各个地图建筑矢量数据对应的属性信息,之后再获取地图数据对应的多个街景图像,并基于所述多个街景图像确定所述各个地图建筑矢量数据的纹理信息,并基于所述各个地图建筑矢量数据生成三维建筑模型,并基于所述各个地图建筑矢量数据的属性信息和纹理信息对所述三维建筑模型进行纹理贴图,得到目标虚拟建筑,在本技术实施例中,将卫星图像、地图数据和街景图像进行了多源数据融合,通过卫星图像能够实现所有房屋数据的全面数据采集,通过地图矢量数据和街景图像能够实现建筑细节的采集,不仅能够构建出大规模的虚拟建筑,还能够保证所构建出的虚拟建筑的准确性和全面性。
附图说明
20.图1是本技术实施例提供的虚拟建筑生成系统100的架构示意图;图2是本技术实施例提供的终端400的结构示意图;图3是本技术实施例提供的虚拟建筑生成方法的一种实现流程示意图;图4是本技术实施例提供的确定各个地图建筑矢量数据的纹理信息的实现流程示意图;图5是本技术实施例提供的从多个预设纹理图像中确定目标纹理图像的实现流程示意图;图6是本技术实施例提供的输入卫星图像i进行实例检测的结果示意图;图7是本技术实施例提供的确定相机当前视角是否能够拍摄到建筑物本身的示意图;图8是本技术实施例提供的对街景图像进行语义分割提取的结果示意图;图9是利用本技术实施例提供虚拟建筑生成方法生成的大规模虚拟房屋示意图。
具体实施方式
21.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
22.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
23.在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
24.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
25.需要说明的是,在本技术实施例中,涉及到各种图像信息,例如,卫星图像、街景图
像等,当本技术实施例运用到实际产品或技术中时,需要获得许可或者同意,且相关图像数据的收集、使用和处理均遵守相关国家和地区的相关法律法规和标准。
26.本技术实施例提供一种虚拟建筑生成方法、装置、设备和计算机可读存储介质,能够通过对多源数据进行融合,快速、准确实现规模级的建筑建模。下面说明本技术实施例提供的计算机设备的示例性应用,本技术实施例提供的计算机设备设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)、智能车载终端等各种类型的终端,也可以实施为服务器。下面,将说明设备实施为终端时示例性应用。
27.参见图1,图1是本技术实施例提供的虚拟建筑生成系统100的架构示意图,如图1所示,该系统100包括卫星服务器200、地图服务器300和终端400,其中,终端400和卫星服务器200、地图服务器300之间分别通过网络(图1中未示出)建立有通信连接,网络可以是广域网或者局域网,又或者是二者的组合。
28.在本技术实施例中,卫星服务器200接收人造卫星返回的卫星数据,并基于卫星数据和成像算法生成卫星图像,地图服务器300中包括有地图数据,该地图数据中包括建筑矢量数据、道路数据、自然景物数据等等。终端400从卫星服务器200获取待处理的卫星图像,并确定所述卫星图像中各个卫星建筑实例的属性信息,然后从地图服务器300获取所述卫星图像对应的地图数据,并确定所述地图数据中的各个地图建筑矢量数据,再基于所述各个卫星建筑实例、所述各个卫星建筑实例的属性信息确定所述各个地图建筑矢量数据对应的属性信息。再从地图服务器300获取所述地图数据对应的多个街景图像,并基于所述多个街景图像确定所述各个地图建筑矢量数据的纹理信息,最后基于所述各个地图建筑矢量数据生成三维建筑模型,并基于所述各个地图建筑矢量数据的属性信息和纹理信息对所述三维建筑模型进行纹理贴图,得到多个目标虚拟建筑,如此实现了卫星图像、地图数据和街景图像的多源数据融合,既保证大规模数据采集的全面性,又能够通过街景图像确定出建筑的细节特征,从而实现快速、准确的构建出大规模虚拟建筑。
29.在一些实施例中,卫星服务器200、地图服务器300可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能车载设备等,但并不局限于此。终端以及服务器之间可以通过有线或无线通信方式进行直接或间接地连接,本技术实施例中不做限制。
30.参见图2,图2是本技术实施例提供的终端400的结构示意图,图2所示的终端400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统440。
31.处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理
器等。
32.用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
33.存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
34.存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access memory)。本技术实施例描述的存储器450旨在包括任意适合类型的存储器。
35.在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
36.操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universal serial bus)等;呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
37.在一些实施例中,本技术实施例提供的装置可以采用软件方式实现,图2示出了存储在存储器450中的虚拟建筑生成装置455,其可以是程序和插件等形式的软件,包括以下软件模块:第一确定模块4551、第一获取模块4552、第二确定模块4553、第三确定模块4554和建模贴图模块4555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
38.在另一些实施例中,本技术实施例提供的装置可以采用硬件方式实现,作为示例,本技术实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本技术实施例提供的虚拟建筑生成方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field-programmable gate array)或其他电子元件。
39.将结合本技术实施例提供的终端的示例性应用和实施,说明本技术实施例提供的虚拟建筑生成方法。
40.本技术实施例提供一种虚拟建筑生成方法,图3是本技术实施例提供的虚拟建筑
生成方法的一种实现流程示意图,以下将结合图3对本技术实施例提供的虚拟建筑生成方法的各个步骤进行说明。
41.步骤s101,获取待处理的卫星图像,并确定卫星图像中各个卫星建筑实例的属性信息。
42.该步骤在实现时,可以是终端从卫星服务器获取到待处理的卫星图像,该卫星图像是卫星服务器基于接收到的卫星数据按照预设的成像算法生成的,例如可以是基于距离多普勒算法、相位补偿算法等。由于卫星数据是距离地面几百千米甚至上千千米的卫星上的雷达采集到的,因此通过卫星数据能够快速得到覆盖一个区域内的所有建筑的卫星图像,但卫星图像的拍摄角度十分有限,且不容易拍摄到建筑细节。
43.确定卫星图像中各个卫星建筑实例的属性信息在实现时,可以是利用训练好的实例分割模型对卫星图像进行实例分割,从而得到该卫星图像中的各个卫星建筑实例以及各个卫星建筑实例的属性信息。其中,卫星建筑实例的属性信息可以包括楼顶属性信息和楼体属性信息,其中楼顶属性信息可以包括楼顶颜色、杂乱程度等;楼体属性可以包括建筑性质、玻璃比例等。
44.步骤s102,获取卫星图像对应的地图数据,并确定地图数据中的各个地图建筑矢量数据。
45.该步骤在实现时,终端可以将向地图服务器发送数据获取请求,该数据获取请求中携带有卫星图像,地图服务器首先确定卫星图像对应的地理范围,然后再基于该地理范围确定卫星图像对应的地图数据,并将卫星图像对应的地图数据携带于数据获取响应中发送至终端,终端解析该数据获取响应以获取该卫星图像对应的地图数据,并获取地图数据中各个地图建筑矢量数据。
46.在一些实施例中,也可以是终端自身确定卫星图像对应的地理范围,然后向地图服务器发送数据获取请求,该数据获取请求中携带有该地理范围,地图服务器基于该地理范围确定卫星图像对应的地图数据,并将卫星图像对应的地图数据携带于数据获取响应中发送至终端,终端解析该数据获取响应以获取该卫星图像对应的地图数据,并获取地图数据中各个地图建筑矢量数据。
47.矢量数据是利用欧几里德几何学中点、线、面及其组合体来表示地理实体空间分布的一种数据组织方式。由于空间数据具有属性特征(表示实际物体或目标、现象的性质)和空间特征(表示物体或目标的空间位置),所以在计算机中可用一对或一组坐标加上属性码(或称特征码)来表示空间数据,这样的数据可以称为矢量数据。矢量数据可以包括点实体、线实体和面实体。其中,点实体可直接用坐标值描述;线实体可用均匀或不均匀间隔的顺序坐标链来描述;面实体(或多边形数据)可用边界线来描述。相应的,建筑矢量数据是用于描述建筑外形的矢量数据,基于建筑矢量数据可以生成建筑矢量图。
48.步骤s103,基于各个卫星建筑实例、各个卫星建筑实例的属性信息确定所述各个地图建筑矢量数据对应的属性信息。
49.由于地图建筑矢量数据为能够建模出虚拟建筑的数据,往往不会存在建筑的楼顶属性及楼体属性等信息。在该步骤中,可以计算每一地图建筑实例与各个卫星建筑实例之间的相似度,然后基于该地图建筑实例与各个卫星建筑实例之间的相似度确定与该地图建筑实例满足相似度条件的目标卫星建筑实例,并将该目标卫星建筑实例的属性信息确定为
该地图建筑实例对应的属性信息。
50.步骤s104,获取所述地图数据对应的多个街景图像,并基于所述多个街景图像确定所述各个地图建筑矢量数据的纹理信息。
51.在本技术实施例中,地图数据中包括有地图建筑矢量数据,还可以包括有多个街景图像,在获取到多个街景图像之后,首先确定各个地图建筑矢量数据对应的目标街景图像,在该目标街景图像中针对对应地图建筑的覆盖比例是大于预设的覆盖阈值的,例如该覆盖阈值为三分之二,那么目标街景图像中至少包括了该地图建筑至少三分之二的部分。在确定出各个地图建筑矢量数据对应的目标街景图像后,基于目标街景图像确定对应地图建筑矢量数据的纹理信息。由于街景图像一般是利用采集车在地面采集到的,采集图像时与地面建筑之间的距离较近,因此很好地保留了建筑楼体的外表细节,因此在该步骤中确定出的纹理信息可以认为是楼体纹理信息。在一些实施例中,如果街景图像是利用无人机拍摄的,并且拍摄到了楼顶部分,此时该步骤中确定出的纹理信息可能包括楼顶纹理信息。
52.步骤s105,基于所述各个地图建筑矢量数据生成三维建筑模型,并基于所述各个地图建筑矢量数据的属性信息和纹理信息对所述三维建筑模型进行纹理贴图,得到多个目标虚拟建筑。
53.由于在步骤s104中确定出的纹理信息一般为楼体纹理而不包含楼顶纹理,而楼顶纹理可以通过各个地图建筑矢量属性的属性信息中的楼顶属性确定出来,在确定出楼体纹理和楼顶纹理之后再进行纹理贴图,从而得到多个目标虚拟建筑,能够保证构建出的目标虚拟建筑的楼顶特征和楼体特征的准确性。
54.在一些实施例中,在完成多个目标虚拟建筑的生成之后,多个目标虚拟建筑构成的虚拟场景可应用于智能车路协同系统(intelligent vehicle infrastructure cooperative systems,ivics),通过智能车路协同系统可以实现自动驾驶。智能车路协同系统简称车路协同系统,是智能交通系统(intelligent traffic system,its)的一个发展方向。车路协同系统是采用先进的无线通信和新一代互联网等技术,全方位实施车车、车路动态实时信息交互,并在全时空动态交通信息采集与融合的基础上开展车辆主动安全控制和道路协同管理,充分实现人车路的有效协同,保证交通安全,提高通行效率,从而形成的安全、高效和环保的道路交通系统。
55.在本技术实施例提供的虚拟建筑生成方法,在进行虚拟建筑的生成时,首先获取待处理的卫星图像,并确定卫星图像中各个卫星建筑实例的属性信息,然后再获取卫星图像对应的地图数据,并确定地图数据中的各个地图建筑矢量数据,然后基于所述各个卫星建筑实例、所述各个卫星建筑实例的属性信息确定所述各个地图建筑矢量数据对应的属性信息,之后再获取地图数据对应的多个街景图像,并基于所述多个街景图像确定所述各个地图建筑矢量数据的纹理信息,并基于所述各个地图建筑矢量数据生成三维建筑模型,并基于所述各个地图建筑矢量数据的属性信息和纹理信息对所述三维建筑模型进行纹理贴图,得到目标虚拟建筑,在本技术实施例中,将卫星图像、地图数据和街景图像进行了多源数据融合,通过卫星图像能够实现所有房屋数据的全面数据采集,通过地图矢量数据和街景图像能够实现建筑细节的采集,不仅能够构建出大规模的虚拟建筑,还能够保证所构建出的虚拟建筑的准确性和全面性。
56.在一些实施例中,上述步骤s101中的“确定所述卫星图像中各个卫星建筑实例的
属性信息”,可以通过下述的步骤s1011至步骤s1012实现,以下分别进行说明。
57.步骤s1011,获取训练好的实例分割模型。
58.该实例分割模型用于对卫星图像进行实例分割,该实例分割模型可以为神经网络模型,例如可以是深度神经网络模型,还可以是循环网络神经模型。实例分割是自动从图像中用目标检测方法确定出不同实例。
59.在该步骤之前,可以首先获取预设的实例分割模型,然后获取训练数据,利用训练数据对该实例分割模型进行训练,得到训练好的实例分割模型,其中训练数据包括训练卫星图像和训练卫星图像的标签数据,该标签数据可以是人为对训练卫星图像进行标记得到的。
60.步骤s1012,利用所述实例分割模型对所述卫星图像进行处理,得到所述卫星图像中包括的各个卫星建筑实例的属性信息、所述各个卫星建筑实例的包围盒和所述各个卫星建筑实例的掩膜信息。
61.其中,各个卫星建筑实例的属性信息可以包括楼顶属性和楼体属性,其中,楼顶属性包括楼顶颜色和杂乱程度,例如楼顶颜色可以包括白色、灰黑色、琉璃色、深蓝色、浅灰色等。杂乱程度包括非常杂乱、有东西但整洁、非常干净等。楼体属性可以包括建筑性质、玻璃比例、建筑颜色等。卫星建筑实例的包围盒为能够包围住建筑实例轮廓的最小矩形,卫星建筑实例的掩膜与包围盒的大小相同,且在该卫星建筑实例的掩膜中是卫星建筑实例的部分为1,不是卫星建筑实例的部分为0。通过卫星建筑实例的掩码信息和卫星建筑实例包围盒内的图像信息就可以确定出包围盒中的卫星建筑实例部分。
62.在上述步骤s1011至步骤s1012所在的实施例中,通过训练好的实例分割模型,对卫星图像进行处理,得到卫星图像中各个卫星建筑实例的属性信息、所述各个卫星建筑实例的包围盒和所述各个卫星建筑实例的掩膜信息,其中各个卫星建筑实例的包围盒和各个卫星实例的掩膜信息用于在后续步骤中确定卫星建筑实例和地图矢量数据的相似性提供数据基础,而卫星建筑实例的的属性信息可提供给与之满足相似度条件的地图矢量数据。
63.在一些实施例中,上述步骤s102中的“获取所述卫星图像对应的地图数据”可以通过一些步骤实现:步骤s1021,获取所述卫星图像中第一顶点的第一位置信息和第二顶点的第二位置信息。
64.所述第一顶点和所述第二顶点为对角顶点。例如第一顶点为左下顶点,第二顶点为右上顶点,也可以是第一顶点为左上顶点,第二顶点为右下顶点。第一顶点的第一位置信息可以是第一顶点对应地点的经纬度信息,第二顶点的第二位置信息可以是第二顶点对应地点的经纬度信息。
65.步骤s1022,基于所述第一位置信息和所述第二位置信息,确定所述卫星图像对应的区域范围信息。
66.通过第一位置信息和第二位置信息,就可以确定出卫星图像中除第一顶点和第二顶点之外的其他两个顶点的位置信息,如此在确定出卫星图像对应的四个顶点的位置信息,也就能确定出卫星图像对应的区域范围信息,在本技术实施例中,该卫星图像对应的区域范围信息可以是卫星图像对应矩形区域的四个顶点的位置信息。
67.步骤s1023,基于所述区域范围信息,获取所述卫星图像对应的地图数据。
68.该步骤在实现时,终端可以将该区域范围信息携带于数据获取请求中,发送至地图服务器,以使得地图服务器基于该区域范围信息获取该卫星图像对应的地图数据。
69.通过上述的步骤s1021至步骤s1023,能够基于卫星图像对应的区域范围信息确定出卫星图像对应的地图数据,能够保证数据获取的准确性。
70.在一些实施例中,上述步骤s103“基于所述各个卫星建筑实例、所述各个卫星建筑实例的属性信息确定所述各个地图建筑矢量数据对应的属性信息”,可以通过以下步骤实现:步骤s1031,确定第r个地图建筑矢量数据与所述各个卫星建筑实例之间的各个匹配得分。
71.其中,r=1,2,

,n。n为正整数,且n为地图数据中包括的地图建筑个数。该步骤在实现时,获取卫星建筑实例对应的卫星矢量数据,然后确定第r个地图建筑矢量数据与卫星矢量数据之间的各个匹配得分。
72.步骤s1032,当所述第r个地图建筑矢量数据的各个匹配得分中存在至少一个大于匹配阈值的匹配得分时,从所述各个卫星建筑实例中确定与所述第r个地图建筑矢量数据对应的目标卫星建筑实例。
73.该步骤在实现时,当第r个地图建筑矢量数据的各个匹配得分中存在至少一个大于匹配阈值的匹配得分时,将各个匹配得分中最高匹配得分对应的卫星建筑实例确定为该地图建筑矢量数据对应的目标卫星建筑实例。
74.步骤s1033,将所述目标卫星建筑实例对应的属性信息确定为所述第r个地图建筑矢量数据对应的属性信息。
75.由于卫星建筑实例对应的属性信息中包括楼顶属性和楼体属性,在该步骤中,将目标卫星建筑实例对应的属性信息确定为第r个地图建筑矢量数据对应的属性信息,也即第r个地图建筑矢量数据具备了楼顶属性和楼体属性,在后续的纹理贴图过程中,提供确定楼顶纹理和/或楼体纹理的依据。
76.在一些实施例中,当第r个地图建筑矢量数据的各个匹配得分中不存在大于匹配阈值的匹配得分时,确定第r个地图建筑矢量数据没有对应的目标卫星建筑实例,此时也就不能获取到该地图建筑矢量数据对应的属性信息。但是可以通过该地图建筑矢量数据对应的目标街景图像确定出楼体纹理,而楼顶纹理可以按照默认楼顶纹理图像对楼顶部分进行顶部贴图。
77.在一些实施例中,上述步骤s1031“确定第r个地图建筑矢量数据与所述各个卫星建筑实例之间的各个匹配得分”,可以通过以下步骤实现:步骤s311,获取各个卫星建筑实例对应的卫星建筑矢量数据。
78.该步骤在实现时,可以基于各个卫星建筑实例对应的包围盒和各个卫星建筑实例对应的掩膜信息以及卫星图像,确定各个卫星建筑实例对应的卫星建筑矢量数据。其中,卫星建筑实例对应的包围盒可以用包围盒的两个对角顶点的位置信息表示。该步骤在实现时,可以基于包围盒的两个对角顶点的位置信息,确定出包围盒的区域信息,然后基于包围和的区域信息确定出该包围盒对应的卫星图像的图像区域,然后再将该图像区域和卫星建筑实例对应的掩膜信息,确定出该卫星建筑实例对应的卫星建筑数量数据。该卫星建筑矢量数据可以包括卫星建筑的楼顶轮廓,以及楼顶轮廓上各个顶点的顶点坐标,各个顶点之
间的连接关系等。
79.步骤s312,确定所述第r个地图建筑矢量数据的第一中心位置,确定各个卫星建筑矢量数据的第二中心位置。
80.基于第r个地图建筑矢量数据可以确定出第r个地图建筑的建筑顶面或建筑底面的外轮廓信息,基于该外轮廓信息可以确定出第r个地图建筑矢量数据的第一中心位置。同样地,基于卫星建筑矢量数据确定出楼顶轮廓,并基于楼顶轮廓确定出第二中心位置。
81.步骤s313,基于所述第r个地图建筑矢量数据、所述第一中心位置、所述各个卫星建筑矢量数据和所述各个第二中心位置确定第r个地图建筑矢量数据与所述各个卫星建筑实例之间的各个匹配得分。
82.该步骤可以通过以下步骤实现:步骤s3131,确定所述第r个地图建筑矢量数据与所述各个卫星建筑矢量数据之间的各个第一距离。
83.该步骤在实现时,可以是确定第r个地图建筑矢量数据与各个卫星建筑矢量数据之间的豪斯多夫距离(hausdorff),将得到的各个豪斯多夫距离确定为各个第一距离。
84.豪斯多夫距离是度量空间中两个子集之间的距离。它将度量空间的非空子集本身转化为度量空间。如果一个集合的每个点都接近另一个集合的某个点,那么两个集合在hausdorff距离上是接近的。hausdorff距离是指对手在两组中的一组中选择一个点,然后必须从那里到达另一组的最长距离。换句话说,它是从一个集合中的一个点到另一个集合中最近的点的所有距离中最大的一个。
85.在实际实现中,还可以利用其它算法确定第r个地图建筑矢量数据和各个卫星建筑矢量数据之间的第一距离。该第一距离可以是第r个地图建筑矢量数据对应的建筑轮廓和各个卫星建筑实例对应的建筑轮廓之间的距离。
86.步骤s3132,确定所述第一中心位置和各个第二中心位置之间的各个第二距离。
87.由于第一中心位置和第二中心位置分别为第r个地图建筑和卫星建筑实例的中心点的坐标信息,在已知两个点的坐标即可确定出两个点之间的距离,因此可以直接基于第一中心位置和第二中心位置确定出第二距离。
88.步骤s3133,基于所述各个第一距离和所述各个第二距离确定第r个地图建筑矢量数据与所述各个卫星建筑实例之间的各个匹配得分。
89.该步骤在实现时,可以首先获取预设的第一权重和第二权重,第一权重和第二权重分别为0到1的实数,且第一权重和第二权重的和为1,然后将基于第一权重和第二权重对第一距离和第二距离进行加权求和,得到匹配得分。
90.在上述步骤s311至步骤s313所在实施例中,第r个地图建筑矢量数据与所述各个卫星建筑实例之间的各个匹配得分,是由表征第r个地图建筑矢量数据对应的建筑轮廓和各个卫星建筑实例对应的建筑轮廓之间的距离的第一距离以及第r个地图建筑的第一中心位置和各个卫星建筑的第二中心位置确定出的第二距离共同决定的,从而能够保证计算出的匹配得分的准确性。
91.在一些实施例中,上述步骤s104中的“基于所述多个街景图像确定所述各个地图建筑矢量数据的纹理信息”可以通过图4所示的步骤s1041至步骤s1045实现,以下结合图4对各个步骤进行说明。
92.步骤s1041,从多个街景图像中确定第r个地图建筑矢量数据对应的目标街景图像。
93.在实际应用过程中,该步骤s1041可以通过以下步骤实现:步骤s411,获取采集各个街景图像时采集设备的内参数和外参数。
94.采集设备的采集位置可以用采集设备采集街景图像时的经纬度信息标识,采集设备的内参数包括内参数,又可以称之为内参。内参数是指与图像采集装自身特性相关的参数,比如图像采集装置的焦距、像素大小等。具体来说,图像采集装置的内参数可以包括:1/dx、1/dy、u0、v0、f,其中,dx和dy分别表示x方向和y方向的一个像素分别占多少长度单位,即一个像素代表的实际物理值的大小,dx和dy是实现图像物理坐标系与像素坐标系转换的关键。u0,v0表示图像的中心像素坐标和图像原点像素坐标之间相差的横向和纵向像素数,f为焦距。
95.外参数可以是指图像采集装置的位置姿态信息,外参数能够确定图像采集装置在某个三维空间中的位置和朝向。外参数可以包括图像采集装置的位置、旋转角度等。
96.步骤s412,基于所述内参数和所述外参数确定所述各个街景图像中包括的建筑标识和所述街景图像中建筑图像区域的覆盖比例。
97.在本技术实施例中,基于采集设备的外参数能够确定出采集各个街景图像的采样位置以及采样朝向,基于采样位置以及采样朝向可以确定出街景图像中包括的建筑标识;然后再基于采样位置、采样朝向以及采集设备的内参数中的焦距、像素大小等参数确定出采集到的街景图像中建筑图像区域占实际建筑的覆盖比例。例如,基于采集到街景图像中建筑图像区域和内参数确定拍摄到实际建筑的高度的三分之二位置,宽度的全部位置,那么可以出建筑图像区域的覆盖比例为三分之二,也即街景图像中拍摄到该实际建筑的三分之二。
98.步骤s413,当所述覆盖比例大于预设的覆盖阈值时,将所述街景图像确定为所述建筑标识对应的地图建筑矢量数据的目标街景图像。
99.当覆盖比例大于预设的覆盖阈值时,确定该街景图像中拍摄到了建筑的绝大部分,此时将该街景图像确定为该建筑标识对应地图建筑矢量数据的目标街景图像。
100.步骤s1042,对所述目标街景图像进行语义分割,得到所述目标街景图像中包含目标建筑图像的目标图像区域。
101.该步骤在实现时,首先获取训练好的语义分割模型,利用该训练好的语义分割模型对目标街景图像进行语义分割,得到目标街景图像的语义分割结果,该语义分割结果为目标街景图像中各个像素点的属性信息,该属性信息为可以为0,也可以为1,当一个像素点的属性信息为0时,说明该像素点不为目标建筑图像中的像素点;当一个像素点的属性信息为1时,说明该像素点为目标建筑图像中的像素点。在得到目标街景图像的语义分割结果之后,结合目标街景图像即可确定出包含目标建筑图像的目标图像区域。
102.步骤s1043,获取多个预设纹理图像,并确定所述目标图像区域和各个预设纹理图像之间的各个相似度。
103.该步骤在实现时,从目标图像区域中获取与预设纹理图像大小相同的对比图像区域,然后确定对比图像区域与预设纹理图像之间的相似度,例如可以是确定对比图像区域与预设纹理图像之间的汉明距离,再利用汉明距离确定目标图像区域与各个预设纹理图像
之间的各个相似度。
104.在一些实施例中,还可以确定对比图像区域与各个预设纹理图像的欧氏距离、余弦距离等,然后再利用欧氏距离或余弦距离来确定目标图像区域与各个预设纹理图像之间的各个相似度。
105.步骤s1044,基于所述各个相似度从所述多个预设纹理图像中确定目标纹理图像。
106.该步骤在实现时,可以首先获取多个相似度中的最高相似度,如果最高相似度大于预设的相似度阈值,则将最高相似度对应的预设纹理图像确定为目标纹理图像。在一些实施例中,如果最高相似度不大于相似度阈值,可以基于第r个地图建筑矢量数据的属性信息中的楼体属性确定该第r个地图建筑矢量数据的目标纹理图像。
107.步骤s1045,将所述目标纹理图像确定为所述第r个地图建筑矢量数据的纹理信息。
108.在上述的步骤s1041至步骤s1045所在的实施例中,在确定各个地图建筑矢量数据的纹理信息时,首先从多个街景图像中确定出拍摄到大部分实际建筑的目标街景图像,然后对目标街景图像进行语义分割,确定出目标街景图像中的建筑图像对应的目标图像区域,然后再从多个预设纹理图像中确定出与目标图像区域相似的目标纹理图像,由于街景图像是从距离建筑相对较近的位置采集到的,因此能够采集到的建筑的细节信息,从而能够保证确定出的纹理信息的准确性,进而保证最终贴图出的虚拟建筑的真实性。
109.在一些实施例中,上述步骤s1044“基于所述各个相似度从所述多个预设纹理图像中确定目标纹理图像”可以通过图5所示的步骤s441至步骤s443实现,以下结合图5对各个步骤进行说明。
110.步骤s441,从所述各个相似度中确定最高相似度。
111.该步骤在实现时,可以将各相似度按照大小顺序进行排序,从而得到最高相似度。
112.步骤s442,确定最高相似度是否大于预设的相似度阈值。
113.当所述最高相似度大于预设的相似度阈值时,进入步骤s443;在本技术实施例中,当最高相似度小于或者等于时,进入步骤s444。
114.步骤s443,将所述最大相似度对应的预设纹理图像确定为目标纹理图像。
115.当最高相似度大于预设的相似度阈值时,说明最大相似度对应的预设纹理图像与第r个地图建筑矢量数据对应的目标图像区域满足相似度条件,可以将最大相似度对应的预设纹理图像确定为目标纹理图像。
116.步骤s444,从所述第r个地图建筑矢量数据对应的属性信息中获取所述第r个地图建筑矢量数据的楼体属性。
117.当最高相似度不大于预设的相似度阈值时,说明多个预设纹理图像中没有与第r个地图建筑矢量数据对应的目标图像区域满足相似度条件的预设纹理图像,此时可以从第r个地图建筑矢量数据对应的属性信息中获取所述第r个地图建筑矢量数据的楼体属性,其中可以包括楼体颜色、建筑性质、玻璃比例等。建筑性质可以是住宅、写字楼、景点建筑等。
118.步骤s445,基于所述楼体属性从所述多个预设纹理图像中确定所述第r个地图建筑矢量数据的目标纹理图像。
119.在本技术实施例中,可以预先建立有楼体属性与纹理图像之间的对应关系,该步骤在实现时,基于第r个地图矢量数据的楼体属性,可以确定出该第r个地图建筑矢量数据
的目标纹理图像。
120.通过上述步骤s441至步骤s445,在确定第r个地图建筑矢量数据的目标纹理图像时,首先从各个相似度中确定出最高相似度,如果最高相似度大于预设的相似度阈值,则将最高相似度对应的预设纹理图像确定为第r个地图建筑数量数据的目标纹理图像;而最高相似度都不大于相似度阈值时,说明多个预设纹理图像中没有任何一个都是与第r个地图建筑矢量数据对应的目标图像区域相似的纹理图像,此时可以基于第r个地图建筑矢量数据的楼体属性确定出第r个地图矢量数据的目标纹理图像,从而能够保证可以确定出各个地图矢量数据的目标纹理图像,进而保证后续的纹理贴图能够正确执行。
121.在一些实施例中,上述步骤s105“基于所述各个地图建筑矢量数据的属性信息和纹理信息对所述三维建筑模型进行纹理贴图,得到各个目标虚拟建筑”,可以通过以下步骤实现:步骤s1051,从所述各个地图建筑矢量数据对应的属性信息中获取所述各个地图建筑矢量数据的楼顶属性。
122.楼顶属性可以包括楼顶颜色和杂乱程度。
123.步骤s1052,基于各个楼顶属性从多个预设纹理图像中确定各个虚拟建筑的楼顶纹理图像,将所述各个地图建筑矢量信息的纹理信息确定为所述各个虚拟建筑的楼体纹理图像。
124.步骤s1053,基于所述各个虚拟建筑的楼顶纹理图像和楼体纹理图像进行纹理贴图,得到各个目标虚拟建筑。
125.在计算机图形学中,纹理贴图是使用图像、函数或其他数据源来改变物体表面外观的技术。例如,可以将一幅砖墙的彩色图像应用到一个多边形上,而不用对砖墙的几何形状进行精确表示。当观察这个多边形的时候,这张彩色图像就出现在多边形所在位置上。只要观察者不接近这面墙,就不会注意到其中几何细节的不足(比如其实砖块和砂浆的图像是显示在光滑的表面上的事实)。
126.通过上述步骤s1051至步骤s1053,即通过各个地图建筑矢量数据的属性信息和纹理信息完成了对三维建筑模型进行纹理贴图的实现过程,通过纹理贴图的方式将图像和三维建筑模型表面结合起来,可以在建模、存储空间和速度方面节省很多资源,提高虚拟建筑模型的生成效率。
127.下面,将说明本技术实施例在一个实际的应用场景中的示例性应用。
128.本技术实施例提供一种虚拟建筑生成方法,通过对多源数据进行融合,快速实现规模级的虚拟建筑物的建模。在本技术实施例中,以建筑物为房屋为例进行说明。
129.在本技术实施例中,首先通过卫星影像数据对一个区域内的所有房屋进行实例分割(instance segmentation),从而提取出每一个房屋实例的轮廓和内容。该部分数据作为实例分割神经网络模型的训练数据,该训练数据为人工标注数据,作业员使用多边形对楼顶和楼体进行标注,并对它们的属性进行分类选择。其中,楼顶轮廓指的是构成房屋顶部的边界区域,每个建筑都应有至少一个楼顶轮廓,需要将该区域用闭合多边形进行拟合。如果楼顶轮廓有多个,应分别标注。完成楼顶轮廓的标注后,对每个闭合多边形轮廓进行属性分类。在本技术实施例中,对楼顶的颜色和杂乱程度进行分类。其中,颜色包括白色、灰黑色、琉璃色、浅蓝色、深蓝色、浅绿色、水泥色、鲜红色等;杂乱程度包括非常杂乱(比如有许多杂
物、空调外机、凹凸不平)、有东西但整洁(比如为草坪楼顶、只有1、2个杂物的楼顶)、非常干净(无任何杂物)等。楼体轮廓如果看不到(常见于矮楼层房屋)则不需要标注。
130.楼体轮廓指的是构成房屋侧面的边界区域,每个建筑可能有多个楼体轮廓区域,需要将该区域用闭合多边形进行拟合。完成楼体轮廓的标注后,也会对每个闭合多边形轮廓进行属性分类。在本技术实施例中,对楼体属性和玻璃比例进行分类。楼体属性包括民用住宅、商场、写字楼、政府学校、旅游景点等;玻璃程度分成两类,为玻璃正常多、玻璃非常多。
131.通过上述标注出的训练数据,能够训练一个实例分割神经网络模型,完成从卫星数据中提取房屋轮廓和属性的任务。将一副卫星图像i,能够得到输出其中,代表从图像中识别出的房屋实例数量。其中,为第c个房屋实例的包围盒,为第c个房屋实例的属性标签,为第c个房屋实例的掩膜。
132.图6是本技术实施例提供的输入卫星图像i进行实例检测的结果示意图,如图6所示,在该卫星图像i中包括四个房屋实例,分别为房屋实例601、房屋实例602、房屋实例603和房屋实例604,并且在图6中示出了每个房屋实例的包围盒,其中,房屋实例601对应包围盒605、房屋实例602对应包围盒606、房屋实例603对应包围盒607和房屋实例604对应包围盒608。
133.在本技术实施例提供的虚拟建筑生成方法中,能够融合已有地图矢量数据,如地图app中的地图矢量数据。该融合阶段的难点在于卫星拍摄是具有一点角度的、而矢量数据往往是沿着地面垂直方向,因此这两种数据之间存在误差。因此在本技术实施例中提出了一种融合这两种数据的方法:给定一副卫星图像,首先能够根据该卫星图像的左上角点坐标和右下角点坐标转换出该卫星图像对应的地理坐标范围,使用该地理坐标范围能够从地图矢量数据中提取所有与存在相交关系的房屋矢量。然后将中的所有房屋矢量与实例分割检测到的所有房屋矢量进行匹配。在实现时,可以使用匈牙利算法进行二分图匹配。首先构造一个匹配矩阵,其尺寸为。匹配矩阵的每一行代表地图矢量数据中的一个房屋,损失矩阵的每一列代表实例分割数据中的一个房屋。因此代表中的第r个房屋与的第c个房屋之间的匹配得分。在本技术实施例中,可以通过公式(2-1)确定:
ꢀꢀ
(2-1);其中,为计算两个房屋矢量之间的霍斯多夫距离的函数,为计算房屋矢量中心点位置的函数,为平衡这两项的权重系数,为0到1之间的实数,在本技术实施例中,可以设定。
134.在得到匹配矩阵ci后,由于ci的第i行表地图矢量数据中的第i个房屋矢量与通过卫星图像检测出的房屋实例的匹配得分,那么可以确定第i行中有没有超过匹配阈值的匹配得分,如果第i行中有超过匹配阈值的匹配得分,将超过匹配阈值的匹配得分中的最高得分对应的房屋实例的属性信息,确定为第i个房屋矢量的属性信息,如此能够将卫星识别出的结果与准确度更高的矢量数据进行融合,解决了卫星数据由于拍摄角度和参数未知导致的误差问题。
135.完成了地图矢量数据中各个房屋矢量的属性识别后,下一步是融合地面采集到的图像数据。地面采集到的图像数据可以由特定的地图采集车采集完成,也可以是互联网街景数据。对于采集车采集数据或者互联网街景数据,可以根据采集图像数据时相机的内参、外参在2d平面上计算该图像是否包含房屋矢量数据对应的目标矢量建筑,在实现时,可以通过确定该图像中所包括的目标矢量建筑部分占整个目标矢量建筑的覆盖比例,如果覆盖比例大于预先设定的覆盖阈值,确定该图像中包括目标矢量建筑,此时在该图像上进行语义分割。在实现时,可以通过语义分割模型对地面采集到的图像p进行语义分割,得到像素级别的属性,即。即对于每一个像素,都能够知道其属性。
136.图7是本技术实施例提供的确定相机当前视角是否能够拍摄到建筑物本身的示意图,根据相机的内参和外参能够确定出相机当前视角以及当前视角所能拍摄到的部分建筑物,也即图7所示的加粗线条部分,然后根据该加粗线条部门和该建筑物的矢量数据确定拍摄到的部分占整个建筑物的覆盖比例,从而基于覆盖确定相机采集到的图像中是否包括该建筑物。
137.图8是本技术实施例提供的对街景图像进行语义分割提取的结果示意图,其中,801为街景的原始图像示意图;802为经语义分割提取的结果示意图。
138.在本技术实施例中,会预先生成一个纹理数据库,通过对所有满足的像素集合与纹理数据库中的纹理进行比对,选出最接近的纹理作为该矢量数据的楼体纹理。在实现时,可以使用颜色矩阵方法对像素和纹理进行距离计算,也可以使用其它任何图像相似性度量方法进行距离计算。
139.完成上述计算后,对于一个房屋矢量,能够得到其在卫星数据中推理的属性(包括楼顶轮廓和楼顶属性)和地面采集中推理的属性(包括楼体纹理),之后可以对所有的房屋矢量进行三维模型生成,并基于楼顶轮廓、楼顶属性、楼体纹理进行纹理贴图,即可得
到多源数据融合的大规模虚拟房屋。
140.图9是利用本技术实施例提供虚拟建筑生成方法生成的大规模虚拟房屋示意图,通过虚拟房屋901和虚拟房屋902可以看出生成的房屋清晰、准确、真实度高。
141.本技术实施例提供的虚拟建筑生成方法,将多源数据进行融合,能够大幅降低自动驾驶模拟仿真和数字孪生建模中对大规模场景中房屋快速、自动生成的需求,通过融合多种来源的不同数据,能够尽可能降低建模的成本,提升项目交付的速度、自动驾驶仿真远景真实度、数字孪生重建的效果。
142.下面继续说明本技术实施例提供的虚拟建筑生成装置455的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器450的虚拟建筑生成装置455中的软件模块可以包括:第一确定模块4551,用于获取待处理的卫星图像,并确定所述卫星图像中各个卫星建筑实例的属性信息;第一获取模块4552,用于获取所述卫星图像对应的地图数据,并获取所述地图数据中的各个地图建筑矢量数据;第二确定模块4553,用于基于所述各个卫星建筑实例、所述各个卫星建筑实例的属性信息确定所述各个地图建筑矢量数据对应的属性信息;第三确定模块4554,用于获取所述地图数据对应的多个街景图像,并基于所述多个街景图像确定所述各个地图建筑矢量数据的纹理信息;建模贴图模块4555,用于基于所述各个地图建筑矢量数据生成三维建筑模型,并基于所述各个地图建筑矢量数据的属性信息和纹理信息对所述三维建筑模型进行纹理贴图,得到目标虚拟建筑。
143.在一些实施例中,该第一确定模块,还用于:获取训练好的实例分割模型;利用所述实例分割模型对所述卫星图像进行处理,得到所述卫星图像中包括的各个卫星建筑实例的属性信息、所述各个卫星建筑实例的包围盒和所述各个卫星建筑实例的掩模信息。
144.在一些实施例中,该第一获取模块,还用于:获取所述卫星图像中第一顶点的第一位置信息和第二顶点的第二位置信息,所述第一顶点和所述第二顶点为对角顶点;基于所述第一位置信息和所述第二位置信息,确定所述卫星图像对应的区域范围信息;基于所述区域范围信息,获取所述卫星图像对应的地图数据。
145.在一些实施例中,该第二确定模块,还用于:确定第r个地图建筑矢量数据与所述各个卫星建筑实例之间的各个匹配得分;当所述第r个地图建筑矢量数据的各个匹配得分中存在至少一个大于匹配阈值的匹配得分时,从所述各个卫星建筑实例中确定与所述第r个地图建筑矢量数据对应的目标卫星建筑实例;将所述目标卫星建筑实例对应的属性信息确定为所述第r个地图建筑矢量数据对应的属性信息。
146.在一些实施例中,该第二确定模块,还用于:获取各个卫星建筑实例对应的卫星建筑矢量数据;确定所述第r个地图建筑矢量数据的第一中心位置,确定各个卫星建筑矢量数据的第二中心位置;基于所述第r个地图建筑矢量数据、所述第一中心位置、所述各个卫星建筑矢量数据和所述各个第二中心位置确定第r个地图建筑矢量数据与所述各个卫星建筑实例之间的各个匹配得分。
147.在一些实施例中,该第二确定模块,还用于:确定所述第r个地图建筑矢量与所述各个卫星建筑矢量数据之间的各个第一距离;确定所述第一中心位置和各个第二中心位置之间的各个第二距离;基于所述各个第一距离和所述各个第二距离确定第r个地图建筑矢量数据与所述各个卫星建筑实例之间的各个匹配得分。
148.在一些实施例中,该第三确定模块,还用于:从所述多个街景图像中确定各个地图建筑矢量数据对应的目标街景图像;对各个目标街景图像进行语义分割,得到所述各个目标街景图像中包含目标建筑图像的各个目标图像区域;获取多个预设纹理图像,并确定每一目标图像区域和各个预设纹理图像之间的各个相似度;基于所述每一目标图像区域对应的各个相似度从所述多个预设纹理图像中确定所述每一目标图像区域对应的目标纹理图像;将所述每一目标图像区域对应的目标纹理图像确定为所述各个地图建筑矢量数据的纹理信息。
149.在一些实施例中,该第三确定模块,还用于:获取采集各个街景图像时采集设备的采集位置、内参数和外参数;基于所述采集位置、所述内参数和所述外参数确定所述各个街景图像中包括的建筑标识和所述街景图像中建筑图像区域的覆盖比例;当所述覆盖比例大于预设的覆盖阈值时,将所述街景图像确定为所述建筑标识对应的地图建筑矢量数据对应的目标街景图像。
150.在一些实施例中,该第三确定模块,还用于:从第r个目标图像区域对应的各个相似度中确定最高相似度;当所述最高相似度大于预设的相似度阈值时,将所述最大相似度对应的预设纹理图像确定为所述第r个目标图像区域对应的目标纹理图像。
151.在一些实施例中,该装置还包括:第三获取模块,用于当所述最高相似度小于或者等于所述相似度阈值时,从所述第r个地图建筑矢量数据对应的属性信息中获取所述第r个地图建筑矢量数据的楼体属性;第四确定模块,用于基于所述楼体属性从所述多个预设纹理图像中确定所述第r个地图建筑矢量数据的目标纹理图像。
152.在一些实施例中,该建模贴图模块,还用于:
从所述各个地图建筑矢量数据对应的属性信息中获取所述各个地图建筑矢量数据的楼顶属性;基于各个楼顶属性从多个预设纹理图像中确定各个虚拟建筑的楼顶纹理图像,将所述各个地图建筑矢量信息的纹理信息确定为所述各个虚拟建筑的楼体纹理图像;基于所述各个虚拟建筑的楼顶纹理图像和楼体纹理图像进行纹理贴图,得到各个目标虚拟建筑。
153.需要说明的是,本技术实施例针对虚拟建筑生成装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本装置实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
154.本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本技术实施例上述的虚拟建筑生成方法。
155.本技术实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本技术实施例提供的虚拟建筑生成方法,例如,如图3、图4示出的虚拟建筑生成方法。
156.在一些实施例中,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
157.在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
158.作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hyper text markup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
159.作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
160.以上所述,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献