发明内容
有鉴于此,本申请的目的在于提供一种面向城市信息模型建筑三维重建方法、装置、设备及介质,大大降低目标建筑物的空间存储使用率。
第一方面,本申请实施例提供了一种面向城市信息模型建筑三维重建方法,所述方法包括:
对目标建筑物的原始三维模型所处的水平面进行采样,得到所述原始三维模型的高度图和法向量图;
整合所述高度图的第一边缘图和所述法向量图的第二边缘图,得到包括高度和方向不连续的多个候选区域的整体边缘图;
整合所述高度图的第一轮廓线图和所述法向量图的第二轮廓线图,得到包括交互镶嵌的多个粗分多边形的第一整体轮廓线图;
根据所述整体边缘图中的候选区域和所述第一整体轮廓线图中粗分多边形对所述目标建筑物进行重构,得到目标建筑物的重构三维模型,以通过所述重构三维模型展示所述目标建筑物。
在本申请一些技术方案中,上述原始三维模型包括目标建筑物和影响所述目标建筑物展示的杂质;所述整合所述高度图的第一边缘图和所述法向量图的第二边缘图,得到包括高度和方向不连续的多个候选区域的整体边缘图,包括:
按照与所述原始三维模型所处的水平面垂直的方向,对所述目标建筑物的原始三维模型进行渲染,得到所述原始三维模型的渲染图;
根据所述渲染图中每个像素点是否包含杂质,从多个所述候选区域中,去除包含杂质的区域,得到包括多个包含所述目标建筑物的组成区域的整体边缘图;
整合所述高度图的第一轮廓线图和所述法向量图的第二轮廓线图,得到包括交互镶嵌的多个粗分多边形的第一整体轮廓线图,包括:
整合所述高度图的第一轮廓线图、所述法向量图的第二轮廓线图和所述渲染图的第三轮廓线图,得到包括交互镶嵌的多个细分多边形的第二整体轮廓线图;
根据所述整体边缘图中的候选区域和所述第一整体轮廓线图中粗分多边形对所述目标建筑物进行重构,包括:
根据所述整体边缘图中的组成区域和所述第二整体轮廓线图中细分多边形对所述目标建筑物进行重构。
在本申请一些技术方案中,上述根据所述渲染图中每个像素点是否包含杂质,从多个所述候选区域中,去除包含杂质的异常候选区域,得到包括多个包含所述目标建筑物的组成区域的整体边缘图,包括:
对所述渲染图进行语义分割处理,确定所述候选区域中的每个像素点包含杂质的第一置信度;
将所述候选区域中所有像素点包含杂质第一置信度的均值,作为该候选区域包含杂质的第二置信度;
根据所述候选区域包含杂质的第二置信度和预设置信度阈值,从所述整体边缘图中去除与小于置信度阈值的第二置信度对应的异常区域,得到包括多个组成区域的整体边缘图。
在本申请一些技术方案中,上述整合所述高度图的第一轮廓线图、所述法向量图的第二轮廓线图和所述渲染图的第三轮廓线图,得到包括交互镶嵌的多个细分多边形的第二整体轮廓线图,包括:
分别对所述高度图、所述法向量图和所述渲染图进行直线检测处理,得到所述高度图的第一轮廓线图、所述法向量图的第二轮廓线图和所述渲染图的第三轮廓线图;
将所述高度图的第一轮廓线图、所述法向量图的第二轮廓线图和所述渲染图的第三轮廓线图进行叠加,得到包括交互镶嵌的多个候选多边形的第二整体轮廓线图;
根据所述第二整体轮廓线图中不同所述候选多边形之间的位置关系,对所述候选多边形进行合并处理,到包括交互镶嵌的多个细分多边形的第二整体轮廓线图。
在本申请一些技术方案中,上述根据所述整体边缘图中的组成区域和所述第二整体轮廓线图中细分多边形对所述目标建筑物进行重构,包括:
对所述整体边缘图包括的所述组成区域进行形状拟合,确定所述组成区域对应拟合的目标三维形状和该目标三维形状对应的形状参数;
根据所述组成区域对应的目标三维形状和所述第二整体轮廓线图中的细分多边形,确定所述第二整体轮廓线图中每个细分多边形对应的目标三维形状;
根据任意两个细分多边形之间的位置关系和所述两个细分多边形对应的目标三维形状,对所述细分多边形进行合并得到合并后的目标多边形;
根据所述目标多边形与所述目标多边形对应的目标三维形状的形状参数对所述目标建筑物的进行重构,得到目标建筑物的重构三维模型。
在本申请一些技术方案中,上述对所述组成区域进行形状拟合,确定所述组成区域对应拟合的目标三维形状和该目标三维形状对应的形状参数,包括:
根据所述组成区域和该组成区域对应的高度图,将每个所述组成区域还原为对应的三维点云;
对每个所述三维点云分别进行不同形状的拟合,得到该三维点云对应的多个预测三维形状和该预测三维形状对应的评分和形状参数;
根据每个所述预测三维形状对应的评分,从所述预测三维形状中,选取评分最高的预测三维形状作为所述三维点云的候选三维形状;
根据每个所述候选三维形状对应的形状参数,将所述形状参数位于同一预设区间内的所述候选三维形状进行合并,得到合并后的目标三维形状。
在本申请一些技术方案中,上述根据所述目标多边形与所述目标多边形对应的目标三维形状的形状参数对所述目标建筑物的进行重构,得到目标建筑物的重构三维模型,包括:
若所述目标多边形对应的所述目标三维形状为平面图形,则根据所述目标多边形与所述目标多边形对应的目标三维形状的形状参数对所述目标建筑物的进行重构,得到目标建筑物的重构三维模型;
若所述目标多边形对应的所述目标三维形状为曲面图形,使用预设的与所述目标多边形对应的切割线,对所述目标多边形进行切割,得到多个子多边形;对每个所述子多边形进行三角化处理,得到该子多边形对应的二维三角网格;根据所述二维三角网格和与所述二维三角网格对应的目标三维形状的形状参数,对所述目标建筑物的进行重构,得到目标建筑物的重构三维模型。
第二方面,本申请实施例提供了一种面向城市信息模型建筑三维重建装置,所述装置包括:
采样模块,用于对目标建筑物的原始三维模型所处的水平面进行采样,得到所述原始三维模型的高度图和法向量图;
第一整合模块,用于整合所述高度图的第一边缘图和所述法向量图的第二边缘图,得到包括高度和方向不连续的多个候选区域的整体边缘图;
第二整合模块,用于整合所述高度图的第一轮廓线图和所述法向量图的第二轮廓线图,得到包括交互镶嵌的多个粗分多边形的第一整体轮廓线图;
重构模块,用于根据所述整体边缘图中的候选区域和所述第一整体轮廓线图中粗分多边形对所述目标建筑物进行重构,得到目标建筑物的重构三维模型,以通过所述重构三维模型展示所述目标建筑物。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的面向城市信息模型建筑三维重建方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的面向城市信息模型建筑三维重建方法的步骤。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请通过对目标建筑物的原始三维模型所处的水平面进行采样,得到所述原始三维模型的高度图和法向量图;然后,整合所述高度图的第一边缘图和所述法向量图的第二边缘图,得到包括高度和方向不连续的多个候选区域的整体边缘图;接着,整合所述高度图的第一轮廓线图和所述法向量图的第二轮廓线图,得到包括交互镶嵌的多个粗分多边形的第一整体轮廓线图;最后,根据所述整体边缘图中的候选区域和所述第一整体轮廓线图中粗分多边形对所述目标建筑物进行重构,得到目标建筑物的重构三维模型,以通过所述重构三维模型展示所述目标建筑物。通过本申请的方法大大降低目标建筑物的空间存储使用率。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。 应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。 此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
倾斜摄影技术是国际测绘领域近些年发展起来的一项高新技术,它颠覆了以往正射影像只能从垂直角度拍摄的局限,通过在同一飞行平台上搭载多台传感器,同时从一个垂直、四个倾斜等五个不同的角度采集影像,将用户引入了符合人眼视觉的真实直观世界。
OSGB(Open Scene Graph Binary)格式是倾斜摄影三维模型的成果数据主流格式。OSGB格式存储了三维面状框架、顶点数据以及相应的纹理影像数据。在智慧城市建设中三维建筑物的单体化尤为重要 ,单体后的建筑物才能够赋予相应的属性信息 ,满足用户的不同需求。在倾斜摄影测量中建筑物如何实现单体化是一项至关重要的研究内容 ,其独立出的建筑物对模型库管理、建筑物属性编辑、三维可视化等应用都有重要意义。
但是通过OSGB格式在存储倾斜摄影三维模型时还是有很多不足的地方。例如,资源要求太高,5平方公里的倾斜摄影数据能达到20个G(Gigabyte)及以上,对服务器要求太高;模型表面粗糙, 每面墙由几百上千个三角面组成, 可简化空间大;不具备分析以及理解能力,无法进行交互也不具备任何的数据分析能力。
基于此,本申请实施例提供了一种面向城市信息模型建筑三维重建方法、装置、设备及介质,下面通过实施例进行描述。
图1示出了本申请实施例所提供的一种面向城市信息模型建筑三维重建方法的流程示意图,其中,该方法包括步骤S101-S104;具体的:
S101、对目标建筑物的原始三维模型所处的水平面进行采样,得到原始三维模型的高度图和法向量图;
S102、整合高度图的第一边缘图和法向量图的第二边缘图,得到包括高度和方向不连续的多个候选区域的整体边缘图;
S103、整合高度图的第一轮廓线图和法向量图的第二轮廓线图,得到包括交互镶嵌的多个粗分多边形的第一整体轮廓线图;
S104、根据整体边缘图中的候选区域和第一整体轮廓线图中粗分多边形对目标建筑物进行重构,得到目标建筑物的重构三维模型,以通过重构三维模型展示目标建筑物。
本申请通过对目标建筑物的原始三维模型进行重构得到目标建筑物的重构三维模型,能够降低目标建筑物的空间存储使用率。
下面对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
S101、对目标建筑物的原始三维模型所处的水平面进行采样,得到原始三维模型的高度图和法向量图。
本申请在对目标建筑物的原始三维模型进行重构的时候,需要先将原始三维模型的三维几何信息图像化,即将目标建筑物的原始三维模型重构的转化为图像处理,然后根据原始三维模型的高度图和法向量图对原始三维模型进行重构。
本申请通过对目标建筑物的原始三维模型(如图2所示)所处的水平面进行采样的方式,得到原始三维模型的高度图(如图3a所示)和法向量图。本申请中的法向量图包括水平方向法向量图(如图3b所示)和竖直方向法向量图(如图3c所示)。在对原始三维模型所处的水平面进行采样的时候,沿水平面的x方向(水平方向)和y方向(竖直方向)按照预设特定的采样间距r(在具体实施时一般取r=0.1m),对预设的每个采样点对应的原始三维模型最高点高度和法向量进行采样,可以得到原始三维模型的高度函数h和法向量函数n:
其中, h(i,j)表示模型中水平坐标为(i*r,j*r)的点中, 高度最高的点的高度;n(i,j)表示模型中水平坐标为 (i*r,j*r) 的点中, 高度最高的点的法向量。
将高度函数
正则化后得到原始三维模型的高度图,同理可将法向量函数
在 x轴方向和y轴方向的分量, 分别正则化, 得到x轴方向法向量图(水平方向法向量图)和y轴方向法向量图(竖直方向法向量图)。
S102、整合高度图的第一边缘图和法向量图的第二边缘图,得到包括高度和方向不连续的多个候选区域的整体边缘图。
在得到了目标建筑物原始三维模型的高度图和法向量图之后,本申请通过对高度图和法向量做边缘检测,进而确定原始三维模型的几何边缘。
通过对高度图进行边缘检测得到高度图的第一边缘图(如图4a所示),对法向量图进行边缘检测得到法向量图的第二边缘图。第二边缘图包括水平方向法向量图边缘图(如图4b所示)和竖直方向法向量图边缘图(如图4c所示),即分别对水平方向法向量图和竖直方向法向量图做边缘检测得到水平方向法向量图边缘图和竖直方向法向量图边缘图。将第一边缘图和第二边缘图进行叠加,得到整体边缘图(如图4d所示)。整体边缘图包括第一边缘图和第二边缘图中的各个边缘将原始三维模型分割的高度和方向不连续的多个候选区域S’。
本申请实施例中,作为一可选实施例,通过倾斜摄影技术得到的目标建筑物的原始三维模型中除了目标建筑物之外,还会包括影响目标建筑物展示的杂质,这里的杂质包括植被等。为了能够得到仅包括目标建筑物的重构三维模型,本申请中进行了除杂操作。本申请通过结合原始三维模型的渲染图(如图5a所示),对整体边缘图进行除杂,进而基于除杂后的整体边缘图得到洁净的重构三维模型。
本申请中原始三维模型的渲染图是按照与原始三维模型所处的水平面垂直的方向,对目标建筑物的原始三维模型进行渲染得到。然后根据渲染图中每个像素点是否包含杂质(如图5b所示),从多个候选区域中,去除包含杂质的区域,得到包括多个包含目标建筑物的组成区域的整体边缘图。
本申请通过语义分割的方式确定渲染图中每个像素点是否包含杂质,例如杂质为植被,在具体实施的时候,本申请采用Unet作为语义分割模型,并使用开源航拍语义分割数据集训练,得到植被的语义分割模型。将渲染图输入到植被的语义分割模型中,得到植被的语义分割模型输出的渲染图中每个像素的杂质置信度。
因为本申请中原始三维模型的高度图和法向量图是对原始三维模型所处的水平面进行采样得到的,且渲染图是由与原始三维模型所处的水平面垂直的方向,对目标建筑物的原始三维模型进行渲染得到的,所以是由高度图和法向量图整合得到的整体边缘图与渲染图具有对应关系,即整体边缘图中包含目标建筑物的区域与渲染图中包含的目标建筑物区域相同。例如,整体边缘图中包含的是目标建筑物的屋顶,渲染图中包含的也是目标建筑物的屋顶。所以,将渲染图中包含杂质的像素对应到整体边缘图中,即可得到整体边缘图中每个像素包含杂质的情况。也就是说,将渲染图中每个像素的杂质置信度作为整体边缘图中与该像素点对应的像素点的第一置信度。
为了得到候选区域包含杂质的第二置信度,本申请将候选区域中所有像素点包含杂质第一置信度的均值,作为该候选区域包含杂质的第二置信度。本申请认为第二置信度小于预设置信度阈值的时候,与该第二置信度对应的候选区域包含较多的杂质,在进行重构的时候需要将该候选区域进行剔除。因为这部分包含杂质较多的区域参与重构的话,不仅浪费了重构资源还影响了展示效果。所以,本申请根据候选区域包含杂质的第二置信度和预设置信度阈值,从整体边缘图中去除与小于置信度阈值的第二置信度对应的异常区域,得到包括多个组成区域S的整体边缘图。
具体实施时,杂质为植被时,每个区域
包含的像素p中植被置信度t(p)的平均数作为该组成区域的植被置信度T(s)。
其中,Pi表示s内的一个点,i就是个遍历变量,i从0到s内点的数量。
将植被置信度高于某一阈值τ的区域中的所有像素点的高度值重置为0。
其中,Si表示集合S内的一个元素,i是个遍历变量,i从0到S内的元素的数量。
S103、整合高度图的第一轮廓线图和法向量图的第二轮廓线图,得到包括交互镶嵌的多个粗分多边形的第一整体轮廓线图。
本申请通过对高度图进行直线检测得到高度图的第一轮廓线图(如图7a所示),对法向量图进行直线检测得到法向量图的第二轮廓线图,这里的第二轮廓线图包括分水平方向法向量图的轮廓线图(如图7b所示)和竖直方向方向法向量图的轮廓线图(如图7c所示)。然后,将第一轮廓线图和第二轮廓线图进行叠加得到第一整体轮廓线图。第一整体轮廓线图包括交互镶嵌的多个粗分多边形,这里的粗分多边形由第一轮廓线图中的轮廓线和第二轮廓图中的轮廓线组成。
在没有除杂的时候,本申请整合的得到的是包括交互镶嵌的多个粗分多边形的第一整体轮廓线图,为了能够得到与目标建筑物更加相近的重构三维模型,本申请进行了除杂操作,进而整合高度图的第一轮廓线图、法向量图的第二轮廓线图和渲染图(如图7d所示)的第三轮廓线图,得到包括交互镶嵌的多个候选多边形的第二整体轮廓线图;根据第二整体轮廓线图中不同候选多边形之间的位置关系,对候选多边形进行合并处理,到包括交互镶嵌的多个细分多边形的第二整体轮廓线图。
在进行直线检测的时候,本申请使用的是预训练的LCNN模型预测轮廓线。分别将高度图、法向量图和渲染图输入到LCNN模型中,得到LCNN模型输出的高度图的第一轮廓线图、法向量图的第二轮廓线图、渲染图的第三轮廓线图。第一轮廓线图中包括多条轮廓线和每条轮廓线的置信度;第二轮廓线图包括多条轮廓线和每条轮廓线的置信度;第三轮廓线图中包括多条轮廓线和每条轮廓线的置信度。将第一轮廓线图、第二轮廓线图和第三轮廓线图进行叠加得到整体轮廓线图,整体轮廓线图中包括多条轮廓线和每条轮廓线的置信度。通过测量得到整体轮廓线图中每条轮廓线的长度,将整体轮廓线中的这些线按长度与置信度乘积的值的大小进行排序, 并按这个顺序遍历合并与之方向相近距离小于某一阈值的线段,得到若干条线段。把这些线段延长相交,将整体轮廓线图切割为多个候选多边形构成集合。
本申请使用half-edge 的结构来表示候选多边形,两个相邻候选多边形共享的一条边,被分解为一对方向相反的half-edge。当且仅当两个候选多边形有至少一条half-edge 相对时两候选多边形相邻,删除两候选多边形间所有相对的half-edge 合并两个相邻候选多边形,得到合并后的细分多边形F。
S104、根据整体边缘图中的候选区域和第一整体轮廓线图中粗分多边形对目标建筑物进行重构,得到目标建筑物的重构三维模型,以通过重构三维模型展示目标建筑物。
本申请根据整体边缘图中的候选区域和第一整体轮廓线图中粗分多边形对目标建筑物进行重构,在进行重构的时候根据候选区域对应的拟合形状和粗分多边形确定的边界对目标建筑物进行重构,得到目标建筑物的重构三维模型。然后使用目标建筑物的重构三维模型进行城市展示。
为了能够得到更加能够突出目标建筑物的重构三维模型,本申请进行了除杂操作,在除杂之后,本申请根据整体边缘图中的组成区域和第二整体轮廓线图中细分多边形对目标建筑物进行重构。基于组成区域和细分多边形重构的方式较基于候选区域和粗分多边形重构的方式具有更好的展示效果。
在基于组成区域和细分多边形进行重构的时候,需要根据组成区域确定重构三维模型的空间参数和根据细分多边形确定重构三维模型的边界参数。这里的重构三维模型的空间参数为组成区域对应拟合的目标三维形状的形状参数,这里的重构三维模型的边界参数是细分多边形边界坐标。
本申请具体根据整体边缘图中的组成区域和第二整体轮廓线图中细分多边形对目标建筑物进行重构时,首先,对整体边缘图包括的组成区域进行形状拟合(如图6所示),确定组成区域对应拟合的目标三维形状和该目标三维形状对应的形状参数;然后,根据组成区域对应的目标三维形状和第二整体轮廓线图中的细分多边形,确定第二整体轮廓线图中每个细分多边形对应的目标三维形状;接着,根据任意两个细分多边形之间的位置关系和两个细分多边形对应的目标三维形状,对细分多边形进行合并得到合并后的目标多边形;最后,根据目标多边形与目标多边形对应的目标三维形状的形状参数对目标建筑物的进行重构,得到目标建筑物的重构三维模型。
本申请通过如下方式对组成区域进行形状拟合,确定组成区域对应拟合的目标三维形状和该目标三维形状对应的形状参数:
根据组成区域和该组成区域对应的高度图,将每个组成区域还原为对应的三维点云;对每个三维点云分别进行不同形状的拟合,得到该三维点云对应的多个预测三维形状和该预测三维形状对应的评分和形状参数;根据每个预测三维形状对应的评分,从预测三维形状中,选取评分最高的预测三维形状作为三维点云的候选三维形状;
根据每个候选三维形状对应的形状参数,将形状参数位于同一预设区间内的候选三维形状进行合并,得到合并后的目标三维形状。
本申请实施例中,目标三维形状包括平面图形和曲面图形,在进行重构的时候,若目标多边形对应的目标三维形状为平面图形,则根据目标多边形与目标多边形对应的目标三维形状的形状参数对目标建筑物的进行重构,得到目标建筑物的重构三维模型;若目标多边形对应的目标三维形状为曲面图形,使用预设的与目标多边形对应的切割线,对目标多边形进行切割,得到多个子多边形;对每个子多边形进行三角化处理,得到该子多边形对应的二维三角网格;根据二维三角网格和与二维三角网格对应的目标三维形状的形状参数,对目标建筑物的进行重构,得到目标建筑物的重构三维模型。
在具体实施时,将每个区域
的对应高度图还原为三维点云。 对s
i内每个2d点p坐标为(p
x,p
y)在模型中的高度值为
。 得到点 p对应的3d点坐标为:
用 RANSAC 算法对每个点云Ci 分别做平面/圆柱/圆锥/半球的拟合,得到该三维点云对应的多个预测三维形状和该预测三维形状对应的评分和形状参数。 将每个形状shape 的评分 Score(shape) 的表示如下:
其中,
为距离阈值, distance(shape, p) 为空间中一点p 到形状 shape的距离。
将拟合得到的评分最高的预测三维形状作为该片点云 Ci 对应的候选三维形状shapei。 将所有拟合得到的候选三维形状集合中类型相同参数相近的形状进行合并,得到新的形状集合(目标三维形状)B。
具体拟合的过程如下:RANSAC算法根据随机采样的点, 得到一个三维形状的参数。然后用 Score(shape) 来评判这个三维形状对这片三维点云的拟合程度, 迭代一定次数后用得到拟合程度最高的三维形状参数来表示这片点云。
(1) 平面的拟合:随机从点云中采样一个点, 若这个点的坐标为 (x0,y0,z0), 这点的法向量为(nx,ny,nz), 则可根据这个点确定一个平面, 这个平面的表达式为:
(2) 圆柱的拟合:随机从点云中采样两个点P
1,P
2, 他们的法向量分别为
。则我们根据这两个点确定一个圆柱:
(3) 圆锥的拟合:随机从点云中采样两个点P
1,P
2, 他们的法向量分别为
。由这两个点确定一个竖直向上的圆锥:圆锥轴的方向为垂直向上
, 圆锥的锥角
。过点P
1作垂直于圆锥轴的平面。以过点P
1方向为
的直线在该平面投影与过点P
2方向为
的直线在该平面的投影相交于点O,圆锥轴过O点。
(4) 球的拟合:随机从点云中采样两个点P
1,P
2 他们的法向量分别为
。将过点P
1方向为
与过点P
2方向为
的两条直线距离最短处连线的中点o:
现在我们需要求每个细分多边形对应的目标三维形状。将多个细分多边形表示为一个图
, 其中每个细分多边形作为一个图的结点,并在两个相邻细分多边形间用一条边相连接,作为一个向量。 我们计算细分多边形与目标三维形状之间接的距离:
该距离用来衡量拟合结果与实际模型的接近程度。 其中,
(细分多边形),
(目标多边形)。 然后两个向量结点之间的边的值为两个屋顶形状之接需要的墙的面积
,用来表示结果的连续程度。
用graph-cut 算法优化总能量E的值, 得到一个最优解,即为该细分多边形对应的目标三维形状。
之后,开始进行重构:我们得到了底面多边形(细分多边形)集合F和每个细分多边形
对应的目标三维形状
。 首先, 我们合并对应相同目标三维形状的细分多边形:如果两个细分多边形
和
存在共享边, 且两个细分多边形对应的目标三维形状相同
, 那么我们删除
与
之间所有的共享边以合并这两个细分多边形得到目标多边形。然后我们根据目标三维形状的形状参数和目标多边形确定的边界依次生成每块目标多边形对应的三维模型。
如果目标多边形对应的目标三维形状为平面, 则根据该平面的参数, 计算目标多边形每个顶点水平坐标对应的z 轴坐标, 得到该目标多边形对应的重构三维模型。
如果目标多边形对应的目标三维形状为曲面图形, 我们仍然需要用三维三角网格来表示该重构三维模型。 所以我们需要将重构三维模型按一定分辨率细分。如果我们对曲面的采样角度为
:
圆柱的分割线为圆柱轴在水平面上的投影以及平行与圆柱轴投影且与之距离为
的一系列平行线。
圆锥的分割线为过圆锥顶点在水平面上的投影, 且角度相差
的
根直线。
半球的分割线为过半球顶部在水平面上的投影, 且角度相差
的
根直线和与球顶投影距离为
的一系列线段。
我们用这些切割线切割相应的目标多边形,将目标多边形划分为若干个子多边形,我们将这些子多边形三角化得到子多边形所在区域的二维三角网格。根据对应三维形状的参数,求得二维网格中所有顶点所对应的三维坐标。将二维网格中所有顶点抬升至对应高度得到该区域的重构三维模型。
通过本申请方法得到的重构三维模型(如图8所示)与原始三维模型对比如下表所示:
|
原始三维模型 |
重建三维模型 |
缩减数量 |
缩减比例 |
点数 |
152853800 |
764269 |
152089531 |
99。5% |
面数 |
83271797 |
2331610 |
80940187 |
97。2% |
本申请在还原原有模型基本形状的前提下, 重建后的模型较重建前点面数量均有大幅度的缩减。重建的模型光滑平整不再凹凸不齐。
图9示出了本申请实施例所提供的一种面向城市信息模型建筑三维重建装置的结构示意图,装置包括:
采样模块,用于对目标建筑物的原始三维模型所处的水平面进行采样,得到原始三维模型的高度图和法向量图;
第一整合模块,用于整合高度图的第一边缘图和法向量图的第二边缘图,得到包括高度和方向不连续的多个候选区域的整体边缘图;
第二整合模块,用于整合高度图的第一轮廓线图和法向量图的第二轮廓线图,得到包括交互镶嵌的多个粗分多边形的第一整体轮廓线图;
重构模块,用于根据整体边缘图中的候选区域和第一整体轮廓线图中粗分多边形对目标建筑物进行重构,得到目标建筑物的重构三维模型,以通过重构三维模型展示目标建筑物。
上述装置还包括渲染模块;
渲染模块,用于按照与原始三维模型所处的水平面垂直的方向,对目标建筑物的原始三维模型进行渲染,得到原始三维模型的渲染图;
根据渲染图中每个像素点是否包含杂质,从多个候选区域中,去除包含杂质的区域,得到包括多个包含目标建筑物的组成区域的整体边缘图。
第二整合模块,还用于整合高度图的第一轮廓线图、法向量图的第二轮廓线图和渲染图的第三轮廓线图,得到包括交互镶嵌的多个细分多边形的第二整体轮廓线图。
重构模块,还用于根据整体边缘图中的组成区域和第二整体轮廓线图中细分多边形对目标建筑物进行重构。
渲染模块,在用于根据渲染图中每个像素点是否包含杂质,从多个候选区域中,去除包含杂质的异常候选区域,得到包括多个包含目标建筑物的组成区域的整体边缘图时,包括:
对渲染图进行语义分割处理,确定候选区域中的每个像素点包含杂质的第一置信度;
将候选区域中所有像素点包含杂质第一置信度的均值,作为该候选区域包含杂质的第二置信度;
根据候选区域包含杂质的第二置信度和预设置信度阈值,从整体边缘图中去除与小于置信度阈值的第二置信度对应的异常区域,得到包括多个组成区域的整体边缘图。
第二整合模块,在用于整合高度图的第一轮廓线图、法向量图的第二轮廓线图和渲染图的第三轮廓线图,得到包括交互镶嵌的多个细分多边形的第二整体轮廓线图时,包括:
分别对高度图、法向量图和渲染图进行直线检测处理,得到高度图的第一轮廓线图、法向量图的第二轮廓线图和渲染图的第三轮廓线图;
将高度图的第一轮廓线图、法向量图的第二轮廓线图和渲染图的第三轮廓线图进行叠加,得到包括交互镶嵌的多个候选多边形的第二整体轮廓线图;
根据第二整体轮廓线图中不同候选多边形之间的位置关系,对候选多边形进行合并处理,到包括交互镶嵌的多个细分多边形的第二整体轮廓线图。
重构模块,在用于根据整体边缘图中的组成区域和第二整体轮廓线图中细分多边形对目标建筑物进行重构时,包括:
对整体边缘图包括的组成区域进行形状拟合,确定组成区域对应拟合的目标三维形状和该目标三维形状对应的形状参数;
根据组成区域对应的目标三维形状和第二整体轮廓线图中的细分多边形,确定第二整体轮廓线图中每个细分多边形对应的目标三维形状;
根据任意两个细分多边形之间的位置关系和两个细分多边形对应的目标三维形状,对细分多边形进行合并得到合并后的目标多边形;
根据目标多边形与目标多边形对应的目标三维形状的形状参数对目标建筑物的进行重构,得到目标建筑物的重构三维模型。
对组成区域进行形状拟合,确定组成区域对应拟合的目标三维形状和该目标三维形状对应的形状参数,包括:
根据组成区域和该组成区域对应的高度图,将每个组成区域还原为对应的三维点云;
对每个三维点云分别进行不同形状的拟合,得到该三维点云对应的多个预测三维形状和该预测三维形状对应的评分和形状参数;
根据每个预测三维形状对应的评分,从预测三维形状中,选取评分最高的预测三维形状作为三维点云的候选三维形状;
根据每个候选三维形状对应的形状参数,将形状参数位于同一预设区间内的候选三维形状进行合并,得到合并后的目标三维形状。
根据目标多边形与目标多边形对应的目标三维形状的形状参数对目标建筑物的进行重构,得到目标建筑物的重构三维模型,包括:
若目标多边形对应的目标三维形状为平面图形,则根据目标多边形与目标多边形对应的目标三维形状的形状参数对目标建筑物的进行重构,得到目标建筑物的重构三维模型;
若目标多边形对应的目标三维形状为曲面图形,使用预设的与目标多边形对应的切割线,对目标多边形进行切割,得到多个子多边形;对每个子多边形进行三角化处理,得到该子多边形对应的二维三角网格;根据二维三角网格和与二维三角网格对应的目标三维形状的形状参数,对目标建筑物的进行重构,得到目标建筑物的重构三维模型。
如图10所示,本申请实施例提供了一种电子设备,用于执行本申请中的面向城市信息模型建筑三维重建方法,该设备包括存储器、处理器、总线及存储在该存储器上并可在该处理器上运行的计算机程序,其中,上述处理器执行上述计算机程序时实现上述的面向城市信息模型建筑三维重建方法的步骤。
具体地,上述存储器和处理器可以为通用的存储器和处理器,这里不做具体限定,当处理器运行存储器存储的计算机程序时,能够执行上述的面向城市信息模型建筑三维重建方法。
对应于本申请中的面向城市信息模型建筑三维重建方法,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述的面向城市信息模型建筑三维重建方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述的面向城市信息模型建筑三维重建方法。
在本申请所提供的实施例中,应该理解到,所揭露系统和方法,可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory, ROM)、随机存取存储器(Random Access Memory ,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。