File size: 2,412 Bytes
5f0608c
 
 
 
 
 
 
 
 
 
 
72c908c
 
 
 
 
 
a560cae
 
 
 
72c908c
a560cae
 
72c908c
 
 
 
 
 
 
 
 
 
 
 
 
a560cae
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72c908c
a560cae
72c908c
a560cae
 
 
 
 
 
 
 
 
72c908c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
---
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
[![Open in Spaces](https://huggingface.co/datasets/huggingface/badges/resolve/main/open-in-hf-spaces-md-dark.svg)](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)