博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Smart3D系列教程4之 《案例实战演练1——小物件的照片三维重建》
阅读量:5374 次
发布时间:2019-06-15

本文共 2607 字,大约阅读时间需要 8 分钟。

一、前言

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——小物件的照片三维重建》

转载于:https://www.cnblogs.com/Wish3D/p/6143847.html

你可能感兴趣的文章
随手练——HDU 5015 矩阵快速幂
查看>>
Python环境搭建(安装、验证与卸载)
查看>>
linux的子进程调用exec( )系列函数
查看>>
【luogu P2298 Mzc和男家丁的游戏】 题解
查看>>
前端笔记-bom
查看>>
上海淮海中路上苹果旗舰店门口欲砸一台IMAC电脑维权
查看>>
给mysql数据库字段值拼接前缀或后缀。 concat()函数
查看>>
迷宫问题
查看>>
练习10-1 使用递归函数计算1到n之和(10 分
查看>>
Oracle MySQL yaSSL 不明细节缓冲区溢出漏洞2
查看>>
组合数学 UVa 11538 Chess Queen
查看>>
Redis常用命令
查看>>
thinkphp如何实现伪静态
查看>>
BZOJ 1925: [Sdoi2010]地精部落( dp )
查看>>
一个控制台程序,模拟机器人对话
查看>>
我的PHP学习之路
查看>>
使用DBCP连接池对连接进行管理
查看>>
【洛谷】【堆+模拟】P2278 操作系统
查看>>
hdu3307 欧拉函数
查看>>
Spring Bean InitializingBean和DisposableBean实例
查看>>