教学干货丨如何利用大疆智图实现模型局部更新?_新闻报道_DJI大疆行业应用
随着无人机航测解决方案的不断发展、三维模型生产成本的不断降低,实景三维模型被广泛应用于地形测绘、古建筑测绘存档、实景三维中国建设等项目中。
与此同时,航测用户对实景三维模型的重点区域精细程度、实景三维项目的时序化更新等要求也在不断提高。如何利用大疆智图实现实景三维模型局部更新,成为航测用户最关心的问题之一。
在城市级实景三维的项目中,往往需要局部更新,并将局部更新的模型结果融入到此前已建设好的大场景实景三维模型中。此外,在航测项目中,用户经常遇到部分区域的重建效果不理想,需要对该区域数据进行补充采集的情况。
模型效果不佳,需进行局部更新
按照传统方式,把更新后的数据与大场景的数据全部放一起重新建模,费时费力。而“模型局部更新”的方案,能够快速地能帮助用户解决问题。一起来看看该方案的操作方法及注意事项。
大疆智图模型参数说明
在了解实景三维模型局部更新方法之前,必须先弄清楚实景三维模型的分块及存储规则。
大疆智图在生产实景三维模型时,支持自定义模型原点、分块大小、分块起始点等操作方式,以满足各类项目的数据要求。那么,这些操作对三维模型成果有哪些影响呢?
1、模型原点
自定义模型原点功能入口
在大疆智图中,OSGB、OBJ、PLY 格式的三维模型坐标,将以所设置的模型原点(X、Y、Z)为起始点,保存相对于该起始点的模型坐标。模型原点值将保存在与模型同目录下 metadata.xml 文件的 SRSOrigin 字段中。如果更改 SRSOrigin 的数值,将直接影响到模型所有点的坐标值显示。因此,可以通过更改 SRSOrigin 数值来实现模型的局部平移。
xml 文件中的模型原点坐标值
2、分块模式
当重建照片较多时,如果把模型作为一个整体进行生产,可能会出现内存不足导致重建失败的情况。此时建模软件常见的做法是将模型进行分块处理,即按照一定的规则,分成多个 Block(块)进行生产,然后将所有的 Block 放一起显示,最终呈现一个完整的模型。
大疆智图支持的分块模式包括:自动、自定义内存和自定义边长。当选择自动时,将根据电脑当前最大的可用内存对应块的大小进行模型重建,通常该模式重建效率是最高的;当选择自定义内存时,将根据所设置内存对应的范围进行模型重建;当选择自定义边长时,每个 Block 将对应一致的区域范围。当需要模型局部更新时,必须使用自定义边长模式来分块。
分块模式-自定义边长
分块对应的模型文件夹
3、分块起始点
模型分块重建后,将根据每个分块的命名来区分不同块在大模型中的位置。例如大疆智图的某一个 Block 文件夹的命名为 Block_+008_+011,指的是这个块位于整体模型的横向第 8,纵向第 11 的位置。这里的第 8、第 11 都是基于分块的起始点,按照分块的规则计算而出。
当按照自定义大小来分块时,分块起始点将影响每个 Block 的名称以及文件夹名称,例如定义分块起始点(X1,Y1,Z1) 及分块大小 50m 后,(X2,Y2,Z2) 所在的 Block 名称为 X 方向编号为取整 (X2-X1)/50,Y 方向编号同理。
分块起始点与 Block 命名
模型局部更新作业流
想要完成模型的局部更新,需先将待更新的模型设置为原模型相同的坐标系、相同的模型原点、相同的分块起始点、相同的分块大小,然后将新生成的模型 Block 文件夹,手动替换掉原模型相同的 Block 文件夹。
在进行实景三维模型局部更新前,首先需要确保外业数据采集时无人机 RTK 处于固定解。如果外业飞行时 RTK 不是固定解,新旧两个实景三维模型项目都需要使用合理分布的像控点,确保两个模型的绝对精度保持一致,才能实现模型无缝拼接。
大范围模型 A 分块规则设置
以某实景三维重建项目为例,在完成大范围模型 A 的模型重建后(如上图),将该项目所设置的坐标系、模型原点、分块起始点、分块大小,应用于补拍的局部模型 B 项目设置中,如下图所示。
局部模型 B 分块规则设置
除了以上参数设置,在划定建模兴趣区时,需要保证待更新局部模型的分块 Block 中的三维模型是完整的,否则将导致更新后不完整 Block 区域模型缺失。
在分别完成大范围模型 A 和局部模型 B 两个项目的重建后,从局部模型 B 的模型成果 terra_b3dms 文件夹拷贝需要更新的 Block 文件夹,至大范围模型 A 的对应 terra_b3dms 文件夹中,替换原有的文件夹后,即完成了这些 Block 对应区域的模型更新操作,此时就可以在 Terra 中直接浏览更新后的实景三维模型。
注意:拷贝替换时,需要注意备份原有模型,b3dm、osgb、ply、obj 等格式模型需要分别拷贝替换更新。
需替换的 Block 区域
模型文件夹替换方法
完成 terra_b3dms 文件夹替换对应 Block 区域的三维模型后,即可在 Terra 中直接浏览更新局部后的三维模型效果。
Terra 浏览局部更新后的模型
更新后的模型对比录屏
更多注意事项
1、为了保证局部更新后的三维模型接边处无高差,除了确保无人机的网络 RTK 处于固定解状态,还能通过内业虚拟控制点的方式,提升提高接边处的精度。可在接边区域的模型上选择一定数量的特征点,在 A 项目上采集这些点的坐标,并将这些点及坐标导入 B 项目中。
整体模型 A 项目中采集的虚拟控制点
局部模型 B 项目中导入虚拟控制点
2、实景三维模型数据格采用 LOD 形式生成及加载,为了保证在不同视角下的模型显示效果,建议局部更新前后的模型分辨率尽量保持一致。如果分辨率不一致导致远距离视角模糊,建议使用第三方模型处理工具来对更新后的模型进行全局 LOD 构建,以实现更优的显示效果。
3、该方法除了能够实现实景三维模型的局部更新,还可以应用于合并两个相邻区域的实景三维模型文件。例如,当一个项目数据量太大,无法使用智图单机版在一个项目里完成重建,可将项目拆分成两个或多个项目分别重建,并通过设置相同的分块规则,实现多个实景三维模型项目合并。