... | ... | @@ -97,7 +97,123 @@ Le bouton **_Appliquer_** permet la transformation de la première image avec le |
|
|
|
|
|
## Principe de l’orthorectification
|
|
|
|
|
|
L’orthorectification consiste à créer une image corrigée des effets de perspective et mise à l’échelle du monde réel, pour un plan donné. Tous les détails sur [la page des principes de l’orthorectification](#approfondissements).
|
|
|
L’orthorectification consiste à créer une image corrigée des effets de perspective et mise à l’échelle du monde réel, pour un plan donné.
|
|
|
|
|
|
<details><summary>Click to expand</summary>
|
|
|
# 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 :
|
|
|
|
|
|
```math
|
|
|
i=\frac{a_1 \cdot X+a_2 \cdot Y+a_3 \cdot Z+a_4}{a_9 \cdot X+a_{10} \cdot Y+a_{11} \cdot Z+1} \quad j=\frac{a_5 \cdot X+a_6 \cdot Y+a_7 \cdot Z+a_8}{a_9 \cdot X+a_{10} \cdot Y+a_{11} \cdot Z+1}
|
|
|
|
|
|
```
|
|
|
Les coefficients $a_i$ 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 :
|
|
|
|
|
|
```math
|
|
|
\begin{aligned}
|
|
|
& {\left[\begin{array}{lllllllllll}
|
|
|
X & Y & Z & 1 & 0 & 0 & 0 & 0 & -i X & -i Y & -i Z \\
|
|
|
0 & 0 & 0 & 0 & X & Y & Z & 1 & -j X & -j Y & -j Z
|
|
|
\end{array}\right]}\cdot\left[\begin{array}{l}
|
|
|
a_1 \\ a_2 \\ a_3 \\ a_4 \\ a_5 \\ a_6 \\ a_7 \\ a_8 \\ a_9 \\ a_{10} \\ a_{11}
|
|
|
\end{array}\right]=\left[\begin{array}{l}
|
|
|
i \\
|
|
|
j
|
|
|
\end{array}\right] \\
|
|
|
&
|
|
|
\end{aligned}
|
|
|
```
|
|
|
|
|
|
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_i$), 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 20 à 40 points de référence. Pour un nombre N >= 6 de points de référence, on définit les matrices suivantes :
|
|
|
|
|
|
```math
|
|
|
\begin{aligned}
|
|
|
& T=[2 N \times 11]=\left[\begin{array}{ccccccccccc}
|
|
|
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{array}\right] \\
|
|
|
& A=[11 \times 1]=\left[\begin{array}{lllllllllll}
|
|
|
a_1 & a_2 & a_3 & a_4 & a_5 & a_6 & a_7 & a_8 & a_9 & a_{10} & a_{11}
|
|
|
\end{array}\right]^T \\
|
|
|
& Z=[2 N \times 1]=\left[\begin{array}{llllllll}
|
|
|
i_1 & i_2 & \ldots & i_N & j_1 & j_2 & \ldots & j_N
|
|
|
\end{array}\right]^T \\
|
|
|
&
|
|
|
\end{aligned}
|
|
|
```
|
|
|
|
|
|
Et le modèle sténopé s’écrit :
|
|
|
|
|
|
```math
|
|
|
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 à
|
|
|
|
|
|
```math
|
|
|
\frac{\partial\|T A-Z\|^2}{\partial A}=0 \rightarrow 2 T^T(T A-Z)=0 \rightarrow T^T T A-T^T Z=0
|
|
|
```
|
|
|
|
|
|
On a donc la solution suivante pour la matrice $A$:
|
|
|
|
|
|
```math
|
|
|
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 :
|
|
|
|
|
|
```math
|
|
|
i=\frac{a_1 \cdot X+a_2 \cdot Y+a_4}{a_9 \cdot X+a_{10} \cdot Y+1} \quad j=\frac{a_5 \cdot X+a_6 \cdot Y+a_8}{a_9 \cdot X+a_{10} \cdot Y+1}
|
|
|
```
|
|
|
|
|
|
On a donc une solution à 8 coefficients $a_i$, 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_3$ 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, à :
|
|
|
|
|
|
```math
|
|
|
i=\frac{a_1 \cdot X+a_2 \cdot Y+a_3 \cdot h+a_4}{a_9 \cdot X+a_{10} \cdot Y+a_{11} \cdot h+1} \quad j=\frac{a_5 \cdot X+a_6 \cdot Y+a_7 \cdot h+a_8}{a_9 \cdot X+a_{10} \cdot Y+a_{11} \cdot h+1}
|
|
|
```
|
|
|
|
|
|
Les coefficients $a_$ 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](Manuel-utilisateur/Orthorectification des images#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_i,Y_i)$, on calcule les coordonnées correspondantes dans l’image source $(i_i,j_i)$ avec l’équation (2). Les coordonnées $(i_i,j_i)$ ainsi calculées sont des réels et non des entiers.
|
|
|
- On affecte à chaque pixel de centre $(X_i,Y_i)$ une intensité en niveau de gris correspondant au pixel $(i_i,j_i)$ de l’image source. Puisque les coordonnées $(i_i,j_i)$ 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 :
|
|
|
|
|
|
```math
|
|
|
f\left(i_i, j_i\right)=\sum_{k=-3}^3 \sum_{l=-3}^3\left[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]
|
|
|
```
|
|
|
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 :
|
|
|
|
|
|
```math
|
|
|
C= \left\{\begin{matrix} 1 - 2|s|^{2} + |s|^{3} & si\quad 0 \leq |s| \leq 1 \\ 4 - 8|s| + |s|^{2} - |s|^{3} & si \quad 1 \leq |s| \leq 2 \\ 0 & sinon \end{matrix}\right.
|
|
|
```
|
|
|
|
|
|
Où $`s = k\ ou\ l`$
|
|
|
|
|
|
![image113](uploads/4a299f88cf369bbfdbb10b2d8eaadab8/image113.png)
|
|
|
</details>
|
|
|
|
|
|
## Positionnement des points de référence
|
|
|
|
... | ... | |