Skip to content

Progetto finale del corso Deep Learning, A.A. 2023/2024, Università degli studi di Cagliari.

License

Notifications You must be signed in to change notification settings

TheRoberto2512/DeepBrainMRI

Repository files navigation

TensorFlow Keras NumPy Pandas Matplotlib scikit-learn Google Drive Kaggle

DeepBrainMRI

Il progetto mira allo sviluppo di un sistema diagnostico per identificare e classificare tumori cerebrali attraverso immagini di risonanza magnetica. Questa innovazione potrebbe estendersi a modelli più avanzati, assistendo professionisti non solo nella diagnosi delle malattie più comuni, ma anche delle malattie più rare e complicate da diagnosticare. L'intelligenza artificiale offre un potenziale significativo nell'ambito medico, migliorando la precisione diagnostica e supportando il trattamento.

Risorse Utili

Il report finale è consultabile a questo link. Si può reperire il dataset originale qui. È inoltre possibile scaricare direttamente i pesi dell'EfficientNetV2S Fine Tuning a questo link. Tutti i riferimenti a siti, documenti e/o persone sono riportati alla fine del report finale.

Installazione

Requisiti:

Seguire i seguenti passaggi:

  1. Andare su Kaggle, effettuare il login e recarsi nelle impostazioni cliccando l'immagine in alto a destra e poi su settings;
  2. Nella sezione API cliccare su Create New Token e si avvierà il download di un file chiamato "kaggle.json";
  3. Scaricare i Notebook da GitHub e caricarli tutti sulla stessa cartella su Google Drive;
    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.
  4. Una volta caricati su Google Drive in una cartella comune, aprire il file chiamato Dataset (Download + Pre-Processing).ipynb ed eseguire le prime istruzioni;
  5. Quando verrà chiesto di caricare il file kaggle.json, inserire il file scariato al punto n°2;
  6. Dopo che opendatasets avrà ricevuto il file json avvierà il download del dataset. Ora è possibile pre-processarlo a propria scelta e salvarlo su Google Drive, in modo che sia facilmente accessibile agli altri notebook;
    NOTA: A causa di limitazioni di Google Drive, potrebbero essere necessari diversi minuti affinché il dataset salvato risulti visibile e accessibile dai notebook!
  7. Una volta salvato uno o più datasets, questi saranno facilmente importabili negli altri notebook e utilizzabili con i vari modelli.

Struttura del progetto

Il progetto è stato organizzato in più notebook in base ai modelli e alle operazioni da effettuare:

Nome File Operazioni effettuabili
Dataset (Download + Pre-Processing).ipynb Permette di scaricare il dataset, analizzarlo ed eseguire diversi tipi di pre-processing
Modello Dense.ipynb Permette di addestrare un modello Dense e verificarne le prestazioni
Modello Convolutivo.ipynb Permette di addestrare un modello Convolutivo e verificarne le prestazioni
Modello EfficientNetV2S.ipynb Permette di osservare le prestazioni dell'EfficientNetV2 con e senza Fine Tuning
Analisi dei risultati.ipynb Permette di mettere a confronto i vari modelli e le loro performance

Librerie utilizzate

All'interno dei notebook sono state utilizzate le seguenti librerie:

Nome Libreria Utilizzo
Tensorflow e Keras Per utilizzare i modelli, i layer e i tensori
OpenDatasets Per il download del dataset da kaggle
Numpy e Pandas Per operazioni di processing
MatPlotLib Per visualizzare i dati graficamente
os e shutil Per gestire file e cartelle
scikitlearn Per le matrici di confusione
PIL Per manipolazione e salvataggio delle immagini

Autori