Difference between revisions of "Running OpenDroneMap"

From Geomaster, Lda
Jump to navigation Jump to search
Line 1: Line 1:
 +
=== Running docker OpenDroneMap ===
 +
 
# Install docker
 
# Install docker
 
# Add you user to docker group
 
# Add you user to docker group
Line 151: Line 153:
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
[[File:Captura de ecrã de 2018-06-17 14-34-10.png]]
  
 
=== Local pdal+LASzip ===
 
=== Local pdal+LASzip ===
Line 175: Line 179:
  
 
epsg versus EPSG
 
epsg versus EPSG
 +
 +
== Point cloud classification ==
 +
 +
[DEBUG]  running pdal info --boundary --filters.hexbin.edge_length=1 --filters.hexbin.threshold=0 /code/odm_georeferencing/odm_georeferenced_model.filtered.las > /code/odm_georeferencing/odm_georeferenced_model.boundary.json
 +
PDAL: Argument references invalid/unused stage: 'filters.hexbin'.

Revision as of 13:40, 17 June 2018

Running docker OpenDroneMap

  1. Install docker
  2. Add you user to docker group
  3. sudo -H pip install requests
mkdir OpenDroneMap
cd OpenDroneMap
git clone git@github.com:OpenDroneMap/odm_data_aukerman.git
cd odm_data_aukerman

export odmi=`pwd`
ls -l $odmi

docker run -it --rm \
-v $odmi/images:/code/images \
-v $odmi/odm_orthophoto:/code/odm_orthophoto \
-v $odmi/odm_texturing:/code/odm_texturing \
-v $odmi/odm_georeferencing:/code/odm_georeferencing \
-v $odmi/odm_meshing:/code/odm_meshing \
-v $odmi/opensfm:/code/opensfm \
opendronemap/opendronemap --dtm --dsm
cd /home/jgr/Documentos/sletten16maj2018-gcp
export odmi=`pwd`

docker run -it --rm \
-v $odmi/images:/code/images \
-v $odmi/gcp_list.txt:/code/gcp_list.txt \
-v $odmi/odm_orthophoto:/code/odm_orthophoto \
-v $odmi/odm_texturing:/code/odm_texturing \
-v $odmi/odm_georeferencing:/code/odm_georeferencing \
-v $odmi/odm_meshing:/code/odm_meshing \
-v $odmi/opensfm:/code/opensfm \
opendronemap/opendronemap --gcp gcp_list.txt --dtm --dsm



/home/jgr/OpenDroneMap/odm_data_aukerman/images

docker run -it --rm \
-v /home/jgr/OpenDroneMap/odm_data_aukerman/images:/code/images \
-v /home/jgr/OpenDroneMap/odm_data_aukerman/odm_orthophoto:/code/odm_orthophoto \
-v /home/jgr/OpenDroneMap/odm_data_aukerman/odm_texturing:/code/odm_texturing \
opendronemap/opendronemap

webODM

https://github.com/OpenDroneMap/WebODM

git clone https://github.com/OpenDroneMap/WebODM --config core.autocrlf=input
cd WebODM
./webodm.sh start

jgrocha/xxbatata


Tools

CloudCompare

Ground Control File

echo -7.778152 41.833203 957.575989  | cs2cs +init=epsg:4326 +to +init=epsg:3763
echo 708610.702 6209972.025 26.085 | cs2cs +init=epsg:25832 +to +init=epsg:32633

jgr@zoe:~/Documentos/sletten16maj2018-exif$ gdalsrsinfo epsg:32633 -o proj4
'+proj=utm +zone=33 +datum=WGS84 +units=m +no_defs '
jgr@zoe:~/Documentos/sletten16maj2018-exif$ gdalsrsinfo epsg:25832 -o proj4
'+proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs '

Make my own OpenDroneMap image

Fork and clone ODM repository

git clone git@github.com:jgrocha/OpenDroneMap.git
cd OpenDroneMap
git checkout -b generate-laz-output

Change source

Build new image

docker build -t odm_laz_image .

Run new image

cd /home/jgr/Documentos/sletten16maj2018-gcp
export odmi=`pwd`
sudo rm -rf odm_georeferencing odm_meshing odm_orthophoto odm_texturing opensfm
docker run -it --rm \
-v $odmi/images:/code/images \
-v $odmi/gcp_list.txt:/code/gcp_list.txt \
-v $odmi/odm_orthophoto:/code/odm_orthophoto \
-v $odmi/odm_texturing:/code/odm_texturing \
-v $odmi/odm_georeferencing:/code/odm_georeferencing \
-v $odmi/odm_meshing:/code/odm_meshing \
-v $odmi/opensfm:/code/opensfm \
odm_laz_image --gcp gcp_list.txt --dtm --dsm

The options for rerunning are: 'resize', 'opensfm', 'slam', 'cmvs', 'pmvs', 'odm_meshing', 'mvs_texturing', 'odm_georeferencing', 'odm_orthophoto'

docker run -it --rm \
-v $odmi/images:/code/images \
-v $odmi/gcp_list.txt:/code/gcp_list.txt \
-v $odmi/odm_orthophoto:/code/odm_orthophoto \
-v $odmi/odm_texturing:/code/odm_texturing \
-v $odmi/odm_georeferencing:/code/odm_georeferencing \
-v $odmi/odm_meshing:/code/odm_meshing \
-v $odmi/opensfm:/code/opensfm \
odm_laz_image --gcp gcp_list.txt --dtm --dsm --rerun-from odm_georeferencing

Check the output

running /code/build/bin/odm_georef -bundleFile /code/opensfm/bundle_r000.out -imagesPath /code/images -imagesListPath /code/opensfm/list_r000.out -inputFile /code/odm_texturing/odm_textured_model.obj -outputFile /code/odm_texturing/odm_textured_model_geo.obj -inputPointCloudFile /code/opensfm/depthmaps/merged.ply -outputPointCloudFile /code/odm_georeferencing/odm_georeferenced_model.ply  -logFile /code/odm_georeferencing/odm_georeferencing_log.txt -outputTransformFile /code/odm_georeferencing/odm_georeferencing_transform.txt -georefFileOutputPath /code/odm_georeferencing/odm_georeferencing_model_geo.txt -gcpFile gcp_list.txt -outputCoordFile /code/odm_georeferencing/coords.txt
[DEBUG]   running /code/SuperBuild/build/pdal/bin/pdal pipeline -i /code/odm_georeferencing/las.json --readers.ply.filename=/code/odm_georeferencing/odm_georeferenced_model.ply
PDAL: writers.las: Can't write LAZ output.  PDAL not built with LASzip or LAZperf.
{
  "pipeline": [
    "untransformed.ply",
    {
      "type": "writers.las",
      "a_srs": "+proj=utm +zone=33 +datum=WGS84 +units=m +no_defs ",
      "offset_x": "334230.28164",
      "offset_y": "6208095.41529",
      "offset_z": "0",
      "compression": "laszip",
      "filename": "/code/odm_georeferencing/odm_georeferenced_model.laz"
    }
  ]
}

Captura de ecrã de 2018-06-17 14-34-10.png

Local pdal+LASzip

Build from source!

/usr/local/bin/pdal pipeline -i las.json --readers.ply.filename=odm_georeferenced_model.ply
-rw-r--r-- 1 jgr jgr  22661583 jun 17 11:47 odm_georeferenced_model.laz
-rw-r--r-- 1 jgr jgr 121586206 jun 17 11:42 odm_georeferenced_model.ply

Previous result

Captura de ecrã de 2018-06-16 12-26-36.png

New result

Create Pull Request

close #845

Other fixes

epsg versus EPSG

Point cloud classification

[DEBUG] running pdal info --boundary --filters.hexbin.edge_length=1 --filters.hexbin.threshold=0 /code/odm_georeferencing/odm_georeferenced_model.filtered.las > /code/odm_georeferencing/odm_georeferenced_model.boundary.json PDAL: Argument references invalid/unused stage: 'filters.hexbin'.