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
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éro | Modèle B · transfer learning | |
|---|---|---|
| Exactitude (test) | 76,2 % | 98,1 % |
| F1 macro | 0,755 | 0,981 |
| Poids entraînés | 241 348 | 8 196 (sur 23,6 M) |
| Époques (arrêt précoce) | 38 | 17 |
| Temps d’entraînement (processeur) | 4 min 39 | 56 s |
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
- LeCun, Y., Bottou, L., Bengio, Y., Haffner, P. (1998). Gradient-based learning applied to document recognition. Proceedings of the IEEE.
- Deng, J. et al. (2009). ImageNet: A large-scale hierarchical image database. CVPR.
- Krizhevsky, A., Sutskever, I., Hinton, G. (2012). ImageNet classification with deep convolutional neural networks. NeurIPS.
- Zeiler, M., Fergus, R. (2014). Visualizing and understanding convolutional networks. ECCV.
- Yosinski, J., Clune, J., Bengio, Y., Lipson, H. (2014). How transferable are features in deep neural networks? NeurIPS.
- Simonyan, K., Zisserman, A. (2015). Very deep convolutional networks for large-scale image recognition. ICLR.
- Szegedy, C. et al. (2015). Going deeper with convolutions. CVPR.
- Russakovsky, O. et al. (2015). ImageNet Large Scale Visual Recognition Challenge. IJCV.
- He, K., Zhang, X., Ren, S., Sun, J. (2016). Deep residual learning for image recognition. CVPR.
- Srivastava, N. et al. (2014). Dropout: a simple way to prevent neural networks from overfitting. JMLR.
- Ioffe, S., Szegedy, C. (2015). Batch normalization. ICML.
- Kingma, D., Ba, J. (2015). Adam: a method for stochastic optimization. ICLR.
- Selvaraju, R. et al. (2017). Grad-CAM: Visual explanations from deep networks via gradient-based localization. ICCV.
- Poursaeed, O., Matera, T., Belongie, S. (2018). Vision-based real estate price estimation. Machine Vision and Applications. arXiv:1707.05489.
- Dosovitskiy, A. et al. (2021). An image is worth 16x16 words: Transformers for image recognition at scale. ICLR.
- 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