-
OpenDroneMap (ODM)
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, ilmancode/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,--timeja--mem-per-cputarpeidesi mukaan.
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.