kopia lustrzana https://github.com/OpenDroneMap/docs
reorganize, revise, and add GCPi section to using
rodzic
b528dbfdcf
commit
9e090b70ad
|
@ -301,10 +301,53 @@ Arguments::
|
||||||
dataset. By default all available outputs are merged.
|
dataset. By default all available outputs are merged.
|
||||||
Default: all
|
Default: all
|
||||||
|
|
||||||
|
Tutorials
|
||||||
|
---------
|
||||||
|
|
||||||
|
Below you will find step-by-step instructions for some common use cases.
|
||||||
|
|
||||||
|
Creating High Quality Orthophotos
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Without any parameter tweaks, ODM chooses a good compromise between quality, speed and memory usage. If you want to get higher quality results, you need to tweak some parameters:
|
||||||
|
|
||||||
|
* ``--orthophoto-resolution`` is the resolution of the orthophoto in cm/pixel. Decrease this value for a higher resolution result.
|
||||||
|
* ``--ignore-gsd`` is a flag that instructs ODM to skip certain memory and speed optimizations that directly affect the orthophoto. Using this flag will increase runtime and memory usage, but will produce sharper results.
|
||||||
|
* ``--texturing-nadir-weight`` should be increased to ``29-32`` in urban areas to reconstruct better edges of roofs. It should be decreased to ``0-6`` in grassy / flat areas.
|
||||||
|
* ``--texturing-data-term`` should be set to `area` in forest areas.
|
||||||
|
* ``--mesh-size`` should be increased to `300000-600000` and `--mesh-octree-depth`` should be increased to `10-11` in urban areas to recreate better buildings / roofs.
|
||||||
|
|
||||||
|
Creating Digital Elevation Models
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
By default ODM does not create DEMs. To create a digital terrain model, make sure to pass the ``--dtm`` flag.
|
||||||
|
|
||||||
|
For DTM generation, a Simple Morphological Filter (smrf) is used to classify points in ground vs. non-ground and only the ground points are used. The ``smrf`` filter can be controlled via several parameters:
|
||||||
|
|
||||||
|
* ``--smrf-scalar`` scaling value. Increase this parameter for terrains with lots of height variation.
|
||||||
|
* ``--smrf-slope`` slope parameter, which is a measure of "slope tolerance". Increase this parameter for terrains with lots of height variation. Should be set to something higher than 0.1 and not higher than 1.2.
|
||||||
|
* ``--smrf-threshold`` elevation threshold. Set this parameter to the minimum height (in meters) that you expect non-ground objects to be.
|
||||||
|
* ``--smrf-window`` window radius parameter (in meters) that corresponds to the size of the largest feature (building, trees, etc.) to be removed. Should be set to a value higher than 10.
|
||||||
|
|
||||||
|
Changing these options can affect the result of DTMs significantly. The best source to read to understand how the parameters affect the output is to read the original paper `An improved simple morphological filter for the terrain classification of airborne LIDAR data <https://www.researchgate.net/publication/258333806_An_Improved_Simple_Morphological_Filter_for_the_Terrain_Classification_of_Airborne_LIDAR_Data>`_ (PDF freely available).
|
||||||
|
|
||||||
|
Overall the ``--smrf-threshold`` option has the biggest impact on results.
|
||||||
|
|
||||||
|
SMRF is good at avoiding Type I errors (small number of ground points mistakenly classified as non-ground) but only "acceptable" at avoiding Type II errors (large number non-ground points mistakenly classified as ground). This needs to be taken in consideration when generating DTMs that are meant to be used visually, since objects mistaken for ground look like artifacts in the final DTM.
|
||||||
|
|
||||||
|
Two other important parameters affect DEM generation:
|
||||||
|
|
||||||
|
* ``--dem-resolution`` which sets the output resolution of the DEM raster (cm/pixel)
|
||||||
|
* ``--dem-gapfill-steps`` which determines the number of progressive DEM layers to use. For urban scenes increasing this value to `4-5` can help produce better interpolation results in the areas that are left empty by the SMRF filter.
|
||||||
|
|
||||||
|
Example of how to generate a DTM::
|
||||||
|
|
||||||
|
docker run -ti --rm -v /my/project:/datasets/code <my_odm_image> --project-path /datasets --dtm --dem-resolution 2 --smrf-threshold 0.4 --smrf-window 24
|
||||||
|
|
||||||
.. _ground-control-points:
|
.. _ground-control-points:
|
||||||
|
|
||||||
Ground Control Points
|
Ground Control Points
|
||||||
---------------------
|
^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
The format of the GCP file is simple.
|
The format of the GCP file is simple.
|
||||||
|
|
||||||
|
@ -334,51 +377,26 @@ The ``gcp_list.txt`` file must be created in the base of your project folder.
|
||||||
|
|
||||||
For good results your file should have a minimum of 15 lines after the header (5 points with 3 images to each point).
|
For good results your file should have a minimum of 15 lines after the header (5 points with 3 images to each point).
|
||||||
|
|
||||||
Tutorials
|
Ground Control Points in GCPi
|
||||||
---------
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Below you will find step-by-step instructions for some common use cases.
|
WebODM has a GCP interface, and example of which can be seen on `the WebODM Demo <http://demo.webodm.org/plugins/posm-gcpi/>`_. To use this one would do the following:
|
||||||
|
|
||||||
Creating High Quality Orthophotos
|
Create a GCP list that only includes gcp name (this is the label that will be seen in the GCP interface), x, y, and z, with a header with a proj4 string of your GCPs (make sure they are in a planar coordinate system, such as UTM. It should look something like this:
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
|
|
||||||
Without any parameter tweaks, ODM chooses a good compromise between quality, speed and memory usage. If you want to get higher quality results, you need to tweak some parameters:
|
::
|
||||||
|
|
||||||
* ``--orthophoto-resolution`` is the resolution of the orthophoto in cm/pixel. Decrease this value for a higher resolution result.
|
+proj=utm +zone=37 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs
|
||||||
* ``--ignore-gsd`` is a flag that instructs ODM to skip certain memory and speed optimizations that directly affect the orthophoto. Using this flag will increase runtime and memory usage, but will produce sharper results.
|
gcp01 529356.250827686 9251137.5643209 8.465
|
||||||
* ``--texturing-nadir-weight`` should be increased to ``29-32`` in urban areas to reconstruct better edges of roofs. It should be decreased to ``0-6`` in grassy / flat areas.
|
gcp02 530203.125367657 9250140.80991621 15.781
|
||||||
* ``--texturing-data-term`` should be set to `area` in forest areas.
|
gcp03 530292.136003818 9250745.02372435 11.977
|
||||||
* ``--mesh-size`` should be increased to `300000-600000` and `--mesh-octree-depth`` should be increased to `10-11` in urban areas to recreate better buildings / roofs.
|
gcp04 530203.125367657 9250140.80991621 15.781
|
||||||
|
gcp05 530292.136003818 9250745.02372435 11.977
|
||||||
|
|
||||||
Creating Digital Terrain Models
|
Then one can load this GCP list into the interface, load the images, and place each of the GCPs in the image.
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
|
|
||||||
By default ODM does not create DEMs. To create a digital terrain model, make sure to pass the ``--dtm`` flag.
|
Calibrating the Camera
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^
|
||||||
For DTM generation, a Simple Morphological Filter (smrf) is used to classify points in ground vs. non-ground and only the ground points are used. The ``smrf`` filter can be controlled via several parameters:
|
|
||||||
|
|
||||||
* ``--smrf-scalar`` scaling value. Increase this parameter for terrains with lots of height variation.
|
|
||||||
* ``--smrf-slope`` slope parameter, which is a measure of "slope tolerance". Increase this parameter for terrains with lots of height variation. Should be set to something higher than 0.1 and not higher than 1.2.
|
|
||||||
* ``--smrf-threshold`` elevation threshold. Set this parameter to the minimum height (in meters) that you expect non-ground objects to be.
|
|
||||||
* ``--smrf-window`` window radius parameter (in meters) that corresponds to the size of the largest feature (building, trees, etc.) to be removed. Should be set to a value higher than 10.
|
|
||||||
|
|
||||||
Changing these options can affect the result of DTMs significantly. The best source to read to understand how the parameters affect the output is to read the original paper `An improved simple morphological filter for the terrain classification of airborne LIDAR data <https://www.researchgate.net/publication/258333806_An_Improved_Simple_Morphological_Filter_for_the_Terrain_Classification_of_Airborne_LIDAR_Data>`_ (PDF freely available).
|
|
||||||
|
|
||||||
Overall the ``--smrf-threshold`` option has the biggest impact on results.
|
|
||||||
|
|
||||||
SMRF is good at avoiding Type I errors (small number of ground points mistakenly classified as non-ground) but only "acceptable" at avoiding Type II errors (large number non-ground points mistakenly classified as ground). This needs to be taken in consideration when generating DTMs that are meant to be used visually, since objects mistaken for ground look like artifacts in the final DTM.
|
|
||||||
|
|
||||||
Two other important parameters affect DEM generation:
|
|
||||||
|
|
||||||
* ``--dem-resolution`` which sets the output resolution of the DEM raster (cm/pixel)
|
|
||||||
* ``--dem-gapfill-steps`` which determines the number of progressive DEM layers to use. For urban scenes increasing this value to `4-5` can help produce better interpolation results in the areas that are left empty by the SMRF filter.
|
|
||||||
|
|
||||||
Example of how to generate a DTM::
|
|
||||||
|
|
||||||
docker run -ti --rm -v /my/project:/datasets/code <my_odm_image> --project-path /datasets --dtm --dem-resolution 2 --smrf-threshold 0.4 --smrf-window 24
|
|
||||||
|
|
||||||
Calibrating the camera
|
|
||||||
----------------------
|
|
||||||
|
|
||||||
Camera calibration is a special challenge with commodity cameras. Temperature changes, vibrations, focus, and other factors can affect the derived parameters with substantial effects on resulting data. Automatic or self calibration is possible and desirable with drone flights, but depending on the flight pattern, automatic calibration may not remove all distortion from the resulting products. James and Robson (2014) in their paper `Mitigating systematic error in topographic models derived from UAV and ground‐based image networks <https://onlinelibrary.wiley.com/doi/full/10.1002/esp.3609>`_ address how to minimize the distortion from self-calibration.
|
Camera calibration is a special challenge with commodity cameras. Temperature changes, vibrations, focus, and other factors can affect the derived parameters with substantial effects on resulting data. Automatic or self calibration is possible and desirable with drone flights, but depending on the flight pattern, automatic calibration may not remove all distortion from the resulting products. James and Robson (2014) in their paper `Mitigating systematic error in topographic models derived from UAV and ground‐based image networks <https://onlinelibrary.wiley.com/doi/full/10.1002/esp.3609>`_ address how to minimize the distortion from self-calibration.
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue