一种基于SuperPoint-NeRF的三维建筑物重建方法

文档序号:33332077发布日期:2023-03-04 00:37阅读:260来源:国知局
一种基于SuperPoint-NeRF的三维建筑物重建方法
一种基于superpoint-nerf的三维建筑物重建方法
技术领域
1.本发明属于建筑物重构技术领域,具体涉及一种基于superpoint-nerf的三维建筑物重建方法。


背景技术:

2.建筑物作为智慧城市、防灾救灾、人口管理、城区规划等多领域的一个重要研究对象,其高精度三维重建一直是工业界和学术界研究的重点。随着激光雷达和图像领域技术的蓬勃发展,越来越多的新兴技术被用于三维建筑物的重建工作上。然而,传统的基于激光点云和图像的三维建筑物重建不仅需要较大的人力物力,重建周期长,时效性较低,且其重建精度也往往难以满足当前应用。
3.神经渲染场(neural radiance fields,nerf)作为近两年来新兴的一种技术,它通过使用稀疏的输入视图集优化底层连续的体积场景函数,实现了综合复杂场景视图的最好结果,无空洞、细节还原,且由于研究人数较多,发展也尤为迅速,在三维重建领域迅速成为火热的话题。然而,传统的nerf由于其训练和渲染都很慢,且对于硬件基础要求较高,往往难以进行城市级的三维重建工作。


技术实现要素:

4.鉴于上述问题,本发明提供了一种克服上述问题或者至少部分地解决上述问题的一种基于superpoint-nerf的三维建筑物重建方法,达到城市级高效率高精度的三维建筑物重建。
5.具体地,本发明提供了一种基于superpoint-nerf的三维建筑物重建方法,包括如下步骤:
6.步骤1,利用多帧二维图像获取建筑物的初始三维点云数据;
7.步骤2,基于多尺度fpfh构建建筑物三维点云的局部特征;
8.步骤3,利用离散点的局部特征对建筑物进行超体素分割;
9.步骤4,基于多模态邻域特征构建超体素连通图;
10.步骤5,利用多层级mlp构建神经渲染场,完成三维建筑物的重建。
11.可选地,所述步骤1包括:
12.步骤1.1,基于搭载ins惯导设备和摄像头的无人机,采集获取城区建筑物的图像数据;
13.步骤1.2,基于时间戳和ins数据,对图像数据进行连续帧的拼接;
14.步骤1.3,基于mvs技术将采集的图像数据进行三角化,生成带有rgb信息的三维点云数据。
15.可选地,所述步骤2包括:
16.步骤2.1,将步骤1获取到的城区建筑物三维点云数据,构建成kd-tree结构;
17.步骤2.2,基于kd-tree结构获取各查询点周围的多尺度点云数据;
18.步骤2.3,利用fpfh融合多尺度局部点云,计算各查询点的局部特征。
19.可选地,所述步骤3包括:
20.步骤3.1,将步骤2的局部特征作为基础,构建特征搜索树;
21.步骤3.2,随机在三维点云数据中选取聚类初始点p;
22.步骤3.3,在特征搜索树中寻找点p的邻域特征点集m;
23.步骤3.4,当点集m中的点q与p在空间上也存在邻域关系,则将q和p聚为一类;
24.步骤3.5,若q和p在空间上不存在邻域关系时,则将其作为下一个聚类点的初始点;
25.步骤3.6,当以p为聚类初始点的聚类点均聚类完成之后,融合该聚类体内的所有特征,重新更新p的特征空间信息,并将其作为超体素的表达;
26.步骤3.7,重复步骤3.2-步骤3.6的过程,直至三维点云中每个点均归属到某一类,获取超体素聚类集m={m0,m1,

,mn}。
27.可选地,所述步骤4包括:
28.步骤4.1,基于步骤3中获取的超体素聚类集m,计算超体素之间的特征相似度、空间邻近性、局部凸性;
29.步骤4.2,计算超体素间的归一化距离d(a,b);
30.步骤4.3,当d(a,b)小于设定阈值thr时,则认为超体素之间是连通的;
31.步骤4.4,重复判断超体素之间是否连通,从而构建成超体素连通图g(v,l),其中v表示图节点,即超体素点,l表示连通边集合l={l
ab
,l
bc
,

},且每个边l
ab
包含了是否连接及连接的归一化距离信息。
32.可选地,所述步骤4.1中,计算超体素之间的特征相似度、空间邻近性、局部凸性分别采用公式1、公式2、公式3实现:
33.d
fpfn
(a,b)=1/l(ha,hb)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式1
[0034][0035][0036]
其中,xa、ya、za、xb、yb、zb分别表示超体素a、b的空间位置坐标;l(ha,hb)称为交集函数,用于表示超体素a,b之间fpfh之间的重叠程度,当重叠程度越大时,表示超体素之间的像素度越高,用公式4来进行描述;
[0037][0038]
而分别为超体素a,b的法向量,v
nsim
,v
nsimf
,v
conv
,v
convf
均为人工设置的常数,v
nsim
表示法线相似阈值,v
nsimf
表示v
nsim
处的切线斜率,v
conv
为设置的凸度阈值,v
convf
则表示v
conv
处的切线斜率,且sigm函数用公式5表示:
[0039][0040]
其中,x分别对应公式3中函数对超体素a、b的法向量运算结果;θ为根据法线相似阈值v
nsim
、凸度阈值v
conv
采用余弦函数得到的阈值结果;m表示为法线相似阈值v
nsim
、凸度阈值v
conv
处的切线斜率。
[0041]
可选地,所述步骤4.2中,归一化距离d(a,b)用公式6表示:
[0042][0043]
其中,we、wi和w
p
分别表示对应项在归一化距离计算中的影响因子。
[0044]
可选地,所述步骤5包括:
[0045]
步骤5.1,将步骤4构建的连通图中的节点v视为一个神经点云;
[0046]
步骤5.2,对所有神经点利用多层级mlp构建神经渲染场,完成三维建筑物的重建。
[0047]
可选地,所述步骤5.2包括:
[0048]
步骤5.2.1,以每个神经点p作为相机射线入射方向,通过沿着该射线方向上采样5d坐标,获取该采样点序列p;
[0049]
步骤5.2.2,同时基于步骤4获取的连通图的边集l={l
ab
,l
bc
,

},获取步骤5.2.1中得到的采样点序列p的每个连通点序列q;
[0050]
步骤5.2.3,将采样点p及其连通点q分别加入mlp进行训练,并将其训练的结果再通过一层mlp进行特征融合,从而产生颜色和体积密度;
[0051]
步骤5.2.4,使用体积渲染技术将产生的颜色和体积密度合成图像,并通过最小化合成图像和真实观测图像之间的残差来优化该城区三维建筑物模型。
[0052]
可选地,所述步骤5.2.1中,5d坐标包括位置坐标x、y、z和观看方向坐标θ、
[0053]
本发明的有益效果在于:
[0054]
1、本发明利用神经渲染场(nerf)来重建城区三维建筑物,相对于传统利用点云和图像进行人工手动建模的方式,极大地提升了三维建筑物重建效率,促进了三维建筑物模型在城市规划,智慧城市,人口迁移等领域的研究。
[0055]
2、基于superpoint-nerf的三维建筑物重建方法,相比较常规nerf,结合了超体素局部邻域特征和nerf高精重建特征,多层级mlp充分考虑了建筑物邻域的相互影响,提高了三维建筑物的重建精度。同时,稀疏的超体素点云相较原始的三维点云,数据量极大地减少。在保证点云特征不缺失的情况下,减少了数据的输入,提高了nerf的训练和重建效率,实现了其在城市级建筑物重建中的应用。
[0056]
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
[0057]
后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些
附图未必是按比例绘制的。附图中:
[0058]
图1是本发明基于superpoint-nerf的三维建筑物重建方法的流程图;
[0059]
图2是本发明多尺度fpfh结构示意图。
具体实施方式
[0060]
下面详细描述本发明的实施例,所述实施例的示例在附图中示出。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0061]
下面根据附图1-2描述本发明实施例的基于superpoint-nerf的三维建筑物重建方法。
[0062]
如图1所示,本发明的一个实施例提供一种基于superpoint-nerf的三维建筑物重建方法,包括如下步骤:
[0063]
步骤1,利用多帧二维图像获取建筑物的初始三维点云数据;
[0064]
步骤1.1,基于搭载ins惯导设备和摄像头的无人机,采集获取城区建筑物的图像数据;
[0065]
步骤1.2,基于时间戳和ins数据,对图像数据进行连续帧的拼接;
[0066]
步骤1.3,基于openmvs技术将采集的图像数据进行三角化,生成带有rgb信息的三维点云数据;
[0067]
步骤2,基于多尺度fpfh构建建筑物三维点云的局部特征;
[0068]
步骤2.1,将步骤1获取到的城区建筑物三维点云数据,构建成kd-tree结构;
[0069]
步骤2.2,基于kd-tree结构获取各查询点周围的多尺度点云数据;
[0070]
步骤2.3,利用快速点特征直方图(fast point feature histograms,fpfh)融合多尺度局部点云,计算各查询点的局部特征,其多尺度fpfh结构如图2所示;
[0071]
步骤3,利用离散点的局部特征对建筑物进行超体素分割;
[0072]
步骤3.1,将步骤2的局部特征作为基础,构建特征搜索树;
[0073]
步骤3.2,随机在三维点云数据中选取聚类初始点p;
[0074]
步骤3.3,在特征搜索树中寻找点p的邻域特征点集m;
[0075]
步骤3.4,当点集m中的点q与p在空间上也存在邻域关系,则将q和p聚为一类;
[0076]
步骤3.5,若q和p在空间上不存在邻域关系时,则将其作为下一个聚类点的初始点;
[0077]
步骤3.6,当以p为聚类初始点的聚类点均聚类完成之后,融合该聚类体内的所有特征,重新更新p的特征空间信息,并将其作为超体素的表达;
[0078]
步骤3.7,重复步骤3.2-步骤3.6的过程,直至三维点云中每个点均归属到某一类,获取超体素聚类集m={m0,m1,

,mn};
[0079]
步骤4,基于多模态邻域特征构建超体素连通图;
[0080]
步骤4.1,基于步骤3中获取的超体素聚类集m,计算超体素之间的特征相似度、空间邻近性、局部凸性;
[0081]
步骤4.2,计算超体素间的归一化距离d(a,b);
[0082]
步骤4.3,当d(a,b)小于设定阈值thr时,则认为超体素之间是连通的;
[0083]
步骤4.4,重复判断超体素之间是否连通,从而构建成超体素连通图g(v,l),其中v
表示图节点,即超体素点,l表示连通边集合l={l
ab
,l
bc
,

},且每个边l
ab
包含了是否连接及连接的归一化距离信息;
[0084]
步骤5,利用多层级mlp构建神经渲染场,完成三维建筑物的重建;
[0085]
步骤5.1,将步骤4构建的连通图中的节点v视为一个神经点云;
[0086]
步骤5.2,对所有神经点利用多层级mlp(multi-layer perception)构建神经渲染场,完成三维建筑物的重建。
[0087]
本发明的另一个实施例提供一种基于superpoint-nerf的三维建筑物重建方法,包括如下步骤:
[0088]
步骤1,利用多帧二维图像获取建筑物的初始三维点云数据;
[0089]
步骤1.1,基于搭载ins惯导设备和摄像头的无人机,采集获取城区建筑物的图像数据;
[0090]
步骤1.2,基于时间戳和ins数据,对图像数据进行连续帧的拼接;
[0091]
步骤1.3,基于openmvs技术将采集的图像数据进行三角化,生成带有rgb信息的三维点云数据;
[0092]
步骤2,基于多尺度fpfh构建建筑物三维点云的局部特征;
[0093]
步骤2.1,将步骤1获取到的城区建筑物三维点云数据,构建成kd-tree结构;
[0094]
步骤2.2,基于kd-tree结构获取各查询点周围的多尺度点云数据;
[0095]
步骤2.3,利用快速点特征直方图(fast point feature histograms,fpfh)融合多尺度局部点云,计算各查询点的局部特征,其多尺度fpfh结构如图2所示;
[0096]
步骤3,利用离散点的局部特征对建筑物进行超体素分割;
[0097]
步骤3.1,将步骤2的局部特征作为基础,构建特征搜索树;
[0098]
步骤3.2,随机在三维点云数据中选取聚类初始点p;
[0099]
步骤3.3,在特征搜索树中寻找点p的邻域特征点集m;
[0100]
步骤3.4,当点集m中的点q与p在空间上也存在邻域关系,则将q和p聚为一类;
[0101]
步骤3.5,若q和p在空间上不存在邻域关系时,则将其作为下一个聚类点的初始点;
[0102]
步骤3.6,当以p为聚类初始点的聚类点均聚类完成之后,融合该聚类体内的所有特征,重新更新p的特征空间信息,并将其作为超体素的表达;
[0103]
步骤3.7,重复步骤3.2-步骤3.6的过程,直至三维点云中每个点均归属到某一类,获取超体素聚类集m={m0,m1,

,mn};
[0104]
步骤4,基于多模态邻域特征构建超体素连通图;
[0105]
步骤4.1,基于步骤3中获取的超体素聚类集m,计算超体素之间的特征相似度、空间邻近性、局部凸性分别采用公式1、公式2、公式3实现:
[0106]dfpfh
(a,b)=1/l(h
ai
hb)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式1
[0107][0108]
[0109]
其中,xa、ya、za、xb、yb、zb分别表示超体素a、b的空间位置坐标;l(ha,hb)称为交集函数,用于表示超体素a、b之间fpfh之间的重叠程度,当重叠程度越大时,表示超体素之间的像素度越高,用公式4来进行描述;
[0110][0111]
而分别为超体素a,b的法向量,v
nsim
,v
nsimf
,v
conv
,v
convf
均为人工设置的常数,v
nsim
表示法线相似阈值,v
nsimf
表示v
nsim
处的切线斜率,v
conv
为设置的凸度阈值,v
convf
则表示v
conv
处的切线斜率,且sigm函数用公式5表示:
[0112][0113]
其中,x分别对应公式3中函数对超体素a、b的法向量运算结果;θ为根据法线相似阈值v
nsim
、凸度阈值v
conv
采用余弦函数得到的阈值结果;m表示为法线相似阈值v
nsim
、凸度阈值v
conv
处的切线斜率。
[0114]
步骤4.2,计算超体素间的归一化距离d(a,b);归一化距离d(a,b)用公式6表示:
[0115][0116]
其中,we、wi和w
p
分别表示对应项在归一化距离计算中的影响因子。
[0117]
步骤4.3,当d(a,b)小于设定阈值thr时,则认为超体素之间是连通的;
[0118]
步骤4.4,重复判断超体素之间是否连通,从而构建成超体素连通图g(v,l),其中v表示图节点,即超体素点,l表示连通边集合l={l
ab
,l
bc
,

},且每个边l
ab
包含了是否连接及连接的归一化距离信息;
[0119]
步骤5,利用多层级mlp构建神经渲染场,完成三维建筑物的重建;
[0120]
步骤5.1,将步骤4构建的连通图中的节点v视为一个神经点云;
[0121]
步骤5.2,对所有神经点利用多层级mlp构建神经渲染场,完成三维建筑物的重建。
[0122]
本发明的另一个实施例提供一种基于superpoint-nerf的三维建筑物重建方法,包括如下步骤:
[0123]
步骤1,利用多帧二维图像获取建筑物的初始三维点云数据;
[0124]
步骤1.1,基于搭载ins惯导设备和摄像头的无人机,采集获取城区建筑物的图像数据;
[0125]
步骤1.2,基于时间戳和ins数据,对图像数据进行连续帧的拼接;
[0126]
步骤1.3,基于openmvs技术将采集的图像数据进行三角化,生成带有rgb信息的三维点云数据;
[0127]
步骤2,基于多尺度fpfh构建建筑物三维点云的局部特征;
[0128]
步骤2.1,将步骤1获取到的城区建筑物三维点云数据,构建成kd-tree结构;
[0129]
步骤2.2,基于kd-tree结构获取各查询点周围的多尺度点云数据;
[0130]
步骤2.3,利用快速点特征直方图(fast point feature histograms,fpfh)融合
多尺度局部点云,计算各查询点的局部特征,其多尺度fpfh结构如图2所示;
[0131]
步骤3,利用离散点的局部特征对建筑物进行超体素分割;
[0132]
步骤3.1,将步骤2的局部特征作为基础,构建特征搜索树;
[0133]
步骤3.2,随机在三维点云数据中选取聚类初始点p;
[0134]
步骤3.3,在特征搜索树中寻找点p的邻域特征点集m;
[0135]
步骤3.4,当点集m中的点q与p在空间上也存在邻域关系,则将q和p聚为一类;
[0136]
步骤3.5,若q和p在空间上不存在邻域关系时,则将其作为下一个聚类点的初始点;
[0137]
步骤3.6,当以p为聚类初始点的聚类点均聚类完成之后,融合该聚类体内的所有特征,重新更新p的特征空间信息,并将其作为超体素的表达;
[0138]
步骤3.7,重复步骤3.2-步骤3.6的过程,直至三维点云中每个点均归属到某一类,获取超体素聚类集m={m0,m1,

,mn};
[0139]
步骤4,基于多模态邻域特征构建超体素连通图;
[0140]
步骤4.1,基于步骤3中获取的超体素聚类集m,计算超体素之间的特征相似度、空间邻近性、局部凸性分别采用公式1、公式2、公式3实现:
[0141]dfpfn
(a,b)=1/l(ha,hb)
ꢀꢀꢀꢀꢀꢀꢀꢀ
公式1
[0142][0143][0144]
其中,xa、ya、za、xb、yb、zb分别表示超体素a、b的空间位置坐标;l(ha,hb)称为交集函数,用于表示超体素a、b之间fpfh之间的重叠程度,当重叠程度越大时,表示超体素之间的像素度越高,用公式4来进行描述;
[0145][0146]
而分别为超体素a,b的法向量,v
nsim
,v
nsimf
,v
conv
,v
convf
均为人工设置的常数,v
nsim
表示法线相似阈值,v
nsimf
表示v
nsim
处的切线斜率,v
conv
为设置的凸度阈值,v
convf
则表示v
conv
处的切线斜率,且sigm函数用公式5表示:
[0147][0148]
其中,x分别对应公式3中函数对超体素a、b的法向量运算结果;θ为根据法线相似阈值v
nsim
、凸度阈值v
conv
采用余弦函数得到的阈值结果;m表示为法线相似阈值v
nsim
、凸度阈值v
conv
处的切线斜率。
[0149]
步骤4.2,计算超体素间的归一化距离d(a,b);归一化距离d(a,b)用公式6表示:
[0150][0151]
其中,we、wi和w
p
分别表示对应项在归一化距离计算中的影响因子。
[0152]
步骤4.3,当d(a,b)小于设定阈值thr时,则认为超体素之间是连通的;
[0153]
步骤4.4,重复判断超体素之间是否连通,从而构建成超体素连通图g(v,l),其中v表示图节点,即超体素点,l表示连通边集合l={l
ab
,l
bc
,

},且每个边l
ab
包含了是否连接及连接的归一化距离信息;
[0154]
步骤5,利用多层级mlp构建神经渲染场,完成三维建筑物的重建;
[0155]
步骤5.1,将步骤4构建的连通图中的节点v视为一个神经点云;
[0156]
步骤5.2,对所有神经点利用多层级mlp构建神经渲染场,完成三维建筑物的重建;
[0157]
步骤5.2.1,以每个神经点p作为相机射线入射方向,通过沿着该射线方向上采样5d坐标(位置坐标x、y、z和观看方向坐标θ、),获取该采样点序列p;
[0158]
步骤5.2.2,同时基于步骤4获取的连通图的边集l={l
ab
,l
bc
,

},获取步骤5.2.1中得到的采样点序列p的每个连通点序列q;
[0159]
步骤5.2.3,将采样点p及其连通点q分别加入mlp进行训练,并将其训练的结果再通过一层mlp进行特征融合,从而产生颜色和体积密度;
[0160]
步骤5.2.4,使用体积渲染技术将产生的颜色和体积密度合成图像,并通过最小化合成图像和真实观测图像之间的残差来优化该城区三维建筑物模型。
[0161]
本发明结合三维超体素点云的局部特征与连通性关系,通过分层级的mlp回归神经渲染场来表示建筑物表面密度和射线,从而实现快速高精的三维建筑物重建,不仅能够极大的提高传统nerf在三维重建领域的效率,同时由于局部邻域特征的加入也显著提升了其重建精度,达到城市级高效率高精度的三维建筑物重建。
[0162]
在本发明的描述中,此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0163]
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接或彼此可通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
[0164]
在本发明中,术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0165]
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接
确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1