# YOLOv5 Web Application - Installation et Lancement ## 🚀 Installation Rapide ### 1. Installer les dĂ©pendances Python pour le backend ```bash cd webapp/backend pip install -r requirements.txt ``` ### 2. Lancer l'application **Option 1: Lancer avec le script PowerShell (RecommandĂ©)** ```powershell .\webapp\start.ps1 ``` **Option 2: Lancer manuellement** ```bash cd webapp/backend python main.py ``` ## đŸ“± FonctionnalitĂ©s ### ✅ ImplĂ©mentĂ©es - đŸŽ„ **DĂ©tection en temps rĂ©el depuis la webcam** avec WebSocket - đŸ“€ **Upload drag-and-drop** d'images multiples - 🎹 **Visualisation interactive** des bounding boxes - 📊 **Dashboard avec statistiques** en temps rĂ©el - 🎯 **Suivi multi-objets** avec confiance - đŸ’Ÿ **Historique des dĂ©tections** persistant - 🌙 **Mode sombre/clair** avec sauvegarde de prĂ©fĂ©rence - đŸ“± **Design responsive** mobile-friendly avec Tailwind CSS ### 🎹 Interface - Design moderne avec Tailwind CSS - Animations fluides et transitions - Charts interactifs avec Chart.js - Icons avec Font Awesome ## 🌐 AccĂšs Une fois lancĂ©, l'application est accessible sur : - **Frontend**: http://localhost:8000 - **API Docs**: http://localhost:8000/docs - **WebSocket**: ws://localhost:8000/ws ## 📋 API Endpoints ### DĂ©tection - `POST /detect` - DĂ©tecter objets dans une image - `POST /detect/batch` - DĂ©tecter objets dans plusieurs images - `GET /statistics` - Obtenir les statistiques - `GET /history` - Obtenir l'historique - `DELETE /history` - Effacer l'historique - `GET /models` - Lister les modĂšles disponibles - `WS /ws` - WebSocket pour dĂ©tection temps rĂ©el ## đŸ› ïž Configuration ### ModĂšles disponibles: - `yolov5n` - Nano (le plus rapide) - `yolov5s` - Small (Ă©quilibrĂ©) - `yolov5m` - Medium - `yolov5l` - Large - `yolov5x` - Extra Large (le plus prĂ©cis) ### ParamĂštres ajustables: - Seuil de confiance (0.1 - 0.9) - ModĂšle YOLOv5 - RĂ©solution vidĂ©o webcam ## 🎯 Utilisation ### Webcam en Direct 1. Cliquez sur l'onglet "Webcam en Direct" 2. Cliquez sur "DĂ©marrer" 3. Autorisez l'accĂšs Ă  la webcam 4. Les dĂ©tections apparaissent en temps rĂ©el ! ### Upload d'Images 1. Cliquez sur l'onglet "Upload Images" 2. Glissez-dĂ©posez des images ou cliquez pour sĂ©lectionner 3. Cliquez sur "Analyser les images" 4. Visualisez les rĂ©sultats avec bounding boxes ### Dashboard - Consultez les statistiques globales - Visualisez les graphiques de performance - Analysez les objets les plus dĂ©tectĂ©s ### Historique - Consultez toutes les dĂ©tections prĂ©cĂ©dentes - Effacez l'historique si nĂ©cessaire ## 🔧 Troubleshooting ### Erreur de connexion webcam - VĂ©rifiez les permissions du navigateur - Assurez-vous qu'aucune autre application n'utilise la webcam ### Erreur WebSocket - VĂ©rifiez que le backend est bien lancĂ© - VĂ©rifiez le pare-feu (port 8000) ### Performance lente - Utilisez un modĂšle plus lĂ©ger (yolov5n ou yolov5s) - RĂ©duisez le seuil de confiance - Fermez les autres applications ## 📩 Structure ``` webapp/ ├── backend/ │ ├── main.py # Serveur FastAPI │ └── requirements.txt # DĂ©pendances Python ├── static/ │ ├── index.html # Interface utilisateur │ └── app.js # Logique JavaScript └── start.ps1 # Script de lancement ``` ## 🎹 Technologies UtilisĂ©es **Backend:** - FastAPI - Framework web moderne - WebSocket - Communication temps rĂ©el - PyTorch - InfĂ©rence YOLOv5 - OpenCV - Traitement d'images **Frontend:** - HTML5 + JavaScript ES6 - Tailwind CSS - Framework CSS - Chart.js - Graphiques interactifs - Font Awesome - Icons ## 📝 Notes - Les dĂ©tections sont sauvegardĂ©es en mĂ©moire (redĂ©marrage = perte) - Maximum 100 entrĂ©es dans l'historique - Format supportĂ©: JPEG, PNG - RĂ©solution recommandĂ©e webcam: 1280x720 ## 🌟 AmĂ©liorations Futures Possibles - Enregistrement vidĂ©o des dĂ©tections - Export des rĂ©sultats en CSV/JSON - Support des vidĂ©os uploadĂ©es - Mode multi-camĂ©ras - Notifications en temps rĂ©el - Base de donnĂ©es persistante - Authentification utilisateur