換臉示範
左:原始影片 (1280x720) 右:OpenVINO 換臉後
5 秒、25 fps、125 幀,每一幀都完成換臉。被換掉的是左側女性的臉,替換成右側男性的臉 (圖中為縮小後的並排畫面)。
換臉範圍為臉部區域,髮際線與髮絲會有部分殘留與模糊,這是 128px 換臉模型的限制。
素材與授權
- 原臉 (target):Wikimedia Commons · Processed-F3BB2BF2-2743-4B47-8648-66D0D76A444F.jpg (CC0)
- 換上的臉 (ref):Wikimedia Commons · Allan MacDonald.jpg (CC0)
- 影片:由上述原圖製作,靜態畫面 5 秒,加上 440 Hz 測試音軌
以上皆為 CC0 授權素材。照片中人物的同意與肖像權由原作者與來源平台負責,使用時請自行確認。
效能比較
同一支 1280x720、125 幀影片、同一組目錄與參數,兩版在同一台機器上依序執行。
| 版本 | 總耗時 | 每幀耗時 | 相對速度 |
|---|---|---|---|
| ONNX Runtime 版 (CPU) | 1753 秒 (約 29 分鐘) | 約 14 秒 | 1x |
| OpenVINO 版 (CPU) | 16 秒 | 約 0.13 秒 | 約 108x |
OpenVINO 的 16 秒為逐幀處理迴圈的時間,不含三個模型編譯 (約 1.6 秒) 與 ffmpeg 合併聲音。 ONNX Runtime 的 1753 秒為整個程序的實際耗時,包含模型載入與 ffmpeg 合併。 兩版換臉次數皆為 125 次,輸出外觀幾乎一致。
ONNX Runtime 在此測試環境的速度明顯偏慢。單獨測量時,其偵測與換臉的單次推論時間遠高於一般預期, 並非 onnxruntime 本身的正常表現。此倍數只代表本機、本次測試的結果,不應直接外推到其他硬體。 測試機器:16 核心 CPU、只使用 CPU 裝置。
下載
程式、套件清單與安裝說明 (README) 分別打包:
OpenVINO 版 (.zip) ONNX Runtime 版 (.zip)模型權重 (inswapper_128.onnx、buffalo_l) 不包含在壓縮包內,請依各包內 README 另行下載。
快速開始
python3 -m venv venv && source venv/bin/activate pip install -r requirements.txt python swapface_ov.py input.mp4 \ --target 原臉目錄 \ --ref 新臉目錄 \ --swapper inswapper_128.onnx -o output.mp4
授權與責任
本工具與示範素材僅供研究與教學。insightface / inswapper 模型權重採非商業研究授權,請自行確認使用條款。 換臉技術只應用於您有權使用的人臉,請勿用於冒充、詐欺或散布不實影片。