Full text
UNIVERSIDADE DE SÃO PAULO INSTITUTO DE MATEMÁTICA E ESTATÍSTICA BACHARELADO EM MATEMÁTICA APLICADA E COMPUTACIONAL COM APLICAÇÃO EM MECATRÔNICA E SISTEMAS MECÂNICOS Aplicação de algoritmo de aprendizado profundo para predição de dados socioeconômicos através de imagens de satélite no Vale do Ribeira Enrico Rausch Trinanes São Paulo - SP 2020
Enrico Rausch Trinanes Aplicação de algoritmo de aprendizado profundo para predição de dados socioeconômicos através de imagens de satélite no Vale do Ribeira Trabalho de conclusão de curso apresentado à Universidade de São Paulo para obtenção do título de Bacharel em Matemática Aplicada e Computacional. Orientador: Prof. Dr. Pedro Luiz Pizzigatti Corrêa Co Orientadora: Dra. Marina Jeaneth Machicao Justo São Paulo - SP 2020
AGRADECIMENTOS Um curso, 5 anos de faculdade. Muitos anos árduos de estudo e dedicação. O término dessa jornada só foi possível graças a pessoas extremamente especiais que me levantaram quando estava pra baixo e me impulsionaram a seguir, minha família: Simone, Humberto, Giulia, Julia, .... Todos que me ajudaram a sempre andar pra frente e perseguir meus sonhos. Agradeço também ao Prof. Dr. Pedro Luiz Pizzigatti Corrêa e Dra. Marina Jeaneth Machicao Justo por acreditarem em mim e me aceitarem nesse grupo de pesquisadores, oferecendo todo o apoio necessário para todo o processo de desenvolvimento do projeto. Muito obrigado.
RESUMO O trabalho tem como objetivo utilizar imagens satelitais e dados socioeconômicos, para o treinamento de um algoritmo de aprendizado de máquina visando a previsão de índices socioeconômicos no Vale do Ribeira. Para tanto, o projeto divide-se em duas etapas. A primeira etapa objetiva reproduzir o artigo referência: Jean, N., et al. (2016). Combining satellite imagery and machine learning to predict poverty. Science, para compreender os métodos do mesmo, a fim de reproduzi-los no ambiente nacional. A segunda etapa, objetiva a adequação do artigo anterior para a previsão de índices de desenvolvimento humano, a partir de dados de censos do IBGE (Instituto Brasileiro de Geografia e Estatística) e imagens de satélite em território nacional, mais especificamente delimitado ao Vale do Ribeira, por estar circunscrito em várias áreas protegidas. Para isso, serão adequados os processos, gráficos e algoritmos da primeira etapa. Baseado nessa abordagem, espera-se estudar a eficácia e acurácia do algoritmo em território nacional. Tendo em vista os dados gerados e sua acurácia, espera-se divulgar tais dados e conclusões, a respeito do algoritmo utilizado, para a comunidade científica, mais especificamente o grupo internacional do projeto PARSEC. O mesmo visa a criação de algoritmos de previsão de indicadores socioeconômicos, divulgação científica e compartilhamento de dados no âmbito mundial. Palavras-chave: imagens satelitais, previsão de indicadores socioeconômicos, redes neurais, PARSEC.
ABSTRACT The paper has the objective to train a machine learning algorithm, using satellite images and socioeconomic data. With the objective to predict socioeconomic indexes in the Vale do Ribeira’s territory. For that, the project was divided in two parts. The first one, has the objective of reproducing the reference article Jean, N., et al. (2016). Combining satellite imagery and machine learning to predict poverty. Science. Comprehending the used methods aiming it’s reproduction on national territory. The second one, objectifies the previous article’s adjustment to predict brazilian human development indexes, starting from IBGE’s (Instituto Brasileiro de Geografia e Estatística) census data and satellite images of the brazilian territory, specifically bounded to the Vale do Ribeira’s territory, for being circumcised on many protected areas. To do so, the processes, charts and algorithms from the first part will be used. Based on this approach it is expected to study the efficiency and accuracy inside brazilian territory. All generated results and accuracy about the algorithm will be shared with the scientific community, more specifically the PARSEC project. The group expects to create algorithms of censitary data predictions, scientific divulgation and worldwide data sharing. Palavras-chave: satellite images, censitary data prediction, neural network, PARSEC.
LISTA DE FIGURAS Figura 1 - Exemplos de imagens de satélite extraídas para treinamento do modelo ……….………………………………………………………………………….…………...17 Figura 2 - Exemplo de imagem de luzes noturnas para treinamento do modelo ….17 Figura 3 - Consumo previsto comparado com o consumo real………....……….…..17 Figura 4 - Consumo previsto comparado com o consumo real na replicação do artigo ..………………………………………………………………………………….......18 Figura 5 - Exemplos de imagens descartadas após descarregar imagens de satélite do território do Vale do Ribeira ………………………………………………..…………21 Figura 6 - Exemplos de imagens de satélite extraídas e utilizadas para treinamento do modelo no território do Vale do Ribeira ……………………………………………..21 Figura 7 - Exemplo de imagem de luzes noturnas utilizadas para o treinamento do modelo no território no Vale do Ribeira ………………………………………………...21 Figura 8 - Comparação entre IDH renda prevista e IDH renda real ……………......22 Figura 9 - IDH renda real por setores censitários do Vale do Ribeira ……...……....23 Figura 10 - IDH renda prevista por setores censitários do Vale do Ribeira ……......24
SUMÁRIO 1. INTRODUÇÃO…………………………………………………………………………...9 1.1. Motivação e Justificativa ……………………………..…………………………10 1.2. Objetivo ……………………………………………………………………...……10 1.2.1. Objetivo Geral ……………………………………………………………...10 1.2.2. Objetivo Específico ………………………………………………………..10 1.3. Método ……………………………………………………………………………11 1.4. Contribuições do Trabalho ……………………………………………………...11 1.5. Organização do Trabalho ……………………………………………………….11 2. ESTUDO DA LITERATURA ………………………………………………………….12 2.1. Aprendizagem Profunda ………………….…………………………………….12 3. REPRODUÇÃO DO ARTIGO DE REFERÊNCIA ………………………………….14 3.1. Experimento e Algoritmo ………………………………………………………..14 3.2. Aquisição de Dados……………………………………………………………...15 3.3. Resultados e Acurácia …………………………………………………………17 4. APLICAÇÃO DE ALGORITMO NO VALE DO RIBEIRA …...…………………....19 4.1. Experimento e Algoritmo ………………………………………………………..19 4.2. Aquisição de Dados……………………………………………………………...20 4.3. Resultados e Acurácia …………………………………………………………..22 5. CONCLUSÕES ………………………………………………………………………...25 6. BIBLIOGRAFIA………………………………………………………………………...26
9 1. INTRODUÇÃO O conhecimento sobre biodiversidade e ecossistemas brasileiros depende de dados, softwares e serviços, como o Portal de Transparência, os sites do IBGE (Instituto Brasileiro de Geografia e Estatística), os dados espaciais coletados pelo INPE (Instituto Nacional de Pesquisas Espaciais), entre outros. No entanto, nos dias atuais, muitos desses dados e serviços são restritos ou necessitam de uma alta curva de aprendizagem para serem compreendidos e utilizados, muitas vezes inviabilizando seu uso. Tendo esse problema em vista, iniciou-se um projeto, para lidar com problemas de gestão e compartilhamento de dados e serviços, com as melhores intenções de conservação de biodiversidade para garantir um futuro sustentável. O mesmo tem como base o grupo mundial de pesquisadores do projeto PARSEC, que visa compartilhar dados e pesquisas para um melhor resultado na comparação de dados censitários mundiais, além de criar ferramentas de software para aquisição facilitada de dados e predição de índices de desenvolvimento humano. À partir dessa problemática, chegou-se à conclusão de que poderia ser feita uma pesquisa utilizando fotos adquiridas de satélite para análise de áreas protegidas, de comunidades indígenas e de conservação ambiental. Muitas dessas áreas são de difícil acesso para coleta de dados, trazendo empecilhos para estudos de desenvolvimento humano como o censo do IBGE. Por esse motivo seria de imensa contribuição a criação de um serviço de análise e previsão desses dados sem a necessidade de uma coleta presencial. Aliado a essa dificuldade de acesso, ainda há a periodicidade dos censos que dificulta estudos no entre-censos e pesquisas pontuais com dados atualizados. Neste trabalho, por meio dessas imagens de satélite e de dados de censitários, serão aplicados algoritmos de redes neurais artificiais, que realizem a tarefa de aprendizado por meio da extração e reconhecimento de padrões, de tal forma que possa prever-se índices de desenvolvimento humano nas áreas de estudo. Para tanto, o trabalho foi dividido em duas etapas: A. Reproduzir o artigo de referência Jean, N. et al (Jean, N. et al, 2016);
16 configurações conflitantes que dificultavam a obtenção das mesmas. O Static Maps, por outro lado, somente viabiliza a descarga de imagens no momento atual e não no passado. No entanto, o estudo da utilização da API do Statics Maps do Google, gerou um script de descarregamento de imagens em Python 3, que será divulgado para o grupo PARSEC e pode ser utilizado à posteriori por outros projetos. Essas imagens foram utilizadas como entrada do modelo de aprendizagem profunda. Vale citar que a aquisição das imagens de satélite, foram feitas baseadas em coordenadas geográficas, advindas de clusters definidos por cada linha das pesquisas de dados censitários. Ou seja, para cada linha de dados censitários, foi escolhido um ponto central da área à qual os dados se referem e esse ponto foi definido como cluster. Para cada cluster, foi determinado um quadrado de 10km x 10km e foram geradas no mínimo 10 imagens para cada quadrado de cluster. Uma vez definidas as imagens que seriam baixadas, foi utilizada a API da Planet, como citado anteriormente. A obtenção de imagens foi o primeiro foco de atenção durante a reprodução do artigo. Apesar da grande variedade de imagens da Planet, alguns dos pontos requisitados através da API, não tiveram retorno de imagem. Por esse motivo, das 33.360 imagens, apenas 26.550 (79,58%) foram baixadas e utilizadas para o treinamento do algoritmo (ver Figura 1). Por último, a aquisição de imagens de luzes noturnas foi feita a partir do site do NOAA, do departamento de controle do comércio dos Estados Unidos da América. Neste, foi possível encontrar fotos de luzes noturnas para todos os países do estudo (ver Figura 2). Essas imagens serviram de base para filtragem das imagens de satélite. Apenas imagens com alguma atividade luminosa noturna foram mantidas. Além disso, a distribuição das imagens para o treinamento, também foi feita utilizando a quantidade de pontos luminosos perto da coordenada central da imagem requerida. Com os dados completamente adquiridos, tornou-se possível o treinamento do modelo e a medição dos índices de pobreza. O objetivo final foi a comparação desses com os dados reais, para análise de acurácia e qualidade do modelo e algoritmo aplicados ao problema.
17 Figura 1: Exemplos de imagens de satélite extraídas para treinamento do modelo Fonte: Compilação do autor Figura 2: Exemplo de imagem de luzes noturnas utilizada para o treinamento do modelo Fonte: Compilação do autor 3.3. Resultados e Acurácia Dado a completude da aquisição dos diversos dados necessários e o treinamento do modelo de deep learning , deu-se seguimento à aquisição dos gráficos abaixo, que exemplificam e permitem a análise da acurácia do modelo. Comparando os gráficos resultados do artigo original e da reprodução (ver Figuras 3 e 4), é possível observar que a reprodução se aproxima do artigo de Jean et al (2016), o que indica que o algoritmo foi treinado corretamente e sua acurácia tende a se aproximar do resultado obtido originalmente. Figura 3: Consumo previsto comparado com o consumo real Fonte: Jean, N. et al, 2016
18 Figura 4: Consumo previsto comparado com o consumo real, na replicação do artigo Fonte: Compilação do autor Através dos gráficos acima (ver Figuras 3 e 4), nota-se que o Malawi possui uma grande concentração de consumo próximo à linha da pobreza. Essa indica o limite monetário abaixo do qual um indivíduo é considerado como “vivendo na pobreza” e é calculada, tomando o limiar de pobreza de cada país - dado o valor dos bens necessários para sustentar um adulto - e convertendo-o em dólares. A linha de pobreza internacional atual é de US $1,90 por dia. A diferença observada pode ser atribuída às diferentes fontes de imagens utilizadas. No artigo original, foi possível utilizar a API do Static Maps, que possui uma qualidade de imagem muito superior à API da Planet, utilizada nessa reprodução.
19 4. APLICAÇÃO DE ALGORITMO NO VALE DO RIBEIRA 4.1. Experimento e Algoritmo A partir do artigo de Jean et al. (2016), foi desenvolvida uma adaptação do algoritmo para o território brasileiro, mais especificamente em áreas de proteção e difícil acesso. Como base do estudo, foi utilizado a área do Vale do Ribeira, que está localizado no sul do estado de São Paulo e norte do estado do Paraná. A área citada possui 30 municípios e tamanho superior a 2 milhões de hectares, no qual 20% são de Mata Atlântica preservada. Além de abrigar uma população superior a 450 mil habitantes. É historicamente conhecida por ser uma das regiões mais pobres dos estados em que se situa, de acordo com a média do IDH (Índice de Desenvolvimento Humano). As características apresentadas fazem com que o Vale do Ribeira seja uma boa fonte de estudo para essa pesquisa. Aplicando o algoritmo de forma a obter dados censitários com base em imagens de satélite e de luzes noturnas. Dados esses, que de outra forma, despenderiam muito recurso e tempo para sua obtenção. Com essa pesquisa, espera-se viabilizar os estudos que dependem de dados censitários em épocas de intervalo (entre-censos), facilitando a obtenção de dados em áreas de difícil acesso. Para tanto, foi utilizado como base a reprodução citada anteriormente. O algoritmo seguiu um formato de rede neural convolucional para identificar padrões em imagens para predição de índices socioeconômicos. Dados os resultados da aplicação do algoritmo em países da África, espera-se ter bons resultados no modelo de dados brasileiro. Esse foi desenvolvido aplicando o modelo VGG-11 proposto por Karen Simonyan & Andrew Zisserman do Visual Geometry Group (VGG), Oxford University como identificador de padrões nas imagens. Posteriormente, a saída do VGG-11 foi direcionada para um segundo modelo de regressão linear treinado para identificar os padrões reconhecidos pelo VGG-11 como entrada e os dados socioeconômicos como saída, fazendo então a predição dos dados finais.
20 4.2. Aquisição de Dados Para a aplicação do algoritmo no Vale do Ribeira, foi necessário a aquisição dos mesmos três grupos de dados que na reprodução do artigo original: 1. Dados socioeconômicos; 2. Imagens de satélite; 3. Imagem de luzes noturnas. No entanto, a aquisição de tais dados no Brasil é bem mais complexa e necessita de várias etapas para sua obtenção. Para que fosse possível dar seguimento ao experimento, foi necessário a utilização do censo do IBGE de 2010, o que vinculou o estudo a esse ano em questão. Sendo necessário a obtenção de arquivos de imagens e de dados socioeconômicos dessa época, dificultando muito o estudo em si. Para a obtenção dos dados socioeconômicos, foi utilizado o próprio censo do IBGE de 2010 extraído em CSV, particularmente para a área do Vale do Ribeira. O censo particiona os municípios do Vale do Ribeira em setores censitários, que é a menor granularidade usada pelo IBGE, sendo possível extrair a área em coordenadas geográficas, os índices de desenvolvimento humano e os municípios aos quais esses setores pertencem. Essa configuração de dados fez com que fosse necessário fazer alterações no algoritmo pré-existente, possibilitando a utilização de áreas de coordenadas geográficas como clusters de imagens e treinamento. Partindo do censo do IBGE e seus setores censitários, foram gerados clusters de 10km x 10km em volta do ponto central de cada setor. Para cada cluster, foram obtidas no mínimo 10 imagens de satélite. Para a obtenção dessas imagens, foram utilizadas as três fontes estudadas de descarregamento de imagens satelitais: Static Maps do Google, Google Earth e Planet. Novamente, a fonte escolhida para a aplicação do algoritmo foi a da Planet. Apesar da grande variedade de imagens da Planet, alguns dos pontos requisitados através da API não tiveram retorno de imagem. Por esse motivo, das 8.800 imagens, apenas 4.296 foram baixadas (48,82%). Dessas, 510 imagens foram consideradas inadequadas para o estudo e foram descartadas, por se tratarem de bordas de fotos tiradas pelos satélites, ou seja, que não possuíam parte
21 da imagem requerida (ver Figura 5). Portanto, para o treinamento do modelo foram utilizadas 3.786 (43,02%) imagens de satélite (ver Figura 6 e 7). Figura 5: Exemplos de imagens descartadas após descarregar imagens de satélite do território do Vale do Ribeira Fonte: Compilação do autor Figura 6: Exemplos de imagens de satélite extraídas e utilizadas para treinamento do modelo no território do Vale do Ribeira Fonte: Compilação do autor Figura 7: Exemplo de imagem de luzes noturnas utilizada para o treinamento do modelo no território do Vale do Ribeira Fonte: Compilação do autor
22 Comparando os dados adquiridos para o estudo do artigo original e para o estudo na área do Vale do Ribeira, é possível observar que as imagens dos países da África possuem maior resolução e a porcentagem de imagens obtidas é de 36,56% maior. Os dados no Brasil muitas vezes possuem dificuldade de aquisição e baixa qualidade de suas fontes. No caso das imagens de satélite, muitas das lacunas foram causadas por falta de imagens no banco de dados da Planet. Isso torna projetos como o PARSEC ainda mais relevantes, pois a divulgação científica e o compartilhamento de resultados e dados de qualidade servem de base, para que seja possível a criação de novos estudos científicos. 4.3. Resultados e Acurácia A partir dos dados adquiridos na etapa anterior, o modelo VGG foi treinado utilizando a biblioteca de inteligência artificial para aprendizagem profunda: torchvision. Dado o modelo treinado, foi possível aplicar os códigos de testes da primeira etapa de pesquisa. Para que fosse possível validar que o modelo estava funcionando de forma adequada, a parte de validação cruzada do algoritmo da África foi reescrita. Dessa forma, no novo código, foi possível controlar a quantidade de partições da validação cruzada e a escolha do melhor resultado dos treinamentos, baseado nas diferentes partições de dados. Para tanto, foi utilizado um particionamento de dados no modelo KFold de 10 partes, que seleciona as linhas de treinamento e validação de maneira randomizada, na proporção de 90% e 10%, respectivamente. Figura 8: Comparação entre IDH renda prevista e IDH renda real Fonte: Compilação do autor
23 Evolucionando as imagens derivadas dos treinamentos e validações, e analisando os resultados pelo gráfico comparativo de previsão e dados reais, foi possível observar que a correlação entre tais dados foi de (ver Figura 8). , 8r2= 0 3 Essa é uma boa taxa de acerto para o algoritmo de referência utilizado, maior até do que o melhor resultado do algoritmo de países da África. Além do gráfico de correlação, também foram extraídos mapas de calor dos índices de desenvolvimento humano para a variável de renda, aplicados aos dados reais e aos previstos pelo algoritmo (ver Figura 9 e 10). Figura 9: IDH renda real por setores censitários do Vale do Ribeira Fonte: Compilação do autor
24 Figura 10: IDH renda prevista por setores censitários do Vale do Ribeira Fonte: Compilação do autor Observando os gráficos, é possível ver uma grande semelhança entre os valores dos setores censitários entre os mapas. As únicas exceções foram os setores cinzas, devido a dois principais motivos: não foi possível obter imagens de satélite de certas coordenadas, seja por causas de atrasos de internet, falta de imagens do banco de dados da Planet, entre outros. E segundo, porque alguns setores censitários do IBGE de 2010 não possuíam dados suficientes. Comparando os resultados entre os gráficos, observamos que no algoritmo ainda há melhorias possíveis nos resultados obtidos. A partir dos valores previstos nos diferentes distritos próximos dos valores reais e o nível de correlação geral mediano, é possível concluir que com um trabalho de otimização de modelo os resultados de correlação podem ser cada vez melhores, tanto no conceito geral, quanto no individual de cada distrito.
25 5. CONCLUSÕES Através dos resultados obtidos em ambas as partes do projeto, conclui-se que as taxas de acerto foram adequadas para o estudo executado. Se comparadas a taxa de correlação do Vale do Ribeira ( ) e a taxa de correlação de Jean, , 8r2= 0 3 N. et al (Jean, N. et al, 2016) ( ), percebe-se que além do algoritmo ter , 5r2= 0 2 funcionado de forma parecida, também houve uma melhora de de correlação. , 30 1 Além disso, comparando os mapas de calor, conclui-se que o algoritmo performou muito bem, chegando em valores proporcionais aos reais nos diferentes municípios, mesmo sendo valores diferentes. Dessa maneira, pode-se concluir que o algoritmo é muito promissor na previsão de indicadores socioeconômicos a partir de imagens de satélite. Contudo, é possível observar que ainda há melhorias a serem feitas no modelo, como a otimização do algoritmo utilizado. Além disso, dado a dificuldade para a obtenção de dados no território nacional e as lacunas de dados derivados das APIs utilizadas, conclui-se que também é possível uma melhoria nos dados adquiridos e na forma de aquisição desses dados. Devido aos empecilhos para a obtenção de dados, essa etapa do projeto tomou a maior parte do tempo e dos esforços e mesmo assim, o resultado da coleta dos dados foi mediano. Em próximos estudos seria de grande melhoria para o algoritmo, a utilização de fontes de imagens mais precisas em tempo e qualidade, como é o caso do Google Earth. No desenvolvimento dessa pesquisa, só foi possível a extração de imagens de luzes noturnas através do console online do Earth Engine, o qual não havia a possibilidade de integração com o algoritmo atual. Num futuro estudo, seria interessante a integração das tecnologias citadas para uma melhor aquisição de dados. Como foi dito anteriormente, ainda há espaço para melhorias em todas as etapas do processo, tanto na aquisição de imagens como na otimização do modelo utilizado. Acredita-se que com a otimização do algoritmo e novas composições de camadas de aprendizado profundo, seria possível uma melhora considerável na aceitação do mesmo. Objetivando um algoritmo cada vez mais completo para a previsão de dados socioeconômicos em todo o mundo.