[奇思妙想] RECCV 检测人脸伪造项目尝试与扩展
·
https://github.com/VISION-SJTU/RECCE/tree/main 源码地址 📄 用于人脸伪造检测的端到端重建分类学习 介绍 此代码库是 CVPR 2022 中提出的用于人脸伪造检测的端到端重构-分类学习的实现。在论文中,我们提出了一种名为 RECCE 的新型重构-分类学习框架,用于检测人脸伪造。代码基于 Pytorch。请按照以下说明开始使用。 动机 简而言之,我们仅对真实图像训练一个重建网络,并使用编码器的潜在特征输出进行二分类。由于真实人脸与伪造人脸之间的数据分布存在差异,伪造人脸的重建差异明显,并能指示出可能被伪造的区域。 基本要求 请确保您已经安装了以下软件包。 Pytorch 1.7.1 Torchvision 0.8.2 albumentations1.0.3 Timm 0.3.4 TensorboardX 2.1 Scipy 1.5.2 PyYaml 5.3.1 在此之前需要进行训练,和数据集的准备 数据集准备 我们包含了几个常用人脸伪造数据集的加载器,例如FaceForensics++、Celeb-DF、WildDeepfake和DFDC。您可以进入数据集网站下载原始数据。 对于 FaceForensics++、Celeb-DF 和 DFDC ,由于原始数据是视频格式,因此需要先从序列中提取面部图像并存储。我们使用RetinaFace来完成这项工作。 配置文件 我们已经在 中提供了配置模板config/。您可以调整 yaml 文件中的参数来指定训练流程。更多信息请参阅config/README.md。 训练 要训练模型,请在控制台中运行以下脚本。 训练会根据你的配置进行,花费大概多久的时间. 我们使用torch.distributed包来训练模型,有关更多信息,请参阅PyTorch 分布式概述。 CUDA_VISIBLE_DEVICES=0 python -m torch.distributed.launch –nproc_per_node=1 –master_port 12345 train.py…