跳转到主要内容

Meta AI的Segment Anything Model (SAM)用于地理空间数据。

项目描述

segment-geospatial

image image image image Docker Pulls PyPI Downloads Conda Recipe Conda Downloads DOI

logo

一个用于使用Segment Anything Model (SAM)分割地理空间数据的Python包

简介

segment-geospatial包受到segment-anything-eo存储库的启发,该存储库由Aliaksandr Hancharenka编写。为了便于使用Segment Anything Model (SAM)进行地理空间数据,我开发了segment-anything-pysegment-geospatial Python包,这些包现在可在PyPI和conda-forge上找到。我的主要目标是简化利用SAM进行地理空间数据分析的过程,使用户能够以最小的编码工作量实现这一点。我已经从segment-anything-eo存储库改编了segment-geospatial的源代码,原始版本归功于Aliaksandr Hancharenka。

引用

  • Wu, Q., & Osco, L. (2023). samgeo: A Python package for segmenting geospatial data with the Segment Anything Model (SAM). Journal of Open Source Software, 8(89), 5663. https://doi.org/10.21105/joss.05663
  • Osco, L. P.,Wu, Q.,de Lemos, E. L.,Gonçalves, W. N.,Ramos, A. P. M.,Li, J.,& Junior, J. M. (2023). 遥感应用中的分割任何模型(SAM):从零到一跳。 国际应用地球观测与地理信息杂志,124,103540。 https://doi.org/10.1016/j.jag.2023.103540

功能

  • 从瓦片地图服务(TMS)服务器下载地图瓦片并创建GeoTIFF文件
  • 使用分割任何模型(SAM)和 HQ-SAM 对GeoTIFF文件进行分割
  • 使用文本提示分割遥感影像
  • 交互式创建前景和背景标记
  • 从矢量数据集中加载现有标记
  • 将分割结果保存为常用矢量格式(GeoPackage,Shapefile,GeoJSON)
  • 将输入提示保存为GeoJSON文件
  • 在交互式地图上可视化分割结果
  • 从时间序列遥感影像中分割对象

安装

从PyPI安装

segment-geospatialPyPI 上可用。要安装 segment-geospatial,请在您的终端中运行以下命令

pip install segment-geospatial

从conda-forge安装

segment-geospatial 同样可在 conda-forge 上找到。如果您已经在计算机上安装了 AnacondaMiniconda,可以使用以下命令安装 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,但上述命令没有安装pytorch的GPU版本,您可以使用以下命令强制安装pytorch的GPU版本

mamba install -c conda-forge segment-geospatial "pytorch=*=cuda*"

Samgeo-geospatial有一些可选依赖项,默认的conda环境不包括。要安装这些依赖项,请运行以下命令

mamba install -c conda-forge groundingdino-py segment-anything-fast

示例

演示

  • 自动掩码生成器

  • 使用输入提示进行交互式分割

  • 从现有文件中获取输入提示

  • 使用文本提示进行交互式分割

教程

视频教程可在我的 YouTube频道 上找到。

  • 自动掩码生成

Alt text

  • 在ArcGIS Pro中使用SAM

Alt text

  • 使用文本提示进行交互式分割

Alt text

在桌面GIS中使用SAM

计算资源

分割任何模型(SAM)计算密集,建议使用强大的GPU处理大型数据集。建议使用至少具有8GB GPU内存的GPU。您可以使用Google Colab提供的免费GPU资源。或者,您可以申请 AWS Cloud Credit for Research,该服务为学术研究提供云信用额度。如果您在 Greater China地区,可以在此申请AWS Cloud Credit 此处

法律声明

本仓库及其内容仅用于教育目的。用户使用提供的信息和代码时,应自行承担使用API和模型的风险,并同意遵守任何适用的法律法规。有意从任何底图下载大量图像瓦片的用户,请在操作前联系底图提供商以获取许可。未经授权使用底图或其任何组件可能违反版权法或其他适用的法律法规。

贡献

有关更多信息,请参阅贡献指南

致谢

本项目部分基于美国国家航空航天局(NASA)的资助,资助编号为80NSSC22K1742,该资助通过2020年开源工具、框架和库项目发放。

本项目还得到亚马逊网络服务(AWS)的支持。此外,本包的实现得益于以下开源项目。感谢这些项目的开发者。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

segment_geospatial-0.11.2.tar.gz (423.6 kB 查看哈希值

上传时间

构建分发

segment_geospatial-0.11.2-py2.py3-none-any.whl (68.7 kB 查看哈希值

上传时间 Python 2 Python 3

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面