Rattrapage · Deep learning

Reconnaître une pièce sur une photo

Classer les photos d’annonces immobilières avec un réseau de neurones convolutif et le transfer learning.

Yanis Kharbouch

Yanis Kharbouch
5e année · novembre 2026

Présentation en 17 diapositives, environ 14 minutes.

Les ressources de ce travail

Tout ce qui est présenté dans la vidéo, à consulter ou à télécharger.

Les diapositives Les 17 diapositives de la vidéo, au format PDF. Ouvrir le PDF Le code de l’expérience Le script Python (TensorFlow), son mode d’emploi et les résultats bruts. Télécharger le code Les résultats détaillés Les chiffres, la matrice de confusion, Grad-CAM et toutes les figures. Voir ci-dessous

Résultats détaillés

Mesurés sur 324 photos de test que les modèles n’avaient jamais vues (base publique de 535 maisons, Ahmed et Moustafa, 2016 ; découpage par maison).

76 %Modèle A : petit CNN entraîné depuis zéro
98 %Modèle B : ResNet-50 pré-entraîné (transfer learning)
95 %Modèle B avec seulement 5 photos par classe
Modèle A · depuis zéroModèle B · transfer learning
Exactitude (test)76,2 %98,1 %
F1 macro0,7550,981
Poids entraînés241 3488 196 (sur 23,6 M)
Époques (arrêt précoce)3817
Temps d’entraînement (processeur)4 min 3956 s
Exemples de photos de la base : salle de bain, chambre, façade, cuisine
Les données. De vraies photos d’annonces : salle de bain, chambre, façade, cuisine.
Courbes d’apprentissage des deux modèles
Courbes d’apprentissage des deux modèles.
Exactitude du modèle B selon le nombre de photos par classe
Moins de données. Exactitude du modèle B selon le nombre de photos par classe.
Matrice de confusion du modèle B
Matrice de confusion du modèle B : 6 erreurs sur 324.
Les photos mal classées par le modèle B
Les erreurs. Surtout des salles de bain prises pour des cuisines.
Cartes Grad-CAM sur quatre photos bien classées
Grad-CAM. Les zones qui ont pesé dans la décision : lavabo, lit, maison, plan de travail.

Refaire l’expérience

Environ 7 minutes sur un processeur 4 cœurs, sans carte graphique.

pip install tensorflow-cpu scikit-learn matplotlib pillow
git clone https://github.com/emanhamed/Houses-dataset.git
curl -O https://storage.googleapis.com/tensorflow/keras-applications/resnet/resnet50_weights_tf_dim_ordering_tf_kernels_notop.h5
python experience.py "Houses-dataset/Houses Dataset" resnet50_weights_tf_dim_ordering_tf_kernels_notop.h5 resultats

Fichiers : experience.py · resultats.json

Bibliographie

  1. LeCun, Y., Bottou, L., Bengio, Y., Haffner, P. (1998). Gradient-based learning applied to document recognition. Proceedings of the IEEE.
  2. Deng, J. et al. (2009). ImageNet: A large-scale hierarchical image database. CVPR.
  3. Krizhevsky, A., Sutskever, I., Hinton, G. (2012). ImageNet classification with deep convolutional neural networks. NeurIPS.
  4. Zeiler, M., Fergus, R. (2014). Visualizing and understanding convolutional networks. ECCV.
  5. Yosinski, J., Clune, J., Bengio, Y., Lipson, H. (2014). How transferable are features in deep neural networks? NeurIPS.
  6. Simonyan, K., Zisserman, A. (2015). Very deep convolutional networks for large-scale image recognition. ICLR.
  7. Szegedy, C. et al. (2015). Going deeper with convolutions. CVPR.
  8. Russakovsky, O. et al. (2015). ImageNet Large Scale Visual Recognition Challenge. IJCV.
  9. He, K., Zhang, X., Ren, S., Sun, J. (2016). Deep residual learning for image recognition. CVPR.
  10. Srivastava, N. et al. (2014). Dropout: a simple way to prevent neural networks from overfitting. JMLR.
  11. Ioffe, S., Szegedy, C. (2015). Batch normalization. ICML.
  12. Kingma, D., Ba, J. (2015). Adam: a method for stochastic optimization. ICLR.
  13. Selvaraju, R. et al. (2017). Grad-CAM: Visual explanations from deep networks via gradient-based localization. ICCV.
  14. Poursaeed, O., Matera, T., Belongie, S. (2018). Vision-based real estate price estimation. Machine Vision and Applications. arXiv:1707.05489.
  15. Dosovitskiy, A. et al. (2021). An image is worth 16x16 words: Transformers for image recognition at scale. ICLR.
  16. Ahmed, E., Moustafa, M. (2016). House price estimation from visual and textual features. arXiv:1609.08399. Jeu de données : https://github.com/emanhamed/Houses-dataset