一、引言

倾斜摄影测量技术是国际测绘遥感领域近年发展起来的一项高新技术,以大范围、高精度、高清晰的方式全面感知复杂场景,通过高效的数据采集设备及专业的数据处理流程生成的数据成果直观反映地物的外观、位置、高度等属性,为真实效果和测绘级精度提供保证。同时有效提升模型的生产效率。三维建模在测绘行业、城市规划行业、旅游业、甚至电商业等的行业应用越来越广泛,越来越深入。

无人机航拍不再是大众陌生的话题,商场到处可见的DJI商店,各种厂商的无人机也是层出不穷,这将无人机倾斜数据建模推到了一个关键性的阶段。

二、倾斜摄影原理概述

倾斜摄影技术,通过在同一飞行平台上搭载多台传感器(目前常用的是五镜头相机)。同时从垂直、倾斜等不同角度采集影像,获取地面物体更为完整准确的信息。垂直地面角度拍摄获取的是垂直向下的一组影像,称为正片,镜头朝向与地面成一定夹角拍摄获取的四组影像分别指向东南西北,称为斜片。 摄取范围如下图:

在建立建筑物表面模型的过程中,下图可以看到,相比垂直影像,倾斜影像有着显著的优点,因为它能提供更好的视角去观察建筑物侧面,这一特点正好满足了建筑物表面纹理生成的需要。同一区域拍摄的垂直影像可被用来生成三维城市模型或是对生成的三维城市模型的改善。

利用建模软件将照片建模,这里的照片不仅仅是通过无人机航拍的倾斜摄影数据,还可以是单反甚至是手机以一定重叠度环拍而来的,这些照片导入到建模软件中,通过计算机图形计算,结合pos信息空三处理,生成点云,点云构成格网,格网结合照片生成赋有纹理的三维模型。区域整体三维建模方法生产路线图:

到这里,大家大致明白了采集来的照片是如何进过软件处理生成模型的,接下来,大家是不是想说都有哪些软件可以实现三维重建呢?

三、主流照片建模软件介绍及比较

行业里主流的有Bently公司的ContextCapture(Smart3D),俄罗斯Agisoft公司的PhotoScan,瑞士Pix4D公司Pix4D mapper。

这几个建模软件也是各有优缺点,PhotoScan比较轻量级,但是生成的模型纹理效果不是太理想,Smart3D生成的三维模型效果最为理想,人工修复工作量较低,但是软件比较复杂不易上手且价格较高。

下面就这三种软件做一个对比:

这些软件的拔地而起无疑造福了大量的三维爱好者,使得三维重建的门槛大大降低,人人都可以成为三维模型的作者。

下图是这三个主流重建软件的图标:

四、Smart3D的软件概述

目前市面上最常见的,同时也是最难上手最昂贵的软件——Smart3D,现在也叫ContextCapture,它是一套无需人工干预,通过影像自动生成高分辨率的三维模型的软件解决方案。我们所接触到的一般都是纯英文版,这对于软件的普及化学习形成了一定的阻碍,但是近期好像要推出中文汉化包了,请大家关注微信号“Wish3D”(文章结尾有二维码),我们会在第一时间发布中文补丁包。

接下来,我将以Smart3D为中心,从系统原理、软件构成、软硬件要求和建模对象等几个方面逐一和大家交流学习。

4.1 Smart3D软件的总体流程

Smart3D需要以一组对静态建模主体从不同的角度拍摄的数码照片作为输入数据源。

这些照片的额外辅助数据需要:传感器属性(焦距、传感器尺寸、主点、镜头失真),照片的未知参数(如GPS),照片姿态参数(如INS),控制点等等。

它无需人工干预,在几分钟或几小时的计算时间内(根据输入的数据大小),能输出高分辨率的带有真实纹理的三角网格模型,这个三角格网模型能够准确精细地复原出建模主体的真实色泽、几何形态及细节构成。

下面给出一个软件处理数据的工作流程图:

4.2 Smart3D软件的系统架构

Smart3D采用了主从模式(Master-Worker)。

两大模块是ContextCapture Master和ContextCapture Engine。

ContextCapture Master是Smart3D的主要模块。通过图形用户接口,向软件定义输入数据,设置处理过程,提交过程任务,监控这些任务的处理过程与处理结果可视化等。这里注意到,Master并不会执行处理过程,而是将任务分解为基础作业并提交给Job Queue。

ContextCapture Engine是Smart3D的工作模块。它在计算机后台运行,无需与用户交互。当Engine空闲时,一个等待队列中的作业执行,主要取决于它的优先级和任务提交的时间。一个任务通常由空中三角测量和三维重建组成。空中三角测量和三维重建采用不同的且计算量大的密集型算法,如关键点的提取,自动连接点匹配,集束调整、密度图像匹配、鲁棒三维重建、无接缝纹理映射、纹理贴图包装、细节层次生成等等。

可以多台计算机上运行多个ContextCapture Engine,并将它们关联到同一个作业队列中,这样就会大幅降低处理时间。因此有条件的朋友还是选择工作站集群处理比较合适。

很多新手会问:提交空三了怎么不开始或者没反应?会出现下图的情况?

这里注意到,一个任务提交空三处理时,如果此时engine没有打开启动,空三处理将不会开始。

4.3 Smart3D的工具模块

4.3.1 Acute3D Viewer

免费的轻量可视化模块,它可以处理多重精细度模型(LOD)、分页(Paging)和网络流(Streaming),所以,TB级的三维数据能够在本地或离线环境下顺畅地浏览。

Acute3D Viewer支持软件的原生s3c格式来查看浏览模型,它也整合了三维测量工具和瓦片选择工具,测量方面包括三维空间位置、三维距离和高差等信息。这里的瓦片选择工具对于后期模型的核心区域提取和重建都是十分有实用价值的。

4.3.2 Smart3D Settings

用于管理软件授权许可证和相关其他的软件配置。

4.3.3 Smart3D Composer

是为Acute3D Viewer修改设定各种三维格式化工程文件。当需要为osgb数据手动生成索引在Acute3D Viewer中查看时,这个工具就可以派上用场了。

4.4 Smart3D推荐硬件配置

软硬件要求方面,操作系统需要Windows XP/Visa/7/8 64位,至少8G内存和拥有1G显存与512个CUDA核心的NVIDIA GeForce显卡。

建议使用GTX系列显卡。

4.5 Smart3D 建模对象的适用范围

在实际的建模生产过程中,Smart3D 能够针对近至中距离的景物建模,也可以对自然景观的大场景建模,但最适用于复杂的几何形态及哑光图案表面的物体。下面简单列出了建模目标体的基本特征:

在三维数据格式方面,Smart3D可以生成很多的格式,比如s3c、osgb、obj、fbx、dae、stl等,一般用的最多的还是osgb、obj和fbx格式的数据,其中obj和fbx可以在多个建模软件里互导。这些数据格式也可采用成熟的技术快速进行网络发布,比如OSGB格式可以直接在我们Wish3D云平台上传,实现共享应用。在绝大数的情况下,自动生成的三维模型可以直接使用。但是对于一些具体的行业应用,可能就需要使用第三方建模软件比如maya或3dmax等对模型的局部误差进行修饰,再通过retouch操作导入ContextMaster,重新提交新的重建任务。(关于Retouch的操作,我们后续课程中会详细讲解)

五、结束语

好了,这次对Smart3D的原理架构介绍先讲到这里了。关于照片采集技巧以及一些Smart3D建模过程中的关键性设置技巧,之后会陆续更新出来。

感兴趣的朋友可以关注下面的二维码(关注回复“1”获取更多中文学习资料)也可以加QQ群:516635556进行交流。

我将会在下周更新《Smart3D系列教程2—为什么三维重建效果这么差?——探探那些被忽略的拍照要求和技巧》与大家一起交流探讨。

Smart3D系列教程1之《浅谈无人机倾斜摄影建模的原理与方法》的更多相关文章

  1. Smart3D系列教程7之 《手动配置S3C索引加载全部的瓦片数据》

    一.前言 迄今为止,Wish3D已经出品推出了6篇系列教程,从倾斜摄影的原理方法.采集照片的技巧.Smart3D各模块的功能应用.小物件的照片重建.大区域的地形重建到DSM及正射影像的处理生产,立足于 ...

  2. Smart3D系列教程6之 《案例实战演练3——倾斜数据正射影像及DSM的生产》

    一.前言 Wish3D出品的系列教程中,前面两讲分别讲述说明了小物件的照片三维重建.大区域地形的三维重建,从照片的直接导入至软件到通过Excel表格将区块导入处理,从不同的模型类别.不同的导入方式演示 ...

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

    一.前言 Wish3D出品的Smart3D系列教程中,前面一讲说明了小物件的照片三维重建,相信大家对建模的流程有了一定的了解.这次讲解中,我们将演示说明以一组无人机倾斜摄影照片为原始数据,通过Smar ...

  4. Smart3D系列教程4之 《案例实战演练1——小物件的照片三维重建》

    一.前言 Wish3D出品的Smart3D系列教程已经推出3讲了,分别是关于倾斜摄影三维建模原理应用.照片采集技巧.Smart3D各个功能模块的作用,它们都是围绕Smart3D建模软件进行的讲解.那么 ...

  5. Smart3D系列教程3之 《论照片三维重建中Smart3D几个工作模块的功能意义》

    [摘要] 近年来,倾斜摄影测量技术是国际测绘遥感领域近年发展起来的一项高新技术,利用照片进行三维重建成为一项关键性的技术.Smart3D软件,是照片三维重建主流软件之一,本文将就Smart3D建模软件 ...

  6. Smart3D系列教程2之 《为什么三维重建效果这么差?——探探那些被忽略的拍照要求和技巧》

    一.照片采集的实用概念 根据照片进行三维重建的过程中,有人没怎么遇到坑,有人被坑的不轻.可能是模型的纹理失真,模型的法线错了,模型会生成我们各种也想不到的结果,那么,是什么导致三维重建效果这么差的?是 ...

  7. 浅谈dedecms模板引擎工作原理及其自定义标签

    浅谈dedecms模板引擎工作原理: 理解织梦模板引擎有什么意思? 可以更好地自定义标签.更多在于了解织梦系统,理解模板引擎是理解织梦工作原理的第一步. 理解织梦会使我们写PHP代码是更顺手,同时能学 ...

  8. Smart3D系列教程8之 《模型合并——相邻地区多次建模结果合并》

    迄今为止,Wish3D已经出品推出了7篇系列教程,从倾斜摄影的原理方法.采集照片的技巧.Smart3D各模块的功能应用.小物件的照片重建.大区域的地形重建到DSM及正射影像的处理生产,立足于建模软件的 ...

  9. 浅谈使用spring security中的BCryptPasswordEncoder方法对密码进行加密与密码匹配

    浅谈使用springsecurity中的BCryptPasswordEncoder方法对密码进行加密(encode)与密码匹配(matches) spring security中的BCryptPass ...

随机推荐

  1. C语言移位算符">>"

    右移算符>>是将二进制数的每一位右移.如:a=32,a>>2,就是将32的二进制数100000每一个二进制位向右移动两位.得到的是二进制数1000,也就是8. #include ...

  2. WEB端实现打印

    首先需要下载一个JQ插件: 地址: http://files.cnblogs.com/files/SabWoF/jq%E6%89%93%E5%8D%B0%E6%8F%92%E4%BB%B6%E5%AE ...

  3. code first提示已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭解决方法

    使用codefirst查询当然是必不可少的,但有时不小心可能很简单的查询也会导致异常. 下面用codefirst做个示例简单演示下异常发生的场景: var attendlist = db.Databa ...

  4. superSlider实现美女轮播图

    superSlider实现美女轮播图 <!DOCTYPE html><html lang="en"><head><meta charset ...

  5. 如何生成git的公钥和私钥

    转载地址:http://blog.csdn.net/wqjsir/article/details/17386087 一. Git windows 客服端(MsysGit)下载 下载地址:http:// ...

  6. Delphi中ExtractFilePath、ParamStr以及更多文件/目录操作涉及的函数。附加对应的例子

    先介绍ExtractFilePath和ParamStr ParamStr 该函数的原型是:function paramstr(i: Integer): String; 对于任何的application ...

  7. wkhtmltopdf 将网页转换为PDF和图片

    wkhtmltopdf 是一个shell工具,它使用了WebKit渲染引擎和Qt,将网页html转换为pdf的强大工具,转换后的pdf也可以通过pdf工具进行复制.备注.修改 官网下载地址:http: ...

  8. Python学习笔记(3)

      1.元组 元组的定义符号是() ,元素定义与列表完全一致.不同的是元组的内容是不可变的. 2.字典 字典里面的内容是无序的. 字典的元素组成形式是 key:value key的定义规则:key是不 ...

  9. 记录一下折腾webp 的过程

    最近有客户想要处理webp 的动图,情况当然是我们并不能处理webp 格式的图片.这事就交给了我来折腾,一开始想着用瑞士军刀ffmpeg.结果是折腾了差不多一天,前前后后编译了几十次ffmpeg 源码 ...

  10. 安装SVN客户端重启电脑之后,右键未出现SVN选项的原因

    今天安装SVN客户端明明安装成功,电脑也重启过了,但是就是在右键里找不到SVN,百度了很久,删注册表.建用户组之类的方法都试过了,但是都没有效果. 后来才找到真正的原因,我的安装包是32位的,系统是6 ...