-
OpenDroneMap (ODM)
OpenDroneMap (ODM)
OpenDroneMap (ODM) on avoimen lähdekoodin komentorivityökalu ilmakuvien käsittelyyn. Sitä käytetään esimerkiksi DEM:ien, DSM:ien, pistepilvien ja ortokuvien fotogrammetriseen tuottamiseen.
Saatavuus
OpenDroneMap on saatavilla seuraavina versioina:
- 3.5.6 Roihussa
- 3.5.4 Puhdissa
- 3.0.4 Puhdissa
- 2.8.8 Puhdissa
Käyttö
OpenDroneMap on saatavilla Singularity -konttina
OpenDroneMapin suorittaminen:
- Kopioi ilmakuvasi supertietokoneelle. OpenDroneMap edellyttää, että kansiopolut päättyvät muotoon
code/images, esimerkiksi/scratch/project_2000XXX/odm/code/images. - Kirjoita eräajotyöskripti (katso alla)
- Lähetä OpenDroneMap-eräajotyösi.
Huomaa:
- Testiemme mukaan noin 300 kuvan projekti toimii optimaalisesti 8–12 CPU-ytimellä; säädä CPU:iden määrää rivillä
--cpus-per-task. OpenDroneMap voi käyttää käsittelyssä vain yhtä laskentasolmua, mikä tarkoittaa, että yhdessä työssä enimmäismäärä on 40 ydintä Puhdissa ja 384 ydintä Roihussa. --project-path- sijainti, johon kuvat on tallennettu, ilmancode/images-osaa.--max-concurrency- säikeiden määrä, jota käytetään useissa ODM-käsittelyn 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 Splitting Large Datasets -dokumentaatio
Alta löydät esimerkin eräajotyöskriptistä. Säädä
--account,--cpus-per-task,--timeja--mem-per-cputarpeidesi mukaan.
Roihu-esimerkkiskripti
#!/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
apptainer run \
--bind /scratch/project_200XXX/ \
/appl/soft/manual/geo/x86_64/opendronemap/opendronemap.sif \
--project-path /scratch/project_200XXX/odm \
--max-concurrency $SLURM_CPUS_PER_TASK
Puhti-esimerkkiskripti
#!/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) Tulokset ovat saatavilla code-kansiossa, esimerkiksi /scratch/project_2000XXX/odm/code
OpenDroneMap laskentasolmun paikallisella NMVE-levyllä (vain Puhdissa)
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-levyn kanssa.
#!/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 koko lisenssi
Viittaus
OpenDroneMap Authors, ODM - komentorivityökalupakki karttojen, pistepilvien, 3D-mallien ja DEM:ien tuottamiseen drooni-, ilmapallo- tai leijakuvista. OpenDroneMap/ODM GitHub Page 2026; https://github.com/OpenDroneMap/ODM
Kiitokset
Pyydämme mainitsemaan CSC:n ja Geoportin julkaisuissasi; tämä on tärkeää projektin jatkuvuuden ja rahoitusraportoinnin kannalta. Voit esimerkiksi kirjoittaa: "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 Dockerhubissa olevaa Docker imagea, jonka tarjoaa OpenDroneMap-yhteisö. OpenDroneMap-komentoja ei ole kääritty Tykkyllä, koska kansioiden liittäminen tarvitaan aina ajoaikana.