kopia lustrzana https://github.com/OpenDroneMap/docs
768 wiersze
76 KiB
HTML
768 wiersze
76 KiB
HTML
|
||
|
||
<!DOCTYPE html>
|
||
<html class="writer-html5" lang="es" data-content_root="../">
|
||
<head>
|
||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<title>High Precision Workflows — documentación de OpenDroneMap - 3.5.6</title>
|
||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
|
||
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
|
||
|
||
|
||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
||
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||
<script src="../_static/documentation_options.js?v=f35e77a3"></script>
|
||
<script src="../_static/doctools.js?v=9a2dae69"></script>
|
||
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||
<script src="../_static/translations.js?v=d190bf04"></script>
|
||
<script src="../_static/js/theme.js"></script>
|
||
<link rel="index" title="Índice" href="../genindex/" />
|
||
<link rel="search" title="Búsqueda" href="../search/" />
|
||
<link rel="next" title="Multispectral and Thermal" href="../multispectral/" />
|
||
<link rel="prev" title="Salidas de OpenDroneMap" href="../outputs/" />
|
||
</head>
|
||
|
||
<body class="wy-body-for-nav">
|
||
<div class="wy-grid-for-nav">
|
||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||
<div class="wy-side-scroll">
|
||
<div class="wy-side-nav-search" >
|
||
|
||
|
||
|
||
<a href="../" class="icon icon-home">
|
||
OpenDroneMap
|
||
</a>
|
||
<div role="search">
|
||
<form id="rtd-search-form" class="wy-form" action="../search/" method="get">
|
||
<input type="text" name="q" placeholder="Buscar documentos" aria-label="Buscar documentos" />
|
||
<input type="hidden" name="check_keywords" value="yes" />
|
||
<input type="hidden" name="area" value="default" />
|
||
</form>
|
||
</div>
|
||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||
<ul>
|
||
<li class="toctree-l1"><a class="reference internal" href="../installation/">Instalación y Guía de Introducción</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../installation/#quickstart">Quickstart</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../installation/#hardware-recommendations">Recomendaciones de Hardware</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../installation/#installation">Instalación</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../installation/#windows">Windows</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../installation/#step-1-check-virtualization-support">Paso 1. Verificar el Soporte de Virtualización</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../installation/#step-2-install-requirements">Paso 2. Requisitos de instalación</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../installation/#step-3-check-memory-and-cpu-allocation">Paso 3. Revisa la memoria y la asignación del procesador</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../installation/#step-4-download-webodm">Paso 4. Descarga WebODM</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../installation/#step-4-launch-webodm">Paso 4. Inicie WebODM</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../installation/#macos">macOS</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../installation/#id1">Paso 1. Verificar el Soporte de Virtualización</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../installation/#id2">Paso 2. Requisitos de instalación</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../installation/#id3">Paso 3. Revisa la memoria y la asignación del procesador</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../installation/#step-4-download-and-launch-webodm">Paso 4. Descargue y ejecute WebODM</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../installation/#linux">Linux</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../installation/#step-1-install-requirements">Paso 1. Requerimientos de instalación</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../installation/#step-2-check-additional-requirements">Paso 2. Verifique los requisitos adicionales</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../installation/#step-3a-download-and-launch-webodm-with-webodm-sh-call-of-docker-compose">Step 3a. Download and Launch WebODM with webodm.sh call of docker compose</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../installation/#step-3b-alternatively-start-via-docker-compose-without-webodm-sh">Step 3b. Alternatively, start via docker compose without webodm.sh</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../installation/#basic-commands-and-troubleshooting">Comandos básicos y resolución de problemas</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../installation/#hello-webodm">¡Hola WebODM!</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../installation/#running-on-more-than-one-machine">Ejecutando en más de una máquina</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<ul class="current">
|
||
<li class="toctree-l1"><a class="reference internal" href="../tutorials/">Tutoriales</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../tutorials/#creating-high-quality-orthophotos">Creación de Ortofotos de Alta Calidad</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../tutorials/#creating-digital-elevation-models">Creación de modelos de elevación digitales</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../tutorials/#using-potree-3d-viewer-module-on-webodm">Usar el módulo Potree de visualización 3D en WebODM</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/#cameras">Cámaras</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/#textured-model">Modelo texturizado</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/#appearance">Apariencia</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/#point-budget">Presupuesto de puntos</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/#field-of-view">Campo de visión</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/#eye-dome-lighting">Iluminación de domo</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/#background">Fondo</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/#other">Otro</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/#tools">Herramientas</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/#measurement">Medición</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/#clipping">Recorte</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/#navigation">Navegación</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/#scene">Escena</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../tutorials/#measuring-stockpile-volume">Medir el volumen de pilas de materiales a granel</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/#fieldwork-planning">Planificación del trabajo de campo</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/#flight-pattern">Patrón de vuelo</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/#flight-height">Altura de vuelo</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/#gcps">GCPs</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/#processing-parameters">Parámetros de procesamiento</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/#measuring">Medición</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/#expected-accuracy">Precisión esperada</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../tutorials/#using-docker">Usando Docker</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/#listing-docker-machines">Listado de máquinas Docker</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/#accessing-logs-on-the-instance">Accediendo a los registros en la instancia</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/#command-line-access-to-instances">Acceso de línea de comando a las instancias</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/#cleaning-up-after-docker">Limpieza de Docker</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../tutorials/#using-odm-from-low-bandwidth-location">Usando ODM desde una ubicación de ancho de banda bajo</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/#what-is-this-and-who-is-it-for">¿Qué es esto y para quién es?</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/#steps">Pasos</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/#install">Instalación</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/#prep-data-and-project">Datos de preparación y proyecto</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/#resize-droplet-pull-pin-run-away">Cambie el tamaño del Droplet, quite el seguro, huya</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/#after-it-finishes-assuming-you-survive-that-long">Después de que termine (suponiendo que sobrevivas tanto tiempo)</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../tutorials/#advanced">Advanced</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/#calibrating-the-camera">Calibrar la cámara</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/#using-image-masks">Using Image Masks</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/#using-singularity">Using Singularity</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/#build-singularity-image-from-docker-image">Build Singularity image from Docker image</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/#using-singularity-sif-image">Using Singularity SIF image</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/#clusterodm-nodeodm-slurm-with-singularity-on-hpc">ClusterODM, NodeODM, SLURM, with Singularity on HPC</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../tutorials/#development-and-testing-of-odm">Development and testing of ODM</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/#fork-and-clone-repository">Fork and clone repository</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/#set-up-local-nodeodm-docker-instance">Set up local NodeODM docker instance</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/#modify-code">Modify code</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/#connect-to-nodeodm-instance">Connect to NodeODM instance</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../tutorials/#install-and-use-changes">Install and use changes</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../arguments/">Opciones e indicadores</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/3d-tiles/">3d-tiles</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/align/">align</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/auto-boundary/">auto-boundary</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../arguments/auto-boundary/#what-is-auto-boundary">What Is Auto-Boundary?</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../arguments/auto-boundary/#when-is-auto-boundary-helpful">When Is Auto-Boundary Helpful?</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../arguments/auto-boundary/#why-would-one-use-auto-boundary">Why would one use auto-boundary?</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../arguments/auto-boundary/#example-images">Example Images</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../arguments/auto-boundary/#true-auto-boundary">True: <code class="docutils literal notranslate"><span class="pre">--auto-boundary</span></code></a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../arguments/auto-boundary/#false-null">False: <code class="docutils literal notranslate"><span class="pre">null</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/auto-boundary-distance/">auto-boundary-distance</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/bg-removal/">bg-removal</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/boundary/">boundary</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../arguments/boundary/#what-is-boundary-geojson">What is Boundary [GeoJSON]?</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../arguments/boundary/#when-is-boundary-geojson-appropriate">When is Boundary [GeoJSON] appropriate?</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../arguments/boundary/#why-would-one-use-boundary-geojson">Why would one use Boundary [GeoJSON]?</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../arguments/boundary/#how-would-one-create-boundary-geojson">How would one create Boundary [GeoJSON]?</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../arguments/boundary/#geojson-io">GeoJSON.io</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../arguments/boundary/#qgis">QGIS</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../arguments/boundary/#example-images">Example Images</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../arguments/boundary/#true-boundary-geojson-point-cloud">True: <code class="docutils literal notranslate"><span class="pre">--boundary</span> <span class="pre">[GeoJSON]</span></code> - Point Cloud</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../arguments/boundary/#true-boundary-geojson-orthophoto">True: <code class="docutils literal notranslate"><span class="pre">--boundary</span> <span class="pre">[GeoJSON]</span></code> - Orthophoto</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../arguments/boundary/#true-boundary-geojson-digital-elevation-model">True: <code class="docutils literal notranslate"><span class="pre">--boundary</span> <span class="pre">[GeoJSON]</span></code> - Digital Elevation Model</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../arguments/boundary/#true-boundary-geojson-3d-model-textured-mesh">True: <code class="docutils literal notranslate"><span class="pre">--boundary</span> <span class="pre">[GeoJSON]</span></code> - 3D Model/Textured Mesh</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../arguments/boundary/#false-null">False: <code class="docutils literal notranslate"><span class="pre">null</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/build-overviews/">build-overviews</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../arguments/build-overviews/#what-are-overviews">¿Que son las vistas generales?</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../arguments/build-overviews/#when-are-overviews-appropriate">¿Cuando son apropiadas las vistas generales?</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../arguments/build-overviews/#why-would-one-use-overviews">¿Por qué se utilizarían las vistas generales?</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../arguments/build-overviews/#example-images">Imágenes de ejemplo</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../arguments/build-overviews/#true-build-overviews">Verdadero: <code class="docutils literal notranslate"><span class="pre">--build-overviews</span></code></a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../arguments/build-overviews/#false-null">Falso: <code class="docutils literal notranslate"><span class="pre">null</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/camera-lens/">camera-lens</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../arguments/camera-lens/#what-are-camera-lens-models">¿que son los modelos de lentes de cámara?</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../arguments/camera-lens/#when-are-manual-selections-appropriate">¿Cuándo son apropiadas las selecciones manuales?</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../arguments/camera-lens/#why-would-one-use-a-particular-camera-lens-model">¿Por qué se utilizaría un modelo de lente de cámara en particular?</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../arguments/camera-lens/#example-images">Imágenes de ejemplo</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../arguments/camera-lens/#auto-rectilinear-data"><code class="docutils literal notranslate"><span class="pre">auto</span></code> : Datos rectilíneos</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../arguments/camera-lens/#brown-rectilinear-data"><code class="docutils literal notranslate"><span class="pre">brown</span></code> : Datos rectilíneos</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../arguments/camera-lens/#fisheye-rectilinear-data"><code class="docutils literal notranslate"><span class="pre">fisheye</span></code> : Datos rectilíneos</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../arguments/camera-lens/#perspective-rectilinear-data"><code class="docutils literal notranslate"><span class="pre">perspective</span></code> : Datos rectilíneos</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../arguments/camera-lens/#spherical-rectilinear-data"><code class="docutils literal notranslate"><span class="pre">spherical</span></code> : Datos rectilíneos</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/cameras/">cameras</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/cog/">cog</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../arguments/cog/#what-are-cloud-optimized-geotiffs-cogs">¿Qué son los GeoTIFF optimizados para la nube (COG)?</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../arguments/cog/#when-are-cogs-appropriate">¿Cuándo son apropiados los COG?</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../arguments/cog/#why-would-one-use-cogs">¿Por qué uno usaría COG?</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../arguments/cog/#example-images">Imágenes de ejemplo</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../arguments/cog/#true-cog">Verdadero: <code class="docutils literal notranslate"><span class="pre">--cog</span></code></a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="../arguments/cog/#false-null">Falso: <code class="docutils literal notranslate"><span class="pre">null</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/copy-to/">copy-to</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/crop/">crop</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/debug/">debug</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/dem-decimation/">dem-decimation</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/dem-euclidean-map/">dem-euclidean-map</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/dem-gapfill-steps/">dem-gapfill-steps</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/dem-resolution/">dem-resolution</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/depthmap-resolution/">depthmap-resolution</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/dsm/">dsm</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/dtm/">dtm</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/end-with/">end-with</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/fast-orthophoto/">fast-orthophoto</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/feature-quality/">feature-quality</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/feature-type/">feature-type</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/force-gps/">force-gps</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/gcp/">gcp</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/geo/">geo</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/gltf/">gltf</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/gps-accuracy/">gps-accuracy</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/gps-z-offset/">gps-z-offset</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/help/">help</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/ignore-gsd/">ignore-gsd</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/matcher-neighbors/">matcher-neighbors</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/matcher-order/">matcher-order</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/matcher-type/">matcher-type</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/max-concurrency/">max-concurrency</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/merge/">merge</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/mesh-octree-depth/">mesh-octree-depth</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/mesh-size/">mesh-size</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/min-num-features/">min-num-features</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/name/">name</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/no-gpu/">no-gpu</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/optimize-disk-space/">optimize-disk-space</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/orthophoto-compression/">orthophoto-compression</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/orthophoto-cutline/">orthophoto-cutline</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/orthophoto-kmz/">orthophoto-kmz</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/orthophoto-no-tiled/">orthophoto-no-tiled</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/orthophoto-png/">orthophoto-png</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/orthophoto-resolution/">orthophoto-resolution</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/pc-classify/">pc-classify</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/pc-copc/">pc-copc</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/pc-csv/">pc-csv</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/pc-ept/">pc-ept</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/pc-filter/">pc-filter</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/pc-geometric/">pc-geometric</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/pc-las/">pc-las</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/pc-quality/">pc-quality</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/pc-rectify/">pc-rectify</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/pc-sample/">pc-sample</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/pc-skip-geometric/">pc-skip-geometric</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/pc-tile/">pc-tile</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/primary-band/">primary-band</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/project-path/">project-path</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/radiometric-calibration/">radiometric-calibration</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/rerun/">rerun</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/rerun-all/">rerun-all</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/rerun-from/">rerun-from</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/resize-to/">resize-to</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/rolling-shutter/">rolling-shutter</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/rolling-shutter-readout/">rolling-shutter-readout</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/sfm-algorithm/">sfm-algorithm</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/sfm-no-partial/">sfm-no-partial</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/skip-3dmodel/">skip-3dmodel</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/skip-band-alignment/">skip-band-alignment</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/skip-orthophoto/">skip-orthophoto</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/skip-report/">skip-report</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/sky-removal/">sky-removal</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/sm-cluster/">sm-cluster</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/sm-no-align/">sm-no-align</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/smrf-scalar/">smrf-scalar</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/smrf-slope/">smrf-slope</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/smrf-threshold/">smrf-threshold</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/smrf-window/">smrf-window</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/split/">split</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/split-image-groups/">split-image-groups</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/split-overlap/">split-overlap</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/texturing-data-term/">texturing-data-term</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/texturing-keep-unseen-faces/">texturing-keep-unseen-faces</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/texturing-outlier-removal-type/">texturing-outlier-removal-type</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/texturing-single-material/">texturing-single-material</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/texturing-skip-global-seam-leveling/">texturing-skip-global-seam-leveling</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/texturing-skip-local-seam-leveling/">texturing-skip-local-seam-leveling</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/texturing-tone-mapping/">texturing-tone-mapping</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/tiles/">tiles</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/time/">time</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/use-3dmesh/">use-3dmesh</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/use-exif/">use-exif</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/use-fixed-camera-params/">use-fixed-camera-params</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/use-hybrid-bundle-adjustment/">use-hybrid-bundle-adjustment</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/verbose/">Verboso</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/version/">Versión</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/video-limit/">video-limit</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../arguments/video-resolution/">video-resolution</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../flowchart/">Flowchart with options</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../outputs/">Salidas de OpenDroneMap</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../outputs/#point-cloud">Nube de puntos</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../outputs/#d-textured-model">Modelo texturizado 3D</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../outputs/#orthophoto">Ortofoto</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../outputs/#dtm-dsm">DTM/DSM</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../outputs/#logs">Logs</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../outputs/#list-of-all-outputs">Lista de todas las salidas</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1 current"><a class="current reference internal" href="#">High Precision Workflows</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="#map-accuracy">Precisión del Mapa</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="#what-to-expect">Que esperar</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#aspects-impacting-map-accuracy">Aspectos que impactan la precisión del mapa</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#references">Referencias</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="#ground-control-points">Ground Control Points</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="#overview">Overview</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="#recommended-practices-for-gcp-setting">Recommended practices for GCP setting</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="#gcp-file-format">GCP file format</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#user-interfaces">User Interfaces</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="#id1">POSM GCPi</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="#id2">GCP Editor Pro</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#id3">Referencias</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="#image-geolocation-files">Image Geolocation Files</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="#improving-relative-accuracy">Improving relative accuracy</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="#multi-temporal-datasets">Multi-temporal Datasets</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="#plugin-time-sift">Plugin Time-SIFT</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#aligning-large-datasets">Aligning Large Datasets</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../multispectral/">Multispectral and Thermal</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../multispectral/#multispectral-support">Soporte multiespectral</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../multispectral/#supported-sensors">Supported Sensors</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../multispectral/#creating-orthophotos-from-multispectral-data">Creating Orthophotos from Multispectral Data</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../multispectral/#workflows-for-non-supported-sensors">Workflows for Non-supported Sensors</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../multispectral/#thermal-support">Thermal Support</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../multispectral/#hardware">Hardware</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../multispectral/#usage">Uso</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../large/">Large Datasets</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../large/#local-split-merge">Split-merge local</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../large/#distributed-split-merge">Split-Merge distribuido</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../large/#getting-started-with-distributed-split-merge">Introducción a split-merge distribuido</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../large/#understanding-the-cluster">Entendiendo el Cluster</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../large/#accessing-the-logs">Acceder a los registros</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../large/#autoscaling-clusterodm">Ajuste de escala automático de ClusterODM</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../large/#limitations">Limitaciones</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../large/#estimating-data-collection-effort">Estimating data collection effort</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../large/#data-collection-effort-full-3d">Data collection effort, full 3D</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../large/#data-collection-effort-2d-and-2-5d-products">Data collection effort, 2D and 2.5D products</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../large/#acknowledgments">Agradecimientos</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../flying/">Consejos de vuelo</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../flying/#data-collection-effort-full-3d">Data collection effort, full 3D</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../flying/#data-collection-effort-2d-and-2-5d-products">Data collection effort, 2D and 2.5D products</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../flying/#other-resources-on-flying">Other resources on flying</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../contributing/">How to Contribute and Request Features</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../contributing/#how-to-request-features">How To Request Features</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../contributing/#how-to-contribute">Como contribuir</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../contributing/#community-forum">Foro comunitario</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../contributing/#reporting-bugs">Reportando Errores</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="../contributing/#template-for-submitting-bug-reports">Plantilla Para Enviar Informes de Errores</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../contributing/#pull-requests">Solicitudes de Extraxion</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../faq/">Frequently Asked Questions and Additional Resources</a><ul>
|
||
<li class="toctree-l2"><a class="reference internal" href="../faq/#frequently-asked-questions">Preguntas frecuentes</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../faq/#data-processing">Procesamiento de datos</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../faq/#licensing">Licenciamiento</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../faq/#memory-issues">Memory issues</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="../faq/#additional-references">Additional References</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="../faq/#for-users">For Users</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="../faq/#for-developers">For Developers</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
|
||
</div>
|
||
</div>
|
||
</nav>
|
||
|
||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||
<a href="../">OpenDroneMap</a>
|
||
</nav>
|
||
|
||
<div class="wy-nav-content">
|
||
<div class="rst-content">
|
||
<div role="navigation" aria-label="Page navigation">
|
||
<ul class="wy-breadcrumbs">
|
||
<li><a href="../" class="icon icon-home" aria-label="Home"></a></li>
|
||
<li class="breadcrumb-item active">High Precision Workflows</li>
|
||
<li class="wy-breadcrumbs-aside">
|
||
<a href="../_sources/map-accuracy.rst.txt" rel="nofollow"> Ver código fuente de la página</a>
|
||
</li>
|
||
</ul>
|
||
<hr/>
|
||
</div>
|
||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||
<div itemprop="articleBody">
|
||
|
||
<section id="high-precision-workflows">
|
||
<h1>High Precision Workflows<a class="headerlink" href="#high-precision-workflows" title="Link to this heading"></a></h1>
|
||
<section id="map-accuracy">
|
||
<h2>Precisión del Mapa<a class="headerlink" href="#map-accuracy" title="Link to this heading"></a></h2>
|
||
<p>La precisión se puede definir como el grado o la cercanía con la que la información de un mapa coincide con los valores del mundo real. Por tanto, cuando nos referimos a la precisión, nos referimos a la calidad de los datos y al número de errores contenidos en un determinado conjunto de datos (Pascual 2011).</p>
|
||
<p><strong>Precisión Relativa o Local</strong></p>
|
||
<p>La precisión local o relativa se puede definir como el grado en que las distancias entre dos puntos en un mapa corresponden a las distancias reales entre esos puntos en el mundo real.</p>
|
||
<p>La precisión relativa es independiente de la ubicación del mapa en el mundo, por lo que un mapa puede tener una precisión relativa alta (en tamaño y forma), pero su posición en el mundo se puede cambiar (Figura 1).</p>
|
||
<figure class="align-center">
|
||
<img alt="Model showing high relative accuracy" src="../_images/rel_accuracy.webp" />
|
||
</figure>
|
||
<p><em>Figura 1. Modelo que muestra una alta precisión relativa pero está fuera de lugar según su posición en el mundo real</em></p>
|
||
<p><strong>Precisión absoluta o global</strong></p>
|
||
<p>La precisión absoluta es la precisión de la reconstrucción en relación con su posición real en el planeta (Pix4D 2019). La Figura 2 muestra un modelo de precisión relativa y absoluta, ya que los puntos están colocados correctamente de acuerdo con su posición en el mundo real.</p>
|
||
<figure class="align-center">
|
||
<img alt="Model showing high absolute accuracy" src="../_images/abs_accuracy.webp" />
|
||
</figure>
|
||
<p><em>Figura 2. Modelo que muestra una alta precisión relativa y absoluta. Colocado correctamente de acuerdo con su posición en el mundo real</em></p>
|
||
<p>** Un nivel de precisión para cada proyecto**</p>
|
||
<p>Cada proyecto tiene necesidades específicas de precisión que se deben cumplir. Por ejemplo, evaluar el progreso en un sitio de construcción o medir un área afectada por un incendio no requiere el uso de GCP, ya que la precisión absoluta no afectará el proceso de toma de decisiones. Por otro lado, hay tareas en las que la precisión es fundamental, por ejemplo, evaluaciones de cumplimiento de proyectos y levantamiento de títulos de propiedad, que requieren una mayor precisión relativa y absoluta.</p>
|
||
<section id="what-to-expect">
|
||
<h3>Que esperar<a class="headerlink" href="#what-to-expect" title="Link to this heading"></a></h3>
|
||
<p>En términos generales, se puede esperar que la precisión relativa sea del orden de 1 a 3 veces el GSD promedio para el conjunto de datos. Y en cuanto a la precisión absoluta, se debe considerar que depende de la unidad GPS montada en el UAV pero la precisión horizontal de un GPS estándar suele estar en el rango de 2 a 6 metros y la precisión vertical entre 3 y 4 veces la precisión horizontal.</p>
|
||
<p>Cuando se utiliza GCP, la precisión absoluta se puede mejorar a 2,5 veces GSD para la precisión horizontal y 4 veces la GSD para la precisión vertical (Madawalagama 2016).</p>
|
||
<p>A un GSD de 1 cm, la precisión es igual a la del RTK GNSS, y está dentro de las escalas de 1:200 según los estándares de precisión de mapeo NSDI y FGDC durante condiciones subóptimas (Barry 2013).</p>
|
||
</section>
|
||
<section id="aspects-impacting-map-accuracy">
|
||
<h3>Aspectos que impactan la precisión del mapa<a class="headerlink" href="#aspects-impacting-map-accuracy" title="Link to this heading"></a></h3>
|
||
<p><strong>Clima</strong></p>
|
||
<p>Las condiciones climáticas tienen un impacto directo en los resultados de la fotogrametría, por lo que es importante considerar la cobertura de nubes, la velocidad del viento, la humedad, la altitud del sol y otros factores que influyen en la estabilidad del UAV y la iluminación del terreno.</p>
|
||
<p><strong>Cámaras</strong></p>
|
||
<p>Los sensores más grandes y mejores producen menos ruido e imágenes más claramente enfocadas. También tenga en cuenta que las cámaras con obturador «rolling shutter» producen imágenes distorsionadas cuando la UAV se está moviendo, por lo que para las actividades de mapeo, se recomiendan las cámaras con obturador mecánico o global.</p>
|
||
<p><strong>Altitud del vuelo</strong></p>
|
||
<p>Cuanto mayor sea la altitud de vuelo, mayor será la huella de la imagen y el GSD. Con el GSD más grande resultante, la precisión disminuirá ya que habrá menos detalles en las características reconocibles. Cuando se requiere un GSD más pequeño, se recomienda una altitud de 3 a 4 veces la altura del punto más alto.</p>
|
||
<p><strong>Velocidad del vuelo</strong></p>
|
||
<p>La velocidad de vuelo tiene un efecto especial en las cámaras equipadas con obturador «rolling shutter», mientras que las equipadas con obturador global o mecánico tienden a reducir este efecto. Los UAV equipados con sistemas de posicionamiento RTK también se ven afectados por la velocidad, pero deteniendo la UAV en cada foto tomada, puede obtener una muy buena precisión. Si, en cambio, se está moviendo durante cada toma de fotos, la precisión estará limitada por dos factores: la velocidad a la que se está moviendo multiplicada por los incrementos de 1 segundo de RTK (Mather 2020).</p>
|
||
</section>
|
||
<section id="references">
|
||
<h3>Referencias<a class="headerlink" href="#references" title="Link to this heading"></a></h3>
|
||
<p>Barry, P., & Coakley, R. «Accuracy of UAV photogrammetry compared with Network RTK GPS.» Baseline Surveys. 2013. <a class="reference external" href="http://uav.ie/PDF/Accuracy_UAV_compare_RTK_GPS.pdf">http://uav.ie/PDF/Accuracy_UAV_compare_RTK_GPS.pdf</a> (accessed 10 13, 2020).</p>
|
||
<p>Drone Deploy. How Do I Use Ground Control Points?: A guide to using ground control points with drone mapping software. 5 8, 2017. <a class="reference external" href="https://www.dronedeploy.com/blog/what-are-ground-control-points-gcps/">https://www.dronedeploy.com/blog/what-are-ground-control-points-gcps/</a> (último acceso el 9 del 7, 2020).</p>
|
||
<p>Madawalagama, S.L., Munasinghe, N., Dampegama, S.D.P.J. and Samarakoon, L. «Low-cost aerial mapping with consumer grade.» 37th Asian Conference on Remote Sensing. Colombo, Sri Lanka, 2016.</p>
|
||
<p>Mather, Stephen. OpenDroneMap. 30 de Marzo de 2020. <a class="reference external" href="https://community.opendronemap.org/t/the-accuracy-of-webodm-using-rtk-uavs/3937">https://community.opendronemap.org/t/the-accuracy-of-webodm-using-rtk-uavs/3937</a> (último acceso el 12 del 10, 2020).</p>
|
||
<p>Pascual, Manuel S. GIS Lounge: GIS Data: A Look at Accuracy, Precision, and Types of Errors. 11 6, 2011. <a class="reference external" href="https://www.gislounge.com/gis-data-a-look-at-accuracy-precision-and-types-of-errors/">https://www.gislounge.com/gis-data-a-look-at-accuracy-precision-and-types-of-errors/</a> (último acceso el 09 del 07, 2020).</p>
|
||
<p>Pix4D. «What is accuracy in an aerial mapping project?» Pix4D. 25 de 05 de 2019. <a class="reference external" href="https://www.pix4d.com/blog/accuracy-aerial-mapping">https://www.pix4d.com/blog/accuracy-aerial-mapping</a> (último acceso el 13 del 10, 2020).</p>
|
||
</section>
|
||
</section>
|
||
<section id="ground-control-points">
|
||
<h2>Ground Control Points<a class="headerlink" href="#ground-control-points" title="Link to this heading"></a></h2>
|
||
<section id="overview">
|
||
<h3>Overview<a class="headerlink" href="#overview" title="Link to this heading"></a></h3>
|
||
<p>Ground control points are useful for correcting distortions in the data and referencing the data to know coordinate systems.</p>
|
||
<p>A Ground Control Point (GCP) is a position measurement made on the ground, typically using a high precision GPS. (Toffanin 2019)</p>
|
||
<p>Ground control points can be set existing structures like pavement corners, lines on a parking lot or contrasting color floor tiles, otherwise can be set using targets placed on the ground.</p>
|
||
<p>Targets can be purchased or build with an ample variety of materials ranging from bucket lids to floor tiles.</p>
|
||
<section id="recommended-practices-for-gcp-setting">
|
||
<h4>Recommended practices for GCP setting<a class="headerlink" href="#recommended-practices-for-gcp-setting" title="Link to this heading"></a></h4>
|
||
<p>Keep ground control points visible for all camera locations. Consider the expected ground sampling distance, illumination, vegetation, buildings and all the existing obstacles.</p>
|
||
<p>Procure an evenly horizontal distribution of the GCPs within the project, covering high and low elevations. A minimum of 5 GCP works for most of the jobs, and for larger projects 8 – 10 are sufficient. Locate some points near the corners and others in the center, considering that GCP spacing should be larger than the image footprint so that you can’t see more than one GCP in a single image.</p>
|
||
<p>In order to ensure each GCP are found in at least 5 images, separate the points 10 to 30 meters from the perimeter of the project. This distance is dependent of the overlapping, so increasing overlapping should reduce the required distance from the perimeter.</p>
|
||
</section>
|
||
<section id="gcp-file-format">
|
||
<h4>GCP file format<a class="headerlink" href="#gcp-file-format" title="Link to this heading"></a></h4>
|
||
<p>The format of the GCP file is simple.</p>
|
||
<blockquote>
|
||
<div><ul class="simple">
|
||
<li><p>The first line should contain the name of the projection used for the geo coordinates. This can be specified either as a PROJ string (e.g. <code class="docutils literal notranslate"><span class="pre">+proj=utm</span> <span class="pre">+zone=10</span> <span class="pre">+ellps=WGS84</span> <span class="pre">+datum=WGS84</span> <span class="pre">+units=m</span> <span class="pre">+no_defs</span></code>), EPSG code (e.g. <code class="docutils literal notranslate"><span class="pre">EPSG:4326</span></code>) or as a <code class="docutils literal notranslate"><span class="pre">WGS84</span> <span class="pre">UTM</span> <span class="pre"><zone>[N|S]</span></code> value (eg. <code class="docutils literal notranslate"><span class="pre">WGS84</span> <span class="pre">UTM</span> <span class="pre">16N</span></code>)</p></li>
|
||
<li><p>Subsequent lines are the X, Y & Z coordinates, your associated pixels, the image filename and optional extra fields, separated by tabs or spaces:</p></li>
|
||
<li><p>Avoid setting elevation values to «NaN» to indicate no value. This can cause processing failures. Instead use 0.0</p></li>
|
||
<li><p>Similarly decreasing the no. of digits after the decimal place for <cite>geo_x</cite> and <cite>geo_y</cite> can also reduce processing failures.</p></li>
|
||
<li><p>The 7th column (optional) typically contains the label of the GCP.</p></li>
|
||
</ul>
|
||
</div></blockquote>
|
||
<p>GCP file format:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o"><</span><span class="n">projection</span><span class="o">></span>
|
||
<span class="n">geo_x</span> <span class="n">geo_y</span> <span class="n">geo_z</span> <span class="n">im_x</span> <span class="n">im_y</span> <span class="n">image_name</span> <span class="p">[</span><span class="n">gcp_name</span><span class="p">]</span> <span class="p">[</span><span class="n">extra1</span><span class="p">]</span> <span class="p">[</span><span class="n">extra2</span><span class="p">]</span>
|
||
<span class="o">...</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>Example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">+</span><span class="n">proj</span><span class="o">=</span><span class="n">utm</span> <span class="o">+</span><span class="n">zone</span><span class="o">=</span><span class="mi">10</span> <span class="o">+</span><span class="n">ellps</span><span class="o">=</span><span class="n">WGS84</span> <span class="o">+</span><span class="n">datum</span><span class="o">=</span><span class="n">WGS84</span> <span class="o">+</span><span class="n">units</span><span class="o">=</span><span class="n">m</span> <span class="o">+</span><span class="n">no_defs</span>
|
||
<span class="mf">544256.7</span> <span class="mf">5320919.9</span> <span class="mi">5</span> <span class="mi">3044</span> <span class="mi">2622</span> <span class="n">IMG_0525</span><span class="o">.</span><span class="n">jpg</span>
|
||
<span class="mf">544157.7</span> <span class="mf">5320899.2</span> <span class="mi">5</span> <span class="mi">4193</span> <span class="mi">1552</span> <span class="n">IMG_0585</span><span class="o">.</span><span class="n">jpg</span>
|
||
<span class="mf">544033.4</span> <span class="mf">5320876.0</span> <span class="mi">5</span> <span class="mi">1606</span> <span class="mi">2763</span> <span class="n">IMG_0690</span><span class="o">.</span><span class="n">jpg</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>If you supply a GCP file called <code class="docutils literal notranslate"><span class="pre">gcp_list.txt</span></code> then ODM will automatically detect it. If it has another name you can specify using <code class="docutils literal notranslate"><span class="pre">--gcp</span> <span class="pre"><path></span></code>. If you have a gcp file and want to do georeferencing with exif instead, then you can specify <code class="docutils literal notranslate"><span class="pre">--use-exif</span></code>. If you have high precision GPS measurements in your images (RTK) and want to use that information along with a gcp file, you can specify <code class="docutils literal notranslate"><span class="pre">--force-gps</span></code>.</p>
|
||
<p><a class="reference external" href="http://diydrones.com/profiles/blogs/ground-control-points-gcps-for-aerial-photography">This post has some information about placing Ground Control Targets before a flight</a>, but if you already have images, you can find your own points in the images post facto. It’s important that you find high-contrast objects that are found in <strong>at least</strong> 3 photos, and that you find a minimum of 5 objects.</p>
|
||
<p>Sharp corners are good picks for GCPs. You should also place/find the GCPs evenly around your survey area.</p>
|
||
<p>The <code class="docutils literal notranslate"><span class="pre">gcp_list.txt</span></code> file must be created in the base of your project folder.</p>
|
||
<p>For good results your file should have a minimum of 15 lines after the header (5 points with 3 images to each point).</p>
|
||
</section>
|
||
</section>
|
||
<section id="user-interfaces">
|
||
<h3>User Interfaces<a class="headerlink" href="#user-interfaces" title="Link to this heading"></a></h3>
|
||
<p>You can use one of two user interfaces for creating GCP files:</p>
|
||
<blockquote>
|
||
<div><ul class="simple">
|
||
<li><p><a class="reference external" href="https://github.com/posm/posm-gcpi">POSM GCPi</a></p></li>
|
||
<li><p><a class="reference external" href="https://github.com/uav4geo/GCPEditorPro">GCP Editor Pro</a></p></li>
|
||
</ul>
|
||
</div></blockquote>
|
||
<section id="id1">
|
||
<h4>POSM GCPi<a class="headerlink" href="#id1" title="Link to this heading"></a></h4>
|
||
<p>The POSM GCPi is loaded by default on WebODM. An example is available at <a class="reference external" href="http://demo.webodm.org/plugins/posm-gcpi/">the WebODM Demo</a>. To use this with known ground control XYZ values, one would do the following:</p>
|
||
<p>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:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">+</span><span class="n">proj</span><span class="o">=</span><span class="n">utm</span> <span class="o">+</span><span class="n">zone</span><span class="o">=</span><span class="mi">37</span> <span class="o">+</span><span class="n">south</span> <span class="o">+</span><span class="n">ellps</span><span class="o">=</span><span class="n">WGS84</span> <span class="o">+</span><span class="n">datum</span><span class="o">=</span><span class="n">WGS84</span> <span class="o">+</span><span class="n">units</span><span class="o">=</span><span class="n">m</span> <span class="o">+</span><span class="n">no_defs</span>
|
||
<span class="n">gcp01</span> <span class="mf">529356.250827686</span> <span class="mf">9251137.5643209</span> <span class="mf">8.465</span>
|
||
<span class="n">gcp02</span> <span class="mf">530203.125367657</span> <span class="mf">9250140.80991621</span> <span class="mf">15.781</span>
|
||
<span class="n">gcp03</span> <span class="mf">530292.136003818</span> <span class="mf">9250745.02372435</span> <span class="mf">11.977</span>
|
||
<span class="n">gcp04</span> <span class="mf">530203.125367657</span> <span class="mf">9250140.80991621</span> <span class="mf">15.781</span>
|
||
<span class="n">gcp05</span> <span class="mf">530292.136003818</span> <span class="mf">9250745.02372435</span> <span class="mf">11.977</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>Then one can load this GCP list into the interface, load the images, and place each of the GCPs in the image.</p>
|
||
</section>
|
||
<section id="id2">
|
||
<h4>GCP Editor Pro<a class="headerlink" href="#id2" title="Link to this heading"></a></h4>
|
||
<p>This app needs to be installed separately or can be loaded as a WebODM plugin from <a class="reference external" href="https://github.com/uav4geo/GCPEditorPro">https://github.com/uav4geo/GCPEditorPro</a></p>
|
||
<p>Create a CSV file that includes the gcp name, northing, easting and elevation.</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">GCP</span> <span class="n">Label</span><span class="p">,</span><span class="n">Northing</span><span class="p">,</span><span class="n">Easting</span><span class="p">,</span><span class="n">Elevation</span>
|
||
<span class="n">gcp01</span><span class="p">,</span><span class="mf">529356.250827686</span><span class="p">,</span><span class="mf">9251137.5643209</span><span class="p">,</span><span class="mf">8.465</span>
|
||
<span class="n">gcp02</span><span class="p">,</span><span class="mf">530203.125367657</span><span class="p">,</span><span class="mf">9250140.80991621</span><span class="p">,</span><span class="mf">15.781</span>
|
||
<span class="o">...</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>Then import the CSV from the main screen and type <code class="docutils literal notranslate"><span class="pre">+proj=utm</span> <span class="pre">+zone=37</span> <span class="pre">+south</span> <span class="pre">+ellps=WGS84</span> <span class="pre">+datum=WGS84</span> <span class="pre">+units=m</span> <span class="pre">+no_defs</span></code> in the <code class="docutils literal notranslate"><span class="pre">EPSG/PROJ</span></code> box.</p>
|
||
<p>The following screen will display a map from where to select the GCPs to tag and import the respective images.</p>
|
||
</section>
|
||
</section>
|
||
<section id="id3">
|
||
<h3>Referencias<a class="headerlink" href="#id3" title="Link to this heading"></a></h3>
|
||
<p>Toffanin, Piero. <a class="reference external" href="https://odmbook.com/">Open Drone Map: The Missing Guide.</a> MasseranoLabs LLC, 2019.</p>
|
||
</section>
|
||
</section>
|
||
<section id="image-geolocation-files">
|
||
<h2>Image Geolocation Files<a class="headerlink" href="#image-geolocation-files" title="Link to this heading"></a></h2>
|
||
<p>By default ODM will use the GPS information embedded in the images, if it is available. Sometimes images do not contain GPS information, or a user wishes to override the information with more accurate data (such as RTK).</p>
|
||
<p>Starting from ODM <code class="docutils literal notranslate"><span class="pre">2.0</span></code> people can supply an image geolocation file (geo) for this purpose.</p>
|
||
<p>The format of the image geolocation file is simple.</p>
|
||
<blockquote>
|
||
<div><ul class="simple">
|
||
<li><p>The first line should contain the name of the projection used for the geo coordinates. This can be specified either as a PROJ string (e.g. <code class="docutils literal notranslate"><span class="pre">+proj=utm</span> <span class="pre">+zone=10</span> <span class="pre">+ellps=WGS84</span> <span class="pre">+datum=WGS84</span> <span class="pre">+units=m</span> <span class="pre">+no_defs</span></code>), EPSG code (e.g. <code class="docutils literal notranslate"><span class="pre">EPSG:4326</span></code>) or as a <code class="docutils literal notranslate"><span class="pre">WGS84</span> <span class="pre">UTM</span> <span class="pre"><zone>[N|S]</span></code> value (eg. <code class="docutils literal notranslate"><span class="pre">WGS84</span> <span class="pre">UTM</span> <span class="pre">16N</span></code>)</p></li>
|
||
<li><p>Subsequent lines are the image filename, X, Y & Z (optional) coordinates, the camera angles (optional, currently used only for radiometric calibration) and the horizontal/vertical accuracy (optional):</p></li>
|
||
<li><p>Camera angles can be set to <code class="docutils literal notranslate"><span class="pre">0</span></code> if they are not available.</p></li>
|
||
<li><p>The 10th column (optional) can contain extra fields, such as a label.</p></li>
|
||
</ul>
|
||
</div></blockquote>
|
||
<p>File format:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o"><</span><span class="n">projection</span><span class="o">></span>
|
||
<span class="n">image_name</span> <span class="n">geo_x</span> <span class="n">geo_y</span> <span class="p">[</span><span class="n">geo_z</span><span class="p">]</span> <span class="p">[</span><span class="n">yaw</span> <span class="p">(</span><span class="n">degrees</span><span class="p">)]</span> <span class="p">[</span><span class="n">pitch</span> <span class="p">(</span><span class="n">degrees</span><span class="p">)]</span> <span class="p">[</span><span class="n">roll</span> <span class="p">(</span><span class="n">degrees</span><span class="p">)]</span> <span class="p">[</span><span class="n">horz</span> <span class="n">accuracy</span> <span class="p">(</span><span class="n">meters</span><span class="p">)]</span> <span class="p">[</span><span class="n">vert</span> <span class="n">accuracy</span> <span class="p">(</span><span class="n">meters</span><span class="p">)]</span> <span class="p">[</span><span class="n">extras</span><span class="o">...</span><span class="p">]</span>
|
||
<span class="o">...</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>Example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">EPSG</span><span class="p">:</span><span class="mi">4326</span>
|
||
<span class="n">DJI_0028</span><span class="o">.</span><span class="n">JPG</span> <span class="o">-</span><span class="mf">91.9942096111111</span> <span class="mf">46.84252125</span> <span class="mf">198.609</span>
|
||
<span class="n">DJI_0032</span><span class="o">.</span><span class="n">JPG</span> <span class="o">-</span><span class="mf">91.9938293055556</span> <span class="mf">46.8424584444444</span> <span class="mf">198.609</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>If you supply a file called <code class="docutils literal notranslate"><span class="pre">geo.txt</span></code> then ODM will automatically detect it. If it has another name you can specify using <code class="docutils literal notranslate"><span class="pre">--geo</span> <span class="pre"><path></span></code>.</p>
|
||
<p>The <code class="docutils literal notranslate"><span class="pre">geo.txt</span></code> file must be created in the base of your project folder or when using WebODM, uploaded with the raw jpg or tif input files.</p>
|
||
</section>
|
||
<section id="improving-relative-accuracy">
|
||
<h2>Improving relative accuracy<a class="headerlink" href="#improving-relative-accuracy" title="Link to this heading"></a></h2>
|
||
<p>Georeferencing by default is done using GPS (GNSS) or GCPs (if provided).</p>
|
||
<p>Starting from ODM <code class="docutils literal notranslate"><span class="pre">3.0.2</span></code> people can supply a reference alignment file to georeference the program outputs. The reconstruction will be initially performed using GPS/GCPs and will subsequently be aligned to the reference model via a linear scaling/rotation/shift operation.</p>
|
||
<p>If you supply a file called <code class="docutils literal notranslate"><span class="pre">align.laz</span></code>, <code class="docutils literal notranslate"><span class="pre">align.las</span></code> or <code class="docutils literal notranslate"><span class="pre">align.tif</span></code> (single band GeoTIFF DEM) then ODM will automatically detect it and attempt to align outputs to this reference model. If it has another name you can specify using <code class="docutils literal notranslate"><span class="pre">--align</span> <span class="pre"><path></span></code>.</p>
|
||
<p>The alignment file must be created in the base of your project folder. The base folder is usually where you have stored your images. If you are using WebODM or NodeODM, then upload the align file with your images. If resizing your images in WebODM, use an <code class="docutils literal notranslate"><span class="pre">align.laz</span></code> or <code class="docutils literal notranslate"><span class="pre">align.las</span></code> file instead of a tif.</p>
|
||
<section id="multi-temporal-datasets">
|
||
<h3>Multi-temporal Datasets<a class="headerlink" href="#multi-temporal-datasets" title="Link to this heading"></a></h3>
|
||
<p>When previously mapped sites need revisited, OpenDroneMap can align multiple versions of a dataset through time by using a prior point cloud or digital elevation model. As the prior point cloud <a class="reference external" href="https://community.opendronemap.org/t/tips-to-increase-same-site-temporal-consistency/22161/7">seems to provide better results</a>, that is the approach we will review here.</p>
|
||
<p><strong>Workflow for multi-temporal datasets:</strong></p>
|
||
<ol class="arabic">
|
||
<li><p>Process your original data. This step doesn’t require a ground control point file, but use one if absolute accuracy is a project requirement</p></li>
|
||
<li><p>Download the Point Cloud from your first processed dataset as an LAZ file type (default). Rename the point cloud to align.laz</p></li>
|
||
<li><p>Include that LAZ file with each of your subsequent processing. If you are using command line ODM, include it in the images directory. If uploading, simply upload with your raw images for processing</p></li>
|
||
<li><p>Check your log. It should include a line near the top that indicates it has set align to a path value, something like this:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">Initializing</span> <span class="n">ODM</span> <span class="mf">3.5.3</span> <span class="o">-</span> <span class="n">Tue</span> <span class="n">Oct</span> <span class="mi">15</span> <span class="mi">05</span><span class="p">:</span><span class="mi">01</span><span class="p">:</span><span class="mi">43</span> <span class="mi">2024</span>
|
||
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="o">==============</span>
|
||
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="mi">3</span><span class="n">d_tiles</span><span class="p">:</span> <span class="kc">False</span>
|
||
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">align</span><span class="p">:</span> <span class="o">/</span><span class="n">var</span><span class="o">/</span><span class="n">www</span><span class="o">/</span><span class="n">data</span><span class="o">/</span><span class="n">bc14fa2c</span><span class="o">-</span><span class="n">ba5c</span><span class="o">-</span><span class="mi">4</span><span class="n">b85</span><span class="o">-</span><span class="mi">99</span><span class="n">b0</span><span class="o">-</span><span class="mi">0</span><span class="n">b7ff715b210</span><span class="o">/</span><span class="n">gcp</span><span class="o">/</span><span class="n">align</span><span class="o">.</span><span class="n">laz</span>
|
||
<span class="p">[</span><span class="n">INFO</span><span class="p">]</span> <span class="n">auto_boundary</span><span class="p">:</span> <span class="kc">True</span>
|
||
</pre></div>
|
||
</div>
|
||
</li>
|
||
</ol>
|
||
<p><strong>Output example for aligned datasets:</strong></p>
|
||
<figure class="align-center">
|
||
<img alt="Animated gif comparing two separately processed, but aligned digital surface models." src="../_images/align_pc.webp" />
|
||
</figure>
|
||
<p>Animated gif comparing two separately processed, but aligned digital surface models.</p>
|
||
<section id="plugin-time-sift">
|
||
<h4>Plugin Time-SIFT<a class="headerlink" href="#plugin-time-sift" title="Link to this heading"></a></h4>
|
||
<p>The script at contrib/time-sift in the ODM repository does Time-SIFT processing with ODM. Time-SIFT is a method for multi-temporal analysis without the need to co-registrate the data.</p>
|
||
<blockquote>
|
||
<div><p>D. Feurer, F. Vinatier, Joining multi-epoch archival aerial images in
|
||
a single SfM block allows 3-D change detection with almost
|
||
exclusively image information, ISPRS Journal of Photogrammetry and
|
||
Remote Sensing, Volume 146, 2018, Pages 495-506, ISSN 0924-2716, doi:
|
||
10.1016/j.isprsjprs.2018.10.016
|
||
(<a class="reference external" href="https://doi.org/10.1016/j.isprsjprs.2018.10.016">https://doi.org/10.1016/j.isprsjprs.2018.10.016</a>)</p>
|
||
</div></blockquote>
|
||
<section id="requirements">
|
||
<h5>Requirements<a class="headerlink" href="#requirements" title="Link to this heading"></a></h5>
|
||
<ul class="simple">
|
||
<li><p>ODM ! :-)</p></li>
|
||
<li><p>subprocess</p></li>
|
||
<li><p>json</p></li>
|
||
<li><p>os</p></li>
|
||
<li><p>shutil</p></li>
|
||
<li><p>pathlib</p></li>
|
||
<li><p>sys</p></li>
|
||
<li><p>argparse</p></li>
|
||
<li><p>textwrap</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="usage">
|
||
<h5>Usage<a class="headerlink" href="#usage" title="Link to this heading"></a></h5>
|
||
</section>
|
||
<section id="provided-example">
|
||
<h5>Provided example<a class="headerlink" href="#provided-example" title="Link to this heading"></a></h5>
|
||
<p>Download or clone <a class="reference external" href="https://forge.inrae.fr/Denis.Feurer/timesift-odm-data-example.git">this repo</a>
|
||
to get example data.</p>
|
||
<p>Then execute</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="n">Timesift_odm</span><span class="o">.</span><span class="n">py</span> <span class="n">datasets</span> <span class="o">--</span><span class="n">end</span><span class="o">-</span><span class="k">with</span> <span class="n">odm_filterpoints</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>It should make the Time-SIFT processing on the downloaded example data, stopping after the filtered dense clouds step.</p>
|
||
<p>In the destination dir, you should obtain new directories, <code class="docutils literal notranslate"><span class="pre">0_before</span></code> and <code class="docutils literal notranslate"><span class="pre">1_after</span></code> at the same level as the <code class="docutils literal notranslate"><span class="pre">time-sift-block</span></code> directory. These new directories contain all the results natively co-registered.</p>
|
||
<p>You can then use <a class="reference external" href="https://cloudcompare.org/">CloudCompare</a> to compute distance between the <code class="docutils literal notranslate"><span class="pre">datasets/0_before/odm_filterpoints/point_cloud.ply</span></code> and the <code class="docutils literal notranslate"><span class="pre">datasets/1_after/odm_filterpoints</span> <span class="pre">point_cloud.ply</span></code> and obtain this image showing the difference between the two 3D surfaces. Here, two soil samples were excavated as can be seen on the image below.</p>
|
||
<figure class="align-center">
|
||
<img alt="Distance between two point clouds showing soil surface before and after soil excavation (soil sampling for bulk density measurement)." src="../_images/timeSIFTexampleSoilExcavation.webp" />
|
||
</figure>
|
||
<section id="your-own-data">
|
||
<h6>Your own data<a class="headerlink" href="#your-own-data" title="Link to this heading"></a></h6>
|
||
<p>In your dataset directory (usually <code class="docutils literal notranslate"><span class="pre">datasets</span></code>, but you can have chosen another name) you have to prepare a Time-SIFT project directory (default name : <code class="docutils literal notranslate"><span class="pre">time-sift-block</span></code>, <em>can be tuned via a parameter</em>) that contains : * <code class="docutils literal notranslate"><span class="pre">images/</span></code> : a subdirectory with all images of all epochs. This directory name is fixed as it is the one expected by ODM *
|
||
<code class="docutils literal notranslate"><span class="pre">images_epochs.txt</span></code> : a file that has the same format as the file used for the split and merge ODM function. This file name <em>can be tuned via a parameter</em>.</p>
|
||
<p>The <code class="docutils literal notranslate"><span class="pre">images_epochs.txt</span></code> file has two columns, the first column contains image names and the second contains the epoch name as follows</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">DSC_0368</span><span class="o">.</span><span class="n">JPG</span> <span class="mi">0</span><span class="n">_before</span>
|
||
<span class="n">DSC_0369</span><span class="o">.</span><span class="n">JPG</span> <span class="mi">0</span><span class="n">_before</span>
|
||
<span class="n">DSC_0370</span><span class="o">.</span><span class="n">JPG</span> <span class="mi">0</span><span class="n">_before</span>
|
||
<span class="n">DSC_0389</span><span class="o">.</span><span class="n">JPG</span> <span class="mi">1</span><span class="n">_after</span>
|
||
<span class="n">DSC_0390</span><span class="o">.</span><span class="n">JPG</span> <span class="mi">1</span><span class="n">_after</span>
|
||
<span class="n">DSC_0391</span><span class="o">.</span><span class="n">JPG</span> <span class="mi">1</span><span class="n">_after</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>Your directory, before running the script, should look like this :</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$PWD/datasets/
|
||
└── time-sift-block/
|
||
├── images/
|
||
└── images_epochs.txt
|
||
</pre></div>
|
||
</div>
|
||
<p>At the end of the script you obtain a directory by epoch (at the same level as the Time-SIFT project directory). Each directory is processed with images of each epoch and all results are natively co-registered due to the initial sfm step done with all images.</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$PWD/datasets/
|
||
├── 0_before/
|
||
├── 1_after/
|
||
└── time-sift-block/
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
</section>
|
||
</section>
|
||
</section>
|
||
<section id="aligning-large-datasets">
|
||
<h3>Aligning Large Datasets<a class="headerlink" href="#aligning-large-datasets" title="Link to this heading"></a></h3>
|
||
<p>When attempting to process very large datasets it may very well be the case that one needs to devide a large set of images into smaller more manageable chunks for ease of processing.This process however, may introduce some uncertainty with respect to the alignment of all the processed outputs.To make sure that all point clouds and terrain/suface models are seamlessly alighn in preparation for merging we follow the simple techniques outlined below.</p>
|
||
<p><strong>Workflow for aligning large datasets:</strong></p>
|
||
<p>#.Split the full compliment of images into manageable chunks. E.g. If you have flown and collected a total of 1000 images but you know your processor cannot handle all these images at once, you may want to devide these images into four sets of submodels with 250 images each.
|
||
#.Process the first dataset with theDigital Surface Model (DSM) option enabled.
|
||
#.Download the DSM from first dataseta in its raw-tiff format and rename it to “align.tif”
|
||
#.Load the second dataset together with the align.tif
|
||
#.Process the second dataset (including the align.tif file)
|
||
#.Repeat until all submodels have been processed.</p>
|
||
<p><a class="reference external" href="https://github.com/opendronemap/docs#how-to-make-your-first-contribution">Aprende a editar</a> y ayuda a mejorar <a class="reference external" href="https://github.com/OpenDroneMap/docs/blob/publish/source/map-accuracy.rst">esta página</a>!</p>
|
||
</section>
|
||
</section>
|
||
</section>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Pie de página">
|
||
<a href="../outputs/" class="btn btn-neutral float-left" title="Salidas de OpenDroneMap" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Anterior</a>
|
||
<a href="../multispectral/" class="btn btn-neutral float-right" title="Multispectral and Thermal" accesskey="n" rel="next">Siguiente <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||
</div>
|
||
|
||
<hr/>
|
||
|
||
<div role="contentinfo">
|
||
<p>© Derechos de autor 2020, OpenDroneMap.</p>
|
||
</div>
|
||
|
||
Compilado con <a href="https://www.sphinx-doc.org/">Sphinx</a> usando un
|
||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">tema</a>
|
||
proporcionado por <a href="https://readthedocs.org">Read the Docs</a>.
|
||
|
||
|
||
</footer>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
<script>
|
||
jQuery(function () {
|
||
SphinxRtdTheme.Navigation.enable(true);
|
||
});
|
||
</script>
|
||
|
||
</body>
|
||
</html> |