Image classification
Description
Ce répertoire contient le rendu pour le BE de classification d'image dans le cadre du MOD apprentissage profond et intelligence artificielle. L'objectif de ce projet est d'appliquer des méthodes de classification étudiées en cours sur un échantillon d'images fourni.
Les méthodes testées ici sont celles des K-plus proches voisins (KNN) et des réseaux de neurones (NN). Le jeu de données qui servira durant cette étude est constitué de 60 000 images réparties en 10 classes (soient 6000 images par classe).
Usage
Le répertoire est constitué des éléments suivants :
-
Un dossier "data" qui contient les images à exploiter. Celui-ci contient 6 lots de 10 000 images chacun, ainsi que d'un fichier "batches_meta" qui contient un dictionnaire qui fait correspondre les indices des classes (1 à 10) à leur classe (automobile, avion, etc.).
-
Un script python read_cifar.py qui contient les fonctions servant à lire les données de "data" ainsi qu'une fonction split_dataset qui permet de diviser les données aléatoirement en un jeu d'entraînement et un jeu de test, selon un coefficient "split" compris entre 0 et 1 qui permet de déterminer la taille du jeu de test. En lançant le script, on teste la fonction split_dataset en vérifiant que les jeux d'entraînement et de test ont bien la bonne taille.
-
Un script python knn.py qui permet de tester la méthode des K-plus proches voisins sur le jeu de données. En lançant le script, on peut obtenir le taux de réussite (compris entre 0 et 1) de l'algorithme des K-plus proches voisins, avec des valeurs de split et de K qu'on peut faire varier (lignes 60 et 61). Pour obtenir le graphe de l'évolution du taux de réussite de l'algorithme selon le nombre de voisins, il suffit d'enlever les # devant les dernières lignes du script (lignes 69 à 77).
-
Un script python mlp.py qui permet de tester la méthode du réseau de neurones sur le jeu de données.
-
Un dossier "results" qui contient certains résultats significatifs de l'étude. Tout d'abord, on y retrouve le fichier knn.png qui est un screenshot du graphique représentant l'évolution du taux de réussite de l'algorithme des plus proches voisins selon le nombre de voisins K choisi (K variant de 1 à 20).
License
For open source projects, say how it is licensed.
Project status
If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers.