欢迎来到我为 segment-anything 所做的一个简易可本地搭建的webui demo。
-
创建本地虚拟环境并安装所需库:
- Windows:在开启管理员命令行的情况下直接运行
setup.bat
⚠️ 注意:windows会直接在bat中安装pytorch2.0 + cu118,如果你的显卡不支持请自行更换版本或者选择 +cpu版本而并非cuda- macOS / Unix:
chmod +x setup.sh ./setup.sh
- Windows:在开启管理员命令行的情况下直接运行
-
下载必要的模型文件(至少选择一个):
⚠️ 注意:目前只测试过sam_vit_h_4b8939
。根据现状,sam_vit_b_01ec64
不能直接运行。下载好模型文件后,将其放入项目的
models
目录下。 -
使用 VSCode 打开项目。已经设置好运行入口,直接按 F5 运行即可。
运行程序后,如果没有报错,在vscode的输出框里你可以找到一个* Running on http://127.0.0.1:5000 这样的地址,在浏览器打开即可
-
左侧是默认图片,一只可爱的小猫 by stable diffusion。
-
你可以通过选择文件按钮导入自己的图片。
-
通过点击左侧图片上的点来选择我们需要裁剪出来的 mask,可以多点,识别率更高。
🔴 红点表示你选择的点。点击 "Clear Points" 可以清除所有点。
-
选择好你想要的点后,点击 "Process Points"。稍等片刻,即可生成你的 mask。生成速度取决于你的gpu(mac使用cpu会比较慢,目前的mps模式会报错,还未解决)
-
如果这就是你想要的 mask,那么点击 "Download" 即可下载你的 mask。
app.py
是本项目的入口。- Python 使用 Flask,Web 前端使用 TypeScript + HTML + CSS。你所开发的所有 TypeScript 代码会在调试运行时自动转换为 JavaScript。
- 在
tools
文件夹中还有一个小工具get_all_masks.py
。它可以将tools/input
目录下所有的图片(JPG、PNG)的所有 mask 提取出来并放入output
文件夹中。 - 目前的 webui 界面还很简陋。如果你愿意,欢迎帮助完善它!
感谢 Facebook Research 团队提供的 segment-anything 项目作为本项目的基础。
如果你有任何建议或想为这个项目做出贡献,欢迎通过 Issues 或 Pull Requests 与我联系。
本项目采用 MIT License 许可。
祝你编程愉快! keep coding!
ps. this readme is improve by chatgpt4 :)