- Antoine Montier
- Cindy Hartmann
L’intelligence artificielle s’est imposée comme approche privilégiée pour la conception de systèmes de détection de Deepfake. Néanmoins, ceux-ci ne sont pas infaillibles et il existe diverses manières de les contourner.
Notre projet s’inscrit dans ce contexte, et se concentre justement sur l’étude des attaques adversariales appliquées aux systèmes de détection de face swapping, une technique de Deepfake consistant à apposer le visage d’une personne sur une autre.
Nos objectifs étaient les suivants :
- Comprendre le fonctionnement des attaques adversariales;
- Appliquer ces attaques à un modèle de détection de Deepfakes / face swapping existant;
- Mesurer la dégradation des performances du détecteur.
Pour les atteindre, nous avons dans un premier temps effectué un état de l’art des attaques adversariales. Puis, nous avons choisi un modèle et un jeu de données de référence. Enfin, nous avons appliqué certaines de ces attaques sur notre modèle et constaté la dégradation de ses performances.
Nous avons commencé par réaliser un état de l'art sur différentes attaques appliquées sur le dataset du MNIST. Le but était de sélectionner les attaques qui allaient nous intéresser pour la suite.
Nous avons découpé et recadré les différentes images utilisées lors de ce projet de manière à avoir des données d'entraînnement bien calibrées pour le système de détection.
- Notebook montrant la manière dont l'outil de freearhey extrait les visages
- Script de conversion vers un modèle au format
onnx
Pour attaquer notre système de détection, il a d'abord fallu s'assurer qu'il fonctionne bien. Nous avons donc amélioré le préprocessing effectué sur les données de manière à rendre le modèle plus performant.
- Évaluation du modèle sur l'ancien jeu de données
- Évaluation du modèle sur le nouveau jeu de données (obtenu après filtrage)
Le code des différentes attaques
Ce code a également permis d'obtenir des graphique comme celui présenté ci-dessous :
Les UAP sont des perturbations universelles, elles ouvrent la voie vers des attaques sur des modèles blackbox.
Nous en avons généré avec PGD et DeepFool :
Puis nous avons évalué la performance des perturbations :
- Évaluation d'une perturbation universelle générée avec PGD
- Évaluation d'une perturbation universelle générée avec DeepFool
Les différentes perturbations universelles obtenues lors de ce projet sont stockées dans ce dossier. Leur nom de fichier précise les paramètres utilisés pour leur génération.
Finalement, nous avons généré des Deepfakes de célébrités disponibles dans ce dossier. Nous avons ensuite appliqué la perturbation sur ces images en utilisant ce notebook avant d'utiliser un détecteur de Deepfake en ligne dans le but d'observer si les images sont reconnues comme étant des Deepfake. Les scores sont disponibles ici
