项目简介
本项目基于Python和PyTorch构建,提出一种不可感知的人脸属性编辑主动防御方法。针对当前基于生成对抗网络(GAN)的人脸属性编辑主动防御方法在性能与扰动不可感知性平衡上的不足,通过设计高频信息补偿机制、多级密集连接机制以及引入人脸显著性对抗损失,有效增强了生成扰动的不可感知性和主动防御性能。
项目的主要特性和功能
- 增强扰动不可感知性:设计高频信息补偿机制,促使生成器生成更多人眼不敏感的高频扰动。
- 提升主动防御性能:采用多级密集连接机制,减少编码过程中的语义损失。
- 破坏人脸伪造区域:在训练中引入人脸显著性对抗损失,使扰动能更好地破坏人脸伪造区域。
- 多场景实验支持:可在单个模型和跨模型防御场景下进行实验。
安装使用步骤
1. 环境准备
确保已安装Python 3.10和PyTorch 1.13.1。
2. 数据集与预训练模型准备
- 从百度网盘下载人脸属性编辑模型StarGAN、AttentionGAN、AttGAN、FGAN的预训练权重与本文训练的U2Net的预训练权重及自建数据集,并修改settings.json中的路径配置为数据集解压后的具体存储路径。
- 点击(Pretrained Weights)下载预训练权重,按照以下路径存放:
- AttentionGAN路径:'./AttentionGAN/AttentionGAN_v1_multi/checkpoints/celeba_256_pretrained/'
- AttGAN路径:'./AttGAN/output/256_shortcut1_inject0_none/checkpoint/'
- FGAN路径:'./fgan/ckpts/'
- StarGAN路径:'./stargan/stargan_celeba_256/models/'
- U2Net路径:'./face_sod_u2net/ckpts/'
- 点击(Face - SOD - DataSet)下载自建人脸显著性数据集,包含12000张训练集图片与3000张测试集图片。
- 点击(Pretrained Weights)下载预训练权重,按照以下路径存放:
3. 模型训练
- 训练模型对AttGAN进行攻击:
python python -m train_sfgan.att_sod_loss
- 训练模型对AttentionGAN进行攻击:
python python -m train_sfgan.attention_sod_loss
- 训练模型对FGAN进行攻击:
python python -m train_sfgan.fgan_sod_loss
- 训练模型进行集成攻击:
python python -m train_sfgan.ensemble
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】