Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

一、前言

Wish3D出品的Smart3D系列教程中,前面一讲说明了小物件的照片三维重建,相信大家对建模的流程有了一定的了解。这次讲解中,我们将演示说明以一组无人机倾斜摄影照片为原始数据,通过Smart3D建模软件,重建生成三维地形的过程。与上次不同的是,这次的建模需要对导入的照片预先做一些处理,详情后面会一一说明。

二、工具材料

包括Smart3D建模软件,一组垂直拍摄而且多角度、重叠度满足重建要求的航片、航片对应的pos数据文件

三、方法步骤

关于通过无人机航拍的照片,照片进行三维重建生产模型,一些情况下照片中是自带有GPS数据信息的,而另一些情况则是会导出一组无定位信息的照片和对应的pos数据文本。前者我们直接新建区块,把照片直接导入给软件跑出结果就ok了。那么,这次我们主要来谈论研究第二种情况,即照片和pos分开的情况。

(一)区块导入表格的编辑

区别于第一种情况我们需要编辑下导入区块的表格,我们将照片的文件路径、参考坐标系、传感器的基本信息等信息嵌入到这个表格里,通过它来实现对照片和pos信息数据的导入。后面的操作处理是跟直接导入照片的方法是没有差别的。

首先,我们看到原始数据的文件夹如下图所示,包括一组照片和相应的pos文件:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

可以看到,这个pos数据是以文本文档的形式存在:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

而在导入区块的过程当中,我们需要导入Excel表格,那么,这时需要运用一定的办公软件的技巧将其转换为Excel表格,这个表格需要包含如下图的4个工作表:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

结果如下:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

Photogroups工作表中,名称列需要与照片工作表的PhotogroupName一致:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

Photos工作表的编辑结果如下图:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

控制点工作表中,由于无人机航拍的区域不是很大,且对于建模成果的精度没有设定范围,追求建成模型的速度,我们本次先不设控制点,很多朋友都是误把照片放到了这个工作表中,致使处理出现问题,需要注意一下。编辑结果如下:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

Options工作表中,是坐标系和照片路径的信息,设置如下:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

到这一步为止,区块导入的表格就算编辑完毕了。

(二)创建工程

打开Smart3D软件,输入工程名称和存储路径,这里注意不要勾选创建空区块,因为我们需要直接导入表格来导入区块,示意图如下:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

此时,导入上述的Excel表格:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

这里要提到前面的表格当中,各个工作表的英文名称务必要正确,这里我就是漏了一个字母,提示表格导入失败:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

返回修改,重新导入,结果如下图:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

可以看到,一个工作区块被顺利导入,接下来就可以开始处理工作了。

(三)空三处理

区块导入之后,首先要对照片组做个检查,查看是否有丢失的情况:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

检查无误即可接着处理,否则返回照片组重新整理。

如下图可以看到,之前的区块导入的表格关于影像组的基本信息都体现出来了:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

照片组的每一张影像都可以预览到其图像且可以打开其路径,空三还没开始前,每张影像的姿态是未知的,如下图所示:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

3Dview中,如下图,每张影像代表一个点,可以看到它们都是按照一定规则排列的,没有飘离出去的,若有,可以直接删除。

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

一切检查工作正常,点击空三按钮:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

输入空三名称:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

选择定位方式:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

设置默认当前参数:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

提交后,准备空三处理:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

开启Engine,空三处理开始:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

空三结束后查看精度报告,发现每张照片都被识别处理,如下图:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

影像组的照片全部被定位完毕:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

3Dview中照片摄取范围与区域模型之间的关系图:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

(四)重建生成模型

点击提交重建按钮:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

在Spatial framework中调整模型生成区域的大小:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

这里重点说明下模型分块生成的方法。同样在Spatial framework中,默认是不分块的(No tiling):

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

上图第二个红框中的Expected maximum RAM usage per job代表每项处理任务的最大期望内存值,这就要求处理该任务的计算机可用内存必须保证大于这个内存值,集群处理中,每台计算机的可用内存必须有高于期望内存的容量。而当前的处理任务中,期望内存值是14个G,对于处理它的只有4G装机内存的计算器显然是不可行的,这时,我们需要作出分块处理,使得每块处理所需的内存控制在计算器的可用内存以下。因此,我们将数据规则分块处理,将每块的边长分为200米,共23个区块,期望内存降低为2.7G,示意图如下:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

分完块的数据,各瓦片可以在Reference 3D Model预览:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

一切准备就绪:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

提交生成模型:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

输入模型名称:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

选择模型种类:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

生成OSGB的三维模型:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

选择全部的区块生成:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

指定模型的保存路径:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

到这里参数设置完毕,打开Engine,开始生成模型:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

模型生成后可以看到各个瓦片的生成情况:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

处理中的参数选择及坐标系:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

四、网络发布

对于由多个Tile组成的OSGB格式的Production数据,Acute3D viewer浏览工具是无法直接同时加载浏览整体的三维模型的。这里介绍一个简单直接的方法——通过Wish3D网络发布三维数据。

1.将成果文件夹中的data文件夹打包为ZIP压缩包:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

2.在www.wish3d.com上传:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

3.编辑完作品信息后,上传成功的模型效果如下图:

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

上图可以看到,除了加载浏览模型以外,还可以对模型添加标注(文字、图片、视频、全景),设置飞行路径,量测模型高度应用功能等。具体的操作说明可以加入QQ交流群516635556进入群文件查看相关文档。

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

五、小结

以上就是对于大区域地形的照片三维重建生成处理模型的这一整个流程了,如果感兴趣想试一试的朋友可以关注Wish3D微信公众号回复5即可获得文档,有疑问的朋友欢迎加入QQ交流群516635556讨论交流。接下来,我会在下周同一时间(每周三下午)Wish3D微信公众号即将推出Smart3D系列教程6之《案例实战演练3——倾斜数据正射影像的生产》,我们不见不散!

Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》

Wish3D已出品的Smart3D系列教程如下,在微信公众号的历史消息中可以查看,欢迎大家关注Wish3D。

  • 《浅谈无人机倾斜摄影建模的原理和方法》
  • 《为什么三维重建效果这么差?——探探那些被忽略的拍照要求和技巧》
  • 《论照片三维重建中Smart3D几个工作模块的功能意义》
  • 《案例实战演练1——小物件的照片三维重建》
  • 《案例实战演练2——大区域的地形三维重建》
上一篇:[Erlang 0127] Term sharing in Erlang/OTP 上篇


下一篇:Android开发学习之路--异步消息Handler,Message,Looper和AsyncTask之初体验