Skip to content

MI-BioLab/BioLab-AAC2025-Detection

Repository files navigation

AAC2025 Detection (Track 1) - BioLab submission

This is the code repository for the BioLab (our) submission to the Adversarial Attack Challenge (AAC) 2025 @ IJCB 2025, Track 1: Detection. The challenge is organized by Youverse and focuses on detecting adversarial attacks in face recognition systems.

Our final solution is based on a small architecture named PerturbationNet, which is a lightweight convolutional neural network (CNN) designed to detect adversarial perturbations in images. The model is trained on the training part of AdvCelebA of the provided dataset which features images attacked using 10 different attack types.

The code is based on a early version of the AI-GenBench codebase.

The Team

  • Team Name: BioLab
  • Websites
  • Team Members: Lorenzo Pellegrini (1), Nicolò di Domenico (2), Guido Borghi (3)
  • Affiliations:
    1. Assistant Professor (RTD-a), University of Bologna, Italy
    2. PhD Student, University of Bologna, Italy
    3. Associate Professor, University of Modena and Reggio Emilia, Italy

Running the code

  • Clone the repository:

    git clone TBA
    cd BioLab-AAC2025-PerturbationNet
  • Install the required packages:

    pip install -r requirements.txt
  • Run the dataset standardization script (adjust the paths in the script as needed):

    python dataset_preparation/generate_arrow_track1.py

    this will generate an arrow dataset (which will be loaded using the datasets library).

  • (Optional) Also convert the LFW part (test only):

    python  dataset_preparation/generate_arrow_track1_lfw.py
  • Adjust the configuration file aac_training_configurations/aac_full_training.yaml with the correct dataset paths.

  • Train the model:

    bash run_training_aac.sh

Notes

  • In the code our solution is named "smallnet_mlp". However, we renamed it to "PerturbationNet" in the final submission and report.
  • Our final solution was trained using bf16-mixed precision, but the submission runs an inference in 32-bit precision.
  • You may find the configurations for different attempts in the aac_training_configurations directory. Some of those may be a bit outdated, but they can be useful for reference.
  • The framework may be a bit complicated to understand as it included many features needed for the AI-GenBench paper. The code released in the AI-GenBench repository may be a bit more polished.

Useful links

Credits and citation

A final report of the competition is coming soon. Check the challenge website for updates!

License

This code is released under the BSD-3-Clause license.

About

Our (BioLab team) solution for the AAC2025 @ IJCB competition, Detection Track.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published