【摘要】
近年来,倾斜摄影测量技术是国际测绘遥感领域近年发展起来的一项高新技术,利用照片进行三维重建成为一项关键性的技术。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的图标和主界面:
工程
一个工程管理着所有与它对应场景相关的处理数据。工程项由区块列表和工程选项组成,分别通过两个选项卡管理:
概述选项卡中显示项目当前状态的环境信息,项目信息面板并管理项目区块列表。
选项选项卡中包含了对集群网格化运算相关的选项。在计算机集群环境时,工作队列中的目录必须使用网络路径,如下图,且要与Setting中的指定目录一致,才能使各个通过局域网连接的运算节点正确地获取原始影像、读取工程文件以及输出模型到制定的目录。当工程文件路径、影像文件、作业队列目录、生产输出目录是非网络路径的话,在处理的时候会出现警告的提示语。
区块
工程包含一个或多个区块作为子项,一个区块管理着一系列用于一个或多个三维重建的输入图像与其属性信息,这些属性信息包括传感器尺寸、焦距、主点、透镜畸变以及位置与旋转等姿态信息:
简言之,一组无损坏有精度的符合支持格式的且与其他影像有一定连续重叠度的照片就可以组成一个区块。对于一个区块,可以对它有如下操作:
导入:从XML文件中导入区块
导出:区块可以以KML或XML格式导出
拆分:将较大的航飞区块拆分成较小区块
提取:从区块中提取部分指定区块
加载/卸载:从活动的工程中加载/卸载区块
基于影像组的区块选项卡:
- General
这个选项卡下显示的是影像添加的状态,同时提交空三处理的按钮也在这个界面:
- Photos
添加影像,其一直接导入符合要求的一组照片,其二导入含有一系列符合照片的文件夹,其三将含有相片信息的表格导入成新的区块。为获得最佳性能和效果,导入的影像必须被分入一个或多个影响组。同一个相机拍摄的且有完全一样的内部定向(影像尺寸、传感器大小、焦距等)的影像分为一个影像组。如果影像按照拍摄的相机存放在不同的子目录下,Smart3D可以自动确定相关的影像组。
前三个按钮是对影像的添加删除,第四个按钮Set downsampling设置缩减像素采样,可以用于快速生产三维模型草图或在使用较低的硬件配置,这不会改变输入的源影像。第五个按钮Check image files检查输入影像的完整性,这个工具检查整个区块的影像,查找出丢失的或者损坏的影像文件,为了方便,如果检查出无效的影像文件,一般都是从区块中删除。
- Control points
控制点选项卡可以对区块的控制点进行编辑和浏览。控制点是空中三角测量中辅助性的定位信息,是可选择的,对区块添加控制点能够是模型具有更加准确的空间地理精度,避免长距离的几何失真。
有效的控制点集合需要包含3个或者以上的控制点,且每个控制点均需要2张以上的影像刺点。
- Tie points
同名点的添加可以手动添加,也可以软件自动生成:
- 3D view
三维预览选项卡可以观察预览影像的视野、位置与旋转角和同名点的三维位置颜色。三维预览只有在区块已经部分获知图像位置信息时才可使用,并且是以点的形式出现:
基于空三的区块选项卡
基于空三的选项卡和没进行空三处理前的选项卡是差不多的,但是其中影像和控制点的选项将是只读状态,不能再次编辑。
基于三维重建的区块选项卡
- General
概要选项卡显示三维重建的完成状态:
- Spatial Framework
这个选项卡可以看到重建范围、所分的瓦片数、纹理大小以及进行生产三维模型计算机所需的最小内存:
- Reconstruction Constraints
重建限制选项卡中可以加入一些限制条件,参与模型平差,生成产品:
- Reference 3D model
这里可以进行瓦片导入替换,删除,这些操作具体会在后续的教程中体现,Wish3D微信公众号(文章底部有二维码)会第一时间推送。
- Processing settings
处理过程中的相关设置,这个选项卡中得以体现,一般是选择默认参数,这个参数配置可以另存下来以备下次使用:
基于生成模型的区块选项卡
- General
基于模型的区块概要主要体现生成模型的状态、个瓦片的生成状态,在这里也可以在viewer里打开浏览,打开数据的存储目录:
- Properties
模型的各种基本信息都可以在这个选项卡中查阅,比如模型名称、存放地址、压缩比、坐标等等。
二、ContextCapture Engine
Engine是Smart3D的运算模块。在后台运行不需要交互。当没有运算三任务时,该模块会自动抓取并执行等待的任务,抓取顺序取决于任务的优先级。这个任务可能是空三运算,也可能是三维重建任务,引擎端会做大量的计算机密集工作,比如关键点提取、自动连接点匹配、光束平差、稠密影像匹配、鲁棒三维重建、无缝纹理映射、Atlas纹理打包、LOD生成等等。
如下图,点击Engine桌面端即可启动,关闭即可结束。
任何正在运行的任务都会交还给任务序列,任务状态变回等待,优先级也是保持之前的状态,等待任务会保留任务序列,等待下次Smart3D引擎端开启时再被处理。它会监听任务序列,这个任务序列可以通过Settings进行设置。
默认情况下,引擎端可以同时处理空三和重建任务,但是每台电脑只能运行一个引擎。在实际的生产过程中,特别是集群处理时,往往需要执行特定的任务,此时可以只进行空三运算或者只运行重建任务。
任务序列文件夹包含以下的文件夹:
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里的菜单栏找到:
通过SceneComposer编辑S3C场景的索引文件,可以来重新设置三维场景或者增加相关场景信息。
它的主要功能:
1、编辑场景中相关的瓦片列表:
一个S3C场景由众多瓦片构成。可以从场景中增加或者移除瓦片,如果坐标系是一致的,可以将不同的数据整合到同一个场景中。外部的OBJ也可以导入到场景中,但是较大的OBJ文件可能会导致数据浏览缓慢,这是因为OBJ文件没有LOD。
2、添加名称和标志:
这里可以设置场景名称和数据版权信息,编辑场景名称之后显示在Viewer界面的右上角。除此之外,还可以编辑场景标志图片,同时显示在Viewer界面的右下角。
3、编辑参考坐标系统
4、选择默认浏览模式,这里可以重置,针对不同的人群有自定义设置。
5、配置网络发布
通过SceneComposer可以设置一个访问远程服务器的S3C场景文件,添加网络服务器的根URL。利用并行连接来下载三维场景的每个节点,保证流畅性。可以设置连接的最大并发数。如下图:
6、编辑高级选项,场景的设置和编辑也可以通过命令行进行。
四、ContextCapture Settings
ContextCapture Settings是软件的许可认证和系统信息工具,任务队列的路径设置也在这里:
Configuration里的作业队列的路径目录需要与Master里的工程选项卡里的路径保持一致,如下图:
只有保持一致时,启动引擎时,任务才会正常开始运行。
五、Acute3D Viewer
Acute3D Viewer是个免费版、轻量级的可视化软件。它对Acute3D的私有格式文件进行了优化,可以处理LOD,分页缓存和流数据。因此可以显示兆兆量级的本地或者在线三维数据。也可以配合Master在工作流中控制生产质量。
注意到的是,Viewer需要被单独安装,这个可以免费下载,安装包有Win64,Win32以及Mac OsX64位。(关注Wish3D微信公众号回复“3”即可免费获取)
Viewer可以读取这些三维格式:A3D(Smart3D实景建模大师的内部文件),OBJ,PLY,OSGB。
浏览模型时有三种方式可选:
模型也可以分为点云、网格和赋有纹理的模型来浏览:
工具栏里有测量和瓦片选择功能:
其中瓦片选择对话框中,可以加载区块、将选中的区块另存下来作为后续的处理:
【结语】
综上所述,就是关于Smart3D建模软件里的各个桌面端功能,它们之间一个连着一个,紧密联系配合运算三维重建过程。那么,在实际的照片三维重建过程中,这些模块又有哪些注意事项?如何能够通过这些模块成功重建出三维模型?接下来,我会在下周同一时间(每周三下午)在Wish3D微信公众号推出Smart3D系列教程4之《案例实战演练1——小物件的照片三维重建》,欢迎大家一起探讨交流!
Wish3D出品:
- Smart3D系列教程1之 《浅谈无人机倾斜摄影建模的原理和方法》http://www.cnblogs.com/sunnyCXX/p/6073905.html
- Smart3D系列教程2之 《为什么三维重建效果这么差?——探探那些被忽略的拍照要求和技巧》http://www.cnblogs.com/sunnyCXX/p/6101947.html
- Smart3D系列教程3之 《论照片三维重建中Smart3D几个工作模块的功能意义》http://www.cnblogs.com/sunnyCXX/p/6120753.html
【参考】
Smart3D实景建模大师学习手册