今天试了一下geo-SAM快速版本fast-sam,项目参考地址如下:
https://samgeo.gishub.org/examples/fast_sam/https://samgeo.gishub.org/examples/fast_sam/具体代码如下:
python"># %pip install segment-geospatial segment-anything-fast
# 在conda prompt 里面输入上面代码,即可安装fast-semimport leafmap
from samgeo import tms_to_geotiff
from samgeo.fast_sam import SamGeo
#
m = leafmap.Map(center=[-22.17615, -51.253043], zoom=18, height="800px")
m.add_basemap("SATELLITE")
m
#
bbox = m.user_roi_bounds()
if bbox is None:bbox = [-51.2565, -22.1777, -51.2512, -22.175]
#
image = "Image.tif"
tms_to_geotiff(output=image, bbox=bbox, zoom=19, source="Satellite", overwrite=True)
#
from samgeo.fast_sam import SamGeosam = SamGeo(model="FastSAM-x.pt")
#
sam.set_image("Image.tif")
#
sam.everything_prompt(output="mask.tif")
#
sam.raster_to_vector("mask.tif", "mask.geojson")
输入的卫星影像:
分割效果:
运行时间确实比普通的sam快很多,当然会牺牲一些精度,但是有一些场景确实需要快,精度够用即可。
希望这篇博客对你有用,欢迎大家留言交流。