... | ... | @@ -77,8 +77,11 @@ Parmi les images ainsi importées, certaines pourront être utilisées uniquemen |
|
|
|
|
|
# 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_**.
|
|
|
<details><summary>Click to expand</summary>
|
|
|
La stabilisation vise à réaligner toutes les images de la rafale sur la première, ce qui permet 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_**.
|
|
|
|
|
|
<details><summary><b>:mag_right: Approfondissements :mag_right: </b></summary>
|
|
|
<br>
|
|
|
|
|
|
# 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 :
|
... | ... | @@ -98,8 +101,59 @@ Avec $I$ l’intensité en niveau de gris au point de coordonnées (x,y). Les po |
|
|
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.
|
|
|
|
|
|
![image110](uploads/dd51334bb23e1434f871ac6092a0dbd0/image110.jpeg){width="700px"}
|
|
|
|
|
|
## 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.
|
|
|
|
|
|
![image111](uploads/57ee640201deb1d36e2b63f424cc63b1/image111.png){width="400px"}
|
|
|
|
|
|
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$.
|
|
|
|
|
|
```math
|
|
|
X=H \cdot X^{\prime}=\left(\begin{array}{lll}
|
|
|
h_1 & h_2 & h_3 \\
|
|
|
h_4 & h_5 & h_6 \\
|
|
|
h_7 & h_8 & h_9
|
|
|
\end{array}\right) \cdot\left(\begin{array}{c}
|
|
|
x^{\prime} \\
|
|
|
y^{\prime} \\
|
|
|
1
|
|
|
\end{array}\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 :
|
|
|
|
|
|
```math
|
|
|
H_{\text {similarité }}=\left(\begin{array}{ccc}
|
|
|
s r_{11} & s r_{12} & t_x \\
|
|
|
s r_{21} & s r_{22} & t_y \\
|
|
|
0 & 0 & 1
|
|
|
\end{array}\right) \quad H_{\text {projectif }}=\left(\begin{array}{lll}
|
|
|
h_{11} & h_{12} & h_{13} \\
|
|
|
h_{21} & h_{22} & h_{23} \\
|
|
|
h_{31} & h_{32} & h_{33}
|
|
|
\end{array}\right)
|
|
|
```
|
|
|
![image112](uploads/ce4c895f4c311b0ec2630329b9c2039f/image112.png){width="700px"}
|
|
|
|
|
|
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.
|
|
|
</details>
|
|
|
|
|
|
Le menu **_Images 🡪 Paramètres de stabilisation des images_** donne accès au module de stabilisation.
|
|
|
|
|
|
![image26](uploads/45531697cf9d07aceb00fb30227b348a/image26.png)
|
|
|
|
|
|
Dans ce panneau, la case à cocher **_Activer le module de stabilisation_** active ou désactive la stabilisation des images sources.
|
... | ... | |