Hyppää sisältöön

Welcome to our weekly research support coffee hour on Zoom! Click here for more information.

Warning!

Puhti scratch disk is becoming very full (80+ % ) resulting in performance degradation. Everybody is advised to only keep actively processed data on scratch, all other data should be deleted, transferred to host institute or stored in Lumi-O. No new quota will be granted. Click here for a tool for examining your disk usage.

OpenDroneMap (ODM)

OpenDroneMap (ODM) on avoimen lähdekoodin komentorivityökalu ilmasta otettujen kuvien käsittelyyn. Sitä käytetään esimerkiksi DEM-mallien, DSM-mallien, pistepilvien ja ortokuvien fotogrammetriseen tuottamiseen.

Saatavuus

OpenDroneMap on saatavilla Puhdissa seuraavina versioina:

  • 3.5.4
  • 3.0.4
  • 2.8.8

Käyttö

OpenDroneMap on saatavilla Puhdissa Singularity-konttina

OpenDroneMapin suorittaminen: 1) Kopioi ilmasta otetut kuvasi Puhtiin. OpenDroneMap edellyttää, että kansiopolut päättyvät muotoon code/images, esimerkiksi /scratch/project_2000XXX/odm/code/images. 2) Kirjoita eräajotyön skripti (katso alla) 3) Lähetä OpenDroneMap-eräajotyösi.

  • Testiemme mukaan noin 300 kuvaa sisältävä projekti toimii optimaalisesti 8–12 CPU-ytimellä; säädä CPU-ytimien määrää rivillä --cpus-per-task. OpenDroneMap voi käyttää käsittelyssä vain yhtä laskentasolmua, mikä tarkoittaa, että käytettävissä on enintään 40 CPU-ydintä per työ.
  • --project-path - sijainti, johon kuvat on tallennettu, ilman code/images-osaa.
  • --max-concurrency - säikeiden määrä, jota käytetään ODM-käsittelyn useissa vaiheissa; tässä se on asetettu samaksi kuin varattujen ytimien määrä.
  • Komennon loppuun on mahdollista lisätä lisäargumentteja.
  • Jos kuvasi kattavat erittäin laajan alueen, katso ODM:n suurten aineistojen pilkkomista koskeva dokumentaatio Alta löydät esimerkin eräajotyön skriptistä. Muokkaa asetuksia --account, --cpus-per-task, --time ja --mem-per-cpu tarpeidesi mukaan.
    #!/bin/bash
    #SBATCH --account=<YOUR-CSC-PROJECT>
    #SBATCH --ntasks=1
    #SBATCH --cpus-per-task=8
    #SBATCH --partition=small
    #SBATCH --time=02:00:00
    #SBATCH --mem-per-cpu=3G
    
    module load opendronemap
    apptainer_wrapper run --project-path /scratch/project_2000XXX/odm --max-concurrency $SLURM_CPUS_PER_TASK
    

3) Tulostiedostot ovat saatavilla code-kansiossa, esimerkiksi /scratch/project_2000XXX/odm/code

OpenDroneMap laskentasolmun paikallisella NMVE-levyllä

OpenDroneMap lukee ja kirjoittaa paljon levylle, joten sen suorittaminen on hieman (~15 %) nopeampaa käytettäessä laskentasolmun paikallista NMVE-levyä. Alla on esimerkkitiedosto OpenDroneMapin käyttämisestä NMVE-levyllä.

#!/bin/bash
#SBATCH --account=<YOUR-CSC-PROJECT>
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=8
#SBATCH --partition=small
#SBATCH --time=02:00:00
#SBATCH --mem-per-cpu=3G
#SBATCH --gres=nvme:30

#ODM project folder, that has code/images folder.
odm_dir=/scratch/project_2000599/odm/

echo "Copying input images from Puhti scratch to compute node local disk"
rsync -r $odm_dir/code $LOCAL_SCRATCH

module load opendronemap
apptainer_wrapper run --project-path $LOCAL_SCRATCH --max-concurrency $SLURM_CPUS_PER_TASK

echo "Copying outputs from Puhti scratch to compute node local disk"
rsync -r $LOCAL_SCRATCH/* $odm_dir

Lisenssi

OpenDroneMap jaetaan GNU General Public License (GPL) version 3 mukaisesti. OpenDroneMapin täydet lisenssitiedot

Viittaus

OpenDroneMap Authors, ODM - A command line toolkit to generate maps, point clouds, 3D models and DEMs from drone, balloon or kite images. OpenDroneMap/ODM GitHub Page 2020; https://github.com/OpenDroneMap/ODM

Kiitokset

Mainitse CSC ja Geoportti julkaisuissasi; tämä on tärkeää projektin jatkuvuuden ja rahoitusraportoinnin kannalta. Voit kirjoittaa esimerkiksi: "The authors wish to thank CSC - IT Center for Science, Finland (urn:nbn:fi:research-infras-2016072531) and the Open Geospatial Information Infrastructure for Research (Geoportti, urn:nbn:fi:research-infras-2016072513) for computational resources and support".

Asennus

OpenDroneMap asennettiin Puhtiin Apptrainerilla käyttäen OpenDroneMap-yhteisön Dockerhubissa tarjoamaa OpenDroneMap Docker -levykuvaa. OpenDroneMap-komentoja ei ole kääritty Tykkyllä, koska kansioiden liittäminen tarvitaan aina ajoaikana.

Viitteet

Suomenkielinen tekoälykäännös

Sisällössä voi esiintyä virheellistä tietoa tekoälykäännöksestä johtuen.

Klikkaa tästä antaaksesi palautetta