P14AB04 Estimation de l'activité de Saumons par vision » Historique » Révision 8
« Précédent |
Révision 8/27
(diff)
| Suivant »
Anonyme, 06/04/2021 14:13
Projet GE2-GE3 2013 : P14AB04 Estimation de l'activité de Saumons par vision
Entreprise / Client : Salmoniculture Chanteuge / M. Patrick MARTIN
Auteurs : Amin SOUFARI / Jordane MALLERET / Yuan XU
Responsable Projet : M. Jacques LAFFONT
Tuteur industriel : M. Jean-Yves RIGNAULT
1. Résumé
2. Abstract
3. Introduction
4. Présentation du Sujet
5. Cahier des Charges
6. Développement
1. Problématiques
2. Faisabilité
3. Etude Théorique
4. Solutions
1. Etat d'avancement
2. Analyse Critique
3. Perspectives
1. Résumé
Dans le cadre de notre formation d’ingénieur au département Génie Électrique de Polytech’Clermont-Ferrand, nous avons l’opportunité de réaliser le suivi et la réalisation du projet industriel intitulé : Estimation de l’activité de saumons par vision. Ce projet est proposé par le Conservatoire National du Saumon Sauvage (CNSS) de Chateugnes en Haute-Loire (43) dans le cadre du programme de repeuplement de l’Allier en saumons.
Mots clés : Saumon, Traitement d’image, OpenCV, Correction, Vitesse, Orientation, Répartition, Erreur
2. Abstract
In the context of our engineering electrical engineering at Polytech 'Clermont-Ferrand, we had the opportunity to study the project : "Estimation de l’activité de saumons par vision". This project is proposed by the CNSS (Conservatoire National du Saumon Sauvage) in order to rincrease the number of salmon at the river Allier.
Key Words: Salmon, Image processing, OpenCV, optical flow algorithm, correlation algorithm, Corrector, Error
3. Introduction
L’adaptation des écosystèmes, des plantes, des animaux et des micro-organismes aux changements globaux représente un enjeu stratégique, économique et sociétal important.
Une bonne connaissance de ces mécanismes d’adaptation devrait permettre de maintenir la capacité d’évolution des écosystèmes naturels et la productivité des écosystèmes exploités. C’est dans cette thématique que le programme de BIOADAPT se motive.
Dans le cadre de ce programme l’ANR, le CNSS, et le museum national d’histoire naturelle se sont rassemblés pour étudier en particularité le projet de << Réchauffement global et l’adaptation à la migration chez le saumon Atlantique de rivière longue, l’axe Loire-Allier >>.
Pour parvenir à cet objectif, le CNSS nous propose de créer un algorithme permettant d’estimer l’activité des saumons par vision. Pour cela des expérimentations avec un suivi vidéo sur le comportement des jeunes saumons ont été programmées au sein du CNSS notamment en plaçant ces jeunes saumons face à des situations de stress.
4. Présentation du Sujet
Dans le cadre du programme de recherche BIOADAPT de l’Agence nationale de la Recherche (ANR), le conservatoire national du saumon sauvage (CNSS) s’est associé avec le CNRS et le Museum national d’histoire naturelle dans un projet commun sur le Réchauffement global et l’adaptation à la migration chez le saumon atlantique de rivière longue, et en particulier sur l’axe Loire-Allier. Nous avons dès alors eu l’opportunité de choisir le sujet : Estimation de l’activité de saumons par vision.
Notre client est dès lors M. Patrick Martin représentant de la salmoniculture de Chanteuges en Haute-Loire (43).
5.Cahier des Charges
L’objectif global du projet est de pouvoir automatiser le traitement des images enregistrées pour caractériser le comportement de nage des poissons. Ils pourront être classés suivants :
- L'orientation
Le poisson face au courant sans mouvement (comportement rheotactic positif), le poisson se déplace et nage à contre-courant (comportement rheotactic positif) et, le poisson se déplace dans le sens du courant (comportement rheotactic négatif).
- La vitesse
Des données sur la vitesse angulaire des poissons devront être fournies pour chaque heure en fonction des moyennes individuelles observées.
- La répartition
Déterminer la tendance de regroupement des poissons par rapport au bassin entier.
Le sujet du projet de cette année est de qualifier la précision de l’algorithme développé en 2013, de quantifier les erreurs et leur origine et de proposer une structure améliorée du programme. Cet objectif a pour but de pouvoir assurer et démontrer la précision des mesures effectuée sur la vitesse des poissons.
6. Développement
6. 1 Problématiques
Les problématiques se concentrent principalement sur l’optimisation et la quantification d’erreur du programme en langage C++ avec OpenCV issue de la phase d’étude de faisabilité.
Ce dernier a pour fonction de:
- Déterminer la vitesse, le sens de nage et la répartition des poissons.
- Traiter les vidéos de jour et de nuit.
- Être fiable dans toutes les phases de l'évolution du poisson.
- Calculer la vitesse sous quatre configurations de bassin différent
L’optimisation se porte principalement sur la robustesse du programme et sur la minimisation des erreurs de vitesses mesurées
- Améliorer la stabilité du programme pour certaines vidéos
- Minimiser les erreurs sur les vitesses angulaires
- Fournir les relevés de mesures sur un fichier Excel
6. 2 Faisabilité
La faisabilité de ce projet repose sur la possibilité de déterminer l’erreur sur chacune des sources susceptibles de la générer. Il faut donc une référence sur laquelle on va pouvoir comparer les vitesses angulaires réelles des poissons et celles que nous calculons via notre programme.
Cette faisabilité ne peut être validée que si le travail de sous-traitances prévu pour les « nouveaux » GE4 se fait avec minutie.
Le projet ne peut arriver à son terme que si la phase de détection des poissons dans les différents bassins est rapide et correcte. La majorité des vidéos étant déjà faite, il faut donc trouver une solution qui permet d’identifier les saumons sans avoir à baliser en amont ces derniers.
La base de données des vidéos est équivalente à près de 3 ans de vidéos filmées 24 h/24 et 7jours sur 7. Le programme ne doit en aucun cas s’arrêter en cas de conflits avec l’une de ces vidéos, elle doit dans l’éventuel cas pouvoir « ignorer » la vidéo problématique et continuer son exécution.
6. 3 Etude Théorique
1)Indentification des différentes sources d’imprécision
Les principales sources d’erreur sont issues de :
- L’erreur de parallaxe et de la profondeur du poisson dans le bassin
- L’erreur issue de la corrélation des images
- La distance parcourue d’un poisson entre 2 scanlines
2) Correction de la vidéo déformée
Image issue de la camera
Dans les vidéos fournies, le rond du bassin n’est pas exactement centré, ce que l’on appelle la déformation de la vidéo. Si nous traitons les problématiques sur les vidéos déformées, on obtiendra les résultats biaisés.
Pour corriger la vidéo déformée, nous développons un programme permettant de corriger les vidéos pour chaque bassin. Dans notre programme, nous considérons cette forme déformée comme une forme ellipse. Notre programme permet tout d’abord de détecter cette ellipse et ensuite de la transformer en cercle.
Pour la détection de l’ellipse, mathématiquement, on doit trouver les paramètres indiqués dans la figure suivante :
Equation parabolique
Mais cela n’est pas facile, surtout lors d’un cas d’une ellipse à droite, donc nous détectons l’ellipse en cliquant sur les 4 extrémités dans les images capturées.
Une fois l’ellipse est détectée, en utilisant une fonction de OpenCV warpPerspective, on transforme l’ellipse en forme cercle pour les 4 bassins selon le nom de la vidéo.
Voici un exemple de la correction pour le bassin 8 :
Correction d'image
3) Calcul des imprécisions
3.1) Calcul de l’imprécision liée à la profondeur
Pour ce calcul, nous cherchons dans le pire des cas, sur les 2 extrémités du bassin, le poisson à la surface du bassin et le poisson au fond du bassin.
Mis à jour par Anonyme il y a environ 4 ans · 8 révisions