migconforto / pavuna_ahs

Classification of satellite images in Pavuna - RJ

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Favelas e comunidades urbanas possuem uma dinâmica própria de expansão e esta dinâmica traz consigo uma demanda por políticas públicas específicas para essas áreas. Para garantir políticas públicas adequadas é importante acompanhar as modificações ocorridas ao longo do tempo, inclusive a sua expansão ou retração. O trabalho propõe o uso de múltiplas técnicas e algoritmos de machine learning para a identificação de favelas e comunidades urbanas do bairro da Pavuna, na cidade do Rio de janeiro, além de avaliar a possibilidade de expandir a aplicação para outras áreas do município.

Para possibilitar a utilização de classificadores supervisionados, foi criada uma amostra de treinamento, composta por polígonos que delimitam elementos de interesse, os quais sejam aqueles característicos de favelas e comunidades urbanas. Tais polígonos foram desenhados em setores censitários classificados pelo IBGE como aglomerados subnormais. Os setores foram selecionados por amostragem inversa até alcançarem 30% do total de setores desse tipo. Para a composição das unidades da amostra foi utilizada a ferramenta Quantum GIS. Cada polígono é a classificação de quais áreas dentro do setor especificado são consideradas favelas ou comunidades urbanas. A amostra criada é vista na imagem abaixo.

Imagem de satélite e máscara

O pré-processamento da imagem utiliza algoritmos baseados em segmentação de superpixel pelos métodos de Felzenszwalbs e SLIC, adicionando a média, mediana e desvio padrão das bandas para cada método de superpixel à imagem original. Além da adição de medidas representativas das distribuições espectrais dos superpixels, foi o índice de forma espacial (SSI) à imagem original, totalizando sete novas características além do RGB natural da imagem.

Os seguintes algoritmos foram selecionados para teste: LightGBM, MLP Classifier, Random Forest, Gradient Boosting, K-Means, Naive-Bayes e Logistic-regression. A seleção dos melhores parâmetros para cada modelo foi feita através do método GridSearchCV da scikit-learn. Os resultados para cada classificador podem ser observados na imagem e tabela abaixo.

Predição dos modelos finais

Model Accurracy Precision Recall F1-Score IoU
Gradient Boost 93.5% 80.6% 71.6% 75.8% 66.4%
Light GBM 87.2% 53.6% 76.3% 63.0% 62.3%
MLP Classifier 90.6% 65.4% 73.2% 69.1% 53.3%
Random Forest 85.4% 48.9% 49.5% 49.2% 58.4%
Naive-Bayes 62.0% 22.2% 66.1% 33.2% 50.6%
K-Means 53.3% 15.0% 48.7% 23.0% 54.2%
Logistic-Regression 85.4% 47.5% 17.0% 25.1% 51.0%

O código utilizado está disponível aqui
As imagens utilizadas no código estão disponíveis aqui

About

Classification of satellite images in Pavuna - RJ

License:Apache License 2.0


Languages

Language:Jupyter Notebook 100.0%