0.Geo-SAM介绍
Geo-SAM是一个QGIS插件,旨在帮助人们在使用大尺寸地理空间栅格图像时有效地分割、描绘或标记地貌。Segment Anything Model (SAM) 是一个具有超能力的基础 AI 模型,但模型大小巨大,即使使用现代 GPU,使用它来处理图像也可能需要很长时间。我们的工具使用预先对图像特征进行编码和修剪 SAM 模型的策略。交互式分割算法可以在笔记本电脑CPU上执行实时推理(以毫秒级速度),使其成为处理遥感图像的方便高效的工具。
Geo-SAM 插件包括两个独立的部分:图像编码部分和交互式分割部分。图像编码部分设计为使用 SAM 图像编码器生成和保存图像特征,每个图像只需运行一次编码过程。分割部分用于交互式分割地貌,它只能用于分割预处理的图像
官方文档:https://geo-sam.readthedocs.io/en/latest/
本机环境:
系统:windows11
QGIS:QGIS 3.34.4
GPU:RTX3060 CUDA12.0
1. 依赖环境安装
打开OSGeo4W Shell应用程序
OSGeo4W ShellQGIS的专用Shell终端,安装qgis的时候会自动安装。
双击打开:
安装GPU版本torch
https://pytorch.org/get-started/previous-versions/
选择一个适合自己cuda的版本
选择使用pip安装的,我安装的这一个版本:
安装其他依赖
pip3 install torchgeo
pip3 install segment-anything
2.安装 Geo-SAM 插件
下载插件
下载地址:https://github.com/coolzhao/Geo-SAM/releases/tag/v1.1.1
解压插件之后放在QGIS插件文件夹中。
解压后的目录结构:
QGIS插件安装目录:QGIS安装位置\QGIS 3.34.4\apps\qgis-ltr\python\plugins
激活 Geo-SAM 插件
重新启动QGIS后:在插件管理器找到插件,选中后激活插件。
激活 Geo-SAM 插件后,可以在菜单下找到 Geo SAM 工具。
会出现一个新的工具栏,官方文档说会出现三个图标。(但是我这只有两个)
3.简单使用
使用步骤
1.使用图像编码器给图像编码
准备工作:下载 SAM Checkpoints
SAM模型检查点应提前下载,有三个版本(大型、大型和基础版)可供选择。大版本“vit_l”建议先尝试。您需要指定与检查点版本匹配的模型类型。使用以下链接下载检查点。
- vit_h:ViT-H SAM 型号 https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth
- vit_l:ViT-L SAM 型号 https://dl.fbaipublicfiles.com/segment_anything/sam_vit_l_0b3195.pth
- vit_b:ViT-B SAM 型号 https://dl.fbaipublicfiles.com/segment_anything/sam_vit_b_01ec64.pth
开始给图像编码: