Reconnaissance alimentaire

Comparaison de SVM, Random Forest, CNN et ResNet-50 sur Food2k : 2 000 catégories et environ un million d’images, avec une application Streamlit interactive.

Explorer le projet
Food Recognition screenshot
Aperçu du projet01 / 06

Les technologies.

  • Python
  • PyTorch
  • torchvision
  • scikit-learn
  • OpenCV
  • Streamlit
  • NumPy
  • Pandas
  • Matplotlib
  • Seaborn
  • CUDA
  • TensorBoard

Au cœur du projet .

Ce projet compare quatre approches de classification d’images alimentaires sur Food2k, qui comprend 2 000 catégories et environ un million d’images.

Les méthodes classiques SVM et Random Forest utilisent des caractéristiques extraites par ResNet-50 ou construites avec HOG, histogrammes de couleur, LBP et filtres de Gabor. Les approches de deep learning comprennent un CNN de cinq blocs d’environ quatre millions de paramètres et un ResNet-50 ajusté en deux étapes par transfert d’apprentissage.

L’entraînement utilise une perte pondérée, la précision mixte sur GPU et une mise en cache des caractéristiques. L’évaluation mesure la précision Top-1/Top-5, le score F1 et le temps d’inférence. Le SVM avec caractéristiques CNN a atteint 90,47 % de précision Top-1 ; le CNN personnalisé a atteint 96,73 % sur un sous-ensemble de 20 classes.

L’application Streamlit permet d’envoyer une image, comparer les prédictions et niveaux de confiance des modèles et visualiser leurs activations via les hooks PyTorch.

À découvrir aussi.Retour à toutes les réalisations