GitHub原文入口:https://github.com/luca-medeiros/lang-segment-anything
vit_h model下载:https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth
本次部署使用的平台是Auto-DL的机器,配置环境如下:
以下操作,均结合本人所使用的平台,如有差错,请结合自身的机器进行操作
打开JupyterLab,进入到Terminal,使用
pip list
查看当前Torch Torchvision版本(这里平台已经配置好了)。
这里我发现平台的pip版本偏低,使用
pip install --upgrade pip
进行升级。
确认好pip torch torchvision版本后便可进入下一步(这里请结合自身环境安装对应的torch torchvision版本),链接放在这PyTorch官网
在此平台我先进入到数据盘里面
cd /root/autodl-tmp
接着下载、安装项目
pip install -U git+https://github.com/luca-medeiros/lang-segment-anything.git
或者
git clone https://github.com/luca-medeiros/lang-segment-anything && cd lang-segment-anything
pip install -e .
(这里本人使用第二种进行安装)
在经历一系列漫长的下载、安装后就可以了
!!!注意!!!
如果是使用本平台,请在此之前阅读‘使用文档’打开资源加速器,否则下载会及其的漫长!
(本人在本地安装的时候一直遇到ground安装失败,如果也有此情况的UU请检查下自己的GCC、C++版本是否过低,网络连接是否顺畅【否则 downland transfrontier资源下载慢!】)
安装完后,还要下载vit_h的模型(下载地址在最上方)
这里以我的平台为例
cd /root/autodl-tmp/lang-segment-anything
wget https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth
把模型下载到language的目录下(这里要记住模型的路径哦),然后进行最后的流程。
在这一步,本地部署的朋友可以在lang-segment-anything 的目录下使用terminal运行
lightning run app app.py
启动网页(效果如下)
使用auto-dl平台的UU也运行一下吧(虽然我打不开网页,但是我也不清楚不运行后面阶段会不会报错)
然后在lang的目录下创建一个python3的notebook
在cell里面运行这段代码(LangSAM和Image的路径请结合自己的环境进行配置!)
from PIL import Image
from lang_sam import LangSAM
model = LangSAM("vit_h", "/root/autodl-tmp/lang-segment-anything/sam_vit_h_4b8939.pth")
image_pil = Image.open("/root/autodo/lang-segment-anything/assets/car.jpeg").convert("RGB")
text_prompt = "wheel"
masks, boxes, phrases, logits = model.predict(image_pil, text_prompt)
运行完后你会得到这样一串红红的东西
此时此刻我以为失败了,但是发现并无大问题,接着在新的cell里面运行这段代码
import matplotlib.pyplot as plt
# 打印分割后的 masks 图像
for mask in masks:
plt.imshow(mask, cmap='gray')
plt.show()
好了,大功告成,分割成功!(这里分割的是汽车的轮子)
再试试看其他图像,修改输入的文本吧!