光探测和测距,更广为人知的名称是 LiDAR,是一种使用激光和 GPS 拍摄 3D 空间照片的方法。这听起来像是科幻小说——我可以想到一些电影中的场景,它们可能在没有意识到的情况下重新构想了这项技术——但这项技术已经存在 50 多年了。
LiDAR 可用于地形测量和考古记录,也可用于获取 3D 打印的源数据。我在参与一部电影制作时接触到它,这部电影需要将一条虚构的(或者说是真实的?)龙与真实的森林和伐木小镇融为一体。
为了让所有这些事物在同一部电影中无缝衔接,数字艺术家们被赋予了使用 3D 模型重建真实存在的树木或建筑物的任务。为了在 3D 建模应用程序中准确地还原真实世界的物体,艺术家们需要基本上描摹真实世界的物体,就像您可能描摹照片以在描图纸上绘制精确的图画一样。与照片不同,3D 建模艺术家使用 LiDAR 扫描,这使他们能够“描摹”物体的所有维度。
任何人都可以使用 MeshLab(一款开源 LiDAR 点云查看器和编辑器)来体验 LiDAR 的潜力。
在 Linux 上安装 MeshLab
MeshLab 在大多数 Linux 发行版中都可通过您的软件包管理器获得。
在 Fedora、Mageia 和类似发行版上
$ sudo dnf install meshlab
在基于 Debian 的发行版上
$ sudo apt install meshlab
我将 MeshLab 用作 Flatpak,并且在 MeshLab.net 上有一个方便的 AppImage 可用。
获取 LiDAR 扫描
LiDAR 设备不易获得,因此除非您正在进行使用 LiDAR 扫描的项目,否则您可能不会有 LiDAR 扫描数据闲置。
然而,OpenHeritage 项目致力于存档具有重要科学和公共利益的扫描数据。该项目拥有蒂卡尔古代遗址、法国、西班牙和意大利的教堂、叙利亚和约旦的宫殿等等的扫描数据,并根据 Creative Commons 许可条款发布。
LiDAR 扫描包含数百万个定义物体的点,因此它们对系统资源要求很高。为了舒适地处理 LiDAR 扫描,预计需要良好的显卡和充足的 RAM。如果您只想浏览扫描数据,Pantheon (10.26301/t9sj-mf53) 数据集出奇地干净,只有 89 MB,仅包含 600 万个顶点。
Pantheon 扫描数据归功于 Gerd Graßhoff、Michael Heinzelmann、Markus Wäfler、Christian Berndt、Jon Albers、Oskar Kaelin、Bernd Kulawik、Ralph Rosenbauer、Nikolaos Theocharis、Michael Lustenberger、Bernhard Fritsch 于 2021 年,并由 Open Heritage 3D 在 CC BY-NC-SA 许可下分发。
下载网格文件后,解压缩以解压.e57文件。
在本文中,术语网格、点云、数据集指的是同一事物:LiDAR 扫描产生的顶点集合。
MeshLab 界面
当您启动 MeshLab 时,通常没有加载 LiDAR 扫描数据。要导入一个,请转到“文件”菜单并选择“导入网格”或按键盘上的 Ctrl+I。
选择您的网格。

(Seth Kenlon, CC BY-SA 4.0)
您可以通过单击并拖动网格原点周围出现的轴手柄(MeshLab 术语中的轨迹球)来调整点云的视图。
使用滚轮放大和缩小点云。向下滚动放大,向上滚动缩小。不要将其与缩放混淆。轨迹球不会随您的网格而变化,因此点云看起来只是放大或缩小,但窗口底部的面板显示您的点数没有改变。

(Seth Kenlon, CC BY-SA 4.0)
MeshLab 窗口的顶部工具栏显示您的主要编辑工具。第一批工具是用于加载、保存和导出网格的文件操作。第二批是显示选项,您可以使用它们来更改查看数据集的方式:您可以仅查看点云周围的边界框、云中的点、仅查看线框、网格背景层、轴标签等等。工具栏的其余部分包含用于编辑网格的工具。
当未选择任何编辑工具时,您处于查看模式。
变换点云
MeshLab 不是 3D 建模应用程序,尽管在通用界面中有很多相似之处。但是,MeshLab 确实可以编辑网格,因此有一些工具可以变换点云。最基本的编辑是旋转、缩放和平移。
要变换网格,请单击顶部工具栏中的“操纵器”工具图标。

(Seth Kenlon, CC BY-SA 4.0)
在“操纵器”工具处于活动状态时,您可以按 T 平移网格的位置,按 R 旋转网格,或按 S 缩放网格。每个操作都会显示控件,并且与 Blender 一样,您可以按额外的键来进一步约束您正在执行的操作。例如,在平移模式下按 X 可将平移约束为仅沿 X 轴。这些说明在 MeshLab 窗口的左上角提供。

(Seth Kenlon, CC BY-SA 4.0)
当您完成某个工具后,您必须再次单击其图标以停用它。单击新工具不会停用您当前的工具。
按键盘上的 Escape 键可切换到查看模式,再次按下可返回到之前的工具。这样,您无需额外点击鼠标即可快速调整和编辑。
选择点
网格编辑器中的一项常见任务是通过删除无关的点来清理 LiDAR 扫描。Pantheon 的 LiDAR 扫描已经非常干净,但并非所有扫描都是如此,并且消除您不需要的顶点可以节省大量的处理能力和硬盘空间。
您可以使用“选择顶点簇”、“在平面上选择顶点”和“在多边形区域内选择面/顶点”工具来选择点。该概念类似于任何图形应用程序中的选择,尽管在 MeshLab 中它稍微复杂一些,因为您正在与 3D 空间进行交互。
我最喜欢的选择方法是使用“在多边形区域内选择面/顶点”工具
- 绘制一个多边形选择区域,包含您要选择的点。
- 获得选择区域后,按键盘上的 Q 键以激活多边形内点的选择。选定的点变为红色。
- 按键盘上的 Escape 键切换到查看模式,并旋转或重新定位您的点云以从不同的角度查看它。
- 添加到您的多边形选择并按 Q 以添加新点。
重复该过程,直到您在选择中获得所需的一切。
您可以通过按 C 清除多边形并开始新的多边形来优化您的选择。按 C 不会清除您的选择,只会清除选择区域,因此您可以绘制一个新的多边形,然后按 Q 添加更多点,或者按 W 删除您不打算选择的点。

(Seth Kenlon, CC BY-SA 4.0)
获得选择后,单击“过滤器”菜单并浏览“选择”子菜单,以对您的点云执行所需的任何操作。
探索 LiDAR
MeshLab 包含许多功能,本文仅介绍了基础知识。
有很多过滤器和很多方法可以从参考源读取数据、点云简化、Z 轴绘制、模型对齐等等。
无论您是深入研究 LiDAR 以清理 3D 打印机的扫描数据、为下一部大片中精心策划的跟踪镜头调整原点,还是记录多年来历史遗址的状态,MeshLab 都是一款非常宝贵且独特的开源工具。
1 条评论