Menu
in

Crea modelos de elevación con imágenes tomadas con drones

Vamos optimizar el funcionamiento de OpenDroneMap

Fotos tomadas con drones

Fotos tomadas con drones

Gracias a las imágenes tomadas con drones y la plataforma OpenDroneMap, podemos obtener de una forma más simple y económica modelos fotográficos de cualquier superficie del planeta, en la que todos los elementos estarán en la misma escala, libre de errores y deformaciones (ortofotografía).

También podremos obtener este servicio contratando directamente empresas satelitales o aviones que vuelan a gran altura. Estos servicios costosos no fallan y nos ofrecen una escala perfecta de la región registrada (necesitan estar a escala regional (>1 Km2)), a diferencia de las fotos tomadas con drones (que tienen este fallo).

Pero para subsanar este problema existe una plataforma llamada OpenDroneMap que procesa imágenes tomadas con drones. La escala regional (>1 Km2), es idónea para realizar estudios de recursos hídricos y medioambientales. Y de esta manera determinar los flujos de aguas superficiales y subterráneas con respecto a su interacción con el ecosistema.

¿Qué es OpenDroneMap?

OpenDroneMap es una completa plataforma para el procesamiento de imágenes tomadas con drones. El entorno dispone de diferentes herramientas para el procesamiento y análisis de imágenes:

  • Nubes de puntos
  • Mallas
  • Rásters como GDAL
  • OpenSfm
  • OpenCV
  • Pdal
  • Generar una nube de puntos geoespaciales
  • Generar ortofotos
  • Crear modelos de elevación

Para optimizar todas las dependencias de OpenDroneMap, se recomienda ejecutarlo en un entorno de virtualización como Docker.

Fotos a gran altura

Ingresar los datos de entrada en OpenDroneMap

Para realizar este método, tienes que disponer de las fotografías. Si no dispones de las fotos, puedes descargarte imágenes de muestras desde la Web “Adobe Buttes – Delta, Colorado”. Cada paquete dispone de alrededor de 500 imágenes, en esta prueba hemos dividido las imágenes en tres subgrupos (alrededor de 150 imágenes cada grupo).

Ahora te vamos a copiar los comandos de Linux para almacenar la fecha y los comandos de Docker para ejecutarse en OpenDroneMap:

date > outputData/images400start.log

docker run –rm -v “$(pwd)/inputImages/images400:/code/images”

-v “$(pwd)/outputData/odm_georeferencing400:/code/odm_georeferencing”

-v “$(pwd)/outputData/odm_orthophoto400:/code/odm_orthophoto”

opendronemap/opendronemap

date > outputData/images400end.log

Análisis de rendimiento utilizando Python:

Con Python hemos registrado y procesado el tiempo de inicio y finalización del procesamiento de OpenDroneMap (cantidad y tamaño de las fotos procesadas).

Tiempo de respuesta

Si realizamos el cálculo de simulación para un ordenador medio (Arquitectura: x86_64 – CPU (s): 8 / Intel (R) Core (TM) i7-4790 CPU @ 3.60GHz / MHz de CPU: 3899.047) fue de alrededor de 6 horas, para unas 500 imágenes (peso total de 3000 MB).

A continuación deberás hacer el enfrentamiento entre el número de imagen contra el tiempo computacional (línea de tendencia y ecuación de regresión), con respecto a los tres paquetes armados (alrededor de 150 fotos cada paquete) que tiene un mejor rendimiento, contrastado a la inserción de un solo paquete (500 fotos). Sí, claramente esto no es para principiantes, sino más bien para personas que saben lo que quieren hacer y tienen conocimientos sobre cómo hacerlo.

Con los tres paquetes

Gracias al agrupamiento de imágenes por ubicación, hemos mejorado mucho el tiempo de cálculo, aunque en algunas pruebas la distancia diferencial de la superposición de las imágenes resultantes fue superior a 1 metro. Dependiendo de tus necesidades, este programa podrá serte de utilidad.

Escrito por Edgardo Fernandez

Leave a Reply