|
--- |
|
title: Emotion Count People Analysis |
|
emoji: 📊 |
|
colorFrom: purple |
|
colorTo: gray |
|
sdk: streamlit |
|
sdk_version: 1.25.0 |
|
app_file: app.py |
|
pinned: false |
|
--- |
|
|
|
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference |
|
|
|
# Analyse d'Affluence et d'Émotions des Personnes |
|
|
|
Bienvenue sur le projet "Emotion Count People Analysis", une application avancée qui combine l'analyse d'image, la détection d'émotions, et le comptage de personnes. |
|
Ce projet a été conçu pour aborder des défis pratiques tels que l'observation de l'affluence lors d'événements et l'analyse des émotions des participants, le tout dans une interface utilisateur intuitive grâce à Streamlit et déployé sur Hugging Face Spaces. |
|
|
|
## Fonctionnalités Clés |
|
|
|
- **Génération de Légendes** : Fournit une description contextuelle de l'image en utilisant un modèle pré-entraîné de Hugging Face (`Salesforce/blip-image-captioning-large`). |
|
- **Classification des Émotions** : Analyse les émotions des visages détectés dans l'image grâce à un modèle de classification des émotions (`RickyIG/emotion_face_image_classification_v3`). |
|
- **Comptage de Personnes** : Estime le nombre de personnes présentes dans l'image en utilisant un modèle local (`model_sh_B.pth avec vgg19`), spécialement adapté et optimisé pour cette tâche. |
|
 |
|
 |
|
## Défis et Solutions |
|
|
|
Durant le développement, nous avons rencontré des défis spécifiques liés aux images prises par des mobiles, notamment des résolutions élevées et des orientations variées. Pour y remédier, nous avons implémenté : |
|
|
|
- **Correction d'Orientation** : Utilise les métadonnées EXIF pour ajuster automatiquement l'orientation des images, garantissant que les images sont analysées dans le bon sens. |
|
- **Redimensionnement d'Image** : Redimensionne les images à une taille standard de 224x224 pixels, optimisant ainsi le traitement par notre modèle local `vgg19`. |
|
|
|
## Processus de Normalisation |
|
|
|
Afin d'assurer une analyse précise, chaque pixel de l'image subit une normalisation basée sur la formule : |
|
 |
|
où `pixel_value` est la valeur du pixel dans le canal concerné, `mean_channel` est la valeur moyenne à soustraire, et `std_channel` est l'écart-type pour la normalisation. |
|
|
|
## Améliorations Futures |
|
|
|
Bien que notre modèle de comptage de personnes performe bien, une formation supplémentaire avec des ensembles de données plus vastes et variés, |
|
tels que [ce dataset Kaggle pour la classification des émotions](https://www.kaggle.com/code/drcapa/facial-expression-eda-cnn/notebook), pourrait encore améliorer sa précision et sa robustesse. |
|
|
|
## Déploiement sur Hugging Face Spaces |
|
|
|
Ce projet est déployé sur Hugging Face Spaces, utilisant le matériel "CPU upgrade" avec 8vCPU et 32GB RAM pour assurer une performance optimale même pour les images à haute résolution. |
|
|
|
## Installation |
|
|
|
Pour tester ce projet localement, assurez-vous d'avoir les dépendances suivantes installées (regarder requirement) |
|
|