|
|
|
# Table des matières
|
|
|
|
|
|
|
|
#
|
|
|
|
|
|
|
|
# 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_**.
|
|
|
|
|
|
|
|
![image37](uploads/8354b3092f28bb06888a2cdf5f55a491/image37.png)
|
|
|
|
|
|
|
|
Ces deux modes de transformation des images permettent de mettre en œuvre une orthorectification 2D ou 3D, ou une simple mise à l’échelle des pixels de l’image. Ces trois types de transformation et leurs pré-requis sont résumés sur le graphique suivant et décrit dans les sections suivantes.
|
|
|
|
|
|
|
|
![image38](uploads/c4aaead02831b7c313a6f2f112bcb42e/image38.png)
|
|
|
|
|
|
|
|
# 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 :
|
|
|
|
|
|
|
|
![image39](uploads/18e5d97ef6714a0ea9c2e0117789dca1/image39.png)
|
|
|
|
|
|
|
|
### 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.
|
|
|
|
|
|
|
|
![image40](uploads/ab6678a534ddfe5edb1a0844d6d10b96/image40.png)
|
|
|
|
|
|
|
|
- Saisie de couples de points définissant des segments de taille connue, supposés d’altitude équivalente à celle du plan d’eau (voir plus loin pour le cas général) :
|
|
|
|
- Cliquer sur les positions des extrémités du premier segment dans l’image. Les coordonnées image (I1,J1) et (I2,J2) des deux points apparaissent alors dans le tableau
|
|
|
|
- Indiquer en face la longueur du segment (distance entre les deux points) en mètres. La résolution correspondante est calculée.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
![image41](uploads/0d785cba6d3eb4799951cd99a20c07cd/image41.png)
|
|
|
|
|
|
|
|
- Alternativement, les coordonnées réelles des extrémités des segments peuvent être renseignées, à la place des longueurs des segments.
|
|
|
|
- Sélectionner **_Coordonnées_** au lieu de **_Distance_** dans le menu déroulant.
|
|
|
|
|
|
|
|
![image42](uploads/a57b8731c6b8aef58c63fd5bcbe28c89/image42.png)
|
|
|
|
|
|
|
|
- Quand les segments de taille connue ne sont pas situés à une altitude équivalente à celle du plan d’eau, il est possible de corriger l’effet de perspective :
|
|
|
|
- Cocher la case **_Images prises par drone_**
|
|
|
|
- Saisir dans la case **_Altitude du drone (m)_** l’altitude de vol du drone dans le même repère altimétrique que le niveau d’eau.
|
|
|
|
- Il faut alors saisir l’altitude de chaque segment pour permettre le calcul de la résolution correspondante.
|
|
|
|
|
|
|
|
> **_Attention !_** _Les altitudes sont des altitudes absolues (et pas des hauteurs au-dessus du plan d’eau) et le calcul de résolution dépend du niveau d’eau (supposé égal à 0 par défaut)._
|
|
|
|
|
|
|
|
![image43](uploads/a46ae5db920e7948d07692191d7c702d/image43.png)
|
|
|
|
|
|
|
|
## Changement de repère réel
|
|
|
|
|
|
|
|
L’onglet **_Transformation_** permet de définir les paramètres de translation/rotation à appliquer éventuellement au repère réel des orthoimages. Cela est en particulier utile si le champ de vitesse devra être comparé à d’autres données, ou encore si un transect bathymétrique mesuré dans ce repère particulier est utilisé ensuite pour le calcul du débit.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
![image44](uploads/ddf766aff1c1a5f12e8fe8019c0e8492/image44.png)
|
|
|
|
|
|
|
|
Sinon, en cochant **_Saisie des 2 points pour la translation / rotation_**, il est possible de définir le changement de repère à appliquer en saisissant les coordonnées réelles (X1,Y1) et (X2,Y2) de deux points préalablement positionnés (en cliquant) dans l’image : leurs coordonnées images (I1,J1) et (I2,J2) s’affichent alors dans le tableau. Le bouton **_Appliquer_** permet de visualiser la transformation de la première image de la séquence.
|
|
|
|
|
|
|
|
![image45](uploads/9496e00179a5c0ca0ca89c4978bca622/image45.png)
|
|
|
|
|
|
|
|
## Définition des coins de l’orthoimage et niveau d’eau
|
|
|
|
|
|
|
|
L’onglet **_Autres_** permet de définir les coordonnées des coins de l’orthoimage : il s’agit simplement d’une sous-sélection de l’image de départ.
|
|
|
|
Les **_Valeurs par défaut_** proposées sont les positions des coins bas-gauche et haut-droit de l’image totale, calculées en multipliant les dimensions de l’image (en pixels) par la résolution (en m/pix) calculée précédemment. Cela revient donc à conserver la totalité des images de départ pour la transformation.
|
|
|
|
|
|
|
|
On peut également saisir dans cet onglet **_Autres_** le niveau d’eau (en m) qui ne sera pas utilisé pour la transformation des images (sauf si l’option **_Images prises par drone_** a été sélectionnée) ni pour le calcul des vitesses mais pour le calcul de débit (calcul de l’aire mouillée).
|
|
|
|
|
|
|
|
![image46](uploads/c6ee056df6239e42072c8452e6ead375/image46.png)
|
|
|
|
|
|
|
|
Le bouton **_Appliquer_** permet la transformation de la première image avec les paramètres renseignés, afin de se faire une idée du résultat. Le bouton **_Valider_** enregistre les paramètres de mise à l’échelle, affiche la première image transformée et permet de passer à l’étape suivante (Transformation de toutes les images).
|
|
|
|
|
|
|
|
# Orthorectification complète
|
|
|
|
|
|
|
|
## Principe de l’orthorectification
|
|
|
|
|
|
|
|
L’orthorectification consiste à créer une image corrigée des effets de perspective et mise à l’échelle du monde réel, pour un plan donné. Tous les détails sur [la page des principes de l’orthorectification](#approfondissements).
|
|
|
|
|
|
|
|
## Positionnement des points de référence
|
|
|
|
|
|
|
|
Trois méthodes sont possibles pour positionner des points de référence :
|
|
|
|
|
|
|
|
![image47](uploads/d43d411ad2f6d4d174bdae70e3c14b44/image47.png)
|
|
|
|
|
|
|
|
- Le menu **_Orthorectification 🡪 Orthorectification 🡪 Points de référence 🡪 Nouveaux_** amène sur l'interface graphique pour le positionnement des points de référence.
|
|
|
|
- Renseigner les coordonnées terrain (**_X réel_**; **_Y réel_** et **_Z réel_**) du premier point
|
|
|
|
- Cliquer sur le pixel de l'image localisant le GRP, les coordonnées image **_I_** et **_J_** sont alors renseignées.
|
|
|
|
> Il est possible de zoomer pour mieux voir un point. Il est possible de supprimer ou ré-ordonner des points de référence, et de modifier et de copier-coller les coordonnées des points de référence dans le tableau de saisie.
|
|
|
|
|
|
|
|
Répéter l'opération pour tous les points de référence (au moins 4 pour une orthorectification 2D (idéal : 15-25 points) ; au moins 6 pour une orthorectification 3D (idéal : 20-35 points), voir les [principes de l’orthorectification](#approfondissements) pour plus de détails).
|
|
|
|
|
|
|
|
Le bouton **_Fin de saisie_** clôture l'opération et crée un fichier dans l’architecture du projet **_outputs.dir\\GRP.dat_**.
|
|
|
|
|
|
|
|
![image48](uploads/92997e6efe5b40f20fa719fe181c0a81/image48.png)
|
|
|
|
|
|
|
|
- Le menu **_Orthorectification 🡪 Orthorectification 🡪 Points de référence 🡪 Importer_** permet de charger un fichier **_GRP.dat_**. Ce fichier doit être un fichier texte, avec le format suivant :
|
|
|
|
- La première ligne contient uniquement le texte GRP
|
|
|
|
- La deuxième ligne est un entier stipulant le nombre de points de référence utilisés
|
|
|
|
- La troisième ligne contient les intitulés des données : X Y Z i j ; soit X,Y,Z les coordonnées terrain des points et i,j les coordonnées des points sur l'image.
|
|
|
|
> ***Attention !*** i,j ne sont pas les indices image mais bien les coordonnées cartésiennes sur l'image. C'est à dire que i correspond à l'abscisse et j l'ordonnée sur l'image avec le point (0,0) en bas à gauche.
|
|
|
|
- Les lignes suivantes sont les données.
|
|
|
|
|
|
|
|
![image49](uploads/cdfb0776f52b50fd0c4675bc9573aaa6/image49.png)
|
|
|
|
|
|
|
|
Il est important de noter que les points de référence doivent être renseignés en unité métrique (cela définit les unités pour la suite du traitement).
|
|
|
|
|
|
|
|
- Le menu **_Orthorectification_** 🡪 **_Orthorectification_** 🡪 **_Points de référence_** 🡪 **_Mode 4 points…_** propose une spécification simplifiée de l'orthorectification 2D :
|
|
|
|
- Pointer 4 points de référence dans l'image dans le sens inverse des aiguilles d'une montre (cliquer sur le bouton **_Saisie interactive…_**)
|
|
|
|
- Saisie les 5 distances (en mètres) entre ces points.
|
|
|
|
Les coordonnées réelles correspondantes (X et Y) sont automatiquement calculées dans un système de référence arbitraire. Le niveau de l'eau est supposé être égal à zéro.
|
|
|
|
|
|
|
|
![image50](uploads/0a18d569cab9ea0986632abdb18a60bd/image50.png)
|
|
|
|
|
|
|
|
## Vérification des GRP
|
|
|
|
|
|
|
|
Le menu **_Orthorectification 🡪 Orthorectification 🡪 Vérification des points de référence_** permet de s'assurer de la qualité de la correspondance des coordonnées terrain et image des GRP. La matrice d'orthorectification (voir [Principes de l’orthorectification](#approfondissements)) est calculée, et on calcul la position terrain (X ; Y et Z) des points de repère à partir de leurs coordonnées image (I et J).
|
|
|
|
On compare alors les coordonnées terrain vraies et les coordonnées terrain calculées. La distance entre ces coordonnées vraies et calculées, appelée **_Écarts_** est présentée dans un tableau et sous forme graphique.
|
|
|
|
|
|
|
|
![image51](uploads/53e406f79b41496b15bd433cfcaf2cfb/image51.png)
|
|
|
|
|
|
|
|
> Il est important de vérifier les GRP pour éviter les erreurs de saisie. Les écarts de positions ne doivent pas dépasser 1% de la zone étudiée (10-20 cm pour une rivière d'environ 20 m).
|
|
|
|
>
|
|
|
|
> Il est possible que seuls certains points présentent des écarts important. Cela peut être dû à un mauvais pointage sur l'image. Vérifier que les coordonnées images sont correctes, sinon les ajuster. Dans certains cas la suppression du point permet d'obtenir de meilleurs résultats.
|
|
|
|
|
|
|
|
### Paramètres de transformation
|
|
|
|
|
|
|
|
Deux méthodes sont possibles pour renseigner les paramètres de transformation :
|
|
|
|
|
|
|
|
![image52](uploads/a0e50824b173a25ff7626c137b342b26/image52.png)
|
|
|
|
|
|
|
|
Le menu **_Orthorectification 🡪 Orthorectification 🡪 Paramètres de transformation 🡪 Définir_** ouvre la fenêtre de gestion des **_Paramètres de transformation_**.
|
|
|
|
- On définit la zone d'étude par un rectangle dont la position des coins dans le repère réel (**_Xmin, Xmax, Ymin, Ymax_**) est renseignée. Ce cadre permet de réduire l’orthorectification à la zone d’intérêt et ainsi limiter les temps de calcul.
|
|
|
|
- La **_Résolution_**, en mètre par pixel, correspond à la taille d'un pixel dans l'image orthorectifiée. La résolution doit être ajustée pour que les détails des traceurs restent visibles dans l’orthoimage, sans générer des orthoimages de tailles trop importantes (l’orthoimage doit avoir à peu près les mêmes dimensions que l’image brute). Le bouton ![image53](uploads/67c708dadea4320b35173c0f5155cc72/image53.png) permet de renseigner façon automatique les champs **_Xmin, Xmax, Ymin, Ymax et Résolution._**
|
|
|
|
- Enfin le **_Niveau d'eau_**, dans le repère réel, doit être renseigné. L’orthoimage sera valide uniquement pour cette hauteur (voir [les principes de création des orthoimages](#cr%C3%A9ation-des-orthoimages)).
|
|
|
|
|
|
|
|
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_**.
|
|
|
|
|
|
|
|
![image54](uploads/8fbf30d89cf8dc84ee5e03b724e047d5/image54.png)
|
|
|
|
|
|
|
|
- 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 :
|
|
|
|
|
|
|
|
![image55](uploads/68ba01b3a000298f89d6ecb92f0ab0a2/image55.png)
|
|
|
|
|
|
|
|
# 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_**.
|
|
|
|
|
|
|
|
![image56](uploads/2fae64e4a31306a657ab5660b45bb6c3/image56.png)
|
|
|
|
|
|
|
|
# Sous-échantillonnage des images transformées
|
|
|
|
|
|
|
|
Le menu **_Orthorectification 🡪 Sous échantillonnage des images transformées_** permet de sous-échantillonner les images orthorectifiées créées.
|
|
|
|
Ce sous échantillonnage ne supprime pas les images intermédiaires calculées. En cas de changement de sous echatillonnage, il n'est donc pas nécessaire de relancer les étapes d'échantillonnage de la vidéo, stabilisation et calcul d'orthorectification.
|
|
|
|
|
|
|
|
![image57](uploads/efc0f74a1f1a7c3fbec472ef27dfb506/image57.png)
|
|
|
|
|
|
|
|
> Cette option est particulièrement utile pour identifier l’échantillonnage optimal de la vidéo, sans avoir à relancer les étapes précédentes.
|
|
|
|
>
|
|
|
|
> Pour rappel, l’échantillonnage de la vidéo doit garantir des **déplacements en pixels suffisamment élevé** pour limiter le poids de l’erreur de résolution sur la mesure de déplacement. Des déplacements **supérieurs à 3 pixels sont conseillés (idéalement, environ 10 pix)**. |