Deepfake-Detection-Exp-02-21 是一个基于 ViT (Vision Transformer) 的深度伪造图像检测模型。该模型使用 Google 的 google/vit-base-patch16-224-in21k 作为基础架构,在 Deepfake vs Real 数据集上微调,用于区分真实图像与深度伪造图像。
图像分类(Image Classification)- 二分类:Deepfake(深度伪造)vs Real(真实)
PyTorch
该模型已适配华为昇腾 NPU(Ascend910)。主要适配工作:
torch_npu 在昇腾 NPU 上运行模型推理.to("npu") 迁移至 NPU 设备# 安装依赖
pip install torch torchvision transformers pillow numpy
# 确保 torch_npu 可用
python -c "import torch; print(torch.npu.is_available())"# CPU 推理
python inference.py --image path/to/image.jpg --device cpu
# NPU 推理
python inference.py --image path/to/image.jpg --device npu| 设备 | 类别 | 置信度 | 推理耗时 |
|---|---|---|---|
| CPU | Deepfake | 0.515876 | 663.54 ms |
| NPU | Deepfake | 0.515891 | 10.91 ms |
NPU 推理速度约为 CPU 的 60 倍。
python compare_cpu_npu.py| 测试图像 | 指标 | CPU 结果 | NPU 结果 | 差异 |
|---|---|---|---|---|
| test_face.png | 分类 | Deepfake | Deepfake | 一致 |
| test_face.png | 概率(Deepfake) | 0.515876 | 0.515891 | 0.000015 |
| test_face.png | 概率(Real) | 0.484124 | 0.484109 | 0.000015 |
| test_face.png | 余弦相似度 | - | - | 0.999840 |
| test_face2.png | 分类 | Deepfake | Deepfake | 一致 |
| test_face2.png | 概率(Deepfake) | 0.581591 | 0.581560 | 0.000031 |
| test_face2.png | 概率(Real) | 0.418409 | 0.418440 | 0.000031 |
| test_face2.png | 余弦相似度 | - | - | 0.999996 |
结论:NPU 与 CPU 推理结果误差 < 1%(最大概率相对误差 0.008%)
| 设备 | 推理耗时 (ms) | 加速比 |
|---|---|---|
| CPU | 663.54 | 1x |
| NPU (Ascend910) | 10.91 | ~60x |
基于现有评测数据,CPU 与 NPU 的 余弦相似度 精度误差为 0.016%,小于 1% 的精度要求。
本仓库提供完整的推理脚本,支持 CPU 和 NPU 双平台推理:
# NPU 推理
python3 inference.py --device npu
# CPU 推理
python3 inference.py --device cpu推理完成后会输出推理结果和耗时,表明模型在 NPU 上推理成功。
基于现有评测数据,CPU 与 NPU 的 余弦相似度 精度误差为 0.016%,小于 1% 的精度要求。
#+NPU #+CV #+图像分类 #+深度伪造检测 #+ViT #+昇腾 #+PyTorch