Extração de detritos lenhosos grossos

8

Criei uma nuvem de pontos densos e muito altos de algumas parcelas da floresta usando um scanner a laser terrestre. Em seguida, remova os pontos acima de 1,3 metro para ver os restos de madeira grossa (árvores mortas caídas). Em anexo está o DEM sombreado do gráfico de amostra com detritos lenhosos grossos dentro da elipse vermelha.

insira a descrição da imagem aqui

A parcela também consiste em pequenas árvores, parte dos caules de árvores abaixo de 1,3 metro, solo e pequenas pedras. A partir da imagem, os fragmentos lenhosos são discerníveis com sua forma contínua. Estou procurando a ferramenta para extrair detritos lenhosos desta imagem. Arcmap, Envi ou qualquer software de código aberto seria perfeito, e também tenho conhecimento básico de Python se a codificação for útil.

Sher
fonte
2
O seu LiDAR é classificado? O aterramento automático / não aterrado ajudaria aqui. Os algoritmos automáticos devem classificar seus detritos caídos como edifícios (acima do solo, sem pontos de solo abaixo). Você pode tentar converter sua classe de construção (ou classe veg baixa / média) em um NIT com Esri e converter o NIT em recursos triangulares.arcgis.com /en/help/main/10.1/index.html#//… , exclua triângulos de lados longos (é necessário python), dissolva e ignore os pequenos. Todas essas métricas exigirão experimentação e provavelmente alguma verificação manual para remover as aberrações.
quer
Obrigado @ Michael Stimson. Tenho solo e vegetação classificados, mas tentarei construir classificação para ver se ele pode detectar detritos lenhosos. O método TIN parece mais trabalho manual, o que pode não ser o ideal para o meu caso, pois tenho 96 parcelas de 1 hectare.
21418 Sher
O estanho e a dizimação devem reduzir o número de áreas a serem inspecionadas, omitindo qualquer coisa que seja pequena demais para ser considerada contígua, mas, por experiência, haverá um pequeno número de áreas que parecem contíguas, mas não são. A contiguidade é facilmente detectada pelo olho mas não é tão fácil de detectar por algoritmo; o aprendizado de máquina pode ser útil, mas não tenho experiência neste campo para convencê-lo / dissuadi-lo deste curso de ação. Pessoalmente, eu não confiaria apenas em um processo de software sem verificar os resultados.
22618 Michael Stimson
1
Não tenho certeza se isso já foi feito antes. Eu tentaria usar uma rede totalmente convolucional que faça uma segmentação de imagem como uma U-net: deeplearning.net/tutorial/unet.html .
Aaron
1
Você pode postar uma imagem de exemplo sem a elipse vermelha?
BERA

Respostas:

1

Para adicionar ao que foi dito por Michael, eu recomendaria calcular a rugosidade da superfície do seu DEM usando o índice Rumple ou uma métrica similar. Você também pode executar a estimativa de rugosidade na própria nuvem de pontos, desde que os pontos de referência tenham sido classificados.

Você pode classificar o tipo de detrito em que está interessado apenas com base nos valores de rugosidade, mas também poderá comparar como a rugosidade do DEM e a nuvem de pontos se comparam. Isso pode ajudá-lo a verificar a validade do seu DEM, bem como a localização dos seus detritos lenhosos grossos.

Aqui está um link para um pacote que pode calcular o índice de rumple em R: https://rdrr.io/cran/lidR/man/rumple_index.html

E aqui está um programa python que faz algo semelhante, embora estatisticamente diferente: https://github.com/BodoBookhagen/PC_geomorph_roughness

EDITAR:

Para visualizar a rugosidade do seu DEM como uma camada raster, use a função gdal gdaldem para criar mapas de rugosidade e rugosidade do terreno.

gdaldem roughness path/to/dem.tif path/to/output.tif [-compute_edges] 

gdaldem TRI path/to/dem.tif path/to/output.tif [-compute_edges] 
Kartograaf
fonte
Obrigado @Gory G. Função de índice Rumple em R retornando apenas um índice para todo o gráfico, eu estava esperando um mapa de grade do índice de rugosidade. las <- readLAS('a-4.las') chm = grid_canopy(las,0.1,p2r()) roughness = rumple_index(chm)Você poderia me informar como altero um código para fazer um mapa de índice de rugosidade?
21919 Sher
1
@ Sher Para criar o mapa de rugosidade, você pode usar o GDAL. Existe uma função chamada "gdaldem" que fará isso por você em uma linha de código. Você também pode fazer uma varredura do índice de robustez do terreno (TRI) usando o seu DEM como entrada. Vou adicionar o código à minha resposta acima.
Kartagaf19