本笔记本展示了如何使用 Segment Anything Model (SAM) 从图像中分割对象,只需几行代码即可完成。
请确保在本笔记本中使用 GPU 运行时。对于 Google Colab,请转到运行时 -> 更改运行时类型,然后选择 GPU 作为硬件加速器。
地理空间数据的分段模型
Segment Anything Model for Geospatial Data
使用分段任意模型 (SAM) 对地理空间数据进行分段的 Python 软件包
简介
segment-geospatial 软件包的灵感来自 Aliaksandr Hancharenka 编写的 segment-anything-eo 存储库。为了方便将 Segment Anything Model(SAM)用于地理空间数据,我开发了 segment-anything-py 和 segment-geospatial Python 软件包,现在可以在 PyPI 和 conda-forge 上下载。我的主要目标是简化利用 SAM 进行地理空间数据分析的过程,使用户能够以最小的编码工作量实现这一目标。我从 segment-anything-eo 软件库中改编了 segment-geospatial 的源代码,其原始版本归功于 Aliaksandr Hancharenka。
功能
从瓦片地图服务 (TMS) 服务器下载地图瓦片并创建 GeoTIFF 文件
使用任意分段模型(SAM)和 HQ-SAM 对 GeoTIFF 文件进行分段
使用文本提示分割遥感图像
交互式创建前景和背景标记
从矢量数据集加载现有标记
将分割结果保存为常见的矢量格式(GeoPackage、Shapefile、GeoJSON)
将输入提示保存为 GeoJSON 文件
在交互式地图上可视化分割结果
安装
从 PyPI 安装
segment-geospatial 可在 PyPI 上获取。要安装 segment-geospatial,请在终端运行此命令:
pip install segment-geospatial
从 conda-forge 安装
segment-geospatial 也可以在 conda-forge 上找到。如果你的电脑上安装了 Anaconda 或 Miniconda,可以使用以下命令安装 segment-geospatial。建议为 segment-geospatial 创建一个全新的 conda 环境。以下命令将创建一个名为 geo 的新 conda 环境,并安装 segment-geospatial 及其依赖项:
conda create -n geo python
conda activate geo
conda install -c conda-forge mamba
mamba install -c conda-forge segment-geospatial
如果你的系统有 GPU,但上述命令没有安装 GPU 版本的 pytorch,你可以使用以下命令强制安装 GPU 版本的 pytorch:
mamba install -c conda-forge segment-geospatial