Difference between revisions of "QGIS: Deteção de estradas em imagens Sentinel-2"

From Geomaster, Lda
Jump to navigation Jump to search
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Proposta do IBGE ==
+
== Proposta ==
  
Minha sugestão de um projeto conjunto seria o aproveitamento das imagens Sentinel 2A para extração de feições lineares que atendam nosso novo desafio que é gerar uma base contínua e integrada na escala 1/100.000 do país, em um primeiro momento seria excluída a região amazônica pelo problema de presença constante de nuvens.
+
O [http://www.copernicus.eu/main/overview projecto Europeu Copernicus] é um projeto de observação da Terra e está a disponibilizar imagens de satélite de forma gratuita.
Inicialmente, entendo para que haja um bom aprendizado inicial com a categoria de sistema de transportes (rodovias e ferrovias).
 
  
Outras motivações para essa categoria são:
+
O objetivo deste pequeno projeto é identificar estradas em imagens de satélite. As imagens a considerar são as recolhidas pelos satélites Sentinel-2, operados pela ESA.
# o fato de que é bastante desatualizada essa informação nas nossas bases cartográficas;
 
# de ser fundamental para planejamento dos percursos dos nossos pesquisadores de campo principalmente porque vamos ter agora um censo agroambiental de todo o país;
 
# e também precisamos saber a dinâmica de ocupação do território que sempre começa com a abertura de estradas vicinais.
 
  
Como informação de referência para testar os algoritmos de extração temos a base cartográfica vetorial do estado de Goiás na escala de 1/100.000, com aquisição manual de feições utilizando imagens ALOS Avnir (10m) e Rapid Eye (5m), e concluímos agora o estado do Rio de Janeiro na escala de 1/25.000 a partir de restituição aerofotogramétrica de fotos aéreas na escala de 1/30.000. Ou seja, em ambos os casos, a categoria de transportes foi extraída de forma totalmente manual e com auxilio do Google Earth para dirimir dúvidas.
+
O projeto passa por identificar estradas nas imagens e depois comparar os resultados obtidos com um dataset com as estradas que efetivamente existem (recorrendo ao OpenStreetMap), de forma a avaliar a extração efetuada.
  
É importante frisar que o processo deverá ser concluído com a geração de um vetor shapefile ou CAD da feição extraída,
+
Os dados do OpenStreetMap estão no formato vetorial, enquanto que os dados extraídos das imagens estão no formato raster (de imagem). Como trabalho adicional, poderão passar as estradas identificadas para vectores.
através de uma conversão raster => vetor.
 
  
== Apontadores ==
+
Para a comparação entre as estradas extraídas de forma automática e as estradas existentes, podem-se considerar dois cenários:
 
+
# uma análise visual, por exemplo, no QGIS, sem qualquer forma automatizada e sem qualquer cálculo de métricas (dados quantitativos)
Utilização do [https://en.wikipedia.org/wiki/Canny_edge_detector Canny edge detector]. Grass includes this module: https://grass.osgeo.org/grass70/manuals/addons/i.edge.html
+
# uma análise quantitativa
 
 
[http://www.mdpi.com/2072-4292/7/7/8779 River Detection in Remotely Sensed Imagery Using Gabor Filtering and Path Opening]
 
  
 
== Imagens ==
 
== Imagens ==
Line 24: Line 17:
 
As imagens do Sentinel podem ser descarregadas a partir de: https://scihub.copernicus.eu/dhus/#/home
 
As imagens do Sentinel podem ser descarregadas a partir de: https://scihub.copernicus.eu/dhus/#/home
  
Nos filtros, devem-se indicar os critérios de pesquisas.
+
Nos filtros, devem-se indicar os critérios de pesquisas. Deve-se preferir imagens com uma baixa taxa de nuvens.  
  
 
=== Imagem para teste (Noroeste de Portugal) ===
 
=== Imagem para teste (Noroeste de Portugal) ===
Line 38: Line 31:
 
[[File:S2B MSIL2A 20180326T112109 N0207 R037 T29TNF 20180326T132716-ql.jpg]]
 
[[File:S2B MSIL2A 20180326T112109 N0207 R037 T29TNF 20180326T132716-ql.jpg]]
  
== OpenCV ==
+
O produto inclui várias imagens. Cabe aos alunos escolherem a banda ou conjunto de bandas, onde é mais fácil identificar as estradas.
 +
 
 +
== Dados do OpenStreetMap ==
 +
 
 +
Os dados das estradas para Portugal podem ser descarregados a partir de: http://openstreetmap.pt/wp-content/uploads/
 +
 
 +
Descarreguem vias.zip e abram-na no QGIS.
 +
 
 +
== Software: QGIS e OpenCV ==
 +
 
 +
Usem o QGIS para a visualização das imagens e das camadas vetoriais. Criem no QGIS polígonos para recortarem as imagens para trabalharem com áreas mais pequenas enquanto estão a afinar os algoritmos.
 +
 
 +
Para o tratamento das imagens podem usar o OpenCV. Para o OpenCV já há alguns exemplos que podem tirar partido numa análise inicial.
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Line 44: Line 49:
 
3.4.1
 
3.4.1
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
[https://docs.opencv.org/3.4.1/d3/dc1/tutorial_basic_linear_transform.html Changing the contrast and brightness of an image]
 +
 +
[https://docs.opencv.org/3.4.1/d4/d1b/tutorial_histogram_equalization.html Histogram Equalization]
 +
 +
[https://docs.opencv.org/3.4.1/da/d5c/tutorial_canny_detector.html Exemplo muito básico de utilização do Canny]
 +
 +
== Exemplo e um extrato da zona de Aveiro ==
 +
 +
Imagem banda 2, com 1200x1200 (cidade de Aveiro)
 +
 +
<gallery>
 +
File:Excerto de Aveiro QGIS.png|No QGIS a visualização está ajustada ao histrograma
 +
File:Aveiro b02.png|Sem corrigir o histograma, nem se percebem muito bem as imagens
 +
</gallery>
 +
 +
=== Outras informações ===
 +
 +
Utilização do [https://en.wikipedia.org/wiki/Canny_edge_detector Canny edge detector]. Grass includes this module: https://grass.osgeo.org/grass70/manuals/addons/i.edge.html
 +
 +
[http://www.mdpi.com/2072-4292/7/7/8779 River Detection in Remotely Sensed Imagery Using Gabor Filtering and Path Opening]
 +
 +
== Entrega ==
 +
 +
# Link para um repositório Github público com o código
 +
# Imagens de teste e resultados no Github
 +
# Não é preciso relatório. Em vez do relatório, será avaliado o Readme.md que estiver no repositório do Github.

Latest revision as of 09:55, 10 May 2018

Proposta

O projecto Europeu Copernicus é um projeto de observação da Terra e está a disponibilizar imagens de satélite de forma gratuita.

O objetivo deste pequeno projeto é identificar estradas em imagens de satélite. As imagens a considerar são as recolhidas pelos satélites Sentinel-2, operados pela ESA.

O projeto passa por identificar estradas nas imagens e depois comparar os resultados obtidos com um dataset com as estradas que efetivamente existem (recorrendo ao OpenStreetMap), de forma a avaliar a extração efetuada.

Os dados do OpenStreetMap estão no formato vetorial, enquanto que os dados extraídos das imagens estão no formato raster (de imagem). Como trabalho adicional, poderão passar as estradas identificadas para vectores.

Para a comparação entre as estradas extraídas de forma automática e as estradas existentes, podem-se considerar dois cenários:

  1. uma análise visual, por exemplo, no QGIS, sem qualquer forma automatizada e sem qualquer cálculo de métricas (dados quantitativos)
  2. uma análise quantitativa

Imagens

As imagens do Sentinel podem ser descarregadas a partir de: https://scihub.copernicus.eu/dhus/#/home

Nos filtros, devem-se indicar os critérios de pesquisas. Deve-se preferir imagens com uma baixa taxa de nuvens.

Imagem para teste (Noroeste de Portugal)

A imagem de teste pode ser descarregada a partir do seguinte link: [1]

Na verdade, não se trata de uma imagem apenas. Na terminologia do Copernicus trata-se de um produto. Um produto inclui várias imagens, captadas com diferentes sensores. As imagens que vamos usar estão na pasta:

GRANULE/L2A_T29TNF_A005497_20180326T112919/IMG_DATA/R10m

S2B MSIL2A 20180326T112109 N0207 R037 T29TNF 20180326T132716-ql.jpg

O produto inclui várias imagens. Cabe aos alunos escolherem a banda ou conjunto de bandas, onde é mais fácil identificar as estradas.

Dados do OpenStreetMap

Os dados das estradas para Portugal podem ser descarregados a partir de: http://openstreetmap.pt/wp-content/uploads/

Descarreguem vias.zip e abram-na no QGIS.

Software: QGIS e OpenCV

Usem o QGIS para a visualização das imagens e das camadas vetoriais. Criem no QGIS polígonos para recortarem as imagens para trabalharem com áreas mais pequenas enquanto estão a afinar os algoritmos.

Para o tratamento das imagens podem usar o OpenCV. Para o OpenCV já há alguns exemplos que podem tirar partido numa análise inicial.

pkg-config --modversion opencv
3.4.1

Changing the contrast and brightness of an image

Histogram Equalization

Exemplo muito básico de utilização do Canny

Exemplo e um extrato da zona de Aveiro

Imagem banda 2, com 1200x1200 (cidade de Aveiro)

Outras informações

Utilização do Canny edge detector. Grass includes this module: https://grass.osgeo.org/grass70/manuals/addons/i.edge.html

River Detection in Remotely Sensed Imagery Using Gabor Filtering and Path Opening

Entrega

  1. Link para um repositório Github público com o código
  2. Imagens de teste e resultados no Github
  3. Não é preciso relatório. Em vez do relatório, será avaliado o Readme.md que estiver no repositório do Github.