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

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

一、前言

Wish3D出品的Smart3D系列教程已经推出3讲了,分别是关于倾斜摄影三维建模原理应用、照片采集技巧、Smart3D各个功能模块的作用,它们都是围绕Smart3D建模软件进行的讲解。那么,在这次的第四讲中,我们将通过实际建模操作,围绕小物件照片的三维重建来说明Smart3D建模软件的处理流程。

二、工具材料

Smart3D建模软件、手机、茶叶罐、报纸

三、方法步骤

(一)拍照

本次实战演练是关于小物件的照片三维重建,基于较好的建模效果,我们需要选择一个有色彩识别度且不透明的小物件,因此选择了身边符合条件的茶叶罐。如下图所示:

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

这里看到茶叶罐是放置在透明玻璃茶几上的,大家知道透明的物体是不能参与重建的,因为其不反射任何的光源波段,对照片重建有一定的阻碍作用。加上需要对建模物体加上一个位置参考,可以在茶叶罐的下面垫了张报纸。

接下来,开始通过手机照相机围绕茶叶罐开始环拍了。一般来说,连续影像之间的重叠部分应该超过60%。物体的同一部分的不同拍摄点间的分隔应该小于15度。对于简单的小物件,单反或手机拍摄可以环绕式地从物体周围均匀分隔地采集影像。为了保留更多的物体细节,需要保证一定的重叠度,这次是手握手机在同一高度,围绕茶叶罐每隔半步摄取一张照片,一共有27张相片,大致示意图如下:

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

更多的照片采集要求及技巧可以参考Smart3D系列教程2之 《为什么三维重建效果这么差?——探探那些被忽略的拍照要求和技巧》 (关注wish3d微信公众号查看历史消息)

照片采集结束,将手机里的相应相片导入到电脑中,新建工程文件夹,如下图:

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

检查一下茶叶罐还有哪些部位没被拍到或者角度重叠度异常,若有问题,返回补拍,若一切正常,那么到这一步,三维重建中的照片采集任务就完成了,下面就该转移到软件操作中去了。

(二)三维重建

添加照片

打开ContextCaputure Master,添加之前拍摄的全部照片:

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

添加完毕,结果如图:

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

照片导入之后需要对影像组进行检查,看看是否有丢失的照片,操作如下图:

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

影像组照片检查正常,否则就需要重新整理下原始照片了:

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

进入3D view板块检查照片位置是否正确:

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

控制点和连接点可以在这一步中添加,由于茶叶罐属于小物件,这里就先不加了。

空三运算

一切检查无误之后,回到General板块,点击提交空三按钮:

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

输入空三名称:

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

选择定位模式,默认是选用照片的定位数据,这项主要适用于航拍的大范围,针对小物件这里选择第二种自动定位:

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

其他的参数大多数情况都是默认当前状态:

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

最后点击提交按钮,准备空三处理:

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

接着需要打开引擎,空三运算处理这才正式开始:

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

26张片子大概几分钟就可以空三处理完毕,General板块可以看到空三结果精度报告,如下图:

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

这时可以看到,影像组里的照片都已定位成功:

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

3D view版块中,可以看到照片和模型的相对位置示意图,并且点击照片可以预览到照片和在模型中的范围:

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

重建生成

空三处理完毕无误之后,回到General板块,点击提交重建按钮:

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

准备生成模型:

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

这边提一下上图的Spatial framework板块,这里面可以将数据分块生成,加快了处理速度,这次生成的是小物件模型,无需分块,在大面积的航拍数据,尤其是集群处理时,需要做到规则分块,使得每台机器的RAM在最大RAM期望值以下。

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

另外,这个版块下还可以手动设置模型生成的范围,通过拉伸按钮沿着XYZ坐标轴来设定:

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

一切设置完毕后,点击提交生成产品按钮:

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

输入模型名称及详细信息:

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

选择模型类型,第一行3D mesh就是三维模型了:

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

选择模型数据格式、设置纹理压缩比和节点大小:

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

这里我们生成OSGB格式。其他还有这些格式,前三种是最常用的格式:

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

输入生成模型的存储路径:

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

保持Engine在打开状态,提交生成,最后的三维模型就在处理中了。

处理完毕后,General版块:

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

打开模型数据的存储目录:

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

Properties版块里可以看到关于模型的所有处理详细信息:

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

(三)模型预览

对于OSGB格式的数据,这里给出两种预览可视化的方法:

1) 在Smart3D中可以生成S3C数据,而这种格式的数据是可以通过Acute3D viewer打开浏览三维模型场景的,那么,如何将生成的OSGB数据创建一个S3C索引继而在viewer里加载呢?大家可以看看下面链接中的帖子就会明了:

http://www.cnblogs.com/sunnyCXX/p/6042675.html

模型效果如下图:

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

2) 上述的方法耗时较长且步骤繁杂,接下来大家介绍一个直接的方法:将成果文件夹中的data文件夹打包为ZIP压缩包:

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

在www.wish3d.com上传:

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

编辑完作品信息后,上传成功的模型效果如下图:

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

四、注意事项

在本次处理的过程中,有如下几点需要重点强调:

1、照片采集时,建模物体的下方一定需要放置一个具有标识性的参考物,可以是报纸、书本等等。

2、对物体拍照时,一定需要保证60%及以上的重叠度,本次实验为了速度只拍了一圈,大家可以试试上下拍两圈,建模效果会增色不少。

3、空三处理阶段:

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

最好是选择默认定位,这样出来的模型姿态是正常的,选择照片自有的定位信息空三处理的话,会出现这样的效果:

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

是不是很多人在处理时都有出现这样的情况?

4、空三处理和重建生成三维模型时确保Engine是工作状态。

以上就是对于小物件(茶叶罐)从照片采集到生成处理模型的这一整个流程了,感兴趣想试一试的朋友可以关注Wish3D微信公众号回复4即可获得本次的原始照片及成果文件,有疑问的朋友欢迎加入QQ交流群516635556讨论交流。接下来,我会在下周同一时间(每周三下午)Wish3D微信公众号即将推出Smart3D系列教程5之《案例实战演练2——大区域的地形三维重建》,我们不见不散!

Wish3D已出品的Smart3D系列教程如下,在微信公众号的历史消息中可以查看,欢迎大家关注Wish3D。

  • 《浅谈无人机倾斜摄影建模的原理和方法》
  • 《为什么三维重建效果这么差?——探探那些被忽略的拍照要求和技巧》
  • 《论照片三维重建中Smart3D几个工作模块的功能意义》
  • 《案例实战演练1——小物件的照片三维重建》

Smart3D系列教程4之 《案例实战演练1——小物件的照片三维重建》的更多相关文章

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

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

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

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

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

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

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

    [摘要] 近年来,倾斜摄影测量技术是国际测绘遥感领域近年发展起来的一项高新技术,利用照片进行三维重建成为一项关键性的技术.Smart3D软件,是照片三维重建主流软件之一,本文将就Smart3D建模软件 ...

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

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

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

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

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

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

  8. 挑战全网最幽默的Vuex系列教程:第五讲 Vuex的小帮手

    先说两句 前面已经讲完了 Vuex 下的 State.Getter.Mutation 及 Action 这四驾马车,不知道大家是否已经理解.当然,要想真正熟练掌握的话,还是需要不断的练习和动手实践才行 ...

  9. 屌炸天实战 MySQL 系列教程(二) 史上最屌、你不知道的数据库操作

    此篇写MySQL中最基础,也是最重要的操作! 第一篇:屌炸天实战 MySQL 系列教程(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:屌炸天实战 MySQL 系列教程(二) 史上最屌.你不 ...

随机推荐

  1. 记一次使用 android 自带 WebView 做富文本编辑器之API、机型的兼容及各种奇葩bug的解决

    转载请声明出处(http://www.cnblogs.com/linguanh/) 目录 1,测试设备介绍 2,开源项目richeditor及CrossWalk的选择 3,遇到的bug及其解决方法 4 ...

  2. Parameter Config

    public class ConfigInfo { public static ScriptsHelper Scripts { get { return new ScriptsHelper(); } ...

  3. T-SQL:SQL Server-数据库查询语句基本查询

    ylbtech-SQL Server-Basic:SQL Server-数据库查询语句基本查询 SQL Server 数据库查询语句基本查询. 1,数据库查询语句基本查询   数据库 SQL Serv ...

  4. 五、mysql存储引擎

    show variable like 'table_type'; 显示系统默认存储引擎 show engine\G 显示系统支持存储殷勤 =============================== ...

  5. ViewHolder VS HolderView ?

    ViewHolder 模式在 Android 中大家应该都不陌生了,特别是在 ListView 中通过 ViewHolder 来减少 findViewById 的调用和 类型的转换. 而 Holder ...

  6. cassandra 服务启动流程

    cassandra 服务启动流程 1.  setup 1)   CassandraDaemon ->main publicstaticvoidmain(String[]args) { insta ...

  7. ORA-00911:无效字符错误

    ORA-00911:无效字符错误--造成构建环境的一个小错误 实施某功能脚本语句.编译时,出现了ORA-00911错误,当时有些疑惑,之前生产库使用是没有问题的,经过一番检查后发现原来是一个非常细微的 ...

  8. 01-.Net编程机制

    .NetFarmwark特点: 多平台:该系统可以在广泛的计算机上运行,包括从服务器.桌面机到PDA和移动电话. 行业标准:该系统使用行业标准的通信协议,比如XML.HTTP.SOAP和WSDL. 安 ...

  9. Eclipse集成Android_NDK

         Eclipse集成Android NDK说明 2          为什么要用NDK? 以下内容引用自<Pro Android Games> Some Java develo ...

  10. H5自定义属性data-&ast;

    data属性的设置和读取方式: 1.data-xxx 的格式,则采用正常格式来读写该属性值 <div id="test" data-name="小明"&g ...