Reseaux convolutifs

Les réseaux convolutifs (Convolutional Neural Networks, ou CNN) ont révolutionné le domaine de la vision par ordinateur en permettant des avancées significatives dans des tâches variées telles que la classification d’images, la détection d’objets, la segmentation d’images et bien plus encore.

Ce projet explore l’utilisation des CNN pour résoudre différents problèmes de traitement d’images en utilisant le transfert d’apprentissage (transfer learning).
Le transfert d’apprentissage est une technique qui permet d’utiliser des modèles pré-entraînés sur de grandes bases de données (comme ImageNet) pour résoudre des tâches spécifiques avec moins de données.
En réutilisant les connaissances acquises par ces modèles, nous pouvons adapter efficacement les réseaux convolutifs à de nouveaux problèmes de vision par ordinateur.


6 architectures de CNN pré-entraînées ont été testées :


Nous traitons un ensemble de données comportant 27 catégories et 84916 enregistrements.
Avant d’entraîner les modèles, nous appliquons les techniques suivantes pour équilibrer les classes :

Tous les modèles ont suivi le même préprocessing :



Modèles


Modèle EfficientNetB1


Configuration de EfficientNetB1 pour le transfert learning :


Une partie du modèle pré-entraîné peut être gelée pour conserver les caractéristiques générales.
Les couches supérieures peuvent être ajustée pour apprendre des spécificités de la nouvelle tâche de classification d'images.
Ici toutes les couches sont gelées.


Construction du Modèle Séquentiel :


L'objectif de cette architecture est de tirer parti de l'extraction de caractéristiques avancées d'EfficientNetB1
et de compléter avec des couches personnalisées qui adaptent ces caractéristiques pour une classification
sur 27 classes.

  • Régularisation : Les couches de dropout et de batch normalization aident à réduire le risque de surapprentissage
  • GlobalAveragePooling2D : Les couches denses et le pooling global permettent au modèle de capturer
    et de combiner efficacement des caractéristiques complexes.


model = Sequential()

model.add(base_model) # Ajout du modèle EfficientB1

model.add(GlobalAveragePooling2D())

model.add(Dropout(0.4))

model.add(Dense(1024, activation='relu'))

model.add(BatchNormalization())

model.add(Dense(1024, activation='relu'))

model.add(Dropout(0.4))

model.add(Dense(27, activation='softmax'))


Rapport d'entraînement



Epoch 1/20
4670/4670 [==============================] - 2830s 603ms/step - loss: 2.0716 - accuracy: 0.4152 - val_loss: 1.4348 - val_accuracy: 0.5778 - lr: 1.0000e-04
Epoch 2/20
4670/4670 [==============================] - 2833s 607ms/step - loss: 1.5588 - accuracy: 0.5415 - val_loss: 1.3241 - val_accuracy: 0.6158 - lr: 1.0000e-04
Epoch 3/20
4670/4670 [==============================] - 2895s 620ms/step - loss: 1.3378 - accuracy: 0.5986 - val_loss: 1.2785 - val_accuracy: 0.6294 - lr: 1.0000e-04
Epoch 4/20
4670/4670 [==============================] - 2854s 611ms/step - loss: 1.1716 - accuracy: 0.6424 - val_loss: 1.3291 - val_accuracy: 0.6307 - lr: 1.0000e-04
Epoch 5/20
4670/4670 [==============================] - 2882s 617ms/step - loss: 1.0406 - accuracy: 0.6774 - val_loss: 1.2954 - val_accuracy: 0.6463 - lr: 1.0000e-04
Epoch 6/20
4670/4670 [==============================] - 2840s 608ms/step - loss: 0.9342 - accuracy: 0.7055 - val_loss: 1.3314 - val_accuracy: 0.6437 - lr: 1.0000e-04
Epoch 7/20
4670/4670 [==============================] - 2840s 608ms/step - loss: 0.8464 - accuracy: 0.7292 - val_loss: 1.3677 - val_accuracy: 0.6420 - lr: 1.0000e-04
Epoch 7: ReduceLROnPlateau reducing learning rate to 4.999999873689376e-05.
Epoch 8/20
4670/4670 [==============================] - 2840s 608ms/step - loss: 0.6803 - accuracy: 0.7774 - val_loss: 1.3871 - val_accuracy: 0.6563 - lr: 5.0000e-05
Epoch 9/20
4670/4670 [==============================] - 2840s 608ms/step - loss: 0.6027 - accuracy: 0.7998 - val_loss: 1.4737 - val_accuracy: 0.6547 - lr: 5.0000e-05
Epoch 10/20
4670/4670 [==============================] - 2837s 608ms/step - loss: 0.5524 - accuracy: 0.8154 - val_loss: 1.5161 - val_accuracy: 0.6542 - lr: 5.0000e-05
Epoch 10: ReduceLROnPlateau reducing learning rate to 2.499999936844688e-05.
Epoch 11/20
4670/4670 [==============================] - 2840s 608ms/step - loss: 0.5006 - accuracy: 0.8320 - val_loss: 1.5787 - val_accuracy: 0.6564 - lr: 5.0000e-05
Epoch 12/20
4670/4670 [==============================] - 2913s 624ms/step - loss: 0.4202 - accuracy: 0.8579 - val_loss: 1.5913 - val_accuracy: 0.6602 - lr: 2.5000e-05
Epoch 13/20
4670/4670 [==============================] - 2834s 607ms/step - loss: 0.3829 - accuracy: 0.8709 - val_loss: 1.6535 - val_accuracy: 0.6567 - lr: 2.5000e-05
Epoch 14/20
4670/4670 [==============================] - 2900s 621ms/step - loss: 0.3567 - accuracy: 0.8788 - val_loss: 1.7056 - val_accuracy: 0.6570 - lr: 2.5000e-05
Epoch 15/20
4670/4670 [==============================] - 2846s 609ms/step - loss: 0.3319 - accuracy: 0.8861 - val_loss: 1.7011 - val_accuracy: 0.6632 - lr: 2.5000e-05
Epoch 15: ReduceLROnPlateau reducing learning rate to 1.249999968422344e-05.
Epoch 16/20
4670/4670 [==============================] - 2830s 606ms/step - loss: 0.2981 - accuracy: 0.8976 - val_loss: 1.7517 - val_accuracy: 0.6612 - lr: 1.2500e-05
Epoch 17/20
4670/4670 [==============================] - 2828s 606ms/step - loss: 0.2833 - accuracy: 0.9024 - val_loss: 1.7730 - val_accuracy: 0.6627 - lr: 1.2500e-05
Epoch 18/20
4670/4670 [==============================] - 2864s 613ms/step - loss: 0.2653 - accuracy: 0.9085 - val_loss: 1.8102 - val_accuracy: 0.6594 - lr: 1.2500e-05
Epoch 19/20
4670/4670 [==============================] - 4352s 932ms/step - loss: 0.2572 - accuracy: 0.9109 - val_loss: 1.8403 - val_accuracy: 0.6614 - lr: 1.2500e-05
Epoch 19: ReduceLROnPlateau reducing learning rate to 6.24999984211172e-06.
Epoch 20/20
4670/4670 [==============================] - 4476s 958ms/step - loss: 0.2399 - accuracy: 0.9178 - val_loss: 1.8650 - val_accuracy: 0.6591 - lr: 6.2500e-06


precisions et pertes par époque :


val_accuracy: 0.6590


Resultats EfficientNetB1


Rapport de classification :


Ce rapport inclut des métriques comme la précision, le rappel (recall), le score F1 et le support pour chaque classe individuelle :

  • Précision (Precision) : le nombre de positifs bien prédit (Vrai Positif) divisé par l’ensemble des positifs prédit (Vrai Positif + Faux Positif)
  • Rappel (Recall) : le nombre de positifs bien prédit (Vrai Positif) divisé par l’ensemble des positifs (Vrai Positif + Faux Négatif)
  • Score F1 : La moyenne harmonique de la précision et du rappel, fournissant une évaluation relativement correct de la performance de notre modèle
  • Support : Le nombre d'occurrences réelles de chaque classe dans l'ensemble de test.

Précision de la Prédiction: 65.91497880357984 %

Évaluation détaillée de la Classification par RDF :

Classe Précision Rappel F1-Score Support
10 0.57 0.44 0.50 623
40 0.68 0.54 0.60 502
50 0.52 0.53 0.53 336
60 0.77 0.81 0.79 166
1140 0.67 0.66 0.66 534
1160 0.90 0.96 0.93 791
1180 0.44 0.55 0.49 153
1280 0.48 0.40 0.43 974
1281 0.37 0.34 0.36 414
1300 0.68 0.79 0.73 1009
1301 0.57 0.71 0.64 161
1302 0.50 0.48 0.49 498
1320 0.54 0.54 0.54 648
1560 0.58 0.61 0.59 1015
1920 0.80 0.77 0.78 861
1940 0.71 0.79 0.74 161
2060 0.57 0.49 0.52 999
2220 0.47 0.53 0.50 165
2280 0.76 0.80 0.78 952
2403 0.68 0.68 0.68 955
2462 0.60 0.71 0.65 284
2522 0.70 0.72 0.71 998
2582 0.43 0.47 0.45 518
2583 0.88 0.86 0.87 2042
2585 0.51 0.50 0.51 499
2705 0.63 0.73 0.68 552
2905 0.64 0.85 0.73 174
accuracy 0.66 16984
macro avg 0.62 0.64 0.63 16984
weighted avg 0.66 0.66 0.66 16984

Matrice de confusion :


  • 1. La matrice de confusion fournit une représentation visuelle des performances du modèle, montrant non seulement les bonnes classifications mais aussi les erreurs (faux positifs et faux négatifs).
  • 2. En identifiant où le modèle a échoué (c.-à-d., les cellules non-diagonales de la matrice), on peut cibler les améliorations à apporter au modèle ou aux données d'entraînement.
  • 3. Analyser la matrice de confusion permet d'identifier des classes spécifiques qui sont souvent confondues, ce qui peut indiquer un besoin d'ajustement des caractéristiques d'entrée ou d'ajout de données supplémentaires pour ces classes.

confusion_EfficientNetB1

répartition des classes :

10 ------ livres
10, 43.98%, livres
2705, 21.67%, bds et livres
2280, 11.56%, magazines
2403, 10.75%, livres et bds
2522, 1.77%, produits de papeterie et rangement bureau
40 ------ jeux video pour pc et consoles
40, 53.98%, jeux video pour pc et consoles
2905, 8.76%, Jeu En téléchargement
2462, 8.17%, consoles de jeux video et jeux videos
50, 5.38%, accesoires jeux video
1281, 3.59%, jeux de societe/cartes
50 ------ accesoires jeux video
50, 52.68%, accesoires jeux video
1300, 7.74%, Petites voitures (jouets) et maquettes
60, 5.95%, consoles de jeux video
2462, 4.46%, consoles de jeux video et jeux videos
1140, 4.17%, produits derives “geeks” et figurines
60 ------ consoles de jeux video
60, 80.72%, consoles de jeux video
2462, 5.42%, consoles de jeux video et jeux videos
50, 4.82%, accesoires jeux video
40, 2.41%, jeux video pour pc et consoles
1280, 1.81%, jouets, peluches, poupees
1140 ------ produits derives “geeks” et figurines
1140, 65.54%, produits derives “geeks” et figurines
1280, 9.55%, jouets, peluches, poupees
1180, 4.49%, figurines collectionables pour jeux de societe
1281, 2.43%, jeux de societe/cartes
1300, 2.25%, Petites voitures (jouets) et maquettes
1160 ------ cartes collectionables
1160, 95.58%, cartes collectionables
2403, 0.76%, livres et bds
40, 0.51%, jeux video pour pc et consoles
1280, 0.51%, jouets, peluches, poupees
2462, 0.51%, consoles de jeux video et jeux videos
1180 ------ figurines collectionables pour jeux de societe
1180, 54.90%, figurines collectionables pour jeux de societe
1140, 7.84%, produits derives “geeks” et figurines
1281, 7.19%, jeux de societe/cartes
1280, 4.58%, jouets, peluches, poupees
2403, 3.92%, livres et bds
1280 ------ jouets, peluches, poupees
1280, 39.53%, jouets, peluches, poupees
1300, 16.32%, Petites voitures (jouets) et maquettes
1281, 7.29%, jeux de societe/cartes
1140, 6.78%, produits derives “geeks” et figurines
1320, 5.24%, sacs pour femmes et accesore petite enfance
1281 ------ jeux de societe/cartes
1281, 34.30%, jeux de societe/cartes
1280, 14.25%, jouets, peluches, poupees
2403, 7.49%, livres et bds
1180, 6.04%, figurines collectionables pour jeux de societe
1160, 5.56%, cartes collectionables
1300 ------ Petites voitures (jouets) et maquettes
1300, 79.39%, Petites voitures (jouets) et maquettes
1280, 8.72%, jouets, peluches, poupees
50, 1.98%, accesoires jeux video
2585, 1.29%, outillage et accesoires pour jardinage
1302, 1.09%, jeux d'exterieur
1301 ------ accesoires pour petis enfants/bebes et mobilier de jeu (flechettes, billard, babyfoot)
1301, 71.43%, accesoires pour petis enfants/bebes et mobilier de jeu (flechettes, billard, babyfoot)
1320, 3.73%, sacs pour femmes et accesore petite enfance
2583, 3.11%, accesoires de piscine
2060, 2.48%, lampes et accesoires decoration pour maison
2585, 2.48%, outillage et accesoires pour jardinage
1302 ------ jeux d'exterieur
1302, 47.99%, jeux d'exterieur
1280, 7.83%, jouets, peluches, poupees
1320, 7.63%, sacs pour femmes et accesore petite enfance
1560, 4.22%, Mobilier et produits decoration/rangement pour la maison
2585, 4.02%, outillage et accesoires pour jardinage
1320 ------ sacs pour femmes et accesore petite enfance
1320, 53.55%, sacs pour femmes et accesore petite enfance
1560, 6.64%, Mobilier et produits decoration/rangement pour la maison
2060, 5.71%, lampes et accesoires decoration pour maison
1280, 5.25%, jouets, peluches, poupees
1920, 3.40%, linge de maison (cousins, rideaux, serviettes, nappes, draps)
1560 ------ Mobilier et produits decoration/rangement pour la maison
1560, 60.89%, Mobilier et produits decoration/rangement pour la maison
2582, 9.85%, mobilier d'exterieur et accesoires (parasols,pots,tentes,etc)
2060, 7.39%, lampes et accesoires decoration pour maison
1920, 4.24%, linge de maison (cousins, rideaux, serviettes, nappes, draps)
1320, 3.25%, sacs pour femmes et accesore petite enfance
1920 ------ linge de maison (cousins, rideaux, serviettes, nappes, draps)
1920, 76.89%, linge de maison (cousins, rideaux, serviettes, nappes, draps)
1560, 6.62%, Mobilier et produits decoration/rangement pour la maison
2060, 5.57%, lampes et accesoires decoration pour maison
1320, 2.44%, sacs pour femmes et accesore petite enfance
2522, 1.51%, produits de papeterie et rangement bureau
1940 ------ nouriture (cafes,infusions,conserves, epices,etc)
1940, 78.88%, nouriture (cafes,infusions,conserves, epices,etc)
2522, 2.48%, produits de papeterie et rangement bureau
2582, 2.48%, mobilier d'exterieur et accesoires (parasols,pots,tentes,etc)
1560, 1.86%, Mobilier et produits decoration/rangement pour la maison
2583, 1.86%, accesoires de piscine
2060 ------ lampes et accesoires decoration pour maison
2060, 48.85%, lampes et accesoires decoration pour maison
1560, 11.01%, Mobilier et produits decoration/rangement pour la maison
1920, 5.71%, linge de maison (cousins, rideaux, serviettes, nappes, draps)
2582, 5.41%, mobilier d'exterieur et accesoires (parasols,pots,tentes,etc)
1320, 4.40%, sacs pour femmes et accesore petite enfance
2220 ------ accesoires mascots/pets
2220, 53.33%, accesoires mascots/pets
1320, 6.67%, sacs pour femmes et accesore petite enfance
1560, 6.06%, Mobilier et produits decoration/rangement pour la maison
1280, 6.06%, jouets, peluches, poupees
2582, 4.85%, mobilier d'exterieur et accesoires (parasols,pots,tentes,etc)
2280 ------ magazines
2280, 80.46%, magazines
2403, 9.98%, livres et bds
10, 3.78%, livres
2705, 2.21%, bds et livres
40, 0.84%, jeux video pour pc et consoles
2403 ------ livres et bds
2403, 68.27%, livres et bds
2280, 10.89%, magazines
10, 4.82%, livres
2705, 3.04%, bds et livres
2462, 2.83%, consoles de jeux video et jeux videos
2462 ------ consoles de jeux video et jeux videos
2462, 70.77%, consoles de jeux video et jeux videos
40, 11.27%, jeux video pour pc et consoles
2403, 3.87%, livres et bds
50, 3.17%, accesoires jeux video
60, 1.41%, consoles de jeux video
2522 ------ produits de papeterie et rangement bureau
2522, 71.84%, produits de papeterie et rangement bureau
2583, 2.81%, accesoires de piscine
2060, 2.51%, lampes et accesoires decoration pour maison
2585, 2.40%, outillage et accesoires pour jardinage
1560, 2.30%, Mobilier et produits decoration/rangement pour la maison
2582 ------ mobilier d'exterieur et accesoires (parasols,pots,tentes,etc)
2582, 46.53%, mobilier d'exterieur et accesoires (parasols,pots,tentes,etc)
1560, 15.83%, Mobilier et produits decoration/rangement pour la maison
2060, 8.69%, lampes et accesoires decoration pour maison
2585, 5.98%, outillage et accesoires pour jardinage
1302, 5.60%, jeux d'exterieur
2583 ------ accesoires de piscine
2583, 86.04%, accesoires de piscine
2585, 2.15%, outillage et accesoires pour jardinage
2582, 1.42%, mobilier d'exterieur et accesoires (parasols,pots,tentes,etc)
2522, 1.37%, produits de papeterie et rangement bureau
2060, 1.27%, lampes et accesoires decoration pour maison
2585 ------ outillage et accesoires pour jardinage
2585, 50.30%, outillage et accesoires pour jardinage
2583, 9.22%, accesoires de piscine
1560, 6.81%, Mobilier et produits decoration/rangement pour la maison
1300, 6.61%, Petites voitures (jouets) et maquettes
2582, 5.21%, mobilier d'exterieur et accesoires (parasols,pots,tentes,etc)
2705 ------ bds et livres
2705, 73.19%, bds et livres
10, 17.21%, livres
2403, 3.26%, livres et bds
2280, 1.81%, magazines
2905, 1.45%, Jeu En téléchargement
2905 ------ Jeu En téléchargement
2905, 85.06%, Jeu En téléchargement
2705, 6.90%, bds et livres
40, 1.72%, jeux video pour pc et consoles
2280, 1.15%, magazines
1281, 1.15%, jeux de societe/cartes