Smart3D系列教程1之《浅谈无人机倾斜摄影建模的原理与方法》精编版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Smart3D系列教程1之《浅谈无人机倾斜摄影建模的原理与方法》
一、引言
倾斜摄影测量技术是国际测绘遥感领域近年发展起来的一项高新技术,以大范围、高精度、高清晰的方式全面感知复杂场景,通过高效的数据采集设备及专业的数据处理流程生成的数据成果直观反映地物的外观、位置、高度等属性,为真实效果和测绘级精度提供保证。同时有效提升模型的生产效率。三维建模在测绘行业、城市规划行业、旅游业、甚至电商业等的行业应用越来越广泛,越来越深入。
无人机航拍不再是大众陌生的话题,商场到处可见的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格式来查看浏览模型,它也整合了三维测量工具和瓦片选择工具,测量方面包括三维空间位置、三维距离和高差等信息。这里的瓦片选择工具对于后期模型的核心区域提取和重建都是十分有实用价值的。