|
Download samples/README.md from HelloSun/inswapper-Openvino: direct link, hf CLI and curl.
- Browser
- Download file 3.74 kB
-
https://huggingface.co/HelloSun/inswapper-Openvino/resolve/main/samples/README.md
- Command line
-
hf download hf://HelloSun/inswapper-Openvino/samples/README.md
-
curl -L -o README.md https://huggingface.co/HelloSun/inswapper-Openvino/resolve/main/samples/README.md
3.74 kB
換臉效果對比(16 / 8 / 4 bit)
素材為 NASA 公有領域太空人官方肖像照片,用同一套程式碼分別跑 ONNX Runtime FP32(參考) 與 OpenVINO fp16 / int8 / int4 / int4-mixed。
素材與授權
| 角色 | 檔案 | 來源 |
|---|---|---|
| 來源臉孔 | input/source_face_nasa_astronaut.jpg |
NASA Johnson Space Center,jsc2016e096719(JAXA 太空人 Soichi Noguchi 官方肖像) |
| 目標照片 | input/target_photo_nasa_astronaut.jpg |
NASA,jsc2017e063393(Expedition 54/55 太空人官方肖像) |
- NASA 影像頁面:https://images.nasa.gov/details/jsc2016e096719 、 https://images.nasa.gov/details/jsc2017e063393
- 授權:公有領域(Public Domain),NASA 媒體一般不受版權保護。
檔案
| 檔案 | 說明 |
|---|---|
00_source_face.jpg |
來源臉孔對齊後的 128×128 crop |
01_target_original_face.jpg |
目標臉孔(換臉前) |
02_target_original.jpg |
目標照片原圖(1280×1024) |
03_onnxruntime_fp32_reference.jpg |
ONNX Runtime FP32 參考輸出 |
40_openvino_fp16.jpg |
OpenVINO fp16(16-bit)輸出 |
50_openvino_int8.jpg |
OpenVINO int8(W8A8)輸出 |
60_openvino_int4.jpg |
OpenVINO 純 int4(4-bit)輸出 |
70_openvino_int4_mixed.jpg |
OpenVINO int4/8 混合精度輸出 |
20_face_montage.jpg |
128×128 換臉結果並排比較 |
metrics.json |
機讀指標 |
指標
PSNR/SSIM 以 ONNX Runtime FP32(完全相同的預處理與貼回程式碼)為參考;
embedding cos 是 OpenVINO ArcFace 算出的來源 embedding 與 FP32 的餘弦相似度。
| 精度 | swapper 大小 | 臉部 PSNR ↑ | 臉部 SSIM ↑ | 全圖 PSNR ↑ | embedding cos ↑ | 單次換臉 ↑ |
|---|---|---|---|---|---|---|
| ONNX Runtime FP32(參考) | 554.3 MB | – | – | – | 1.00000 | 8.08 s |
| fp16 (16-bit) | 276.9 MB | 56.29 dB | 0.9994 | 71.02 dB | 1.00000 | 0.47 s |
| int8 (8-bit) | 139.1 MB | 19.28 dB | 0.5557 | 37.09 dB | 0.97941 | 0.09 s |
| int4-mixed(75% 權重 4-bit) | 91.7 MB | 17.28 dB | 0.6721 | 37.70 dB | 0.94709 | 0.40 s |
| int4(純 4-bit) | 69.7 MB | 14.79 dB | 0.5317 | 32.29 dB | 0.94709 | 0.43 s |
測試機:Xeon Platinum 8559C(16 vCPU)、OpenVINO 2026.4.1;1280×1024 照片、單張臉。
觀察
- fp16 與原模型幾乎無差(56 dB / SSIM 0.9994),速度快 17×,大小減半 → 預設推薦。
- int8 最快(0.09 s,比 ONNX Runtime FP32 快 87×),模型只有原版 1/4; 臉部有細微顆粒雜訊,但辨識度與膚色都正常。
- int4-mixed 是 4-bit 路線的實用點:膚色正常、沒有明顯色偏, 在 PSNR 上甚至比 int8 好一點(因為它在活化函數附近保留了 INT8 層),大小 91.7 MB。
- 純 int4 不可用:swapper 是類 GAN 網路,4-bit 權重讓膚色整個偏綠/偏橙,
這點在 montage 右下看得很清楚。若一定要「最小模型 + 可接受品質」,
請用
int4-mixed。 embedding cos一欄提醒:ArcFace 的量化精度會直接影響換到誰的臉。 int8 的 cosine 0.979 已足夠安全;用隨機雜訊做校準的話會掉到 0.78(會換錯人), 所以本 repo 的匯出流程強制使用真實人臉校準資料。
重現
python make_calib_data.py --images "input/*.jpg" --samples 24 --out-dir calib
python export_openvino_inswapper.py --onnx-dir onnx --out-dir models --calib-dir calib
python make_sample.py --onnx-dir onnx --models-dir models --out-dir samples
請勿將換臉結果用於冒充他人或未經同意的用途;InsightFace 模型僅限非商業研究用途。
