Motor de Inteligência da Terra
Criação de visualizações fisicamente consistentes de eventos climáticos com modelos de visão generativa profunda
Este é o repositório oficial do Earth Intelligence Engine. Este código treina e avalia um modelo de visão generativa profunda (GAN) para sintetizar imagens fisicamente consistentes de inundações futuras. O código também treina um modelo de segmentação de inundações em imagens aéreas.
Começando
Configurar
git clone --recursive [email protected]:blutjens/earth-eie.git
cd earth-eie
conda env create -f conda.yaml
conda activate eie_vision
pip install -e .
Recomendamos configurar seu ambiente com conda. Se você não está familiarizado com o conda, leia esta introdução.
Por que git clone --recursive
? Porque temos pelo menos um submódulo git para hospedar modelos. Isso significa que você precisará executar git submodule update
ao atualizar seu controle remoto.
Conjunto de dados
Baixe do huggingface
Nosso conjunto de dados completo, eie-earth-inteligência-motor, está disponível em huggingface. Para baixar o conjunto de dados via git lfs, siga as instruções no conjunto de dados README.md
Reproduza os principais resultados
Modelo de tradução imagem para imagem (im2im) de inundação de trem
- Para o modelo principal siga o notebook no link. Este notebook contém os comandos do terminal para treinar o modelo Flood im2im em xbd2xbd. Após o treinamento, o modelo é usado para criar previsões sobre o conjunto de teste e o modelo de segmentação de inundação é usado para criar máscaras de inundação das imagens geradas.
- Monitore o treinamento abrindo index.html
Recrie os modelos de visualização de inundação de linha de base
- O VAEGAN pode ser retreinado com link.
- A linha de base gerada manualmente pode ser criada com [link]("sandbox/Color Baseline/Segment Flood_color.ipynb").
Avalie o modelo im2im
- Avalie as imagens com eval_main() conforme chamado em reviewed_notebook.ipynb
Opcional: Reproduzir resultados auxiliares
Treine novamente o modelo de segmentação de inundação em xbd-seg e crie segmentações pré e pós-inundação
- Treine, avalie o modelo de segmentação de inundação seguindo nosso outro repositório eie-flood-seg
- Copie e cole os pesos do modelo de pontos de verificação/temp/ em pré-treinado/
Treine os experimentos de generalização para naip2xbd e naip2hou
- Siga o caderno Train_conditional_binary_scratch_naip.ipynb
Extensões para imagens de floresta, floresta-gtm e ártico
- Treine um modelo de segmentação de gelo marinho do Ártico com arctic-sea-ice-seg
- O código para gerar visualizações de reflorestamento não está disponível atualmente.
Baixe novamente e processe os dados brutos
- xbd2xbd: Execute as etapas em nosso repositório eie-preprocessing para baixar e processar o conjunto de dados. A primeira etapa será baixar as imagens brutas de inundação do xBD do xview seguindo o script em: eie-preprocessing/scripts/download_xBD_geotiles.sh
- xbd-seg: dados de rótulo manual em xbd2xbd
- {naip2xbd, naip2hou, hou-seg}: Siga as instruções do documento.
- ártico: siga as instruções em full-pipeline/pipeline.sh no repositório arctic-sea-ice
- {forest, forest-gtm}: Siga as instruções do artigo.
Visualização
- Visualize as imagens geradas como um grande mapa geoespacial com align_slosh_w_naip.ipynb -> "Criar tif grande a partir de imagens geradas"
Estrutura de pastas
- archive: legacy code and documents
- configs: hyperparameters for the tested models
- data: placeholder for raw, interim, and processed data
- docs: documentation, references, and figures
- pretrained: placeholder for model checkpoints
- results: generated imagery
- sandbox: prototyping scripts and notebooks
- scripts: important scripts and notebooks
- src: model source code, forked from existing git repositories
- temp: temporary results while training the models
Referência
@article{lutjens2024eie,
author = {Lütjens, Björn and Leshchinskiy, Brandon and Boulais, Océane and Chishtie, Farrukh and Díaz-Rodríguez, Natalia and Masson-Forsythe, Margaux and Mata-Payerro, Ana and Requena-Mesa, Christian and Sankaranarayanan, Aruna and Piña, Aaron and Gal, Yarin and Raïssi, Chedy and Lavin, Alexander and Newman, Dava},
journal={IEEE Transactions on Geoscience and Remote Sensing},
title={Generating Physically-Consistent Satellite Imagery for Climate Visualizations},
year = {2024},
doi={10.1109/TGRS.2024.3493763}
}