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
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.




