Calculer le modèle de caméra (Reality Mapping)

Synthèse

Estime le modèle de caméra extérieur et le modèle de caméra intérieur à partir de l'en-tête EXIF de l'image brute et affine les modèles de caméra. Le modèle est ensuite appliqué à la mosaïque avec la possibilité d’utiliser un modèle de surface numérique (DSM) haute résolution généré par l’outil afin d’optimiser l’orthorectification.

Ceci est particulièrement utile pour les images UAV et UAS, dans lesquelles les modèles de caméra extérieurs et intérieurs sont grossiers ou non définis.

Utilisation

  • En règle générale, le workflow consiste à exécuter deux fois l’outil Calculer le modèle de caméra : une fois en cochant le paramètre Estimate Camera Model (Estimer le modèle de caméra) et en spécifiant une Output Control Point Table (Table de points de contrôle en sortie) et une seconde fois en cochant le paramètre Refine Camera Model (Affiner le modèle de caméra) et en utilisant la sortie de la première exécution comme valeur du paramètre Input Tie Point Table (Table du point de rattachement en entrée). L’objectif de ce workflow est d’estimer rapidement le modèle de caméra d’abord, puis de créer un modèle de caméra plus précis ensuite.

  • Lorsque le paramètre GPS Location Accuracy (Précision d’emplacement GPS) a pour valeur Very high GPS accuracy (Précision GPS très haute), les paramètres d’orientation de l’imagerie sont ajustés tandis que les mesures GPS restent fixes. En outre, les points de contrôle au sol (GCP) ne sont pas requis lorsque cette option est indiquée. Ils sont marqués comme des points de vérification dans l’ajustement.

Paramètres

ÉtiquetteExplicationType de données
Mosaïque en entrée

Jeu de données mosaïque sur lequel le modèle de caméra est créé et calculé.

Mosaic Dataset; Mosaic Layer
DSM en sortie
(Facultatif)

Jeu de données raster DSM généré à partir des images ajustées dans le jeu de données mosaïque. Si l’option Apply Adjustment (Appliquer l’ajustement) est sélectionnée, ce DSM est utilisé pour remplacer le MNT dans la fonction géométrique en vue d’optimiser l’orthorectification.

Raster Dataset
Précision d'emplacement GPS
(Facultatif)

Spécifie le niveau de précision des images en entrée. L'outil recherche des images dans le voisinage pour calculer les points d'appariement et applique automatiquement une stratégie d'ajustement en fonction du niveau de précision.

  • Haute précision GPSLa précision GPS est de 0 à 10 mètres et l’outil utilise au maximum des images de 4 sur 3.
  • Précision GPS moyenneLa précision GPS est de 10 à 20 mètres et l’outil utilise au maximum des images de 4 sur 6.
  • Précision GPS faibleLa précision GPS est de 20 à 50 mètres et l’outil utilise au maximum des images de 4 par 12.
  • Précision GPS très faibleLa précision GPS est supérieure à 50 mètres et l’outil utilise au maximum des images de 4 sur 20.
  • Précision GPS très hauteL’imagerie a été collectée avec un GPS différentiel haute précision, tels que RTK ou PPK. Cette option maintient les emplacements d’image fixes pendant l’ajustement de bloc.
String
Estimer le modèle de caméra
(Facultatif)

Spécifie si le modèle de caméra est estimé en calculant l’ajustement en fonction d’une valeur huit fois plus élevée que la résolution source du jeu de données mosaïque. Le calcul de l’ajustement à ce niveau est plus rapide, mais moins précis.

  • Activé : le modèle de caméra est estimé. Il s’agit de l’option par défaut.
  • Désactivé : le modèle de caméra n'est pas estimé.
Boolean
Affiner le modèle de caméra
(Facultatif)

Spécifie si le modèle de caméra est affiné en calculant l’ajustement en fonction de la résolution du jeu de données mosaïque. Le calcul de l’ajustement à ce niveau offre le résultat le plus précis.

  • Activé : le modèle de caméra est affiné en calculant l’ajustement à la résolution source. Il s’agit de l’option par défaut.
  • Désactivé : le modèle de caméra n’est pas affiné. Cette option est plus rapide. Elle est idéale lorsque le calcul n’a pas besoin d’être effectué à la résolution source.
Boolean
Appliquer l’ajustement
(Facultatif)

Spécifie si l’ajustement calculé est appliqué au jeu de données mosaïque en entrée.

  • Activé : l’ajustement calculé est appliqué au jeu de données mosaïque en entrée. Bien que non obligatoire, il est conseillé de spécifier cette option. Il s’agit de l’option par défaut.
  • Désactivé : l’ajustement calculé n’est pas appliqué au jeu de données mosaïque en entrée.
Boolean
Résiduel maximal
(Facultatif)

La valeur résiduelle maximale autorisée pour conserver un point de contrôle calculé comme point de contrôle valide. La valeur par défaut est 5.

Double
Résolution initiale du point de rattachement
(Facultatif)

Facteur de résolution auquel les points de rattachement sont générés lors de l’estimation du modèle de caméra. La valeur par défaut est de 8, ce qui signifie huit fois la résolution de pixel source.

Pour les images qui offrent une différenciation mineure des entités, telles que les champs agricoles, une valeur inférieure (2 par exemple) peut être utilisée.

Double
Table de points de contrôle en sortie
(Facultatif)

La classe d'entités de points de contrôle facultative.

Feature Class
Table de solutions en sortie
(Facultatif)

La table de solutions d'ajustement facultative. La table de solutions contient l’erreur quadratique moyenne de l’ajustement et la matrice de solutions.

Table
Table de points de solution en sortie
(Facultatif)

La classe d'entités de points de solution facultative. Les points de solution sont les points de contrôle finaux utilisés pour générer la solution d'ajustement.

Feature Class
Trajectoire de vol en sortie
(Facultatif)

La classe d'entités lignes de trajectoire de vol facultative.

Feature Class
Superposition de zones maximale
(Facultatif)

Pourcentage de superposition entre deux images requis pour les considérer comme des doublons.

Par exemple, si la valeur est de 0.9, cela signifie que si une image est recouverte à 90 pourcent par une autre image, elle est considérée comme un doublon et supprimée.

Double
Couverture de points de contrôle minimale
(Facultatif)

Pourcentage indiquant la couverture du point de contrôle sur une image. Si la couverture est inférieure au pourcentage minimal, l’image n’est pas résolue et supprimée. La valeur par défaut est 0.

Double
Supprimer les images hors bande
(Facultatif)

Spécifie si les images sont automatiquement supprimées si elles sont trop éloignées de la bande de vol.

  • Désactivé : les images ne sont pas supprimées. Il s’agit de l’option par défaut.
  • Activé : les images trop éloignées de la bande de vol sont supprimées.
Boolean
Table du point de rattachement en entrée
(Facultatif)

Table des points de rattachement utilisée pour calculer le modèle de caméra. Si aucune table de points de rattachement n’est indiquée, l’outil calcule les points de rattachement et estime le modèle de caméra.

Feature Class
Options supplémentaires
(Facultatif)

Options supplémentaires pour le moteur d'ajustement. Les spécifications de bon nombre des options sont fournies par le fournisseur de données.

Voici quelques-unes des options disponibles :

  • CalibrateF : la distance focale du capteur est calibrée pour utilisation dans l’ajustement de bloc. Attribuez la valeur 1 pour calibrer la distance focale, ou 0 pour ne pas la calibrer. La valeur par défaut est 1.
  • CalibratePP : le point principal dans l’ajustement de bloc est calibré. Attribuez la valeur 1 pour effectuer la calibration, ou 0 pour ne pas l’effectuer. La valeur par défaut est 1.
  • CalibrateP : les paramètres de distorsion radiale dans l’ajustement de bloc sont calibrés. Attribuez la valeur 1 pour effectuer la calibration, ou 0 pour ne pas l’effectuer. La valeur par défaut est 1.
  • CalibrateK : les paramètres de distorsion tangentielle dans l’ajustement de bloc sont calibrés. Attribuez la valeur 1 pour effectuer la calibration, ou 0 pour ne pas l’effectuer. La valeur par défaut est 1.
  • EstimateOPK : les angles Oméga, Phi et Kappa sont calibrés pour définir la rotation entre le système de coordonnées d’image et le système de coordonnées projetées. Attribuez la valeur 0 pour utiliser des angles d’orientation (roulis, tangage et lacet) provenant des métadonnées UAV comme initiales d’attitude dans l’ajustement de bloc. Utilisez la valeur 1 pour estimer les angles d’orientation et les utiliser comme initiales d’attitude dans l’ajustement de bloc. La valeur par défaut est 1.
    Remarque :

    Pour la plupart des caméras DJI et Skydio, la valeur 0 est recommandée.

  • APrioriAccuracyX : précision des coordonnées x fournies par les métadonnées. Les unités doivent correspondre à la valeur PerspectiveX. Cette option n’est pas recommandée pour la plupart des données UAV.
  • APrioriAccuracyY : précision des coordonnées y fournies par les métadonnées. Les unités doivent correspondre à la valeur PerspectiveY. Cette option n’est pas recommandée pour la plupart des données UAV.
  • APrioriAccuracyZ : précision des coordonnées z fournies par les métadonnées. Les unités doivent correspondre à la valeur PerspectiveZ. Cette option n’est pas recommandée pour la plupart des données UAV.
  • APrioriAccuracyXY : précision des coordonnées planaires fournies par les métadonnées. Les unités doivent correspondre à la valeur PerspectiveX. Cette option n’est pas recommandée pour la plupart des données UAV.
  • APrioriAccuracyXYZ : précision de l’emplacement d’image fourni par les métadonnées. Les unités doivent correspondre à la valeur PerspectiveX. Cette option n’est pas recommandée pour la plupart des données UAV.
  • APrioriAccuracyOmega : précision de l’angle Omega fourni par le système POS aéroporté. Les unités sont les degrés décimaux.
  • APrioriAccuracyPhi : précision de l’angle Phi fourni par le système POS aéroporté. Les unités sont les degrés décimaux.
  • APrioriAccuracyOmegaPhi : précision de l’angle Omega ou Phi fourni par le système POS aéroporté. Les unités sont les degrés décimaux.
  • APrioriAccuracyKappa :précision de l’angle Kappa fourni par le système POS aéroporté. Les unités sont les degrés décimaux.
  • ComputeImagePosteriorStd : écart type standard a posteriori de l’orientation et de l’emplacement d’image après calcul de l’ajustement. Attribuez la valeur 1 pour effectuer le calcul, ou 0 pour ne pas l’effectuer. La valeur par défaut est 1.
  • ComputeSolutionPointPosteriorStd : écart type standard a posteriori des points de solution après calcul de l’ajustement. Attribuez la valeur 1 pour effectuer le calcul, ou 0 pour ne pas l’effectuer. La valeur par défaut est 0.
  • rollingshutter : les données UAV sont traitées en mode obturateur déroulant. Attribuez la valeur 1 pour traiter les données UAV en utilisant le mode obturateur déroulant. La valeur par défaut est 0 (ne pas utiliser le mode obturateur déroulant).

Value Table

Sortie obtenue

ÉtiquetteExplicationType de données
Modèle de caméra en sortie

Modèle de caméra en sortie.

Mosaic Dataset; Mosaic Layer

arcpy.rm.ComputeCameraModel(in_mosaic_dataset, {out_dsm}, {gps_accuracy}, {estimate}, {refine}, {apply_adjustment}, {maximum_residual}, {initial_tiepoint_resolution}, {out_control_points}, {out_solution_table}, {out_solution_point_table}, {out_flight_path}, {maximum_overlap}, {minimum_coverage}, {remove}, {in_control_points}, {options})
NomExplicationType de données
in_mosaic_dataset

Jeu de données mosaïque sur lequel le modèle de caméra est créé et calculé.

Mosaic Dataset; Mosaic Layer
out_dsm
(Facultatif)

Jeu de données raster DSM généré à partir des images ajustées dans le jeu de données mosaïque. Si l’option apply_adjustment est définie sur APPLY, ce DSM est utilisé pour remplacer le MNT dans la fonction géométrique en vue d’optimiser l’orthorectification.

Raster Dataset
gps_accuracy
(Facultatif)

Spécifie le niveau de précision des images en entrée. L'outil recherche des images dans le voisinage pour calculer les points d'appariement et applique automatiquement une stratégie d'ajustement en fonction du niveau de précision.

  • HIGHLa précision GPS est de 0 à 10 mètres et l’outil utilise au maximum des images de 4 sur 3.
  • MEDIUMLa précision GPS est de 10 à 20 mètres et l’outil utilise au maximum des images de 4 sur 6.
  • LOWLa précision GPS est de 20 à 50 mètres et l’outil utilise au maximum des images de 4 par 12.
  • VERY_LOWLa précision GPS est supérieure à 50 mètres et l’outil utilise au maximum des images de 4 sur 20.
  • VERY_HIGHL’imagerie a été collectée avec un GPS différentiel haute précision, tels que RTK ou PPK. Cette option maintient les emplacements d’image fixes pendant l’ajustement de bloc.
String
estimate
(Facultatif)

Spécifie si le modèle de caméra est estimé en calculant l’ajustement en fonction d’une valeur huit fois plus élevée que la résolution source du jeu de données mosaïque. Le calcul de l’ajustement à ce niveau est plus rapide, mais moins précis.

  • ESTIMATELe modèle de caméra est estimé. Il s’agit de l’option par défaut.
  • NO_ESTIMATELe modèle de caméra n'est pas estimé.
Boolean
refine
(Facultatif)

Spécifie si le modèle de caméra est affiné en calculant l’ajustement en fonction de la résolution du jeu de données mosaïque. Le calcul de l’ajustement à ce niveau offre le résultat le plus précis.

  • REFINELe modèle de caméra est affiné en calculant l’ajustement à la résolution source. Il s’agit de l’option par défaut.
  • NO_REFINELe modèle de caméra n’est pas affiné. Cette option est plus rapide. Elle est idéale lorsque le calcul n’a pas besoin d’être effectué à la résolution source.
Boolean
apply_adjustment
(Facultatif)

Spécifie si l’ajustement calculé est appliqué au jeu de données mosaïque en entrée.

  • APPLYL’ajustement calculé est appliqué au jeu de données mosaïque en entrée. Bien que non obligatoire, il est conseillé de spécifier cette option. Il s’agit de l’option par défaut.
  • NO_APPLYL’ajustement calculé n’est pas appliqué au jeu de données mosaïque en entrée.
Boolean
maximum_residual
(Facultatif)

La valeur résiduelle maximale autorisée pour conserver un point de contrôle calculé comme point de contrôle valide. La valeur par défaut est 5.

Double
initial_tiepoint_resolution
(Facultatif)

Facteur de résolution auquel les points de rattachement sont générés lors de l’estimation du modèle de caméra. La valeur par défaut est de 8, ce qui signifie huit fois la résolution de pixel source.

Pour les images qui offrent une différenciation mineure des entités, telles que les champs agricoles, une valeur inférieure (2 par exemple) peut être utilisée.

Double
out_control_points
(Facultatif)

La classe d'entités de points de contrôle facultative.

Feature Class
out_solution_table
(Facultatif)

La table de solutions d'ajustement facultative. La table de solutions contient l’erreur quadratique moyenne de l’ajustement et la matrice de solutions.

Table
out_solution_point_table
(Facultatif)

La classe d'entités de points de solution facultative. Les points de solution sont les points de contrôle finaux utilisés pour générer la solution d'ajustement.

Feature Class
out_flight_path
(Facultatif)

La classe d'entités lignes de trajectoire de vol facultative.

Feature Class
maximum_overlap
(Facultatif)

Pourcentage de superposition entre deux images requis pour les considérer comme des doublons.

Par exemple, si la valeur est de 0.9, cela signifie que si une image est recouverte à 90 pourcent par une autre image, elle est considérée comme un doublon et supprimée.

Double
minimum_coverage
(Facultatif)

Pourcentage indiquant la couverture du point de contrôle sur une image. Si la couverture est inférieure au pourcentage minimal, l’image n’est pas résolue et supprimée. La valeur par défaut est 0.

Double
remove
(Facultatif)

Spécifie si les images sont automatiquement supprimées si elles sont trop éloignées de la bande de vol.

  • NO_REMOVELes images ne sont pas supprimées. Il s’agit de l’option par défaut.
  • REMOVELes images trop éloignées de la bande de vol sont supprimées.
Boolean
in_control_points
(Facultatif)

Table des points de rattachement utilisée pour calculer le modèle de caméra. Si aucune table de points de rattachement n’est indiquée, l’outil calcule les points de rattachement et estime le modèle de caméra.

Feature Class
options
[options,...]
(Facultatif)

Options supplémentaires pour le moteur d'ajustement. Les spécifications de bon nombre des options sont fournies par le fournisseur de données.

Voici quelques-unes des options disponibles :

  • CalibrateF : la distance focale du capteur est calibrée pour utilisation dans l’ajustement de bloc. Attribuez la valeur 1 pour calibrer la distance focale, ou 0 pour ne pas la calibrer. La valeur par défaut est 1.
  • CalibratePP : le point principal dans l’ajustement de bloc est calibré. Attribuez la valeur 1 pour effectuer la calibration, ou 0 pour ne pas l’effectuer. La valeur par défaut est 1.
  • CalibrateP : les paramètres de distorsion radiale dans l’ajustement de bloc sont calibrés. Attribuez la valeur 1 pour effectuer la calibration, ou 0 pour ne pas l’effectuer. La valeur par défaut est 1.
  • CalibrateK : les paramètres de distorsion tangentielle dans l’ajustement de bloc sont calibrés. Attribuez la valeur 1 pour effectuer la calibration, ou 0 pour ne pas l’effectuer. La valeur par défaut est 1.
  • EstimateOPK : les angles Oméga, Phi et Kappa sont calibrés pour définir la rotation entre le système de coordonnées d’image et le système de coordonnées projetées. Attribuez la valeur 0 pour utiliser des angles d’orientation (roulis, tangage et lacet) provenant des métadonnées UAV comme initiales d’attitude dans l’ajustement de bloc. Utilisez la valeur 1 pour estimer les angles d’orientation et les utiliser comme initiales d’attitude dans l’ajustement de bloc. La valeur par défaut est 1.
    Remarque :

    Pour la plupart des caméras DJI et Skydio, la valeur 0 est recommandée.

  • APrioriAccuracyX : précision des coordonnées x fournies par les métadonnées. Les unités doivent correspondre à la valeur PerspectiveX. Cette option n’est pas recommandée pour la plupart des données UAV.
  • APrioriAccuracyY : précision des coordonnées y fournies par les métadonnées. Les unités doivent correspondre à la valeur PerspectiveY. Cette option n’est pas recommandée pour la plupart des données UAV.
  • APrioriAccuracyZ : précision des coordonnées z fournies par les métadonnées. Les unités doivent correspondre à la valeur PerspectiveZ. Cette option n’est pas recommandée pour la plupart des données UAV.
  • APrioriAccuracyXY : précision des coordonnées planaires fournies par les métadonnées. Les unités doivent correspondre à la valeur PerspectiveX. Cette option n’est pas recommandée pour la plupart des données UAV.
  • APrioriAccuracyXYZ : précision de l’emplacement d’image fourni par les métadonnées. Les unités doivent correspondre à la valeur PerspectiveX. Cette option n’est pas recommandée pour la plupart des données UAV.
  • APrioriAccuracyOmega : précision de l’angle Omega fourni par le système POS aéroporté. Les unités sont les degrés décimaux.
  • APrioriAccuracyPhi : précision de l’angle Phi fourni par le système POS aéroporté. Les unités sont les degrés décimaux.
  • APrioriAccuracyOmegaPhi : précision de l’angle Omega ou Phi fourni par le système POS aéroporté. Les unités sont les degrés décimaux.
  • APrioriAccuracyKappa :précision de l’angle Kappa fourni par le système POS aéroporté. Les unités sont les degrés décimaux.
  • ComputeImagePosteriorStd : écart type standard a posteriori de l’orientation et de l’emplacement d’image après calcul de l’ajustement. Attribuez la valeur 1 pour effectuer le calcul, ou 0 pour ne pas l’effectuer. La valeur par défaut est 1.
  • ComputeSolutionPointPosteriorStd : écart type standard a posteriori des points de solution après calcul de l’ajustement. Attribuez la valeur 1 pour effectuer le calcul, ou 0 pour ne pas l’effectuer. La valeur par défaut est 0.
  • rollingshutter : les données UAV sont traitées en mode obturateur déroulant. Attribuez la valeur 1 pour traiter les données UAV en utilisant le mode obturateur déroulant. La valeur par défaut est 0 (ne pas utiliser le mode obturateur déroulant).

Value Table

Sortie obtenue

NomExplicationType de données
out_mosaic_dataset

Modèle de caméra en sortie.

Mosaic Dataset; Mosaic Layer

Exemple de code

Exemple 1 d’utilisation de l’outil ComputeCameraModel (fenêtre Python)

Ceci est un exemple Python de la fonctionComputeCameraModel.

import arcpy 

arcpy.ComputeCameraModel_rm("c:\data\fgdb.gdb\md", "output_DSM.tif", 
                                    "HIGH", "ESTIMATE", "REFINE", "APPLY", "5")

Informations de licence

  • Basic: Non
  • Standard: Nécessite ArcGIS Reality for ArcGIS Pro
  • Advanced: Oui

Rubriques connexes