Différences entre versions de « Photogrammétrie »

De POLR
Sauter à la navigation Sauter à la recherche
Ligne 92 : Ligne 92 :
  
 
<code>--gcp <path></code> où <path> est le chemin vers un fichier nommé <code>gcp_list.txt</code> dans lequel les coordonnées des points de contrôle correspondent aux pixel (x,y) de l'image. Ce fichier devra être placé dans votre repertoire <code>image/</code>
 
<code>--gcp <path></code> où <path> est le chemin vers un fichier nommé <code>gcp_list.txt</code> dans lequel les coordonnées des points de contrôle correspondent aux pixel (x,y) de l'image. Ce fichier devra être placé dans votre repertoire <code>image/</code>
 +
 +
[[Fichier:make_gcp_tuto.png|thumb|400px|Utilisation du '''GUI make_GCP''' ]]
  
 
Exemple:
 
Exemple:
Ligne 100 : Ligne 102 :
 
     opendronemap/odm --gcp /code/images/gcp_list.txt
 
     opendronemap/odm --gcp /code/images/gcp_list.txt
  
[[Fichier:make_gcp_tuto.png|thumb|400px|Utilisation du '''GUI make_GCP''' ]]
+
 
  
 
Une bonne documentation pour l'utilisation des points de contrôle est disponible [https://docs.opendronemap.org/using.html#ground-control-points ICI].
 
Une bonne documentation pour l'utilisation des points de contrôle est disponible [https://docs.opendronemap.org/using.html#ground-control-points ICI].

Version du 18 avril 2019 à 17:32

DJI Mavic 2 Pro

Mode hyperlapse

Mode photo

exiftool filename.jpg

Paramètres pertinents:

Absolute Altitude
Relative Altitude 
GPS Altitude

Mode vidéo

Les fichiers FlightRecord enregistrés sur le cellulaire qui a servi à piloter le drone contiennent beaucoup d'information concernant le vol et les paramètres d'image. Avant de les lire, il faut convertir ces fichiers, ce qui peut être fait avec l'application suivante:

https://airdata.com/

OpenDroneMap

(OpenDroneMap ) est un software Open Source qui permet de créer des orthomosaiques géoréférencées et des modèles 3D de terrain à partir d'images aériennes de drone.

Modèle 3D de la zone marginale de glace à Anse à capelan réalisée à partir de 44 images prisent avec un MavicPro1
orthomosaique de la zone marginale de glace à Anse à capelan réalisée à partir de 44 images prisent avec un MavicPro1

Installation

ODM a originellement été développé pour la distribution Linux Ubuntu.16.04 (Xenial) mais peut facilement s'installer sur n'importe quelle distribution Linux,MAC ou Windows grâce à l'application (Docker).


Docker peut être installé sur à peu près n'importe quel distribution ou système d'exploitation. Pour connaître la marche à suivre pour une distribution particulière, référez-vous à: https://docs.docker.com/install/

Pour CentOS 7:

Dans un terminal:

su -
yum install docker

Une fois l'installation terminée, vous devez démarrer Docker:

systemctl start docker

Assurez vous que Docker fonctionne correctement:

systemctl status docker
docker run hello-world

Pour démarrer automatiquement Docker lors de chaque démarrage de votre ordinateur

systemctl enable docker.service


Vous êtes maintenant prêt à utiliser OpenDroneMap. En effet l'image du programme est directement disponible à partir des librairies Docker Hub (docker.io/opendronemap/odm), vous n'avez donc en théorie pas besoin de télécharger le code source de ODM et créer vous même l'image dans Docker. Si toutefois vous desirez le faire afin de posséder une image comprenant tous les derniers ajouts et modifications du code (Beta), vous pouvez vous référer à la documentation https://docs.opendronemap.org/building.html

à propos de Docker:

Docker peut être assimilé à une sorte de machine virtuelle. Le but étant de faire fonctionner des programmes développés pour un système d'exploitation donné sur n'importe quel système. Docker créer un conteneur qui rassemble le code source ainsi que toutes les dépendances nécessaire pour créer une image du programme qui pourra fonctionner comme un programme standalone.

Utilisation

Bases

OpenDroneMap s'utilise en ligne de commande. Pour votre première utilisation, ouvrez un terminal et creez un repertoire de travail ainsi qu'un sous répertoire images/ qui contiendra les images aeriennes que vous souhaitez traiter:

mkdir <mon_repertoire_ortho>
cd <mon_repertoire_ortho>
mkdir <images>

Creez votre première orthomosaique:

sudo docker run -it --rm --memory="6g"\
   -v $(pwd)/images:/code/images \
   -v $(pwd)/odm_texturing:/code/odm_texturing \
   -v $(pwd)/odm_orthophoto:/code/odm_orthophoto \
   opendronemap/odm --fast-orthophoto

la synthaxe est docker run [arguments pour docker] opendronemap/odm [arguments pour ODM].

  1. Dans cet exemple, la commande docker run permet d’exécuter le programme opendronemap/odm. les argument de cette commande sont:
    • -it : permet de pouvoir interagir avec le programme
    • --rm : efface tout le contenu du conteneur créé une fois la tâche effectuée.
    • --memory : Maximum de mémoire vive que peut utiliser docker. Il est important d'utiliser cette argument en fonction de la capacité de votre machine. En effet, docker va utiliser de base toute la mémoire nécessaire pour effectuer la tâche. Or le traitement d'image, notamment effectuer des modeles 3D nécessitent beaucoup de mémoire vive. Si vous traitez beaucoup d'images, votre RAM risque d'être saturée par le programme et votre ordinateur ne sera plus capable d'effectuer aucune tâche.
    • -v <répertoire_local>:<répertoire_conteneur> : Permet de faire un lien entre un répertoire existant et l'emplacement "virtuel" dans le conteneur. Vous devez au minimum faire le lien vers le répertoire image/. les repertoires /code/odm_texturing et /code/odm_orthophoto sont les répertoires conteneurs où seront produits les résultats (respectivement, le modèle 3D .obj et l'orthomosaique en format Géotiff .tif ). Il est à noter que si vous ne faites pas les liens vers des répertoires locaux, tous les résultats contenu dans les répertoires conteneurs seront effacés directement une fois que le programme sera terminé à cause de la commande --rm

Tous les arguments de la commande docker run sont explicités ICI

  1. Dans cet exemple, nous donnons un seul argument pour ODM:
    • --fast-orthophoto : permet de réaliser une orthomosaique sans faire de modèle 3D. Les resultats sont généralement passablement moins bons mais le temps d'execution est nettement plus rapide.

Tous les arguments pour ODM sont explicités ICI

Ground Control points

Les points de contrôle sont des points de coordonnées connues (LON,LAT,ALT) qui permettent d'augmenter l'efficacité et la précision du traitement. Par exemple des cibles de couleurs visible sur les images dont on prend les coordonnées à l'aide d'un DGPS.

Pour utiliser des points de contrôle on utilisera l'argument:

--gcp <path> où <path> est le chemin vers un fichier nommé gcp_list.txt dans lequel les coordonnées des points de contrôle correspondent aux pixel (x,y) de l'image. Ce fichier devra être placé dans votre repertoire image/

Utilisation du GUI make_GCP

Exemple:

sudo docker run -it --rm \
   -v $(pwd)/images:/code/images \
   -v $(pwd)/odm_orthophoto:/code/odm_orthophoto \
   -v $(pwd)/odm_texturing:/code/odm_texturing \
   opendronemap/odm --gcp /code/images/gcp_list.txt


Une bonne documentation pour l'utilisation des points de contrôle est disponible ICI.

Le fichier gcp_list.txt doit avoir un formatage précis. Pour faciliter la création de ce fichier un GUI matlab est disponible: Fichier:Groundcontrolpoints.zip

Fonctionnement

Bonnes pratiques