今年3月份的时候,正是我大二的寒假,师兄让我去研究照片扫描技术,并且推荐了一款软件3DF Zephyr,但是这款软件的教程太少了,经过我的调查,我发现Agisoft Photoscan是目前比较成熟的软件,就这样我就进了Photogrammetry的大坑。

   Photogrammetry是什么呢?正如上面的软件介绍一样,它是一种通过一系列的照片还原三维模型的技术。


   那Photogrammetry有什么优点,对比目前市场上的其他扫描技术又有什么优势和劣势呢?

Photogrammetry的优点

  • 通过照片生成模型和纹理,细节丰富到令人发指,模型细腻
  • 生成速度快,操作相对简单
  • 制作成本低,甚至可以用手机拍照完成流程
  • 支持扫描大型物体,甚至是航拍地图

Photogrammetry的缺点

  • 无法处理颜色大规模统一的物体(影响图片识别
  • 无法处理随着角度变化的强烈高光(影响图片识别
  • 无法处理透明材质(影响图片识别
  • 无法处理多重相似的图案(影响图片识别
  • 细小的物体难以生成高质量的模型
  • 不均匀的光线分布会影响扫描的效果
  • 拍摄多角度扫描素材比较繁琐

Photogrammetry与激光扫描的技术对比

  • 激光扫描的模型精度与Photogrammetry不相上下
  • 激光扫描可以解决Photogrammetry因为图片识别而无法扫描的硬伤
  • 高规格的激光扫描方可识别颜色,成本很高
  • 激光扫描难以胜任大型物体扫描,特别是航拍

软件下载

3DF Zephyr

链接: https://pan.baidu.com/s/1Rz66Ui1VNWtKZeVh55scmg 密码: xnwn

Agisoft Photoscan

链接: https://pan.baidu.com/s/1eZlWmDIxRNGhM0ZVnpWAQQ 密码: g3ne


Photogrammetry软件操作前期基本流程

软件安装

打开软件安装包,直接安装。然后将破解文件覆盖快捷方式的启动程序。

启动程序即可看到软件界面

操作截图

正式使用之前务必先打开首选项

操作截图

首选项这里可以修改语言模式

不习惯英语的可以修改为中文,在下还是依然使用英文。

操作截图

另外去到GPU的标签 务必开启CUDA显卡加速

开启之后你就能体验飞一样的感觉(GPU运算速度是CPU的好几倍)

原谅我的垃圾手提电脑,N卡940M太低端无法识别

操作截图


基本流程

点击打开workflow

截图上的操作就是Photogrammetry的基本流程

我们需要一步一步去完成操作

操作截图

Align Photos (对齐照片)

操作截图

这里有几个参数需要注意

  • Acurray(识别精度) —— 不建议太高,太高会很慢。我一般选择Medium
  • Generic Preselection(常用预选) —— 对图片序列识别进行优化,通常都勾选
  • Key Point Limit(关键点上限)—— 建议为0,就是不设上限
  • Tie Point Limit(点云上限) —— 同样建议为0,就是不设上限
  • Adapt Camera model fitting(适应摄像机的位置)—— 一般都要勾选,特别是应用蒙版的情况

设置完成即可运行操作

操作截图

识别完成之后会生成sparse cloud(稀疏点云)

比较成功的识别结果(图片识别规整)

操作截图

比较失败的识别结果(图片错位)

操作截图

图片错位的原因

  • Align Photos 的识别精度太低了或太高了
  • 照片存在模糊、距离不一、角度偏移等问题
  • 物体上存在Photogrammetry无法解决的硬伤

Build Dense Cloud (生成密集点云)

操作截图

参数说明

  • Quality(质量) —— 不建议太高,太高会很慢。我一般选择Medium
  • Depth filtering(深度过滤) —— 一般为Aggressive或者默认参数
  • Calculate point colors(计算顶点颜色) —— 这个务必要勾选,否则生成模型没有颜色

只要一开始的 sparse cloud 没有太大问题,那么密集点云的步骤也比较顺利
这个步骤需要比较长的运算时间

操作截图

在生成的过程中软件会生成Depth Map来重新构建照片的深度,从而奠定立体生成的基础(这个需要中断生成步骤才可以看到)

操作截图

根据流程生成完毕是这样子的(这个效果是建立在Sparse Cloud的基础上的)

操作截图


总结

Photogrammetry软件操作前期流程

  • 通过照片生成稀疏点云
  • 通过稀疏点云计算Depth Map,生成密集点云