Spaces:
Running
Running
| 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 構建互動式介面。 | |
| ## 🚀 快速開始 | |
| ### Local Host | |
| - ```pip install -r requirements.txt``` | |
| - ```gradio app.py``` or ```python app.py``` | |
| - 應用將在 `http://localhost:7860` 啟動。 | |
| ### Hugging Face Spaces | |
| [](https://huggingface.co/spaces/tingul4/text-image-seg) | |
| ## 🎮 使用方法 | |
| 1. **上傳圖片**:點擊或拖拽圖片到輸入區域 | |
| 2. **輸入文字提示**: | |
| - 單個物件:`car`、`person`、`sky` | |
| - 多個物件:`car. sky. road.`(用句號分隔) | |
| 3. **點擊 Segment 按鈕**:開始分割 | |
| 4. **查看結果**: | |
| - 左側顯示分割遮罩(不同物件用不同顏色) | |
| - 右側顯示除錯資訊(檢測數量、標籤、信心度) | |
| ## 💡 使用技巧 | |
| ### 提高檢測準確度 | |
| 1. **使用具體描述**:`blue car` 比 `car` 更精確 | |
| 2. **調整閾值**:當前閾值為 0.15,可在 source code 中調整 | |
| 3. **多次嘗試**:嘗試不同的文字表達方式或是使用英文描述 | |
| ## 📦 依賴項 | |
| - `gradio` - 互動式 Web 介面 | |
| - `transformers` - Hugging Face 模型庫 | |
| - `torch` - PyTorch 深度學習框架 | |
| - `Pillow` - 圖像處理 | |
| - `numpy` - 數值計算 | |
| ## 📝 程式碼結構 | |
| ``` | |
| text-image-seg/ | |
| ├── app.py | |
| ├── requirements.txt | |
| ├── README.md | |
| ├── sample_images/ | |
| ├── .gitattributes | |
| └── .gitignore | |
| ``` | |
| ## 🔧 技術架構 | |
| ### 模型 | |
| - **Grounding DINO** (`IDEA-Research/grounding-dino-base`) | |
| - 用於零樣本物件檢測 | |
| - 根據文字描述定位物件 | |
| - **SAM** (`facebook/sam-vit-base`) | |
| - 用於精確分割 | |
| - 基於檢測框生成高質量遮罩 | |
| ### 工作流程 | |
| ``` | |
| 輸入圖片 + 文字提示 | |
| ↓ | |
| Grounding DINO 檢測物件 | |
| ↓ | |
| SAM 生成分割遮罩 | |
| ↓ | |
| 多物件遮罩疊加(不同顏色) | |
| ↓ | |
| 輸出結果 | |
| ``` | |
| ## 🔗 相關資源 | |
| - [Grounding DINO](https://github.com/IDEA-Research/GroundingDINO) | |
| - [Segment Anything Model (SAM)](https://github.com/facebookresearch/segment-anything) | |
| - [Gradio 文檔](https://www.gradio.app/docs) | |