Estoy buscando un método para procesar una imagen de detección remota y extraer las áreas de copa de los árboles individuales de la imagen.
Tengo imágenes de área visual de longitud de onda visual y datos LIDAR del área. La ubicación en cuestión es un área desértica, por lo que la cubierta arbórea no es tan densa como un área forestal. La resolución de las imágenes aéreas es de 0.5 pies por 0.5 pies. La resolución lidar es de aproximadamente 1 x 1 pie. Tanto los datos visuales como el lidar provienen de un conjunto de datos del condado de Pima, Arizona. Una muestra del tipo de imágenes aéreas que tengo está al final de esta publicación.
Esta pregunta ¿ Detección de árbol único en ArcMap? parece ser el mismo problema, pero no parece haber una buena respuesta allí.
Puedo obtener una clasificación razonable de los tipos de vegetación (e información sobre el porcentaje de cobertura general) en el área utilizando la clasificación Iso Cluster en Arcmap, pero esto proporciona poca información sobre árboles individuales. Lo más cercano que tengo a lo que quiero son los resultados de pasar la salida de la clasificación de isocluster a través de la característica Ráster a polígono en Arcmap. El problema es que este método se fusiona cerca de los árboles en un solo polígono.
Editar: Probablemente debería haber incluido más detalles sobre lo que tengo. Los conjuntos de datos en bruto que tengo son:
- Los datos completos y un ráster tiff generado a partir de ellos.
- Imágenes visuales (como la imagen de muestra que se muestra, pero que cubre un área mucho más amplia)
- Mediciones directas manuales de un subconjunto de los árboles en el área.
De estos he generado:
- Las clasificaciones de suelo / vegetación.
- Los rásteres DEM / DSM.
fuente
Respuestas:
Existe una considerable cantidad de literatura sobre detección de corona individual en datos espectrales y lidar. Métodos sabios, tal vez comience con:
Falkowski, MJ, AMS Smith, PE Gessler, AT Hudak, LA Vierling y JS Evans. (2008) La influencia de la cubierta del dosel del bosque de coníferas en la precisión de dos algoritmos de medición de árboles individuales utilizando datos LIDAR. Canadian Journal of Remote Sensing 34 (2): 338-350.
Smith AMS, EK Strand, CM Steele, DB Hann, SR Garrity, MJ Falkowski, JS Evans (2008) Producción de mapas de estructura espacial de vegetación mediante análisis por objeto de la invasión de enebro en fotografías aéreas multitemporales. Canadian Journal Remote Sensing 34 (2): 268-285
Si está interesado en el método Wavelet (Smith et al., 2008), lo tengo codificado en Python, pero es muy lento. Si tiene experiencia con Matlab, aquí es donde se implementa en modo de producción. Tenemos dos documentos en los que identificamos ~ 6 millones de acres de invasión de enebro en el este de Oregón utilizando el método wavelet con imágenes NAIP RGB-NIR, por lo que está bien probado.
Baruch-Mordo, S., JS Evans, J. Severson, JD Naugle, J. Kiesecker, J. Maestas y MJ Falkowski (2013) Salvando el urogallo de los árboles: una solución proactiva para reducir una amenaza clave para un candidato Conservación biológica de especies 167: 233-241
Poznanovic, AJ, MJ Falkowski, AL Maclean y JS Evans (2014) Evaluación de precisión de algoritmos de detección de árboles en bosques de enebro. Ingeniería fotogramétrica y teledetección 80 (5): 627–637
Existen algunos enfoques interesantes, en general la descomposición de objetos, de la literatura de espacio de estado matemática aplicada que utiliza procesos gaussianos de resolución múltiple para descomponer las características del objeto a escala. Utilizo este tipo de modelos para describir procesos a múltiples escalas en modelos ecológicos, pero podría adaptarse para descomponer las características de los objetos de imagen. Divertido, pero un poco esotérico.
Gramacy, RB y HKH Lee (2008) treparon los modelos de proceso gaussianos bayesianos con una aplicación de modelado por computadora. Revista de la Asociación Americana de Estadística, 103 (483): 1119–1130
Kim, HM, BK Mallick y CC Holmes (2005) Análisis de datos espaciales no estacionarios utilizando procesos Gaussianos por partes. Revista de la Asociación Americana de Estadística, 100 (470): 653–668
fuente
Para crear un DHM, reste el DEM del DEM, esto se puede hacer en Esri Raster Calculator o GDAL_CALC . Esto pondrá todas tus elevaciones en un 'campo de juego nivelado'.
Sintaxis (Sustituya rutas completas para DEM, DSM y DHM):
El DHM será mayormente 0 (o lo suficientemente cerca), lo que hace que su valor de nodata. Con Raster Calculator o GDAL_CALC puede extraer valores más que un valor arbitrario en función de la cantidad de ruido que observe en el DHM. El objetivo de esto es reducir el ruido y resaltar solo las coronas de vegetación; en el caso de que dos 'árboles' estén adyacentes, esto debería dividirse en dos burbujas distintas.
Sintaxis (Sustituya las rutas completas para Binary y DHM y el valor observado para Value):
Ahora, con GDAL_CALC o Esri IsNull, cree un ráster binario, que puede poligonizarse con GDAL_Polygonize o Esri Raster to Polygon .
Para refinar los polígonos, elimine los polígonos excesivamente pequeños y luego compárelos con las bandas RGB en busca de firmas, en Esri, la herramienta de Estadísticas zonales ayudará. Luego puede descartar los polígonos que claramente no tienen las estadísticas correctas (según la experimentación y sus datos, no puedo darle los valores).
Esto debería llevarlo a aproximadamente un 80% de precisión al trazar coronas individuales.
fuente
eCognition es el mejor software para eso, lo hice usando otro software pero eCognition es mejor. Aquí está la referencia a la literatura sobre el tema:
por ejemplo, http://www.mdpi.com/1424-8220/14/12/22643
Adicionalmente:
por ejemplo, http://www.nrcresearchpress.com/doi/abs/10.1139/x05-030#.VJmMb14gAA
fuente
Tuve el mismo problema hace un par de años. Tengo una solución que no requiere datos LAS filtrados u otros datos auxiliares. Si tiene acceso a datos LiDAR y puede generar DEM / DSM / DHM (DEM en adelante, no estoy debatiendo la semántica de la nomenclatura del modelo de superficie) a partir de diferentes retornos, el siguiente script puede ser útil.
El script arcpy ingiere 3 DEM y escupe un polígono forestal y archivos de formas de puntos de árbol. Los 3 DEM deben tener la misma resolución espacial (es decir, 1 metro) y extensiones, y representan los primeros retornos, los últimos retornos y la tierra desnuda. Tenía parámetros muy específicos para la extracción de verduras, pero los parámetros pueden modificarse para adaptarse a otras necesidades. Estoy seguro de que el proceso se puede mejorar, ya que este fue mi primer intento serio de secuencias de comandos de Python.
fuente
Estoy publicando esto como respuesta debido al límite de longitud en el comentario, sin esperanzas de créditos :). Cepillo muy amplio, siempre que tenga DEM.
Número máximo de grupos en el proceso = recuento de árboles dentro de un polígono individual. Criterios adicionales, por ejemplo, la distancia entre 'árboles' dentro de los polígonos podría ayudar ... El suavizado DEM usando el núcleo también es una opción.
fuente