|
|
<img src="./media/image1.png"
|
|
|
style="width:6.12944in;height:5.12571in" />
|
|
|
|
|
|
![image1](uploads/882f1413013fb268cf243717dc64cbf1/image1.png)
|
|
|
|
|
|
Auteurs : Magali Jodeau, Alexandre Hauet, Jérôme Le Coz, Théophile
|
|
|
Terraz, Guillaume Bodart
|
|
|
Auteurs : Magali Jodeau, Alexandre Hauet, Jérôme Le Coz, Théophile Terraz, Guillaume Bodart
|
|
|
|
|
|
<img src="./media/image2.png"
|
|
|
style="width:1.94756in;height:0.86944in" />
|
|
|
<img src="./media/image3.png" style="width:1.75in;height:0.46083in" />
|
|
|
![](uploads/721cd06c1de2e4df44f83dd8929d13c5/image3.png){width="150px"} ![](uploads/806af9e5c66633a831d0786176db687f/image2.png){width="150\npx"}
|
|
|
|
|
|
Version du 08/03/2024
|
|
|
|
|
|
# Table des matières
|
|
|
|
|
|
[__1. Généralités__](#généralités)
|
|
|
[**1. Généralités**](#g%C3%A9n%C3%A9ralit%C3%A9s)
|
|
|
|
|
|
- [Pourquoi la LSPIV](#pourquoi-la-lspiv)
|
|
|
|
|
|
- [Principes de la LSPIV](#principes-de-la-lspiv)
|
|
|
- [Le logiciel libre **_Fudaa-LSPIV_**](#le-logiciel-libre-fudaa-lspiv)
|
|
|
|
|
|
- [Le logiciel libre ***Fudaa-LSPIV***](#le-logiciel-libre-fudaa-lspiv)
|
|
|
|
|
|
[__2. Démarrer avec ***Fudaa-LSPIV***__](#démarrer-avec-fudaa-lspiv)
|
|
|
|
|
|
- [Installation du logiciel ***Fudaa-LSPIV***](#installation-du-logiciel-fudaa-lspiv)
|
|
|
[**2. Démarrer avec _Fudaa-LSPIV_**](#d%C3%A9marrer-avec-fudaa-lspiv)
|
|
|
|
|
|
- [Installation du logiciel **_Fudaa-LSPIV_**](#installation-du-logiciel-fudaa-lspiv)
|
|
|
- [Langues](#langues)
|
|
|
- [Architecture de la fenêtre principale](#architecture-de-la-fen%C3%AAtre-principale)
|
|
|
|
|
|
- [Architecture de la fenêtre principale](#architecture-de-la-fenêtre-principale)
|
|
|
|
|
|
[__3. Commencer une étude ***Fudaa-LSPIV***__](#commencer-une-étude-fudaa-lspiv)
|
|
|
|
|
|
- [Prérequis pour commencer une étude ***Fudaa-LSPIV***](#prérequis-pour-commencer-une-étude-fudaa-lspiv)
|
|
|
|
|
|
- [Créer une nouvelle étude](#créer-une-nouvelle-étude)
|
|
|
[**3. Commencer une étude _Fudaa-LSPIV_**](#commencer-une-%C3%A9tude-fudaa-lspiv)
|
|
|
|
|
|
- [Ouvrir une étude existante](#ouvrir-une-étude-existante)
|
|
|
- [Prérequis pour commencer une étude **_Fudaa-LSPIV_**](#pr%C3%A9requis-pour-commencer-une-%C3%A9tude-fudaa-lspiv)
|
|
|
- [Créer une nouvelle étude](#cr%C3%A9er-une-nouvelle-%C3%A9tude)
|
|
|
- [Ouvrir une étude existante](#ouvrir-une-%C3%A9tude-existante)
|
|
|
- [Architecture d’un projet **_Fudaa-LSPIV_**](#architecture-dun-projet-fudaa-lspiv)
|
|
|
|
|
|
- [Architecture d’un projet ***Fudaa-LSPIV***](#architecture-dun-projet-fudaa-lspiv)
|
|
|
[**4. Gestion des images sources**](#gestion-des-images-sources)
|
|
|
|
|
|
[__4. Gestion des images sources__](#gestion-des-images-sources)
|
|
|
- [Importer une séquence d’images](#importer-une-s%C3%A9quence-dimages)
|
|
|
- [Importer une vidéo et la séquencer](#importer-une-vid%C3%A9o-et-la-s%C3%A9quencer)
|
|
|
- [Stabiliser une séquence d’images](#stabiliser-une-s%C3%A9quence-dimages)
|
|
|
|
|
|
- [Importer une séquence d’images](#importer-une-séquence-dimages)
|
|
|
|
|
|
- [Importer une vidéo et la séquencer](#importer-une-vidéo-et-la-séquencer)
|
|
|
|
|
|
- [Stabiliser une séquence d’images](#stabiliser-une-séquence-dimages)
|
|
|
|
|
|
[__5. Orthorectification des images__](#orthorectification-des-images)
|
|
|
[**5. Orthorectification des images**](#orthorectification-des-images)
|
|
|
|
|
|
- [Choix du mode d’orthorectification](#choix-du-mode-dorthorectification)
|
|
|
|
|
|
- [Mise à l’échelle](#mise-à-léchelle)
|
|
|
|
|
|
- [Définition de la résolution](#définition-de-la-résolution)
|
|
|
|
|
|
- [Changement de repère réel](#changement-de-repère-réel)
|
|
|
|
|
|
- [Définition des coins de l’orthoimage et niveau d’eau](#définition-des-coins-de-lorthoimage-et-niveau-deau)
|
|
|
|
|
|
- [Orthorectification complète](#orthorectification-complète)
|
|
|
|
|
|
- [Mise à l’échelle](#mise-%C3%A0-l%C3%A9chelle)
|
|
|
- [Définition de la résolution](#d%C3%A9finition-de-la-r%C3%A9solution)
|
|
|
- [Changement de repère réel](#changement-de-rep%C3%A8re-r%C3%A9el)
|
|
|
- [Définition des coins de l’orthoimage et niveau d’eau](#d%C3%A9finition-des-coins-de-lorthoimage-et-niveau-deau)
|
|
|
- [Orthorectification complète](#orthorectification-compl%C3%A8te)
|
|
|
- [Principe de l’orthorectification](#principe-de-lorthorectification)
|
|
|
|
|
|
- [Positionnement des points de référence](#positionnement-des-points-de-référence)
|
|
|
|
|
|
- [Vérification des GRP](#vérification-des-grp)
|
|
|
|
|
|
- [Paramètres de transformation](#paramètres-de-transformation)
|
|
|
|
|
|
- [Positionnement des points de référence](#positionnement-des-points-de-r%C3%A9f%C3%A9rence)
|
|
|
- [Vérification des GRP](#v%C3%A9rification-des-grp)
|
|
|
- [Paramètres de transformation](#param%C3%A8tres-de-transformation)
|
|
|
- [Transformation de toutes les images](#transformation-de-toutes-les-images)
|
|
|
- [Sous-échantillonnage des images transformées](#sous-%C3%A9chantillonnage-des-images-transform%C3%A9es)
|
|
|
|
|
|
- [Sous-échantillonnage des images transformées](#sous-échantillonnage-des-images-transformées)
|
|
|
|
|
|
[__6. Calcul de la vitesse de déplacement des traceurs__](#calcul-de-la-vitesse-de-déplacement-des-traceurs)
|
|
|
[**6. Calcul de la vitesse de déplacement des traceurs**](#calcul-de-la-vitesse-de-d%C3%A9placement-des-traceurs)
|
|
|
|
|
|
- [Principes](#principes)
|
|
|
|
|
|
- [Calcul manuel des vitesses](#calcul-manuel-des-vitesses)
|
|
|
|
|
|
- [Paramètres du calcul des déplacements](#paramètres-du-calcul-des-déplacements)
|
|
|
|
|
|
- [Paramètres du calcul des déplacements](#param%C3%A8tres-du-calcul-des-d%C3%A9placements)
|
|
|
- [Grille de calcul](#grille-de-calcul)
|
|
|
- [Calcul des vitesses de déplacement des traceurs](#calcul-des-vitesses-de-d%C3%A9placement-des-traceurs)
|
|
|
|
|
|
- [Calcul des vitesses de déplacement des traceurs](#calcul-des-vitesses-de-déplacement-des-traceurs)
|
|
|
[**7. Post-traitement des vitesses calculées**](#post-traitement-des-vitesses-calcul%C3%A9es)
|
|
|
|
|
|
[__7. Post-traitement des vitesses calculées__](#post-traitement-des-vitesses-calculées)
|
|
|
- [Filtrage des résultats instantanés](#filtrage-des-r%C3%A9sultats-instantan%C3%A9s)
|
|
|
- [Moyenne des résultats](#moyenne-des-r%C3%A9sultats)
|
|
|
- [Statistiques des résultats de vitesse](#statistiques-des-r%C3%A9sultats-de-vitesse)
|
|
|
|
|
|
- [Filtrage des résultats instantanés](#filtrage-des-résultats-instantanés)
|
|
|
[**8. Affichage des résultats de vitesse**](#affichage-des-r%C3%A9sultats-de-vitesse)
|
|
|
|
|
|
- [Moyenne des résultats](#moyenne-des-résultats)
|
|
|
- [Description des calques de résultats pour les calculs de vitesse](#description-des-calques-de-r%C3%A9sultats-pour-les-calculs-de-vitesse)
|
|
|
- [Calque Vitesse](#calque-vitesse)
|
|
|
|
|
|
- [Statistiques des résultats de vitesse](#statistiques-des-résultats-de-vitesse)
|
|
|
[**9. Calcul du débit**](#calcul-du-d%C3%A9bit)
|
|
|
|
|
|
[__8. Affichage des résultats de vitesse__](#affichage-des-résultats-de-vitesse)
|
|
|
- [Spécifier un ou plusieurs transects bathymétriques](#sp%C3%A9cifier-un-ou-plusieurs-transects-bathym%C3%A9triques)
|
|
|
- [Inverser des transects](#inverser-des-transects)
|
|
|
- [Paramètres des transects](#param%C3%A8tres-des-transects)
|
|
|
- [Calcul du débit](#calcul-du-d%C3%A9bit-1)
|
|
|
- [Export du rapport de jaugeage](#export-du-rapport-de-jaugeage)
|
|
|
|
|
|
- [Description des calques de résultats pour les calculs de vitesse](#description-des-calques-de-résultats-pour-les-calculs-de-vitesse)
|
|
|
[**10. Export des données**](#export-des-donn%C3%A9es)
|
|
|
|
|
|
- [Calque Vitesse](#calque-vitesse)
|
|
|
[**11. Relancer les calculs d'une étude existante**](#relancer-les-calculs-dune-%C3%A9tude-existante)
|
|
|
|
|
|
[__9. Calcul du débit__](#calcul-du-débit)
|
|
|
- [Nettoyage des résultats de calcul](#nettoyage-des-r%C3%A9sultats-de-calcul)
|
|
|
|
|
|
- [Spécifier un ou plusieurs transects bathymétriques](#spécifier-un-ou-plusieurs-transects-bathymétriques)
|
|
|
[**12. Bug connus et parades**](#bug-connus-et-parades)
|
|
|
|
|
|
- [Inverser des transects](#inverser-des-transects)
|
|
|
- [Le rapport de jaugeage n’est pas créé](#le-rapport-de-jaugeage-nest-pas-cr%C3%A9%C3%A9)
|
|
|
|
|
|
- [Paramètres des transects](#paramètres-des-transects)
|
|
|
[**13. Approfondissements**](#approfondissements)
|
|
|
|
|
|
- [Calcul du débit](#calcul-du-débit-1)
|
|
|
- [Principe de la stabilisation](#principe-de-la-stabilisation)
|
|
|
- [Appariement des points](#appariement-des-points)
|
|
|
- [Estimation de la transformation](#estimation-de-la-transformation)
|
|
|
- [Principe de l’orthorectification](#principe-de-lorthorectification-1)
|
|
|
- [Le modèle sténopé et sa résolution : cas général 3D](#le-mod%C3%A8le-st%C3%A9nop%C3%A9-et-sa-r%C3%A9solution-cas-g%C3%A9n%C3%A9ral-3d)
|
|
|
- [Le modèle sténopé et sa résolution : cas particulier 2D](#le-mod%C3%A8le-st%C3%A9nop%C3%A9-et-sa-r%C3%A9solution-cas-particulier-2d)
|
|
|
- [Création des orthoimages](#cr%C3%A9ation-des-orthoimages)
|
|
|
- [Principes de la mesure de la vitesse de déplacement des traceurs](#principes-de-la-mesure-de-la-vitesse-de-d%C3%A9placement-des-traceurs)
|
|
|
- [Principes du calcul de débit](#principes-du-calcul-de-d%C3%A9bit)
|
|
|
- [Définition et interpolation du profil bathymétrique](#d%C3%A9finition-et-interpolation-du-profil-bathym%C3%A9trique)
|
|
|
- [Estimation de la vitesse moyenne en chaque point du transect](#estimation-de-la-vitesse-moyenne-en-chaque-point-du-transect)
|
|
|
- [Calcul du débit à travers chaque transect](#calcul-du-d%C3%A9bit-%C3%A0-travers-chaque-transect)
|
|
|
|
|
|
- [Export du rapport de jaugeage](#export-du-rapport-de-jaugeage)
|
|
|
[**14. Références bibliographiques**](#r%C3%A9f%C3%A9rences-bibliographiques)
|
|
|
|
|
|
[__10. Export des données__](#export-des-données)
|
|
|
#
|
|
|
|
|
|
[__11. Relancer les calculs d'une étude existante__](#relancer-les-calculs-dune-étude-existante)
|
|
|
# Généralités
|
|
|
|
|
|
- [Nettoyage des résultats de calcul](#nettoyage-des-résultats-de-calcul)
|
|
|
## Pourquoi la LSPIV
|
|
|
|
|
|
[__12. Bug connus et parades__](#bug-connus-et-parades)
|
|
|
Le scientifique étudiant les rivières sous des aspects de débit liquide ou de flux sédimentaire se heurte souvent à une inadéquation entre les mesures hydrométriques disponibles et les besoins. Ces besoins ont évolué, en parallèle avec le développement de la modélisation numérique, vers une demande de donnée spatialisée, à haute fréquence temporelle, et pour des conditions d'écoulement diverses. Particulièrement, la mesure de vitesse et de débit de crue reste souvent impossible avec les techniques traditionnelles de jaugeage (courantomètres, aDcp, dilution chimique), quand les fortes vitesses et les nombreux débris flottants mettent en danger les opérateurs et le matériel. De plus, le temps de mesure inhérent à ces techniques est régulièrement en inadéquation avec le caractère non permanent des écoulements de crue. Le développement des outils de modélisation 2D voire 3D pour la compréhension des écoulements, en milieu naturel et en modèle physique de laboratoire, demande, pour validation, des mesures complémentaires à des hauteurs d'eau ou des débits. Les résultats spatialisés en termes de vitesses de ces modèles nécessitent une mesure hydrométrique correspondante, c'est-à-dire un champ de vitesse. Là encore, les techniques traditionnelles de mesure de vitesse ne répondent pas complètement à ces besoins.
|
|
|
|
|
|
- [Le rapport de jaugeage n’est pas créé](#le-rapport-de-jaugeage-nest-pas-créé)
|
|
|
L'hydrométrie par analyse de séquences d'images est une alternative intéressante qui permet l'accès à la mesure de vitesses de surface instantanées sur des surfaces allant jusqu'à l'hectare, et ce de façon non intrusive. Cette technique est appelée Large Scale Particle Image Velocimetry (LSPIV). Pour une description détaillée de la méthode, on peut se référer par exemple à la thèse d'A. Hauet (2006).
|
|
|
|
|
|
[__13. Approfondissements__](#approfondissements)
|
|
|
## Principes de la LSPIV
|
|
|
|
|
|
- [Principe de la stabilisation](#principe-de-la-stabilisation)
|
|
|
L'analyse de séquences d'images permet de mesurer le champ 2D de vitesse en surface d'un écoulement à condition que des traceurs visibles, tels que des particules solides (débris végétaux, petits flottants, etc.), des bulles ou des figures de turbulence soient advectés avec l'écoulement, tout en restant reconnaissables d’une image à l’autre. Cette technique est dérivée de la Particle Image Velocimetry (PIV) utilisée en laboratoire, mais pour une étude sur des objets de grandes échelles de type rivière, d'où le nom de Large-Scale PIV (LSPIV, Fujita et al. 1998). Une mesure LSPIV comprend (i) l'enregistrement d'une séquence d'images horodatées de l'écoulement, (ii) une correction géométrique des images pour s'affranchir des effets de distorsion de perspective (orthorectification) et (iii) un calcul du déplacement des traceurs de l'écoulement grâce à une analyse statistique en corrélation des motifs. En pratique, l'ensemencement de l'écoulement par ajout de traceurs n'est souvent pas nécessaire pour les rivières en crue : si le mouvement de l'eau est visible dans une séquence d'images, en général il sera possible d'en extraire les vitesses. On obtient ainsi un champ 2D "quasi instantané" (à la fréquence d'échantillonnage des paires d'images, limitée par la fréquence d'acquisition de la caméra et l'amplitude des déplacements de motifs). Connaissant la bathymétrie d'une section en travers et supposant un modèle de distribution verticale de vitesse, on peut arriver à l'estimation du débit à partir du champ de vitesse LSPIV.
|
|
|
|
|
|
- [Appariement des points](#appariement-des-points)
|
|
|
La LSPIV a été utilisée pour estimer des débits de rivières d'échelles très différentes, des étiages aux fortes crues (voir par exemple Creutin et al. 2003, Hauet et al. 2008 ou Jodeau et al. 2008) ainsi que pour l'amélioration de courbes de tarage en régimes hydrauliques normaux (Le Coz et al. 2010 ou Dramais et al. 2011). La LSPIV a également été appliquée à des films de crue partagés par le public sur internet (Le Boursicaud et al. 2016, Le Coz et al. 2016). Une revue des applications de la LSPIV pour l'estimation des débits en rivières a été proposée par Muste et al. (2008). La LSPIV a également été utilisée pour l'étude de la dynamique d'écoulements complexes (Le Coz et al. 2010b, Hauet et al. 2009) ainsi qu’à des laves torrentielles (Theule et al. 2018) et des modèles physiques de laboratoires à fond mobile (Piton et al., 2018). La LSPIV s'est également montrée être un outil performant pour l'étude des écoulements de ruissellement sur versant (Nord et al. 2009, Legout et al. 2012) où les instruments intrusifs ne peuvent être utilisés du fait des très faibles tirants d'eau considérés (millimétriques).
|
|
|
|
|
|
- [Estimation de la transformation](#estimation-de-la-transformation)
|
|
|
## Le logiciel libre **_Fudaa-LSPIV_**
|
|
|
|
|
|
- [Principe de l’orthorectification](#principe-de-lorthorectification-1)
|
|
|
**_Fudaa-LSPIV_** est un logiciel permettant de traiter des séquences d'images d'écoulements pour calculer les champs de vitesse de surface et les débits à travers des sections en travers. La méthode est basée sur la technique LSPIV (Large-Scale Particle Image Velocimetry), avec les étapes principales suivantes :
|
|
|
|
|
|
- [Le modèle sténopé et sa résolution : cas général 3D](#le-modèle-sténopé-et-sa-résolution-cas-général-3d)
|
|
|
- _Images_ : importer une séquence d’images ou des images échantillonnées à partir d'une séquence vidéo
|
|
|
- _Orthorectification_ : corrigez les images à partir d'une distorsion de perspective et attribuez une taille de métrique à des pixels
|
|
|
- _Analyse LSPIV_ : calculer les vitesses de surface à partir de l'analyse statistique du mouvement des traceurs
|
|
|
- _Post-traitement_ : appliquer des filtres aux résultats de la vitesse, calculer la moyenne temporelle, calculer les lignes de courant
|
|
|
- _Débit_ : calculer le débit à travers un transect bathymétrique en utilisant un coefficient de correction de vitesse
|
|
|
|
|
|
- [Le modèle sténopé et sa résolution : cas particulier 2D](#le-modèle-sténopé-et-sa-résolution-cas-particulier-2d)
|
|
|
Le logiciel à code ouvert (licence GPL) **_Fudaa-LSPIV_** est une interface Java qui appelle des exécutables Fortran et C++. Le développement de **_Fudaa-LSPIV_** a été exécuté par DeltaCAD depuis août 2010 avec le financement et sous la direction d'EDF et d'INRAE. Ce développement s'inscrit dans le cadre du projet de logiciel libre Fudaa pour les applications hydrauliques. Les langues prises en charge sont le français et l'anglais et le logiciel peut être utilisé avec les systèmes d'exploitation Windows ou Linux. Les conditions de diffusion sont celles des licences GPL gratuites, et le logiciel est la propriété intellectuelle d'EDF et INRAE.
|
|
|
|
|
|
- [Création des orthoimages](#création-des-orthoimages)
|
|
|
Les codes de calcul communs à Fudaa-LSPIV et à l’application mobile FlowPic sont développés par INRAE et EDF. Ils sont à code ouvert (licence GPL) et disponibles ici : https://gitlab.irstea.fr/image_velocimetry/velocimetry_solver
|
|
|
|
|
|
- [Principes de la mesure de la vitesse de déplacement des traceurs](#principes-de-la-mesure-de-la-vitesse-de-déplacement-des-traceurs)
|
|
|
# Démarrer avec **_Fudaa-LSPIV_**
|
|
|
|
|
|
- [Principes du calcul de débit](#principes-du-calcul-de-débit)
|
|
|
## Installation du logiciel **_Fudaa-LSPIV_**
|
|
|
|
|
|
- [Définition et interpolation du profil bathymétrique](#définition-et-interpolation-du-profil-bathymétrique)
|
|
|
Le fichier d'installation du logiciel **_Fudaa-LSPIV_** est disponible dans la forge de développement logiciel suivante : https://forge.irstea.fr/projects/fudaa-lspiv/
|
|
|
|
|
|
- [Estimation de la vitesse moyenne en chaque point du transect](#estimation-de-la-vitesse-moyenne-en-chaque-point-du-transect)
|
|
|
Depuis la version 1.10, Fudaa-LSPIV ne nécessite plus l'installation de Java, ce qui résout un grand nombre de problèmes de compatibilité liés aux différentes versions de Java. Aucun autre pré-requis n'est nécessaire.
|
|
|
|
|
|
- [Calcul du débit à travers chaque transect](#calcul-du-débit-à-travers-chaque-transect)
|
|
|
Installation et exécution de Fudaa-LSPIV (**Windows**) :
|
|
|
|
|
|
[__14. Références bibliographiques__](#références-bibliographiques)
|
|
|
1\. Décompressez le fichier d'installation fudaa-lspiv-{version}-win-x64.zip. {version} est à remplacer par la version du logiciel.
|
|
|
|
|
|
#
|
|
|
2\. Double cliquez sur le fichier Fudaa-LSPIV\\fudaa-lspiv.bat pour exécuter Fudaa-LSPIV.
|
|
|
|
|
|
# Généralités
|
|
|
Vous pouvez créer un raccourci vers ce fichier .bat et définir le fichier /icons/fudaa-lspiv.ico comme icône de ce raccourci.
|
|
|
|
|
|
## Pourquoi la LSPIV
|
|
|
Installation et exécution de Fudaa-LSPIV (**Linux**) :
|
|
|
|
|
|
Le scientifique étudiant les rivières sous des aspects de débit liquide
|
|
|
ou de flux sédimentaire se heurte souvent à une inadéquation entre les
|
|
|
mesures hydrométriques disponibles et les besoins. Ces besoins ont
|
|
|
évolué, en parallèle avec le développement de la modélisation numérique,
|
|
|
vers une demande de donnée spatialisée, à haute fréquence temporelle, et
|
|
|
pour des conditions d'écoulement diverses. Particulièrement, la mesure
|
|
|
de vitesse et de débit de crue reste souvent impossible avec les
|
|
|
techniques traditionnelles de jaugeage (courantomètres, aDcp, dilution
|
|
|
chimique), quand les fortes vitesses et les nombreux débris flottants
|
|
|
mettent en danger les opérateurs et le matériel. De plus, le temps de
|
|
|
mesure inhérent à ces techniques est régulièrement en inadéquation avec
|
|
|
le caractère non permanent des écoulements de crue. Le développement des
|
|
|
outils de modélisation 2D voire 3D pour la compréhension des
|
|
|
écoulements, en milieu naturel et en modèle physique de laboratoire,
|
|
|
demande, pour validation, des mesures complémentaires à des hauteurs
|
|
|
d'eau ou des débits. Les résultats spatialisés en termes de vitesses de
|
|
|
ces modèles nécessitent une mesure hydrométrique correspondante,
|
|
|
c'est-à-dire un champ de vitesse. Là encore, les techniques
|
|
|
traditionnelles de mesure de vitesse ne répondent pas complètement à ces
|
|
|
besoins.
|
|
|
|
|
|
L'hydrométrie par analyse de séquences d'images est une alternative
|
|
|
intéressante qui permet l'accès à la mesure de vitesses de surface
|
|
|
instantanées sur des surfaces allant jusqu'à l'hectare, et ce de façon
|
|
|
non intrusive. Cette technique est appelée Large Scale Particle Image
|
|
|
Velocimetry (LSPIV). Pour une description détaillée de la méthode, on
|
|
|
peut se référer par exemple à la thèse d'A. Hauet (2006).
|
|
|
1\. Décompressez le fichier d'installation fudaa-lspiv-{version}-linux-x64.tar.gz. {version} est à remplacer par la version du logiciel.
|
|
|
|
|
|
## Principes de la LSPIV
|
|
|
2\. Double cliquez sur le fichier Fudaa-LSPIV\\fudaa-lspiv.sh pour exécuter Fudaa-LSPIV.
|
|
|
|
|
|
L'analyse de séquences d'images permet de mesurer le champ 2D de vitesse
|
|
|
en surface d'un écoulement à condition que des traceurs visibles, tels
|
|
|
que des particules solides (débris végétaux, petits flottants, etc.),
|
|
|
des bulles ou des figures de turbulence soient advectés avec
|
|
|
l'écoulement, tout en restant reconnaissables d’une image à l’autre.
|
|
|
Cette technique est dérivée de la Particle Image Velocimetry (PIV)
|
|
|
utilisée en laboratoire, mais pour une étude sur des objets de grandes
|
|
|
échelles de type rivière, d'où le nom de Large-Scale PIV (LSPIV, Fujita
|
|
|
et al. 1998). Une mesure LSPIV comprend (i) l'enregistrement d'une
|
|
|
séquence d'images horodatées de l'écoulement, (ii) une correction
|
|
|
géométrique des images pour s'affranchir des effets de distorsion de
|
|
|
perspective (orthorectification) et (iii) un calcul du déplacement des
|
|
|
traceurs de l'écoulement grâce à une analyse statistique en corrélation
|
|
|
des motifs. En pratique, l'ensemencement de l'écoulement par ajout de
|
|
|
traceurs n'est souvent pas nécessaire pour les rivières en crue : si le
|
|
|
mouvement de l'eau est visible dans une séquence d'images, en général il
|
|
|
sera possible d'en extraire les vitesses. On obtient ainsi un champ 2D
|
|
|
"quasi instantané" (à la fréquence d'échantillonnage des paires
|
|
|
d'images, limitée par la fréquence d'acquisition de la caméra et
|
|
|
l'amplitude des déplacements de motifs). Connaissant la bathymétrie
|
|
|
d'une section en travers et supposant un modèle de distribution
|
|
|
verticale de vitesse, on peut arriver à l'estimation du débit à partir
|
|
|
du champ de vitesse LSPIV.
|
|
|
|
|
|
La LSPIV a été utilisée pour estimer des débits de rivières d'échelles
|
|
|
très différentes, des étiages aux fortes crues (voir par exemple Creutin
|
|
|
et al. 2003, Hauet et al. 2008 ou Jodeau et al. 2008) ainsi que pour
|
|
|
l'amélioration de courbes de tarage en régimes hydrauliques normaux (Le
|
|
|
Coz et al. 2010 ou Dramais et al. 2011). La LSPIV a également été
|
|
|
appliquée à des films de crue partagés par le public sur internet (Le
|
|
|
Boursicaud et al. 2016, Le Coz et al. 2016). Une revue des applications
|
|
|
de la LSPIV pour l'estimation des débits en rivières a été proposée par
|
|
|
Muste et al. (2008). La LSPIV a également été utilisée pour l'étude de
|
|
|
la dynamique d'écoulements complexes (Le Coz et al. 2010b, Hauet et al.
|
|
|
2009) ainsi qu’à des laves torrentielles (Theule et al. 2018) et des
|
|
|
modèles physiques de laboratoires à fond mobile (Piton et al., 2018). La
|
|
|
LSPIV s'est également montrée être un outil performant pour l'étude des
|
|
|
écoulements de ruissellement sur versant (Nord et al. 2009, Legout et
|
|
|
al. 2012) où les instruments intrusifs ne peuvent être utilisés du fait
|
|
|
des très faibles tirants d'eau considérés (millimétriques).
|
|
|
|
|
|
## Le logiciel libre ***Fudaa-LSPIV***
|
|
|
|
|
|
***Fudaa-LSPIV*** est un logiciel permettant de traiter des séquences
|
|
|
d'images d'écoulements pour calculer les champs de vitesse de surface et
|
|
|
les débits à travers des sections en travers. La méthode est basée sur
|
|
|
la technique LSPIV (Large-Scale Particle Image Velocimetry), avec les
|
|
|
étapes principales suivantes :
|
|
|
|
|
|
- *Images* : importer une séquence d’images ou des images
|
|
|
échantillonnées à partir d'une séquence vidéo
|
|
|
|
|
|
- *Orthorectification* : corrigez les images à partir d'une distorsion
|
|
|
de perspective et attribuez une taille de métrique à des pixels
|
|
|
|
|
|
- *Analyse LSPIV* : calculer les vitesses de surface à partir de
|
|
|
l'analyse statistique du mouvement des traceurs
|
|
|
|
|
|
- *Post-traitement* : appliquer des filtres aux résultats de la vitesse,
|
|
|
calculer la moyenne temporelle, calculer les lignes de courant
|
|
|
|
|
|
- *Débit* : calculer le débit à travers un transect bathymétrique en
|
|
|
utilisant un coefficient de correction de vitesse
|
|
|
|
|
|
Le logiciel à code ouvert (licence GPL) ***Fudaa-LSPIV*** est une
|
|
|
interface Java qui appelle des exécutables Fortran et C++. Le
|
|
|
développement de ***Fudaa-LSPIV*** a été exécuté par DeltaCAD depuis
|
|
|
août 2010 avec le financement et sous la direction d'EDF et d'INRAE. Ce
|
|
|
développement s'inscrit dans le cadre du projet de logiciel libre Fudaa
|
|
|
pour les applications hydrauliques. Les langues prises en charge sont le
|
|
|
français et l'anglais et le logiciel peut être utilisé avec les systèmes
|
|
|
d'exploitation Windows ou Linux. Les conditions de diffusion sont celles
|
|
|
des licences GPL gratuites, et le logiciel est la propriété
|
|
|
intellectuelle d'EDF et INRAE.
|
|
|
|
|
|
Les codes de calcul communs à Fudaa-LSPIV et à l’application mobile
|
|
|
FlowPic sont développés par INRAE et EDF. Ils sont à code ouvert
|
|
|
(licence GPL) et disponibles ici :
|
|
|
<https://gitlab.irstea.fr/image_velocimetry/velocimetry_solver>
|
|
|
|
|
|
# Démarrer avec ***Fudaa-LSPIV***
|
|
|
|
|
|
## Installation du logiciel ***Fudaa-LSPIV***
|
|
|
|
|
|
Le fichier d'installation du logiciel ***Fudaa-LSPIV*** est disponible
|
|
|
dans la forge de développement logiciel suivante :
|
|
|
<https://forge.irstea.fr/projects/fudaa-lspiv/>
|
|
|
|
|
|
Depuis la version 1.10, Fudaa-LSPIV ne nécessite plus l'installation de
|
|
|
Java, ce qui résout un grand nombre de problèmes de compatibilité liés
|
|
|
aux différentes versions de Java. Aucun autre pré-requis n'est
|
|
|
nécessaire.
|
|
|
|
|
|
<u>Installation et exécution de Fudaa-LSPIV (**Windows**) :</u>
|
|
|
|
|
|
1\. Décompressez le fichier d'installation
|
|
|
fudaa-lspiv-{version}-win-x64.zip. {version} est à remplacer par la
|
|
|
version du logiciel.
|
|
|
|
|
|
2\. Double cliquez sur le fichier Fudaa-LSPIV\fudaa-lspiv.bat pour
|
|
|
exécuter Fudaa-LSPIV.
|
|
|
|
|
|
Vous pouvez créer un raccourci vers ce fichier .bat et définir le
|
|
|
fichier /icons/fudaa-lspiv.ico comme icône de ce raccourci.
|
|
|
|
|
|
<u>Installation et exécution de Fudaa-LSPIV (**Linux**) :</u>
|
|
|
|
|
|
1\. Décompressez le fichier d'installation
|
|
|
fudaa-lspiv-{version}-linux-x64.tar.gz. {version} est à remplacer par la
|
|
|
version du logiciel.
|
|
|
|
|
|
2\. Double cliquez sur le fichier Fudaa-LSPIV\fudaa-lspiv.sh pour
|
|
|
exécuter Fudaa-LSPIV.
|
|
|
|
|
|
<u>Désinstallation :</u>
|
|
|
Désinstallation :
|
|
|
|
|
|
La désinstallation se fait par la suppression du répertoire Fudaa-LSPIV.
|
|
|
|
|
|
<u>Répertoire d’installation :</u>
|
|
|
Répertoire d’installation :
|
|
|
|
|
|
Le logiciel s’installe dans le répertoire choisi, avec l’architecture
|
|
|
suivante :
|
|
|
Le logiciel s’installe dans le répertoire choisi, avec l’architecture suivante :
|
|
|
|
|
|
<img src="./media/image4.png"
|
|
|
style="width:1.15429in;height:2.01864in" />
|
|
|
![image4](uploads/908bfd19018f4f77791883216a5d0a41/image4.png)
|
|
|
|
|
|
- dossier ***bin*** : contient l'exécutable ***fudaa-lspiv.bat***, qui
|
|
|
permet de lancer l'application ;
|
|
|
- dossier **_bin_** : contient l'exécutable **_fudaa-lspiv.bat_**, qui permet de lancer l'application ;
|
|
|
- dossier **_doc_** : contient le présent **_Guide d'utilisation_** ;
|
|
|
- dossier **_examples_** : contient un exemple de projet **_Fudaa-LSPIV_** ;
|
|
|
- dossier **_exes_** : contient les exécutables Fortran appelés pour les étapes de l'analyse LSPIV ;
|
|
|
- dossier **_icons_** : contient les icônes ;
|
|
|
- dossier **_lib_** : contient les bibliothèques Java nécessaires à l'application **_Fudaa-LSPIV_** ;
|
|
|
- dossier **_templates_** : contient le modèle Excel pour l’export du [rapport de jaugeage](#export-du-rapport-de-jaugeage)
|
|
|
- dossier **_uninstaller_** : contient l'exécutable de désinstallation.
|
|
|
|
|
|
- dossier ***doc*** : contient le présent ***Guide d'utilisation*** ;
|
|
|
## Langues
|
|
|
|
|
|
- dossier ***examples*** : contient un exemple de projet
|
|
|
***Fudaa-LSPIV*** ;
|
|
|
La langue par défaut du logiciel **_Fudaa-LSPIV_** est le français ou l’anglais selon le choix fait lors de l’installation. Il est possible de passer en langue anglaise grâce au menu **_Edition 🡪 Préférences_**. Dans l’onglet **_Accessibilité 🡪 Langue_** choisir **_english \[en\]_**, puis relancer le logiciel.
|
|
|
|
|
|
- dossier ***exes*** : contient les exécutables Fortran appelés pour les
|
|
|
étapes de l'analyse LSPIV ;
|
|
|
![image5](uploads/5647a50579a962f8f5437e3512927b09/image5.png)
|
|
|
|
|
|
- dossier ***icons*** : contient les icônes ;
|
|
|
## Architecture de la fenêtre principale
|
|
|
|
|
|
- dossier ***lib*** : contient les bibliothèques Java nécessaires à
|
|
|
l'application ***Fudaa-LSPIV*** ;
|
|
|
Le logiciel Fudaa-LSPIV se compose de 5 panneaux tels que décrits dans la figure ci-dessous :
|
|
|
|
|
|
- dossier ***templates*** : contient le modèle Excel pour l’export du
|
|
|
[rapport de jaugeage](#export-du-rapport-de-jaugeage)
|
|
|
- Les menus (panneau 1 sur la figure) permettant d’accéder à la création ou l’ouverture de fichier, ou au lancement de traitements LSPIV.
|
|
|
- La barre d’accès rapide (panneau 2 sur la figure) permettant des raccourcis vers des fonctions principales des menus.
|
|
|
- La barre d’outils graphiques (panneau 3 sur la figure) permettant des sélections et modifications sur l’affichage graphique des vues.
|
|
|
- Les calques (panneau 4 sur la figure) affichant les différents calques disponibles et permettant de les sélectionner ou désélectionner.
|
|
|
- L’affichage graphique des vues (panneau 5 sur la figure) permettant de visualiser les images sources ou orthorectifiées ainsi que les résultats des calculs.
|
|
|
|
|
|
- dossier ***uninstaller*** : contient l'exécutable de désinstallation.
|
|
|
![image6](uploads/108f729095653dd1c15c4e972449b692/image6.png)
|
|
|
|
|
|
## Langues
|
|
|
> **_Important !_**
|
|
|
>
|
|
|
> Fudaa-LSPIV fonctionne sur une logique de calques (comme un logiciel de SIG par exemple) : pour travailler sur une donnée, une image ou un résultat ou pour modifier l’affichage d’une donnée, d’une image ou d’un résultat, il faut tout d’abord sélectionner le calque considéré.
|
|
|
|
|
|
La langue par défaut du logiciel ***Fudaa-LSPIV*** est le français ou
|
|
|
l’anglais selon le choix fait lors de l’installation. Il est possible de
|
|
|
passer en langue anglaise grâce au menu ***Edition 🡪 Préférences***.
|
|
|
Dans l’onglet ***Accessibilité 🡪 Langue*** choisir ***english \[en\]***,
|
|
|
puis relancer le logiciel.
|
|
|
# Commencer une étude **_Fudaa-LSPIV_**
|
|
|
|
|
|
<img src="./media/image5.png"
|
|
|
style="width:2.82031in;height:2.66037in" />
|
|
|
## Prérequis pour commencer une étude **_Fudaa-LSPIV_**
|
|
|
|
|
|
## Architecture de la fenêtre principale
|
|
|
Avant de lancer une étude **_Fudaa-LSPIV_**, il faut être en possession des données d’entrée nécessaires :
|
|
|
|
|
|
Le logiciel Fudaa-LSPIV se compose de 5 panneaux tels que décrits dans
|
|
|
la figure ci-dessous :
|
|
|
- Des images d’un écoulement, sous forme d’une vidéo ou d’une séquence d’images (toutes les images de la séquence doivent être espacées du même intervalle de temps, et cet intervalle de temps doit être connu précisément). La prise d’images doit se faire sans mouvement. Si des mouvements parasites affectent les images, il sera utile d’aligner les images à l’aide de l’étape Stabilisation.
|
|
|
- Lors de l'acquisition des films il faut être vigilant sur les reflets éventuels, la bonne visibilité des traceurs et la bonne répartition des traceurs dans l'image. Lorsque l'écoulement ne présente pas de motifs naturellement, des traceurs bien visibles peuvent être ajoutés. Il faut cependant s'assurer qu'ils se déplacent bien à la vitesse de l'écoulement.
|
|
|
- Une description géométrique de la zone imagée, comme des points de référence visibles sur les images et de coordonnées réelles connues, ou des éléments de mise à l’échelle, afin de conduire l’[orthorectification](#approfondissements).
|
|
|
- Pour des applications débitmétriques, on pourra se référer aux prescriptions de prise d’images faites lors du projet FloodScale.
|
|
|
|
|
|
- Les menus (panneau 1 sur la figure) permettant d’accéder à la création
|
|
|
ou l’ouverture de fichier, ou au lancement de traitements LSPIV.
|
|
|
##
|
|
|
|
|
|
- La barre d’accès rapide (panneau 2 sur la figure) permettant des
|
|
|
raccourcis vers des fonctions principales des menus.
|
|
|
## Créer une nouvelle étude
|
|
|
|
|
|
- La barre d’outils graphiques (panneau 3 sur la figure) permettant des
|
|
|
sélections et modifications sur l’affichage graphique des vues.
|
|
|
Pour créer une nouvelle étude, cliquer sur l’icône **_Créer_** ![image7](uploads/146a75ba1b0c630985bf330dca97aae2/image7.png) dans la barre d’accès rapide.
|
|
|
|
|
|
- Les calques (panneau 4 sur la figure) affichant les différents calques
|
|
|
disponibles et permettant de les sélectionner ou désélectionner.
|
|
|
![image8](uploads/d4bda6284d3b00f566922c5ad4e2823b/image8.png)
|
|
|
|
|
|
- L’affichage graphique des vues (panneau 5 sur la figure) permettant de
|
|
|
visualiser les images sources ou orthorectifiées ainsi que les
|
|
|
résultats des calculs.
|
|
|
Sinon, suivre le menu **_Fichier 🡪 Créer_**. Le raccourci clavier correspondant est Ctrl+N
|
|
|
|
|
|
<img src="./media/image6.png" style="width:6.3in;height:3.32708in" />
|
|
|
## Ouvrir une étude existante
|
|
|
|
|
|
***Important !***
|
|
|
Pour ouvrir une étude existante, cliquer sur l’icône **_Ouvrir_** ![image9](uploads/144b2e0f82ea7719e7cb0452018e1dfe/image9.png) dans la barre d’accès rapide.
|
|
|
|
|
|
Fudaa-LSPIV fonctionne sur une logique de calques (comme un logiciel de
|
|
|
SIG par exemple) : pour travailler sur une donnée, une image ou un
|
|
|
résultat ou pour modifier l’affichage d’une donnée, d’une image ou d’un
|
|
|
résultat, il faut tout d’abord sélectionner le calque considéré.
|
|
|
![image10](uploads/15af1f621364a39a9ae7df88fc403e31/image10.png)
|
|
|
|
|
|
# Commencer une étude ***Fudaa-LSPIV***
|
|
|
Sinon, suivre le menu **_Fichier 🡪 Ouvrir_**. Le raccourci clavier correspondant est Ctrl+O.
|
|
|
|
|
|
## Prérequis pour commencer une étude ***Fudaa-LSPIV***
|
|
|
> Le menu **_Fichier 🡪 Réouvrir_** permet d’aller chercher une des dernières études enregistrées.
|
|
|
|
|
|
Avant de lancer une étude ***Fudaa-LSPIV***, il faut être en possession
|
|
|
des données d’entrée nécessaires :
|
|
|
## Architecture d’un projet **_Fudaa-LSPIV_**
|
|
|
|
|
|
- Des images d’un écoulement, sous forme d’une vidéo ou d’une séquence
|
|
|
d’images (toutes les images de la séquence doivent être espacées du
|
|
|
même intervalle de temps, et cet intervalle de temps doit être connu
|
|
|
précisément). La prise d’images doit se faire sans mouvement. Si des
|
|
|
mouvements parasites affectent les images, il sera utile d’aligner les
|
|
|
images à l’aide de l’étape Stabilisation.
|
|
|
Les projets **_Fudaa-LSPIV_** sont enregistrés par le menu **_Fichier 🡪 Enregistrer_** sous forme d'un fichier d’extension [**_.lspiv.zip_.**]()
|
|
|
|
|
|
- Lors de l'acquisition des films il faut être vigilant sur les reflets
|
|
|
éventuels, la bonne visibilité des traceurs et la bonne répartition
|
|
|
des traceurs dans l'image. Lorsque l'écoulement ne présente pas de
|
|
|
motifs naturellement, des traceurs bien visibles peuvent être ajoutés.
|
|
|
Il faut cependant s'assurer qu'ils se déplacent bien à la vitesse de
|
|
|
l'écoulement.
|
|
|
L'architecture d'un projet **_Fudaa-LSPIV_** est composée de plusieurs dossiers :
|
|
|
|
|
|
- Une description géométrique de la zone imagée, comme des points de
|
|
|
référence visibles sur les images et de coordonnées réelles connues,
|
|
|
ou des éléments de mise à l’échelle, afin de conduire
|
|
|
l’[orthorectification](#approfondissements).
|
|
|
- **_img_pgm_** : contient les images sources en format .pgm utilisées pour le traitement ;
|
|
|
- **_img_transf_** : contient un dossier cache des images orthorectifiées au format .gif, moins volumineuses en taille (optimisation de l’affichage) ; les images orthorectifiées en format .pgm ne sont pas sauvegardées (les fichiers .pgm sont vides).
|
|
|
- **_outputs.dir_** : contient les fichiers de calcul et des paramètres LSPIV ;
|
|
|
- **_transects_** : contient les données de transects bathymétriques projetés et interpolés ;
|
|
|
- **_vel_filter_** : contient les fichiers de résultats des vitesses LSPIV instantanées filtrées, en coordonnées image ;
|
|
|
- **_vel_raw_** : contient les fichiers de résultats des vitesses LSPIV instantanées brutes, en coordonnées image ;
|
|
|
- **_vel_real_** : contient les fichiers de résultats des vitesses LSPIV instantanées filtrées, en coordonnées réelles ;
|
|
|
- **_vel_scal_** : contient les fichiers de résultats des scalaires (norme de vitesse, corrélation) calculés à partir des vitesses LSPIV instantanées filtrées, en coordonnées réelles.
|
|
|
|
|
|
- Pour des applications débitmétriques, on pourra se référer aux
|
|
|
prescriptions de prise d’images faites lors du projet FloodScale.
|
|
|
[image11](uploads/ddc8bb4a0251fa64fcbd179436838e9c/image11.png)
|
|
|
|
|
|
##
|
|
|
|
|
|
## Créer une nouvelle étude
|
|
|
# Gestion des images sources
|
|
|
|
|
|
Pour créer une nouvelle étude, cliquer sur l’icône ***Créer***
|
|
|
<img src="./media/image7.png"
|
|
|
style="width:0.25035in;height:0.29326in" /> dans la barre d’accès
|
|
|
rapide.
|
|
|
Les calculs réalisés dans **_Fudaa-LSPIV_** sont effectués sur des séquences d’images consécutives avec un intervalle de temps connu et fixe. L’utilisateur peut :
|
|
|
|
|
|
<img src="./media/image8.png" style="width:6.3in;height:0.82292in" />
|
|
|
- Importer une séquence d’image
|
|
|
- Importer une vidéo et la séquencer dans **_Fudaa-LSPIV_**
|
|
|
|
|
|
Sinon, suivre le menu ***Fichier 🡪 Créer***. Le raccourci clavier
|
|
|
correspondant est Ctrl+N
|
|
|
## Importer une séquence d’images
|
|
|
|
|
|
## Ouvrir une étude existante
|
|
|
Le menu **_Images 🡪 Gestion des images source_** ouvre la fenêtre de gestion des images. Le bouton **_Ajouter_** ![image12](uploads/6e8055b0b3bf287ef473563cde6cb0ff/image12.png) lance un explorateur permettant de sélectionner la séquence d’images à analyser. Tous les formats d’images classiques sont gérés (png, tif, pgm, jpg, tiff, jpeg, gif, bmp…). Les images sélectionnées apparaissent dans la fenêtre de gestion des images.
|
|
|
|
|
|
Pour ouvrir une étude existante, cliquer sur l’icône ***Ouvrir***
|
|
|
<img src="./media/image9.png" style="width:0.2563in;height:0.30906in" />
|
|
|
dans la barre d’accès rapide.
|
|
|
![image13](uploads/e8a5ef8ef5f6887b25c115da24a1fb6e/image13.png)
|
|
|
|
|
|
<img src="./media/image10.png" style="width:6.3in;height:0.76528in" />
|
|
|
Le bouton **_Ajouter_** ![image12](uploads/f33f2e1aed1147e14205c6e26f934f66/image12.png) permet d’ajouter de nouvelles images de la même séquence. Le bouton **_Enlever_** ![image14](uploads/2530051d1af19ed51bb6953cc3791849/image14.png) permet d’enlever une ou des images sélectionnées. Les boutons **_Monter_** ![image15](uploads/4550edb5da32aeb10b9fa41b0066101f/image15.png) et **_Descendre_** ![image16](uploads/e3b50ced87f720090d1756deb9efc37c/image16.png) permettent de modifier l’ordre des images dans la séquence.
|
|
|
|
|
|
Sinon, suivre le menu ***Fichier 🡪 Ouvrir***. Le raccourci clavier
|
|
|
correspondant est Ctrl+O. Le menu ***Fichier 🡪 Réouvrir*** permet
|
|
|
d’aller chercher une des dernières études enregistrées.
|
|
|
L’utilisateur spécifie ici soit **_l’intervalle de temps_** entre deux images, soit le **_nombre d’images par seconde_**.
|
|
|
|
|
|
## Architecture d’un projet ***Fudaa-LSPIV***
|
|
|
> En cochant la case **_Fond_**, l’image considérée est affichée par le logiciel mais n’est pas utilisée pour les calculs de vitesse LSPIV. Cette option peut être appliquée si les images montrant les points de repères utiles à l’orthorectification ne sont pas intéressantes pour la mesure du champ de vitesse (images des GRP prises avant ou après le passage de traceurs de l’écoulement, par exemple).
|
|
|
|
|
|
Les projets ***Fudaa-LSPIV*** sont enregistrés par le menu ***Fichier 🡪
|
|
|
Enregistrer*** sous forme d'un fichier d’extension ***.lspiv.zip***.
|
|
|
L'architecture d'un projet ***Fudaa-LSPIV*** est composée de :
|
|
|
Une fois la sélection validée, les images s’affichent dans **_l’Espace image source_**.
|
|
|
|
|
|
- dossier ***img_pgm*** : contient les images sources en format .pgm
|
|
|
utilisées pour le traitement ;
|
|
|
![image17](uploads/1110907935e3d44a13d8145dc2fa0af4/image17.png)
|
|
|
|
|
|
- dossier ***img_transf*** : contient un dossier cache des images
|
|
|
orthorectifiées au format .gif, moins volumineuses en taille
|
|
|
(optimisation de l’affichage) ; les images orthorectifiées en format
|
|
|
.pgm ne sont pas sauvegardées (les fichiers .pgm sont vides).
|
|
|
Les images sources être consultées avec **la liste de défilement** :
|
|
|
|
|
|
- dossier ***outputs.dir*** : contient les fichiers de calcul et des
|
|
|
paramètres LSPIV ;
|
|
|
![image18](uploads/3338941ac853b3a31a3a8f1861099d07/image18.png)
|
|
|
|
|
|
- dossier ***transects*** : contient les données de transects
|
|
|
bathymétriques projetés et interpolés ;
|
|
|
## Importer une vidéo et la séquencer
|
|
|
|
|
|
- dossier ***vel_filter*** : contient les fichiers de résultats des
|
|
|
vitesses LSPIV instantanées filtrées, en coordonnées image ;
|
|
|
Le menu **_Images 🡪 Importer les images depuis une vidéo_** ouvre la fenêtre d’import des vidéos :
|
|
|
|
|
|
- dossier ***vel_raw*** : contient les fichiers de résultats des
|
|
|
vitesses LSPIV instantanées brutes, en coordonnées image ;
|
|
|
![image19](uploads/732ce701617e378734a0950f7a1981c8/image19.png)
|
|
|
|
|
|
- dossier ***vel_real*** : contient les fichiers de résultats des
|
|
|
vitesses LSPIV instantanées filtrées, en coordonnées réelles ;
|
|
|
Le bouton ![image20](uploads/e1e453d222a23a1f9d48c892184cc82c/image20.png) lance un explorateur permettant de sélectionner la vidéo à séquencer.
|
|
|
|
|
|
- dossier ***vel_scal*** : contient les fichiers de résultats des
|
|
|
scalaires (norme de vitesse, corrélation) calculés à partir des
|
|
|
vitesses LSPIV instantanées filtrées, en coordonnées réelles.
|
|
|
![image21](uploads/c0534db3d6a344380714602adba5a37b/image21.png)
|
|
|
|
|
|
<img src="./media/image11.png"
|
|
|
style="width:1.06566in;height:2.26422in" />
|
|
|
> Tous les formats de vidéos classiques sont gérés (avi, mov, mpeg…). Le nombre d’images par seconde du film est affiché ainsi que l’intervalle de temps correspondant en secondes.
|
|
|
>
|
|
|
> Une prévisualisation de la vidéo est affichée, ce qui permet d'optimiser les paramètres d'échantillonnage des images. L'image courante dans l'aperçu peut être sélectionnée à l'aide du curseur.
|
|
|
>
|
|
|
> Le rang de l'image courante sur le nombre total d'images dans la vidéo est affiché avec des informations de base sur la vidéo : durée, nombre d'images par seconde, l’intervalle de temps correspondant en secondes, la taille des images (en pixels).
|
|
|
|
|
|
# Gestion des images sources
|
|
|
Dans le cartouche **_Echantillonnage_**, renseigner les paramètres de séquencement de la vidéo :
|
|
|
|
|
|
Les calculs réalisés dans ***Fudaa-LSPIV*** sont effectués sur des
|
|
|
séquences d’images consécutives avec un intervalle de temps connu et
|
|
|
fixe. L’utilisateur peut :
|
|
|
- La **_taille (Dimensions X et Y)_** des images à échantillonner, en pixels.
|
|
|
- Le **_taux d’échantillonnage des images_** : conserver 1 image sur N.
|
|
|
- Ou l’**_intervalle de temps_** entre deux images. Ce nombre doit être supérieur à l’intervalle de temps d’origine.
|
|
|
- Si l’intégralité de la vidéo n’est pas à analyser, renseigner les **_instants de début et de fin_** de la séquence d’intérêt, en secondes. Les instants de début et de fin peuvent être fixés à l'heure de l'image courante de l’aperçu en appuyant sur le bouton ![image22](uploads/0aa349b028b478e68341a940ccf073a4/image22.png).
|
|
|
|
|
|
- Importer une séquence d’image
|
|
|
Les informations d'échantillonnage sont stockées dans le projet et restituées dans les rapports de jaugeage. Le fichier de configuration est nommé user_extract.dat et situé dans le sous-dossier outputs.dir de l’archive .lspiv.zip. Il contient les instants de début et de fin (en secondes), le paramètre d’échantillonnage N (conserver 1 image toutes les N images), la taille des images extraites (en pixels), et le chemin d'accès au fichier vidéo. Les paramètres vidéo peuvent être chargés depuis un fichier user_extract.dat à l'aide du bouton ![image23](uploads/e45800d4910d516fd461b358acab76bf/image23.png).
|
|
|
|
|
|
- Importer une vidéo et la séquencer dans ***Fudaa-LSPIV***
|
|
|
Le bouton ![image24](uploads/9a0b1d426a6b7ec73858dad14d76a17f/image24.png) fait apparaître une infobulle fournissant des recommandations sur les paramètres d'échantillonnage de l'image.
|
|
|
|
|
|
## Importer une séquence d’images
|
|
|
En appuyant sur **_Valider_**, on démarre le séquencement. L’avancée du calcul est affichée et l'opération d'échantillonnage des images peut être interrompue si besoin. Les première et dernière images de la séquence sont supprimées automatiquement pour éviter des erreurs d’intervalle de temps. La séquence d’images en .png peut être affichée dans la fenêtre de gestion des images.
|
|
|
|
|
|
Le menu ***Images 🡪 Gestion des images source*** ouvre la fenêtre de
|
|
|
gestion des images. Le bouton ***Ajouter***
|
|
|
<img src="./media/image12.png"
|
|
|
style="width:0.76229in;height:0.17259in" /> lance un explorateur
|
|
|
permettant de sélectionner la séquence d’images à analyser. Tous les
|
|
|
formats d’images classiques sont gérés (png, tif, pgm, jpg, tiff, jpeg,
|
|
|
gif, bmp…). Les images sélectionnées apparaissent dans la fenêtre de
|
|
|
gestion des images.
|
|
|
|
|
|
<img src="./media/image13.png"
|
|
|
style="width:3.74697in;height:1.7983in" />
|
|
|
|
|
|
Le bouton ***Ajouter*** <img src="./media/image12.png"
|
|
|
style="width:0.76229in;height:0.17259in" /> permet d’ajouter de
|
|
|
nouvelles images de la même séquence. Le bouton ***Enlever***
|
|
|
<img src="./media/image14.png"
|
|
|
style="width:0.85596in;height:0.19199in" /> permet d’enlever une ou des
|
|
|
images sélectionnées. Les boutons ***Monter***
|
|
|
<img src="./media/image15.png"
|
|
|
style="width:0.9245in;height:0.21011in" /> et ***Descendre***
|
|
|
<img src="./media/image16.png"
|
|
|
style="width:0.7879in;height:0.18583in" /> permettent de modifier
|
|
|
l’ordre des images dans la séquence.
|
|
|
|
|
|
L’utilisateur spécifie ici soit ***l’intervalle de temps*** entre deux
|
|
|
images, soit le ***nombre d’images par seconde***.
|
|
|
|
|
|
En cochant la case ***Fond***, l’image considérée est affichée par le
|
|
|
logiciel mais n’est pas utilisée pour les calculs de vitesse LSPIV.
|
|
|
Cette option peut être appliquée si les images montrant les points de
|
|
|
repères utiles à l’orthorectification ne sont pas intéressantes pour la
|
|
|
mesure du champ de vitesse (images des GRP prises avant ou après le
|
|
|
passage de traceurs de l’écoulement, par exemple).
|
|
|
|
|
|
Une fois la sélection validée, les images s’affichent dans ***l’Espace
|
|
|
image source***.
|
|
|
|
|
|
<img src="./media/image17.png" style="width:6.3in;height:3.37292in" />
|
|
|
|
|
|
Les images sources être consultées avec la liste de défilement :
|
|
|
|
|
|
<img src="./media/image18.png" style="width:6.3in;height:3.38333in" />
|
|
|
![image25](uploads/7e4e6f7e5ac433c51a66c25473923b6e/image25.png)
|
|
|
|
|
|
## Importer une vidéo et la séquencer
|
|
|
Le bouton **_Ajouter_** ![image12](uploads/fcd641856591769a5bb385e0e92df069/image12.png) permet d’ajouter de nouvelles images de la même séquence. Le bouton **_Enlever_** ![image14](uploads/f30aa5df9410c7fdc6c610bd3d243e14/image14.png) permet d’enlever une ou des images sélectionnées. Les boutons **_Monter_** ![image15](uploads/830778c6922ee00d32f6eab070f69698/image15.png) et **_Descendre_** ![image16](uploads/a534f5404663427a9978db1693cce98c/image16.png) permettent de modifier l’ordre des images dans la séquence. Une fois la sélection validée, les images s’affichent dans **_l’Espace image source_**.
|
|
|
|
|
|
Le menu ***Images 🡪 Importer les images depuis une vidéo*** ouvre la
|
|
|
fenêtre d’import des vidéos :
|
|
|
|
|
|
<img src="./media/image19.png" style="width:6.3in;height:5.26667in" />
|
|
|
|
|
|
Le bouton <img src="./media/image20.png"
|
|
|
style="width:0.24313in;height:0.1756in" /> lance un explorateur
|
|
|
permettant de sélectionner la vidéo à séquencer. Tous les formats de
|
|
|
vidéos classiques sont gérés (avi, mov, mpeg…). Le nombre d’images par
|
|
|
seconde du film est affiché ainsi que l’intervalle de temps
|
|
|
correspondant en secondes. Une prévisualisation de la vidéo est
|
|
|
affichée, ce qui permet d'optimiser les paramètres d'échantillonnage des
|
|
|
images. L'image courante dans l'aperçu peut être sélectionnée à l'aide
|
|
|
du curseur. Le rang de l'image courante sur le nombre total d'images
|
|
|
dans la vidéo est affiché avec des informations de base sur la vidéo :
|
|
|
durée, nombre d'images par seconde, l’intervalle de temps correspondant
|
|
|
en secondes, la taille des images (en pixels).
|
|
|
|
|
|
<img src="./media/image21.png" style="width:6.3in;height:5.29236in" />
|
|
|
|
|
|
Dans le cartouche ***Echantillonnage***, renseigner les paramètres de
|
|
|
séquencement de la vidéo :
|
|
|
|
|
|
- La ***taille (Dimensions X et Y)*** des images à échantillonner, en
|
|
|
pixels.
|
|
|
|
|
|
- Le ***taux d’échantillonnage des images*** : conserver 1 image sur N.
|
|
|
|
|
|
- Ou l’***intervalle de temps*** entre deux images. Ce nombre doit être
|
|
|
supérieur à l’intervalle de temps d’origine.
|
|
|
|
|
|
- Si l’intégralité de la vidéo n’est pas à analyser, renseigner les
|
|
|
***instants de début et de fin*** de la séquence d’intérêt, en
|
|
|
secondes. Les instants de début et de fin peuvent être fixés à l'heure
|
|
|
de l'image courante de l’aperçu en appuyant sur le bouton
|
|
|
<img src="./media/image22.png"
|
|
|
style="width:0.77991in;height:0.23612in" /> .
|
|
|
|
|
|
Les informations d'échantillonnage sont stockées dans le projet et
|
|
|
restituées dans les rapports de jaugeage. Le fichier de configuration
|
|
|
est nommé user_extract.dat et situé dans le sous-dossier outputs.dir de
|
|
|
l’archive .lspiv.zip. Il contient les instants de début et de fin (en
|
|
|
secondes), le paramètre d’échantillonnage N (conserver 1 image toutes
|
|
|
les N images), la taille des images extraites (en pixels), et le chemin
|
|
|
d'accès au fichier vidéo. Les paramètres vidéo peuvent être chargés
|
|
|
depuis un fichier user_extract.dat à l'aide du bouton
|
|
|
<img src="./media/image23.png"
|
|
|
style="width:0.70441in;height:0.20578in" />.
|
|
|
|
|
|
Le bouton <img src="./media/image24.png"
|
|
|
style="width:0.22917in;height:0.28125in" /> fait apparaître une
|
|
|
infobulle fournissant des recommandations sur les paramètres
|
|
|
d'échantillonnage de l'image.
|
|
|
|
|
|
En appuyant sur ***Valider***, on démarre le séquencement. L’avancée du
|
|
|
calcul est affichée et l'opération d'échantillonnage des images peut
|
|
|
être interrompue si besoin. Les première et dernière images de la
|
|
|
séquence sont supprimées automatiquement pour éviter des erreurs
|
|
|
d’intervalle de temps. La séquence d’images en .png peut être affichée
|
|
|
dans la fenêtre de gestion des images.
|
|
|
|
|
|
<img src="./media/image25.png"
|
|
|
style="width:4.23822in;height:2.02635in" />
|
|
|
|
|
|
Le bouton ***Ajouter*** <img src="./media/image12.png"
|
|
|
style="width:0.76229in;height:0.17259in" /> permet d’ajouter de
|
|
|
nouvelles images de la même séquence. Le bouton ***Enlever***
|
|
|
<img src="./media/image14.png"
|
|
|
style="width:0.85596in;height:0.19199in" /> permet d’enlever une ou des
|
|
|
images sélectionnées. Les boutons ***Monter***
|
|
|
<img src="./media/image15.png"
|
|
|
style="width:0.9245in;height:0.21011in" /> et ***Descendre***
|
|
|
<img src="./media/image16.png"
|
|
|
style="width:0.7879in;height:0.18583in" /> permettent de modifier
|
|
|
l’ordre des images dans la séquence. Une fois la sélection validée, les
|
|
|
images s’affichent dans ***l’Espace image source***.
|
|
|
|
|
|
<img src="./media/image17.png" style="width:6.3in;height:3.37292in" />
|
|
|
![image17](uploads/825f1dce20cacee380d66ae79595d6bd/image17.png)
|
|
|
|
|
|
Les images sources peuvent être consultées avec la liste de défilement :
|
|
|
|
|
|
<img src="./media/image18.png" style="width:6.3in;height:3.38333in" />
|
|
|
![image18](uploads/b0e81c1af99a8900e321d29fa62ab452/image18.png)
|
|
|
|
|
|
Parmi les images ainsi importées, certaines pourront être utilisées
|
|
|
uniquement pour l’étape d’orthorectification (cocher la case fond) ou
|
|
|
uniquement pour le calcul de vitesse.
|
|
|
Parmi les images ainsi importées, certaines pourront être utilisées uniquement pour l’étape d’orthorectification (cocher la case fond) ou uniquement pour le calcul de vitesse.
|
|
|
|
|
|
<img src="./media/image25.png"
|
|
|
style="width:4.23822in;height:2.02635in" />
|
|
|
![image25](uploads/8ebb1ad918ff42f10bf3b567fb6c9908/image25.png)
|
|
|
|
|
|
## Stabiliser une séquence d’images
|
|
|
|
|
|
Le menu ***Images 🡪 Paramètres de stabilisation des images*** donne
|
|
|
accès à un module de stabilisation des images sources, permettant
|
|
|
d’éliminer les effets d’un éventuel mouvement de la caméra. Pour plus de
|
|
|
détails techniques sur l’algorithme et ses paramètres, voir la Section
|
|
|
***12 Approfondissements***.
|
|
|
Le menu **_Images 🡪 Paramètres de stabilisation des images_** donne accès à un module de stabilisation des images sources, permettant d’éliminer les effets d’un éventuel mouvement de la caméra. Pour plus de détails techniques sur l’algorithme et ses paramètres, voir la Section **_12 Approfondissements_**.
|
|
|
|
|
|
<img src="./media/image26.png"
|
|
|
style="width:4.30731in;height:1.52741in" />
|
|
|
![image26](uploads/45531697cf9d07aceb00fb30227b348a/image26.png)
|
|
|
|
|
|
Dans ce panneau, la case à cocher ***Activer le module de
|
|
|
stabilisation*** active ou désactive la stabilisation des images
|
|
|
sources.
|
|
|
Dans ce panneau, la case à cocher **_Activer le module de stabilisation_** active ou désactive la stabilisation des images sources.
|
|
|
|
|
|
<img src="./media/image27.png" style="width:2.708in;height:2.8822in" />
|
|
|
<img src="./media/image28.png"
|
|
|
style="width:2.77368in;height:2.9521in" />
|
|
|
![image27](uploads/00b9dbd27a3023ba6acb90923feef0b9/image27.png) ![image28](uploads/124ed161005c32106be07b46e407147e/image28.png)
|
|
|
|
|
|
Il est ensuite nécessaire de délimiter l’emprise d’une ou plusieurs
|
|
|
***Zones d'écoulement*** ou ***Zones fixes*** en cliquant sur le bouton
|
|
|
***Saisie interactive*** en saisissant les positions des sommets d’un
|
|
|
polygone sur une image source. Une <u>zone d’écoulement</u> correspond à
|
|
|
des motifs mobiles qui ne devront pas être utilisés comme points
|
|
|
d’intérêt par l’algorithme de stabilisation. Au contraire, une <u>zone
|
|
|
fixe</u> inclut des motifs fixes pouvant être utilisés comme points
|
|
|
d’intérêt par l’algorithme de stabilisation. Un calque ***Zone
|
|
|
d’écoulement*** est ajouté dans la vue 2D ***Espace image source***.
|
|
|
Il est ensuite nécessaire de délimiter l’emprise d’une ou plusieurs **_Zones d'écoulement_** ou **_Zones fixes_** en cliquant sur le bouton **_Saisie interactive_** en saisissant les positions des sommets d’un polygone sur une image source. Une zone d’écoulement correspond à des motifs mobiles qui ne devront pas être utilisés comme points d’intérêt par l’algorithme de stabilisation. Au contraire, une zone fixe inclut des motifs fixes pouvant être utilisés comme points d’intérêt par l’algorithme de stabilisation. Un calque **_Zone d’écoulement_** est ajouté dans la vue 2D **_Espace image source_**.
|
|
|
|
|
|
<img src="./media/image29.png"
|
|
|
style="width:2.88496in;height:2.28488in" />
|
|
|
<img src="./media/image30.png"
|
|
|
style="width:2.89071in;height:2.33627in" />
|
|
|
![image29](uploads/20340469de1e213c9ed6625d167e5e08/image29.png)\
|
|
|
![image30](uploads/60db49f971f9a0234b41ff047516b415/image30.png)
|
|
|
|
|
|
Par défaut, la densité des points d’intérêt est ***Moyenne*** et le
|
|
|
modèle de transformation est ***Similarité***. Deux modèles sont
|
|
|
proposés : ***Similarité*** et ***Perspective***. Le choix dépend de
|
|
|
l’importance des mouvements de la caméra et de la « qualité » des
|
|
|
berges.
|
|
|
Par défaut, la densité des points d’intérêt est **_Moyenne_** et le modèle de transformation est **_Similarité_**. Deux modèles sont proposés : **_Similarité_** et **_Perspective_**. Le choix dépend de l’importance des mouvements de la caméra et de la « qualité » des berges.
|
|
|
|
|
|
- <u>Faibles mouvements (\<10 pixels) :</u> privilégier le modèle de
|
|
|
***Similarité***
|
|
|
- Faibles mouvements (<10 pixels) : privilégier le modèle de **_Similarité_**
|
|
|
- Forts mouvements (>10 pixels) : privilégier le modèle **_Perspective_**
|
|
|
|
|
|
- <u>Forts mouvements (\>10 pixels) :</u> privilégier le modèle
|
|
|
***Perspective***
|
|
|
> La « qualité » des berges désigne principalement la texture et le contraste. Plus l’environnement sera texturé et contrasté avec des contours/coins apparents plus la berge sera de « qualité » pour la stabilisation.
|
|
|
>
|
|
|
> Une dalle de béton lisse sans aspérité sera vue comme berge de mauvaise « qualité » alors que des berges composées de végétation + roches + arbres + ombres seront de très bonne qualité.
|
|
|
|
|
|
La « qualité » des berges désigne principalement la texture et le
|
|
|
contraste. Plus l’environnement sera texturé et contrasté avec des
|
|
|
contours/coins apparents plus la berge sera de « qualité » pour la
|
|
|
stabilisation. Une dalle de béton lisse sans aspérité sera vue comme
|
|
|
berge de mauvaise « qualité » alors que des berges composées de
|
|
|
végétation + roches + arbres + ombres seront de très bonne qualité.
|
|
|
- Mauvaise « qualité » : choisir densité de points **_Forte_**
|
|
|
- Bonne « qualité » : choisir densité de points **_Faible_**
|
|
|
|
|
|
- <u>Mauvaise « qualité » :</u> choisir densité de points ***Forte***
|
|
|
La densité de points joue sur le temps de calcul : plus elle est faible, plus la stabilisation est rapide.
|
|
|
|
|
|
- <u>Bonne « qualité » :</u> choisir densité de points ***Faible***
|
|
|
> Le ratio berges/écoulement sur l’image est un paramètre important à prendre en compte. Le cas test proposé plus haut est idéal : l’écoulement représente environ 1/3 de l’image ce qui laisse suffisamment de berges. L’environnement est également suffisamment texturé et présente de nombreux contours. Dans un tel cas une densité **_Faible_** peut être utilisée.
|
|
|
>
|
|
|
> Pour assurer une bonne stabilisation, les **berges doivent au moins représenter ¼ de l’image**, de part et d’autre de l’écoulement (soit 50% écoulement, 50% berges).
|
|
|
>
|
|
|
> Il est déconseillé d’utiliser une densité **Faible** avec le modèle **Perspective**. Ce modèle est plus sensible, des erreurs peuvent donc apparaître s’il y a trop peu de points de contrôle.
|
|
|
|
|
|
La densité de points joue sur le temps de calcul : plus elle est faible,
|
|
|
plus la stabilisation est rapide.
|
|
|
Il faut ensuite **_Valider_** ou **_Annuler_** le paramétrage ainsi défini. Le bouton **_Appliquer_** ne sert à rien ici. Les paramètres de stabilisation sont restitués dans les rapports de jaugeage.
|
|
|
|
|
|
<img src="./media/image31.jpeg" style="width:0.48351in;height:1.06957in"
|
|
|
alt="Résultat de recherche d'images pour "conseil"" />Le
|
|
|
ratio berges/écoulement sur l’image est un paramètre important à prendre
|
|
|
en compte. Le cas test proposé plus haut est idéal : l’écoulement
|
|
|
représente environ 1/3 de l’image ce qui laisse suffisamment de berges.
|
|
|
L’environnement est également suffisamment texturé et présente de
|
|
|
nombreux contours. Dans un tel cas une densité ***Faible*** peut être
|
|
|
utilisée.
|
|
|
La commande **_Images 🡪 Stabiliser les images_** permet de lancer le calcul des images stabilisées, qui seront ensuite utilisées pour l’orthorectification (voir section suivante). Le calcul de stabilisation peut être interrompu.
|
|
|
|
|
|
Pour assurer une bonne stabilisation, les berges doivent au moins
|
|
|
représenter ¼ de l’image, de part et d’autre de l’écoulement (soit 50%
|
|
|
écoulement, 50% berges).
|
|
|
![image32](uploads/c840c7ff8521f0509e4b762d069067b1/image32.png)
|
|
|
|
|
|
Il est déconseillé d’utiliser une densité **Faible** avec le modèle
|
|
|
**Perspective**. Ce modèle est plus sensible, des erreurs peuvent donc
|
|
|
apparaître s’il y a trop peu de points de contrôle.
|
|
|
Les images stabilisées peuvent être visualisées une à une en Vue 2D **_Espace image source_** en cliquant au préalable sur l’icône « Main tremblante » ![image33](uploads/48c0fc90bf7ac3dba71eea3d5c11c0b9/image33.png).
|
|
|
|
|
|
Il faut ensuite ***Valider*** ou ***Annuler*** le paramétrage ainsi
|
|
|
défini. Le bouton ***Appliquer*** ne sert à rien ici. Les paramètres de
|
|
|
stabilisation sont restitués dans les rapports de jaugeage.
|
|
|
![image34](uploads/acfae0dae4d991be07d5938586a9d7b5/image34.png)
|
|
|
|
|
|
La commande ***Images 🡪 Stabiliser les images*** permet de lancer le
|
|
|
calcul des images stabilisées, qui seront ensuite utilisées pour
|
|
|
l’orthorectification (voir section suivante). Le calcul de stabilisation
|
|
|
peut être interrompu.
|
|
|
La commande **_Fichier 🡪 Exporter 🡪 Exporter les images stabilisées_** permet l'export des images stabilisées.
|
|
|
|
|
|
<img src="./media/image32.png" style="width:6.3in;height:3.84722in" />
|
|
|
![image35](uploads/5b415fee705c2f1b71bb4852ef8565f7/image35.png)
|
|
|
|
|
|
Les images stabilisées peuvent être visualisées une à une en Vue 2D
|
|
|
***Espace image source*** en cliquant au préalable sur l’icône « Main
|
|
|
tremblante » <img src="./media/image33.png"
|
|
|
style="width:0.22917in;height:0.27083in" />.
|
|
|
![image36](uploads/699af72f35c98518a69184501529a0a0/image36.png)
|
|
|
|
|
|
<img src="./media/image34.png"
|
|
|
style="width:4.47238in;height:3.54212in" />
|
|
|
# Orthorectification des images
|
|
|
|
|
|
La commande ***Fichier 🡪 Exporter 🡪 Exporter les images stabilisées***
|
|
|
permet l'export des images stabilisées.
|
|
|
## Choix du mode d’orthorectification
|
|
|
|
|
|
<img src="./media/image35.png" style="width:6.3in;height:3.36806in" />
|
|
|
**_Fudaa-LSPIV_** propose deux modes d’orthorectification :
|
|
|
|
|
|
<img src="./media/image36.png"
|
|
|
style="width:2.77577in;height:2.48652in" />
|
|
|
- **_Mise à l’échelle_** : avec des images non distordues par des effets de perspective (prise avec visée au nadir et sans déformation de lentille), une simple mise à l’échelle en mètre par pixel suffit
|
|
|
- **_Orthorectification complète_** : avec des images distordues par des effets de perspective, il faut faire une orthorectification complète basée sur des points de référence.
|
|
|
|
|
|
# Orthorectification des images
|
|
|
Ces modes sont accessibles via le menu **_Orthorectification🡪 Mode d’orthorectification_**.
|
|
|
|
|
|
## Choix du mode d’orthorectification
|
|
|
![image37](uploads/8354b3092f28bb06888a2cdf5f55a491/image37.png)
|
|
|
|
|
|
Ces deux modes de transformation des images permettent de mettre en œuvre une orthorectification 2D ou 3D, ou une simple mise à l’échelle des pixels de l’image. Ces trois types de transformation et leurs pré-requis sont résumés sur le graphique suivant et décrit dans les sections suivantes.
|
|
|
|
|
|
![image38](uploads/c4aaead02831b7c313a6f2f112bcb42e/image38.png)
|
|
|
|
|
|
***Fudaa-LSPIV*** propose deux modes d’orthorectification :
|
|
|
## Mise à l’échelle
|
|
|
|
|
|
- ***Mise à l’échelle*** : avec des images non distordues par des effets
|
|
|
de perspective (prise avec visée au nadir et sans déformation de
|
|
|
lentille), une simple mise à l’échelle en mètre par pixel suffit
|
|
|
> Lorsque le point de vue de la caméra est vertical (vu du ciel), on peut souvent négliger les effets de perspectives, au moins au centre de l’image. L’orthorectification des images n’est alors pas nécessaire. La mise à l’échelle consiste alors simplement à renseigner la taille physique d’un pixel.
|
|
|
|
|
|
- ***Orthorectification complète*** : avec des images distordues par des
|
|
|
effets de perspective, il faut faire une orthorectification complète
|
|
|
basée sur des points de référence.
|
|
|
Le menu **_Orthorectification 🡪 Mise à l’échelle 🡪 Paramètres_** amène sur la fenêtre de définition des paramètres de mise à l’échelle :
|
|
|
|
|
|
Ces modes sont accessibles via le menu ***Orthorectification🡪 Mode
|
|
|
d’orthorectification***.
|
|
|
![image39](uploads/18e5d97ef6714a0ea9c2e0117789dca1/image39.png)
|
|
|
|
|
|
<img src="./media/image37.png"
|
|
|
style="width:1.6745in;height:1.21062in" />
|
|
|
### Définition de la résolution
|
|
|
|
|
|
Ces deux modes de transformation des images permettent de mettre en
|
|
|
œuvre une orthorectification 2D ou 3D, ou une simple mise à l’échelle
|
|
|
des pixels de l’image. Ces trois types de transformation et leurs
|
|
|
pré-requis sont résumés sur le graphique suivant et décrit dans les
|
|
|
sections suivantes.
|
|
|
Dans l’onglet **_Résolution_**, deux méthodes sont proposées pour renseigner la résolution des images (taille physique des pixels en mètre) :
|
|
|
|
|
|
<img src="./media/image38.png" style="width:6.3in;height:3.54375in" />
|
|
|
- Saisie directe de la résolution si elle est connue : entrer la résolution en m/pix dans la case dédiée.
|
|
|
|
|
|
## Mise à l’échelle
|
|
|
![image40](uploads/ab6678a534ddfe5edb1a0844d6d10b96/image40.png)
|
|
|
|
|
|
Lorsque le point de vue de la caméra est vertical (vu du ciel), on peut
|
|
|
souvent négliger les effets de perspectives, au moins au centre de
|
|
|
l’image. L’orthorectification des images n’est alors pas nécessaire. La
|
|
|
mise à l’échelle consiste alors simplement à renseigner la taille
|
|
|
physique d’un pixel.
|
|
|
- Saisie de couples de points définissant des segments de taille connue, supposés d’altitude équivalente à celle du plan d’eau (voir plus loin pour le cas général) :
|
|
|
- Cliquer sur les positions des extrémités du premier segment dans l’image. Les coordonnées image (I1,J1) et (I2,J2) des deux points apparaissent alors dans le tableau
|
|
|
- Indiquer en face la longueur du segment (distance entre les deux points) en mètres. La résolution correspondante est calculée.
|
|
|
|
|
|
Le menu ***Orthorectification 🡪 Mise à l’échelle 🡪 Paramètres*** amène
|
|
|
sur la fenêtre de définition des paramètres de mise à l’échelle :
|
|
|
Vous pouvez ré-itérer l’opération pour autant de segments de taille connue. La moyenne des résolutions ainsi calculées s’affiche et sera celle retenue pour la transformation des images.
|
|
|
|
|
|
<img src="./media/image39.png"
|
|
|
style="width:3.46352in;height:2.43729in" />
|
|
|
![image41](uploads/0d785cba6d3eb4799951cd99a20c07cd/image41.png)
|
|
|
|
|
|
### Définition de la résolution
|
|
|
- Alternativement, les coordonnées réelles des extrémités des segments peuvent être renseignées, à la place des longueurs des segments.
|
|
|
- Sélectionner **_Coordonnées_** au lieu de **_Distance_** dans le menu déroulant.
|
|
|
|
|
|
![image42](uploads/a57b8731c6b8aef58c63fd5bcbe28c89/image42.png)
|
|
|
|
|
|
- Quand les segments de taille connue ne sont pas situés à une altitude équivalente à celle du plan d’eau, il est possible de corriger l’effet de perspective :
|
|
|
- Cocher la case **_Images prises par drone_**
|
|
|
- Saisir dans la case **_Altitude du drone (m)_** l’altitude de vol du drone dans le même repère altimétrique que le niveau d’eau.
|
|
|
- Il faut alors saisir l’altitude de chaque segment pour permettre le calcul de la résolution correspondante.
|
|
|
|
|
|
> **_Attention !_** _Les altitudes sont des altitudes absolues (et pas des hauteurs au-dessus du plan d’eau) et le calcul de résolution dépend du niveau d’eau (supposé égal à 0 par défaut)._
|
|
|
|
|
|
Dans l’onglet ***Résolution***, deux méthodes sont proposées pour
|
|
|
renseigner la résolution des images (taille physique des pixels en
|
|
|
mètre) :
|
|
|
|
|
|
- Saisie directe de la résolution si elle est connue : entrer la
|
|
|
résolution en m/pix dans la case dédiée.
|
|
|
|
|
|
> <img src="./media/image40.png"
|
|
|
> style="width:3.5608in;height:2.50575in" />
|
|
|
|
|
|
- Saisie de couples de points définissant des segments de taille connue,
|
|
|
<u>supposés d’altitude équivalente à celle du plan d’eau</u> (voir
|
|
|
plus loin pour le cas général) : cliquer sur les positions des
|
|
|
extrémités du premier segment dans l’image ; les coordonnées image
|
|
|
(I1,J1) et (I2,J2) des deux points apparaissent alors dans le
|
|
|
tableau ; indiquer en face la longueur du segment (distance entre les
|
|
|
deux points) en mètres ; la résolution correspondante est calculée.
|
|
|
Vous pouvez ré-itérer l’opération pour autant de segments de taille
|
|
|
connue. La moyenne des résolutions ainsi calculées s’affiche et sera
|
|
|
celle retenue pour la transformation des images.
|
|
|
|
|
|
> <img src="./media/image41.png"
|
|
|
> style="width:3.4412in;height:2.75463in" />
|
|
|
|
|
|
- Alternativement, les coordonnées réelles des extrémités des segments
|
|
|
peuvent être renseignées, à la place des longueurs des segments.
|
|
|
Sélectionner ***Coordonnées*** au lieu de ***Distance*** dans le menu
|
|
|
déroulant.
|
|
|
|
|
|
<img src="./media/image42.png"
|
|
|
style="width:3.63703in;height:2.89656in" />
|
|
|
|
|
|
- Quand les segments de taille connue ne sont <u>pas situés à une
|
|
|
altitude équivalente à celle du plan d’eau</u>, il est possible de
|
|
|
corriger l’effet de perspective : cocher la case ***Images prises par
|
|
|
drone***, saisir dans la case ***Altitude du drone (m)*** l’altitude
|
|
|
de vol du drone dans le même repère altimétrique que le niveau d’eau.
|
|
|
Il faut alors saisir l’altitude de chaque segment pour permettre le
|
|
|
calcul de la résolution correspondante. ***Attention !** Les altitudes
|
|
|
sont des altitudes absolues (et pas des hauteurs au-dessus du plan
|
|
|
d’eau) et le calcul de résolution dépend du niveau d’eau (supposé égal
|
|
|
à 0 par défaut).*
|
|
|
|
|
|
<img src="./media/image43.png"
|
|
|
style="width:3.80357in;height:3.02919in" />
|
|
|
![image43](uploads/a46ae5db920e7948d07692191d7c702d/image43.png)
|
|
|
|
|
|
### Changement de repère réel
|
|
|
|
|
|
L’onglet ***Transformation*** permet de définir les paramètres de
|
|
|
translation/rotation à appliquer éventuellement au repère réel des
|
|
|
orthoimages. Cela est en particulier utile si le champ de vitesse devra
|
|
|
être comparé à d’autres données, ou encore si un transect bathymétrique
|
|
|
mesuré dans ce repère particulier est utilisé ensuite pour le calcul du
|
|
|
débit.
|
|
|
L’onglet **_Transformation_** permet de définir les paramètres de translation/rotation à appliquer éventuellement au repère réel des orthoimages. Cela est en particulier utile si le champ de vitesse devra être comparé à d’autres données, ou encore si un transect bathymétrique mesuré dans ce repère particulier est utilisé ensuite pour le calcul du débit.
|
|
|
|
|
|
Par défaut, l’option ***Pas de translation/rotation*** est sélectionnée
|
|
|
et aucun changement de repère ne sera appliqué. Le coin en bas à gauche
|
|
|
de l’image est l’origine de coordonnées (0,0) et les axes X et Y sont
|
|
|
les axes horizontal et vertical de l’image de départ.
|
|
|
Par défaut, l’option **_Pas de translation/rotation_** est sélectionnée et aucun changement de repère ne sera appliqué. Le coin en bas à gauche de l’image est l’origine de coordonnées (0,0) et les axes X et Y sont les axes horizontal et vertical de l’image de départ.
|
|
|
|
|
|
<img src="./media/image44.png"
|
|
|
style="width:4.30092in;height:3.02657in" />
|
|
|
![image44](uploads/ddf766aff1c1a5f12e8fe8019c0e8492/image44.png)
|
|
|
|
|
|
Sinon, en cochant ***Saisie des 2 points pour la translation /
|
|
|
rotation***, il est possible de définir le changement de repère à
|
|
|
appliquer en saisissant les coordonnées réelles (X1,Y1) et (X2,Y2) de
|
|
|
deux points préalablement positionnés (en cliquant) dans l’image : leurs
|
|
|
coordonnées images (I1,J1) et (I2,J2) s’affichent alors dans le tableau.
|
|
|
Le bouton ***Appliquer*** permet de visualiser la transformation de la
|
|
|
première image de la séquence.
|
|
|
Sinon, en cochant **_Saisie des 2 points pour la translation / rotation_**, il est possible de définir le changement de repère à appliquer en saisissant les coordonnées réelles (X1,Y1) et (X2,Y2) de deux points préalablement positionnés (en cliquant) dans l’image : leurs coordonnées images (I1,J1) et (I2,J2) s’affichent alors dans le tableau. Le bouton **_Appliquer_** permet de visualiser la transformation de la première image de la séquence.
|
|
|
|
|
|
<img src="./media/image45.png"
|
|
|
style="width:3.64193in;height:3.01487in" />
|
|
|
![image45](uploads/9496e00179a5c0ca0ca89c4978bca622/image45.png)
|
|
|
|
|
|
### Définition des coins de l’orthoimage et niveau d’eau
|
|
|
|
|
|
L’onglet ***Autres*** permet de définir les coordonnées des coins de
|
|
|
l’orthoimage : il s’agit simplement d’une sous-sélection de l’image de
|
|
|
départ. Les ***Valeurs par défaut*** proposées sont les positions des
|
|
|
coins bas-gauche et haut-droit de l’image totale, calculées en
|
|
|
multipliant les dimensions de l’image (en pixels) par la résolution (en
|
|
|
m/pix) calculée précédemment. Cela revient donc à conserver la totalité
|
|
|
des images de départ pour la transformation.
|
|
|
|
|
|
On peut également saisir dans cet onglet ***Autres*** le niveau d’eau
|
|
|
(en m) qui ne sera pas utilisé pour la transformation des images (sauf
|
|
|
si l’option ***Images prises par drone*** a été sélectionnée) ni pour le
|
|
|
calcul des vitesses mais pour le calcul de débit (calcul de l’aire
|
|
|
mouillée).
|
|
|
|
|
|
<img src="./media/image46.png"
|
|
|
style="width:3.88038in;height:2.73064in" />
|
|
|
|
|
|
Le bouton ***Appliquer*** permet la transformation de la première image
|
|
|
avec les paramètres renseignés, afin de se faire une idée du résultat.
|
|
|
Le bouton ***Valider*** enregistre les paramètres de mise à l’échelle,
|
|
|
affiche la première image transformée et permet de passer à l’étape
|
|
|
suivante (Transformation de toutes les images).
|
|
|
L’onglet **_Autres_** permet de définir les coordonnées des coins de l’orthoimage : il s’agit simplement d’une sous-sélection de l’image de départ.
|
|
|
Les **_Valeurs par défaut_** proposées sont les positions des coins bas-gauche et haut-droit de l’image totale, calculées en multipliant les dimensions de l’image (en pixels) par la résolution (en m/pix) calculée précédemment. Cela revient donc à conserver la totalité des images de départ pour la transformation.
|
|
|
|
|
|
On peut également saisir dans cet onglet **_Autres_** le niveau d’eau (en m) qui ne sera pas utilisé pour la transformation des images (sauf si l’option **_Images prises par drone_** a été sélectionnée) ni pour le calcul des vitesses mais pour le calcul de débit (calcul de l’aire mouillée).
|
|
|
|
|
|
![image46](uploads/c6ee056df6239e42072c8452e6ead375/image46.png)
|
|
|
|
|
|
Le bouton **_Appliquer_** permet la transformation de la première image avec les paramètres renseignés, afin de se faire une idée du résultat. Le bouton **_Valider_** enregistre les paramètres de mise à l’échelle, affiche la première image transformée et permet de passer à l’étape suivante (Transformation de toutes les images).
|
|
|
|
|
|
## Orthorectification complète
|
|
|
|
|
|
### Principe de l’orthorectification
|
|
|
|
|
|
L’orthorectification consiste à créer une image corrigée des effets de
|
|
|
perspective et mise à l’échelle du monde réel, pour un plan donné. Tous
|
|
|
les détails sur [la page des principes de
|
|
|
l’orthorectification](#approfondissements).
|
|
|
L’orthorectification consiste à créer une image corrigée des effets de perspective et mise à l’échelle du monde réel, pour un plan donné. Tous les détails sur [la page des principes de l’orthorectification](#approfondissements).
|
|
|
|
|
|
### Positionnement des points de référence
|
|
|
|
|
|
Trois méthodes sont possibles pour positionner des points de référence :
|
|
|
|
|
|
<img src="./media/image47.png" style="width:6.3in;height:1.17292in" />
|
|
|
|
|
|
- Le menu ***Orthorectification 🡪 Orthorectification 🡪 Points de
|
|
|
référence 🡪 Nouveaux*** amène sur l'interface graphique pour le
|
|
|
positionnement des points de référence. Renseigner les coordonnées
|
|
|
terrain (***X réel***; ***Y réel*** et ***Z réel***) du premier point,
|
|
|
puis cliquer sur le pixel de l'image localisant le GRP, les
|
|
|
coordonnées image ***I*** et ***J*** sont alors renseignées. Il est
|
|
|
possible de zoomer pour mieux voir un point. Il est possible de
|
|
|
supprimer ou ré-ordonner des points de référence, et de modifier et de
|
|
|
copier-coller les coordonnées des points de référence dans le tableau
|
|
|
de saisie. Répéter l'opération pour tous les points de référence (au
|
|
|
moins 4 pour une orthorectification 2D ; au moins 6 pour une
|
|
|
orthorectification 3D, voir les [principes de
|
|
|
l’orthorectification](#approfondissements) pour plus de détails). Le
|
|
|
bouton ***Fin de saisie*** clôture l'opération et crée un fichier dans
|
|
|
l’architecture du projet ***outputs.dir\GRP.dat***.
|
|
|
|
|
|
<img src="./media/image48.png"
|
|
|
style="width:2.30895in;height:1.67613in" />
|
|
|
|
|
|
- Le menu ***Orthorectification 🡪 Orthorectification 🡪 Points de
|
|
|
référence 🡪 Importer*** permet de charger un fichier ***GRP.dat***. Ce
|
|
|
fichier doit être un fichier texte, avec le format suivant :
|
|
|
![image47](uploads/d43d411ad2f6d4d174bdae70e3c14b44/image47.png)
|
|
|
|
|
|
- La première ligne contient uniquement le texte GRP
|
|
|
- Le menu **_Orthorectification 🡪 Orthorectification 🡪 Points de référence 🡪 Nouveaux_** amène sur l'interface graphique pour le positionnement des points de référence.
|
|
|
- Renseigner les coordonnées terrain (**_X réel_**; **_Y réel_** et **_Z réel_**) du premier point
|
|
|
- Cliquer sur le pixel de l'image localisant le GRP, les coordonnées image **_I_** et **_J_** sont alors renseignées.
|
|
|
> Il est possible de zoomer pour mieux voir un point. Il est possible de supprimer ou ré-ordonner des points de référence, et de modifier et de copier-coller les coordonnées des points de référence dans le tableau de saisie.
|
|
|
|
|
|
Répéter l'opération pour tous les points de référence (au moins 4 pour une orthorectification 2D (idéal : 15-25 points) ; au moins 6 pour une orthorectification 3D (idéal : 20-35 points), voir les [principes de l’orthorectification](#approfondissements) pour plus de détails).
|
|
|
|
|
|
- La deuxième ligne est un entier stipulant le nombre de points de
|
|
|
référence utilisés
|
|
|
Le bouton **_Fin de saisie_** clôture l'opération et crée un fichier dans l’architecture du projet **_outputs.dir\\GRP.dat_**.
|
|
|
|
|
|
- La troisième ligne contient les intitulés des données : X Y Z i j ;
|
|
|
soit X,Y,Z les coordonnées terrain des points et i,j les coordonnées
|
|
|
image des points.
|
|
|
![image48](uploads/92997e6efe5b40f20fa719fe181c0a81/image48.png)
|
|
|
|
|
|
- Le menu **_Orthorectification 🡪 Orthorectification 🡪 Points de référence 🡪 Importer_** permet de charger un fichier **_GRP.dat_**. Ce fichier doit être un fichier texte, avec le format suivant :
|
|
|
- La première ligne contient uniquement le texte GRP
|
|
|
- La deuxième ligne est un entier stipulant le nombre de points de référence utilisés
|
|
|
- La troisième ligne contient les intitulés des données : X Y Z i j ; soit X,Y,Z les coordonnées terrain des points et i,j les coordonnées des points sur l'image.
|
|
|
> ***Attention !*** i,j ne sont pas les indices image mais bien les coordonnées cartésiennes sur l'image. C'est à dire que i correspond à l'abscisse et j l'ordonnée sur l'image avec le point (0,0) en bas à gauche.
|
|
|
- Les lignes suivantes sont les données.
|
|
|
|
|
|
<img src="./media/image49.png"
|
|
|
style="width:2.05826in;height:1.33994in" />
|
|
|
![image49](uploads/cdfb0776f52b50fd0c4675bc9573aaa6/image49.png)
|
|
|
|
|
|
Il est important de noter que les points de référence doivent être
|
|
|
renseignés en unité métrique (cela définit les unités pour la suite du
|
|
|
traitement).
|
|
|
Il est important de noter que les points de référence doivent être renseignés en unité métrique (cela définit les unités pour la suite du traitement).
|
|
|
|
|
|
- Le menu ***Orthorectification*** 🡪 ***Orthorectification*** 🡪
|
|
|
***Points de référence*** 🡪 ***Mode 4 points…*** propose une
|
|
|
spécification simplifiée de l'orthorectification 2D en pointant 4
|
|
|
points de référence dans l'image dans le sens inverse des aiguilles
|
|
|
d'une montre (cliquer sur le bouton ***Saisie interactive…***) puis en
|
|
|
saisissant 5 distances (en mètres) entre ces points. Les coordonnées
|
|
|
réelles correspondantes (X et Y) sont automatiquement calculées dans
|
|
|
un système de référence arbitraire. Le niveau de l'eau est supposé
|
|
|
être égal à zéro.
|
|
|
- Le menu **_Orthorectification_** 🡪 **_Orthorectification_** 🡪 **_Points de référence_** 🡪 **_Mode 4 points…_** propose une spécification simplifiée de l'orthorectification 2D :
|
|
|
- Pointer 4 points de référence dans l'image dans le sens inverse des aiguilles d'une montre (cliquer sur le bouton **_Saisie interactive…_**)
|
|
|
- Saisie les 5 distances (en mètres) entre ces points.
|
|
|
Les coordonnées réelles correspondantes (X et Y) sont automatiquement calculées dans un système de référence arbitraire. Le niveau de l'eau est supposé être égal à zéro.
|
|
|
|
|
|
<img src="./media/image50.png" style="width:6.3in;height:3.74722in" />
|
|
|
![image50](uploads/0a18d569cab9ea0986632abdb18a60bd/image50.png)
|
|
|
|
|
|
### Vérification des GRP
|
|
|
|
|
|
Le menu ***Orthorectification 🡪 Orthorectification 🡪 Vérification des
|
|
|
points de référence*** permet de s'assurer de la qualité de la
|
|
|
correspondance des coordonnées terrain et image des GRP. La matrice
|
|
|
d'orthorectification (voir [Principes de
|
|
|
l’orthorectification](#approfondissements)) est calculée, et on calcul
|
|
|
la position terrain (X ; Y et Z) des points de repère à partir de leurs
|
|
|
coordonnées image (I et J). On compare alors les coordonnées terrain
|
|
|
vraies et les coordonnées terrain calculées. La distance entre ces
|
|
|
coordonnées vraies et calculées, appelée ***Écarts*** est présentée dans
|
|
|
un tableau et sous forme graphique.
|
|
|
Le menu **_Orthorectification 🡪 Orthorectification 🡪 Vérification des points de référence_** permet de s'assurer de la qualité de la correspondance des coordonnées terrain et image des GRP. La matrice d'orthorectification (voir [Principes de l’orthorectification](#approfondissements)) est calculée, et on calcul la position terrain (X ; Y et Z) des points de repère à partir de leurs coordonnées image (I et J).
|
|
|
On compare alors les coordonnées terrain vraies et les coordonnées terrain calculées. La distance entre ces coordonnées vraies et calculées, appelée **_Écarts_** est présentée dans un tableau et sous forme graphique.
|
|
|
|
|
|
<img src="./media/image51.png" style="width:6.3in;height:3.53156in" />
|
|
|
![image51](uploads/53e406f79b41496b15bd433cfcaf2cfb/image51.png)
|
|
|
|
|
|
> Il est important de vérifier les GRP pour éviter les erreurs de saisie. Les écarts de positions ne doivent pas dépasser 1% de la zone étudiée (10-20 cm pour une rivière d'environ 20 m).
|
|
|
>
|
|
|
> Il est possible que seuls certains points présentent des écarts important. Cela peut être dû à un mauvais pointage sur l'image. Vérifier que les coordonnées images sont correctes, sinon les ajuster. Dans certains cas la suppression du point permet d'obtenir de meilleurs résultats.
|
|
|
|
|
|
### Paramètres de transformation
|
|
|
|
|
|
Deux méthodes sont possibles pour renseigner les paramètres de
|
|
|
transformation :
|
|
|
|
|
|
<img src="./media/image52.png" style="width:6.3in;height:1.30903in" />
|
|
|
|
|
|
- Le menu ***Orthorectification 🡪 Orthorectification 🡪 Paramètres de
|
|
|
transformation 🡪 Définir*** ouvre la fenêtre de gestion des
|
|
|
***Paramètres de transformation***. On définit la zone d'étude par un
|
|
|
rectangle dont la position des coins dans le repère réel (***Xmin,
|
|
|
Xmax, Ymin, Ymax***) est renseignée. Ce cadre permet de réduire
|
|
|
l’orthorectification à la zone d’intérêt et ainsi limiter les temps de
|
|
|
calcul. La ***Résolution***, en mètre par pixel, correspond à la
|
|
|
taille d'un pixel dans l'image orthorectifiée. La résolution doit être
|
|
|
ajustée pour que les détails des traceurs restent visibles dans
|
|
|
l’orthoimage, sans générer des orthoimages de tailles trop importantes
|
|
|
(l’orthoimage doit avoir à peu près les mêmes dimensions que l’image
|
|
|
brute). Le bouton <img src="./media/image53.png"
|
|
|
style="width:1.84886in;height:0.21802in" /> permet de renseigner façon
|
|
|
automatique les champs ***Xmin, Xmax, Ymin, Ymax et Résolution.***
|
|
|
Enfin, le ***Niveau d'eau***, dans le repère réel, doit être
|
|
|
renseigné. L’orthoimage sera valide uniquement pour cette hauteur
|
|
|
(voir [les principes de création des
|
|
|
orthoimages](#création-des-orthoimages)). En cliquant sur
|
|
|
***Appliquer***, une image orthorectifiée est produite. Ajuster au
|
|
|
besoin le paramétrage, puis ***Valider.*** Les paramètres de
|
|
|
transformation sont stockés dans le fichier
|
|
|
***outputs.dir\img_ref.dat***.
|
|
|
|
|
|
<img src="./media/image54.png"
|
|
|
style="width:2.06332in;height:2.03128in" />
|
|
|
|
|
|
- Le menu ***Orthorectification 🡪 Orthorectification 🡪 Paramètres de
|
|
|
transformation 🡪 Importer*** permet de charger les paramètres
|
|
|
d’orthorectification d’une étude existante grâce à un fichier
|
|
|
***img_ref.dat.*** Ce fichier a le format suivant :
|
|
|
|
|
|
<img src="./media/image55.png"
|
|
|
style="width:2.29781in;height:1.37073in" />
|
|
|
Deux méthodes sont possibles pour renseigner les paramètres de transformation :
|
|
|
|
|
|
## Transformation de toutes les images
|
|
|
![image52](uploads/a0e50824b173a25ff7626c137b342b26/image52.png)
|
|
|
|
|
|
Le menu ***Orthorectification 🡪 Transformer les images*** lance
|
|
|
l'orthorectification de toutes les images sélectionnées. Les images
|
|
|
orthorectifiées sont stockées dans le dossier ***img_transf***.
|
|
|
Le menu **_Orthorectification 🡪 Orthorectification 🡪 Paramètres de transformation 🡪 Définir_** ouvre la fenêtre de gestion des **_Paramètres de transformation_**.
|
|
|
- On définit la zone d'étude par un rectangle dont la position des coins dans le repère réel (**_Xmin, Xmax, Ymin, Ymax_**) est renseignée. Ce cadre permet de réduire l’orthorectification à la zone d’intérêt et ainsi limiter les temps de calcul.
|
|
|
- La **_Résolution_**, en mètre par pixel, correspond à la taille d'un pixel dans l'image orthorectifiée. La résolution doit être ajustée pour que les détails des traceurs restent visibles dans l’orthoimage, sans générer des orthoimages de tailles trop importantes (l’orthoimage doit avoir à peu près les mêmes dimensions que l’image brute). Le bouton ![image53](uploads/67c708dadea4320b35173c0f5155cc72/image53.png) permet de renseigner façon automatique les champs **_Xmin, Xmax, Ymin, Ymax et Résolution._**
|
|
|
- Enfin le **_Niveau d'eau_**, dans le repère réel, doit être renseigné. L’orthoimage sera valide uniquement pour cette hauteur (voir [les principes de création des orthoimages](#cr%C3%A9ation-des-orthoimages)).
|
|
|
|
|
|
Le dossier cache contient les mêmes images au format gif, moins
|
|
|
volumineuses.
|
|
|
En cliquant sur **_Appliquer_**, une image orthorectifiée est produite. Ajuster au besoin le paramétrage, puis **_Valider._** Les paramètres de transformation sont stockés dans le fichier **_outputs.dir\\img_ref.dat_**.
|
|
|
|
|
|
La création de ces images peut prendre du temps, surtout si un grand
|
|
|
nombre d’images à haute résolution sont à transformer. En option, il est
|
|
|
possible de désactiver la création des images cache, à part la première
|
|
|
de la série, via le menu ***Edition 🡪 Préférences 🡪 Général 🡪 Calcul.***
|
|
|
Seule la première image sera alors visualisable dans les Vues 2D
|
|
|
***Espace réel*** et ***Espace image transformée***.
|
|
|
![image54](uploads/8fbf30d89cf8dc84ee5e03b724e047d5/image54.png)
|
|
|
|
|
|
<img src="./media/image56.png"
|
|
|
style="width:4.81448in;height:2.7973in" />
|
|
|
- Le menu **_Orthorectification 🡪 Orthorectification 🡪 Paramètres de transformation 🡪 Importer_** permet de charger les paramètres d’orthorectification d’une étude existante grâce à un fichier **_img_ref.dat._** Ce fichier a le format suivant :
|
|
|
|
|
|
## Sous-échantillonnage des images transformées
|
|
|
![image55](uploads/68ba01b3a000298f89d6ecb92f0ab0a2/image55.png)
|
|
|
|
|
|
Le menu ***Orthorectification 🡪 Sous échantillonnage des images
|
|
|
transformées*** permet de sous-échantillonner les images orthorectifiées
|
|
|
créées. Ce sous échantillonnage <u>ne supprime pas les images
|
|
|
intermédiaires calculées</u>. En cas de changement de sous
|
|
|
echatillonnage, il n'est donc pas nécessaire de relancer les étapes
|
|
|
d'échantillonnage de la vidéo, stabilisation et calcul
|
|
|
d'orthorectification.
|
|
|
## Transformation de toutes les images
|
|
|
|
|
|
<img src="./media/image57.png"
|
|
|
style="width:2.38174in;height:1.75073in" />
|
|
|
Le menu **_Orthorectification 🡪 Transformer les images_** lance l'orthorectification de toutes les images sélectionnées. Les images orthorectifiées sont stockées dans le dossier **_img_transf_**.
|
|
|
|
|
|
<img src="./media/image31.jpeg" style="width:0.48333in;height:1.06944in"
|
|
|
alt="Résultat de recherche d'images pour "conseil"" />Cette
|
|
|
option est particulièrement utile pour identifier l’échantillonnage
|
|
|
optimal de la vidéo, sans avoir à relancer les étapes précédentes.
|
|
|
> Le dossier cache contient les mêmes images au format gif, moins volumineuses.
|
|
|
>
|
|
|
> La création de ces images peut prendre du temps, surtout si un grand nombre d’images à haute résolution sont à transformer. En option, il est possible de désactiver la création des images cache, à part la première de la série, via le menu **_Edition 🡪 Préférences 🡪 Général 🡪 Calcul._** Seule la première image sera alors visualisable dans les Vues 2D **_Espace réel_** et **_Espace image transformée_**.
|
|
|
|
|
|
Pour rappel, l’échantillonnage de la vidéo doit garantir des
|
|
|
**déplacements en pixels suffisamment élevé** pour limiter le poids de
|
|
|
l’erreur de résolution sur la mesure de déplacement. Des déplacements
|
|
|
**supérieurs à 3 pixels sont conseillés (idéalement, environ 10 pix)**.
|
|
|
![image56](uploads/2fae64e4a31306a657ab5660b45bb6c3/image56.png)
|
|
|
|
|
|
## Sous-échantillonnage des images transformées
|
|
|
|
|
|
Le menu **_Orthorectification 🡪 Sous échantillonnage des images transformées_** permet de sous-échantillonner les images orthorectifiées créées.
|
|
|
Ce sous échantillonnage ne supprime pas les images intermédiaires calculées. En cas de changement de sous echatillonnage, il n'est donc pas nécessaire de relancer les étapes d'échantillonnage de la vidéo, stabilisation et calcul d'orthorectification.
|
|
|
|
|
|
![image57](uploads/efc0f74a1f1a7c3fbec472ef27dfb506/image57.png)
|
|
|
|
|
|
> Cette option est particulièrement utile pour identifier l’échantillonnage optimal de la vidéo, sans avoir à relancer les étapes précédentes.
|
|
|
>
|
|
|
> Pour rappel, l’échantillonnage de la vidéo doit garantir des **déplacements en pixels suffisamment élevé** pour limiter le poids de l’erreur de résolution sur la mesure de déplacement. Des déplacements **supérieurs à 3 pixels sont conseillés (idéalement, environ 10 pix)**.
|
|
|
|
|
|
# Calcul de la vitesse de déplacement des traceurs
|
|
|
|
|
|
## Principes
|
|
|
|
|
|
La LSPIV utilise une méthode statistique en corrélation croisée sur les
|
|
|
images orthorectifiées afin de déterminer le déplacement des traceurs
|
|
|
visibles en surface. Les principes sont détaillés sur la page des
|
|
|
[Principes de la mesure de la vitesse de déplacement des
|
|
|
traceurs](#principes-de-la-mesure-de-la-vitesse-de-déplacement-des-traceurs).
|
|
|
La LSPIV utilise une méthode statistique en corrélation croisée sur les images orthorectifiées afin de déterminer le déplacement des traceurs visibles en surface. Les principes sont détaillés sur la page des [Principes de la mesure de la vitesse de déplacement des traceurs](#principes-de-la-mesure-de-la-vitesse-de-d%C3%A9placement-des-traceurs).
|
|
|
|
|
|
Par ailleurs, certaines vitesses peuvent être déterminées manuellement.
|
|
|
Ceci est particulièrement utile pour comparer avec les vitesses
|
|
|
calculées par LSPIV et les valider.
|
|
|
Par ailleurs, certaines vitesses peuvent être déterminées manuellement. Ceci est particulièrement utile pour comparer avec les vitesses calculées par LSPIV et les valider.
|
|
|
|
|
|
## Calcul manuel des vitesses
|
|
|
|
|
|
<img src="./media/image58.png"
|
|
|
style="width:5.15304in;height:1.46037in" />
|
|
|
![image58](uploads/97d6b2e35e435d652d4018fe36486724/image58.png)
|
|
|
|
|
|
- Le menu ***Analyse LSPIV 🡪 Vitesses calculées manuellement...*** lance
|
|
|
l'interface pour la détermination manuelle du mouvement des traceurs.
|
|
|
Après avoir cliqué sur le bouton <img src="./media/image59.png"
|
|
|
style="width:1.06542in;height:0.22161in" />, l'utilisateur peut
|
|
|
sélectionner la position de n'importe quel traceur dans n'importe
|
|
|
quelle paire d'images de la séquence, en faisant défiler les images
|
|
|
avec les touches F11/F12 (avancer/reculer).
|
|
|
- Le menu **_Analyse LSPIV 🡪 Vitesses calculées manuellement..._** lance l'interface pour la détermination manuelle du mouvement des traceurs :
|
|
|
- Cliquer sur le bouton ![image59](uploads/130eb72fed2e1ca218c611004d08ebeb/image59.png)
|
|
|
- Sélectionner la position d'un traceur sur une image
|
|
|
- Sélectionner la position de ce traceur sur n'importe quelle images de la séquence (suivante ou précédente), en faisant défiler les images avec les touches F11/F12 (avancer/reculer).
|
|
|
|
|
|
> Les images et positions sélectionnées sont listées dans le tableau.
|
|
|
Les images et positions sélectionnées sont listées dans le tableau.
|
|
|
|
|
|
<img src="./media/image60.png" style="width:6.3in;height:3.05347in" />
|
|
|
![image60](uploads/f977900a7c69ce1ae708992ec4b76606/image60.png)
|
|
|
|
|
|
Il est possible d’utiliser les vitesses manuelles pour le calcul du
|
|
|
débit en cochant la case **Combiner avec les vitesses moyennes.**
|
|
|
Il est possible d’utiliser les vitesses manuelles pour le calcul du débit en cochant la case **Combiner avec les vitesses moyennes.**
|
|
|
|
|
|
Lorsque la sélection manuelle des positions des traceurs est terminée,
|
|
|
cliquer sur le bouton ***Valider*** permet d’afficher les résultats des
|
|
|
vitesses de la couche ***Vitesses manuelles ***:
|
|
|
Lorsque la sélection manuelle des positions des traceurs est terminée, cliquer sur le bouton **_Valider_** permet d’afficher les résultats des vitesses de la couche \*\*\*Vitesses manuelles \*\*\*:
|
|
|
|
|
|
<img src="./media/image61.png"
|
|
|
style="width:3.28931in;height:4.20695in" />
|
|
|
![image61](uploads/297e6a9b6ea271a6907099c010d087c0/image61.png)
|
|
|
|
|
|
## Paramètres du calcul des déplacements
|
|
|
|
|
|
Deux méthodes sont possibles pour définir les paramètres du calcul des
|
|
|
déplacements des traceurs :
|
|
|
|
|
|
- Le menu ***Analyse LSPIV*** 🡪 ***Paramètres de Calcul 🡪 Définir***
|
|
|
lance l'interface des ***Paramètres du calcul*** des déplacements des
|
|
|
traceurs. Plusieurs paramètres sont à renseigner :
|
|
|
|
|
|
<img src="./media/image62.png"
|
|
|
style="width:4.35884in;height:3.29268in" />
|
|
|
|
|
|
- la ***taille de l'aire d'interrogation*** (IA pour Interrogation
|
|
|
Area), en mètre ou en pixel (unités liées), voir la page des
|
|
|
[Principes de la mesure de la vitesse de déplacement des
|
|
|
traceurs](#principes-de-la-mesure-de-la-vitesse-de-déplacement-des-traceurs)
|
|
|
pour plus de détails. Cette aire doit être suffisamment grande pour
|
|
|
intégrer des traceurs, mais suffisamment petite pour être
|
|
|
représentative de l'écoulement (les gradients de vitesses dans une IA
|
|
|
doivent être négligeables). Comme bonne pratique, on retiendra que
|
|
|
l’IA doit avoir une taille métrique en adéquation avec la taille des
|
|
|
traceurs à suivre et l’échelle caractéristique de l’écoulement mesuré,
|
|
|
tout en gardant une taille suffisamment petite pour permettre un
|
|
|
calcul dans un temps raisonnable. Une taille de l’ordre de 30 pixels
|
|
|
est à privilégier (la taille doit être un chiffre pair). Le bouton
|
|
|
***Appliquer*** permet une visualisation graphique de la taille de
|
|
|
l’IA sur une image orthorectifiée. L'utilisateur peut choisir
|
|
|
l'emplacement du centre de la fenêtre en entrant ses coordonnées dans
|
|
|
***Position du centre*** ou en cliquant sur un pixel de l'image après
|
|
|
avoir activé le bouton ***Position***.
|
|
|
|
|
|
- la taille de l'aire de recherche (SA pour Searching Area) en mètre ou
|
|
|
en pixel (unités liées), voir la page des [Principes de la mesure de
|
|
|
la vitesse de déplacement des
|
|
|
traceurs](#principes-de-la-mesure-de-la-vitesse-de-déplacement-des-traceurs)
|
|
|
pour plus de détails. L'aire de recherche est un rectangle définit
|
|
|
autour du centre de l'aire d'interrogation. Elle correspond à la zone
|
|
|
dans laquelle les motifs sont recherchés sur les images successives.
|
|
|
Lorsque l'écoulement a une direction privilégiée, on pourra allonger
|
|
|
l'aire de recherche dans cette direction. La SA est définit par 4
|
|
|
paramètres, Sim, Sip, Sjm et Sjp. Le bouton ***Appliquer*** permet une
|
|
|
visualisation graphique de la taille de la SA sur une image
|
|
|
orthorectifiée.
|
|
|
|
|
|
<img src="./media/image63.png"
|
|
|
style="width:5.80617in;height:3.28261in" />
|
|
|
|
|
|
- Le bouton <img src="./media/image64.png"
|
|
|
style="width:0.82259in;height:0.18125in" /> applique la configuration
|
|
|
à la première paire d'images et affiche les résultats de vitesse avec
|
|
|
statistiques (min/max/moy/médiane), pour tester les paramètres.
|
|
|
|
|
|
- Les paramètres du calcul des déplacements des traceurs sont stockés
|
|
|
dans le fichier ***outputs.dir\PIV_param.dat*** lors de la validation.
|
|
|
|
|
|
- Le bouton <img src="./media/image24.png"
|
|
|
style="width:0.22917in;height:0.28125in" /> fait apparaître une
|
|
|
infobulle fournissant des recommandations sur les paramètres de calcul
|
|
|
des vitesses.
|
|
|
|
|
|
<!-- -->
|
|
|
|
|
|
- Le menu ***Analyse LSPIV*** 🡪 ***Paramètres de Calcul 🡪 Importer***
|
|
|
permet de charger les paramètres de calcul des déplacements d’une
|
|
|
étude existante grâce à un fichier ***PIV_param.dat.*** Ce fichier a
|
|
|
le format suivant :
|
|
|
|
|
|
<img src="./media/image65.png" style="width:4.0089in;height:4.0964in" />
|
|
|
Deux méthodes sont possibles pour définir les paramètres du calcul des déplacements des traceurs :
|
|
|
|
|
|
- Le menu **_Analyse LSPIV_** 🡪 **_Paramètres de Calcul 🡪 Définir_** lance l'interface des **_Paramètres du calcul_** des déplacements des traceurs. Plusieurs paramètres sont à renseigner :
|
|
|
|
|
|
![image62](uploads/57544052faaab716bf75176190b35f78/image62.png)
|
|
|
|
|
|
- la **_taille de l'aire d'interrogation_** (IA pour Interrogation Area), en mètre ou en pixel (unités liées), voir la page des [Principes de la mesure de la vitesse de déplacement des traceurs](#principes-de-la-mesure-de-la-vitesse-de-d%C3%A9placement-des-traceurs) pour plus de détails.
|
|
|
> Cette aire doit être suffisamment grande pour intégrer des traceurs, mais suffisamment petite pour être représentative de l'écoulement (les gradients de vitesses dans une IA doivent être négligeables). Comme bonne pratique, on retiendra que l’IA doit avoir une taille métrique en adéquation avec la taille des traceurs à suivre et l’échelle caractéristique de l’écoulement mesuré, tout en gardant une taille suffisamment petite pour permettre un calcul dans un temps raisonnable. Une taille de l’ordre de 30-50 pixels est à privilégier (la taille doit être un chiffre pair).
|
|
|
|
|
|
Le bouton **_Appliquer_** permet une visualisation graphique de la taille de l’IA sur une image orthorectifiée. L'utilisateur peut choisir l'emplacement du centre de la fenêtre en entrant ses coordonnées dans **_Position du centre_** ou en cliquant sur un pixel de l'image après avoir activé le bouton **_Position_**.
|
|
|
|
|
|
- la taille de l'aire de recherche (SA pour Searching Area) en mètre ou en pixel (unités liées), voir la page des [Principes de la mesure de la vitesse de déplacement des traceurs](#principes-de-la-mesure-de-la-vitesse-de-d%C3%A9placement-des-traceurs) pour plus de détails.
|
|
|
> L'aire de recherche est un rectangle définit autour du centre de l'aire d'interrogation. Elle correspond à la zone dans laquelle les motifs sont recherchés sur les images successives. Lorsque l'écoulement a une direction privilégiée, on pourra allonger l'aire de recherche dans cette direction.
|
|
|
|
|
|
La SA est définit par 4 paramètres, Sim, Sip, Sjm et Sjp. Le bouton **_Appliquer_** permet une visualisation graphique de la taille de la SA sur une image orthorectifiée.
|
|
|
|
|
|
![image63](uploads/f585181828869a1b525301429cdfbb0c/image63.png)
|
|
|
|
|
|
- Le bouton ![image64](uploads/ba89ab12adbdd87b1cd620c8d9f5d881/image64.png) applique la configuration à la première paire d'images et affiche les résultats de vitesse avec statistiques (min/max/moy/médiane), pour tester les paramètres.
|
|
|
- Les paramètres du calcul des déplacements des traceurs sont stockés dans le fichier **_outputs.dir\\PIV_param.dat_** lors de la validation.
|
|
|
- Le bouton ![image24](uploads/ef7d97f41af6ee6681fb6d0f323ef29f/image24.png) fait apparaître une infobulle fournissant des recommandations sur les paramètres de calcul des vitesses.
|
|
|
|
|
|
- Le menu **_Analyse LSPIV_** 🡪 **_Paramètres de Calcul 🡪 Importer_** permet de charger les paramètres de calcul des déplacements d’une étude existante grâce à un fichier **_PIV_param.dat._** Ce fichier a le format suivant :
|
|
|
|
|
|
![image65](uploads/9489bba281b6792118b04f71ca555231/image65.png)
|
|
|
|
|
|
## Grille de calcul
|
|
|
|
|
|
La grille de calcul représente tous les points pour lesquels une vitesse
|
|
|
sera calculée), voir la page des [Principes de la mesure de la vitesse
|
|
|
de déplacement des
|
|
|
traceurs](#principes-de-la-mesure-de-la-vitesse-de-déplacement-des-traceurs)
|
|
|
pour plus de détails. Deux méthodes sont possibles pour définir la
|
|
|
grille de calcul :
|
|
|
|
|
|
- Le menu ***Analyse LSPIV*** 🡪 ***Points de grille 🡪 Définir*** lance
|
|
|
l'interface de définition du ***Contour de grille*** des déplacements
|
|
|
des traceurs. Le contour de la grille est un quadrilatère définit par
|
|
|
ses quatre coins grâce à des clics sur l’orthoimage. La densité de la
|
|
|
grille est définie par un pas d'espacement sur les segments opposés du
|
|
|
quadrilatère. Le bouton ***Appliquer*** permet un affichage graphique
|
|
|
de la grille sur l’orthoimage. La grille de calcul est stockée dans le
|
|
|
fichier ***outputs.dir\grid.dat*** et les paramètres de la grille sont
|
|
|
stockés dans le fichier ***outputs.dir\grid_param.dat*** lors de la
|
|
|
validation.
|
|
|
|
|
|
<img src="./media/image66.png"
|
|
|
style="width:5.0361in;height:1.19685in" />
|
|
|
|
|
|
<img src="./media/image67.png"
|
|
|
style="width:3.84746in;height:3.83728in" />
|
|
|
|
|
|
- Le menu ***Analyse LSPIV*** 🡪 ***Points de grille 🡪 Importer*** permet
|
|
|
de charger une grille de calcul d’une étude existante grâce à un
|
|
|
fichier ***grid.dat.*** Ce fichier texte est une liste des coordonnées
|
|
|
I,J de tous les nœuds de grille dans le repère de l’orthoimage.
|
|
|
La grille de calcul représente tous les points pour lesquels une vitesse sera calculée), voir la page des [Principes de la mesure de la vitesse de déplacement des traceurs](#principes-de-la-mesure-de-la-vitesse-de-d%C3%A9placement-des-traceurs) pour plus de détails. Deux méthodes sont possibles pour définir la grille de calcul :
|
|
|
|
|
|
- Le menu **_Analyse LSPIV_** 🡪 **_Points de grille 🡪 Définir_** lance l'interface de définition du **_Contour de grille_** des déplacements des traceurs.
|
|
|
- Le contour de la grille est un quadrilatère définit par ses quatre coins grâce à des clics sur l’orthoimage.
|
|
|
- La densité de la grille est définie par un pas d'espacement sur les segments opposés du quadrilatère.
|
|
|
- Le bouton **_Appliquer_** permet un affichage graphique de la grille sur l’orthoimage.
|
|
|
|
|
|
La grille de calcul est stockée dans le fichier **_outputs.dir\\grid.dat_** et les paramètres de la grille sont stockés dans le fichier **_outputs.dir\\grid_param.dat_** lors de la validation.
|
|
|
|
|
|
![image66](uploads/6f5f2d6e36f7dbfb2ca1e488aa8f0a97/image66.png)
|
|
|
|
|
|
![image67](uploads/b6ff8a00350b5d7aa7812bf5c75cb48e/image67.png)
|
|
|
|
|
|
- Le menu **_Analyse LSPIV_** 🡪 **_Points de grille 🡪 Importer_** permet de charger une grille de calcul d’une étude existante grâce à un fichier **_grid.dat._** Ce fichier texte est une liste des coordonnées I,J de tous les nœuds de grille dans le repère de l’orthoimage.
|
|
|
|
|
|
## Calcul des vitesses de déplacement des traceurs
|
|
|
|
|
|
Le menu ***Analyse LSPIV🡪 Calcul des résultats instantanés*** lance
|
|
|
l'analyse statistique des déplacements de traceurs pour toutes les
|
|
|
paires d’images de la séquence), voir la page des [Principes de la
|
|
|
mesure de la vitesse de déplacement des
|
|
|
traceurs](#principes-de-la-mesure-de-la-vitesse-de-déplacement-des-traceurs)
|
|
|
pour plus de détails. On obtient un champ de vitesse "instantané"' (au
|
|
|
pas de l'intervalle de temps entre deux images) pour toutes les paires
|
|
|
d'images consécutives. Ainsi, pour N images sélectionnées, on obtient
|
|
|
N-1 champs de vitesse, stockés dans le dossier ***vel_raw***.
|
|
|
Le menu **_Analyse LSPIV🡪 Calcul des résultats instantanés_** lance l'analyse statistique des déplacements de traceurs pour toutes les paires d’images de la séquence), voir la page des [Principes de la mesure de la vitesse de déplacement des traceurs](#principes-de-la-mesure-de-la-vitesse-de-d%C3%A9placement-des-traceurs) pour plus de détails.
|
|
|
|
|
|
Le groupe de calque ***Résultats bruts (B)*** est créé.
|
|
|
On obtient un champ de vitesse "instantané"' (au pas de l'intervalle de temps entre deux images) pour toutes les paires d'images consécutives. Ainsi, pour N images sélectionnées, on obtient N-1 champs de vitesse, stockés dans le dossier **_vel_raw_**.
|
|
|
|
|
|
<img src="./media/image68.png" style="width:2.41667in;height:1.875in" />
|
|
|
Le groupe de calque **_Résultats bruts (B)_** est créé.
|
|
|
|
|
|
Il permet de visualiser les vitesses calculées pour les paires d'images
|
|
|
sous forme de champ de vecteur (***Vitesses B***), de lignes de courant
|
|
|
(***Particules B***, [voir comment le calculer
|
|
|
ici](#_Calcul_des_lignes)) ou de tracé d’isocontours (***Isosurfaces
|
|
|
B***). Plus de détail sur la [visualisation et le paramétrage des
|
|
|
calques de vitesse ici](#références-bibliographiques). L'interface
|
|
|
graphique permet de lier la visualisation des images et des vitesses
|
|
|
calculées grâce au bouton Lie/délie les images et les vitesses.
|
|
|
![image68](uploads/7bf272478da0fd36ef09786e820a0067/image68.png)
|
|
|
|
|
|
<img src="./media/image69.png"
|
|
|
style="width:2.72783in;height:0.3501in" />
|
|
|
Il permet de visualiser les vitesses calculées pour les paires d'images sous forme de champ de vecteur (**_Vitesses B_**), de lignes de courant (**_Particules B_**, [voir comment le calculer ici](#\_Calcul_des_lignes)) ou de tracé d’isocontours (**_Isosurfaces B_**). Plus de détail sur la [visualisation et le paramétrage des calques de vitesse ici](#r%C3%A9f%C3%A9rences-bibliographiques). L'interface graphique permet de lier la visualisation des images et des vitesses calculées grâce au bouton Lie/délie les images et les vitesses.
|
|
|
|
|
|
![image69](uploads/e35652b2f4fc8d57e9a200320b09d1e1/image69.png)
|
|
|
|
|
|
# Post-traitement des vitesses calculées
|
|
|
|
|
|
L’étape de post-traitement comprend le filtrage et la moyenne des
|
|
|
résultats de vitesse. Il est également possible d’afficher quelques
|
|
|
statistiques simples sur les résultats de vitesse.
|
|
|
L’étape de post-traitement comprend le filtrage et la moyenne des résultats de vitesse. Il est également possible d’afficher quelques statistiques simples sur les résultats de vitesse.
|
|
|
|
|
|
<img src="./media/image70.png"
|
|
|
style="width:5.18645in;height:1.35607in" />
|
|
|
![](./media/image70.png)
|
|
|
|
|
|
## Filtrage des résultats instantanés
|
|
|
|
|
|
Le menu ***Post-traitement🡪 Filtrage des résultats instantanés*** lance
|
|
|
l’interface de filtrage. Deux onglets sont disponibles :
|
|
|
|
|
|
<img src="./media/image71.png"
|
|
|
style="width:2.34954in;height:2.94529in" />
|
|
|
<img src="./media/image72.png"
|
|
|
style="width:2.33274in;height:2.92423in" />
|
|
|
|
|
|
- L’onglet ***Vitesse*** permet de filtrer sur des valeurs de norme ou
|
|
|
de composantes Vx ou Vy. Pour utiliser ce filtre, activer la case à
|
|
|
cocher ***Filtrer les vitesses*** et renseigner les valeurs minimale
|
|
|
et maximale pour les différents filtres proposés. Par défaut, la
|
|
|
valeur seuil de norme de vitesse minimale est zéro et elle ne peut pas
|
|
|
être strictement négative.
|
|
|
|
|
|
- L’onglet ***Corrélation*** permet de ne conserver les vitesses
|
|
|
calculées que dans une certaine gamme de valeur de corrélation, voir
|
|
|
la page des [Principes de la mesure de la vitesse de déplacement des
|
|
|
traceurs](#principes-de-la-mesure-de-la-vitesse-de-déplacement-des-traceurs)
|
|
|
pour plus de détails. Pour utiliser ce filtre, activer la case à
|
|
|
cocher ***Filtrer les corrélations*** et renseigner les valeurs
|
|
|
minimale et maximale de la plage de corrélation pour laquelle les
|
|
|
vitesses sont à conserver. La valeur minimale dépend de la qualité des
|
|
|
traceurs et de leur conservation temporelle. Pour des traceurs non
|
|
|
déformables (objets durs, traceurs artificiels) on pourra exiger des
|
|
|
corrélations élevées (de l’ordre de 0.7). Pour des traceurs se
|
|
|
déformant (figures de turbulence, écume), on demandera un seuil
|
|
|
minimal plus faible (de l’ordre de 0.4). En fixant une borne maximale
|
|
|
à 0.98, on évitera des artifices si la grille de calcul déborde de
|
|
|
l’écoulement et empiète sur des zones statiques (berge, bord l’image).
|
|
|
Par défaut, les valeurs seuils sont fixées à 0.4 (min) et 0.98 (max).
|
|
|
|
|
|
Les champs de vitesses instantanées filtrés sont stockés dans le dossier
|
|
|
***vel_filter***. Le groupe de calque ***Résultats filtrés (F)*** est
|
|
|
créé.
|
|
|
|
|
|
<img src="./media/image73.png"
|
|
|
style="width:2.4375in;height:1.85417in" />
|
|
|
|
|
|
Il permet de visualiser les vitesses calculées pour les paires d’images
|
|
|
sous forme de champ de vecteur (***Vitesses F***), de lignes de courant
|
|
|
(***Particules F.***, voir comment le calculer ici ([voir comment le
|
|
|
calculer ici](#_Calcul_des_lignes)) ou de tracé d’isocontours
|
|
|
(***Isosurfaces F***). Plus de détail sur la [visualisation et le
|
|
|
paramétrage des calques de vitesse ici](#références-bibliographiques).
|
|
|
L'interface graphique permet de lier la visualisation des images et des
|
|
|
vitesses calculées grâce au bouton Lie/délie les images et les
|
|
|
vitesses.<img src="./media/image69.png"
|
|
|
style="width:2.72783in;height:0.3501in" />.
|
|
|
Le menu **_Post-traitement🡪 Filtrage des résultats instantanés_** lance l’interface de filtrage. Deux onglets sont disponibles :
|
|
|
|
|
|
![](./media/image71.png) ![](./media/image72.png)
|
|
|
|
|
|
- L’onglet **_Vitesse_** permet de filtrer sur des valeurs de norme ou de composantes Vx ou Vy. Pour utiliser ce filtre, activer la case à cocher **_Filtrer les vitesses_** et renseigner les valeurs minimale et maximale pour les différents filtres proposés. Par défaut, la valeur seuil de norme de vitesse minimale est zéro et elle ne peut pas être strictement négative.
|
|
|
- L’onglet **_Corrélation_** permet de ne conserver les vitesses calculées que dans une certaine gamme de valeur de corrélation, voir la page des [Principes de la mesure de la vitesse de déplacement des traceurs](#principes-de-la-mesure-de-la-vitesse-de-d%C3%A9placement-des-traceurs) pour plus de détails. Pour utiliser ce filtre, activer la case à cocher **_Filtrer les corrélations_** et renseigner les valeurs minimale et maximale de la plage de corrélation pour laquelle les vitesses sont à conserver. La valeur minimale dépend de la qualité des traceurs et de leur conservation temporelle. Pour des traceurs non déformables (objets durs, traceurs artificiels) on pourra exiger des corrélations élevées (de l’ordre de 0.7). Pour des traceurs se déformant (figures de turbulence, écume), on demandera un seuil minimal plus faible (de l’ordre de 0.4). En fixant une borne maximale à 0.98, on évitera des artifices si la grille de calcul déborde de l’écoulement et empiète sur des zones statiques (berge, bord l’image). Par défaut, les valeurs seuils sont fixées à 0.4 (min) et 0.98 (max).
|
|
|
|
|
|
Les champs de vitesses instantanées filtrés sont stockés dans le dossier **_vel_filter_**. Le groupe de calque **_Résultats filtrés (F)_** est créé.
|
|
|
|
|
|
![](./media/image73.png)
|
|
|
|
|
|
Il permet de visualiser les vitesses calculées pour les paires d’images sous forme de champ de vecteur (**_Vitesses F_**), de lignes de courant (**_Particules F._**, voir comment le calculer ici ([voir comment le calculer ici](#\_Calcul_des_lignes)) ou de tracé d’isocontours (**_Isosurfaces F_**). Plus de détail sur la [visualisation et le paramétrage des calques de vitesse ici](#r%C3%A9f%C3%A9rences-bibliographiques). L'interface graphique permet de lier la visualisation des images et des vitesses calculées grâce au bouton Lie/délie les images et les vitesses.![](./media/image69.png).
|
|
|
|
|
|
## Moyenne des résultats
|
|
|
|
|
|
Le menu ***Post-traitement🡪 Moyenne des résultats instantanés filtrés***
|
|
|
lance l’interface de calcul de la moyenne.
|
|
|
Le menu **_Post-traitement🡪 Moyenne des résultats instantanés filtrés_** lance l’interface de calcul de la moyenne.
|
|
|
|
|
|
<img src="./media/image74.png"
|
|
|
style="width:2.8756in;height:2.52455in" />
|
|
|
![](./media/image74.png)
|
|
|
|
|
|
On sélectionne les champs de vitesses filtrés à moyenner (a priori, tous
|
|
|
les résultats filtrés sont sélectionnés) et le bouton validation permet
|
|
|
de calculer le champ de vitesse moyenné sur toutes les paires d’images
|
|
|
de la séquence.
|
|
|
On sélectionne les champs de vitesses filtrés à moyenner (a priori, tous les résultats filtrés sont sélectionnés) et le bouton validation permet de calculer le champ de vitesse moyenné sur toutes les paires d’images de la séquence.
|
|
|
|
|
|
Le champ de vitesses moyenné est stocké dans le fichier
|
|
|
***outputs.dir/average_vel.out*** Le groupe de calque ***Résultats
|
|
|
moyens (M)*** (pour vitesses de surface moyennées) est créé.
|
|
|
Le champ de vitesses moyenné est stocké dans le fichier **_outputs.dir/average_vel.out_** Le groupe de calque **_Résultats moyens (M)_** (pour vitesses de surface moyennées) est créé.
|
|
|
|
|
|
<img src="./media/image75.png"
|
|
|
style="width:2.63542in;height:1.82308in" />
|
|
|
![](./media/image75.png)
|
|
|
|
|
|
Il permet de visualiser les vitesses moyennées calculées sous forme de
|
|
|
champ de vecteur (***Vitesses M.***), de lignes de courant
|
|
|
(***Particules M***, voir comment le calculer ici [voir comment le
|
|
|
calculer ici](#_Calcul_des_lignes)) ou de tracé d’isocontours
|
|
|
(***Isosurfaces M***). Plus de détail sur la [visualisation et le
|
|
|
paramétrage des calques de vitesse ici](#références-bibliographiques).
|
|
|
L'interface graphique permet de lier la visualisation des images et des
|
|
|
vitesses calculées grâce au bouton Lie/délie les images et les
|
|
|
vitesses.<img src="./media/image69.png"
|
|
|
style="width:2.72783in;height:0.3501in" />
|
|
|
Il permet de visualiser les vitesses moyennées calculées sous forme de champ de vecteur (**_Vitesses M._**), de lignes de courant (**_Particules M_**, voir comment le calculer ici [voir comment le calculer ici](#\_Calcul_des_lignes)) ou de tracé d’isocontours (**_Isosurfaces M_**). Plus de détail sur la [visualisation et le paramétrage des calques de vitesse ici](#r%C3%A9f%C3%A9rences-bibliographiques). L'interface graphique permet de lier la visualisation des images et des vitesses calculées grâce au bouton Lie/délie les images et les vitesses.![](./media/image69.png)
|
|
|
|
|
|
### Statistiques des résultats de vitesse
|
|
|
|
|
|
Le menu ***Post-traitement🡪 Afficher les statistiques résultats...***
|
|
|
affiche un résumé (min, max, moyenne, médiane, écart type) des résultats
|
|
|
de vitesse bruts et filtrés : composantes Vx et Vy, niveau de
|
|
|
corrélation (CORREL), norme (NORME), rotationnel (OMEGA, pas encore
|
|
|
implémenté : affiche la valeur 4), divergence (DIVERG, pas encore
|
|
|
implémenté : affiche la valeur 5). Les statistiques peuvent être
|
|
|
calculées sur les résultats de toutes les paires d'images ou pour une
|
|
|
paire d'images donnée.
|
|
|
Le menu **_Post-traitement🡪 Afficher les statistiques résultats..._** affiche un résumé (min, max, moyenne, médiane, écart type) des résultats de vitesse bruts et filtrés : composantes Vx et Vy, niveau de corrélation (CORREL), norme (NORME), rotationnel (OMEGA, pas encore implémenté : affiche la valeur 4), divergence (DIVERG, pas encore implémenté : affiche la valeur 5). Les statistiques peuvent être calculées sur les résultats de toutes les paires d'images ou pour une paire d'images donnée.
|
|
|
|
|
|
<img src="./media/image76.png"
|
|
|
style="width:4.04478in;height:4.50729in" />
|
|
|
![](./media/image76.png)
|
|
|
|
|
|
# Affichage des résultats de vitesse
|
|
|
|
|
|
## Description des calques de résultats pour les calculs de vitesse
|
|
|
|
|
|
Lors de chaque étape de calcul des vitesses ([vitesses
|
|
|
instantanées](#calcul-des-vitesses-de-déplacement-des-traceurs),
|
|
|
[filtrées](#filtrage-des-résultats-instantanés) et
|
|
|
[moyennes](#moyenne-des-résultats)), un groupe de calque spécifique est
|
|
|
créé. Ce groupe comprend systématiquement 3 types de calques :
|
|
|
|
|
|
- Calque Vitesses. <img src="./media/image77.png"
|
|
|
style="width:0.63395in;height:0.27075in" />
|
|
|
Lors de chaque étape de calcul des vitesses ([vitesses instantanées](#calcul-des-vitesses-de-d%C3%A9placement-des-traceurs), [filtrées](#filtrage-des-r%C3%A9sultats-instantan%C3%A9s) et [moyennes](#moyenne-des-r%C3%A9sultats)), un groupe de calque spécifique est créé. Ce groupe comprend systématiquement 3 types de calques :
|
|
|
|
|
|
- Calque Particules <img src="./media/image78.png"
|
|
|
style="width:0.72248in;height:0.26398in" />
|
|
|
- Calque Vitesses. ![](./media/image77.png)
|
|
|
- Calque Particules ![](./media/image78.png)
|
|
|
- Calque Isosurfaces ![](./media/image79.png)
|
|
|
|
|
|
- Calque Isosurfaces <img src="./media/image79.png"
|
|
|
style="width:0.82889in;height:0.28559in" />
|
|
|
|
|
|
<img src="./media/image80.png"
|
|
|
style="width:1.16696in;height:2.59711in" />
|
|
|
![](./media/image80.png)
|
|
|
|
|
|
## Calque Vitesse
|
|
|
|
|
|
Ce calque permet la visualisation des résultats sous forme de vecteurs,
|
|
|
comme illustré ci-dessous.
|
|
|
Ce calque permet la visualisation des résultats sous forme de vecteurs, comme illustré ci-dessous.
|
|
|
|
|
|
<img src="./media/image81.png" style="width:6.3in;height:3.33681in" />
|
|
|
![](./media/image81.png)
|
|
|
|
|
|
Les options d’affichage suivantes sont disponibles via la barre d’outils
|
|
|
graphique (attention à bien sélectionner le calque sur lequel les
|
|
|
options d’affichage souhaitent être appliqués) :
|
|
|
Les options d’affichage suivantes sont disponibles via la barre d’outils graphique (attention à bien sélectionner le calque sur lequel les options d’affichage souhaitent être appliqués) :
|
|
|
|
|
|
- Configuration
|
|
|
<img src="./media/image82.png" style="width:0.25in;height:0.28125in" />
|
|
|
ouvre la fenêtre de configuration. Celle-ci permet de changer
|
|
|
l’apparence des vecteurs et certains paramètres d’affichage des
|
|
|
résultats.
|
|
|
- Configuration ![](./media/image82.png) ouvre la fenêtre de configuration. Celle-ci permet de changer l’apparence des vecteurs et certains paramètres d’affichage des résultats.
|
|
|
|
|
|
<img src="./media/image83.png" style="width:6.3in;height:4.55833in" />
|
|
|
![](./media/image83.png)
|
|
|
|
|
|
# Calcul du débit
|
|
|
|
|
|
Fudaa-LSPIV peut calculer un débit à partir des vitesses moyennées si un
|
|
|
ou plusieurs transects de bathymétrie connue sont renseignés, voir la
|
|
|
page des Principes du calcul de débit pour plus de détails.
|
|
|
Fudaa-LSPIV peut calculer un débit à partir des vitesses moyennées si un ou plusieurs transects de bathymétrie connue sont renseignés, voir la page des Principes du calcul de débit pour plus de détails.
|
|
|
|
|
|
## Spécifier un ou plusieurs transects bathymétriques
|
|
|
|
|
|
Trois méthodes sont possibles pour renseigner un ou plusieurs transects
|
|
|
bathymétriques :
|
|
|
|
|
|
<img src="./media/image84.png" style="width:6.3in;height:1.30625in" />
|
|
|
|
|
|
- Le menu ***Débit🡪 Transect 🡪 Nouveau*** lance l'interface pour définir
|
|
|
un profil bathymétrique. Un profil est renseigné sur une droite, de
|
|
|
préférence perpendiculaire à l'écoulement. Renseigner d'abord la
|
|
|
coordonnée Z dans le repère réel du bord en rive gauche du transect,
|
|
|
puis cliquer sur le point correspondant dans l'image orthorectifiée.
|
|
|
Répéter l'opération pour tous les points du transect bathymétriques.
|
|
|
Les deux premiers points renseignés définissent l’orientation du
|
|
|
profil bathymétrique. Les profils bathymétriques sont stockés dans
|
|
|
***outputs.dir/bathy_p.dat***. Le coefficient unique de vitesse est
|
|
|
par défaut fixé à 0.85 et s’applique à tous les points du transect. En
|
|
|
décochant la case ***Coef. unique de vitesse***, il devient possible
|
|
|
de définir un coefficient pour chaque nœud du transect. Si des valeurs
|
|
|
de coefficients sont manquantes pour certains nœuds, elles seront
|
|
|
interpolées linéairement selon la distance le long du transect, avec
|
|
|
une extrapolation constante jusqu'aux bords. Les paramètres de chaque
|
|
|
transect (voir les détails à la section suivante) peuvent être
|
|
|
définis.
|
|
|
|
|
|
<img src="./media/image85.png"
|
|
|
style="width:3.76674in;height:2.50493in" />
|
|
|
|
|
|
- Le menu ***Débit🡪 Transect 🡪 Importer*** permet de charger un profil
|
|
|
bathymétrique existant sous forme d’un fichier texte X,Y,Z. Si les
|
|
|
points de ce transect ne sont pas parfaitement alignés sur une droite,
|
|
|
ils sont projetés sur la droite définie par le premier et le dernier
|
|
|
point du transect. Il est possible d'importer plusieurs transects à la
|
|
|
fois.
|
|
|
|
|
|
- Le menu ***Débit🡪 Transect 🡪 Nouveau transect en abscisse-cote***
|
|
|
permet de calculer automatiquement les coordonnées XYZ d’un transect
|
|
|
défini en coordonnées abscisse-cote. D’abord, une fenêtre de saisie
|
|
|
s’ouvre pour que l’utilisateur définisse l’origine du transect (donnée
|
|
|
par un premier point à cliquer) et son orientation (donnée par un
|
|
|
deuxième point à cliquer, qui ne sera pas nécessairement l’extrémité
|
|
|
du transect) :
|
|
|
|
|
|
<img src="./media/image86.png"
|
|
|
style="width:3.3459in;height:3.29316in" />
|
|
|
|
|
|
> Ensuite, une fenêtre s’ouvre pour la définition des paramètres du
|
|
|
> transect (voir les détails à la section suivante), l’ajout de points
|
|
|
> avec le bouton <img src="./media/image87.png"
|
|
|
> style="width:0.28125in;height:0.27083in" />, la suppression de points
|
|
|
> avec le bouton <img src="./media/image88.png"
|
|
|
> style="width:0.28125in;height:0.27083in" />, et l’édition libre de
|
|
|
> leurs coordonnées abscisses-cotes dans le tableau. Le bouton
|
|
|
> <img src="./media/image89.png"
|
|
|
> style="width:0.28125in;height:0.27083in" /> permet d’importer un
|
|
|
> transect sous forme d’un simple fichier texte comportant deux colonnes
|
|
|
> pour abscisse et cote, séparées d’un espace ou d’une tabulation. La
|
|
|
> fenêtre propose également une visualisation des points du transect
|
|
|
> dans le plan vertical abscisse-cote :
|
|
|
Trois méthodes sont possibles pour renseigner un ou plusieurs transects bathymétriques :
|
|
|
|
|
|
![](./media/image84.png)
|
|
|
|
|
|
- Le menu **_Débit🡪 Transect 🡪 Nouveau_** lance l'interface pour définir un profil bathymétrique. Un profil est renseigné sur une droite, de préférence perpendiculaire à l'écoulement. Renseigner d'abord la coordonnée Z dans le repère réel du bord en rive gauche du transect, puis cliquer sur le point correspondant dans l'image orthorectifiée. Répéter l'opération pour tous les points du transect bathymétriques. Les deux premiers points renseignés définissent l’orientation du profil bathymétrique. Les profils bathymétriques sont stockés dans **_outputs.dir/bathy_p.dat_**. Le coefficient unique de vitesse est par défaut fixé à 0.85 et s’applique à tous les points du transect. En décochant la case **_Coef. unique de vitesse_**, il devient possible de définir un coefficient pour chaque nœud du transect. Si des valeurs de coefficients sont manquantes pour certains nœuds, elles seront interpolées linéairement selon la distance le long du transect, avec une extrapolation constante jusqu'aux bords. Les paramètres de chaque transect (voir les détails à la section suivante) peuvent être définis.
|
|
|
|
|
|
![](./media/image85.png)
|
|
|
|
|
|
- Le menu **_Débit🡪 Transect 🡪 Importer_** permet de charger un profil bathymétrique existant sous forme d’un fichier texte X,Y,Z. Si les points de ce transect ne sont pas parfaitement alignés sur une droite, ils sont projetés sur la droite définie par le premier et le dernier point du transect. Il est possible d'importer plusieurs transects à la fois.
|
|
|
- Le menu **_Débit🡪 Transect 🡪 Nouveau transect en abscisse-cote_** permet de calculer automatiquement les coordonnées XYZ d’un transect défini en coordonnées abscisse-cote. D’abord, une fenêtre de saisie s’ouvre pour que l’utilisateur définisse l’origine du transect (donnée par un premier point à cliquer) et son orientation (donnée par un deuxième point à cliquer, qui ne sera pas nécessairement l’extrémité du transect) :
|
|
|
|
|
|
![](./media/image86.png)
|
|
|
|
|
|
> Ensuite, une fenêtre s’ouvre pour la définition des paramètres du transect (voir les détails à la section suivante), l’ajout de points avec le bouton ![](./media/image87.png), la suppression de points avec le bouton ![](./media/image88.png), et l’édition libre de leurs coordonnées abscisses-cotes dans le tableau. Le bouton ![](./media/image89.png) permet d’importer un transect sous forme d’un simple fichier texte comportant deux colonnes pour abscisse et cote, séparées d’un espace ou d’une tabulation. La fenêtre propose également une visualisation des points du transect dans le plan vertical abscisse-cote :
|
|
|
>
|
|
|
> <img src="./media/image90.png"
|
|
|
> style="width:4.07238in;height:3.63605in" />
|
|
|
> ![](./media/image90.png)
|
|
|
|
|
|
### Inverser des transects
|
|
|
|
|
|
> Si l’orientation d’un ou plusieurs transects n’est pas bonne (rive
|
|
|
> droite et rive gauche inversées), sélectionner le calque
|
|
|
> ***Transects*** du groupe de calques ***Débit***, sélectionner le ou
|
|
|
> les transects mal orientés avec l’outil de sélection
|
|
|
> <img src="./media/image91.png"
|
|
|
> style="width:0.16419in;height:0.15788in" /> puis utiliser le menu
|
|
|
> ***Edition 🡪 Inverser des transects.***
|
|
|
> Si l’orientation d’un ou plusieurs transects n’est pas bonne (rive droite et rive gauche inversées), sélectionner le calque **_Transects_** du groupe de calques **_Débit_**, sélectionner le ou les transects mal orientés avec l’outil de sélection ![](./media/image91.png) puis utiliser le menu **_Edition 🡪 Inverser des transects._**
|
|
|
|
|
|
<img src="./media/image92.png"
|
|
|
style="width:2.80594in;height:1.23983in" />
|
|
|
![](./media/image92.png)
|
|
|
|
|
|
> Ou bien ***clic-droit 🡪 Inverser des transects ***:
|
|
|
> Ou bien \*\*\*clic-droit 🡪 Inverser des transects \*\*\*:
|
|
|
|
|
|
<img src="./media/image93.png"
|
|
|
style="width:2.42603in;height:2.37089in" />
|
|
|
![](./media/image93.png)
|
|
|
|
|
|
## Paramètres des transects
|
|
|
|
|
|
Sélectionner le calque ***Transects*** du groupe de calques ***Débit***,
|
|
|
sélectionner le ou les transects à paramétrer avec l’outil de
|
|
|
sélection<img src="./media/image91.png"
|
|
|
style="width:0.16419in;height:0.15788in" />, puis utiliser le menu
|
|
|
***Débit 🡪 Paramètres du transect.***
|
|
|
|
|
|
<img src="./media/image94.png" style="width:6.3in;height:2.90208in" />
|
|
|
|
|
|
- Le ***Pas d’espace d’interpolation de la bathymétrie (m)*** permet
|
|
|
d’interpoler un transect bathymétrique pas assez échantillonné. Comme
|
|
|
le débit est calcul en utilisant les vitesses au niveau des points de
|
|
|
bathymétrie connue (voir les [Principes du calcul de
|
|
|
débit](#principes-du-calcul-de-débit)), le transect doit comporter
|
|
|
environ 20 points dans la zone mouillée. L’interpolation en Z se fait
|
|
|
linéairement à partir des données voisines. L’affichage graphique
|
|
|
montre l’effet de l’interpolation sur l’image orthorectifiée.
|
|
|
|
|
|
- Les ***Rayons de recherche des vitesses (m)*** définissent les axes de
|
|
|
la zone ellipsoïdale autour du point de bathymétrie connue dans
|
|
|
laquelle on moyennera les vitesses LSPIV calculée (Vitesses de surface
|
|
|
moyennées) pour lui affecter une valeur de vitesse de surface (voir
|
|
|
les <span class="mark">Principes du calcul de débit</span>). Les
|
|
|
rayons de recherche Rx et Ry définissent les demi-axes des ellipsoïdes
|
|
|
le long des axes horizontal et vertical, respectivement. Si l'icône
|
|
|
***Lier/Délier*** <img src="./media/image95.png"
|
|
|
style="width:0.15207in;height:0.2773in" /> est cochée
|
|
|
<img src="./media/image96.png"
|
|
|
style="width:0.13221in;height:0.25498in" />, les valeurs Rx et Ry
|
|
|
seront forcément égales, c'est-à-dire que des zones de recherche
|
|
|
circulaires sont définies. L’affichage graphique montre l’emprise des
|
|
|
rayons de recherche autour de chaque point bathymétrique.
|
|
|
|
|
|
- Le ***Coefficient de vitesse*** est le ratio de la vitesse moyennée
|
|
|
sur la profondeur sur la vitesse de surface. Il permet de calculer une
|
|
|
vitesse moyennée sur la profondeur à partir de la vitesse de surface
|
|
|
affectée au point bathymétrique (voir les [Principes du calcul de
|
|
|
débit](#principes-du-calcul-de-débit)).
|
|
|
|
|
|
- Le **Nombre de points max** permet de réduire le nombre de points du
|
|
|
transect (sous-échantillonnage de la bathymétrie) en éliminant les
|
|
|
points dont la suppression change le moins la surface mouillée du
|
|
|
transect.
|
|
|
|
|
|
Les données et les paramètres d'un transect peuvent également être
|
|
|
édités nœud par nœud : sélectionner le transect puis cliquer droit sur
|
|
|
***Editer***.
|
|
|
|
|
|
<img src="./media/image97.png"
|
|
|
style="width:3.76102in;height:4.87679in" />
|
|
|
|
|
|
En plus des paramètres du transect mentionnés ci-dessus, les coordonnées
|
|
|
XYZ des nœuds du transect peuvent être modifiées. Des nœuds
|
|
|
supplémentaires peuvent être ajoutés et définis. Les nœuds sélectionnés
|
|
|
peuvent être supprimés ou déplacés de haut en bas dans la liste pour
|
|
|
changer leur ordre.
|
|
|
|
|
|
Si la case ***Coef. unique de vitesse*** est décochée, différents
|
|
|
coefficients de vitesse peuvent être spécifiés pour chaque noeud du
|
|
|
transect. Si des valeurs de coefficients sont manquantes pour certains
|
|
|
noeuds, elles seront interpolées linéairement selon la distance le long
|
|
|
du transect, avec une extrapolation constante jusqu'aux bords. Il en va
|
|
|
de même dans le cas où de nouveaux nœuds sont créés, c'est-à-dire si le
|
|
|
pas d'interpolation est inférieur à la plus grande distance entre deux
|
|
|
nœuds consécutifs du transect. L'interpolation des coefficients est
|
|
|
effectuée lorsque les boutons ***Appliquer*** ou ***Valider*** sont
|
|
|
activés. Les résultats de l'interpolation peuvent être vus lorsque la
|
|
|
fenêtre d'édition du transect est rouverte.
|
|
|
Sélectionner le calque **_Transects_** du groupe de calques **_Débit_**, sélectionner le ou les transects à paramétrer avec l’outil de sélection![](./media/image91.png), puis utiliser le menu **_Débit 🡪 Paramètres du transect._**
|
|
|
|
|
|
![](./media/image94.png)
|
|
|
|
|
|
- Le **_Pas d’espace d’interpolation de la bathymétrie (m)_** permet d’interpoler un transect bathymétrique pas assez échantillonné. Comme le débit est calcul en utilisant les vitesses au niveau des points de bathymétrie connue (voir les [Principes du calcul de débit](#principes-du-calcul-de-d%C3%A9bit)), le transect doit comporter environ 20 points dans la zone mouillée. L’interpolation en Z se fait linéairement à partir des données voisines. L’affichage graphique montre l’effet de l’interpolation sur l’image orthorectifiée.
|
|
|
- Les **_Rayons de recherche des vitesses (m)_** définissent les axes de la zone ellipsoïdale autour du point de bathymétrie connue dans laquelle on moyennera les vitesses LSPIV calculée (Vitesses de surface moyennées) pour lui affecter une valeur de vitesse de surface (voir les <span dir="">Principes du calcul de débit</span>). Les rayons de recherche Rx et Ry définissent les demi-axes des ellipsoïdes le long des axes horizontal et vertical, respectivement. Si l'icône **_Lier/Délier_** ![](./media/image95.png) est cochée ![](./media/image96.png), les valeurs Rx et Ry seront forcément égales, c'est-à-dire que des zones de recherche circulaires sont définies. L’affichage graphique montre l’emprise des rayons de recherche autour de chaque point bathymétrique.
|
|
|
- Le **_Coefficient de vitesse_** est le ratio de la vitesse moyennée sur la profondeur sur la vitesse de surface. Il permet de calculer une vitesse moyennée sur la profondeur à partir de la vitesse de surface affectée au point bathymétrique (voir les [Principes du calcul de débit](#principes-du-calcul-de-d%C3%A9bit)).
|
|
|
- Le **Nombre de points max** permet de réduire le nombre de points du transect (sous-échantillonnage de la bathymétrie) en éliminant les points dont la suppression change le moins la surface mouillée du transect.
|
|
|
|
|
|
Les données et les paramètres d'un transect peuvent également être édités nœud par nœud : sélectionner le transect puis cliquer droit sur **_Editer_**.
|
|
|
|
|
|
![](./media/image97.png)
|
|
|
|
|
|
En plus des paramètres du transect mentionnés ci-dessus, les coordonnées XYZ des nœuds du transect peuvent être modifiées. Des nœuds supplémentaires peuvent être ajoutés et définis. Les nœuds sélectionnés peuvent être supprimés ou déplacés de haut en bas dans la liste pour changer leur ordre.
|
|
|
|
|
|
Si la case **_Coef. unique de vitesse_** est décochée, différents coefficients de vitesse peuvent être spécifiés pour chaque noeud du transect. Si des valeurs de coefficients sont manquantes pour certains noeuds, elles seront interpolées linéairement selon la distance le long du transect, avec une extrapolation constante jusqu'aux bords. Il en va de même dans le cas où de nouveaux nœuds sont créés, c'est-à-dire si le pas d'interpolation est inférieur à la plus grande distance entre deux nœuds consécutifs du transect. L'interpolation des coefficients est effectuée lorsque les boutons **_Appliquer_** ou **_Valider_** sont activés. Les résultats de l'interpolation peuvent être vus lorsque la fenêtre d'édition du transect est rouverte.
|
|
|
|
|
|
## Calcul du débit
|
|
|
|
|
|
Le menu ***Débit 🡪 Calcul du débit*** lance le calcul de débit pour les
|
|
|
transects bathymétriques présents. Pour les détails du calcul de débit,
|
|
|
voir les [Principes du calcul de débit](#principes-du-calcul-de-débit).
|
|
|
A la fin du calcul, la fenêtre des résultats de débit s’ouvre.
|
|
|
|
|
|
<img src="./media/image98.png" style="width:6.3in;height:3.03125in" />
|
|
|
|
|
|
Le ***Niveau d'eau*** utilisé dans le calcul est affiché pour mémoire
|
|
|
(non modifiable).
|
|
|
|
|
|
Le tableau (non modifiable) vous permet de voir les paramètres calculés
|
|
|
pour tous les transects (une ligne par transect) et de comparer chaque
|
|
|
résultat à la moyenne de tous les transects (indiquée en dernière ligne)
|
|
|
: la différence par rapport à la moyenne est exprimée en ***Ecart
|
|
|
(%)***.
|
|
|
|
|
|
La colonne ***Coef. vitesse*** affiche le coefficient de vitesse moyen.
|
|
|
Dans le cas de coefficients variables le long d'un transect, c'est le
|
|
|
coefficient constant qui aurait donné le même résultat de débit. Il est
|
|
|
calculé en divisant le débit total par le débit virtuel calculé avec un
|
|
|
coefficient constant égal à 1.
|
|
|
|
|
|
Les colonnes ***Q total***, ***Aire mouillée*** et ***Vit. moy.***
|
|
|
affichent le débit, la surface mouillée et la vitesse débitante.
|
|
|
|
|
|
La colonne ***Q mesuré / Q total*** affiche le rapport entre le débit
|
|
|
calculé à partir des vitesses mesurées seulement (c.-à-d. interpolées à
|
|
|
partir des vitesses LSPIV voisines) et le débit total (y compris
|
|
|
l'extrapolation des vitesses manquantes du transect). C'est une mesure
|
|
|
du poids de l'extrapolation des vitesses dans le résultat de débit
|
|
|
total.
|
|
|
|
|
|
Le menu ***Débit 🡪 Afficher les résultats du calcul*** permet de revoir
|
|
|
le tableau de calcul de débit sans relancer le calcul.
|
|
|
|
|
|
Le calque ***Débit 🡪 Vitesses moyennes*** ( i.e. les vitesses moyennées
|
|
|
sur la profondeur) est créé et s’affiche sur l’orthoimage. Il permet de
|
|
|
visualiser les vitesses moyennées sur la profondeur à chaque point
|
|
|
bathymétrique. Par défaut, les ***vitesses interpolées*** (calculées
|
|
|
comme la moyenne pondérée par l'inverse de la distance des trois
|
|
|
vitesses les plus proches autour de chaque nœud du transect, multipliée
|
|
|
par le coefficient de vitesse) sont affichées sous forme de vecteurs
|
|
|
jaunes. Les ***vitesses extrapolées*** (dont la norme est calculée à
|
|
|
partir des vitesses interpolées les plus proches et de la profondeur
|
|
|
d'écoulement locale en supposant que le nombre de Froude local varie
|
|
|
linéairement) sont affichées sous forme de vecteurs bruns. L'orientation
|
|
|
des vitesses extrapolées est interpolée à partir de l'orientation des
|
|
|
vitesses interpolées les plus proches. Pour plus de détails, voir voir
|
|
|
les [Principes du calcul de débit](#principes-du-calcul-de-débit).
|
|
|
|
|
|
<img src="./media/image99.png"
|
|
|
style="width:5.26063in;height:3.43982in" />
|
|
|
|
|
|
Après sélection des transects d’intérêt, le menu ***Débit 🡪 Vue 3D du
|
|
|
(des) transects(s)*** permet une visualisation en 3D de la bathymétrie
|
|
|
des transects, de la hauteur d’eau et des vitesses moyennées sur la
|
|
|
profondeur.
|
|
|
|
|
|
<img src="./media/image100.png"
|
|
|
style="width:4.76333in;height:4.05135in" />
|
|
|
Le menu **_Débit 🡪 Calcul du débit_** lance le calcul de débit pour les transects bathymétriques présents. Pour les détails du calcul de débit, voir les [Principes du calcul de débit](#principes-du-calcul-de-d%C3%A9bit). A la fin du calcul, la fenêtre des résultats de débit s’ouvre.
|
|
|
|
|
|
![](./media/image98.png)
|
|
|
|
|
|
Le **_Niveau d'eau_** utilisé dans le calcul est affiché pour mémoire (non modifiable).
|
|
|
|
|
|
Le tableau (non modifiable) vous permet de voir les paramètres calculés pour tous les transects (une ligne par transect) et de comparer chaque résultat à la moyenne de tous les transects (indiquée en dernière ligne) : la différence par rapport à la moyenne est exprimée en **_Ecart (%)_**.
|
|
|
|
|
|
La colonne **_Coef. vitesse_** affiche le coefficient de vitesse moyen. Dans le cas de coefficients variables le long d'un transect, c'est le coefficient constant qui aurait donné le même résultat de débit. Il est calculé en divisant le débit total par le débit virtuel calculé avec un coefficient constant égal à 1.
|
|
|
|
|
|
Les colonnes **_Q total_**, **_Aire mouillée_** et **_Vit. moy._** affichent le débit, la surface mouillée et la vitesse débitante.
|
|
|
|
|
|
La colonne **_Q mesuré / Q total_** affiche le rapport entre le débit calculé à partir des vitesses mesurées seulement (c.-à-d. interpolées à partir des vitesses LSPIV voisines) et le débit total (y compris l'extrapolation des vitesses manquantes du transect). C'est une mesure du poids de l'extrapolation des vitesses dans le résultat de débit total.
|
|
|
|
|
|
Le menu **_Débit 🡪 Afficher les résultats du calcul_** permet de revoir le tableau de calcul de débit sans relancer le calcul.
|
|
|
|
|
|
Le calque **_Débit 🡪 Vitesses moyennes_** ( i.e. les vitesses moyennées sur la profondeur) est créé et s’affiche sur l’orthoimage. Il permet de visualiser les vitesses moyennées sur la profondeur à chaque point bathymétrique. Par défaut, les **_vitesses interpolées_** (calculées comme la moyenne pondérée par l'inverse de la distance des trois vitesses les plus proches autour de chaque nœud du transect, multipliée par le coefficient de vitesse) sont affichées sous forme de vecteurs jaunes. Les **_vitesses extrapolées_** (dont la norme est calculée à partir des vitesses interpolées les plus proches et de la profondeur d'écoulement locale en supposant que le nombre de Froude local varie linéairement) sont affichées sous forme de vecteurs bruns. L'orientation des vitesses extrapolées est interpolée à partir de l'orientation des vitesses interpolées les plus proches. Pour plus de détails, voir voir les [Principes du calcul de débit](#principes-du-calcul-de-d%C3%A9bit).
|
|
|
|
|
|
![](./media/image99.png)
|
|
|
|
|
|
Après sélection des transects d’intérêt, le menu **_Débit 🡪 Vue 3D du (des) transects(s)_** permet une visualisation en 3D de la bathymétrie des transects, de la hauteur d’eau et des vitesses moyennées sur la profondeur.
|
|
|
|
|
|
![](./media/image100.png)
|
|
|
|
|
|
##
|
|
|
|
|
|
## Export du rapport de jaugeage
|
|
|
|
|
|
Le menu ***Débit 🡪 Exporter le rapport de jaugeage*** permet de faire un
|
|
|
rapport de jaugeage contenant tous les paramètres de l’étude et les
|
|
|
résultats. Renseigner les champs de la boite de dialogue concernant des
|
|
|
informations sur le lieu, la date et la réalisation de la mesure
|
|
|
Le menu **_Débit 🡪 Exporter le rapport de jaugeage_** permet de faire un rapport de jaugeage contenant tous les paramètres de l’étude et les résultats. Renseigner les champs de la boite de dialogue concernant des informations sur le lieu, la date et la réalisation de la mesure
|
|
|
|
|
|
<img src="./media/image101.png"
|
|
|
style="width:4.00329in;height:2.37276in" />
|
|
|
![](./media/image101.png)
|
|
|
|
|
|
Après validation, choisir le répertoire de sauvegarde du rapport de
|
|
|
jaugeage. Le rapport est un fichier Excel imprimable sur un A4
|
|
|
recto/verso.
|
|
|
Après validation, choisir le répertoire de sauvegarde du rapport de jaugeage. Le rapport est un fichier Excel imprimable sur un A4 recto/verso.
|
|
|
|
|
|
<img src="./media/image102.png"
|
|
|
style="width:3.07542in;height:4.3439in" />
|
|
|
<img src="./media/image103.png"
|
|
|
style="width:3.0791in;height:4.31177in" />
|
|
|
![](./media/image102.png) ![](./media/image103.png)
|
|
|
|
|
|
# Export des données
|
|
|
|
|
|
Plusieurs formats d’export sont possibles depuis le menu ***Fichier 🡪
|
|
|
Exporter*** :
|
|
|
Plusieurs formats d’export sont possibles depuis le menu **_Fichier 🡪 Exporter_** :
|
|
|
|
|
|
- Vue en cours
|
|
|
|
|
|
- Images brutes / transformées / stabilisées
|
|
|
|
|
|
- Export des vitesses au format tableur (Excel…)
|
|
|
|
|
|
- Export des vitesses au format Serafin TELEMAC (.slf) pour être ensuite
|
|
|
importé dans un autre logiciel (QGIS, BlueKenue…)
|
|
|
|
|
|
- Export des vitesses au format Serafin TELEMAC (.slf) pour être ensuite importé dans un autre logiciel (QGIS, BlueKenue…)
|
|
|
- Rapport de jaugeage
|
|
|
|
|
|
<img src="./media/image104.png" style="width:6.3in;height:3.10625in" />
|
|
|
![](./media/image104.png)
|
|
|
|
|
|
Il est également possible d’exporter des résultats au format tableur en
|
|
|
sélectionnant le calque et les résultats voulus, puis en cliquant sur
|
|
|
l’icône ***Tableau des valeurs*** dans la barre d’outils :
|
|
|
Il est également possible d’exporter des résultats au format tableur en sélectionnant le calque et les résultats voulus, puis en cliquant sur l’icône **_Tableau des valeurs_** dans la barre d’outils :
|
|
|
|
|
|
<img src="./media/image105.png"
|
|
|
style="width:3.62446in;height:0.72337in" />
|
|
|
![](./media/image105.png)
|
|
|
|
|
|
# Relancer les calculs d'une étude existante
|
|
|
|
|
|
Pour plus de commodité, il est possible de redémarrer toutes ou
|
|
|
plusieurs étapes de calcul à partir du menu ***Fichier 🡪 Relancer tous
|
|
|
les calculs....***
|
|
|
Pour plus de commodité, il est possible de redémarrer toutes ou plusieurs étapes de calcul à partir du menu **_Fichier 🡪 Relancer tous les calculs...._**
|
|
|
|
|
|
<img src="./media/image106.png"
|
|
|
style="width:3.58919in;height:2.63764in" />
|
|
|
![](./media/image106.png)
|
|
|
|
|
|
Dans la fenêtre ***Relancer tous les calculs***, l'utilisateur peut
|
|
|
sélectionner les étapes de calcul à refaire. Les calculs à jour ne sont
|
|
|
pas rejoués, seulement ceux avec des paramètres ayant été modifiés
|
|
|
(indiqués « En attente »).
|
|
|
Dans la fenêtre **_Relancer tous les calculs_**, l'utilisateur peut sélectionner les étapes de calcul à refaire. Les calculs à jour ne sont pas rejoués, seulement ceux avec des paramètres ayant été modifiés (indiqués « En attente »).
|
|
|
|
|
|
<img src="./media/image107.png"
|
|
|
style="width:5.28023in;height:2.93695in" />
|
|
|
![](./media/image107.png)
|
|
|
|
|
|
## Nettoyage des résultats de calcul
|
|
|
|
|
|
Les résultats de chaque étape (images ou vitesses) peuvent être
|
|
|
supprimés avec le menu ***Fichier 🡪 Nettoyer les résultats de
|
|
|
calculs.*** Les résultats à supprimer sont sélectionnés via la fenêtre
|
|
|
du menu (la sélection tient compte des dépendances aux étapes
|
|
|
précédentes).
|
|
|
Les résultats de chaque étape (images ou vitesses) peuvent être supprimés avec le menu **_Fichier 🡪 Nettoyer les résultats de calculs._** Les résultats à supprimer sont sélectionnés via la fenêtre du menu (la sélection tient compte des dépendances aux étapes précédentes).
|
|
|
|
|
|
<img src="./media/image108.png"
|
|
|
style="width:4.17894in;height:2.67495in" />
|
|
|
![](./media/image108.png)
|
|
|
|
|
|
# Bug connus et parades
|
|
|
|
|
|
## Le rapport de jaugeage n’est pas créé
|
|
|
|
|
|
A la demande de création du rapport de jaugeage, le message suivant peut
|
|
|
apparaître :
|
|
|
A la demande de création du rapport de jaugeage, le message suivant peut apparaître :
|
|
|
|
|
|
<img src="./media/image109.jpeg"
|
|
|
style="width:5.15048in;height:1.02362in"
|
|
|
alt="cid:image005.jpg@01D37E32.6C4C2330" />
|
|
|
![cid:image005.jpg@01D37E32.6C4C2330](./media/image109.jpeg)
|
|
|
|
|
|
La solution consiste à copier le répertoire ***templates*** du
|
|
|
répertoire source d’installation du logiciel vers le répertoire
|
|
|
***bin***
|
|
|
La solution consiste à copier le répertoire **_templates_** du répertoire source d’installation du logiciel vers le répertoire **_bin_**
|
|
|
|
|
|
# Approfondissements
|
|
|
|
|
|
## Principe de la stabilisation
|
|
|
|
|
|
Les points remarquables de l'image -"bords" ou "coins"- sont des zones
|
|
|
où les variations d'intensité (gradients) sont importantes, dans une ou
|
|
|
plusieurs directions. La librairie SURF (Oyallon, 2015) est utilisée
|
|
|
pour extraire les points d’intérêts. L'idée est de ne garder que les
|
|
|
points où les variations d'intensité sont importantes sur les deux axes.
|
|
|
On utilise alors la valeur du déterminant de la matrice Hessienne
|
|
|
(dérivées secondes), défini comme :
|
|
|
|
|
|
$$DoH = \det\begin{pmatrix}
|
|
|
\frac{d²I(x,y)}{dx²} & \frac{d²I(x,y)}{dxdy} \\
|
|
|
\frac{d²I(x,y)}{dxdy} & \frac{d²I(x,y)}{dy²}
|
|
|
\end{pmatrix}\ $$
|
|
|
Les points remarquables de l'image -"bords" ou "coins"- sont des zones où les variations d'intensité (gradients) sont importantes, dans une ou plusieurs directions. La librairie SURF (Oyallon, 2015) est utilisée pour extraire les points d’intérêts. L'idée est de ne garder que les points où les variations d'intensité sont importantes sur les deux axes. On utilise alors la valeur du déterminant de la matrice Hessienne (dérivées secondes), défini comme :
|
|
|
|
|
|
Avec$\ I$ l’intensité en niveau de gris au point de coordonnées (x,y).
|
|
|
Les points d’intérêt conservés sont ceux ou le DoH est supérieur à un
|
|
|
seuil t<sub>H</sub>. La valeur du seuil est calculée automatiquement
|
|
|
pour atteindre le nombre de points souhaité. On cloisonne le nombre de
|
|
|
points dans trois intervalles :
|
|
|
$$DoH = \\det\\begin{pmatrix} \\frac{d²I(x,y)}{dx²} & \\frac{d²I(x,y)}{dxdy} \\ \\frac{d²I(x,y)}{dxdy} & \\frac{d²I(x,y)}{dy²} \\end{pmatrix}\\ $$
|
|
|
|
|
|
- Densité de point ***Faible ***: Nombre de point
|
|
|
$\in \lbrack 300\ ;500\rbrack$
|
|
|
Avec$`\ I`$ l’intensité en niveau de gris au point de coordonnées (x,y). Les points d’intérêt conservés sont ceux ou le DoH est supérieur à un seuil t<sub>H</sub>. La valeur du seuil est calculée automatiquement pour atteindre le nombre de points souhaité. On cloisonne le nombre de points dans trois intervalles :
|
|
|
|
|
|
- Densité de point ***Moyenne ***: Nombre de point
|
|
|
$\in \lbrack 1000\ ;2000\rbrack$
|
|
|
- Densité de point \*\*\*Faible \*\*\*: Nombre de point $`\in \lbrack 300\ ;500\rbrack`$
|
|
|
- Densité de point \*\*\*Moyenne \*\*\*: Nombre de point $`\in \lbrack 1000\ ;2000\rbrack`$
|
|
|
- Densité de point **_Forte_** : Nombre de point $`\in \lbrack 3000\ ;5000\rbrack`$
|
|
|
|
|
|
- Densité de point ***Forte*** : Nombre de point
|
|
|
$\in \lbrack 3000\ ;5000\rbrack$
|
|
|
Pour assurer que la stabilisation est réalisée sur les berges, l’utilisateur définit une zone « écoulement » dans laquelle aucun point d’intérêt ne sera extrait.
|
|
|
|
|
|
Pour assurer que la stabilisation est réalisée sur les berges,
|
|
|
l’utilisateur définit une zone « écoulement » dans laquelle aucun point
|
|
|
d’intérêt ne sera extrait.
|
|
|
|
|
|
<img src="./media/image110.jpeg"
|
|
|
style="width:5.45833in;height:3.4375in" />
|
|
|
![](./media/image110.jpeg)
|
|
|
|
|
|
### Appariement des points
|
|
|
|
|
|
Il s’agit maintenant de faire correspondre les points de l’image 1 avec
|
|
|
ceux de l’image 2. On utilise alors le descripteur SURF qui est en
|
|
|
quelque sorte la « carte d’identité » de chaque point. Il contient
|
|
|
plusieurs informations :
|
|
|
Il s’agit maintenant de faire correspondre les points de l’image 1 avec ceux de l’image 2. On utilise alors le descripteur SURF qui est en quelque sorte la « carte d’identité » de chaque point. Il contient plusieurs informations :
|
|
|
|
|
|
- Échelle du point (sa « taille »)
|
|
|
|
|
|
- Orientation
|
|
|
|
|
|
- Répartition des gradients dans son voisinage
|
|
|
|
|
|
Le voisinage est défini en fonction de la taille du point et les
|
|
|
gradients sont exprimés relativement par rapport à son orientation. De
|
|
|
ce fait le descripteur SURF est robuste à la rotation, la translation et
|
|
|
au zoom. Les points ayant des descripteurs SURF similaires sont alors
|
|
|
appariés. Sur l’image ci-dessous les appariements sont notés d’un trait
|
|
|
rouge. Pour chaque point le diamètre du cercle représente la taille du
|
|
|
point d’intérêt et le trait vers son orientation.
|
|
|
Le voisinage est défini en fonction de la taille du point et les gradients sont exprimés relativement par rapport à son orientation. De ce fait le descripteur SURF est robuste à la rotation, la translation et au zoom. Les points ayant des descripteurs SURF similaires sont alors appariés. Sur l’image ci-dessous les appariements sont notés d’un trait rouge. Pour chaque point le diamètre du cercle représente la taille du point d’intérêt et le trait vers son orientation.
|
|
|
|
|
|
<img src="./media/image111.png"
|
|
|
style="width:4.94009in;height:5.56202in" />
|
|
|
![](./media/image111.png)
|
|
|
|
|
|
Il arrive que des mauvais appariements soient réalisés (ou faux matchs).
|
|
|
Pour les écarter on utilise la méthode ORSA (Moisan 2004). Les faux
|
|
|
matchs sont identifiés au moyen d’un processus stochastique associé à
|
|
|
des contraintes de géométrie épipolaire (non détaillé ici).
|
|
|
Il arrive que des mauvais appariements soient réalisés (ou faux matchs). Pour les écarter on utilise la méthode ORSA (Moisan 2004). Les faux matchs sont identifiés au moyen d’un processus stochastique associé à des contraintes de géométrie épipolaire (non détaillé ici).
|
|
|
|
|
|
### Estimation de la transformation
|
|
|
|
|
|
Nous disposons maintenant de jeux de points appariés ce qui signifie que
|
|
|
nous connaissons la position de chaque point sur l'image 1 et l'image 2.
|
|
|
Il s'agit maintenant de déterminer la matrice de transformation $H$
|
|
|
permettant de passer des positions $X$ à $X'$.
|
|
|
|
|
|
$X = H \bullet X^{'} = \left( \ \begin{matrix}
|
|
|
h_{1} & h_{2} & h_{3} \\
|
|
|
h_{4} & h_{5} & h_{6} \\
|
|
|
h_{7} & h_{8} & h_{9}
|
|
|
\end{matrix}\ \right) \bullet \ \left( \ \begin{matrix}
|
|
|
x' \\
|
|
|
y' \\
|
|
|
1
|
|
|
\end{matrix}\ \right)$
|
|
|
|
|
|
En analyse d'images, on considère généralement des transformations
|
|
|
linéaires, affines ou projectives Les transformations linéaires
|
|
|
conservent parallélismes, angles et rapports. Pour les modèles affines
|
|
|
seuls les parallélismes sont conservés. Pour le modèle projectif rien
|
|
|
n’est conservé, il est donc le plus sensible. C’est cependant celui qui
|
|
|
représente le mieux l'effet de perspective, et donc le changement de
|
|
|
point de vue d'une caméra.
|
|
|
|
|
|
Les modèles de similarité et projectifs, utilisés dans le module de
|
|
|
stabilisation, sont définis comme :
|
|
|
|
|
|
$$H_{similarité} = \ \left( \ \begin{matrix}
|
|
|
{sr}_{11} & {sr}_{12} & t_{x} \\
|
|
|
sr_{21} & {sr}_{22} & t_{y} \\
|
|
|
0 & 0 & 1
|
|
|
\end{matrix}\ \right)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ H_{projectif} = \ \left( \ \begin{matrix}
|
|
|
h_{11} & h_{12} & h_{13} \\
|
|
|
h_{21} & h_{22} & h_{23} \\
|
|
|
h_{31} & h_{32} & h_{33}
|
|
|
\end{matrix}\ \right)$$
|
|
|
|
|
|
<img src="./media/image112.png"
|
|
|
style="width:5.11093in;height:2.55546in" />
|
|
|
|
|
|
Chaque point apparié est utilisé comme point de contrôle. Les valeurs
|
|
|
des coefficients de la matrice d’homographie $H$ sont ensuite approchées
|
|
|
grâce à eux. La méthode de DLT (Direct Linear Transform) est utilisée
|
|
|
pour arranger l’équation ci-dessus et estimer$\ H$ grâce aux couples de
|
|
|
points de contrôle. En effet il n'existe pas de solution unique au
|
|
|
problème, on détermine donc la solution passant au mieux par l'ensemble
|
|
|
des points de contrôle.
|
|
|
Nous disposons maintenant de jeux de points appariés ce qui signifie que nous connaissons la position de chaque point sur l'image 1 et l'image 2. Il s'agit maintenant de déterminer la matrice de transformation $`H`$ permettant de passer des positions $`X`$ à $`X'`$.
|
|
|
|
|
|
$X = H \\bullet X^{'} = \\left( \\ \\begin{matrix} h\_{1} & h\_{2} & h\_{3} \\ h\_{4} & h\_{5} & h\_{6} \\ h\_{7} & h\_{8} & h\_{9} \\end{matrix}\\ \\right) \\bullet \\ \\left( \\ \\begin{matrix} x' \\ y' \\ 1 \\end{matrix}\\ \\right)$
|
|
|
|
|
|
En analyse d'images, on considère généralement des transformations linéaires, affines ou projectives Les transformations linéaires conservent parallélismes, angles et rapports. Pour les modèles affines seuls les parallélismes sont conservés. Pour le modèle projectif rien n’est conservé, il est donc le plus sensible. C’est cependant celui qui représente le mieux l'effet de perspective, et donc le changement de point de vue d'une caméra.
|
|
|
|
|
|
Les modèles de similarité et projectifs, utilisés dans le module de stabilisation, sont définis comme :
|
|
|
|
|
|
$$H\_{similarité} = \\ \\left( \\ \\begin{matrix} {sr}_{11} & {sr}_{12} & t\_{x} \\ sr\_{21} & {sr}_{22} & t_{y} \\ 0 & 0 & 1 \\end{matrix}\\ \\right)\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ H\_{projectif} = \\ \\left( \\ \\begin{matrix} h\_{11} & h\_{12} & h\_{13} \\ h\_{21} & h\_{22} & h\_{23} \\ h\_{31} & h\_{32} & h\_{33} \\end{matrix}\\ \\right)$$
|
|
|
|
|
|
![](./media/image112.png)
|
|
|
|
|
|
Chaque point apparié est utilisé comme point de contrôle. Les valeurs des coefficients de la matrice d’homographie $`H`$ sont ensuite approchées grâce à eux. La méthode de DLT (Direct Linear Transform) est utilisée pour arranger l’équation ci-dessus et estimer$`\ H`$ grâce aux couples de points de contrôle. En effet il n'existe pas de solution unique au problème, on détermine donc la solution passant au mieux par l'ensemble des points de contrôle.
|
|
|
|
|
|
## Principe de l’orthorectification
|
|
|
|
|
|
### Le modèle sténopé et sa résolution : cas général 3D
|
|
|
|
|
|
On considère un modèle sténopé permettant de passer d’un objet de
|
|
|
coordonnées X,Y,Z dans un repère réel à sa représentation i,j dans un
|
|
|
repère image. Le lien entre ces coordonnées peut s’écrire sous la forme
|
|
|
dite DLT (pour Direct Linear Transformation) comme :
|
|
|
|
|
|
| | $$i = \frac{a_{1}.X + a_{2}.Y + a_{3}.Z + a_{4}}{a_{9}.X + a_{10}.Y + a_{11}.Z + 1}\ et\ j = \frac{a_{5}.X + a_{6}.Y + a_{7}.Z + a_{8}}{a_{9}.X + a_{10}.Y + a_{11}.Z + 1}\ \ $$ | \(1\) |
|
|
|
|----|----|----|
|
|
|
|
|
|
Les coefficients a<sub>i</sub> n’ont pas de sens physique mais sont des
|
|
|
combinaisons des paramètres intrinsèques et extrinsèques de la prise de
|
|
|
vue. Le système précédent peut s’écrire sous forme matricielle :
|
|
|
|
|
|
$$\left\lbrack \begin{matrix}
|
|
|
X & Y \\
|
|
|
0 & 0
|
|
|
\end{matrix}\ \ \ \begin{matrix}
|
|
|
Z & 1 & 0 \\
|
|
|
0 & 0 & X
|
|
|
\end{matrix}\ \ \ \begin{matrix}
|
|
|
0 & 0 & 0 \\
|
|
|
Y & Z & 1
|
|
|
\end{matrix}\ \ \ \begin{matrix}
|
|
|
- iX & - iY & - iZ \\
|
|
|
- jX & - jY & - jZ
|
|
|
\end{matrix} \right\rbrack \bullet \begin{bmatrix}
|
|
|
a_{1} & a_{2} & a_{3} & a_{4} & a_{5} & a_{6} & a_{7} & a_{8} & a_{9} & a_{10} & a_{11}
|
|
|
\end{bmatrix}^{T} = \begin{bmatrix}
|
|
|
i \\
|
|
|
j
|
|
|
\end{bmatrix}$$
|
|
|
|
|
|
Il est possible de résoudre le système d’équation ci-dessus si on est en
|
|
|
possession de points de référence dont les coordonnées dans les repères
|
|
|
réel (X,Y,Z) et image (i,j) sont connus. Il s’agit de point visibles sur
|
|
|
les images, et dont les coordonnées réelles ont pu être mesurées sur le
|
|
|
terrain.
|
|
|
|
|
|
Le système d’équation ci-dessus possède 11 inconnues (les coefficients
|
|
|
a<sub>i</sub>), et chaque point de repère apporte une coordonnée i et j.
|
|
|
Il faut donc a minima 6 points de repère pour résoudre ce système (qui
|
|
|
sera dès lors surdéterminé). La mesure des coordonnées réelles et le
|
|
|
pointage des coordonnées image étant entaché d’incertitude, il est
|
|
|
conseillé d’utiliser plus que 6 points de référence. Pour un nombre N
|
|
|
\>= 6 de points de référence, on définit les matrices suivantes :
|
|
|
|
|
|
$$T = \lbrack 2N \times 11\rbrack = \begin{bmatrix}
|
|
|
X_{1} & Y_{1} & Z_{1} & 1 & 0 & 0 & 0 & 0 & - i_{1}X_{1} & - i_{1}Y_{1} & - i_{1}Z_{1} \\
|
|
|
X_{2} & Y_{2} & Z_{2} & 1 & 0 & 0 & 0 & 0 & - i_{2}X_{2} & - i_{2}Y_{2} & - i_{2}Z_{2} \\
|
|
|
\vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\
|
|
|
X_{N} & Y_{N} & Z_{N} & 1 & 0 & 0 & 0 & 0 & - i_{N}X_{N} & - i_{N}Y_{N} & - i_{1}Z_{N} \\
|
|
|
0 & 0 & 0 & 0 & X_{1} & Y_{1} & Z_{1} & 1 & - j_{1}X_{1} & - j_{1}Y_{1} & - j_{1}Z_{1} \\
|
|
|
0 & 0 & 0 & 0 & X_{2} & Y_{2} & Z_{2} & 1 & - j_{2}X_{2} & - j_{2}Y_{2} & - j_{2}Z_{2} \\
|
|
|
\vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\
|
|
|
0 & 0 & 0 & 0 & X_{N} & Y_{N} & Z_{N} & 1 & - j_{N}X_{N} & - j_{N}Y_{N} & - j_{1}Z_{N}
|
|
|
\end{bmatrix}$$
|
|
|
|
|
|
$$A = \lbrack 11 \times 1\rbrack = \begin{bmatrix}
|
|
|
a_{1} & a_{2} & a_{3} & a_{4} & a_{5} & a_{6} & a_{7} & a_{8} & a_{9} & a_{10} & a_{11}
|
|
|
\end{bmatrix}^{T}$$
|
|
|
|
|
|
$$Z = \lbrack 2N \times 1\rbrack = \begin{bmatrix}
|
|
|
i_{1} & i_{2} & \ldots & i_{N} & j_{1} & j_{2} & \ldots & j_{N}
|
|
|
\end{bmatrix}^{T}$$
|
|
|
On considère un modèle sténopé permettant de passer d’un objet de coordonnées X,Y,Z dans un repère réel à sa représentation i,j dans un repère image. Le lien entre ces coordonnées peut s’écrire sous la forme dite DLT (pour Direct Linear Transformation) comme :
|
|
|
|
|
|
<table>
|
|
|
<tr>
|
|
|
<th>
|
|
|
|
|
|
</th>
|
|
|
<th>
|
|
|
|
|
|
`i = \frac{a_{1}.X + a_{2}.Y + a_{3}.Z + a_{4}}{a_{9}.X + a_{10}.Y + a_{11}.Z + 1}\ et\ j = \frac{a_{5}.X + a_{6}.Y + a_{7}.Z + a_{8}}{a_{9}.X + a_{10}.Y + a_{11}.Z + 1}\ \`
|
|
|
</th>
|
|
|
<th>(1)</th>
|
|
|
</tr>
|
|
|
</table>
|
|
|
|
|
|
Les coefficients a<sub>i</sub> n’ont pas de sens physique mais sont des combinaisons des paramètres intrinsèques et extrinsèques de la prise de vue. Le système précédent peut s’écrire sous forme matricielle :
|
|
|
|
|
|
$$\\left\\lbrack \\begin{matrix} X & Y \\ 0 & 0 \\end{matrix}\\ \\ \\ \\begin{matrix} Z & 1 & 0 \\ 0 & 0 & X \\end{matrix}\\ \\ \\ \\begin{matrix} 0 & 0 & 0 \\ Y & Z & 1 \\end{matrix}\\ \\ \\ \\begin{matrix}
|
|
|
|
|
|
- iX & - iY & - iZ \\
|
|
|
- jX & - jY & - jZ \\end{matrix} \\right\\rbrack \\bullet \\begin{bmatrix} a\_{1} & a\_{2} & a\_{3} & a\_{4} & a\_{5} & a\_{6} & a\_{7} & a\_{8} & a\_{9} & a\_{10} & a\_{11} \\end{bmatrix}^{T} = \\begin{bmatrix} i \\ j \\end{bmatrix}$$
|
|
|
|
|
|
Il est possible de résoudre le système d’équation ci-dessus si on est en possession de points de référence dont les coordonnées dans les repères réel (X,Y,Z) et image (i,j) sont connus. Il s’agit de point visibles sur les images, et dont les coordonnées réelles ont pu être mesurées sur le terrain.
|
|
|
|
|
|
Le système d’équation ci-dessus possède 11 inconnues (les coefficients a<sub>i</sub>), et chaque point de repère apporte une coordonnée i et j. Il faut donc a minima 6 points de repère pour résoudre ce système (qui sera dès lors surdéterminé). La mesure des coordonnées réelles et le pointage des coordonnées image étant entaché d’incertitude, il est conseillé d’utiliser plus que 6 points de référence. Pour un nombre N >= 6 de points de référence, on définit les matrices suivantes :
|
|
|
|
|
|
$$T = \\lbrack 2N \\times 11\\rbrack = \\begin{bmatrix} X\_{1} & Y\_{1} & Z\_{1} & 1 & 0 & 0 & 0 & 0 & - i\_{1}X\_{1} & - i\_{1}Y\_{1} & - i\_{1}Z\_{1} \\ X\_{2} & Y\_{2} & Z\_{2} & 1 & 0 & 0 & 0 & 0 & - i\_{2}X\_{2} & - i\_{2}Y\_{2} & - i\_{2}Z\_{2} \\ \\vdots & \\vdots & \\vdots & \\vdots & \\vdots & \\vdots & \\vdots & \\vdots & \\vdots & \\vdots & \\vdots \\ X\_{N} & Y\_{N} & Z\_{N} & 1 & 0 & 0 & 0 & 0 & - i\_{N}X\_{N} & - i\_{N}Y\_{N} & - i\_{1}Z\_{N} \\ 0 & 0 & 0 & 0 & X\_{1} & Y\_{1} & Z\_{1} & 1 & - j\_{1}X\_{1} & - j\_{1}Y\_{1} & - j\_{1}Z\_{1} \\ 0 & 0 & 0 & 0 & X\_{2} & Y\_{2} & Z\_{2} & 1 & - j\_{2}X\_{2} & - j\_{2}Y\_{2} & - j\_{2}Z\_{2} \\ \\vdots & \\vdots & \\vdots & \\vdots & \\vdots & \\vdots & \\vdots & \\vdots & \\vdots & \\vdots & \\vdots \\ 0 & 0 & 0 & 0 & X\_{N} & Y\_{N} & Z\_{N} & 1 & - j\_{N}X\_{N} & - j\_{N}Y\_{N} & - j\_{1}Z\_{N} \\end{bmatrix}$$
|
|
|
|
|
|
$$A = \\lbrack 11 \\times 1\\rbrack = \\begin{bmatrix} a\_{1} & a\_{2} & a\_{3} & a\_{4} & a\_{5} & a\_{6} & a\_{7} & a\_{8} & a\_{9} & a\_{10} & a\_{11} \\end{bmatrix}^{T}$$
|
|
|
|
|
|
$$Z = \\lbrack 2N \\times 1\\rbrack = \\begin{bmatrix} i\_{1} & i\_{2} & \\ldots & i\_{N} & j\_{1} & j\_{2} & \\ldots & j\_{N} \\end{bmatrix}^{T}$$
|
|
|
|
|
|
Et le modèle sténopé s’écrit :
|
|
|
|
|
|
$$TA = Z$$
|
|
|
`TA = Z`
|
|
|
|
|
|
Le système étant surdéterminé calcul des éléments de *A* se fait par une
|
|
|
régression en moindres carrés. On cherche les solutions de *A* qui
|
|
|
minimisent l’écart quadratique : $\left\| TA - Z \right\|^{2}$, ce qui
|
|
|
revient à chercher une solution à
|
|
|
Le système étant surdéterminé calcul des éléments de _A_ se fait par une régression en moindres carrés. On cherche les solutions de _A_ qui minimisent l’écart quadratique : $`\left| TA - Z \right|^{2}`$, ce qui revient à chercher une solution à
|
|
|
|
|
|
$$\frac{\partial\left\| TA - Z \right\|^{2}}{\partial A} = 0 \rightarrow 2T^{T}(TA - Z) = 0 \rightarrow T^{T}TA - T^{T}Z = 0$$
|
|
|
`\frac{\partial\left| TA - Z \right|^{2}}{\partial A} = 0 \rightarrow 2T^{T}(TA - Z) = 0 \rightarrow T^{T}TA - T^{T}Z = 0`
|
|
|
|
|
|
On a donc la solution suivante pour la matrice *A *:
|
|
|
On a donc la solution suivante pour la matrice \*A \*:
|
|
|
|
|
|
$$A = \left( T^{T}T \right)^{- 1}T^{T}Z$$
|
|
|
`A = \left( T^{T}T \right)^{- 1}T^{T}Z`
|
|
|
|
|
|
### Le modèle sténopé et sa résolution : cas particulier 2D
|
|
|
|
|
|
Si on cherche à représenter une scène 2D dans le monde réel, un modèle
|
|
|
simplifié peut être déduit du modèle complet. Si on considère que
|
|
|
l’écoulement que l’on souhaite mesurer est un plan, que tous les points
|
|
|
de référence appartiennent au plan de la rivière, et que ce plan a une
|
|
|
coordonnée Z=0 le système d’équation (1) s’écrit :
|
|
|
Si on cherche à représenter une scène 2D dans le monde réel, un modèle simplifié peut être déduit du modèle complet. Si on considère que l’écoulement que l’on souhaite mesurer est un plan, que tous les points de référence appartiennent au plan de la rivière, et que ce plan a une coordonnée Z=0 le système d’équation (1) s’écrit :
|
|
|
|
|
|
$$i = \frac{a_{1}.X + a_{2}.Y + a_{4}}{a_{9}.X + a_{10}.Y + 1}\ et\ j = \frac{a_{5}.X + a_{6}.Y + a_{8}}{a_{9}.X + a_{10}.Y + 1}\ \ $$
|
|
|
`i = \frac{a_{1}.X + a_{2}.Y + a_{4}}{a_{9}.X + a_{10}.Y + 1}\ et\ j = \frac{a_{5}.X + a_{6}.Y + a_{8}}{a_{9}.X + a_{10}.Y + 1}\ \`
|
|
|
|
|
|
On a donc une solution à 8 coefficients a<sub>i</sub>, et le système
|
|
|
peut être résolu avec a minima 4 points de référence.
|
|
|
On a donc une solution à 8 coefficients a<sub>i</sub>, et le système peut être résolu avec a minima 4 points de référence.
|
|
|
|
|
|
### Création des orthoimages
|
|
|
|
|
|
Une orthoimage représente une vue corrigée des effets de perspective et
|
|
|
mise à l’échelle du monde réel, pour un plan donné. Dans le cas des
|
|
|
analyses LSPIV, on souhaite orthorectifier le plan de la surface de
|
|
|
l’écoulement (on fait donc l’hypothèse que notre écoulement est plan).
|
|
|
Ce plan peut être exprimé en fonction de X et Y tel que
|
|
|
$Z = b_{1}X + b_{2}Y + b_{3}$. En faisant l’hypothèse que les pentes
|
|
|
longitudinales et transverse sont négligeables à l’échelle de la prise
|
|
|
de vue, ou que le le système de coordonnées réel est exprimé par rapport
|
|
|
au plan de la rivière (plan XY parallèle au plan de la rivière), on
|
|
|
réduit l’équation du plan à $Z = b_{3}$, où *b<sub>3</sub>* est la
|
|
|
hauteur de surface libre dans le repère réel, *h*.
|
|
|
Une orthoimage représente une vue corrigée des effets de perspective et mise à l’échelle du monde réel, pour un plan donné. Dans le cas des analyses LSPIV, on souhaite orthorectifier le plan de la surface de l’écoulement (on fait donc l’hypothèse que notre écoulement est plan). Ce plan peut être exprimé en fonction de X et Y tel que $`Z = b_{1}X + b_{2}Y + b_{3}`$. En faisant l’hypothèse que les pentes longitudinales et transverse sont négligeables à l’échelle de la prise de vue, ou que le le système de coordonnées réel est exprimé par rapport au plan de la rivière (plan XY parallèle au plan de la rivière), on réduit l’équation du plan à $`Z = b_{3}`$, où _b<sub>3</sub>_ est la hauteur de surface libre dans le repère réel, _h_.
|
|
|
|
|
|
Le système d’équation (1) se réduit, dans le plan de l’écoulement, à :
|
|
|
|
|
|
| | $$i = \frac{a_{1}.X + a_{2}.Y + a_{3}.h + a_{4}}{a_{9}.X + a_{10}.Y + a_{11}.h + 1}\ et\ j = \frac{a_{5}.X + a_{6}.Y + a_{7}.h + a_{8}}{a_{9}.X + a_{10}.Y + a_{11}.h + 1}\ \ $$ | \(2\) |
|
|
|
|----|----|----|
|
|
|
<table>
|
|
|
<tr>
|
|
|
<th>
|
|
|
|
|
|
Les coefficients a<sub>i</sub> ont été calculés tels que présenté dans
|
|
|
les parties précédentes.
|
|
|
</th>
|
|
|
<th>
|
|
|
|
|
|
`i = \frac{a_{1}.X + a_{2}.Y + a_{3}.h + a_{4}}{a_{9}.X + a_{10}.Y + a_{11}.h + 1}\ et\ j = \frac{a_{5}.X + a_{6}.Y + a_{7}.h + a_{8}}{a_{9}.X + a_{10}.Y + a_{11}.h + 1}\ \`
|
|
|
</th>
|
|
|
<th>(2)</th>
|
|
|
</tr>
|
|
|
</table>
|
|
|
|
|
|
Les coefficients a<sub>i</sub> ont été calculés tels que présenté dans les parties précédentes.
|
|
|
|
|
|
La méthode pour construire les orthoimages consiste à :
|
|
|
|
|
|
- Définir la zone à imager dans le repère réel, c'est-à-dire donner les
|
|
|
coordonnées (X,Y) des 4 coins de l’orthoimage (fait dans le menu
|
|
|
[Orthorectification](#paramètres-de-transformation))
|
|
|
- Définir la zone à imager dans le repère réel, c'est-à-dire donner les coordonnées (X,Y) des 4 coins de l’orthoimage (fait dans le menu [Orthorectification](#param%C3%A8tres-de-transformation))
|
|
|
- Échantillonner cette zone avec une résolution donnée afin de créer une grille, sachant que chacun des nœuds de cette grille sera le centre d’un pixel de l’image orthorectifiée.
|
|
|
- Pour chaque nœud de la grille, de coordonnées (X<sub>i</sub>,Y<sub>i</sub>), on calcule les coordonnées correspondantes dans l’image source (i<sub>i</sub>,j<sub>i</sub>) avec l’équation (2). Les coordonnées (i<sub>i</sub>,j<sub>i</sub>) ainsi calculées sont des réels et non des entiers.
|
|
|
- On affecte à chaque pixel de centre (X<sub>i</sub>,Y<sub>i</sub>) une intensité en niveau de gris correspondant au pixel (i<sub>i</sub>,j<sub>i</sub>) de l’image source. Puisque les coordonnées (i<sub>i</sub>,j<sub>i</sub>) sont des réels, on utilise une interpolation sur les pixels voisins pour définir l’intensité en niveau de gris, avec une convolution cubique :
|
|
|
|
|
|
- Échantillonner cette zone avec une résolution donnée afin de créer une
|
|
|
grille, sachant que chacun des nœuds de cette grille sera le centre
|
|
|
d’un pixel de l’image orthorectifiée.
|
|
|
`f\left( i_{i},j_{i} \right) = \sum_{k = - 3}^{3}{\sum_{l = - 3}^{3}\left\lbrack f\left( i_{i + k},j_{i + l} \right)C\left( i_{i + k} - i_{i} \right)C\left( j_{i + l} - j_{i} \right) \right\rbrack}`
|
|
|
|
|
|
- Pour chaque nœud de la grille, de coordonnées
|
|
|
(X<sub>i</sub>,Y<sub>i</sub>), on calcule les coordonnées
|
|
|
correspondantes dans l’image source (i<sub>i</sub>,j<sub>i</sub>) avec
|
|
|
l’équation (2). Les coordonnées (i<sub>i</sub>,j<sub>i</sub>) ainsi
|
|
|
calculées sont des réels et non des entiers.
|
|
|
Où $`f\left( i_{i + k},j_{i + l} \right)`$ est l’intensité du pixel $\\left( i\_{i + k},j\_{i + l} \\right)\\ $dans l’image source et _C_ prend la forme :
|
|
|
|
|
|
- On affecte à chaque pixel de centre (X<sub>i</sub>,Y<sub>i</sub>) une
|
|
|
intensité en niveau de gris correspondant au pixel
|
|
|
(i<sub>i</sub>,j<sub>i</sub>) de l’image source. Puisque les
|
|
|
coordonnées (i<sub>i</sub>,j<sub>i</sub>) sont des réels, on utilise
|
|
|
une interpolation sur les pixels voisins pour définir l’intensité en
|
|
|
niveau de gris, avec une convolution cubique :
|
|
|
$$C(s) = \\left{ \\begin{matrix} 1 - 2|s|^{2} + |s|^{3} & si\\ 0 \\leq |s| \\leq 1 \\ 4 - 8|s| + 5|s|^{2} - |s|^{3} & si\\ 1 \\leq |s| \\leq 2 \\ 0 & sinon \\end{matrix} \\right.\\ $$
|
|
|
|
|
|
$$f\left( i_{i},j_{i} \right) = \sum_{k = - 3}^{3}{\sum_{l = - 3}^{3}\left\lbrack f\left( i_{i + k},j_{i + l} \right)C\left( i_{i + k} - i_{i} \right)C\left( j_{i + l} - j_{i} \right) \right\rbrack}$$
|
|
|
Où $`s = k\ ou\ l`$
|
|
|
|
|
|
Où $f\left( i_{i + k},j_{i + l} \right)$ est l’intensité du pixel
|
|
|
$\left( i_{i + k},j_{i + l} \right)\ $dans l’image source et *C* prend
|
|
|
la forme :
|
|
|
![](./media/image113.png)
|
|
|
|
|
|
$$C(s) = \left\{ \begin{matrix}
|
|
|
1 - 2|s|^{2} + |s|^{3} & si\ 0 \leq |s| \leq 1 \\
|
|
|
4 - 8|s| + 5|s|^{2} - |s|^{3} & si\ 1 \leq |s| \leq 2 \\
|
|
|
0 & sinon
|
|
|
\end{matrix} \right.\ $$
|
|
|
## Principes de la mesure de la vitesse de déplacement des traceurs
|
|
|
|
|
|
Où $s = k\ ou\ l$
|
|
|
Une analyse statistique en corrélation croisée est effectuée sur les images orthorectifiées afin de déterminer le déplacement des traceurs visibles en surface. Le logiciel **_Fudaa-LSPIV_** utilise un algorithme optimisé pour les applications de grande échelle spatiale avec des résolutions d'images pouvant être faible. On calcule la corrélation entre une fenêtre d'interrogation (IA pour interrogation area) centrée sur un point _a<sub>ij</sub>_ dans une image et la même IA centrée sur un point _b<sub>ij</sub>_ dans l'image suivante, images séparées par un intervalle de temps de ∆t secondes. La [taille de la fenêtre d’interrogation est paramétrable](#param%C3%A8tres-du-calcul-des-d%C3%A9placements) dans **_Fudaa-LSPIV_**. Le coefficient de corrélation _R(a<sub>ij</sub>, b<sub>ij</sub>)_ est calculé ainsi :
|
|
|
|
|
|
<img src="./media/image113.png" style="width:6.3in;height:3.16528in" />
|
|
|
`R\left( a_{i,j},b_{i,j} \right) = \frac{\sum_{i = 1}^{M_{i}}{\sum_{j = 1}^{M_{j}}\left\lbrack \left( A_{ij} - \overline{A_{ij}} \right)\left( B_{ij} - \overline{B_{ij}} \right) \right\rbrack}}{\left\lbrack \sum_{i = 1}^{Mi}{\sum_{j = 1}^{Mj}{\left( A_{ij} - \overline{A_{ij}} \right)^{2}\sum_{i = 1}^{Mi}{\sum_{j = 1}^{Mj}\left( B_{ij} - \overline{B_{ij}} \right)^{2}}}} \right\rbrack^{1/2}}`
|
|
|
|
|
|
## Principes de la mesure de la vitesse de déplacement des traceurs
|
|
|
où _M<sub>i</sub>_ et _M<sub>j</sub>_ sont les tailles de la fenêtre d'interrogation (en pixel) et _A<sub>ij</sub>_ et _B<sub>ij</sub>_ sont les distributions des intensités des pixels dans les deux fenêtres d'interrogation. Ce calcul n'est effectué que pour des points _b<sub>ij</sub>_ inclus dans une [fenêtre de recherche (SA pour Searching Area) définie par l'utilisateur](#param%C3%A8tres-du-calcul-des-d%C3%A9placements), permettant d’économiser du temps de calcul. On suppose que le déplacement le plus probable de l'écoulement à partir du point _a<sub>ij</sub>_ pendant le temps _∆t_ est celui correspondant au maximum de corrélation, avec possibilité de définir une corrélation minimale requise.
|
|
|
|
|
|
![](./media/image114.png)
|
|
|
|
|
|
La précision du calcul étant au pixel prés, il est intéressant de réaliser une interpolation sub-pixel. Soit b<sub>i,j</sub> la position du maximum de corrélation. Dans **_Fudaa-LSPIV_**, un ajustement d’une loi Gaussienne unidimensionnelle est utilisé sur les axes i et j pour obtenir une précision de déplacement de l'ordre de 0,2 pixels sous la forme :
|
|
|
|
|
|
$\\mathrm{\\Delta}i = \\frac{\\ln\\left( b\_{i - 1,j} \\right) - ln(b\_{i + 1,j})}{2\\left\\lbrack \\ln{\\left( b\_{i - 1,j} \\right) - 2\\ln\\left( b\_{i,j} \\right) + \\ln{(b}_{i - 1,j})} \\right\\rbrack}$ et $\\mathrm{\\Delta}j = \\frac{\\ln\\left( b_{i,j - 1} \\right) - ln(b\_{i,j + 1})}{2\\left\\lbrack \\ln{\\left( b\_{i,j + 1} \\right) - 2\\ln\\left( b\_{i,j} \\right) + \\ln{(b}\_{i,j - 1})} \\right\\rbrack}$
|
|
|
|
|
|
La position sub-pixel du maximum de corrélation est don calculée comme _b<sub>i+∆i,j+∆j.</sub>_
|
|
|
|
|
|
Les vitesses de surface sont calculées à partir des déplacements _b<sub>i+∆i,j+∆j.</sub>-a<sub>i,j</sub>_ divisés par _∆t_. Le calcul est reproduit de manière itérative sur toute l'image pour chaque nœud de la [grille de calcul](#grille-de-calcul). On calcule ainsi un champ de vitesse 2D de surface, "instantané" (entre deux images successives).
|
|
|
|
|
|
Une analyse statistique en corrélation croisée est effectuée sur les
|
|
|
images orthorectifiées afin de déterminer le déplacement des traceurs
|
|
|
visibles en surface. Le logiciel ***Fudaa-LSPIV*** utilise un algorithme
|
|
|
optimisé pour les applications de grande échelle spatiale avec des
|
|
|
résolutions d'images pouvant être faible. On calcule la corrélation
|
|
|
entre une fenêtre d'interrogation (IA pour interrogation area) centrée
|
|
|
sur un point *a<sub>ij</sub>* dans une image et la même IA centrée sur
|
|
|
un point *b<sub>ij</sub>* dans l'image suivante, images séparées par un
|
|
|
intervalle de temps de ∆t secondes. La [taille de la fenêtre
|
|
|
d’interrogation est
|
|
|
paramétrable](#paramètres-du-calcul-des-déplacements) dans
|
|
|
***Fudaa-LSPIV***. Le coefficient de corrélation *R(a<sub>ij</sub>,
|
|
|
b<sub>ij</sub>)* est calculé ainsi :
|
|
|
|
|
|
$$R\left( a_{i,j},b_{i,j} \right) = \frac{\sum_{i = 1}^{M_{i}}{\sum_{j = 1}^{M_{j}}\left\lbrack \left( A_{ij} - \overline{A_{ij}} \right)\left( B_{ij} - \overline{B_{ij}} \right) \right\rbrack}}{\left\lbrack \sum_{i = 1}^{Mi}{\sum_{j = 1}^{Mj}{\left( A_{ij} - \overline{A_{ij}} \right)^{2}\sum_{i = 1}^{Mi}{\sum_{j = 1}^{Mj}\left( B_{ij} - \overline{B_{ij}} \right)^{2}}}} \right\rbrack^{1/2}}$$
|
|
|
|
|
|
où *M<sub>i</sub>* et *M<sub>j</sub>* sont les tailles de la fenêtre
|
|
|
d'interrogation (en pixel) et *A<sub>ij</sub>* et *B<sub>ij</sub>* sont
|
|
|
les distributions des intensités des pixels dans les deux fenêtres
|
|
|
d'interrogation. Ce calcul n'est effectué que pour des points
|
|
|
*b<sub>ij</sub>* inclus dans une [fenêtre de recherche (SA pour
|
|
|
Searching Area) définie par
|
|
|
l'utilisateur](#paramètres-du-calcul-des-déplacements), permettant
|
|
|
d’économiser du temps de calcul. On suppose que le déplacement le plus
|
|
|
probable de l'écoulement à partir du point *a<sub>ij</sub>* pendant le
|
|
|
temps *∆t* est celui correspondant au maximum de corrélation, avec
|
|
|
possibilité de définir une corrélation minimale requise.
|
|
|
|
|
|
<img src="./media/image114.png" style="width:6.3in;height:2.99653in" />
|
|
|
|
|
|
La précision du calcul étant au pixel prés, il est intéressant de
|
|
|
réaliser une interpolation sub-pixel. Soit b<sub>i,j</sub> la position
|
|
|
du maximum de corrélation. Dans ***Fudaa-LSPIV***, un ajustement d’une
|
|
|
loi Gaussienne unidimensionnelle est utilisé sur les axes i et j pour
|
|
|
obtenir une précision de déplacement de l'ordre de 0,2 pixels sous la
|
|
|
forme :
|
|
|
|
|
|
$\mathrm{\Delta}i = \frac{\ln\left( b_{i - 1,j} \right) - ln(b_{i + 1,j})}{2\left\lbrack \ln{\left( b_{i - 1,j} \right) - 2\ln\left( b_{i,j} \right) + \ln{(b}_{i - 1,j})} \right\rbrack}$
|
|
|
et
|
|
|
$\mathrm{\Delta}j = \frac{\ln\left( b_{i,j - 1} \right) - ln(b_{i,j + 1})}{2\left\lbrack \ln{\left( b_{i,j + 1} \right) - 2\ln\left( b_{i,j} \right) + \ln{(b}_{i,j - 1})} \right\rbrack}$
|
|
|
|
|
|
La position sub-pixel du maximum de corrélation est don calculée comme
|
|
|
*b<sub>i+∆i,j+∆j.</sub>*
|
|
|
|
|
|
Les vitesses de surface sont calculées à partir des déplacements
|
|
|
*b<sub>i+∆i,j+∆j.</sub>-a<sub>i,j</sub>* divisés par *∆t*. Le calcul est
|
|
|
reproduit de manière itérative sur toute l'image pour chaque nœud de la
|
|
|
[grille de calcul](#grille-de-calcul). On calcule ainsi un champ de
|
|
|
vitesse 2D de surface, "instantané" (entre deux images successives).
|
|
|
|
|
|
***Fudaa-LSPIV*** permet [d'appliquer des
|
|
|
filtres](#filtrage-des-résultats-instantanés) pour éliminer les vitesses
|
|
|
aberrantes issues du calcul statistique. Des filtres sur la valeur
|
|
|
minimale du coefficient de corrélation, sur l'amplitude et l'orientation
|
|
|
des vitesses sont implémentés dans le logiciel.
|
|
|
|
|
|
Enfin, ***Fudaa-LSPIV*** permet de [moyenner](#moyenne-des-résultats)
|
|
|
les champs de vitesses instantanées filtrées pour calculer un champ de
|
|
|
vitesses moyennées sur la durée de la séquence d’images.
|
|
|
|
|
|
<img src="./media/image115.png" style="width:6.3in;height:2.08403in" />
|
|
|
**_Fudaa-LSPIV_** permet [d'appliquer des filtres](#filtrage-des-r%C3%A9sultats-instantan%C3%A9s) pour éliminer les vitesses aberrantes issues du calcul statistique. Des filtres sur la valeur minimale du coefficient de corrélation, sur l'amplitude et l'orientation des vitesses sont implémentés dans le logiciel.
|
|
|
|
|
|
Enfin, **_Fudaa-LSPIV_** permet de [moyenner](#moyenne-des-r%C3%A9sultats) les champs de vitesses instantanées filtrées pour calculer un champ de vitesses moyennées sur la durée de la séquence d’images.
|
|
|
|
|
|
![](./media/image115.png)
|
|
|
|
|
|
## Principes du calcul de débit
|
|
|
|
|
|
Connaissant [le profil
|
|
|
bathymétrique](#spécifier-un-ou-plusieurs-transects-bathymétriques) d'au
|
|
|
moins une section en travers incluse dans la zone d'analyse,
|
|
|
***Fudaa-LSPIV*** peut calculer le débit transitant par cette section.
|
|
|
Le transect bathymétrique peut être [interpolé à un pas défini par
|
|
|
l'utilisateur](#paramètres-des-transects), et une vitesse de surface est
|
|
|
calculée pour chaque pas à partir des vitesses LSPIV les plus proches
|
|
|
(pondération en fonction de l'éloignement). L'utilisateur définit
|
|
|
également un coefficient reliant la vitesse de surface à la vitesse
|
|
|
moyennée sur la profondeur pour chaque pas de calcul. Le débit est alors
|
|
|
calculé par la méthode de la section médiane, l'interpolation des
|
|
|
vitesses vers les bords se faisant selon l'hypothèse du nombre de Froude
|
|
|
variant linéairement vers zéro au bord.
|
|
|
Connaissant [le profil bathymétrique](#sp%C3%A9cifier-un-ou-plusieurs-transects-bathym%C3%A9triques) d'au moins une section en travers incluse dans la zone d'analyse, **_Fudaa-LSPIV_** peut calculer le débit transitant par cette section. Le transect bathymétrique peut être [interpolé à un pas défini par l'utilisateur](#param%C3%A8tres-des-transects), et une vitesse de surface est calculée pour chaque pas à partir des vitesses LSPIV les plus proches (pondération en fonction de l'éloignement). L'utilisateur définit également un coefficient reliant la vitesse de surface à la vitesse moyennée sur la profondeur pour chaque pas de calcul. Le débit est alors calculé par la méthode de la section médiane, l'interpolation des vitesses vers les bords se faisant selon l'hypothèse du nombre de Froude variant linéairement vers zéro au bord.
|
|
|
|
|
|
### Définition et interpolation du profil bathymétrique
|
|
|
|
|
|
Les points du fond doivent être ordonnés depuis la rive gauche jusqu’à
|
|
|
la rive droite.
|
|
|
Les points du fond doivent être ordonnés depuis la rive gauche jusqu’à la rive droite.
|
|
|
|
|
|
Le transect doit contenir au moins un point dont la cote est inférieure
|
|
|
à celle de l’eau et les points aux extrémités doivent avoir une cote
|
|
|
supérieure à celle de l’eau. Il est possible d’avoir des points situés
|
|
|
au-dessus du niveau d’eau (îles) encadrés par des zones en eau.
|
|
|
Le transect doit contenir au moins un point dont la cote est inférieure à celle de l’eau et les points aux extrémités doivent avoir une cote supérieure à celle de l’eau. Il est possible d’avoir des points situés au-dessus du niveau d’eau (îles) encadrés par des zones en eau.
|
|
|
|
|
|
Le transect bathymétrique n’est pas forcément mesuré, sur le terrain, en
|
|
|
suivant une droite. Il est donc nécessaire de réaliser une projection
|
|
|
orthogonale des points mesurés sur la droite définie par les points
|
|
|
extrêmes du transect (premier et dernier point).
|
|
|
Le transect bathymétrique n’est pas forcément mesuré, sur le terrain, en suivant une droite. Il est donc nécessaire de réaliser une projection orthogonale des points mesurés sur la droite définie par les points extrêmes du transect (premier et dernier point).
|
|
|
|
|
|
<img src="./media/image116.png" style="width:6.3in;height:3.63611in" />
|
|
|
![](./media/image116.png)
|
|
|
|
|
|
Comme on va calculer une vitesse associée à chaque point de bathymétrie
|
|
|
connue, il est indispensable que le transect contienne un nombre
|
|
|
important de point de bathymétrie dans la zone d’écoulement (au moins
|
|
|
20). Si le relevé de terrain initial est trop peu dense spatialement, il
|
|
|
est possible d’interpoler des points. L’utilisateur définit un ***Pas
|
|
|
d’espace d’interpolation de la bathymétrie***, en mètre, dans les
|
|
|
[***Paramètres du transect***](#paramètres-des-transects). En partant de
|
|
|
la rive gauche, un point de bathymétrie va être ajouté quand la distance
|
|
|
entre deux mesures est supérieure au Pas d’espace d’interpolation. La
|
|
|
profondeur associée à ce point ajouté est calculé comme une
|
|
|
interpolation linéaire entre les points de mesures entourant le point
|
|
|
ajouté.
|
|
|
Comme on va calculer une vitesse associée à chaque point de bathymétrie connue, il est indispensable que le transect contienne un nombre important de point de bathymétrie dans la zone d’écoulement (au moins 20). Si le relevé de terrain initial est trop peu dense spatialement, il est possible d’interpoler des points. L’utilisateur définit un **_Pas d’espace d’interpolation de la bathymétrie_**, en mètre, dans les [**_Paramètres du transect_**](#param%C3%A8tres-des-transects). En partant de la rive gauche, un point de bathymétrie va être ajouté quand la distance entre deux mesures est supérieure au Pas d’espace d’interpolation. La profondeur associée à ce point ajouté est calculé comme une interpolation linéaire entre les points de mesures entourant le point ajouté.
|
|
|
|
|
|
<img src="./media/image117.png"
|
|
|
style="width:6.02555in;height:2.69662in" />
|
|
|
![](./media/image117.png)
|
|
|
|
|
|
<img src="./media/image118.png" style="width:6.3in;height:2.80139in" />
|
|
|
![](./media/image118.png)
|
|
|
|
|
|
### Estimation de la vitesse moyenne en chaque point du transect
|
|
|
|
|
|
Pour chaque transect, l’utilisateur définit un rayon de recherche. Dans
|
|
|
ce voisinage autour de chaque nœud, les au maximum 3 résultats de
|
|
|
vitesse les plus proches sont recherchés. Si au moins un résultat est
|
|
|
trouvé, alors la vitesse moyenne sur la verticale $V_{i}$ au nœud *i*
|
|
|
est calculée comme la moyenne des vitesses voisines pondérée par
|
|
|
l’inverse des distances, multipliée par le coefficient de surface α
|
|
|
spécifié par l’utilisateur pour le transect considéré :
|
|
|
|
|
|
$$V_{i} = \alpha\ \sum_{j = 1}^{N_{i}}{\ \frac{v_{i,j}}{d_{i,j}}}\ /\ \sum_{j = 1}^{N_{i}}{\ \frac{1}{d_{i,j}}}$$
|
|
|
|
|
|
Avec $N_{i}$ le nombre de résultats de vitesse $v_{i,j}$ trouvés au
|
|
|
voisinage du nœud $i$ du transect ($N_{i} \leq 3)\ $; la distance
|
|
|
$d_{i,j}$ est celle entre la position $(x_{j},y_{j})$ du nœud de grille
|
|
|
du résultat de vitesse $v_{i,j}$ et la position $(x_{i},y_{i})$ du nœud
|
|
|
*i* avec une distance de sécurité fixée à 1 mm :
|
|
|
|
|
|
$$d_{i,j} = max\lbrack 0.001;\left( x_{j} - x_{i} \right)^{2} + \left( y_{j} - y_{i} \right)^{2}\rbrack$$
|
|
|
|
|
|
Lorsqu’aucun résultat de vitesse LSPIV n’est trouvé dans le voisinage
|
|
|
d’un nœud du transect, la vitesse moyenne normale au transect est
|
|
|
reconstituée par interpolation linéaire des nombres de Froude locaux,
|
|
|
entre les deux nœuds les plus proches, à droite et à gauche, dotées
|
|
|
d’une vitesse interpolée. En effet, afin de valoriser au mieux la mesure
|
|
|
de profondeur réalisée sur la verticale bathymétrique, il est
|
|
|
intéressant d’utiliser une hypothèse hydraulique d’évolution linéaire du
|
|
|
nombre de Froude local, au lieu de simplement corriger les surfaces des
|
|
|
sous-sections mouillées, ou encore d’interpoler linéairement les
|
|
|
vitesses. L’interpolation linéaire des nombres de Froude locaux est
|
|
|
proposée par plusieurs références : <span class="mark">Boiten (2000),
|
|
|
Despax (2016), Fulford et Sauer (1986), ISO/TR 9823 (1990), Le Coz et
|
|
|
al. (2008, 2012, 2014).</span>
|
|
|
|
|
|
Soit une verticale bathymétrique positionnée à l’abscisse x<sub>i</sub>,
|
|
|
dont les verticales complètes (avec profondeur et vitesses) les plus
|
|
|
proches de chaque côté sont positionnées en x<sub>i-1</sub> et
|
|
|
x<sub>i+1</sub> (Figure 1).
|
|
|
|
|
|
En i-1, la verticale complète permet d’avoir la profondeur
|
|
|
*h*<sub>i-1</sub> ainsi que la vitesse moyenne sur la profondeur
|
|
|
*V*<sub>i-1</sub>. On calcule le nombre de Froude local :
|
|
|
|
|
|
${Fr}_{i - 1} = \frac{V_{i - 1}}{\sqrt{{g.h}_{i - 1}}}$,
|
|
|
|
|
|
avec *g* l'accélération de la pesanteur à la surface de la Terre (9,81
|
|
|
m·s<sup>-2</sup>).
|
|
|
Pour chaque transect, l’utilisateur définit un rayon de recherche. Dans ce voisinage autour de chaque nœud, les au maximum 3 résultats de vitesse les plus proches sont recherchés. Si au moins un résultat est trouvé, alors la vitesse moyenne sur la verticale $`V_{i}`$ au nœud _i_ est calculée comme la moyenne des vitesses voisines pondérée par l’inverse des distances, multipliée par le coefficient de surface α spécifié par l’utilisateur pour le transect considéré :
|
|
|
|
|
|
`V_{i} = \alpha\ \sum_{j = 1}^{N_{i}}{\ \frac{v_{i,j}}{d_{i,j}}}\ /\ \sum_{j = 1}^{N_{i}}{\ \frac{1}{d_{i,j}}}`
|
|
|
|
|
|
Avec $`N_{i}`$ le nombre de résultats de vitesse $`v_{i,j}`$ trouvés au voisinage du nœud $`i`$ du transect ($N\_{i} \\leq 3)\\ $; la distance $`d_{i,j}`$ est celle entre la position $`(x_{j},y_{j})`$ du nœud de grille du résultat de vitesse $`v_{i,j}`$ et la position $`(x_{i},y_{i})`$ du nœud _i_ avec une distance de sécurité fixée à 1 mm :
|
|
|
|
|
|
`d_{i,j} = max\lbrack 0.001;\left( x_{j} - x_{i} \right)^{2} + \left( y_{j} - y_{i} \right)^{2}\rbrack`
|
|
|
|
|
|
Lorsqu’aucun résultat de vitesse LSPIV n’est trouvé dans le voisinage d’un nœud du transect, la vitesse moyenne normale au transect est reconstituée par interpolation linéaire des nombres de Froude locaux, entre les deux nœuds les plus proches, à droite et à gauche, dotées d’une vitesse interpolée. En effet, afin de valoriser au mieux la mesure de profondeur réalisée sur la verticale bathymétrique, il est intéressant d’utiliser une hypothèse hydraulique d’évolution linéaire du nombre de Froude local, au lieu de simplement corriger les surfaces des sous-sections mouillées, ou encore d’interpoler linéairement les vitesses. L’interpolation linéaire des nombres de Froude locaux est proposée par plusieurs références : <span dir="">Boiten (2000), Despax (2016), Fulford et Sauer (1986), ISO/TR 9823 (1990), Le Coz et al. (2008, 2012, 2014).</span>
|
|
|
|
|
|
Soit une verticale bathymétrique positionnée à l’abscisse x<sub>i</sub>, dont les verticales complètes (avec profondeur et vitesses) les plus proches de chaque côté sont positionnées en x<sub>i-1</sub> et x<sub>i+1</sub> (Figure 1).
|
|
|
|
|
|
En i-1, la verticale complète permet d’avoir la profondeur _h_<sub>i-1</sub> ainsi que la vitesse moyenne sur la profondeur _V_<sub>i-1</sub>. On calcule le nombre de Froude local :
|
|
|
|
|
|
${Fr}_{i - 1} = \\frac{V_{i - 1}}{\\sqrt{{g.h}\_{i - 1}}}$,
|
|
|
|
|
|
avec _g_ l'accélération de la pesanteur à la surface de la Terre (9,81 m·s<sup>-2</sup>).
|
|
|
|
|
|
En i+1, le nombre de Froude local vaut :
|
|
|
|
|
|
${Fr}_{i + 1} = \frac{V_{i + 1}}{\sqrt{{g.h}_{i + 1}}}$
|
|
|
${Fr}_{i + 1} = \\frac{V_{i + 1}}{\\sqrt{{g.h}\_{i + 1}}}$
|
|
|
|
|
|
Le nombre de Froude de la verticale bathymétrique, positionnée en i, est
|
|
|
calculé par interpolation linéaire comme :
|
|
|
Le nombre de Froude de la verticale bathymétrique, positionnée en i, est calculé par interpolation linéaire comme :
|
|
|
|
|
|
$$\ {Fr}_{i} = \frac{\left\lbrack \left( x_{i + 1} - x_{i} \right).{Fr}_{i - 1} + \left( x_{i} - x_{i - 1} \right).{Fr}_{i + 1} \right\rbrack}{x_{i + 1} - x_{i - 1}}$$
|
|
|
$$\\ {Fr}_{i} = \\frac{\\left\\lbrack \\left( x_{i + 1} - x\_{i} \\right).{Fr}_{i - 1} + \\left( x_{i} - x\_{i - 1} \\right).{Fr}_{i + 1} \\right\\rbrack}{x_{i + 1} - x\_{i - 1}}$$
|
|
|
|
|
|
Connaissant la profondeur en i, *h*<sub>i</sub>, on calcule la vitesse
|
|
|
moyenne associée comme :
|
|
|
Connaissant la profondeur en i, _h_<sub>i</sub>, on calcule la vitesse moyenne associée comme :
|
|
|
|
|
|
$V_{i} = {Fr}_{i}.\sqrt{g.h_{i}}$
|
|
|
$V\_{i} = {Fr}_{i}.\\sqrt{g.h_{i}}$
|
|
|
|
|
|
<img src="./media/image119.png"
|
|
|
style="width:4.74167in;height:3.42222in" />
|
|
|
![](./media/image119.png)
|
|
|
|
|
|
**Figure 1 : Calcul de la vitesse moyenne associée à une verticale
|
|
|
bathymétrique par interpolation du nombre de Froude local
|
|
|
*Fr<sub>i</sub>***
|
|
|
**Figure 1 : Calcul de la vitesse moyenne associée à une verticale bathymétrique par interpolation du nombre de Froude local _Fr<sub>i</sub>_**
|
|
|
|
|
|
<span class="mark">Dans le cas d’une verticale bathymétrique située
|
|
|
entre la rive et les autres verticales, il convient de faire une
|
|
|
hypothèse sur la vitesse en rive : elle est théoriquement nulle, mais
|
|
|
une extrapolation constante ou vers une vitesse fictive en rive calculée
|
|
|
avec un coefficient de rive (cas du logiciel Barème) peut être plus
|
|
|
réaliste qu’une extrapolation linéaire vers zéro, en pratique.</span>
|
|
|
<span dir="">Dans le cas d’une verticale bathymétrique située entre la rive et les autres verticales, il convient de faire une hypothèse sur la vitesse en rive : elle est théoriquement nulle, mais une extrapolation constante ou vers une vitesse fictive en rive calculée avec un coefficient de rive (cas du logiciel Barème) peut être plus réaliste qu’une extrapolation linéaire vers zéro, en pratique.</span>
|
|
|
|
|
|
Le calcul du débit peut finalement se faire normalement sur l’ensemble
|
|
|
des verticales, désormais toutes munies d’une vitesse moyenne estimée.
|
|
|
Le calcul du débit peut finalement se faire normalement sur l’ensemble des verticales, désormais toutes munies d’une vitesse moyenne estimée.
|
|
|
|
|
|
### Calcul du débit à travers chaque transect
|
|
|
|
|
|
<span class="mark">Vitesse médiane, vitesse normale au transect</span>
|
|
|
<span dir="">Vitesse médiane, vitesse normale au transect</span>
|
|
|
|
|
|
<span class="mark">Débits de bords ?</span>
|
|
|
<span dir="">Débits de bords ?</span>
|
|
|
|
|
|
<span class="mark">Taux débit mesuré / extrapolé</span>
|
|
|
<span dir="">Taux débit mesuré / extrapolé</span>
|
|
|
|
|
|
# Références bibliographiques
|
|
|
|
|
|
Creutin, J.-D., Muste, M., Bradley, A.A., Kim, S.C., Kruger, A. (2003)
|
|
|
River gauging using PIV techniques: a proof of concept experiment on the
|
|
|
Iowa River, Journal of Hydrology 277: 182–194
|
|
|
|
|
|
Dramais, G., Le Coz, J., Camenen, B., Hauet, A. (2011) Advantages of a
|
|
|
mobile LSPIV method for measuring flood discharges and improving
|
|
|
stage-discharge curves, Journal of Hydro-Environment Research, 5,
|
|
|
301-312
|
|
|
|
|
|
Fujita, I., Muste, M., Kruger, A. (1998) Large-scale particle image
|
|
|
velocimetry for flow analysis in hydraulic engineering applications,
|
|
|
Journal of Hydraulic Research 36(3): 397–414
|
|
|
|
|
|
Hauet, A. (2006) Estimation de débit et mesure de vitesse en rivière par
|
|
|
Large-Scale Particle Image Velocimetry, thèse de doctorat, Université de
|
|
|
Grenoble
|
|
|
|
|
|
Hauet, A., Kruger, A., Krajewski, W., Bradley, A., Muste, M., Creutin,
|
|
|
J.-D., Wilson, M. (2008) Experimental system for real-time discharge
|
|
|
estimation using an image-based method, Journal of Hydrologic
|
|
|
Engineering 13(2):105–110
|
|
|
|
|
|
Hauet, A., Muste, M., Ho, H.-C. (2009) Digital mapping of riverine
|
|
|
waterway hydro-dynamic and geomorphic features, Earth Surface Processes
|
|
|
and Landforms, 34(2), 242-252
|
|
|
|
|
|
Jodeau, M., Hauet, A., Paquier, A., Le Coz, J., Dramais, G. (2008) -
|
|
|
Application and evaluation of LS-PIV technique for the monitoring of
|
|
|
river surface velocities in high flow conditions, Flow Measurement and
|
|
|
Instrumentation, 19(2), 117-127
|
|
|
|
|
|
Le Boursicaud, R., Pénard, L., Hauet, A., Le Coz, J. (2016) Gauging
|
|
|
extreme floods on YouTube: Application of LSPIV to home movies for the
|
|
|
post-event determination of stream discharges, Hydrological Processes,
|
|
|
30, 90-105
|
|
|
|
|
|
Le Coz, J., Hauet, A., Pierrefeu, G., Dramais, G., Camenen, B. (2010) -
|
|
|
Performance of image-based velocimetry (LSPIV) applied to flash-flood
|
|
|
discharge measurements in Mediterranean rivers, Journal of Hydrology,
|
|
|
394 (1-2), 42-52
|
|
|
|
|
|
Le Coz, J., Michálková, M., Hauet, A. Čomaj, M. Dramais, G. Holubová, K.
|
|
|
Piégay, H. Paquier, A. (2010) Morphodynamics of the exit of a cut-off
|
|
|
meander: experimental findings from field and laboratory cases, Earth
|
|
|
Surface Processes and Landforms, 35 (3), 249-261
|
|
|
|
|
|
Le Coz, J., Jodeau, M., Hauet, A., Marchand, B., Le Boursicaud, R.
|
|
|
(2014) Image-based velocity and discharge measurements in field and
|
|
|
laboratory river engineering studies using the free Fudaa-LSPIV
|
|
|
software, Proceedings of the International Conference on Fluvial
|
|
|
Hydraulics, RIVERFLOW 2014, 1961-1967
|
|
|
|
|
|
Le Coz J., Patalano A., Collins D., Guillén N. F., García C. M., Smart
|
|
|
G. M., Bind J., Chiaverini A., Le Boursicaud R., Dramais G., Braud I.
|
|
|
(2016) Crowdsourced data for flood hydrology: feedback from recent
|
|
|
citizen science projects in Argentina, France and New Zealand, Journal
|
|
|
of Hydrology, 541, 766-777
|
|
|
|
|
|
Legout, C., Darboux, F., Nédélec, Y., Hauet, A., Esteves, M., Renaux,
|
|
|
B., Denis, H., Cordier, S. (2012) High spatial resolution mapping of
|
|
|
surface velocities and depths for shallow overland flow, Earth Surface
|
|
|
Processes and Landforms, 37(9), 984-993
|
|
|
|
|
|
Moisan, L., Stival, B., A, (2004) A Probabilistic Criterion to Detect
|
|
|
Rigid Point Matches Between Two Images and Estimate the Fundamental
|
|
|
Matrix, International Journal of Computer Vision, 57(3), 201-208
|
|
|
|
|
|
Muste, M., Fujita, I., Hauet, A. (2008) Large-scale particle image
|
|
|
velocimetry for measurements in riverine environments. Water Resources
|
|
|
Research 44W00D19
|
|
|
|
|
|
Nord, G., Esteves, M., Lapetite, J.-M., Hauet, A. (2009) Effect of
|
|
|
particle density and inflow concentration of suspended sediment on
|
|
|
bedload transport in rill flow, Earth Surface Processes and Landforms,
|
|
|
34(2), 253-263
|
|
|
|
|
|
Oyallon, E., Rabin, J., An Analysis of the SURF Method, Image Processing
|
|
|
On Line, 5 (2015), 176-218
|
|
|
|
|
|
Piton, G., Recking, A., Le Coz, J., Bellot, H., Hauet, A., Jodeau, M.
|
|
|
(2018) - Reconstructing depth-averaged open-channel flows using image
|
|
|
velocimetry and photogrammetry, Water Resources Research (in press)
|
|
|
|
|
|
Theule, J.I., Crema, S., Marchi, L., Cavalli, M., Comiti, F. (2018)
|
|
|
Exploiting LSPIV to assess debris-flow velocities in the field, Natural
|
|
|
Hazards and Earth System Sciences, 18(1), 1-13
|
|
|
Creutin, J.-D., Muste, M., Bradley, A.A., Kim, S.C., Kruger, A. (2003) River gauging using PIV techniques: a proof of concept experiment on the Iowa River, Journal of Hydrology 277: 182–194
|
|
|
|
|
|
Dramais, G., Le Coz, J., Camenen, B., Hauet, A. (2011) Advantages of a mobile LSPIV method for measuring flood discharges and improving stage-discharge curves, Journal of Hydro-Environment Research, 5, 301-312
|
|
|
|
|
|
Fujita, I., Muste, M., Kruger, A. (1998) Large-scale particle image velocimetry for flow analysis in hydraulic engineering applications, Journal of Hydraulic Research 36(3): 397–414
|
|
|
|
|
|
Hauet, A. (2006) Estimation de débit et mesure de vitesse en rivière par Large-Scale Particle Image Velocimetry, thèse de doctorat, Université de Grenoble
|
|
|
|
|
|
Hauet, A., Kruger, A., Krajewski, W., Bradley, A., Muste, M., Creutin, J.-D., Wilson, M. (2008) Experimental system for real-time discharge estimation using an image-based method, Journal of Hydrologic Engineering 13(2):105–110
|
|
|
|
|
|
Hauet, A., Muste, M., Ho, H.-C. (2009) Digital mapping of riverine waterway hydro-dynamic and geomorphic features, Earth Surface Processes and Landforms, 34(2), 242-252
|
|
|
|
|
|
Jodeau, M., Hauet, A., Paquier, A., Le Coz, J., Dramais, G. (2008) - Application and evaluation of LS-PIV technique for the monitoring of river surface velocities in high flow conditions, Flow Measurement and Instrumentation, 19(2), 117-127
|
|
|
|
|
|
Le Boursicaud, R., Pénard, L., Hauet, A., Le Coz, J. (2016) Gauging extreme floods on YouTube: Application of LSPIV to home movies for the post-event determination of stream discharges, Hydrological Processes, 30, 90-105
|
|
|
|
|
|
Le Coz, J., Hauet, A., Pierrefeu, G., Dramais, G., Camenen, B. (2010) - Performance of image-based velocimetry (LSPIV) applied to flash-flood discharge measurements in Mediterranean rivers, Journal of Hydrology, 394 (1-2), 42-52
|
|
|
|
|
|
Le Coz, J., Michálková, M., Hauet, A. Čomaj, M. Dramais, G. Holubová, K. Piégay, H. Paquier, A. (2010) Morphodynamics of the exit of a cut-off meander: experimental findings from field and laboratory cases, Earth Surface Processes and Landforms, 35 (3), 249-261
|
|
|
|
|
|
Le Coz, J., Jodeau, M., Hauet, A., Marchand, B., Le Boursicaud, R. (2014) Image-based velocity and discharge measurements in field and laboratory river engineering studies using the free Fudaa-LSPIV software, Proceedings of the International Conference on Fluvial Hydraulics, RIVERFLOW 2014, 1961-1967
|
|
|
|
|
|
Le Coz J., Patalano A., Collins D., Guillén N. F., García C. M., Smart G. M., Bind J., Chiaverini A., Le Boursicaud R., Dramais G., Braud I. (2016) Crowdsourced data for flood hydrology: feedback from recent citizen science projects in Argentina, France and New Zealand, Journal of Hydrology, 541, 766-777
|
|
|
|
|
|
Legout, C., Darboux, F., Nédélec, Y., Hauet, A., Esteves, M., Renaux, B., Denis, H., Cordier, S. (2012) High spatial resolution mapping of surface velocities and depths for shallow overland flow, Earth Surface Processes and Landforms, 37(9), 984-993
|
|
|
|
|
|
Moisan, L., Stival, B., A, (2004) A Probabilistic Criterion to Detect Rigid Point Matches Between Two Images and Estimate the Fundamental Matrix, International Journal of Computer Vision, 57(3), 201-208
|
|
|
|
|
|
Muste, M., Fujita, I., Hauet, A. (2008) Large-scale particle image velocimetry for measurements in riverine environments. Water Resources Research 44W00D19
|
|
|
|
|
|
Nord, G., Esteves, M., Lapetite, J.-M., Hauet, A. (2009) Effect of particle density and inflow concentration of suspended sediment on bedload transport in rill flow, Earth Surface Processes and Landforms, 34(2), 253-263
|
|
|
|
|
|
Oyallon, E., Rabin, J., An Analysis of the SURF Method, Image Processing On Line, 5 (2015), 176-218
|
|
|
|
|
|
Piton, G., Recking, A., Le Coz, J., Bellot, H., Hauet, A., Jodeau, M. (2018) - Reconstructing depth-averaged open-channel flows using image velocimetry and photogrammetry, Water Resources Research (in press)
|
|
|
|
|
|
Theule, J.I., Crema, S., Marchi, L., Cavalli, M., Comiti, F. (2018) Exploiting LSPIV to assess debris-flow velocities in the field, Natural Hazards and Earth System Sciences, 18(1), 1-13 |