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

时间:2022-09-06 22:15:12

【摘要】

近年来,倾斜摄影测量技术是国际测绘遥感领域近年发展起来的一项高新技术,利用照片进行三维重建成为一项关键性的技术。Smart3D软件,是照片三维重建主流软件之一,本文将就Smart3D建模软件,围绕它的几个模块功能:ContextCapture Master、ContextCapture Engine、ContextCapture SceneComposer、ContextCapture Settings、Acute3D Viewer,一一说明阐述各自的功能应用以及配合机制。

【关键词】

Smart3D  ContextCapture  Master  Engine  SceneComposer  Settings  Viewer

【正文】

一、ContextCapture Master

ContextCapture Master作为Smart3D建模软件的主控台,也是建模的主模块,也就是说整个流程都是在ContextCapture Master流水进行的,其他的模块辅助其重建运算。下图是ContextCapture Master的图标和主界面:

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

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

  • 工程

一个工程管理着所有与它对应场景相关的处理数据。工程项由区块列表和工程选项组成,分别通过两个选项卡管理:

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

概述选项卡中显示项目当前状态的环境信息,项目信息面板并管理项目区块列表。

选项选项卡中包含了对集群网格化运算相关的选项。在计算机集群环境时,工作队列中的目录必须使用网络路径,如下图,且要与Setting中的指定目录一致,才能使各个通过局域网连接的运算节点正确地获取原始影像、读取工程文件以及输出模型到制定的目录。当工程文件路径、影像文件、作业队列目录、生产输出目录是非网络路径的话,在处理的时候会出现警告的提示语。

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

  • 区块

工程包含一个或多个区块作为子项,一个区块管理着一系列用于一个或多个三维重建的输入图像与其属性信息,这些属性信息包括传感器尺寸、焦距、主点、透镜畸变以及位置与旋转等姿态信息:

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

简言之,一组无损坏有精度的符合支持格式的且与其他影像有一定连续重叠度的照片就可以组成一个区块。对于一个区块,可以对它有如下操作:

导入:从XML文件中导入区块

导出:区块可以以KML或XML格式导出

拆分:将较大的航飞区块拆分成较小区块

提取:从区块中提取部分指定区块

加载/卸载:从活动的工程中加载/卸载区块

基于影像组的区块选项卡:

  • General

这个选项卡下显示的是影像添加的状态,同时提交空三处理的按钮也在这个界面:

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

  • Photos

添加影像,其一直接导入符合要求的一组照片,其二导入含有一系列符合照片的文件夹,其三将含有相片信息的表格导入成新的区块。为获得最佳性能和效果,导入的影像必须被分入一个或多个影响组。同一个相机拍摄的且有完全一样的内部定向(影像尺寸、传感器大小、焦距等)的影像分为一个影像组。如果影像按照拍摄的相机存放在不同的子目录下,Smart3D可以自动确定相关的影像组。

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

前三个按钮是对影像的添加删除,第四个按钮Set downsampling设置缩减像素采样,可以用于快速生产三维模型草图或在使用较低的硬件配置,这不会改变输入的源影像。第五个按钮Check image files检查输入影像的完整性,这个工具检查整个区块的影像,查找出丢失的或者损坏的影像文件,为了方便,如果检查出无效的影像文件,一般都是从区块中删除。

  • Control points

控制点选项卡可以对区块的控制点进行编辑和浏览。控制点是空中三角测量中辅助性的定位信息,是可选择的,对区块添加控制点能够是模型具有更加准确的空间地理精度,避免长距离的几何失真。

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

有效的控制点集合需要包含3个或者以上的控制点,且每个控制点均需要2张以上的影像刺点。

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

  • Tie points

同名点的添加可以手动添加,也可以软件自动生成:

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

  • 3D view

三维预览选项卡可以观察预览影像的视野、位置与旋转角和同名点的三维位置颜色。三维预览只有在区块已经部分获知图像位置信息时才可使用,并且是以点的形式出现:

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

基于空三的区块选项卡

基于空三的选项卡和没进行空三处理前的选项卡是差不多的,但是其中影像和控制点的选项将是只读状态,不能再次编辑。

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

基于三维重建的区块选项卡

  • General

概要选项卡显示三维重建的完成状态:

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

  • Spatial Framework

这个选项卡可以看到重建范围、所分的瓦片数、纹理大小以及进行生产三维模型计算机所需的最小内存:

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

  • Reconstruction Constraints

重建限制选项卡中可以加入一些限制条件,参与模型平差,生成产品:

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

  • Reference 3D model

这里可以进行瓦片导入替换,删除,这些操作具体会在后续的教程中体现,Wish3D微信公众号(文章底部有二维码)会第一时间推送。

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

  • Processing settings

处理过程中的相关设置,这个选项卡中得以体现,一般是选择默认参数,这个参数配置可以另存下来以备下次使用:

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

基于生成模型的区块选项卡

  • General

基于模型的区块概要主要体现生成模型的状态、个瓦片的生成状态,在这里也可以在viewer里打开浏览,打开数据的存储目录:

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

  • Properties

模型的各种基本信息都可以在这个选项卡中查阅,比如模型名称、存放地址、压缩比、坐标等等。

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

二、ContextCapture Engine

Engine是Smart3D的运算模块。在后台运行不需要交互。当没有运算三任务时,该模块会自动抓取并执行等待的任务,抓取顺序取决于任务的优先级。这个任务可能是空三运算,也可能是三维重建任务,引擎端会做大量的计算机密集工作,比如关键点提取、自动连接点匹配、光束平差、稠密影像匹配、鲁棒三维重建、无缝纹理映射、Atlas纹理打包、LOD生成等等。

如下图,点击Engine桌面端即可启动,关闭即可结束。

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

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

任何正在运行的任务都会交还给任务序列,任务状态变回等待,优先级也是保持之前的状态,等待任务会保留任务序列,等待下次Smart3D引擎端开启时再被处理。它会监听任务序列,这个任务序列可以通过Settings进行设置。

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

默认情况下,引擎端可以同时处理空三和重建任务,但是每台电脑只能运行一个引擎。在实际的生产过程中,特别是集群处理时,往往需要执行特定的任务,此时可以只进行空三运算或者只运行重建任务。

任务序列文件夹包含以下的文件夹:

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

Archive:为用户保留的用来保存任务的文件夹

Cancelled:包含被用户取消的任务

Completed:包含已经完成的任务

Engines:包含与当前任务路径相关联的全部引擎端

Failed:包含处理失败的任务

Pending:包含等待被处理的任务,引擎端会查找文件夹中的任务

Running:包含正在被处理的任务

因此,可以直接通过Windows文件管理器进行任务管理。

取消一个等待的任务:将任务文件从Pending剪切到Cancelled

改变任务的优先级:将任务文件在Pending中的各个LOW/Nomal/High子文件中进行互相调动,切勿放入Pending根目录下

重新开始一个任务:将任务文件从Cancelled或者Failed剪切到Running

清空失败或者取消的任务:将任务文件从Failed或者Cancelled文件夹删除

清空已完成的任务:将任务文件从Completed删除

重置引擎端:将任务文件从Engines文件夹删除

三、ContextCapture SceneComposer

SceneComposer是Smart3D Viewer的项目编辑工具。它可以在程序列表里找到,也可以在Viewer里的菜单栏找到:

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

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

通过SceneComposer编辑S3C场景的索引文件,可以来重新设置三维场景或者增加相关场景信息。

它的主要功能:

1、编辑场景中相关的瓦片列表:

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

一个S3C场景由众多瓦片构成。可以从场景中增加或者移除瓦片,如果坐标系是一致的,可以将不同的数据整合到同一个场景中。外部的OBJ也可以导入到场景中,但是较大的OBJ文件可能会导致数据浏览缓慢,这是因为OBJ文件没有LOD。

2、添加名称和标志:

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

这里可以设置场景名称和数据版权信息,编辑场景名称之后显示在Viewer界面的右上角。除此之外,还可以编辑场景标志图片,同时显示在Viewer界面的右下角。

3、编辑参考坐标系统

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

4、选择默认浏览模式,这里可以重置,针对不同的人群有自定义设置。

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

5、配置网络发布

通过SceneComposer可以设置一个访问远程服务器的S3C场景文件,添加网络服务器的根URL。利用并行连接来下载三维场景的每个节点,保证流畅性。可以设置连接的最大并发数。如下图:

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

6、编辑高级选项,场景的设置和编辑也可以通过命令行进行。

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

四、ContextCapture Settings

ContextCapture Settings是软件的许可认证和系统信息工具,任务队列的路径设置也在这里:

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

Configuration里的作业队列的路径目录需要与Master里的工程选项卡里的路径保持一致,如下图:

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

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

只有保持一致时,启动引擎时,任务才会正常开始运行。

五、Acute3D Viewer

Acute3D Viewer是个免费版、轻量级的可视化软件。它对Acute3D的私有格式文件进行了优化,可以处理LOD,分页缓存和流数据。因此可以显示兆兆量级的本地或者在线三维数据。也可以配合Master在工作流中控制生产质量。

注意到的是,Viewer需要被单独安装,这个可以免费下载,安装包有Win64,Win32以及Mac OsX64位。(关注Wish3D微信公众号回复“3”即可免费获取

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

Viewer可以读取这些三维格式:A3D(Smart3D实景建模大师的内部文件),OBJ,PLY,OSGB。

浏览模型时有三种方式可选:

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

模型也可以分为点云、网格和赋有纹理的模型来浏览:

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

工具栏里有测量和瓦片选择功能:

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

其中瓦片选择对话框中,可以加载区块、将选中的区块另存下来作为后续的处理:

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

【结语】

综上所述,就是关于Smart3D建模软件里的各个桌面端功能,它们之间一个连着一个,紧密联系配合运算三维重建过程。那么,在实际的照片三维重建过程中,这些模块又有哪些注意事项?如何能够通过这些模块成功重建出三维模型?接下来,我会在下周同一时间(每周三下午)在Wish3D微信公众号推出Smart3D系列教程4之《案例实战演练1——小物件的照片三维重建》,欢迎大家一起探讨交流!

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

Wish3D出品:

【参考】

Smart3D实景建模大师学习手册

Smart3D系列教程3之 《论照片三维重建中Smart3D几个工作模块的功能意义》的更多相关文章

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

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

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

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

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

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

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

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

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

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

  6. Smart3D系列教程1之《浅谈无人机倾斜摄影建模的原理与方法》

    一.引言 倾斜摄影测量技术是国际测绘遥感领域近年发展起来的一项高新技术,以大范围.高精度.高清晰的方式全面感知复杂场景,通过高效的数据采集设备及专业的数据处理流程生成的数据成果直观反映地物的外观.位置 ...

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

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

  8. Unity3D系列教程--使用免费工具在Unity3D中开发2D游戏 第一节

    声明:   本博客文章翻译类别的均为个人翻译,版权全部.出处: http://blog.csdn.net/ml3947,个人博客:http://www.wjfxgame.com. 译者说明:这是一个系 ...

  9. Spring Boot2 系列教程(三)理解 Spring Boot 项目中的 parent

    前面和大伙聊了 Spring Boot 项目的三种创建方式,这三种创建方式,无论是哪一种,创建成功后,pom.xml 坐标文件中都有如下一段引用: <parent> <groupId ...

随机推荐

  1. Android内存优化之 LruCache与DiskLruCache

    在日常的Adroid开发中我们经常遇到需要处理大量图片的地方,但Android手机的内存有限该怎么避免手机 内存溢出导致app程序oom,google提供了两种解决方式 LruCache LruCac ...

  2. tp5页面输出时,搜索后跳转下一页的处理

    tp5页面输出时,搜索功能在跳转下一页时,如果不做任何处理,会返回原有是第二页输出的数据.为了保证跳转下一页时输出的是搜索到的数据,做以下处理. (要根据自己的搜索字段进行适当修改) 页面js代码,给 ...

  3. Windows上安装Yeoman

    之前直接安装完Node.js后,运行npm install -g yo命令,结果出现什么"要安装framework2.0 sdk,vcbuild"什么的错误,怎么也弄不好,结果是各 ...

  4. 「Poetize9」礼物运送

    3055: 礼物运送 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 18  Solved: 12[Submit][Status] Description ...

  5. P2080 增进感情(背包DP)

    思路:将好感度x+y作为体积, 幸福度x-y作为作为价值, 然后就是一个经典的背包问题了.emmmmm,还可以特判一下,因为幸福度为0时就是最小了,没有必要看后面的了吧. 其实,我自己做的时候,沙雕的 ...

  6. axure--中继器

    *****中继器-repeater*****1.结构:类似于MVC(增删查改)1)中继器数据集:可包括图片.文字.网址(页面)(右键添加,列名尽量使用英 文或拼音) 2)中继器格式:横向.纵向(是否换 ...

  7. Java中获得当前静态类的类名

    通常在打印日志的时候需要输出类名,普通类可以用this.getClass(),但是静态类没有this,直接写类名耦合度高. 参考了: https://*.com/questio ...

  8. Hibernate3&period;3&period;2&lowbar;JUnit&lowbar;BoforeClass不报异常的Bug处理

    假如你把配置文件写错了,myeclipse竟然不报错,只说sf空指针. <mapping class="com.oracle.hibernate.model."/> / ...

  9. linq中将int类型转换为string类型,toString&lpar;&rpar;报错

    今天同事在调试程序的时候,报了一个不寻常的错误, “LINQ to Entities 不识别方法"System.String ToString()",因此该方法无法转换为存储表达式 ...

  10. bzoj3969 &lbrack;WF2013&rsqb;Low Power

    传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3969 [题解] 二分答案x,贪心选取,如果选取了i个,有j对,那么要满足i<=2*j* ...