|
|
<img src="./media/image1.png"
|
|
|
style="width:6.12944in;height:5.12571in" />
|
|
|
|
|
|
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" />
|
|
|
|
|
|
Version du 08/03/2024
|
|
|
|
|
|
# Table des matières
|
|
|
|
|
|
[__1. Généralités__](#généralités)
|
|
|
|
|
|
- [Pourquoi la LSPIV](#pourquoi-la-lspiv)
|
|
|
|
|
|
- [Principes de la LSPIV](#principes-de-la-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)
|
|
|
|
|
|
- [Langues](#langues)
|
|
|
|
|
|
- [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)
|
|
|
|
|
|
- [Ouvrir une étude existante](#ouvrir-une-étude-existante)
|
|
|
|
|
|
- [Architecture d’un projet ***Fudaa-LSPIV***](#architecture-dun-projet-fudaa-lspiv)
|
|
|
|
|
|
[__4. Gestion des images sources__](#gestion-des-images-sources)
|
|
|
|
|
|
- [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)
|
|
|
|
|
|
- [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)
|
|
|
|
|
|
- [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)
|
|
|
|
|
|
- [Transformation de toutes les images](#transformation-de-toutes-les-images)
|
|
|
|
|
|
- [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)
|
|
|
|
|
|
- [Principes](#principes)
|
|
|
|
|
|
- [Calcul manuel des vitesses](#calcul-manuel-des-vitesses)
|
|
|
|
|
|
- [Paramètres du calcul des déplacements](#paramètres-du-calcul-des-déplacements)
|
|
|
|
|
|
- [Grille de calcul](#grille-de-calcul)
|
|
|
|
|
|
- [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ées)
|
|
|
|
|
|
- [Filtrage des résultats instantanés](#filtrage-des-résultats-instantanés)
|
|
|
|
|
|
- [Moyenne des résultats](#moyenne-des-résultats)
|
|
|
|
|
|
- [Statistiques des résultats de vitesse](#statistiques-des-résultats-de-vitesse)
|
|
|
|
|
|
[__8. Affichage des résultats de vitesse__](#affichage-des-résultats-de-vitesse)
|
|
|
|
|
|
- [Description des calques de résultats pour les calculs de vitesse](#description-des-calques-de-résultats-pour-les-calculs-de-vitesse)
|
|
|
|
|
|
- [Calque Vitesse](#calque-vitesse)
|
|
|
|
|
|
[__9. Calcul du débit__](#calcul-du-débit)
|
|
|
|
|
|
- [Spécifier un ou plusieurs transects bathymétriques](#spécifier-un-ou-plusieurs-transects-bathymétriques)
|
|
|
|
|
|
- [Inverser des transects](#inverser-des-transects)
|
|
|
|
|
|
- [Paramètres des transects](#paramètres-des-transects)
|
|
|
|
|
|
- [Calcul du débit](#calcul-du-débit-1)
|
|
|
|
|
|
- [Export du rapport de jaugeage](#export-du-rapport-de-jaugeage)
|
|
|
|
|
|
[__10. Export des données__](#export-des-données)
|
|
|
|
|
|
[__11. Relancer les calculs d'une étude existante__](#relancer-les-calculs-dune-étude-existante)
|
|
|
|
|
|
- [Nettoyage des résultats de calcul](#nettoyage-des-résultats-de-calcul)
|
|
|
|
|
|
[__12. Bug connus et parades__](#bug-connus-et-parades)
|
|
|
|
|
|
- [Le rapport de jaugeage n’est pas créé](#le-rapport-de-jaugeage-nest-pas-créé)
|
|
|
|
|
|
[__13. Approfondissements__](#approfondissements)
|
|
|
|
|
|
- [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èle-sténopé-et-sa-résolution-cas-général-3d)
|
|
|
|
|
|
- [Le modèle sténopé et sa résolution : cas particulier 2D](#le-modèle-sténopé-et-sa-résolution-cas-particulier-2d)
|
|
|
|
|
|
- [Création des orthoimages](#création-des-orthoimages)
|
|
|
|
|
|
- [Principes de la mesure de la vitesse de déplacement des traceurs](#principes-de-la-mesure-de-la-vitesse-de-déplacement-des-traceurs)
|
|
|
|
|
|
- [Principes du calcul de débit](#principes-du-calcul-de-débit)
|
|
|
|
|
|
- [Définition et interpolation du profil bathymétrique](#définition-et-interpolation-du-profil-bathymétrique)
|
|
|
|
|
|
- [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ébit-à-travers-chaque-transect)
|
|
|
|
|
|
[__14. Références bibliographiques__](#références-bibliographiques)
|
|
|
|
|
|
#
|
|
|
|
|
|
# Généralités
|
|
|
|
|
|
## Pourquoi la LSPIV
|
|
|
|
|
|
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).
|
|
|
|
|
|
## Principes de la 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>
|
|
|
|
|
|
La désinstallation se fait par la suppression du répertoire Fudaa-LSPIV.
|
|
|
|
|
|
<u>Répertoire d’installation :</u>
|
|
|
|
|
|
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" />
|
|
|
|
|
|
- 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.
|
|
|
|
|
|
## Langues
|
|
|
|
|
|
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.
|
|
|
|
|
|
<img src="./media/image5.png"
|
|
|
style="width:2.82031in;height:2.66037in" />
|
|
|
|
|
|
## Architecture de la fenêtre principale
|
|
|
|
|
|
Le logiciel Fudaa-LSPIV se compose de 5 panneaux tels que décrits dans
|
|
|
la figure ci-dessous :
|
|
|
|
|
|
- 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.
|
|
|
|
|
|
<img src="./media/image6.png" style="width:6.3in;height:3.32708in" />
|
|
|
|
|
|
***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é.
|
|
|
|
|
|
# Commencer une étude ***Fudaa-LSPIV***
|
|
|
|
|
|
## Prérequis pour commencer une étude ***Fudaa-LSPIV***
|
|
|
|
|
|
Avant de lancer une étude ***Fudaa-LSPIV***, il faut être en possession
|
|
|
des données d’entrée nécessaires :
|
|
|
|
|
|
- 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.
|
|
|
|
|
|
##
|
|
|
|
|
|
## Créer une nouvelle étude
|
|
|
|
|
|
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.
|
|
|
|
|
|
<img src="./media/image8.png" style="width:6.3in;height:0.82292in" />
|
|
|
|
|
|
Sinon, suivre le menu ***Fichier 🡪 Créer***. Le raccourci clavier
|
|
|
correspondant est Ctrl+N
|
|
|
|
|
|
## Ouvrir une étude existante
|
|
|
|
|
|
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.
|
|
|
|
|
|
<img src="./media/image10.png" style="width:6.3in;height:0.76528in" />
|
|
|
|
|
|
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.
|
|
|
|
|
|
## Architecture d’un projet ***Fudaa-LSPIV***
|
|
|
|
|
|
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 :
|
|
|
|
|
|
- dossier ***img_pgm*** : contient les images sources en format .pgm
|
|
|
utilisées pour le traitement ;
|
|
|
|
|
|
- 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).
|
|
|
|
|
|
- dossier ***outputs.dir*** : contient les fichiers de calcul et des
|
|
|
paramètres LSPIV ;
|
|
|
|
|
|
- dossier ***transects*** : contient les données de transects
|
|
|
bathymétriques projetés et interpolés ;
|
|
|
|
|
|
- dossier ***vel_filter*** : contient les fichiers de résultats des
|
|
|
vitesses LSPIV instantanées filtrées, en coordonnées image ;
|
|
|
|
|
|
- dossier ***vel_raw*** : contient les fichiers de résultats des
|
|
|
vitesses LSPIV instantanées brutes, en coordonnées image ;
|
|
|
|
|
|
- dossier ***vel_real*** : contient les fichiers de résultats des
|
|
|
vitesses LSPIV instantanées filtrées, en coordonnées réelles ;
|
|
|
|
|
|
- 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.
|
|
|
|
|
|
<img src="./media/image11.png"
|
|
|
style="width:1.06566in;height:2.26422in" />
|
|
|
|
|
|
# Gestion des images sources
|
|
|
|
|
|
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 :
|
|
|
|
|
|
- Importer une séquence d’image
|
|
|
|
|
|
- Importer une vidéo et la séquencer dans ***Fudaa-LSPIV***
|
|
|
|
|
|
## Importer une séquence d’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" />
|
|
|
|
|
|
## Importer une vidéo et la séquencer
|
|
|
|
|
|
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" />
|
|
|
|
|
|
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" />
|
|
|
|
|
|
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" />
|
|
|
|
|
|
## 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***.
|
|
|
|
|
|
<img src="./media/image26.png"
|
|
|
style="width:4.30731in;height:1.52741in" />
|
|
|
|
|
|
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" />
|
|
|
|
|
|
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***.
|
|
|
|
|
|
<img src="./media/image29.png"
|
|
|
style="width:2.88496in;height:2.28488in" />
|
|
|
<img src="./media/image30.png"
|
|
|
style="width:2.89071in;height:2.33627in" />
|
|
|
|
|
|
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é***
|
|
|
|
|
|
- <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é.
|
|
|
|
|
|
- <u>Mauvaise « qualité » :</u> choisir densité de points ***Forte***
|
|
|
|
|
|
- <u>Bonne « qualité » :</u> choisir densité de points ***Faible***
|
|
|
|
|
|
La densité de points joue sur le temps de calcul : plus elle est faible,
|
|
|
plus la stabilisation est rapide.
|
|
|
|
|
|
<img src="./media/image31.jpeg" style="width:0.48351in;height:1.06957in"
|
|
|
alt="Résultat de recherche d'images pour "conseil"" />Le
|
|
|
ratio berges/écoulement sur l’image est un paramètre important à prendre
|
|
|
en compte. Le cas test proposé plus haut est idéal : l’écoulement
|
|
|
représente environ 1/3 de l’image ce qui laisse suffisamment de berges.
|
|
|
L’environnement est également suffisamment texturé et présente de
|
|
|
nombreux contours. Dans un tel cas une densité ***Faible*** peut être
|
|
|
utilisée.
|
|
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
|
|
|
|
<img src="./media/image32.png" style="width:6.3in;height:3.84722in" />
|
|
|
|
|
|
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" />.
|
|
|
|
|
|
<img src="./media/image34.png"
|
|
|
style="width:4.47238in;height:3.54212in" />
|
|
|
|
|
|
La commande ***Fichier 🡪 Exporter 🡪 Exporter les images stabilisées***
|
|
|
permet l'export des images stabilisées.
|
|
|
|
|
|
<img src="./media/image35.png" style="width:6.3in;height:3.36806in" />
|
|
|
|
|
|
<img src="./media/image36.png"
|
|
|
style="width:2.77577in;height:2.48652in" />
|
|
|
|
|
|
# Orthorectification des images
|
|
|
|
|
|
## Choix du mode d’orthorectification
|
|
|
|
|
|
***Fudaa-LSPIV*** propose deux modes d’orthorectification :
|
|
|
|
|
|
- ***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.
|
|
|
|
|
|
Ces modes sont accessibles via le menu ***Orthorectification🡪 Mode
|
|
|
d’orthorectification***.
|
|
|
|
|
|
<img src="./media/image37.png"
|
|
|
style="width:1.6745in;height:1.21062in" />
|
|
|
|
|
|
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.
|
|
|
|
|
|
<img src="./media/image38.png" style="width:6.3in;height:3.54375in" />
|
|
|
|
|
|
## Mise à l’échelle
|
|
|
|
|
|
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.
|
|
|
|
|
|
Le menu ***Orthorectification 🡪 Mise à l’échelle 🡪 Paramètres*** amène
|
|
|
sur la fenêtre de définition des paramètres de mise à l’échelle :
|
|
|
|
|
|
<img src="./media/image39.png"
|
|
|
style="width:3.46352in;height:2.43729in" />
|
|
|
|
|
|
### Définition de la résolution
|
|
|
|
|
|
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" />
|
|
|
|
|
|
### 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.
|
|
|
|
|
|
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" />
|
|
|
|
|
|
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" />
|
|
|
|
|
|
### 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).
|
|
|
|
|
|
## 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).
|
|
|
|
|
|
### 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 :
|
|
|
|
|
|
- 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
|
|
|
image des points.
|
|
|
|
|
|
- Les lignes suivantes sont les données.
|
|
|
|
|
|
<img src="./media/image49.png"
|
|
|
style="width:2.05826in;height:1.33994in" />
|
|
|
|
|
|
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.
|
|
|
|
|
|
<img src="./media/image50.png" style="width:6.3in;height:3.74722in" />
|
|
|
|
|
|
### 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.
|
|
|
|
|
|
<img src="./media/image51.png" style="width:6.3in;height:3.53156in" />
|
|
|
|
|
|
### 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" />
|
|
|
|
|
|
## Transformation de toutes les images
|
|
|
|
|
|
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 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***.
|
|
|
|
|
|
<img src="./media/image56.png"
|
|
|
style="width:4.81448in;height:2.7973in" />
|
|
|
|
|
|
## 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 <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.
|
|
|
|
|
|
<img src="./media/image57.png"
|
|
|
style="width:2.38174in;height:1.75073in" />
|
|
|
|
|
|
<img src="./media/image31.jpeg" style="width:0.48333in;height:1.06944in"
|
|
|
alt="Résultat de recherche d'images pour "conseil"" />Cette
|
|
|
option est particulièrement utile pour identifier l’échantillonnage
|
|
|
optimal de la vidéo, sans avoir à relancer les étapes précédentes.
|
|
|
|
|
|
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).
|
|
|
|
|
|
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" />
|
|
|
|
|
|
- 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).
|
|
|
|
|
|
> 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" />
|
|
|
|
|
|
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 ***:
|
|
|
|
|
|
<img src="./media/image61.png"
|
|
|
style="width:3.28931in;height:4.20695in" />
|
|
|
|
|
|
## 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" />
|
|
|
|
|
|
## 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.
|
|
|
|
|
|
## 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 groupe de calque ***Résultats bruts (B)*** est créé.
|
|
|
|
|
|
<img src="./media/image68.png" style="width:2.41667in;height:1.875in" />
|
|
|
|
|
|
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.
|
|
|
|
|
|
<img src="./media/image69.png"
|
|
|
style="width:2.72783in;height:0.3501in" />
|
|
|
|
|
|
# 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.
|
|
|
|
|
|
<img src="./media/image70.png"
|
|
|
style="width:5.18645in;height:1.35607in" />
|
|
|
|
|
|
## 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" />.
|
|
|
|
|
|
## Moyenne des résultats
|
|
|
|
|
|
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" />
|
|
|
|
|
|
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éé.
|
|
|
|
|
|
<img src="./media/image75.png"
|
|
|
style="width:2.63542in;height:1.82308in" />
|
|
|
|
|
|
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" />
|
|
|
|
|
|
### 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.
|
|
|
|
|
|
<img src="./media/image76.png"
|
|
|
style="width:4.04478in;height:4.50729in" />
|
|
|
|
|
|
# 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" />
|
|
|
|
|
|
- Calque Particules <img src="./media/image78.png"
|
|
|
style="width:0.72248in;height:0.26398in" />
|
|
|
|
|
|
- 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" />
|
|
|
|
|
|
## Calque Vitesse
|
|
|
|
|
|
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" />
|
|
|
|
|
|
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.
|
|
|
|
|
|
<img src="./media/image83.png" style="width:6.3in;height:4.55833in" />
|
|
|
|
|
|
# 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.
|
|
|
|
|
|
## 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 :
|
|
|
>
|
|
|
> <img src="./media/image90.png"
|
|
|
> style="width:4.07238in;height:3.63605in" />
|
|
|
|
|
|
### 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.***
|
|
|
|
|
|
<img src="./media/image92.png"
|
|
|
style="width:2.80594in;height:1.23983in" />
|
|
|
|
|
|
> Ou bien ***clic-droit 🡪 Inverser des transects ***:
|
|
|
|
|
|
<img src="./media/image93.png"
|
|
|
style="width:2.42603in;height:2.37089in" />
|
|
|
|
|
|
## 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.
|
|
|
|
|
|
## 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" />
|
|
|
|
|
|
##
|
|
|
|
|
|
## 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
|
|
|
|
|
|
<img src="./media/image101.png"
|
|
|
style="width:4.00329in;height:2.37276in" />
|
|
|
|
|
|
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" />
|
|
|
|
|
|
# Export des données
|
|
|
|
|
|
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…)
|
|
|
|
|
|
- Rapport de jaugeage
|
|
|
|
|
|
<img src="./media/image104.png" style="width:6.3in;height:3.10625in" />
|
|
|
|
|
|
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" />
|
|
|
|
|
|
# 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....***
|
|
|
|
|
|
<img src="./media/image106.png"
|
|
|
style="width:3.58919in;height:2.63764in" />
|
|
|
|
|
|
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" />
|
|
|
|
|
|
## 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).
|
|
|
|
|
|
<img src="./media/image108.png"
|
|
|
style="width:4.17894in;height:2.67495in" />
|
|
|
|
|
|
# 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 :
|
|
|
|
|
|
<img src="./media/image109.jpeg"
|
|
|
style="width:5.15048in;height:1.02362in"
|
|
|
alt="cid:image005.jpg@01D37E32.6C4C2330" />
|
|
|
|
|
|
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}\ $$
|
|
|
|
|
|
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 ***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$
|
|
|
|
|
|
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" />
|
|
|
|
|
|
### 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 :
|
|
|
|
|
|
- É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.
|
|
|
|
|
|
<img src="./media/image111.png"
|
|
|
style="width:4.94009in;height:5.56202in" />
|
|
|
|
|
|
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.
|
|
|
|
|
|
## 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}$$
|
|
|
|
|
|
Et le modèle sténopé s’écrit :
|
|
|
|
|
|
$$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 à
|
|
|
|
|
|
$$\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 *:
|
|
|
|
|
|
$$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 :
|
|
|
|
|
|
$$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.
|
|
|
|
|
|
### 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*.
|
|
|
|
|
|
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\) |
|
|
|
|----|----|----|
|
|
|
|
|
|
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))
|
|
|
|
|
|
- É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 :
|
|
|
|
|
|
$$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ù $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 :
|
|
|
|
|
|
$$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.\ $$
|
|
|
|
|
|
Où $s = k\ ou\ l$
|
|
|
|
|
|
<img src="./media/image113.png" style="width:6.3in;height:3.16528in" />
|
|
|
|
|
|
## Principes de la mesure de la vitesse de déplacement des traceurs
|
|
|
|
|
|
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" />
|
|
|
|
|
|
## 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.
|
|
|
|
|
|
### Définition et interpolation du profil bathymétrique
|
|
|
|
|
|
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 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" />
|
|
|
|
|
|
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é.
|
|
|
|
|
|
<img src="./media/image117.png"
|
|
|
style="width:6.02555in;height:2.69662in" />
|
|
|
|
|
|
<img src="./media/image118.png" style="width:6.3in;height:2.80139in" />
|
|
|
|
|
|
### 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>).
|
|
|
|
|
|
En i+1, le nombre de Froude local vaut :
|
|
|
|
|
|
${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 :
|
|
|
|
|
|
$$\ {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 :
|
|
|
|
|
|
$V_{i} = {Fr}_{i}.\sqrt{g.h_{i}}$
|
|
|
|
|
|
<img src="./media/image119.png"
|
|
|
style="width:4.74167in;height:3.42222in" />
|
|
|
|
|
|
**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>
|
|
|
|
|
|
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 class="mark">Débits de bords ?</span>
|
|
|
|
|
|
<span class="mark">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
|
|
|
|
|
|
|