Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • F Fudaa Lspiv
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 34
    • Issues 34
    • List
    • Boards
    • Service Desk
    • Milestones
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar

La forge institutionnelle d'INRAE étant en production depuis le 10 juin 2025, nous vous invitons à y créer vos nouveaux projets.

  • Image Velocimetry
  • Fudaa Lspiv
  • Wiki
  • Manuel utilisateur

Manuel utilisateur · Changes

Page history
Update Manuel utilisateur authored Aug 09, 2024 by Guillaume  Bodart's avatar Guillaume Bodart
Show whitespace changes
Inline Side-by-side
Manuel-utilisateur.md
View page @ b1dbc53d
<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&#39;images pour &quot;conseil&quot;" />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&#39;images pour &quot;conseil&quot;" />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
Clone repository
  • Manuel utilisateur
    • Affichage des résultats de vitesse
    • Bug connus et parades
    • Calcul de la vitesse de déplacement des traceurs
    • Calcul du débit
    • Commencer une étude Fudaa LSPIV
    • Démarrer avec Fudaa LSPIV
    • Export des données
    • Gestion des images sources
    • Généralités
    • Orthorectification des images
    • Post traitement des vitesses calculées
    • Relancer les calculs d'une étude existante
    • Références bibliographiques
  • User Manual
    • getting started with fudaa lspiv
View All Pages