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 系列教程(二) 史上最屌.你不 ...
随机推荐
- NIO及Reactor模式
关于Nio Java NIO即Java Non-blocking IO(Java非阻塞I/O),是Jdk1.4之后增加的一套操作I/O工具包,又被叫做Java New IO. Nio要去解决的问题 N ...
- nginx 反向代理 公用一个外网端口
服务器:ubuntu 配置nginx代理有2个文件,分别是sites-enabled 和sites-available. 路径都在/etc/nginx下,sites-enabled为sites-ava ...
- 数据库 之MySQL 简单教程
So Easy系列之MySQL数据库教程 1. 数据库概述 1.1. 数据库概述 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和 ...
- 修改linux的系统时间和时区
时间: date命令将日期设置为2016年12月16日 ---- date -s 12/16/16 将时间设置为9点28分50秒 ---- date -s 09:28:50 时区: tzsel ...
- Ruby数组
Ruby数组是有序的,任何对象的整数索引的集合.每个数组中的元素相关联,并提取到的一个索引.下标与C或Java相似,从0开始.负数索引假设数组末尾,也就是说-1表示最后一个元素的数组索引,-2是数组中 ...
- UTF-8编码规则(转)
from:http://www.cnblogs.com/chenwenbiao/archive/2011/08/11/2134503.html UTF-8是Unicode的一种实现方式,也就是它的字节 ...
- BMW
tc金游世界单登陆允许服务 tc金游世界注册机允许服务 tc金游辅助智能游戏清分允许服务[智能游戏] tc金游辅助挂机王清分允许服务[游辅助挂机清分] tc金游世界王自动打牌允许服务[自动打牌] tc ...
- 第五课 CSS3 and H5 知识点
概要:CSS3美化样式.自定义字体图标.滤镜设置.CSS3选择器.transform2D转换.新增表单控件.vaild表单验证.表单样式美化等. 属性选择器: E[attr]只使用属性名,但没有确定任 ...
- (4)WebApi 跨域问题
在做Web开发中,常常会遇到跨域的问题,到目前为止,已经有非常多的跨域解决方案. 通过自己的研究以及在网上看了一些大神的博客,写了一个Demo 首先新建一个webapi的程序,如下图所示: 由于微软已 ...
- Win10 UI入门 圆形控件
动态模版绑定 http://blog.csdn.net/XXChen2/article/details/4552554