Earth Intelligence Engine
Erstellen physikalisch konsistenter Visualisierungen von Klimaereignissen mit Deep Generative Vision-Modellen
Dies ist das offizielle Repository für die Earth Intelligence Engine. Dieser Code trainiert und bewertet ein Deep Generative Vision Model (GAN), um physikalisch konsistente Bilder zukünftiger Überschwemmungen zu synthetisieren. Der Code trainiert außerdem ein Hochwassersegmentierungsmodell anhand von Luftbildern.
Erste Schritte
Aufstellen
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 .
Wir empfehlen, Ihre Umgebung mit Conda einzurichten. Wenn Sie mit Conda nicht vertraut sind, lesen Sie diese Einführung.
Warum git clone --recursive
? Weil wir mindestens ein Git-Submodul zum Hosten von Modellen haben. Das bedeutet , dass Sie git submodule update
ausführen müssen, wenn Sie Ihre Fernbedienung aktualisieren.
Datensatz
Von Huggingface herunterladen
Unser vollständiger Datensatz, eie-earth-intelligence-engine, ist unter Huggingface verfügbar. Um den Datensatz über git lfs herunterzuladen, befolgen Sie bitte die Anweisungen im Datensatz README.md
Reproduzieren Sie die Hauptergebnisse
Trainieren Sie das Flood-Bild-zu-Bild-Übersetzungsmodell (im2im).
- Für das Hauptmodell folgen Sie dem Notizbuch unter dem Link. Dieses Notebook enthält die Terminalbefehle zum Trainieren des Flood-im2im-Modells auf xbd2xbd. Nach dem Training wird das Modell verwendet, um Vorhersagen über den Testsatz zu erstellen, und das Hochwassersegmentierungsmodell wird verwendet, um Hochwassermasken der generierten Bilder zu erstellen.
- Überwachen Sie das Training, indem Sie index.html öffnen
Erstellen Sie die grundlegenden Hochwasservisualisierungsmodelle neu
- Der VAEGAN kann mit Link umgeschult werden.
- Die handgenerierte Baseline kann mit [link]("sandbox/Color Baseline/Segment Flood_color.ipynb") erstellt werden.
Bewerten Sie das im2im-Modell
- Werten Sie die Bilder mit eval_main() aus, wie in „evalu_notebook.ipynb“ aufgerufen
Optional: Hilfsergebnisse reproduzieren
Trainieren Sie das Flutsegmentierungsmodell auf xbd-seg erneut und erstellen Sie Segmentierungen vor und nach der Flut
- Trainieren und bewerten Sie das Flood-Segmentierungsmodell, indem Sie unserem anderen Repository eie-flood-seg folgen
- Kopieren Sie die Modellgewichte und fügen Sie sie aus checkpoints/temp/ in pretrained/ ein.
Trainieren Sie die Generalisierungsexperimente für naip2xbd und naip2hou
- Folgen Sie dem Notizbuch Train_conditional_binary_scratch_naip.ipynb
Erweiterungen für Wald-, Wald-GTM- und Arktis-Bilder
- Trainieren Sie ein Modell zur Segmentierung des arktischen Meereises mit arctic-sea-ice-seg
- Der Code zum Generieren von Wiederaufforstungsvisualisierungen ist derzeit nicht verfügbar.
Laden Sie die Rohdaten erneut herunter und verarbeiten Sie sie
- xbd2xbd: Führen Sie die Schritte in unserem eie-preprocessing-Repository aus, um den Datensatz herunterzuladen und zu verarbeiten. Der erste Schritt besteht darin, die rohen xBD-Überschwemmungsbilder von xview herunterzuladen, indem Sie dem Skript unter eie-preprocessing/scripts/download_xBD_geotiles.sh folgen
- xbd-seg: Daten in xbd2xbd manuell kennzeichnen
- {naip2xbd, naip2hou, hou-seg}: Befolgen Sie die Anweisungen im Dokument.
- arctic: Befolgen Sie die Anweisungen in full-pipeline/pipeline.sh im arctic-sea-ice-Repository
- {forest, Forest-gtm}: Befolgen Sie die Anweisungen im Dokument.
Visualisierung
- Visualisieren Sie die generierten Bilder als große Geodatenkarte mit align_slosh_w_naip.ipynb -> „Großes TIF aus generierten Bildern erstellen“
Ordnerstruktur
- 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
Referenz
@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}
}