Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》
一、前言
Wish3D出品的Smart3D系列教程中,前面一讲说明了小物件的照片三维重建,相信大家对建模的流程有了一定的了解。这次讲解中,我们将演示说明以一组无人机倾斜摄影照片为原始数据,通过Smart3D建模软件,重建生成三维地形的过程。与上次不同的是,这次的建模需要对导入的照片预先做一些处理,详情后面会一一说明。
二、工具材料
包括Smart3D建模软件,一组垂直拍摄而且多角度、重叠度满足重建要求的航片、航片对应的pos数据文件
三、方法步骤
关于通过无人机航拍的照片,照片进行三维重建生产模型,一些情况下照片中是自带有GPS数据信息的,而另一些情况则是会导出一组无定位信息的照片和对应的pos数据文本。前者我们直接新建区块,把照片直接导入给软件跑出结果就ok了。那么,这次我们主要来谈论研究第二种情况,即照片和pos分开的情况。
(一)区块导入表格的编辑
区别于第一种情况我们需要编辑下导入区块的表格,我们将照片的文件路径、参考坐标系、传感器的基本信息等信息嵌入到这个表格里,通过它来实现对照片和pos信息数据的导入。后面的操作处理是跟直接导入照片的方法是没有差别的。
首先,我们看到原始数据的文件夹如下图所示,包括一组照片和相应的pos文件:

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

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

结果如下:

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

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

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

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

到这一步为止,区块导入的表格就算编辑完毕了。
(二)创建工程
打开Smart3D软件,输入工程名称和存储路径,这里注意不要勾选创建空区块,因为我们需要直接导入表格来导入区块,示意图如下:

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

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

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

可以看到,一个工作区块被顺利导入,接下来就可以开始处理工作了。
(三)空三处理
区块导入之后,首先要对照片组做个检查,查看是否有丢失的情况:

检查无误即可接着处理,否则返回照片组重新整理。
如下图可以看到,之前的区块导入的表格关于影像组的基本信息都体现出来了:

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

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

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

输入空三名称:

选择定位方式:

设置默认当前参数:

提交后,准备空三处理:

开启Engine,空三处理开始:

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

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

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

(四)重建生成模型
点击提交重建按钮:

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

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


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

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

一切准备就绪:

提交生成模型:

输入模型名称:

选择模型种类:

生成OSGB的三维模型:

选择全部的区块生成:

指定模型的保存路径:

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

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

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

四、网络发布
对于由多个Tile组成的OSGB格式的Production数据,Acute3D viewer浏览工具是无法直接同时加载浏览整体的三维模型的。这里介绍一个简单直接的方法——通过Wish3D网络发布三维数据。
1.将成果文件夹中的data文件夹打包为ZIP压缩包:

2.在www.wish3d.com上传:

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

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

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

Wish3D已出品的Smart3D系列教程如下,在微信公众号的历史消息中可以查看,欢迎大家关注Wish3D。
- 《浅谈无人机倾斜摄影建模的原理和方法》
- 《为什么三维重建效果这么差?——探探那些被忽略的拍照要求和技巧》
- 《论照片三维重建中Smart3D几个工作模块的功能意义》
- 《案例实战演练1——小物件的照片三维重建》
- 《案例实战演练2——大区域的地形三维重建》
Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》的更多相关文章
- Smart3D系列教程6之 《案例实战演练3——倾斜数据正射影像及DSM的生产》
一.前言 Wish3D出品的系列教程中,前面两讲分别讲述说明了小物件的照片三维重建.大区域地形的三维重建,从照片的直接导入至软件到通过Excel表格将区块导入处理,从不同的模型类别.不同的导入方式演示 ...
- Smart3D系列教程4之 《案例实战演练1——小物件的照片三维重建》
一.前言 Wish3D出品的Smart3D系列教程已经推出3讲了,分别是关于倾斜摄影三维建模原理应用.照片采集技巧.Smart3D各个功能模块的作用,它们都是围绕Smart3D建模软件进行的讲解.那么 ...
- Smart3D系列教程7之 《手动配置S3C索引加载全部的瓦片数据》
一.前言 迄今为止,Wish3D已经出品推出了6篇系列教程,从倾斜摄影的原理方法.采集照片的技巧.Smart3D各模块的功能应用.小物件的照片重建.大区域的地形重建到DSM及正射影像的处理生产,立足于 ...
- Smart3D系列教程3之 《论照片三维重建中Smart3D几个工作模块的功能意义》
[摘要] 近年来,倾斜摄影测量技术是国际测绘遥感领域近年发展起来的一项高新技术,利用照片进行三维重建成为一项关键性的技术.Smart3D软件,是照片三维重建主流软件之一,本文将就Smart3D建模软件 ...
- Smart3D系列教程2之 《为什么三维重建效果这么差?——探探那些被忽略的拍照要求和技巧》
一.照片采集的实用概念 根据照片进行三维重建的过程中,有人没怎么遇到坑,有人被坑的不轻.可能是模型的纹理失真,模型的法线错了,模型会生成我们各种也想不到的结果,那么,是什么导致三维重建效果这么差的?是 ...
- Smart3D系列教程1之《浅谈无人机倾斜摄影建模的原理与方法》
一.引言 倾斜摄影测量技术是国际测绘遥感领域近年发展起来的一项高新技术,以大范围.高精度.高清晰的方式全面感知复杂场景,通过高效的数据采集设备及专业的数据处理流程生成的数据成果直观反映地物的外观.位置 ...
- Smart3D系列教程8之 《模型合并——相邻地区多次建模结果合并》
迄今为止,Wish3D已经出品推出了7篇系列教程,从倾斜摄影的原理方法.采集照片的技巧.Smart3D各模块的功能应用.小物件的照片重建.大区域的地形重建到DSM及正射影像的处理生产,立足于建模软件的 ...
- NetworkX系列教程(10)-算法之二:最小/大生成树问题
小书匠 Graph 图论 重头戏部分来了,写到这里我感觉得仔细认真点了,可能在NetworkX中,实现某些算法就一句话的事,但是这个算法是做什么的,用在什么地方,原理是怎么样的,不清除,所以,我决定 ...
- 【全网最全的博客美化系列教程】08.自定义地址栏Logo
全网最全的博客美化系列教程相关文章目录 [全网最全的博客美化系列教程]01.添加Github项目链接 [全网最全的博客美化系列教程]02.添加QQ交谈链接 [全网最全的博客美化系列教程]03.给博客添 ...
随机推荐
- Python使用TuShare将股票数据保存到Oracle数据
TuShare是个获取股票数据的模块包,我们进行分析,需要将股票数据保存到本地,避免每次都从网上获取,由于本机装有ORCALE,以ORACLE为例介绍如何保存股票数据到本地. 一.大致思路:我们先获取 ...
- 序列化,反序列化和transient关键字
一.序列化和反序列化的概念 序列化:指把java对象转换为字节序列的过程. 反序列化:指把字节序列恢复为java对象的过程. 对象的序列化主要有两种用途: 1) 把对象的字节序列保存到硬盘上,通常存放 ...
- 用极简方式实现新浪新版本特性展示效果--view的图片轮播
在发布版本的时候,大多数软件会在第一次使用新版本时候弹出视图用几张图片给用户做一个新版本特性介绍,最简单如下图新浪的版本特性介绍 由于图片是全屏展示且是左右滑动,大多数情况开发者会选择使用scroll ...
- Linux下memcache的安装和启动
memcache是高性能,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度.据说官方所说,其用户包括twitter.digg.flickr等,都是些互联网大腕呀.目前用memca ...
- hbase 的体系结构
hbase的服务体系遵从的是主从结构,由HRegion(服务器)-HRegionServer(服务器集群)-HMaster(主服务器)构成, 从图中能看出多个HRegion 组成一个HRegionSe ...
- 111. for(元素变量x:遍历对象obj)
package com.chongrui.test;/* * for(元素变量x:遍历对象obj){ * 引用X的java语句 * * } * * * */public class test { ...
- SecureCRT如何与Linux虚拟机进行关联
首先在宿主机上确认虚拟网卡是否正确工作,并查看其IP地址,如本例中,宿主机的虚拟网卡VMnet8的IP地址为:192.168.121.1/24. VMnet8是VMware用于NAT连接的虚拟网卡. ...
- Remove Duplicates from Sorted Array II
题目简述 Follow up for "Remove Duplicates": What if duplicates are allowed at most twice? For ...
- [OPENCV] 第一个程序 识别颜色
它可以鉴别出图像中含有给定颜色的所有像素,该算法输入的是图像以及颜色,并返回表示含有指定颜色的像素的二值图像.该算法还需要指定另外一个参数,即对颜色偏差的容忍度. 实现效果 实现后 #include ...
- 基本术语表【WF】
术语 定义 activity(活动) Windows Workflow Foundation 中的程序行为单元. 可将单个活动组合在一起,形成更复杂的活动. activity action(活动操作) ...