Skip to content

This repository is the official implementation of our paper "Rethinking Individual Fairness in Deepfake Detection", which has been accepted by ACM MM 2025.

License

Notifications You must be signed in to change notification settings

Purdue-M2/Individual-Fairness-Deepfake-Detection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Individual-Fairness-Deepfake-Detection

Aryana Hou (11th Grade), Li Lin, Justin Li (9th Grade), Shu Hu


This repository is the official implementation of our paper "Rethinking Individual Fairness in Deepfake Detection", which has been accepted by ACM MM 2025.

1. Installation

You can run the following script to configure the necessary environment:

cd Individual-Fairness-Deepfake-Detection
conda create -n IndividualFairness python=3.9.0
conda activate IndividualFairness
pip install -r requirements.txt

2. Dataset Preparation

The FF++, Celeb-DF, DFD, DFDC, and AI-Face datasets can be downloaded from their official links: The FF++ dataset can be downloaded from link; Celeb-DF from link; DFD from link; DFDC from link; and AI-Face dataset from link. The train and test CSVs for each dataset are available through this link.

3. Load Pretrained Weights

Before running the training code, make sure you load the pre-trained weights. We provide pre-trained weights under ./training/pretrained.

To load the checkpoints we used in our paper to the different models, you can find them from this link.

4. Train

To run the training code, you should first go to the ./training/ folder, then you can train our model by running train.py:

cd training

python train.py 

You can adjust the parameters in train.py to specify the parameters, e.g., batchsize, model, etc.

--test_batchsize: batch size, default is 32.

--train_batchsize: batch size, default is 32.

--checkpoints: checkpoint path, default is ''.

--mode: method used ['naive', 'ours'], default is 'naive'.

--model: detector name ['xception', 'efficientnet', 'resnet''], default is 'xception'.

5. Test

  • For model testing, we provide a python file to test our model by running python test.py.

    --test_batchsize: batch size, default is 32.

    --train_batchsize: batch size, default is 32.

    --checkpoints: checkpoint path, default is ''.

    --mode: method used ['naive', 'ours'], default is 'naive'.

    --model: detector name ['xception', 'efficientnet', 'resnet''], default is 'xception'.

  • After testing, for metric calculation, we provide the AUC, $L_{\text{ind}}^{\text{naive}}$, and $L_{\text{ind}}^*$.

Provided Backbones

File name Paper
Xception xception.py Xception: Deep learning with depthwise separable convolutions
ResNet50 resnet50.py Deep Residual Learning for Image Recognition
EfficientNet-B3 efficientnetb3.py Efficientnet: Rethinking model scaling for convolutional neural networks

6. Citation

Please kindly consider citing our papers in your publications as:

@inproceedings{hou2025individualfairness,
  title={Rethinking Individual Fairness in Deepfake Detection},
  author={Aryana Hou and Li Lin and Justin Li and Shu Hu},
  booktitle={Proceedings of the 33rd ACM International Conference on Multimedia (ACM MM)},
  year={2025},
  doi={10.1145/3746027.3755244}
}

About

This repository is the official implementation of our paper "Rethinking Individual Fairness in Deepfake Detection", which has been accepted by ACM MM 2025.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages