Progetto svolto durante il periodo di tirocinio per la tesi di Laurea Triennale in Informatica.
Il progetto consiste in un framework di re-identificazione basato su features estratte da uno skeleton 3D generato tramite Unity. Il riconoscimento dei soggetti avviene attraverso reti neurali, in particolare sono stati testati 6 diversi modelli di rete neurale. Tutti i dettagli sulle features e sull'architettura implementati sono disponibili nella tesi, disponibile al seguente link.
Per poter eseguire gli esperimenti è necessario seguire i seguenti step:
- Clonare la repository
git clone https://github.com/valerio-pescatori/person_re-id
- Alternativamente è possibile scaricare l'archivio zip
- Scaricare il dataset, disponibile al seguente link
- Estrarre il contenuto dell'archivio nella cartella
Data/
- Alternativamente è possibile generare il dataset manualmente, è sufficiente:
- Aprire il progetto in Unity
- Caricare la scena tramite File --> Load Scene -->
Scenes\SampleScene.unity
- Premere il tasto Play, la collezione del dataset impiegherà circa 3 ore.
- Alternativamente è possibile generare il dataset manualmente, è sufficiente:
Una volta collezionato il dataset è possibile eseguire i test sui vari modelli di neural network implementati.
È sufficiente eseguire il file python python Python/neuralnets.py
, è possibile specificare 3 flag tramite cli:
--ablation
/-a
: Da inserire se si voglio eseguire i test sia sul modello completo che con le ablazioni--save_states
/-ss
: Da inserire se si vogliono salvare i dizionari dello stato dei modelli e dei relativi optimizer nella cartella Python/model_states/--load_states
/-ls
: Da inserire se si vogliono caricare i dizionari dello stato dei modelli e dei relativi optimizer dalla cartella Python/model_states/