FollowChon
Objectifs
Ce projet a plusieurs objectifs :
- Créer et entrainer un modèle de détection de cochon d’inde (qui n’existe pas à l’heure actuelle)
- Produire un large dataset d’image annotées (93 000 à l’heure actuelle, entre 600 et 800 captures par jours)
- Suivi des comportements de mes cochons d’inde pour détecter les comportements anormaux
Architecture
Ils tournent sur un raspberry pi 5 équipé d’une puce HAILO 8L (pour améliorer ses performances en détection d’objets).
Le projet est composé de 4 sous projets :
- Vision (python) :
- Analyse des images récupéré par le flux vidéo de la caméra ip
- Sauvegarde des résultats sous la forme de fichiers et de lignes dans une base de donnée
- Backoffice (django) :
- Permet de fournir une api pour accéder aux captures, detections, paramètres, logs et familles
- Permet de visualiser / trier / filtrer les données par une interface d’administration
- Correction & Validation (angular) :
- Application qui permet de récupérer les captures, détections et familles pour :
- Visualiser les résultats
- Ajouter ou corriger la position des boites des détections
- Corriger la classe associeé à chaque détection
- Faire un circuit de validation (brouillon / vérifié / archivé / supprimé)
- Permets d’afficher quelques tendances, statistiques ou autres visualisations
- Avec des raccourcis clavier et une ergonomie pour traiter des centaines de captures en quelques dizaines de minutes
- Dataset & Train & Convert (python) :
- Pour chaque modèle (detection et classification)
- Permets de produire des datasets d’entrainement avec des contraintes de qualité
- Récupération des captures qui n’ont pas été utilisées par les précédents entrainements
- Pourcentage pour les sous-ensembles train / test / validation
- Avec pour chaque sous-ensemble :
- Pourcentage de données corrigées / sans besoin de correction
- Pourcentage de donnée hétérogène (issue d’autres sources)
- Entrainement du modèle basé sur le modèle précédent et le nouveau dataset
- Le modèle de detection est converti en ONNX => HAR => HEF (via le Docker Hailo SDK)
Vision
Ensemble de scripts pythons qui s’occupent de plusieurs choses :
Outils utilisé :
- ultralytics
- docker
- hailo sdk
- hailo drivers
- angular