掌桥专利:专业的专利平台
掌桥专利
首页

多源融合模型构建及纹理生成方法、装置、介质及设备

文献发布时间:2023-06-19 19:14:59


多源融合模型构建及纹理生成方法、装置、介质及设备

技术领域

本发明涉及三维建模技术领域,特别是一种多源融合模型构建及纹理生成方法、装置、介质及设备。

背景技术

三维建模是利用三维生产软件通过虚拟三维空间构建具有三维数据的模型,从简单的几何模型到复杂的角色模型;从静态单个产品显示,到动态复杂的场景,如影视动画、游戏设计、工业设计、建筑设计、室内设计、产品设计、景观设计等均需要进行三维建模。

传统的建模方案主要先采集数据后,采用空三计算生成TDOM(True Orho/TrueDigital Ortho Map,真正射影像),然后人工描画单体建筑物DLG(Digital Line Graphic,数字线划图),再结合点云模型生成建筑物表面模型。同时,通过人工挑选图片制作纹理图片,采用相关软件进行贴图处理。但是,描画单体建筑物DLG,需要导出多种数据中间格式辅助进行,人工工作量较大,效率十分低下;人工挑选纹理图片再进行贴图操作,十分费时费力,而且由于拍照角度问题,有时候挑选一张合适的图片非常困难。

发明内容

鉴于上述问题,本发明提出一种克服上述问题或者至少部分地解决上述问题的多源融合模型构建及纹理生成方法、装置、介质及设备。

本发明提供了一种多源融合模型构建及纹理生成方法,所述方法包括:

采集目标采集区域的激光点云数据和多视角影像数据;

采用点云实例分割神经网络基于所述激光点云数据分割生成建筑物点云实例,基于所述建筑物点云实例进行表面拟合生成建筑物外表面模型;

将所述目标采集区域划分为多个分区网格,并学习各个分区网格对应的场景表征;

根据分区网格的网格位置从所述建筑物外表面模型截取对应的局部分区模型,根据所述局部分区模型的各个表面位置及法线方向从对应场景表征中渲染纹理图像;

保存纹理图像并将纹理坐标更新至对应局部分区模型的模型属性中,经多个局部分区模型进行模型合并后即可获得最终含纹理的建筑物模型。

可选地,采用点云实例分割神经网络基于所述激光点云数据分割生成建筑物点云实例包括:

基于所述激光点云数据生成对应的彩色稠密点云,并记录点云中每个点的位置、强度、颜色信息;

将所述彩色稠密点云抽析为稀疏点云;

利用PointNet++的实例分割网络模型基于所述稀疏点云进行识别推理,以进行建筑物点云实例分割,得到包含多个建筑物点云实例的建筑物点云实例分割结果。

可选地,基于所述建筑物点云实例进行表面拟合生成建筑物外表面模型包括:

提取独立的建筑物点云实例,采用噪声密度聚类算法,分离出建筑物各个面的点集;

基于建筑物各个面的点集进行约束表面拟合生成矢量的建筑物外表面模型。

可选地,将所述目标采集区域划分为多个分区网格,并学习各个分区网格对应的场景表征包括:

根据图像分辨率及实际采样区域的bbox地理坐标范围将所述目标采集区域均匀划分为固定大小的网格,进行网格合并得到多个分区网格;

基于所述多视角影像数据得到各分区网格对应的分区影像;

依据所述分区影像学习各个网格对应的场景表征。

可选地,依据所述分区影像学习各个网格对应的场景表征包括:

根据Block-NeRF神经网络算法,将单个分区网格对应的分区影像生成数据集,将摄像头位置及角度信息作为网络输入,图像作为网络输出的标签,对Block-NeRF神经网络进行训练,训练好的神经网络模型即为该网格的场景表征;

其中,每个分区场景图像集训练一个神经网络模型即可表征整个场景的颜色分布。

可选地,根据分区网格的网格位置从所述建筑物外表面模型截取对应的局部分区模型,根据所述局部分区模型的各个表面位置及法线方向从对应场景表征中渲染纹理图像包括:

根据各分区网格的坐标截取所述建筑物外表面模型对应的局部分区模型,得到分区模型实例;

根据分区模型实例各个组成矢量面的位置及其法线方向,在给定约束距离处从场景表征神经网络模型中计算各个像素的成像像素值,进行渲染生成一张同矢量面同样大小的正射图像,将所述正射图像保存为纹理贴图图像并记录该图像与建筑物实例构成面的隶属关系。

可选地,经多个局部分区模型进行模型合并后即可获得最终含纹理的建筑物模型包括:

获取与各分区网格的对应的多个局部分区模型及对应的纹理贴图图像,将多个局部分区模型进行模型合并后即可获得最终含纹理的建筑物模型。

本发明还提供了一种多源融合模型构建及纹理生成装置,其包括一个或多个处理器以及存储有程序指令的非暂时性计算机可读存储介质,当所述一个或多个处理器执行所述程序指令时,所述一个或多个处理器用于实现根据上述任意一项所述的多源融合模型构建及纹理生成方法。

本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行上述任一项所述的多源融合模型构建及纹理生成方法。

本发明还提供了一种计算设备,所述计算设备包括处理器以及存储器:所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;所述处理器用于根据所述程序代码中的指令执行上述任一项所述的多源融合模型构建及纹理生成方法。

本发明提供了一种多源融合模型构建及纹理生成方法、装置、介质及设备,通过分割点云中建筑物模型病建筑物外表面模型;同时根据多视角影像进行网格划分,并学习各自的场景表征;根据网格位置截取建筑物外表面模型局部分区模型,根据分区模型从场景表征中渲染纹理图像,保存纹理图像并将纹理坐标更新至模型属性中,经多个局部分区模型进行模型合并后即可获得最终含纹理的建筑物模型,本发明提供的方法可以实现模型拟合完全自动化、纹理图片自动生成且生成的纹理图片更加平滑。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明一实施例的多源融合模型构建及纹理生成方法流程示意图;

图2示出了根据本发明另一实施例的多源融合模型构建及纹理生成方法流程示意图。

具体实施方式

下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。

图1示出了根据本发明一实施例的多源融合模型构建及纹理生成方法流程示意图,如图1所示,本发明实施例提供的多源融合模型构建及纹理生成方至少可以包括以下步骤S1~S5。

S1,采集目标采集区域的激光点云数据和多视角影像数据。本实施例可以通过激光雷达以及多视角相机实现激光点云数据和多视角影像数据的采集,目标采集区域可以为地理范围内指定的任一区域,本发明实施例对此不做限定。

S2,采用点云实例分割神经网络基于所述激光点云数据分割生成建筑物点云实例,基于所述建筑物点云实例进行表面拟合生成建筑物外表面模型。点云实例分割神经网络可以与预先创建并训练的神经网络,通过输入点云数据结合得到对应的建筑物点云实例。

S3,将所述目标采集区域划分为多个分区网格,并学习各个分区网格对应的场景表征。分区网格的大小可以根据不同需求进行设置,本实施例对此不做限定。

S4,根据分区网格的网格位置从所述建筑物外表面模型截取对应的局部分区模型,根据所述局部分区模型的各个表面位置及法线方向从对应场景表征中渲染纹理图像;

S5,保存纹理图像并将纹理坐标更新至对应局部分区模型的模型属性中,经多个局部分区模型进行模型合并后即可获得最终含纹理的建筑物模型。

本发明实施例提供的方法通过分割点云中建筑物模型病建筑物外表面模型;同时根据多视角影像进行网格划分,并学习各自的场景表征;根据网格位置截取建筑物外表面模型局部分区模型,实现模型拟合完全自动化;另外,本实施例根据分区模型从场景表征中渲染纹理图像,实现纹理图片自动生成,通过保存纹理图像并将纹理坐标更新至模型属性中。下面结合图2对本实施例的多源融合模型构建及纹理生成方法进行进一步说明。

S1,采集目标采集区域的激光点云数据和多视角影像数据。

数据采集时,本实施例可以采用无人机或无人车搭载多视角摄影相机,按照正摄影像航向重叠80%,旁向重叠50%等参数要求设定轨迹,采集分辨率为0.05m的影像作为多视角影像数据,并同时记录相机定位等参数。另外,还可以采用无人机或无人车搭载激光雷达,采集预定区域内的激光点云数据。

S2,采用点云实例分割神经网络基于所述激光点云数据分割生成建筑物点云实例,基于所述建筑物点云实例进行表面拟合生成建筑物外表面模型。

S2-1,基于所述激光点云数据生成对应的彩色稠密点云,并记录点云中每个点的位置、强度、颜色信息。生成彩色点云时,可以将激光雷达采集的激光点云数据导入点云计算软件,生成彩色稠密点云,每个点记录[x,y,z,i,r,g,b](位置、强度、颜色)的信息,并存储为.las文件。

S2-2,将所述彩色稠密点云抽析为稀疏点云。对于得到的稠密点云,可以先对点云进行预处理,采用噪声密度聚类算法将不同平面的点云进行大致分离,再对各个类别进行等比抽样,将稠密点云抽析为稀疏点云。

S2-3,利用PointNet++的实例分割网络模型基于所述稀疏点云进行识别推理,以进行建筑物点云实例分割,得到包含多个建筑物点云实例的建筑物点云实例分割结果。

本实施例中可以按照坐标分割网格将点云在[x,y]平面上进行分块处理,每块点云独立保存为文件并将其点的数量插值/抽析为20480,其中插值点的强度i设置为0,其他正常点云的点强度i为1。

取部分点云标注为数据集,即记录每个点属于某个建筑的编号(该编号随机获取,但是同一个建筑物编号一致),如果该点不属于任何建筑物则编号记为-1。采用基于PointNet++的实例分割网络模型进行学习训练,得到训练好的神经网络模型,作为实例分割网络模型。

对于上述步骤S2-2提取的稀疏点云可以输入至实例分割网络模型中,利用训练好的实例分割网络模型对未标注点云进行识别推理,从而得到包含多个建筑物点云实例的建筑物点云实例分割结果。识别的过程中,为保证裁切破损建筑物能得出完整结果,采用九宫格重叠采样方式,依次对每个网格块周围3x3的网格块进行合并,形成1500mx1500m区域的点云块,然后再载入实例分割网络模型进行实例分割,分割结果进行[x,y]平面投影面积非最大抑制,合并重复识别建筑物并去除残损点云识别结果,生成建筑物点云的实例分割结果。

进一步地,上述步骤S2基于所述建筑物点云实例进行表面拟合生成建筑物外表面模型可以包括:提取独立的建筑物点云实例,采用噪声密度聚类算法,分离出建筑物各个面的点集;基于建筑物各个面的点集进行约束表面拟合生成矢量的建筑物外表面模型。

由于点云实例分割将每个建筑的点云进行了单独分类,根据实例分割中点云类别属性的判断将建筑物点云独立提取。建筑物点云实例表面拟合时,可以根据建筑物点云实例分割结果,可将独立建筑物点云提取出来。鉴于人工建筑物的特性,一般都由四个或多个侧立面及一个或多个顶面构成,采用噪声密度聚类算法,分离出建筑物各个面的点集。按照约束好的面数,如4个侧立面和1个顶面(平顶)分别按照最小二乘法拟合点集,构造出来的建筑物模型矢量面,如法线方向与地面水平方向夹角在10°及以内,则以矢量面在水平面投影线的最小包围边框作为box框,取box框的最短边中线作为校准矢量面的水平投影线,然后再以原矢量的高度作为校准矢量面的高度绘制成一个垂直水平面的校准矢量面;经过垂直校正的矢量面沿水平方向两两延长各自矢量面长度的三分之一长度,取相交线为矢量面的边线重构矢量面,法线方向大于10°的矢量面沿四边延长各自矢量面长度的三分之一长度,取与其他面取相交线为该矢量面的边线重构矢量面,形成最终建筑物表面模型。

S3,将所述目标采集区域划分为多个分区网格,并学习各个分区网格对应的场景表征。在一些实施例中,该步骤可以进一步包括:

S3-1,根据图像分辨率及实际采样区域的bbox地理坐标范围将所述目标采集区域均匀划分为固定大小的网格,进行网格合并得到多个分区网格。坐标网格分区时,可以根据图像分辨率及实际采样区域的bbox地理坐标范围,按照500mx500m均匀划分为网格,删除与采样区域无交集的网格后,记录网格行列号及相应的顶点地理坐标。

S3-2,基于所述多视角影像数据得到各分区网格对应的分区影像。

根据影像记录的位置参数及分区网格坐标,采用九宫格重叠采样的方式,依次对每个网格块周围3x3的网格块进行合并,合并的网格块筛取原始影像,单独存储为分区场景图像集并同时记录网格及网格块的坐标信息。

S3-3,依据所述分区影像学习各个网格对应的场景表征。

根据Block-NeRF神经网络算法,将单个分区网格对应的分区影像生成数据集,将摄像头位置及角度信息作为网络输入,图像作为网络输出的标签,对Block-NeRF神经网络进行训练,训练好的神经网络模型即为该网格的场景表征。其中,每个分区场景图像集训练一个神经网络模型即可表征整个场景的颜色分布。

S4,根据分区网格的网格位置从所述建筑物外表面模型截取对应的局部分区模型,根据所述局部分区模型的各个表面位置及法线方向从对应场景表征中渲染纹理图像。该步骤具体可以包括:

S4-1,根据各分区网格的坐标截取所述建筑物外表面模型对应的局部分区模型,得到分区模型实例。其中,确定局部分区模式时,可以将建筑物模型在水平面的投影最小包围框作为该模型的位置标记框,根据分区网格坐标生成网格标记框,如建筑物模型的位置标记框与网格标记框相交则该建筑物模型属于该网格的局部分区模型,

分区模型实例提取时,可以依次对每个网格块周围3x3的网格块进行合并,根据合并的网格块坐标筛取建筑物表面模型,只有当建筑物表面模型[x,y]平面投影bbox完全在合并的网格块内,才选择为分区模型实例,否则摒弃以确保获取完整的模型及纹理。

S4-2,根据分区模型实例各个组成矢量面的位置及其法线方向,在给定约束距离处从场景表征神经网络模型中计算各个像素的成像像素值,进行渲染生成一张同矢量面同样大小的正射图像,将所述正射图像保存为纹理贴图图像并记录该图像与建筑物实例构成面的隶属关系。如选取一个分区模型实例的一个矢量面,根据该矢量面法线方向平移至远离模型实例侧距离为5米处,生成一个渲染矢量平面,按照0.05米分辨率将该渲染矢量平面划分像素格,计算每个像素格中心位置坐标,分别将像素中心位置坐标及法线方向输入场景表征神经网络模型,按照体积密度渲染生成该像素格的像素RGB值,将所有像素格的RGB数值编码为三维矩阵序列即为该矢量面的正射图像。将该正射图像按照建筑物实例编号、矢量面编号及场景表征神经网络编号作为名称保存为纹理图像,即完成一次该矢量面的渲染过程。

建筑物实例平面纹理渲染:根据分区模型实例各个组成矢量面的位置及其法线方向,在给定约束距离处从场景表征神经网络模型中计算各个像素的成像像素值,按照0.05米分辨率按照体积密度函数渲染,生成一张同矢量面同样大小的正射图像,将该图像保存为为纹理贴图图像并记录该图像与建筑物实例构成面的隶属关系。逐个建筑物实例逐个构成面进行渲染,即可得到各个建筑物模型的纹理贴图。

S5,保存纹理图像并将纹理坐标更新至对应局部分区模型的模型属性中,经多个局部分区模型进行模型合并后即可获得最终含纹理的建筑物模型。如将一个建筑物实例的某一个矢量面,在多个局分布区场景表征网络中渲染了多张纹理图像,选择该矢量面在[x,y]平面投影到九宫格中心距离最近的场景表征网络编号纹理图像,作为该矢量面的纹理图像。依次确定该建筑物实例的所有组成面的纹理图像,然后将建筑物实例进行UV展开,其组成面的纹理图像按照矢量面的编号及UV展开位置合成纹理贴图并生成纹理UV坐标,然后将纹理UV坐标及贴图文件名称写入建筑物实例模型点序中即完成该建筑物实例的纹理贴图。依次将每个模型实例进行纹理贴图后,将多个局部分区模型的模型实例按照编号排列合并为最终含纹理的建筑物模型。

更新纹理模型时,由于采用了九宫格重叠采样,同一个建筑物实例会出现在不同的分区块中,会导致从不同场景表征神经网络模型中给同一个建筑物实例渲染贴图。本方法采用建筑物实例组成面在[x,y]平面投影到九宫格中心距离长度作为筛选依据,选择最近距离的九宫格中心块场景表征神经网络模型的渲染图作为纹理贴图。同时将纹理贴图坐标转换为纹理UV坐标,并将贴图存储路径及坐标值按照贴图渲染规则记录在表面模型数据中。

依据上文可以可以得到多个分区网络以及对应的局部分区模块,因此,可以获取与各分区网格的对应的多个局部分区模型及对应的纹理贴图图像,将多个局部分区模型进行模型合并后即可获得最终含纹理的建筑物模型。即,在对每个建筑物实例进行贴图渲染后,将各个分区模型合并在一起并导出为包含模型及纹理的CityGML模型文件。

本发明实施例的方法方法采用深度学习技术从多源数据中自动提取建筑物模型结构并生成纹理图片。采用激光雷达采集点云、采用多视角相机采集图像作为源数据,采集数据同时记录相机参数。一方面,激光雷达采集的数据经计算处理生成彩色点云模型,再通过深度学习点云实例分割技术,将点云中建筑物进行独立分割以提取独立建筑物的点云,然后通过后处理步骤拟合为建筑物外表面模型结构。另外一方面,多视角相机采集的数据经分块切割后,每个局部块采用Block-NeRF网络学习块状场景模型结构,以便于采用密度函数渲染确定点位的颜色信息。最后解构建筑物表面模型为各个独立超平面,以超平面的法线方向为光线方向,在给定的距离从场景模型结构中渲染生成纹理颜色,经过纹理合并及纹理坐标转换后即可生成建筑物表面模型的纹理。本发明实施例采用点云实例分割可直接分离出单体建筑物的点云,再进行拟合即可自动生成建筑物表面模型,并且,本实施例采用Block-NeRF 3D场景渲染技术,可以编码局部空间颜色信息以排除单张图片视角干扰,而且能够自动生成纹理贴图图像,且生成的纹理贴图图像更加平滑。

本发明实施例还提供了一种多源融合模型构建及纹理生成装置,其包括一个或多个处理器以及存储有程序指令的非暂时性计算机可读存储介质,当所述一个或多个处理器执行所述程序指令时,所述一个或多个处理器用于实现根据上述实施例所述的多源融合模型构建及纹理生成方法。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行上述实施所述的多源融合模型构建及纹理生成方法。

本发明实施例还提供了一种计算设备,所述计算设备包括处理器以及存储器:所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;所述处理器用于根据所述程序代码中的指令执行上述实施所述的多源融合模型构建及纹理生成方法。

所属领域的技术人员可以清楚地了解到,上述描述的系统、装置、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,为简洁起见,在此不另赘述。

另外,在本发明各个实施例中的各功能单元可以物理上相互独立,也可以两个或两个以上功能单元集成在一起,还可以全部功能单元都集成在一个处理单元中。上述集成的功能单元既可以采用硬件的形式实现,也可以采用软件或者固件的形式实现。

本领域普通技术人员可以理解:所述集成的功能单元如果以软件的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,其包括若干指令,用以使得一台计算设备(例如个人计算机,服务器,或者网络设备等)在运行所述指令时执行本发明各实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM),磁碟或者光盘等各种可以存储程序代码的介质。

或者,实现前述方法实施例的全部或部分步骤可以通过程序指令相关的硬件(诸如个人计算机,服务器,或者网络设备等的计算设备)来完成,所述程序指令可以存储于一计算机可读取存储介质中,当所述程序指令被计算设备的处理器执行时,所述计算设备执行本发明各实施例所述方法的全部或部分步骤。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:在本发明的精神和原则之内,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案脱离本发明的保护范围。

技术分类

06120115846776