CN116563465A - 城市航拍影像的三维重建方法、装置、电子设备及介质 - Google Patents
城市航拍影像的三维重建方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN116563465A CN116563465A CN202310565711.2A CN202310565711A CN116563465A CN 116563465 A CN116563465 A CN 116563465A CN 202310565711 A CN202310565711 A CN 202310565711A CN 116563465 A CN116563465 A CN 116563465A
- Authority
- CN
- China
- Prior art keywords
- pyramid
- depth map
- original image
- sub
- point cloud
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 32
- 238000004364 calculation method Methods 0.000 claims abstract description 28
- 230000004927 fusion Effects 0.000 claims abstract description 26
- 238000013507 mapping Methods 0.000 claims description 19
- 238000000638 solvent extraction Methods 0.000 claims description 9
- 238000012937 correction Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 9
- 230000001788 irregular Effects 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 238000012952 Resampling Methods 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007500 overflow downdraw method Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供一种城市航拍影像的三维重建方法、装置、电子设备及介质,获取原始图像,根据预设稀疏重建算法对原始图像求解,得到稀疏重建信息,稀疏重建信息包括位姿信息;计算原始图像的深度图,并根据深度图构建深度图金字塔,深度图金字塔是对深度图进行下采样得到的;根据位姿信息,对深度图金字塔的每一层深度图进行点云融合计算,以得到不同稠密程度的点云金字塔;根据图像金字塔和点云金字塔,生成LOD表面模型,图像金字塔是对原始图像进行下采样得到的。本申请的方法,可以有效减小模型大小和降低模型加载时的GPU占用率,并且能够减小构建LOD粗模型时带来的误差。
Description
技术领域
本申请涉及三维重建技术,尤其涉及一种城市航拍影像的三维重建方法、装置、电子设备及介质。
背景技术
基于图像的三维重建技术,又叫倾斜摄影技术,是利用无人机搭载相机在不同的位置拍摄物体照片,然后根据得到的照片,通过稀疏重建、稠密重建和点云模型化技术,实现对物体的三维建模。
已知技术中,在通过点云模型化技术进行地形场景绘制时,为了提高显示速度,一般会利用细节层次(Levels of Detail,LOD)技术生成同一场景的多分辨率模型。根据视点的变化,在满足显示精度要求的前提下,选择不同分辨率的模型,达到“距离越近看得越清,距离越远越模糊”的效果。金字塔是一种多分辨率层次模型,它可以直接提供不同分辨率的地形数据而无需实时重采样。
上述方式在构建LOD表面模型时,通常采用对细模型多次下采样的方式来获取模型金字塔,这种方式会引入三维下采样时带来的误差,并且粗模型的贴图分辨率没有发生改变,在模型下采样后模型依旧很大,从而导致加载模型时会占用较大的显存空间。
发明内容
本申请提供一种城市航拍影像的三维重建方法、装置、电子设备及介质,用以降低重建后模型的误差和大小。
第一方面,本申请提供一种城市航拍影像的三维重建方法,该方法包括:
获取原始图像,根据预设稀疏重建算法对所述原始图像求解,得到稀疏重建信息,所述稀疏重建信息包括位姿信息,所述位姿信息用于表示搭载在无人机上的传感器在采集所述原始图像时的位姿;
计算所述原始图像的深度图,并根据所述深度图构建深度图金字塔,所述深度图金字塔是对所述深度图进行下采样得到的;
根据所述位姿信息,对所述深度图金字塔的每一层深度图进行点云融合计算,以得到不同稠密程度的点云金字塔;所述点云融合计算用于将所述原始图像上的点坐标,结合每一层的深度图和所述位姿信息,恢复到三维坐标系中得到每一层的稠密点云;
根据图像金字塔和所述点云金字塔,生成LOD表面模型,所述图像金字塔是对所述原始图像进行下采样得到的。
在另一种可能实现的方式中,所述根据图像金字塔和所述点云金字塔,生成LOD表面模型,包括:
根据泊松表面重建算法对所述点云金字塔进行三角网格化,得到表面模型金字塔;
根据所述图像金字塔,使用预设贴图算法对所述表面模型金字塔进行贴图,以得到所述LOD表面模型。
在另一种可能实现的方式中,所述稀疏重建信息还包括稀疏点云,所述稀疏点云是反映三维场景信息的点数据集合,所述计算所述原始图像的深度信息之前,所述方法还包括:
对所述稀疏点云进行分块,得到多个网格块,并将所述网格块中的点坐标关联原始图像,使所述网格块对应一组子原始图像组;
所述计算所述原始图像的深度图,并根据所述深度图构建深度图金字塔,包括:
并行地计算各所述网格块关联的子原始图像组的子深度图,根据所述子深度图,构建所述子原始图像组对应的子深度图金字塔。
在另一种可能实现的方式中,所述根据图像金字塔和所述点云金字塔,生成LOD表面模型,包括:
根据所述子原始图像组对应的子位姿信息,对所述子深度图金字塔的每一层子深度图进行点云融合计算,以得到所述子原始图像组对应的不同稠密程度的子点云金字塔;
根据图像金字塔和各所述子点云金字塔,生成LOD表面模型。
在另一种可能实现的方式中,所述得到所述子原始图像组对应的不同稠密程度的子点云金字塔之前,所述方法还包括:
对于每一层子深度图对应的子稠密点云,将位于所述网格块外的子稠密点云进行裁剪,并将所述网格块由中心向外扩大预设倍数,得到更新网格块;所述预设倍数为1.2;
所述得到所述子原始图像组对应的不同稠密程度的子点云金字塔,包括:
根据所述更新网格块得到所述子原始图像组对应的不同稠密程度的子点云金字塔。
在另一种可能实现的方式中,所述对所述深度图进行下采样包括:
根据第一预设层数和第一预设下采样率,对所述深度图进行下采样,得到所述深度图金字塔;所述第一预设下采样率通过第一预设规则计算,所述第一预设规则为:Dri1=0.9i,i∈[0,k1-1],其中,i用于表示当前层数,Dri1用于表示所述当前层数的第一预设下采样率,k1用于表示所述第一预设层数。
在另一种可能实现的方式中,所述对所述原始图像进行下采样包括:
根据第二预设层数和第二预设下采样率,对所述原始图像进行下采样,得到图像金字塔;所述第二预设下采样率通过第二预设规则计算,所述第二预设规则为:
其中,i用于表示当前层数,Dri2用于表示所述当前层数的第二预设下采样率,k2用于表示所述第二预设层数;r0为修正值,与所述原始图像的分辨率相关,通过第三预设规则得到,所述第三预设规则为:
其中,F用于表示所述原始图像的分辨率,单位为百万。
第二方面,本申请提供一种城市航拍影像的三维重建装置,该装置包括:
获取模块,用于获取原始图像,根据预设稀疏重建算法对所述原始图像求解,得到稀疏重建信息,所述稀疏重建信息包括位姿信息,所述位姿信息用于表示搭载在无人机上的传感器在采集所述原始图像时的位姿;
计算模块,用于计算所述原始图像的深度图,并根据所述深度图构建深度图金字塔,所述深度图金字塔是对所述深度图进行下采样得到的;
所述计算模块,还用于根据所述位姿信息,对所述深度图金字塔的每一层深度图进行点云融合计算,以得到不同稠密程度的点云金字塔;所述点云融合计算用于将所述原始图像上的点坐标,结合每一层的深度图和所述位姿信息,恢复到三维坐标系中得到每一层的稠密点云;
生成模块,用于根据图像金字塔和所述点云金字塔,生成LOD表面模型,所述图像金字塔是对所述原始图像进行下采样得到的。
在另一种可能实现的方式中,所述生成模块具体用于:
根据泊松表面重建算法对所述点云金字塔进行三角网格化,得到表面模型金字塔;
根据所述图像金字塔,使用预设贴图算法对所述表面模型金字塔进行贴图,以得到所述LOD表面模型。
在另一种可能实现的方式中,所述计算模块还用于:
对所述稀疏点云进行分块,得到多个网格块,并将所述网格块中的点坐标关联原始图像,使所述网格块对应一组子原始图像组;
计算模块具体用于:
并行地计算各所述网格块关联的子原始图像组的子深度图,根据所述子深度图,构建所述子原始图像组对应的子深度图金字塔。
在另一种可能实现的方式中,所述生成模块具体用于:
根据所述子原始图像组对应的子位姿信息,对所述子深度图金字塔的每一层子深度图进行点云融合计算,以得到所述子原始图像组对应的不同稠密程度的子点云金字塔;
根据图像金字塔和各所述子点云金字塔,生成LOD表面模型。
在另一种可能实现的方式中,所述生成模块还用于:
对于每一层子深度图对应的子稠密点云,将位于所述网格块外的子稠密点云进行裁剪,并将所述网格块由中心向外扩大预设倍数,得到更新网格块;所述预设倍数为1.2;
所述生成模块具体用于:
根据所述更新网格块得到所述子原始图像组对应的不同稠密程度的子点云金字塔。
在另一种可能实现的方式中,所述计算模块具体用于:
根据第一预设层数和第一预设下采样率,对所述深度图进行下采样,得到所述深度图金字塔;所述第一预设下采样率通过第一预设规则计算,所述第一预设规则为:Dri1=0.9i,i∈[0,k1-1],其中,i用于表示当前层数,Dri1用于表示所述当前层数的第一预设下采样率,k1用于表示所述第一预设层数。
在另一种可能实现的方式中,所述生成模块具体用于:
根据第二预设层数和第二预设下采样率,对所述原始图像进行下采样,得到图像金字塔;所述第二预设下采样率通过第二预设规则计算,所述第二预设规则为:
其中,i用于表示当前层数,Dri2用于表示所述当前层数的第二预设下采样率,k2用于表示所述第二预设层数;r0为修正值,与所述原始图像的分辨率相关,通过第三预设规则得到,所述第三预设规则为:
其中,F用于表示所述原始图像的分辨率,单位为百万。
第三方面,本发明提供一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面中任一项所述的方法。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面中任一项所述的方法。
本申请提供一种城市航拍影像的三维重建方法、装置、电子设备及介质,其中,本申请的方法中,电子设备在根据原始图像得到位姿信息和深度图时,首先通过对深度图进行下采样,得到深度图金字塔。其次,根据位姿信息,对深度图金字塔的每一层深度图进行点云融合计算,得到不同稠密程度的点云金字塔。最后,根据由原始图像下采样得到的图像金字塔,以及前述过程中得到的点云金字塔,生成LOD表面模型,完成三维重建。在本申请中,电子设备通过构建深度图金字塔和图像金字塔用于表面重建和模型贴图,可以有效减小模型大小和降低模型加载时的GPU占用率,并且能够减小构建LOD粗模型时带来的误差,尽可能在各个视野下都保证最终三维模型的真实结构。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种三维重建的场景示意图;
图2为本申请实施例提供的一种城市航拍影像的三维重建方法的流程示意图一;
图3为本申请实施例提供的一种城市航拍影像的三维重建方法的流程示意图二;
图4为本申请实施例提供的一种城市航拍影像的三维重建装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
图1为本申请实施例提供的一种三维重建的场景示意图,如图1所示,本申请提出一种三维稠密重建方法,可以应用于基于城市场景航拍图像的三维重建场景。在如图1所示的场景中,通过航拍设备采集城市场景图像,对于采集到的图像依次进行稀疏重建、稠密重建、点云模型化处理,最终可以得到城市场景的三维模型。
在上述场景中,航拍设备一般包括飞行平台和搭载在飞行平台上的五个相机,用于在不同位置采集不同角度的城市图像。稀疏重建用于求解相机在拍摄每张城市图像时的相机位姿,即从运动恢复结构(Structure From Motion,SFM)。稠密重建过程用于计算每张城市图像的深度图,再结合相机位姿,利用重投影技术,恢复出三维世界的稠密点云信息。点云模型化处理过程用于在得到稠密点云信息后,结合表面重建、纹理贴图和细节层次(Levels of Detail,LOD)模型化技术,重建出可以应用于三维引擎展示的三维模型。
已知LOD表面模型包括粗模型和细模型,细模型使用分辨率高的图像,粗模型使用分辨率低的图像。已知技术中在进行LOD表面模型构建时,通常采用直接对细模型多次下采样的方式来得到粗模型,从而获得模型金字塔。这种方式会引入三维下采样时带来的误差,并且粗模型的贴图分辨率没有发生改变,在模型下采样后模型大小依然很大,加载时也会占用较大的空间。
本申请提供一种城市航拍影像的三维重建方法装置、电子设备及介质,用以提供一种点云融合策略和LOD表面模型构建方法,以减少网络模型间的重叠冗余,减小模型大小、降低模型加载时的GPU占用率,并减少构建LOD表面模型金字塔时带来的误差。具体地,本申请的方法中,电子设备首先计算原始图像的深度图,对深度图进行下采样,得到深度图金字塔。其次,根据稀疏重建得到的位姿信息,对深度图金字塔中每一层深度图分别进行点云融合计算,得到点云金字塔。最后根据点云金字塔得到LOD表面模型。
下面结合附图,对本申请的实施例进行详细说明,在各实施例不冲突的情况下,下述的实施例及实施例中的特征可以相互结合。
图2为本申请实施例提供的一种城市航拍影像的三维重建方法的流程示意图一,下面结合图2,对本申请的一些实施方式作详细说明。
如图2所示,本实施例提供的方法包括:
S201,获取原始图像,根据预设稀疏重建算法对原始图像求解,得到稀疏重建信息。
其中,稀疏重建信息包括位姿信息,位姿信息用于表示搭载在无人机上的传感器在采集原始图像时的位姿。
在本实施例中,原始图像由前述的航拍设备获取,该航拍设备与电子设备通讯,将获取到的原始图像发送给电子设备。本实施例中,不对航拍设备与电子设备的通讯方式进行限定。
可以理解的是,本实施例中搭载在无人机上的传感器即为相机,用于采集原始图像,位姿信息即前述的相机位姿。位姿包括位置和姿态,位置代表相机的平移距离(如相机在X、Y、Z三个方向的平移变换),姿态代表相机的旋转角度(如相机在X、Y、Z三个方向上的角度变换)。
在本实施例中,预设稀疏重建算法可以是名称为《三维稀疏重建方法、装置及电子装置》、公开号为CN115115847A的发明专利中所保护的稀疏重建方法,也可以是其它任意一种稀疏重建方法,本实施例中不对此进行限定,只要通过该预设系数重建算法,可以得到位姿信息和稀疏点云即可。
S202,计算原始图像的深度图,并根据深度图构建深度图金字塔。
其中,深度图金字塔是对深度图进行下采样得到的。
在本实施例中,电子设备采用ACMM算法来估计原始图像的深度图,在实际应用中,电子设备还可以采用已知技术中的其它可用于本实施例的任一种深度图计算算法来计算原始图像的深度图,本实施例中不再逐一列举。
进一步的,在得到深度图后,通过对深度图进行下采样,得到深度图金字塔。
可选的,电子设备根据第一预设层数和第一预设下采样率,对深度图进行下采样,得到深度图金字塔。
具体的,第一预设下采样率通过第一预设规则计算,第一预设规则为:Dri1=0.9i,i∈[0,k1-1],其中,i用于表示当前层数,Dri1用于表示当前层数的第一预设下采样率,k1用于表示第一预设层数。
在本实施例中,根据经验将第一预设层数设置在5-7层。
S203,根据位姿信息,对深度图金字塔的每一层深度图进行点云融合计算,以得到不同稠密程度的点云金字塔。
其中,点云融合计算用于将原始图像上的点坐标,结合每一层的深度图和位姿信息,恢复到三维坐标系中得到每一层的稠密点云。
由于估算的深度图中通常包含噪声,因此,在本实施例中,电子设备采用COLMAP开源三维重建工具包中的点云融合计算方法来获取最终的点云,具体计算手段此处不再赘述。
S204,根据图像金字塔和点云金字塔,生成LOD表面模型。
其中,图像金字塔是对原始图像进行下采样得到的。
可选的,电子设备根据第二预设层数和第二预设下采样率,对原始图像进行下采样,得到图像金字塔。第二预设下采样率通过第二预设规则计算,第二预设规则为:
其中,i用于表示当前层数,Dri2用于表示当前层数的第二预设下采样率,k2用于表示第二预设层数;r0为修正值,与原始图像的分辨率相关,通过第三预设规则得到,第三预设规则为:
其中,F用于表示原始图像的分辨率,单位为百万。
可以理解的是,若原始图像分辨率太高,则会导致最终得到的三维模型占用较大的磁盘和显存空间,因此在本实施例中通过修正值来修正第二预设下采样率,以避免前述问题。
进一步的,在本实施例中,电子设备在得到点云金字塔后,采用预设方式将点云进行三角网格化,得到表面模型金字塔。再根据表面模型金字塔和图像金字塔,对表面模型进行贴图,得到最终的LOD模型。其中,在对表面模型进行贴图时,粗模型使用分辨率低的图像,细模型使用分辨率高的图像。
在上述过程中,预设方式可以为泊松表面重建,贴图算法可以采用开源的mvs-texturing库。
可选地,在得到LOD表面模型后,电子设备根据三维引擎类型,将LOD表面模型转化为osgb格式或者3dtiles格式,以对三维重建后的模型进行展示。
在本实施例提供的方法中,电子设备首先根据预设稀疏重建算法对原始图像进行计算,得到位姿信息。其次,电子设备通过对原始图像进行下采样得到图像金字塔,再根据图像金字塔由粗到细地恢复每个尺度的深度图信息,得到深度图金字塔。最后根据深度图金字塔得到点云金字塔,进而得到LOD表面模型。
通过本实施例提供的方法,可以有效减小模型大小和降低模型加载时的GPU占用率,并且能够减小构建LOD粗模型时带来的误差,从而使得尽可能在各个视野下都保证最终三维模型的真实结构。
图3为本申请实施例提供的一种城市航拍影像的三维重建方法的流程示意图二,下面结合图3进一步对本申请中计算深度图和生成LOD表面模型的方法进行详细说明。
如图3所示,本实施例提供的方法包括:
S301,获取原始图像,根据预设稀疏重建算法对原始图像求解,得到稀疏重建信息。
其中,稀疏重建信息包括位姿信息和稀疏点云,位姿信息用于表示搭载在无人机上的传感器在采集原始图像时的位姿,稀疏点云是反映三维场景信息的点数据集合。
在本实施例中,电子设备采用的预设稀疏重建算法即为名称为《三维稀疏重建方法、装置及电子装置》、公开号为CN115115847A的发明专利中所保护的稀疏重建算法,此处不再赘述。
S302,对稀疏点云进行分块,得到多个网格块,并将网格块中的点坐标关联原始图像,使网格块对应一组子原始图像组。
其中,对稀疏点云进行分块处理,可以采用已知技术中的基于视图数量等间隔分块方法,或者,空间距离等间隔分块方法,或者基于航线分块方法,本实施例中不对具体的分块策略进行限定。在本实施例中,电子设备采用一种分块策略,具体如下:
电子设备首先将稀疏点云转换到世界坐标系下,并投影至水平面,然后对每个点进行取整,并去掉重复点,得到水平面上的正射稀疏点集。其次,根据正射稀疏点集构造第一图像,并根据预设网格大小对第一图像进行分块处理,以得到多个第一网格块。
具体的,本实施例中,电子设备在将第一图像进行分块处理后,对于得到的每个第一网格块,通过比较其像素值为1的区域的面积与网格块总面积,确定该第一网格块是否为位于边缘区域或不规则区域的碎片化分块。对于非位于边缘区域或不规则区域的碎片化分块的第一网格块,将其作为第二网格块存入第二网格块集合中。对于是位于边缘区域或不规则区域的碎片化分块的第一网格块,将其存入待合并网格块集合中。
对于待合并网格块集合中的第一网格块,电子设备确定其余碎片化分块中是否存在与其上、下、左、右相邻的第一网格块,若存在,则将待合并网格块集合中的这两个第一网格块进行合并处理,得到备选合并网格块。筛选备选合并网格块中像素值为1的区域与该区域外接矩的面积比最大的作为待选合并网格块,电子设备通过判断待选合并网格块的像素值为1的区域与该区域外接矩的面积比是否大于预设阈值,来确定是否将该待选合并网格块作为第二网格块,存入第二网格块集合中。
具体地,对于面积比大于预设阈值的待选合并网格块,电子设备将其作为第二网格块存入第二网格块集合中。对于面积比小于预设阈值的待选合并网格块,电子设备不对其对应的两个第二网格块的存储位置进行改变。在本实施例中,预设阈值是用户根据经验提前设置在电子设备中的,示例性的,预设阈值可以为0.5,使电子设备在确定待选合并网格块中像素值为1的区域与区域外接矩的面积比大于0.5时,认定该待选合并网格块为非位于边缘区域或不规则区域的碎片化分块。
可以理解的是,第二网格块集合中的多个第二网格块即为本实施例中S302中的多个网格块。子原始图像组即为一个网格块中包含的多个原始图像的分块。
可选的,在本实施例中,电子设备得到第二网格块集合和待合并网格块集合后,判断第二网格块集合中的网格块数量与待合并网格块集合中的网格块数量,是否满足预设条件。若是,则对于待合并网格块集合中的第一网格块,在第二网格块集合中查找与其中心距离最短的第二网格块,若存在,则将该第一网格块合并至该第二网格块,并计算合并后网格块的像素值为1的区域外接矩,将该外接矩作为第二网格块存入第二网格块集合中,同时,在第二网格块集合中删除原有的被合并的第二网格块,在待合并网格块集合中删除原有的被合并的第一网格块。
若不满足预设条件,则减小预设网格大小,重新对第一图像进行划分,并得到新的第二网格块集合和待合并网格块集合。对于位于待合并网格块集合中的第一网格块,确定是否存在两个可以合并为第二网格块的第一网格块,以更新第二网格块,直至第二网格块集合中的网格块数量与待合并网格块集合中的网格块数量满足预设条件。
其中,预设条件为用户根据经验提前设置在电子设备中的,示例性的,预设条件为第二网格块集合中的网格块数量是待合并网格块集合中的网格块数量的至少两倍。
进一步地,电子设备在得到多个网格块后,对世界坐标系下的稀疏点云的点进行遍历,根据其x、y坐标判断该点的所属网格块。由于世界坐标系下的稀疏点云中的各点都是由原始图像的特征点通过重投影得到的,因此可以将网格块与对应的子原始图像组关联。
通过本实施例中的分块策略,尽可能地将位于第一图像边缘区域或不规则区域的图像块与其相邻的图像块合并,从而减少了碎片化分块的数量,进而一方面有利于降低后续深度图计算的负担,另一方面有利于降低合并误差。
S303,并行地计算各网格块关联的子原始图像组的子深度图,根据子深度图,构建子原始图像组对应的子深度图金字塔。
可选的,在本实施例中,对ACMM算法进行CUDA加速,将深度估计的计算放到GPU上,根据GPU的资源占用情况,并行地估算每个网格中的图像深度图。
在本实施例中,电子设备首先计算可以同时估计的网格块数。具体的,经过大量的实验后得知,每处理100万像素的图像,需要占用的显存大约为300M。因此,在本实施例中,电子设备可以同时估计的网格块数其中,S为可用的显存资源大小,单位为GB。K为原始图像的分辨率大小,单位为百万。
进一步的,电子设备根据可以同时估计的网格块数nblock,确定估算批次,对同一批次下的网格块,并行地计算其对应的子深度图,直至完成所有网格块的深度图估计。
具体的,在本实施例中,在对每个网格块进行深度图估计时,对于该网格块中的每张图片,电子设备首先根据匹配信息提取其前n张最匹配的图片,示例性的,n可以为20。可以理解的是,在稀疏重建过程中,可以获得每张原始图像与其它图像的匹配信息,匹配点对越多,说明匹配程度越高。
其次,电子设备从20张最匹配的图片中筛选掉不属于该网格块下的图片,得到一组匹配序列。电子设备遍历网格块中的每张图片,以得到该网格块下每张图片的匹配序列。将该网格块下每张图片的匹配序列应用于ACMM算法中,使ACMM算法对匹配序列进行图片匹配,进而通过估算每张图片的匹配序列中各个图片的视差,恢复出网格块中每张图片对应的子深度图。
S304,根据子原始图像组对应的子位姿信息,对子深度图金字塔的每一层子深度图进行点云融合计算。
具体的,电子设备结合子位姿信息和子深度图,进行点云融合计算,得到子深度图金字塔的每一层子深度图对应的子稠密点云。
在本实施例中,如前述实施例对于S203的限定,电子设备采用COLMAP开源三维重建工具包中的点云融合方法来获取最终的子稠密点云。
S305,对位于网格块外的子稠密点云进行裁剪,并将网格块由中心向外扩大预设倍数,得到更新网格块。
其中,预设倍数为1.2倍。
具体的,电子设备根据网格块在世界坐标系下的坐标,对稠密点云进行裁剪。进一步地,为避免重建后的三维模型存在网格缝隙,电子设备使网格块由中心向外扩大1.2倍,得到更新网格块。在实际应用中,预设倍数还可以为1.1倍或者1.3倍,本实施例中不对此进行限定。
S306,根据更新网格块得到子原始图像组对应的不同稠密程度的子点云金字塔。
可以理解的是,在对一个网格块进行点云融合计算时,该网格块中对应的所有原始图像和深度图都参与了运算,但是这些原始图像仍然会拍摄到该网格之外的区域,这些区域的点云也会在点云融合的过程中被计算出来。因此,在本实施例中,对每个网格块中的子稠密点云进行裁剪,以减少重叠点云,从而避免造成模型的冗余,同时避免浪费存储空间且不利于模型加载的问题。
进一步的,在本实施例中,为避免重建后的三维模型存在网格缝隙,将网格块扩大预设倍数,且预设倍数设置为1.2,可以使得最终得到的子稠密点云间,虽然具有一定重叠,但不至于使最终的模型产生太大的冗余。
S307,根据泊松表面重建算法对子点云金字塔进行三角网格化,得到各网格块对应的子表面模型金字塔。
S308,根据图像金字塔,使用预设贴图算法对各子表面模型金字塔进行贴图,以得到LOD表面模型。
在本实施例中,电子设备采用泊松表面重建将稠密点云进行三角网格化,得到每个网格对应的子表面模型金字塔。进一步的,电子设备结合图像金字塔和子表面模型金字塔,通过预设贴图算法得到LOD表面模型。可以理解的是,LOD表面模型包括多个网格块对应的子模型。
进一步的,电子设备通过预设方式,将每个网格块对应的子模型转换为预设的三维引擎类型所需要的加载格式。在本实施例中,预设方式可以为四叉树算法,具体处理方式此处不再赘述。
在本实施例提供的方法中,电子设备在根据原始图像估算深度图时,首先对稀疏点云进行分块处理,得到多个网格块,以将原始图像分为多个子原始图像组。其次,对于每个子原始图像组,电子设备根据自身的显存资源,计算可同时估算的网格块数,对网格块进行分批次,并并行地对每个批次的网格块进行深度估计,以得到每个子原始图像组对应的子深度图。最后,电子设备对子深度图进行下采样,得到子深度图金字塔,并结合相应的位姿信息,对子深度图金字塔的每一层子深度图进行点云融合计算,以得到每一层深度图对应的子稠密点云。
进一步的,电子设备对每个网格块对应的子稠密点云进行裁剪处理,后对每个网格块进行扩大1.2倍的处理,以得到更新网格块,电子设备根据更新网格块得到子点云金字塔。
进一步的,电子设备根据泊松表面重建算法对子点云金字塔进行三角网格化,得到子表面模型金字塔。最后,电子设备对原始图像进行下采样,得到图像金字塔,并根据图像金字塔和子表面模型金字塔,得到LOD表面模型。
本实施例中,将原始图像分为多个子原始图像组,并行地估算子深度图,有利于加快三维重建的效率。进一步的,本实施例对子深度图进行下采样,得到子深度图金字塔,以得到子点云金字塔,用于表面重建和模型贴图,有效减小了模型大小、降低了模型加载时的GPU占用率,并且能够减小构建LOD粗模型时带来的误差,从而尽可能在各个视野下都能还原最终三维模型的真实结构。
通过上述实施例从方法流程的角度介绍一种城市航拍影像的三维重建方法,下述实施例从虚拟模块或虚拟单元的角度介绍一种城市航拍影像的三维重建装置,具体详见下述实施例。
本申请实施例提供一种城市航拍影像的三维重建装置,如图4所示,该装置包括获取模块41、计算模块42和生成模块43,其中,
获取模块41,用于获取原始图像,根据预设稀疏重建算法对原始图像求解,得到稀疏重建信息,稀疏重建信息包括位姿信息,位姿信息用于表示搭载在无人机上的传感器在采集原始图像时的位姿;
计算模块42,用于计算原始图像的深度图,并根据深度图构建深度图金字塔,深度图金字塔是对深度图进行下采样得到的;
计算模块42,还用于根据位姿信息,对深度图金字塔的每一层深度图进行点云融合计算,以得到不同稠密程度的点云金字塔;点云融合计算用于将原始图像上的点坐标,结合每一层的深度图和位姿信息,恢复到三维坐标系中得到每一层的稠密点云;
生成模块43,用于根据图像金字塔和点云金字塔,生成LOD表面模型,图像金字塔是对原始图像进行下采样得到的。
本申请实施例的另一种可能的实现方式,生成模块43具体用于:
根据泊松表面重建算法对点云金字塔进行三角网格化,得到表面模型金字塔;
根据图像金字塔,使用预设贴图算法对表面模型金字塔进行贴图,以得到LOD表面模型。
本申请实施例的另一种可能的实现方式,计算模块42还用于:
对稀疏点云进行分块,得到多个网格块,并将网格块中的点坐标关联原始图像,使网格块对应一组子原始图像组;
计算模块具体用于:
并行地计算各网格块关联的子原始图像组的子深度图,根据子深度图,构建子原始图像组对应的子深度图金字塔。
本申请实施例的另一种可能的实现方式,生成模块43具体用于:
根据子原始图像组对应的子位姿信息,对子深度图金字塔的每一层子深度图进行点云融合计算,以得到子原始图像组对应的不同稠密程度的子点云金字塔;
根据图像金字塔和各子点云金字塔,生成LOD表面模型。
本申请实施例的另一种可能的实现方式,生成模块43还用于:
对于每一层子深度图对应的子稠密点云,将位于网格块外的子稠密点云进行裁剪,并将网格块由中心向外扩大预设倍数,得到更新网格块;预设倍数为1.2;
生成模块43具体用于:
根据更新网格块得到子原始图像组对应的不同稠密程度的子点云金字塔。
本申请实施例的另一种可能的实现方式,计算模块42具体用于:
根据第一预设层数和第一预设下采样率,对深度图进行下采样,得到深度图金字塔;第一预设下采样率通过第一预设规则计算,第一预设规则为:Dri1=0.9i,i∈[0,k1-1],其中,i用于表示当前层数,Dri1用于表示当前层数的第一预设下采样率,k1用于表示第一预设层数。
本申请实施例的另一种可能的实现方式,生成模块43具体用于:
根据第二预设层数和第二预设下采样率,对原始图像进行下采样,得到图像金字塔;第二预设下采样率通过第二预设规则计算,第二预设规则为:
其中,i用于表示当前层数,Dri2用于表示当前层数的第二预设下采样率,k2用于表示第二预设层数;r0为修正值,与原始图像的分辨率相关,通过第三预设规则得到,第三预设规则为:
其中,F用于表示原始图像的分辨率,单位为百万。
本申请实施例提供的一种城市航拍影像的三维重建装置,适用于上述城市航拍影像的三维重建方法实施例,在此不再赘述。
本申请实施例中提供了一种电子设备,如图5所示,图5所示的电子设备包括:处理器51和存储器52。其中,处理器51和存储器52相连,如通过总线53相连。可选地,电子设备还可以包括收发器54。需要说明的是,实际应用中收发器54不限于一个,该电子设备的结构并不构成对本申请实施例的限定。
处理器51可以是中央处理器(Central Processing Unit,CPU),通用处理器,数据信号处理器(Digital Signal Processor,DSP),专用集成电路(Application SpecificIntegrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器51也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线53可包括一通路,在上述组件之间传送信息。总线53可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线53可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线53或一种类型的总线53。
存储器52可以是只读存储器(Read Only Memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(Random Access Memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read Only Memory,EEPROM)、只读光盘(Compact Disc ReadOnly Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器52用于存储执行本申请方案的应用程序代码,并由处理器51来控制执行。处理器51用于执行存储器52中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、个人数字助理(PDA)、平板电脑(PAD)、便携式多媒体播放器(PMP)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。还可以为服务器等。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (10)
1.一种城市航拍影像的三维重建方法,其特征在于,所述方法包括:
获取原始图像,根据预设稀疏重建算法对所述原始图像求解,得到稀疏重建信息,所述稀疏重建信息包括位姿信息,所述位姿信息用于表示搭载在无人机上的传感器在采集所述原始图像时的位姿;
计算所述原始图像的深度图,并根据所述深度图构建深度图金字塔,所述深度图金字塔是对所述深度图进行下采样得到的;
根据所述位姿信息,对所述深度图金字塔的每一层深度图进行点云融合计算,以得到不同稠密程度的点云金字塔;所述点云融合计算用于将所述原始图像上的点坐标,结合每一层的深度图和所述位姿信息,恢复到三维坐标系中得到每一层的稠密点云;
根据图像金字塔和所述点云金字塔,生成LOD表面模型,所述图像金字塔是对所述原始图像进行下采样得到的。
2.根据权利要求1所述的方法,其特征在于,所述根据图像金字塔和所述点云金字塔,生成LOD表面模型,包括:
根据泊松表面重建算法对所述点云金字塔进行三角网格化,得到表面模型金字塔;
根据所述图像金字塔,使用预设贴图算法对所述表面模型金字塔进行贴图,以得到所述LOD表面模型。
3.根据权利要求1或2所述的方法,其特征在于,所述稀疏重建信息还包括稀疏点云,所述稀疏点云是反映三维场景信息的点数据集合,所述计算所述原始图像的深度信息之前,所述方法还包括:
对所述稀疏点云进行分块,得到多个网格块,并将所述网格块中的点坐标关联原始图像,使所述网格块对应一组子原始图像组;
所述计算所述原始图像的深度图,并根据所述深度图构建深度图金字塔,包括:
并行地计算各所述网格块关联的子原始图像组的子深度图,根据所述子深度图,构建所述子原始图像组对应的子深度图金字塔。
4.根据权利要求3所述的方法,其特征在于,所述根据图像金字塔和所述点云金字塔,生成LOD表面模型,包括:
根据所述子原始图像组对应的子位姿信息,对所述子深度图金字塔的每一层子深度图进行点云融合计算,以得到所述子原始图像组对应的不同稠密程度的子点云金字塔;
根据图像金字塔和各所述子点云金字塔,生成LOD表面模型。
5.根据权利要求4所述的方法,其特征在于,所述得到所述子原始图像组对应的不同稠密程度的子点云金字塔之前,所述方法还包括:
对于每一层子深度图对应的子稠密点云,将位于所述网格块外的子稠密点云进行裁剪,并将所述网格块由中心向外扩大预设倍数,得到更新网格块;所述预设倍数为1.2;
所述得到所述子原始图像组对应的不同稠密程度的子点云金字塔,包括:
根据所述更新网格块得到所述子原始图像组对应的不同稠密程度的子点云金字塔。
6.根据权利要求1所述的方法,其特征在于,所述对所述深度图进行下采样包括:
根据第一预设层数和第一预设下采样率,对所述深度图进行下采样,得到所述深度图金字塔;所述第一预设下采样率通过第一预设规则计算,所述第一预设规则为:Dri1=0.9i,i∈[0,k1-1],其中,i用于表示当前层数,Dri1用于表示所述当前层数的第一预设下采样率,k1用于表示所述第一预设层数。
7.根据权利要求1所述的方法,其特征在于,所述对所述原始图像进行下采样包括:
根据第二预设层数和第二预设下采样率,对所述原始图像进行下采样,得到所述图像金字塔;所述第二预设下采样率通过第二预设规则计算,所述第二预设规则为:
其中,i用于表示当前层数,Dri2用于表示所述当前层数的第二预设下采样率,k2用于表示所述第二预设层数;r0为修正值,与所述原始图像的分辨率相关,通过第三预设规则得到,所述第三预设规则为:
其中,F用于表示所述原始图像的分辨率,单位为百万。
8.一种城市航拍影像的三维重建装置,其特征在于,包括:
获取模块,用于获取原始图像,根据预设稀疏重建算法对所述原始图像求解,得到稀疏重建信息,所述稀疏重建信息包括位姿信息,所述位姿信息用于表示搭载在无人机上的传感器在采集所述原始图像时的位姿;
计算模块,用于计算所述原始图像的深度图,并根据所述深度图构建深度图金字塔,所述深度图金字塔是对所述深度图进行下采样得到的;
所述计算模块,还用于根据所述位姿信息,对所述深度图金字塔的每一层深度图进行点云融合计算,以得到不同稠密程度的点云金字塔;所述点云融合计算用于将所述原始图像上的点坐标,结合每一层的深度图和所述位姿信息,恢复到三维坐标系中得到每一层的稠密点云;
生成模块,用于根据图像金字塔和所述点云金字塔,生成LOD表面模型,所述图像金字塔是对所述原始图像进行下采样得到的。
9.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310565711.2A CN116563465A (zh) | 2023-05-18 | 2023-05-18 | 城市航拍影像的三维重建方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310565711.2A CN116563465A (zh) | 2023-05-18 | 2023-05-18 | 城市航拍影像的三维重建方法、装置、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116563465A true CN116563465A (zh) | 2023-08-08 |
Family
ID=87492830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310565711.2A Pending CN116563465A (zh) | 2023-05-18 | 2023-05-18 | 城市航拍影像的三维重建方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116563465A (zh) |
-
2023
- 2023-05-18 CN CN202310565711.2A patent/CN116563465A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102047031B1 (ko) | 딥스테레오: 실세계 이미지로부터 새로운 뷰들을 예측하는 러닝 | |
CN113516769B (zh) | 虚拟现实三维场景加载与渲染方法、装置和终端设备 | |
CN109685879B (zh) | 多视影像纹理分布的确定方法、装置、设备和存储介质 | |
CN113808253A (zh) | 场景三维重建的动态对象处理方法、系统、设备及介质 | |
CN114494328B (zh) | 图像显示方法、装置、电子设备及存储介质 | |
CN113160420A (zh) | 一种三维点云重建的方法、装置、电子设备及存储介质 | |
CN116310046B (zh) | 图像处理方法、装置、计算机及存储介质 | |
CN113129352A (zh) | 一种稀疏光场重建方法及装置 | |
CN116228962A (zh) | 大场景神经视图合成 | |
CN114531553B (zh) | 生成特效视频的方法、装置、电子设备及存储介质 | |
CN111494944A (zh) | 一种地形纹理加载方法及相关装置 | |
CN115690382A (zh) | 深度学习模型的训练方法、生成全景图的方法和装置 | |
CN112435335A (zh) | 一种三维矢量瓦片数据生成方法及系统 | |
CN113920275B (zh) | 三角网格构建方法、装置、电子设备及可读存储介质 | |
CN115375836A (zh) | 基于多元置信度滤波的点云融合三维重建方法和系统 | |
CN112233231B (zh) | 一种基于云计算的城市三维实景漫游方法及系统 | |
Noguera et al. | A scalable architecture for 3D map navigation on mobile devices | |
CN116385622B (zh) | 云图处理方法、装置、计算机及可读存储介质 | |
CN110378948B (zh) | 3d模型重建方法、装置及电子设备 | |
CN116563465A (zh) | 城市航拍影像的三维重建方法、装置、电子设备及介质 | |
KR100693134B1 (ko) | 3차원 이미지 처리 | |
CN112785494B (zh) | 一种三维模型构建方法、装置、电子设备和存储介质 | |
CN112907741B (zh) | 地形场景生成方法、装置、电子设备及存储介质 | |
CN114596420A (zh) | 一种应用于城市大脑的激光点云建模方法和系统 | |
Shiau et al. | Real-time network virtual military simulation system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |