Yarroudh/segment-lidar
Python package for segmenting LiDAR data using Segment-Anything Model (SAM) from Meta AI.
解决的问题
航空 LiDAR 点云密集且无结构,难以自动分离出建筑物、树木或车辆等单个对象。手动标注既缓慢又容易出错。该软件包通过将 3D 点云转换为 2D 图像,运行 Meta 强大的 SAM 3 分割模型,并将检测到的对象掩码映射回原始点,为每个点分配实例 ID,从而实现了该任务的自动化。
工作原理
该软件包使用俯视图或用户定义的针孔相机将点云投影到 2D 图像中。然后,它在该图像上运行 SAM 3 以查找对象。用户可以让模型自动检测所有掩码,也可以通过文本提示(例如 "building")和/或框提示(正例和负例)进行引导。分割完成后,图像中的标签会被传回点云,为每个点分配一个实例 ID。对于大面积区域,可以先应用地面过滤来去除地面点,也可以重复使用之前保存的标签栅格,以避免重新运行模型。
适用人群
需要提取对象实例而无需手动标注每个点的航空 LiDAR 数据研究人员、测量员和开发人员。它特别适用于城市测绘、林业和 3D 城市建模。用户需要 Python 3.10 或更高版本、CUDA GPU(推荐用于 SAM 3 推理),并通过 Hugging Face 访问 Meta 的受限 SAM 3 模型(需要令牌)。
主要亮点
- 使用 Meta 的 SAM 3,这是一种最先进的分割模型,适用于 3D 点云。
- 支持自动掩码生成、文本提示和框提示。
- 将点云投影为俯视图或自定义针孔相机图像。
- 无需重新运行推理即可将保存的标签栅格应用于新的点云。
- 可选的地面过滤 (CSF) 并输出带有实例 ID 的 LAS/LAZ 文件。
- 包含 Docker 支持,便于在 GPU 上进行部署。
相关
- 项目
- 项目
- 项目
- 项目