File size: 3,611 Bytes
8af4a0a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
98
# 🎭 AI 頭像工作室 (Gradio 版)

這是一個使用 Gradio 和 InsightFace 技術建立的 AI 換臉應用程式。專案經過簡化,移除了前後端分離的複雜架構,改用單一的 Gradio 應用程式,使其更容易在本地端執行、打包成 Docker 映像檔,或部署到 Hugging Face Spaces。

## ✨ 功能

- **互動式介面**: 使用 Gradio 建立,操作直觀,無需前端開發知識。
- **自訂換臉**: 上傳您的照片和目標風格照片,一鍵生成換臉結果。
- **預設模板**: 提供多個預設模板,方便快速體驗。
- **多人臉支援**: 支援對圖片中的多張人臉進行選擇性替換。
- **自動模型下載**: 首次執行時,應用程式會自動下載所需的 AI 模型。

## 📂 專案結構

專案已簡化為適合 Gradio 應用的結構:

```
swapFace/
├── Dockerfile          # 用於建立 Docker 映像檔
├── app.py              # 主要的 Gradio 應用程式
├── requirements.txt    # Python 依賴
├── README.md           # 就是您正在看的這個檔案
├── core/               # 核心 AI 處理邏輯
│   ├── __init__.py
│   ├── config.py
│   └── face_processor.py
└── models/             # 存放 AI 模型和圖片模板
    └── templates/
        ├── step01.jpg
        └── ...
```

---

## 🚀 如何執行

您可以選擇兩種方式來執行此應用程式:**1. 在本地端直接執行****2. 使用 Docker**### 方案一:在本地端直接執行 (推薦給開發者)

1.  **環境準備**:
    建議在 Python 虛擬環境中進行操作。
    ```bash
    # 建立虛擬環境
    python3 -m venv venv

    # 啟用虛擬環境 (macOS/Linux)
    source venv/bin/activate
    # (Windows)
    # venv\Scripts\activate
    ```

2.  **安裝依賴**:
    ```bash
    pip install -r requirements.txt
    ```

3.  **啟動應用**:
    ```bash
    python app.py
    ```

    應用程式啟動後,會顯示一個本地 URL (例如 `http://127.0.0.1:7860`)。在瀏覽器中打開此連結即可開始使用。

    **⚠️ 注意**: 首次啟動時,程式會自動從網路下載約 530MB 的 AI 模型 (`inswapper_128.onnx`) 到 `models` 目錄下,請耐心等待。這只需要執行一次。

### 方案二:使用 Docker 執行 (推薦用於部署或隔離環境)

確保您的電腦上已經安裝了 [Docker](https://www.docker.com/products/docker-desktop/)。

1.  **建立 Docker 映像檔**:
    在專案根目錄下(與 `Dockerfile` 同層級),執行以下指令:
    ```bash
    # -t 後面是您為映像檔取的名稱,例如 'ai-avatar-studio'
    docker build -t ai-avatar-studio .
    ```

2.  **執行 Docker 容器**:
    映像檔建立成功後,使用以下指令來啟動容器:
    ```bash
    # -p 7860:7860 將您本機的 7860 連接埠映射到容器的 7860 連接埠
    # --rm 會在容器停止後自動刪除,保持系統乾淨
    docker run --rm -p 7860:7860 ai-avatar-studio
    ```

3.  **訪問應用**:
    容器啟動後,同樣會先下載模型(如果映像檔中沒有的話)。完成後,在瀏覽器中打開 `http://localhost:7860` 即可使用。

---

## 🤗 部署到 Hugging Face Spaces

這個專案結構也非常適合直接部署到 Hugging Face Spaces。

1.  在 Hugging Face 上建立一個新的 Space,並選擇 **Gradio** 作為 SDK。
2.  將專案中的所有檔案(**除了 `Dockerfile`**)上傳到 Space 的 Git 儲存庫。
3.  Hugging Face 會自動處理環境安裝和應用啟動。大功告成!