Il morphing è una tecnica sofisticata che combina più volti per creare immagini artificiali con l'obiettivo di eludere i sistemi di riconoscimento facciale. Questa tecnica sfrutta le capacità avanzate dell'intelligenza artificiale per fondere caratteristiche distintive di volti diversi, generando così immagini che appaiono realistiche ma che, in realtà, sono false.
In questo progetto vengono utilizzati approcci di Machine Learning e Deep Learning per addestrare degli agenti in grado di rilevare le immagini contraffatte. È possibile consultare la presentazione del progetto a questo link.
Per il progetto è stato utilizzato il dataset "AMSL Face Morph Image Data Set", scaricabile da questo link. Il repository contiene solamente i notebooks e i file necessari per addestrare ed eseguire i modelli, ma il dataset per gli addestramenti non viene fornito per via della licenza.
L'unico requisito è un account Google per poter accedere a Google Drive e salvare la cartella contenente i notebooks da eseguire tramite Google Colab.
-
Scaricare i file da GitHub e caricarli su Google Drive nella stessa cartella;
NOTA: È fortemente consigliato di creare la cartella del progetto nella propria home su Google Drive. Qualora si voglia comunque utilizzare una cartella differente sarà necessario aggiornare il percorso della cartella su ogni notebook. -
Aprire il file
settings.json
e inserire i Google Drive ID per il file zip contenente il dataset e per il file csv contenente informazioni extra riguardo il dataset. Il json fornito non contiene un ID per il dataset; -
In qualsiasi notebook verrà chiesto di inserire il percorso della cartella Google Drive dove sono contenuti i vari file. Una volta impostata sarà possibile eseguire i notebooks;
NOTA: Il percorso va impostato manualmente in qualsiasi notebook al momento del suo primo utilizzo, poi rimarrà salvato e non ci sarà bisogno di inserirlo nuovamente.
Il progetto è stato organizzato in più notebooks/files in base ai modelli e alle operazioni da effettuare:
Nome File | Descrizione |
---|---|
Analisi Dataset.ipynb |
Notebook per l'analisi del dataset e del csv ad esso associato |
Pre Processing.ipynb |
Notebook per il pre-processing del dataset |
Classificatore I.ipynb |
Notebook contenente il primo classificatore semplice |
Classificatore II (CNN).ipynb |
Notebook contenente il secondo classificatore semplice |
Componente Avanzata.ipynb |
Notebook il sistema di riconoscimento facciale naive |
settings.json |
File di configurazione per download del dataset e di altri file |
shared_utilities.py |
File python contenente le funzioni condivise |