用于使用 Segment Anything Model (SAM) 分割地理空间数据的 Python 包
Segment-Geospatial包的灵感来自 Aliaksandr Hancharenka 创作的 Segment-Anything-eo 存储库。为了方便对地理空间数据使用分段任意模型 (SAM),我开发了分段-anything-py 和分段-地理空间 Python 包,这些包现在可以在 PyPI 和 conda-forge 上使用。我的主要目标是简化利用 SAM 进行地理空间数据分析的过程,使用户能够以最少的编码工作来实现这一目标。我从segment-anything-eo 存储库中改编了segment-geospatial 的源代码,其原始版本归功于Aliaksandr Hancharenka。
分段地理空间可在 PyPI 上使用。要安装segment-geospatial ,请在终端中运行以下命令:
pip install 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 " pytorch=*=cuda* "
Samgeo-geospatial 有一些可选的依赖项,这些依赖项未包含在默认的 conda 环境中。要安装这些依赖项,请运行以下命令:
mamba install -c conda-forge groundingdino-py segment-anything-fast
我的 YouTube 频道上提供了视频教程。
Segment Anything Model 是计算密集型的,建议使用强大的 GPU 来处理大型数据集。建议使用具有至少 8 GB GPU 内存的 GPU。您可以利用 Google Colab 提供的免费 GPU 资源。或者,您可以申请 AWS Cloud Credit for Research,该计划提供云积分来支持学术研究。如果您位于大中华区,请在此处申请 AWS 云积分。
该存储库及其内容仅供教育目的。通过使用所提供的信息和代码,用户承认他们使用 API 和模型的风险由其自行承担,并同意遵守任何适用的法律和法规。建议打算从任何底图下载大量图像切片的用户在这样做之前联系底图提供商以获得许可。未经授权使用底图或其任何组件可能会违反版权法或其他适用的法律和法规。
请参阅贡献指南以获取更多信息。
该项目基于美国国家航空航天局 (NASA) 的部分支持,拨款号为 80NSSC22K1742,通过开源工具、框架和库 2020 计划颁发。
该项目还得到亚马逊网络服务(AWS)的支持。此外,该软件包是通过以下开源项目实现的。这些项目的开发商都获得了荣誉。