Spaces:
Running
Running
metadata
title: Text Image Seg
emoji: 📊
colorFrom: red
colorTo: green
sdk: gradio
sdk_version: 5.49.1
app_file: app.py
pinned: false
🎯 Text-Guided Image Segmentation Demo
基於 Grounding DINO 和 SAM (Segment Anything Model) 的文字引導圖片分割應用,使用 Gradio 構建互動式介面。
🚀 快速開始
安裝依賴
pip install -r requirements.txt
運行應用
gradio app.py
或
python app.py
應用將在 http://localhost:7860 啟動。
📦 依賴項
gradio- 互動式 Web 介面transformers- Hugging Face 模型庫torch- PyTorch 深度學習框架Pillow- 圖像處理numpy- 數值計算
🎮 使用方法
- 上傳圖片:點擊或拖拽圖片到輸入區域
- 輸入文字提示:
- 單個物件:
car、person、sky - 多個物件:
car. sky. road.(用句號分隔)
- 單個物件:
- 點擊 Segment 按鈕:開始分割
- 查看結果:
- 左側顯示分割遮罩(不同物件用不同顏色)
- 右側顯示除錯資訊(檢測數量、標籤、信心度)
🎨 顏色標示
檢測到的物件會按順序使用以下顏色作為mask:
- 🔴 紅色
- 🟢 綠色
- 🔵 藍色
- 🟡 黃色
🔧 技術架構
模型
Grounding DINO (
IDEA-Research/grounding-dino-base)- 用於零樣本物件檢測
- 根據文字描述定位物件
SAM (
facebook/sam-vit-base)- 用於精確分割
- 基於檢測框生成高質量遮罩
工作流程
輸入圖片 + 文字提示
↓
Grounding DINO 檢測物件
↓
SAM 生成分割遮罩
↓
多物件遮罩疊加(不同顏色)
↓
輸出結果
💡 使用技巧
提高檢測準確度
- 使用具體描述:
blue car比car更精確 - 調整閾值:當前閾值為 0.15,可在 source code 中調整
- 多次嘗試:嘗試不同的文字表達方式或是使用英文描述
📝 程式碼結構
text-image-seg/
├── app.py
├── requirements.txt
├── README.md
├── sample_images/
├── .gitattributes
└── .gitignore