Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

基于 SAM 2.1 的图像分割全栈实践 V2:Docker 部署与导出功能落地

FastSAM-Demo 是一个基于 Meta SAM 2.1 的交互式图像分割 Web 应用,用户上传图片后点击目标区域,即可实时完成 AI 分割。本次更新带来 Docker 一键部署与三种导出模式。

适用场景:

  • 内容创作 / 设计:快速抠图、替换背景、提取主体,无需 PS 专业技能
  • 家具电商:上传家具产品图,一键抠出主体,去除杂乱背景,生成白底或场景合成素材,提升商品图质量
  • 数据标注:为目标检测、实例分割等机器学习任务批量生成掩码标注
  • 科研与教学:演示 SAM 2.1 能力,验证分割效果,快速出图用于论文插图
  • 产品原型验证:在自研图像处理管线中嵌入分割能力,快速跑通概念验证
  • 本地隐私处理:全离线运行,医疗影像、工业质检等对数据合规有要求的场景同样适用

🐳 新增:Docker 部署

现在支持一键 Docker 部署,无需手动配置 Python 环境、Node 版本或处理依赖冲突,开箱即用。

适用场景:

  • 快速在新机器或服务器上搭建演示环境
  • 团队统一开发 / 测试环境,避免「在我这里能跑」问题
  • CI/CD 流水线集成,受限环境(无法直接配置 Python/Node)下开箱即用

新增文件

文件说明
backend/DockerfilePython 3.11 + uv + FastAPI + SAM 2.1
frontend/DockerfileNode 20 + Next.js 15 standalone 模式
docker-compose.yml服务编排,端口 3001/8001
.dockerignore精简镜像体积,排除无关文件

启动命令

docker-compose up --build
  • 前端:http://localhost:3001
  • 后端:http://localhost:8001

后端使用 uv 管理依赖,安装速度显著快于 pip。前端采用 Next.js 15 standalone 模式构建,镜像体积更小,启动更快。


📥 新增:导出功能

分割完成后,现在可以将结果以三种模式直接导出为 PNG 图片,满足不同下游使用需求。

模式说明典型用途
原图原始上传的图片存档、对比
叠加效果原图 + 彩色掩码(半透明 50%)演示、标注审核、论文插图
仅掩码纯掩码,黑色背景背景替换、目标检测、数据集制作
  • 触发条件:有分割结果时显示「导出」按钮
  • 掩码色:红、橙、黄、绿、青、蓝、紫、粉(8 色循环,多目标自动区分)
  • 导出格式:PNG(无损)

✍️ 写在最后

两个更新都指向同一个目标:让 FastSAM-Demo 更容易用起来。Docker 解决的是「跑起来」的门槛,导出功能解决的是「用出去」的最后一步。

项目完全开源,欢迎 Star、Fork 或提 Issue。

项目地址:https://github.com/Eva-Dengyh/FastSAM-Demo