miércoles, 27 de julio de 2016

Modelación de nichos ecológicos en SIG

En el ámbito profesional nos hemos topado con la necesidad de desarrollar y realizar iniciativas o medidas de conservación y restauración ecológica, una de ellas lo es la reforestación y/o reubicación de especies.  Para llevar a cabo dicha tarea, es necesario conocer aquellas áreas que por sus características bióticas son óptimas y tendrían éxito de supervivencia a largo plazo.
Para ello se han desarrollado herramientas  que permiten ubicar espacialmente las zonas que cumplen con las características necesarias; por ejemplo, los Sistemas de Información Geográfica o técnicas de percepción remota, sin embargo, los modelos de distribución de especies han cobrado fuerza debido a que son capaces determinar la distribución de especies poco estudiadas o con datos limitados generando información biológica valiosa.
En este caso hablaremos sobre el software MaxEnt, el cual es un algoritmo estadístico de máxima entropía, es decir mide la información contenida en una distribución –la incertidumbre respecto al resultado de un experimento- empleando la entropía de Shannon.

“Es un método de inteligencia artificial que aplica el principio de máxima entropía para calcular la distribución geográfica más probable para una especie. MaxEnt estima la probabilidad de ocurrencia de la especie buscando la distribución de máxima entropía (lo más uniforme posible) sujeta a la condición de que el valor esperado de cada variable ambiental según esta distribución coincide con su media empírica. El resultado del modelo expresa el valor de idoneidad del hábitat para la especie como una función de las variables ambientales. Un valor alto de la función de distribución en una celda determinada indica que ésta presenta condiciones muy favorables para la presencia de la especie. MaxEnt puede utilizar variables cualitativas, otorgando a cada valor de la variable un peso relativo al número total de puntos de presencia que contiene. El programa proporciona las curvas de respuesta de la especie ante las distintas variables ambientales y estima la importancia de cada variable en la distribución de la especie”.
(Phillips et al., 2006) (www.cs.princeton.edu/~schapire/maxent)


El modelo requiere de dos entradas de datos, el primero son puntos (x,y) en donde se ha registrado la especie, es decir una muestra. El segundo consiste en capas de información ambiental que permite el desarrollo de la especie, por ejemplo, precipitación, temperatura, edafología entre otros.
El resultado del proceso va de una escala de 0 a 1, donde 1 representa el área más óptima para el establecimiento de la especie en cuestión, y los valores por debajo tendrían una menor probabilidad de supervivencia hasta llegar al 0 en donde es nula la posibilidad del desarrollo.

Resultado de MaxEnt para encontrar sitios con potencial para la reforestación de manglar. Las áreas azules tienen mayor aptitud, sin embargo, el resultado aún puede afinarse para obtener zonas con el mayor porcentaje de sobrevivencia de la especie.
Cabe destacar que la calidad del resultado depende complemente de los datos de entrada, ya que, si las variables ambientales cuentan con una escala tosca, el producto estará poco definido incurriendo en errores. Asimismo, es necesario conocer las particularidades de la especie que se esté estudiando, ya que el resultado es un apoyo que bien debe ser revisado y afinado en SIG para la entrega de resultados certeros y puntuales.
Las zonas en tonos morado representan las áreas que son aptas y tienen un alto porcentaje de sobrevivencia de la especie, el resultado modelo en SIG.



miércoles, 8 de junio de 2016

Vuelos con Drones | La diferencia en los parámetros del procesamiento

El motivo de esta entrada es evidenciar los resultados, notablemente superiores, del procesamiento generado en súper alta calidad y máxima densidad de puntos en vuelos fotogramétricos.

El objetivo de realizar vuelos fotogramétricos con dron es obtener resoluciones inferiores a los 5 cm y precisiones en el mismo rango de valores. Lo anterior permite identificar elementos individuales (contornos y geometrías) como el de las rocas de la imagen anterior. (Nube de puntos LAS en RGB, Clic en la imagen para ampliar)
Existe una clara diferencia entre resultados del procesamiento fotogramétrico de vuelos con drones de acuerdo a los parámetros que la paquetería que se eligen. Lo anterior significa que las nubes de puntos generadas con los parámetros estándar (software) no tienen la misma densidad ni precisión que las mismas nubes generadas en parámetros de máxima calidad. 

El problema radica que en muchas ocasiones y para cubrir cronogramas exigentes de entrega o por desconocimiento del funcionamiento propio del software, existen pocos proyectos en el mercado que se generan con la calidad máxima que ofertamos en nuestras soluciones.

A continuación presentamos un ejemplo de los resultados obtenidos bajo distintos parámetros de calidad.

Insumos y procesamiento

Se empleó un dataset de 367 fotografías de la cámara Sony Nex 7 (24 Mp) cubriendo un área total aproximada de 35 ha. En otro post se abordará la importancia del sensor en los vuelos fotogramétricos.

Se realizó la generación de nubes de puntos LAS en tres parámetros de procesamaiento, calidad muy baja, media y muy alta.

Procesamiento en calidad muy baja


La nube de puntos LAS generó 3, 180, 931 puntos (x,y,z,r,g,b). El tiempo de procesamiento fue de 1 minutos y 9 segundos. Es importante mencionar que lo anterior representa una densidad aproximada de 9 puntos por metro cuadrado.
La nube de puntos generó un resultado aparentemente bueno si se observa el modelo en su totalidad (35 hectáreas) sin embargo se observa una pobre definición de contornos en geometrías particulares.
La nube de puntos generada en muy bajo permite identificar la geometría básica del terreno, sin embargo no permite identificar bordes definidos.

Procesamiento en calidad media

La nube de puntos LAS generó 54, 423,404 puntos (x,y,z,r,g,b). El tiempo de procesamiento fue de 35 minutos y 25 segundos. Es importante mencionar que lo anterior representa una densidad aproximada de 155 puntos por metro cuadrado. Los resultados son visiblemente superiores.
La calidad es notablemente superior, se comienzan a definir bordes. También se pueden observar elementos pequeños como rocas.

En esta calidad si bien el resultado es visiblemente superior, la densidad de puntos es aproximadamente 1 punto cada 10 cm, inferior a la ofertada como solución en los levantamientos vía dron.

Procesamiento en calidad Alta

La nube de puntos LAS generó 925, 049, 109 puntos (x,y,z,r,g,b). El tiempo de procesamiento fue de 16 horas con 18 minutos. Es importante mencionar que lo anterior representa una densidad aproximada de +2000 puntos por metro cuadrado (Aproximadamente un punto cada 5 cm). Los resultados son impresionantes y permiten generar altimetría, curvas de nivel o perfiles con el más alto nivel de calidad.
Los resultados empleando este nivel de calidad permiten garantizar los resultados de la nube de puntos. Los resultados son fotorrealistas



La densidad obtenida con la calidad permite realizar validación de cotas empleando sitios de control aleatorios para la validación de los resultados. De otra manera no es posible garantizar la precisión de los resultados.

Conclusión

Es importante que tanto los especialistas del ramo, como los clientes que solicitan este tipo de trabajos conozcan la diferencia y la calidad de los productos que se pueden obtener a partir de los sobrevuelos de dron. Solo de esta manera se podrá garantizar un crecimiento positivo de esta técnica en el ramo profesional.

Nube de puntos generada en calidad "Muy Alta"
Nube de puntos generada en calidad "Media"
Nube de puntos generada en calidad "Muy Baja"
NOTA: Los datasets empleados en el presente ejemplo son propiedad de sus autores y los mismos se empelan de manera académica, como referencia y sin ánimo de lucro.

domingo, 5 de junio de 2016

Vuelos con Drones | El mejor equipo para procesar vuelos fotogramétricos con Dron



Una duda que me externan comúnmente mis clientes y amigos, es que clase de equipo debe ser aquel que procese datasets de más de 2,000 fotos en cuestión de días, entregando nubes de puntos con cientos de millones de puntos y mosaicos con pocos centímetros de resolución espacial. El motivo de la presente entrada es aportar nuestra experiencia, con fundamento técnico, sobre la forma de equiparse correctamente para estas tareas.
El procesamiento de imágenes aéreas para obtener nubes de puntos es extremadamente demandante de recursos en los equipos que se realiza. Nosotros recomendamos ampliamente no realizar el proceso automatizado (next, next) por lo que es importante considerar las capacidades de Hardware en los equipos.

El análisis.

Lo primero. Es importante destacar que nosotros trabajamos bajo el precepto de costo vs desempeño de los equipos; lo anterior evita cometer uno de los errores más comunes al adquirir equipo de cómputo que se expresa como: El equipo más costoso es el mejor.

Segundo. La paquetería más empleada para estas tareas, Pix4D y Photoscan, es muy clara al respecto: Un procesador Xeon (Procesadores base para las Workstations y Servidores) no aportará gran capacidad de procesamiento e inclusive, de acuerdo al modelo pueden ser mucho más lentos que la última gama de procesadores i7. Lo anterior implica que si no se personalizan tareas en una workstation o servidor (Uno de los principales beneficios de los procesadores Xeon). Ahora, cabe destacar que como mencionamos en el primer punto, estamos valorando costo vs desempeño y que un equipo con 2 o 4 procesadores Xeon (E5-269x) tiene ventajas muy superiores sobre los procesadores i7.

Tercero. ¿Qué marca de computadoras es la mejor? Es una pregunta muy relativa y al igual que los autos, todas las marcas tienen sus ventajas y desventajas. Sin embargo, mi recomendación particular es armar sus propios equipos y la razón es muy simple. Un equipo ensamblado tiene un periodo de vida mucho más amplio que un equipo de fabricante, ya que las piezas son intercambiables y normalmente, reemplazamos componentes, ya sea para mejorar componentes o reparaciones.

Cuarto. Es necesario identificar el tipo de usuario que somos, ya que el tamaño de los mosaicos generados, el dron empleado (Algunos cuentan con software de propietario) y los productos requeridos definen el tipo de equipo a adquirir. La razón es muy simple, un usuario que genera mosaicos fotogramétricos en terrenos de 25 ha no requiere un equipo Hp-Z840zc con  128 GB y tarjeta de video Quadro, mientras que un usuario que procese normalmente, más de 1000 Ha requiere de un equipo personalizado (no sólo en Hardware sino asignando "Jobs" y optimizando recursos del sistema operativo). 

Uno de los objetivos del procesamiento de fotografías aéreas es generar nubes de puntos que permitan conocer las elevaciones (X,Y,Z) de los elementos sobre la superficie terrestre.


Tarjeta de video

Consideré la tarjeta de video como un elemento adicional, ya que de acuerdo al software que se emplea para el procesamiento, puede o no ser un elemento fundamental. El componente que aporta el procesamiento en diversas etapas de la generación de nubes de puntos consiste en el GPU (Núcleos CUDA) y su compatibilidad con OpenCL. En diversos Benchmarks realizados por la comunidad y los fabricantes se detectó que el mayor rendimiento se obtiene con la tarjeta Nvidia GTX 980 Ti. Además la disminución en tiempos de procesamiento al colocar más de una tarjeta en SLI es de entre 30% y 15% por tarjeta adicional.

Una vez se establezca en el mercado y se actualicen controladores, la GTX 1080 será una alternativa excelente.

Mi recomendación.

En resumen, un setup que nos ha traído excelentes resultados (en computadoras de escritorio) es:
  • CPU: i7 5930 k
  • RAM: 64 GB
  • GPU: 2 X 980 TI SLI
El resto de los componentes deberán de adecuarse de acuerdo a las necesidades de enfriamiento o almacenamiento que se requiera en el equipo.

viernes, 3 de junio de 2016

Jardín Botánico de la FES Cuautitlán | Presentación



No cabe duda que el Jardín Botánico de la Facultad de Estudios Superiores (FES) Cuautitlán, es una de las colecciones más importantes del país. En sus cerca de mil metros cuadrados alberga individuos representativos de diferentes ecosistemas mexicanos conteniendo más de mil individuos, que representan a más de 400 especies endémicas de México.



Es debido a su importancia y la diversidad biológica que posee, que ha sido objeto de estudio y difusión por diversos actores de la sociedad, cobrando mayor relevancia en el ámbito botánico nacional.


En GeoAsset con la colaboración de la asociación compacactus y la administración del jardín botánico desarrollamos un proyecto de desarrollo, investigación y difusión de las actividades realizadas en este importante recinto, a través de la generación de procesos avanzados de percepción remota, detección de firma espectral, sistemas de información geográfica local y geodatabases.

Ortofoto con resolución de 1 cm del Jardín Botánico

Los resultados se irán integrando en las labores diarias del jardín botánico, así como en eventos de difusión y estudios científicos orientados al estudio de la flora.
En la siguiente entrada se abordará el primer esfuerzo de campo, consistente en el control terrestre.

sábado, 7 de mayo de 2016

Produndidad de Píxel. 8, 16, 32 y 64 bits

En el ámbito geográfico, comúnmente trabajamos con dos modelos lógicos para la representación y almacenamiento de datos, el formato ráster y vectorial. 

De manera general, los datos ráster se conforman por un arreglo de datos ordenados en filas y columnas muy similar a las matrices; donde uno de los aspectos más importantes es la cantidad de datos que cada celda puede almacenar. 

El motivo de la presente entrada es abundar en uno de los atributos más importantes del formato ráster: "La profundidad del píxel" o "Bits por píxel".

Ejemplo de imagen 8 bits. Landsat 5 (256 niveles)

¿Qué es la profundidad de píxel?

Es buena práctica interpretar un archivo ráster como una matriz (arreglo bidimensional de datos ordenados en filas y columnas), donde cada posición recibe el nombre de píxel. Este tipo de archivos son comúnmente empleados en el ámbito de las ciencias geoespaciales y los tipos más comunes son fotografías aéreas digitales, imágenes de satélite, imágenes digitales o incluso mapas escaneados.

Los archivos ráster contienen diversos atributos que permiten su visualización, interpretación y composición. El que atañe a la presenta entrada corresponde a la profundidad de píxel o bits por píxel.

La profundidad de píxel se define como el número de bits que puede contender cada celda de un archivo ráster. De cierta forma se entiende como el "tamaño del contenedor de datos" que existe en cada celda o píxel. Donde una profundidad de píxel mayor permitirá almacenar números más grandes.

Para comprender este concepto es necesario conocer la manera en que las computadoras almacenan datos, donde la unidad mínima es el bit; mismo que puede interpretarse como 1 o 0 (impulso o ausencia del mismo). Para más información recomiendo leer el siguiente artículo sobre notación binaria: AQUI

Los impulsos mencionados anteriormente son empleados para generar números de acuerdo a la notación binaria. Es así que se establece una relación del tamaño de los números (cantidad de bits) que puede contener cada celda de un archivo ráster de acuerdo a la siguiente relación:

  • 1 Bit (2) = Puede almacenar dos valores: 0 o 1.
  • 8 Bits (256) = Puede almacenar valores que van de 0 a 255.
  • 16 Bits (65536) = Puede almacenar valores de van de 0 a 65535.
  • 32 Bits = Puede almacenar valores que van de 0 to 4294967295.

¿Por que usar diferentes profundidades de píxel en los archivos ráster?

La principal necesidad de emplear diferentes profundidades de píxel en este tipo de archivos, radica en el tamaño (Expresado en Mb, Gb o Tb) que pueden alcanzar los archivos vectoriales. Como ejemplo la siguiente relación para una imágen de 0.3 Megapixeles (632x474):
  • 1 Bit = Puede alcanzar valores de 37.5 Kb.
  • 8 Bits = Puede alcanzar valores de 300 Kb.
  • 16 Bits = Puede alcanzar valores de 900 Kb.
  • 32 Bits = Puede alcanzar valores de 1200 Kb.
Finalmente, es importante destacar la importancia de la profundidad de pixeles en el desarrollo de proyectos de Sistemas de Información Geográfica orientados a ráster, ya que la optimización de recursos facilita las tareas de procesamiento y difusión de datos geoespaciales.