Smart3D系列教程4之 《案例实战演练1——小物件的照片三维重建》
一、前言
Wish3D出品的Smart3D系列教程已经推出3讲了,分别是关于倾斜摄影三维建模原理应用、照片采集技巧、Smart3D各个功能模块的作用,它们都是围绕Smart3D建模软件进行的讲解。那么,在这次的第四讲中,我们将通过实际建模操作,围绕小物件照片的三维重建来说明Smart3D建模软件的处理流程。
二、工具材料
Smart3D建模软件、手机、茶叶罐、报纸
三、方法步骤
(一)拍照
本次实战演练是关于小物件的照片三维重建,基于较好的建模效果,我们需要选择一个有色彩识别度且不透明的小物件,因此选择了身边符合条件的茶叶罐。如下图所示:
这里看到茶叶罐是放置在透明玻璃茶几上的,大家知道透明的物体是不能参与重建的,因为其不反射任何的光源波段,对照片重建有一定的阻碍作用。加上需要对建模物体加上一个位置参考,可以在茶叶罐的下面垫了张报纸。
接下来,开始通过手机照相机围绕茶叶罐开始环拍了。一般来说,连续影像之间的重叠部分应该超过60%。物体的同一部分的不同拍摄点间的分隔应该小于15度。对于简单的小物件,单反或手机拍摄可以环绕式地从物体周围均匀分隔地采集影像。为了保留更多的物体细节,需要保证一定的重叠度,这次是手握手机在同一高度,围绕茶叶罐每隔半步摄取一张照片,一共有27张相片,大致示意图如下:
更多的照片采集要求及技巧可以参考Smart3D系列教程2之 《为什么三维重建效果这么差?——探探那些被忽略的拍照要求和技巧》 (关注wish3d微信公众号查看历史消息)
照片采集结束,将手机里的相应相片导入到电脑中,新建工程文件夹,如下图:
检查一下茶叶罐还有哪些部位没被拍到或者角度重叠度异常,若有问题,返回补拍,若一切正常,那么到这一步,三维重建中的照片采集任务就完成了,下面就该转移到软件操作中去了。
(二)三维重建
添加照片
打开ContextCaputure Master,添加之前拍摄的全部照片:
添加完毕,结果如图:
照片导入之后需要对影像组进行检查,看看是否有丢失的照片,操作如下图:
影像组照片检查正常,否则就需要重新整理下原始照片了:
进入3D view板块检查照片位置是否正确:
控制点和连接点可以在这一步中添加,由于茶叶罐属于小物件,这里就先不加了。
空三运算
一切检查无误之后,回到General板块,点击提交空三按钮:
输入空三名称:
选择定位模式,默认是选用照片的定位数据,这项主要适用于航拍的大范围,针对小物件这里选择第二种自动定位:
其他的参数大多数情况都是默认当前状态:
最后点击提交按钮,准备空三处理:
接着需要打开引擎,空三运算处理这才正式开始:
26张片子大概几分钟就可以空三处理完毕,General板块可以看到空三结果精度报告,如下图:
这时可以看到,影像组里的照片都已定位成功:
3D view版块中,可以看到照片和模型的相对位置示意图,并且点击照片可以预览到照片和在模型中的范围:
重建生成
空三处理完毕无误之后,回到General板块,点击提交重建按钮:
准备生成模型:
这边提一下上图的Spatial framework板块,这里面可以将数据分块生成,加快了处理速度,这次生成的是小物件模型,无需分块,在大面积的航拍数据,尤其是集群处理时,需要做到规则分块,使得每台机器的RAM在最大RAM期望值以下。
另外,这个版块下还可以手动设置模型生成的范围,通过拉伸按钮沿着XYZ坐标轴来设定:
一切设置完毕后,点击提交生成产品按钮:
输入模型名称及详细信息:
选择模型类型,第一行3D mesh就是三维模型了:
选择模型数据格式、设置纹理压缩比和节点大小:
这里我们生成OSGB格式。其他还有这些格式,前三种是最常用的格式:
输入生成模型的存储路径:
保持Engine在打开状态,提交生成,最后的三维模型就在处理中了。
处理完毕后,General版块:
打开模型数据的存储目录:
Properties版块里可以看到关于模型的所有处理详细信息:
(三)模型预览
对于OSGB格式的数据,这里给出两种预览可视化的方法:
1) 在Smart3D中可以生成S3C数据,而这种格式的数据是可以通过Acute3D viewer打开浏览三维模型场景的,那么,如何将生成的OSGB数据创建一个S3C索引继而在viewer里加载呢?大家可以看看下面链接中的帖子就会明了:
http://www.cnblogs.com/sunnyCXX/p/6042675.html
模型效果如下图:
2) 上述的方法耗时较长且步骤繁杂,接下来大家介绍一个直接的方法:将成果文件夹中的data文件夹打包为ZIP压缩包:
在www.wish3d.com上传:
编辑完作品信息后,上传成功的模型效果如下图:
四、注意事项
在本次处理的过程中,有如下几点需要重点强调:
1、照片采集时,建模物体的下方一定需要放置一个具有标识性的参考物,可以是报纸、书本等等。
2、对物体拍照时,一定需要保证60%及以上的重叠度,本次实验为了速度只拍了一圈,大家可以试试上下拍两圈,建模效果会增色不少。
3、空三处理阶段:
最好是选择默认定位,这样出来的模型姿态是正常的,选择照片自有的定位信息空三处理的话,会出现这样的效果:
是不是很多人在处理时都有出现这样的情况?
4、空三处理和重建生成三维模型时确保Engine是工作状态。
以上就是对于小物件(茶叶罐)从照片采集到生成处理模型的这一整个流程了,感兴趣想试一试的朋友可以关注Wish3D微信公众号回复4即可获得本次的原始照片及成果文件,有疑问的朋友欢迎加入QQ交流群516635556讨论交流。接下来,我会在下周同一时间(每周三下午)Wish3D微信公众号即将推出Smart3D系列教程5之《案例实战演练2——大区域的地形三维重建》,我们不见不散!
Wish3D已出品的Smart3D系列教程如下,在微信公众号的历史消息中可以查看,欢迎大家关注Wish3D。
- 《浅谈无人机倾斜摄影建模的原理和方法》
- 《为什么三维重建效果这么差?——探探那些被忽略的拍照要求和技巧》
- 《论照片三维重建中Smart3D几个工作模块的功能意义》
- 《案例实战演练1——小物件的照片三维重建》
Smart3D系列教程4之 《案例实战演练1——小物件的照片三维重建》的更多相关文章
- Smart3D系列教程6之 《案例实战演练3——倾斜数据正射影像及DSM的生产》
一.前言 Wish3D出品的系列教程中,前面两讲分别讲述说明了小物件的照片三维重建.大区域地形的三维重建,从照片的直接导入至软件到通过Excel表格将区块导入处理,从不同的模型类别.不同的导入方式演示 ...
- Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》
一.前言 Wish3D出品的Smart3D系列教程中,前面一讲说明了小物件的照片三维重建,相信大家对建模的流程有了一定的了解.这次讲解中,我们将演示说明以一组无人机倾斜摄影照片为原始数据,通过Smar ...
- Smart3D系列教程7之 《手动配置S3C索引加载全部的瓦片数据》
一.前言 迄今为止,Wish3D已经出品推出了6篇系列教程,从倾斜摄影的原理方法.采集照片的技巧.Smart3D各模块的功能应用.小物件的照片重建.大区域的地形重建到DSM及正射影像的处理生产,立足于 ...
- Smart3D系列教程3之 《论照片三维重建中Smart3D几个工作模块的功能意义》
[摘要] 近年来,倾斜摄影测量技术是国际测绘遥感领域近年发展起来的一项高新技术,利用照片进行三维重建成为一项关键性的技术.Smart3D软件,是照片三维重建主流软件之一,本文将就Smart3D建模软件 ...
- Smart3D系列教程2之 《为什么三维重建效果这么差?——探探那些被忽略的拍照要求和技巧》
一.照片采集的实用概念 根据照片进行三维重建的过程中,有人没怎么遇到坑,有人被坑的不轻.可能是模型的纹理失真,模型的法线错了,模型会生成我们各种也想不到的结果,那么,是什么导致三维重建效果这么差的?是 ...
- Smart3D系列教程1之《浅谈无人机倾斜摄影建模的原理与方法》
一.引言 倾斜摄影测量技术是国际测绘遥感领域近年发展起来的一项高新技术,以大范围.高精度.高清晰的方式全面感知复杂场景,通过高效的数据采集设备及专业的数据处理流程生成的数据成果直观反映地物的外观.位置 ...
- Smart3D系列教程8之 《模型合并——相邻地区多次建模结果合并》
迄今为止,Wish3D已经出品推出了7篇系列教程,从倾斜摄影的原理方法.采集照片的技巧.Smart3D各模块的功能应用.小物件的照片重建.大区域的地形重建到DSM及正射影像的处理生产,立足于建模软件的 ...
- 挑战全网最幽默的Vuex系列教程:第五讲 Vuex的小帮手
先说两句 前面已经讲完了 Vuex 下的 State.Getter.Mutation 及 Action 这四驾马车,不知道大家是否已经理解.当然,要想真正熟练掌握的话,还是需要不断的练习和动手实践才行 ...
- 屌炸天实战 MySQL 系列教程(二) 史上最屌、你不知道的数据库操作
此篇写MySQL中最基础,也是最重要的操作! 第一篇:屌炸天实战 MySQL 系列教程(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:屌炸天实战 MySQL 系列教程(二) 史上最屌.你不 ...
随机推荐
- jquery中on绑定事件
之前项目中动态创建的标签元素 在绑定事件的时候 都是无效 无论如何都不能触发 eg:在页面加载完成之后 再由脚本动态创建的<div>元素 在绑定事件的时候 例如click事件 ...
- 土地购买(bzoj 1597)
Description 农夫John准备扩大他的农场,他正在考虑N (1 <= N <= 50,000) 块长方形的土地. 每块土地的长宽满足(1 <= 宽 <= 1,000, ...
- Sublime Text 基础配置
作为一个码农,总有一款自己喜爱的编辑器.现今,我最喜欢的编辑器便是Sublime Text 3.其实很早便用了这款编辑器,大概是在两年前就开始用了吧.可总没有好好去学习下,很多很多功能不知道.今天下午 ...
- C/C++调试工具gdb
关于Gdb的使用,请参考:http://blog.csdn.net/haoel/article/details/2879
- TFS API:三、TFS WorkItem添加和修改、保存
TFS API:三.TFS WorkItem添加和修改.保存 WorkItemStore:表示跟踪与运行 Team Foundation Server的服务器的工作项客户端连接. A.添加工作项 1 ...
- PHPCMS v9 安全防范教程
一.目录权限设置很重要:可以有效防范黑客上传木马文件.如果通过 chmod 644 * -R 的话,php文件就没有权限访问了.如果通过chmod 755 * -R 的话,php文件的权限就高了. 所 ...
- Js 日期转换函数(UTC时间转换及日期想加减)
IOS上Js日期转换中new Date("yyyy-mm-dd")不能正常工作,必须使用new Date("yyyy/MM/dd"); 日期相加减: Date. ...
- [WPF]WPF Data Virtualization和UI Virtualization
这篇博客将介绍WPF中的虚拟化技术. 1. Data Virtualization 通常情况下我们说数据虚拟化是指数据源没有完全加载,仅加载当前需要显示的数据呈现给用户.这种场景会让我们想到数据分页显 ...
- Memo
1.Webpack: node_modules/css/index.js didn't return a function npm install css-loader style-loader ...
- Asp.Net中使用OpenRowSet操作Excel表,导入Sql Server(实例)
有两种接口可供选择:Microsoft.Jet.OLEDB.4.0(以下简称 Jet 引擎)和Microsoft.ACE.OLEDB.12.0(以下简称 ACE 引擎). Jet 引擎大家都很熟悉,可 ...