... | ... | @@ -75,7 +75,7 @@ Version du 08/03/2024 |
|
|
- [Calcul du débit](#calcul-du-d%C3%A9bit-1)
|
|
|
- [Export du rapport de jaugeage](#export-du-rapport-de-jaugeage)
|
|
|
|
|
|
[**10. Export des données**](#export-des-donn%C3%A9es)
|
|
|
|
|
|
|
|
|
[**11. Relancer les calculs d'une étude existante**](#relancer-les-calculs-dune-%C3%A9tude-existante)
|
|
|
|
... | ... | @@ -88,18 +88,18 @@ Version du 08/03/2024 |
|
|
[**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)
|
|
|
- [Appariement des points](#appariement-des-points)
|
|
|
- [Estimation de la transformation](#estimation-de-la-transformation)
|
|
|
- [Principe de l’orthorectification](#principe-de-lorthorectification-1)
|
|
|
- [Le modèle sténopé et sa résolution : cas général 3D](#le-mod%C3%A8le-st%C3%A9nop%C3%A9-et-sa-r%C3%A9solution-cas-g%C3%A9n%C3%A9ral-3d)
|
|
|
- [Le modèle sténopé et sa résolution : cas particulier 2D](#le-mod%C3%A8le-st%C3%A9nop%C3%A9-et-sa-r%C3%A9solution-cas-particulier-2d)
|
|
|
- [Création des orthoimages](#cr%C3%A9ation-des-orthoimages)
|
|
|
- [Le modèle sténopé et sa résolution : cas général 3D](#le-mod%C3%A8le-st%C3%A9nop%C3%A9-et-sa-r%C3%A9solution-cas-g%C3%A9n%C3%A9ral-3d)
|
|
|
- [Le modèle sténopé et sa résolution : cas particulier 2D](#le-mod%C3%A8le-st%C3%A9nop%C3%A9-et-sa-r%C3%A9solution-cas-particulier-2d)
|
|
|
- [Création des orthoimages](#cr%C3%A9ation-des-orthoimages)
|
|
|
- [Principes de la mesure de la vitesse de déplacement des traceurs](#principes-de-la-mesure-de-la-vitesse-de-d%C3%A9placement-des-traceurs)
|
|
|
- [Présentation détaillée des filtres](#présentation-détaillée-des-filtres)
|
|
|
- [Principes du calcul de débit](#principes-du-calcul-de-d%C3%A9bit)
|
|
|
- [Définition et interpolation du profil bathymétrique](#d%C3%A9finition-et-interpolation-du-profil-bathym%C3%A9trique)
|
|
|
- [Estimation de la vitesse moyenne en chaque point du transect](#estimation-de-la-vitesse-moyenne-en-chaque-point-du-transect)
|
|
|
- [Calcul du débit à travers chaque transect](#calcul-du-d%C3%A9bit-%C3%A0-travers-chaque-transect)
|
|
|
- [Définition et interpolation du profil bathymétrique](#d%C3%A9finition-et-interpolation-du-profil-bathym%C3%A9trique)
|
|
|
- [Estimation de la vitesse moyenne en chaque point du transect](#estimation-de-la-vitesse-moyenne-en-chaque-point-du-transect)
|
|
|
- [Calcul du débit à travers chaque transect](#calcul-du-d%C3%A9bit-%C3%A0-travers-chaque-transect)
|
|
|
|
|
|
[**14. Références bibliographiques**](#r%C3%A9f%C3%A9rences-bibliographiques)
|
|
|
|
... | ... | @@ -107,244 +107,6 @@ Version du 08/03/2024 |
|
|
|
|
|
|
|
|
|
|
|
# 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.
|
|
|
|
|
|
![](./media/image110.jpeg)
|
|
|
|
|
|
### Appariement des points
|
|
|
|
|
|
Il s’agit maintenant de faire correspondre les points de l’image 1 avec ceux de l’image 2. On utilise alors le descripteur SURF qui est en quelque sorte la « carte d’identité » de chaque point. Il contient plusieurs informations :
|
|
|
|
|
|
- É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.
|
|
|
|
|
|
![](./media/image111.png)
|
|
|
|
|
|
Il arrive que des mauvais appariements soient réalisés (ou faux matchs). Pour les écarter on utilise la méthode ORSA (Moisan 2004). Les faux matchs sont identifiés au moyen d’un processus stochastique associé à des contraintes de géométrie épipolaire (non détaillé ici).
|
|
|
|
|
|
### 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)$$
|
|
|
|
|
|
![](./media/image112.png)
|
|
|
|
|
|
Chaque point apparié est utilisé comme point de contrôle. Les valeurs des coefficients de la matrice d’homographie $`H`$ sont ensuite approchées grâce à eux. La méthode de DLT (Direct Linear Transform) est utilisée pour arranger l’équation ci-dessus et estimer$`\ H`$ grâce aux couples de points de contrôle. En effet il n'existe pas de solution unique au problème, on détermine donc la solution passant au mieux par l'ensemble des points de contrôle.
|
|
|
|
|
|
## Principe de l’orthorectification
|
|
|
|
|
|
### Le modèle sténopé et sa résolution : cas général 3D
|
|
|
|
|
|
On considère un modèle sténopé permettant de passer d’un objet de coordonnées X,Y,Z dans un repère réel à sa représentation i,j dans un repère image. Le lien entre ces coordonnées peut s’écrire sous la forme dite DLT (pour Direct Linear Transformation) comme :
|
|
|
|
|
|
<table>
|
|
|
<tr>
|
|
|
<th>
|
|
|
|
|
|
</th>
|
|
|
<th>
|
|
|
|
|
|
`i = \frac{a_{1}.X + a_{2}.Y + a_{3}.Z + a_{4}}{a_{9}.X + a_{10}.Y + a_{11}.Z + 1}\ et\ j = \frac{a_{5}.X + a_{6}.Y + a_{7}.Z + a_{8}}{a_{9}.X + a_{10}.Y + a_{11}.Z + 1}\ \`
|
|
|
</th>
|
|
|
<th>(1)</th>
|
|
|
</tr>
|
|
|
</table>
|
|
|
|
|
|
Les coefficients a<sub>i</sub> n’ont pas de sens physique mais sont des combinaisons des paramètres intrinsèques et extrinsèques de la prise de vue. Le système précédent peut s’écrire sous forme matricielle :
|
|
|
|
|
|
$$\\left\\lbrack \\begin{matrix} X & Y \\ 0 & 0 \\end{matrix}\\ \\ \\ \\begin{matrix} Z & 1 & 0 \\ 0 & 0 & X \\end{matrix}\\ \\ \\ \\begin{matrix} 0 & 0 & 0 \\ Y & Z & 1 \\end{matrix}\\ \\ \\ \\begin{matrix}
|
|
|
|
|
|
- iX & - iY & - iZ \\
|
|
|
- jX & - jY & - jZ \\end{matrix} \\right\\rbrack \\bullet \\begin{bmatrix} a\_{1} & a\_{2} & a\_{3} & a\_{4} & a\_{5} & a\_{6} & a\_{7} & a\_{8} & a\_{9} & a\_{10} & a\_{11} \\end{bmatrix}^{T} = \\begin{bmatrix} i \\ j \\end{bmatrix}$$
|
|
|
|
|
|
Il est possible de résoudre le système d’équation ci-dessus si on est en possession de points de référence dont les coordonnées dans les repères réel (X,Y,Z) et image (i,j) sont connus. Il s’agit de point visibles sur les images, et dont les coordonnées réelles ont pu être mesurées sur le terrain.
|
|
|
|
|
|
Le système d’équation ci-dessus possède 11 inconnues (les coefficients a<sub>i</sub>), et chaque point de repère apporte une coordonnée i et j. Il faut donc a minima 6 points de repère pour résoudre ce système (qui sera dès lors surdéterminé). La mesure des coordonnées réelles et le pointage des coordonnées image étant entaché d’incertitude, il est conseillé d’utiliser plus que 6 points de référence. Pour un nombre N >= 6 de points de référence, on définit les matrices suivantes :
|
|
|
|
|
|
$$T = \\lbrack 2N \\times 11\\rbrack = \\begin{bmatrix} X\_{1} & Y\_{1} & Z\_{1} & 1 & 0 & 0 & 0 & 0 & - i\_{1}X\_{1} & - i\_{1}Y\_{1} & - i\_{1}Z\_{1} \\ X\_{2} & Y\_{2} & Z\_{2} & 1 & 0 & 0 & 0 & 0 & - i\_{2}X\_{2} & - i\_{2}Y\_{2} & - i\_{2}Z\_{2} \\ \\vdots & \\vdots & \\vdots & \\vdots & \\vdots & \\vdots & \\vdots & \\vdots & \\vdots & \\vdots & \\vdots \\ X\_{N} & Y\_{N} & Z\_{N} & 1 & 0 & 0 & 0 & 0 & - i\_{N}X\_{N} & - i\_{N}Y\_{N} & - i\_{1}Z\_{N} \\ 0 & 0 & 0 & 0 & X\_{1} & Y\_{1} & Z\_{1} & 1 & - j\_{1}X\_{1} & - j\_{1}Y\_{1} & - j\_{1}Z\_{1} \\ 0 & 0 & 0 & 0 & X\_{2} & Y\_{2} & Z\_{2} & 1 & - j\_{2}X\_{2} & - j\_{2}Y\_{2} & - j\_{2}Z\_{2} \\ \\vdots & \\vdots & \\vdots & \\vdots & \\vdots & \\vdots & \\vdots & \\vdots & \\vdots & \\vdots & \\vdots \\ 0 & 0 & 0 & 0 & X\_{N} & Y\_{N} & Z\_{N} & 1 & - j\_{N}X\_{N} & - j\_{N}Y\_{N} & - j\_{1}Z\_{N} \\end{bmatrix}$$
|
|
|
|
|
|
$$A = \\lbrack 11 \\times 1\\rbrack = \\begin{bmatrix} a\_{1} & a\_{2} & a\_{3} & a\_{4} & a\_{5} & a\_{6} & a\_{7} & a\_{8} & a\_{9} & a\_{10} & a\_{11} \\end{bmatrix}^{T}$$
|
|
|
|
|
|
$$Z = \\lbrack 2N \\times 1\\rbrack = \\begin{bmatrix} i\_{1} & i\_{2} & \\ldots & i\_{N} & j\_{1} & j\_{2} & \\ldots & j\_{N} \\end{bmatrix}^{T}$$
|
|
|
|
|
|
Et le modèle sténopé s’écrit :
|
|
|
|
|
|
`TA = Z`
|
|
|
|
|
|
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, à :
|
|
|
|
|
|
<table>
|
|
|
<tr>
|
|
|
<th>
|
|
|
|
|
|
</th>
|
|
|
<th>
|
|
|
|
|
|
`i = \frac{a_{1}.X + a_{2}.Y + a_{3}.h + a_{4}}{a_{9}.X + a_{10}.Y + a_{11}.h + 1}\ et\ j = \frac{a_{5}.X + a_{6}.Y + a_{7}.h + a_{8}}{a_{9}.X + a_{10}.Y + a_{11}.h + 1}\ \`
|
|
|
</th>
|
|
|
<th>(2)</th>
|
|
|
</tr>
|
|
|
</table>
|
|
|
|
|
|
Les coefficients a<sub>i</sub> ont été calculés tels que présenté dans les parties précédentes.
|
|
|
|
|
|
La méthode pour construire les orthoimages consiste à :
|
|
|
|
|
|
- Définir la zone à imager dans le repère réel, c'est-à-dire donner les coordonnées (X,Y) des 4 coins de l’orthoimage (fait dans le menu [Orthorectification](#param%C3%A8tres-de-transformation))
|
|
|
- Échantillonner cette zone avec une résolution donnée afin de créer une grille, sachant que chacun des nœuds de cette grille sera le centre d’un pixel de l’image orthorectifiée.
|
|
|
- Pour chaque nœud de la grille, de coordonnées (X<sub>i</sub>,Y<sub>i</sub>), on calcule les coordonnées correspondantes dans l’image source (i<sub>i</sub>,j<sub>i</sub>) avec l’équation (2). Les coordonnées (i<sub>i</sub>,j<sub>i</sub>) ainsi calculées sont des réels et non des entiers.
|
|
|
- On affecte à chaque pixel de centre (X<sub>i</sub>,Y<sub>i</sub>) une intensité en niveau de gris correspondant au pixel (i<sub>i</sub>,j<sub>i</sub>) de l’image source. Puisque les coordonnées (i<sub>i</sub>,j<sub>i</sub>) sont des réels, on utilise une interpolation sur les pixels voisins pour définir l’intensité en niveau de gris, avec une convolution cubique :
|
|
|
|
|
|
`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`$
|
|
|
|
|
|
![](./media/image113.png)
|
|
|
|
|
|
## 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%C3%A8tres-du-calcul-des-d%C3%A9placements) dans **_Fudaa-LSPIV_**. Le coefficient de corrélation _R(a<sub>ij</sub>, b<sub>ij</sub>)_ est calculé ainsi :
|
|
|
|
|
|
`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%C3%A8tres-du-calcul-des-d%C3%A9placements), permettant d’économiser du temps de calcul. On suppose que le déplacement le plus probable de l'écoulement à partir du point _a<sub>ij</sub>_ pendant le temps _∆t_ est celui correspondant au maximum de corrélation, avec possibilité de définir une corrélation minimale requise.
|
|
|
|
|
|
![](./media/image114.png)
|
|
|
|
|
|
La précision du calcul étant au pixel prés, il est intéressant de réaliser une interpolation sub-pixel. Soit b<sub>i,j</sub> la position du maximum de corrélation. Dans **_Fudaa-LSPIV_**, un ajustement d’une loi Gaussienne unidimensionnelle est utilisé sur les axes i et j pour obtenir une précision de déplacement de l'ordre de 0,2 pixels sous la forme :
|
|
|
|
|
|
$\\mathrm{\\Delta}i = \\frac{\\ln\\left( b\_{i - 1,j} \\right) - ln(b\_{i + 1,j})}{2\\left\\lbrack \\ln{\\left( b\_{i - 1,j} \\right) - 2\\ln\\left( b\_{i,j} \\right) + \\ln{(b}_{i - 1,j})} \\right\\rbrack}$ et $\\mathrm{\\Delta}j = \\frac{\\ln\\left( b_{i,j - 1} \\right) - ln(b\_{i,j + 1})}{2\\left\\lbrack \\ln{\\left( b\_{i,j + 1} \\right) - 2\\ln\\left( b\_{i,j} \\right) + \\ln{(b}\_{i,j - 1})} \\right\\rbrack}$
|
|
|
|
|
|
La position sub-pixel du maximum de corrélation est don calculée comme _b<sub>i+∆i,j+∆j.</sub>_
|
|
|
|
|
|
Les vitesses de surface sont calculées à partir des déplacements _b<sub>i+∆i,j+∆j.</sub>-a<sub>i,j</sub>_ divisés par _∆t_. Le calcul est reproduit de manière itérative sur toute l'image pour chaque nœud de la [grille de calcul](#grille-de-calcul). On calcule ainsi un champ de vitesse 2D de surface, "instantané" (entre deux images successives).
|
|
|
|
|
|
## Présentation détaillée des filtres
|
|
|
|
|
|
**_Fudaa-LSPIV_** permet [d'appliquer des filtres](#filtrage-des-r%C3%A9sultats-instantan%C3%A9s) pour éliminer les vitesses aberrantes issues du calcul statistique. La gamme de filtre disponible a été étendue depuis la version 1.11, d'après les travaux de [Bodart et al., (2024)](https://doi.org/10.1029/2023WR034740).
|
|
|
|
|
|
Des filtres sur la valeur minimale du coefficient de corrélation, sur l'amplitude et l'orientation des vitesses sont implémentés dans le logiciel.
|
|
|
|
|
|
Enfin, **_Fudaa-LSPIV_** permet de [moyenner](#moyenne-des-r%C3%A9sultats) les champs de vitesses instantanées filtrées pour calculer un champ de vitesses moyennées sur la durée de la séquence d’images.
|
|
|
|
|
|
![](./media/image115.png)
|
|
|
|
|
|
## Principes du calcul de débit
|
|
|
|
|
|
Connaissant [le profil bathymétrique](#sp%C3%A9cifier-un-ou-plusieurs-transects-bathym%C3%A9triques) d'au moins une section en travers incluse dans la zone d'analyse, **_Fudaa-LSPIV_** peut calculer le débit transitant par cette section. Le transect bathymétrique peut être [interpolé à un pas défini par l'utilisateur](#param%C3%A8tres-des-transects), et une vitesse de surface est calculée pour chaque pas à partir des vitesses LSPIV les plus proches (pondération en fonction de l'éloignement). L'utilisateur définit également un coefficient reliant la vitesse de surface à la vitesse moyennée sur la profondeur pour chaque pas de calcul. Le débit est alors calculé par la méthode de la section médiane, l'interpolation des vitesses vers les bords se faisant selon l'hypothèse du nombre de Froude variant linéairement vers zéro au bord.
|
|
|
|
|
|
### Définition et interpolation du profil bathymétrique
|
|
|
|
|
|
Les points du fond doivent être ordonnés depuis la rive gauche jusqu’à la rive droite.
|
|
|
|
|
|
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).
|
|
|
|
|
|
![](./media/image116.png)
|
|
|
|
|
|
Comme on va calculer une vitesse associée à chaque point de bathymétrie connue, il est indispensable que le transect contienne un nombre important de point de bathymétrie dans la zone d’écoulement (au moins 20). Si le relevé de terrain initial est trop peu dense spatialement, il est possible d’interpoler des points. L’utilisateur définit un **_Pas d’espace d’interpolation de la bathymétrie_**, en mètre, dans les [**_Paramètres du transect_**](#param%C3%A8tres-des-transects). En partant de la rive gauche, un point de bathymétrie va être ajouté quand la distance entre deux mesures est supérieure au Pas d’espace d’interpolation. La profondeur associée à ce point ajouté est calculé comme une interpolation linéaire entre les points de mesures entourant le point ajouté.
|
|
|
|
|
|
![](./media/image117.png)
|
|
|
|
|
|
![](./media/image118.png)
|
|
|
|
|
|
### Estimation de la vitesse moyenne en chaque point du transect
|
|
|
|
|
|
Pour chaque transect, l’utilisateur définit un rayon de recherche. Dans ce voisinage autour de chaque nœud, les au maximum 3 résultats de vitesse les plus proches sont recherchés. Si au moins un résultat est trouvé, alors la vitesse moyenne sur la verticale $`V_{i}`$ au nœud _i_ est calculée comme la moyenne des vitesses voisines pondérée par l’inverse des distances, multipliée par le coefficient de surface α spécifié par l’utilisateur pour le transect considéré :
|
|
|
|
|
|
`V_{i} = \alpha\ \sum_{j = 1}^{N_{i}}{\ \frac{v_{i,j}}{d_{i,j}}}\ /\ \sum_{j = 1}^{N_{i}}{\ \frac{1}{d_{i,j}}}`
|
|
|
|
|
|
Avec $`N_{i}`$ le nombre de résultats de vitesse $`v_{i,j}`$ trouvés au voisinage du nœud $`i`$ du transect ($N\_{i} \\leq 3)\\ $; la distance $`d_{i,j}`$ est celle entre la position $`(x_{j},y_{j})`$ du nœud de grille du résultat de vitesse $`v_{i,j}`$ et la position $`(x_{i},y_{i})`$ du nœud _i_ avec une distance de sécurité fixée à 1 mm :
|
|
|
|
|
|
`d_{i,j} = max\lbrack 0.001;\left( x_{j} - x_{i} \right)^{2} + \left( y_{j} - y_{i} \right)^{2}\rbrack`
|
|
|
|
|
|
Lorsqu’aucun résultat de vitesse LSPIV n’est trouvé dans le voisinage d’un nœud du transect, la vitesse moyenne normale au transect est reconstituée par interpolation linéaire des nombres de Froude locaux, entre les deux nœuds les plus proches, à droite et à gauche, dotées d’une vitesse interpolée. En effet, afin de valoriser au mieux la mesure de profondeur réalisée sur la verticale bathymétrique, il est intéressant d’utiliser une hypothèse hydraulique d’évolution linéaire du nombre de Froude local, au lieu de simplement corriger les surfaces des sous-sections mouillées, ou encore d’interpoler linéairement les vitesses. L’interpolation linéaire des nombres de Froude locaux est proposée par plusieurs références : <span dir="">Boiten (2000), Despax (2016), Fulford et Sauer (1986), ISO/TR 9823 (1990), Le Coz et al. (2008, 2012, 2014).</span>
|
|
|
|
|
|
Soit une verticale bathymétrique positionnée à l’abscisse x<sub>i</sub>, dont les verticales complètes (avec profondeur et vitesses) les plus proches de chaque côté sont positionnées en x<sub>i-1</sub> et x<sub>i+1</sub> (Figure 1).
|
|
|
|
|
|
En i-1, la verticale complète permet d’avoir la profondeur _h_<sub>i-1</sub> ainsi que la vitesse moyenne sur la profondeur _V_<sub>i-1</sub>. On calcule le nombre de Froude local :
|
|
|
|
|
|
${Fr}_{i - 1} = \\frac{V_{i - 1}}{\\sqrt{{g.h}\_{i - 1}}}$,
|
|
|
|
|
|
avec _g_ l'accélération de la pesanteur à la surface de la Terre (9,81 m·s<sup>-2</sup>).
|
|
|
|
|
|
En i+1, le nombre de Froude local vaut :
|
|
|
|
|
|
${Fr}_{i + 1} = \\frac{V_{i + 1}}{\\sqrt{{g.h}\_{i + 1}}}$
|
|
|
|
|
|
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}}$
|
|
|
|
|
|
![](./media/image119.png)
|
|
|
|
|
|
**Figure 1 : Calcul de la vitesse moyenne associée à une verticale bathymétrique par interpolation du nombre de Froude local _Fr<sub>i</sub>_**
|
|
|
|
|
|
<span dir="">Dans le cas d’une verticale bathymétrique située entre la rive et les autres verticales, il convient de faire une hypothèse sur la vitesse en rive : elle est théoriquement nulle, mais une extrapolation constante ou vers une vitesse fictive en rive calculée avec un coefficient de rive (cas du logiciel Barème) peut être plus réaliste qu’une extrapolation linéaire vers zéro, en pratique.</span>
|
|
|
|
|
|
Le calcul du débit peut finalement se faire normalement sur l’ensemble des verticales, désormais toutes munies d’une vitesse moyenne estimée.
|
|
|
|
|
|
### Calcul du débit à travers chaque transect
|
|
|
|
|
|
<span dir="">Vitesse médiane, vitesse normale au transect</span>
|
|
|
|
|
|
<span dir="">Débits de bords ?</span>
|
|
|
|
|
|
<span dir="">Taux débit mesuré / extrapolé</span>
|
|
|
|
|
|
# Références bibliographiques
|
|
|
|
|
|
Creutin, J.-D., Muste, M., Bradley, A.A., Kim, S.C., Kruger, A. (2003) River gauging using PIV techniques: a proof of concept experiment on the Iowa River, Journal of Hydrology 277: 182–194
|
... | ... | |