• Português
  • English
  • Español
  • Energia Solar no Brasil – Projeto Sunny

    Por: em 1 de abril de 2018

    por Alan Barzilay, Carlla Vicna e Vitória Mathias.

     

    Sabe-se que, atualmente, cerca de 80% da energia mundial é proveniente de petróleo, carvão mineral e gás natural. Tendo em vista as consequências já perceptíveis das mudanças climáticas causadas em parte pelo uso sem controle e de longo prazo de fontes energéticas não-renováveis, outras matrizes se mostram necessárias.
    O cenário brasileiro é bastante único e a porcentagem se inverte: segundo a Agência Nacional de Energia Elétrica (ANEEL), cerca de 80% da eletricidade produzida aqui provém de fontes renováveis, predominantemente de hidrelétricas. Com apenas 0.02% de contribuição de energia solar, a segurança energética do país se beneficiaria muito de uma matriz mais variada.
    A energia solar, em específico, se mostra de grande potencial estratégico, pois pode ser ajustada facilmente à infraestrutura já existente (tanto em relação à construção quanto ao sistema de eletricidade), encontra clima favorável no país e requer pouco espaço se comparada à hidrelétricas ou fazendas de energia eólica.
    Com isso em mente, o Summer Job 2018 teve em vista colaborar com a expansão desta matriz energética que já é muito difundida em países como Alemanha, Itália e Espanha e muito tem a gerar no Brasil.

    Problema

    Em virtude do grande potencial de crescimento do mercado de energia solar, é de nosso interesse gerar um panorama mais específico dos possíveis locais com viabilidade técnica e financeira de suportar a instalação de um sistema fotovoltaico.
    Considerando uma construção qualquer, isto consiste em, primeiramente, verificar o potencial de geração solar de seu telhado. Esta capacidade varia de acordo com a forma que o telhado foi construído e principalmente com a sua localidade. O segundo passo desta avaliação é verificar se a quantidade máxima de energia que um sistema ideal ali instalado pode gerar atenderia o consumo da residência ou negócio– além do cálculo do potencial, isto inclui um cruzamento com bases de consumo de energia, possibilitando também avaliar economia ao longo dos anos e o retorno financeiro do investimento. Por fim, o último passo é verificar a viabilidade financeira e de crédito para um potencial empréstimo, de forma que a instalação possa ser feita com linhas de financiamento específicas.
    O desafio analítico e tecnológico então consiste em obter com precisão toda essa análise para qualquer construção dentro do Brasil em questão de segundos.

    Nosso Dataset

    Os resultados abaixo se referem à análise feita para toda a cidade de Barueri, na região da Grande São Paulo. Para calcular o potencial fotovoltaico de todas as construções de uma só vez, necessitamos de acesso a cada telhado e a diversos dados do mesmo – no mínimo: área e orientação.
    Atualmente, imagens de satélite disponíveis gratuitamente online permitem acesso a qualquer lugar do planeta, formando um bom ponto de início para o projeto. Utilizamos assim uma das APIs do Google Maps (Static Maps) para baixar imagens de satélite que cobrissem inteiramente a cidade de Barueri. Calculamos valores de latitude, longitude, tamanho da imagem e zoom ideais de forma a dividir a cidade em 9888 regiões, levando em conta a conversão não-trivial (devido à esfericidade da Terra) entre coordenadas geográficas e coordenadas em pixels nas imagens.

    Imagens de Barueri

    Identificação de Telhados

    Classificação por Redes Neurais

    Depois da coleta do dataset, o próximo passo foi desenvolver um algoritmo para encontrar os telhados automaticamente. Após uma análise da literatura, decidimos utilizar uma rede neural para segmentação semântica, em que o modelo tenta prever se cada pixel da imagem pertence ou não a um telhado. A arquitetura da rede neural que implementamos, chamada U-Net ,é muito utilizada em segmentação de imagens médicas, por exemplo para encontrar o núcleo de uma célula. A entrada da rede é uma imagem de satélite e a saída é outra imagem do mesmo tamanho, que chamamos de máscara, em que cada pixel contém a probabilidade de sua coordenada pertencer a um telhado.

    Máscara de probabilidades de ser telhado na rede neural

    Para treinar essa rede neural, é necessário um dataset de imagens com marcações de telhados feitas por humanos. A ideia é que a rede aprenda com esses exemplos e seja capaz de segmentar imagens novas. Felizmente, encontramos um dataset chamado SpaceNet que contém marcações de telhados de algumas cidades do mundo, entre elas do Rio de Janeiro. Utilizando as imagens e marcações do Rio como conjunto de treino, nossa rede foi capaz de segmentar os telhados das imagens extraídas de Barueri.
    A máscara que sai da rede neural ainda não é o que buscamos, pois cada pixel contém uma probabilidade. Para convertê-la em polígonos com contornos definidos, é necessária uma etapa de pós-processamento.

     

    Definição dos Polígonos

    Após obter as máscaras, nós realizamos um pós processamento para melhorar os contornos obtidos, utilizamos uma estratégia de region-growing por meio do algoritmo watershed.
    Em linhas gerais, o algoritmo recebe imagens em tons de cinza ou gradientes e as trata como superfícies topográficas, gradativamente “inundando” as regiões mais baixas até que toda a imagem seja preenchida. Assim se infere “divisores de águas” e cada bacia formada acaba se tornando um segmento.

    Técnica de Watershed

     

    Expandindo as máscaras e extraindo o centroide de cada polígono, pudemos extrair sementes para o algoritmo re-segmentar a imagem e refinar a extração dos telhados.

    Máscara da rede neural, máscara de threshold e segmentos de telhado inferidos

    Métricas de Eficiência

    Para analisar a eficiência da nossa segmentação e estimar a melhora trazida pelo watershed nós nos utilizamos da métrica Jaccard. Esse indice, também conhecido como intersecção sobre a união, é uma medida da similaridade e diversidade entre dois conjuntos. Ao compararmos a marcação de telhados inferidos pelo nosso algoritmo com telhados marcados manualmente, nós podemos determinar o coeficiente de similaridade de Jaccard das nossas análises.

    Métrica Jaccard

    Ferramenta de Mercado

    Uma vez inferidas localidade, área e orientação de cada um dos telhados, já é possível fazer uma estimativa otimista de seus potenciais fotovoltaicos. Estas são as três características mais relevantes para este cálculo: a localidade está diretamente relacionada ao nível de irradiação solar que aquele local recebe; a orientação define por quanto tempo de luz solar o telhado estará exposto durante o dia (idealmente os telhados estariam orientados para o Norte se localizada no hemisfério Sul e vice-versa), assim como a inclinação do telhado (que deve ser praticamente a inclinação da latitude do local). Além destes, fatores ambientais como a temperatura ambiente podem diminuir a eficiência das placas fotovoltaicas, de forma que quanto mais se afaste dos 25ºC ideais, menor é a geração de energia.

    Mapa de potencial fotovoltaico de telhados em um bairro em Barueri, quanto mais para o tom de vermelho maior o potencial do telhado.

    Existem atualmente diversos softwares e plataformas que se dispõe a calcular potencial fotovoltaico de telhados em diversos níveis de precisão. Em particular, neste projeto, fizemos uso de uma ferramenta de mercado que utiliza dados de irradiação solar da base da colaboração mundial Solar and Wind Energy Resource Assessment (SWERA), leva em conta os dados disponíveis e retorna a média de irradiação por mês, além da energia gerada em KWh e a economia esperada em energia elétrica. Como facilidade, além de sua interface online disponibiliza também uma API, tornando fácil automatizar os cálculos e incluir no projeto Sunny.

    Mapa de irradiação solar no Brasil segundo a base do SWERA

    Como foi disponibilizada a nossa API

    Uma vez que a base de polígonos está salva, para que o front-end do projeto consiga acesso a todos os telhados dentro de um slice de Barueri (definido pelo usuário segundo preferências de zoom e visualização), trabalhamos na construção de uma API que recebe como dados de entrada dois pontos em coordenadas geográficas definindo um retângulo e retorna os polígonos referentes a telhados que estão naquela região.
    Para construir a API utilizamos a linguagem Python e o framework Flask, de forma que a aplicação do Sunny possa requisitar os polígonos através de chamadas HTTP a um endereço disponibilizado para tanto. Ao receber as requisições o serviço web acessa à base de dados disponível e retorna as informações no formato JSON, onde cada objeto é um polígono constituído por uma série de pontos em latitude e longitude que definem seu contorno.

    Arquitetura da API do Sunny

    Conclusão

    Uma forma de aprimorar as estimativas de potencial fotovoltaico de cada telhado é considerar elementos que podem causar sombreamento, como outras residências, prédios e árvores. Estes são fatores que devem ser considerados nas novas versões do Sunny, assim como a extração da inclinação de cada uma das anáguas dos telhados. Há oportunidades de melhoria também na parte de segmentação de telhados, tanto no aprimoramento da rede neural utilizada quanto no pós-processamento dos dados. Em escala, pequenas melhorias podem gerar grande impacto na usabilidade do produto, além de serem ótimas oportunidades de se aprofundar em temas de Data Science e processamento digital de imagens.
    Todas as informações aqui mostradas (com diversos níveis de precisão) podem ser facilmente relacionadas a bases de consumo de energia dos estabelecimentos e residências e de risco de crédito de seus proprietários, disponíveis na Serasa Experian, de forma a gerar leads para a instalação de sistemas de captura de energia solar.

    Projeto Sunny

    1 de abril de 2018