当前位置:首页 » 《随便一记》 » 正文

【GEO-AI】SAM-Geo库(segment-geospatial)入门教程

4 人参与  2024年05月02日 15:05  分类 : 《随便一记》  评论

点击全文阅读


今年4月份,Meta公布了它图形分割模型Segment-Anything,简称SAM。当时就想着这个东西用在遥感影像分割上应该效果不错,奈何自己能力有限,没有办法上手实践。偶然间看到有介绍SAM-Geo工具包的文章,决定研究一番,现在的做的这些工作可能只是狗尾续貂,权当是记一下工作笔记了。

1. 简介

SAM-Geo是一个用于地理空间数据的Python 包,可在 PyPI 和 conda-forge 上使用。作者吴秋生是美国田纳西大学地理系老师,根据他在Bilibili主页上的介绍,研究方向主要包括地理信息科学和遥感,个人主页地址:https://wetlands.io。
SAM-Geo工具包主要用于简化SAM模型在地理空间数据上的应用,其想法来源于segment-anything-eo【github地址】。为方便后续学习,将相应的地址都放在这里,SAM-Geo的Github地址是https://github.com/opengeos/segment-geospatial,文档地址:https://samgeo.gishub.org。

2.安装

根据官网,可以使用PyPI、Conda、GitHub、Docker方式安装

最简单的当然是使用pip安装了
pip install segment-geospatial
Conda(推荐新建环境)
conda create -n geo pythonconda activate geoconda install -c conda-forge mambamamba install -c conda-forge segment-geospatial

安装依赖

mamba install -c conda-forge groundingdino-py segment-anything-fast
Github
pip install git+https://github.com/opengeos/segment-geospatial
Docker
docker run -it -p 8888:8888 giswqs/segment-geospatial:latest

为了是GPU生效,需要运行下面的命令

docker run --rm -it --gpus=all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark

如果报错nvidia-container-cli: initialization error: load library failed: libnvidia-ml.so.1: cannot open shared object file: no such file or directory: unknown.,在上面的命令前面加上sudo运行。
等GPU容器运行正常后,再运行docker run命令将SAM-Geom运行起来。

3.入门案例

官网的案例地址在https://samgeo.gishub.org/workshops/purdue/,我这边简单记录下自己的操作过程,水平有限,您可以移步官网查看更详细的介绍。
这边采用的conda虚拟环境,利用之前搭建的pytorch环境,可以参考PyTorch安装记录及Anaconda环境配置
下列代码运行在Jupyter Notebook中

安装依赖
pip install segment-geospatial groundingdino-py leafmap localtileserver
导入依赖
import leafmapfrom samgeo import SamGeofrom samgeo.text_sam import LangSAM
创建交互式地图
m = leafmap.Map(center=[40.427495, -86.913638], zoom=18, height=700)m.add_basemap("SATELLITE")m

地图操作:平移或缩放到所需位置,然后用绘图工具在地图上创建多边形或矩形。

if m.user_roi_bounds() is not None:    bbox = m.user_roi_bounds()else:    bbox = [-86.9167, 40.4262, -86.9105, 40.4289]
image = "image.tif"leafmap.map_tiles_to_geotiff(output=image, bbox=bbox, zoom=18, source="Satellite", overwrite=True)

如果要使用自己的图像,可以将image的地址设置为本地图片的地址。

将图片展示在地图上:

m.layers[-1].visible = False  # turn off the basemapm.add_raster(image, layer_name="Image")m
初始化模型
sam = SamGeo(              model_type="vit_h",              checkpoint="sam_vit_h_4b8939.pth",              automatic=False,              sam_kwargs=None,          )sam.set_image(image)
自动分类
sam.generate(image, output="masks.tif", foreground=True, unique=True)sam.show_masks(cmap="binary_r")

展示分类

sam.show_anns(axis="off", alpha=1, output="annotations.tif")

点击全文阅读


本文链接:http://zhangshiyu.com/post/102904.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 深情为祭,爱成虚影必读文(谢芸芸谢凡锃)
  • [和四个兽人试婚后,拒绝我99次的他悔疯了]小说精彩节选免费试读_鹿砚卿朋友黑蛇删减内容修复版本
  • 该死的药,该死的人独家章节限时试读_「苏珊林轩顾行」完本
  • 完结文出国五年归来后,我为被拍卖小视频的妹妹点天灯列表_完结文出国五年归来后,我为被拍卖小视频的妹妹点天灯(陆昀昭沈晓雪)
  • 杜伟的发现祠堂的秘密后,全村无一活口书荒冯若琳杜伟全书在线
  • 川隐逢归客人气列表_川隐逢归客人气(顾临川沈霜音)
  • 攻略失败后,我一心求死章节彩蛋限时释出‌_林兆川顾雪爸爸妈妈全文免费无弹窗阅读_笔趣阁
  • 无端却被春风误免费赏析(孟南汐宋祁钰)_无端却被春风误免费赏析孟南汐宋祁钰
  • 岁岁不渡春风谢列表_岁岁不渡春风谢(季华厉朝圣宗)
  • [妻子出去旅游,在大山里失联了]无弹窗阅读_[赵颖孟志泽云云]节选角色羁绊特辑‌
  • 女儿死后,爸妈为我老公和凶手举办婚礼全书+后续+结局(周明昊)列表_女儿死后,爸妈为我老公和凶手举办婚礼全书+后续+结局(周明昊)女儿死后,爸妈为我老公和凶手举办婚礼全书+后续+结局在线
  • 全文老公为佛女的狗点天灯后,我死遁离开全书在线(江梵音桃星)列表_全文老公为佛女的狗点天灯后,我死遁离开全书在线

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1