[Talk-br] Vetorização de matas no OSM com Sentinel-2

Paulo Carvalho paulo.r.m.carvalho em gmail.com
Sexta Setembro 14 16:45:24 UTC 2018


Oi, Sérgio, vamos lá...

Em sex, 14 de set de 2018 às 12:25, Sérgio V. <svolk2 em hotmail.com> escreveu:

> Bom dia Paulo, pessoal.
>
> Fiz upscaling pra ver crossplot/scatterplot, com 549x549 px =   301.401
> pixels (pontos);
>  - Imagem original tava com 10.980x10.980 px = 120.560.400 pixels :
> 120.560.400 pontos, inviável, processador e RAM assobiaram.
>

Perfeito. Não se faz análise exploratória dos dados com tantos pontos. 120M
de amostras é impossível mesmo.  E mesmo se fosse viável, daria para ver
pouco.


> E abri os histogramas.
>
> Obtive os seguintes gráficos (em jpg no Imgur):
>
> Histograma B11 : https://i.imgur.com/jsvnFjj.jpg
>

Só B11 parece dizer que há duas classes (as duas modas em 1200 e 2000
aproximadamente).  Não obstante um tanto misturadas.  Mas outra variável
pode ajudar a desempatar.


> Histograma NDVI : https://i.imgur.com/FrEZGOO.jpg
>
NDVI parece dizer que há três classes (as modas em 0,2; 0,6 e 0,7).  A
classe em centrada em 0,2 parece bem separada.


> Histograma (1-NDVI)*4000 : https://i.imgur.com/TUPi3Tl.jpg
>

Não percas tempo com isso.  Apenas mudou a escala.  Ela continuia
informando a mesma coisa: que parece haver três classes.


>
> Scatterplot B11 x NDVI : https://i.imgur.com/z4yPjtY.jpg
> Scatterplot B11 x (1-NDVI)*4000 : https://i.imgur.com/j4WuO7C.jpg
>

Parece interessante, porém só aparece uma mancha negra.  Seria importante
vermos onde os pontos estão concentrados.  Pontos concentrados são indícios
de que há uma classe ali.  Há como definir a marca do crossplot para um
único pixel?  Se não for possível, tenta reduzir a quantidade de amostras
de ~100k para ~5k.

abcs,

PC


> (c/ reescale para abranger próximo da área plotada.)
>
> Anomalias de pixels acho que não tem muito.
> Nuvem já remove na escolha de imagem, por cloud=0. E verifica com B10 se
> ainda tem alguma mínima.
>
> A questão acho que centraria em encontrar uma referência de base universal
> (imagem original básica; ou algoritmo) para wood e forest, ou wood sozinho:
> B11 sozinho ?
> NDVI; ou EVI2; sozinhoS ?
> Fórmula empírica (podem chamar gambiarra tb) tipo B11 * (1-NDVI)*4000 ?
> Algum algoritmo mais pato (depois ainda vou estudar os algoritmos de
> classificação multivariados que vc indicou).
> De todo modo, a base da classificação, e possibilidade de
> mapeamento, parte de imagem original e/ou índices mais aptos.
>
> O objetivo a princípio é prático, para o OSM, não tanto científico:
> distinguir 2 classes, wood e forest, com precisão adequada, bastaria.
>
> NDVI e EVI2 exibem imagens muito parecidas; EVI2 indicam que é melhor pra
> mata densa.
> Mas comecei usando o NDVI, só pra eliminar o que não é vegetação; não pra
> fazer classe de vegetação, pois não encontrei valores limite aptos a
> separar classes.
>
> O que o o (1-NDVI) faz é tornar NDVI tudo número positivo, pra poder
> depois multiplicar(potencializar) o B11.
>
> Vi que O NDVI possibilita destacar tudo o que não é vegetação, e remover
> objetos que poderiam ainda ficar misturado no B11; por ter o foco em mapear
> matas.
> O B11 foi que observei de imediato que mais destaca "wood" e "forest"
> entre si. Mas wood é o que mais tem no Brasil. Forest, menos.
>
> Aí no B11, filtrado pelo x (1-NDVI)*4000, era só ver o range, só entre as
> 2, porque o resto já fica separado pelo NDVI.
> (se focar só nas 2, wood e forest; no resto do Brasil quase só wood,
> natural; mas se quiser todo o resto de landcover, mais classes, aí fica
> mais elementos a considerar; também dá, mas de preferência não abordaria
> isso agora):
> -forest (vegetaçao mais nova; mais escura; valores mais baixos)
> -wood (vegetação mais velha, mais clara, valores mais altos)
> E as anomalias (amplificação de anomalias), filtrando manual com "sieve" e
> "neighbors".
> O fato é que o resultado, filtrando, mesmo perdendo informação, aproximou
> da real grupo de wood e forest no terreno.
>
> Este que seria o objetivo: pegar wood e forest, quando há as 2
> co-existindo; separadas entre si, e de todo o resto que não é.
> Quando "não" tem as 2 co-existindo numa região (florestas plantadas é mais
> na região Sul-Sudeste do BR), pegar só mata nativa (wood).
> Alcançando isto, tá feito para o objetivo inicial e prático!
> Claro, ainda se poderia ir tentando encontrar uma formulação que possa ser
> mais abrangente, pegar mais objetos de landcover.
>
> Bom, a ver o que acham.
> Em investigação. Parcialmente já estou satisfeito com os resultados. O
> modo ainda pode ser meio empírico, ou não muito científico, artístico
> digamos, de ir lapidando até fechar os polígonos de classes iguais, mas
> funcionou. Claro, se pudermos facilitar e universalizar, melhor.
>
> Obrigado pelos aportes já dados!
>
>
> - - - - - - - - - - - - - - - -
>
> Sérgio - http://www.openstreetmap.org/user/smaprs
>
>
> ------------------------------
> *De:* Paulo Carvalho <paulo.r.m.carvalho em gmail.com>
> *Enviado:* quinta-feira, 13 de setembro de 2018 14:05
> *Para:* OSM talk-br
> *Assunto:* Re: [Talk-br] Vetorização de matas no OSM com Sentinel-2
>
>
>
> Em qui, 13 de set de 2018 às 13:08, Sérgio V. <svolk2 em hotmail.com>
> escreveu:
>
> Bom dia pessoal, Paulo e Gerald, obrigado pelos aportes!
> Tenho muito interesse em que se possa aprimorar o processo, e/ou
> facilitar, onde possível e necessário.
> -Gerald, baixei o artigo, vou olhar mais a fundo, exigirá mais tempo.
> -Paulo, infelizmente não apareceu a imagem exemplo que vc enviou, o
> talk-list não exibe imagem, só link. Se puder mandar em link (tipo
> imgur.com:  https://i.imgur.com/n3LV9qJ.jpg), seria ótimo.
>
>
> Sem figuras?  Precisamos sair da década de 1990!  Aqui, é a figura 11
> desse artigo:
> https://www.researchgate.net/publication/249553119_Optimizing_4D_fluid_imaging
>
>
>
> Estou tomando muito em consideração as suas colocações técnicas.
>
> Claro, quando cruzei B11+((1-NDVI)*4000), o objetivo foi arrastar pra fora
> tudo que não é mata, na Mata Altlâtica.Serviu ali.
>
>
> Ok.
>
>
> Não serviu nos outros biomas. Foquei só em forest e wood. Que já me
> pareceu bem identificável pelo B11, só que no B11 mistura perto de valores
> de água, e é mais afetado por sombra. Por isso a de filtra pelo NDVI o que
> não é matas. Usei só B11 e NDV( (B04 e B08). Não cruzei com a imagem RGB
> (TCI). Só usei ela pra observar.
>
>
> Quando teu problema começa a "pedir um monte de IF's" trata-se de um
> problema de tomada de decisão de múltiplas variáveis.  Neste caso, a
> decisão é classificar cada pixel da imagem.  Se tu tentares escrever IF's
> dentro de IF's para 6 variáveis, vai complicar.  Na prática é um problema
> intratável diretamente.  Para esse tipo de problema deve-se usar um
> algoritmo de classificação desses já sugeridos.  Comece pelo crossplot B11
> versus NDVI.  O que ele mostra?  Não tentemos abordar tudo isso de uma
> vez.  Baby steps...
>
>
> Tinha testado o "SemiAutomaticClassificationPlugin (SCP)"
> https://github.com/semiautomaticgit/SemiAutomaticClassificationPlugin
> Mas achei muito difícil, 200 páginas de manual. Não sou especialista
> nisto. O que obtive foi lendo um tanto, catando métodos, e adaptando ou
> inventando filtro conforme o necessário, como naquelas equações de
> ponderação, baseado em teste e observação dos resultados.
>
> Do ponto de vista prático, pensava ainda no seguinte: não tenho, a
> princípio, a pretensão de mapear todo tipo de landcover. Mas quem quiser,
> e a comunidade concordar, claro. Pensei nas matas, por serem os agregados
> de vegetação mais densos, como um obstáculo geográfico; e pouco são
> mapeadas, ou razoavelmente bem, até pelo trabalho que dá, e dependendo de
> conhecimento nem sempre muito preciso. Apesar de gostar de matas, acho que
> são elementos acessórios no OSM. Ainda assim importantes de constar, como
> base de localização, referência cartográfica. Não necessitam de enorme
> resolução. Talvez ainda se pudesse baixar a resolução resultante. A ver o
> que vocês acham, e a comunidade. Enfim, tenho uma preferência pessoal por
> matas. Mas nada impede que um método permita mapear o resto. O objetivo é
> prático, cartografar o que seja de interesse e conveniente para o OSM.
>
> Acredito sim que seria ótimo em termos de obtenção geral de informações
> poder até ampliar as classes possíveis de detectar, ou usar mais
> adequadamente se possível. É muito bem-vinda sua ideia de: "tem um ótimo
> potencial para criar um classificador automático ou supervisionado robusto
> e válido em qualquer lugar, o que reduziria MUITO a
> quantidade de trabalho manual." Seria ótimo! Não entendi todos os passos
> que vc sugeriu, sou um tanto leigo no assunto quando passa para nível mais
> profundo. Vou pesquisar ainda com mais tempo o que vc falou. Se tiver uma
> formulação para indicar, os índices e métodos melhores, etc,  para
> possibilidades de mapeamento assistido, será muito bem-vinda, ótima
> contribuição! Penso num método que seja relativamente fácil. Que quem
> desejar se aprofundar um pouco possa fazer no OSM.
>
> Seria bom se podermos encontrar meio para isso. Se quiser sugerir, podemos
> usar a mesma wiki para isso. Sobretudo afinamentos técnicos. O método tem
> objetivo de poder ser usado por qualquer um que tenha o interesse em se
> aprofundar pra mapear. Podemos usar a seção talk da mesma wiki, quem
> desejar contribuir, e ir afinando para imlplementar.
>
> https://wiki.openstreetmap.org/wiki/Talk:Vetoriza%C3%A7%C3%A3o_de_matas_com_Sentinel-2
> Obrigado antecipadamente pelas contribuições! Já registradas ali.
>
> Por outro lado, a pergunta que ainda faço é: acham que o que tem ali já
> apresentaria resultado mapeável para upload ao OSM? Ainda que se possa
> afinar mais coisas.
> Penso sobretudo para Mata Atlântica.
> Baixar mais da atual resolução? (~ 100nós/km2; curvas com 1nó/10m).
> Ou poderíamos antes afinar ou ampliar mais o método? Ou concomitantemente?
>
> Eu acho que o método (atual) apresentou bons resultados, sobretudo nas
> áreas de bioma Mata Atlântica.
> Onde pensava mais em usar pra mapear, pelos seguintes motivos:
> -é a área de mata mais próxima da área de maior ocupação humana no Brasil,
> a faixa de 200km do litoral; é a que mais se transita;
> -pode ser feita em tiles parciais; dificilmente uma área extrapola muito
> uma imagem;
> -já no bioma Amazônia não, área de mata extrapola muito uma imagem;
> precisaria fazer tudo junto, ou ir grudando as matas de cada tile, ou gerar
> mega multi-polígonos; eu deixaria pra outro momento, mas se alguém quiser
> abraçar esta área, mapear assistidamente, legal;
> -cerrado tem alguma mata densa, mais ciliar; mapeia rápido, acredito;
> porém é extenso.
> -caatinga tem pouca mata densa, não gera uma cobertura; ficaria mais pra
> "natural=scrub"; e cobre todo o terreno, quase homogeneamente; não como um
> destacado objeto geográfico; mas pode ser feito quem tiver interesse;
> -pantanal, ainda vou testar;
> -pampa, ainda vou testar; tem matas e campo que são mais próximos da Mata
> Atlântica, semelhantes ao exemplo testado; as matas são fáceis de marcar.
>
> Porcentagem da área do Brasil:
> Amazônia 49,29 %
> Cerrado 23,92%
> Mata Atlântica 13,04 %
> Caatinga 9,92 %
> Pampa 2,07 %
> Pantanal 1,76 %
>
> A ver o que acham.
>
> Obrigado,
>
>
>
> - - - - - - - - - - - - - - - -
>
> Sérgio - http://www.openstreetmap.org/user/smaprs
>
>
> ------------------------------
> *De:* Gerald Weber <gweberbh em gmail.com>
> *Enviado:* quinta-feira, 13 de setembro de 2018 10:06
> *Para:* OpenStreetMap no Brasil
> *Assunto:* Re: [Talk-br] Vetorização de matas no OSM com Sentinel-2
>
> Oi Sérgio
>
> iniciativa fantástica, por acaso vi este artigo hoje:
> Supervised Classification of Multisensor Remotely Sensed Images Using a
> Deep Learning Framework
> http://www.mdpi.com/2072-4292/10/9/1429
>
> talvez seja de interesse
>
> abraço
>
> Gerald
>
> Obs: cirei um alerta no Google Acadêmico para me avisar sobre artigos
> científicos onde aparece a palavra "OpenStreetMap"
>
> 2018-09-12 20:40 GMT-03:00 Sérgio V. <svolk2 em hotmail.com>:
>
> Prezados(as),
>
> venho aqui expor e submeter à apreciação da comunidade OSM no Brasil uma
> proposta de método de mapeamento de matas para o OSM (natural=wood e
> landuse=forest) , baseado em vetorização semi-automatizada de imagens do
> satélite Sentinel-2, para o que peço autorização para uso em mapeamento no
> OSM no Brasil.
>
> A proposta detalhada passo-a-passo encontra-se documentada na página wiki
> "Vetorização de matas com Sentinel-2":
>
> https://wiki.openstreetmap.org/wiki/Vetoriza%C3%A7%C3%A3o_de_matas_com_Sentinel-2
>
> Os testes já realizados (sem upload) encontram-se na página:
>
> https://wiki.openstreetmap.org/wiki/User:SergioAJV/Sentinel-2_vectorizing_tests
>
> O objetivo desta proposta, resumidamente, é contribuir com uma
> ferramenta para o mapeamento no OSM de grandes coberturas de matas.
>
> A justificativa consiste, basicamente, em que o método possibilita mapear
> grandes áreas de mata, de municípios ou regiões de interesse,
> adequadamente, mais rapidamente, e com melhor precisão geométrica do que o
> que comumente pode ser encontrado ou realizado em mapeamento exclusivamente
> manual e com as imagens disponíveis nem sempre atualizadas e que, de todo
> modo, não permitem escolha, como de épocas do ano mais propícias à
> identificação de vegetação.
>
> O método se destina a matas. Não se destina ao mapeamento de objetos
> pequenos. A resolução das imagens disponíveis é de 10 e 20m/pixel, e as geometrias
> resultantes da ordem de ~1nó/10m em curvas. Ainda assim maior do que se
> pode encontrar muitas vezes em mapeamento manual de "landcover", como
> matas. O processo pode gerar cerca de 100 a 150 nós por km2, em áreas com
> muita variedade de tipos de matas. O que significa cerca de 1.000.000 de
> nós a partir de 1 imagem Sentinel de 100x100km. Menos que isso em áreas
> mais homogêneas.
>
> O método exige o controle ativo dos parâmetros de distinção de classes de
> vegetação e demais elementos geográficos a partir das imagens de satélite,
> em todo o andamento do processo, até o resultado final na geração de
> vetores .osm.
> Exige certo tempo na aplicação dos passos, e sobretudo atenção, como na
> medição de valores de pixels para as classes de objetos, escolha de objetos
> para amostragem, bem como na verificação do resultado final. Não é um
> processo imediato. Ainda assim, permite grande ganho de tempo no mapeamento.
>
> Mais detalhes podem ser encontrados nas citadas páginas de documentação.
>
> Agradeço sua atenção e apreciação, acolhendo questões ou comentários no
> que desejarem e/ou julgarem necessário.
>
>
> - - - - - - - - - - - - - - - -
>
> Sérgio - http://www.openstreetmap.org/user/smaprs
>
> _______________________________________________
> Talk-br mailing list
> Talk-br em openstreetmap.org
> https://lists.openstreetmap.org/listinfo/talk-br
>
>
>
>
> _______________________________________________
> Talk-br mailing list
> Talk-br em openstreetmap.org
> https://lists.openstreetmap.org/listinfo/talk-br
>
> _______________________________________________
> Talk-br mailing list
> Talk-br em openstreetmap.org
> https://lists.openstreetmap.org/listinfo/talk-br
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://lists.openstreetmap.org/pipermail/talk-br/attachments/20180914/a8d6e51e/attachment-0001.html>


Mais detalhes sobre a lista de discussão Talk-br