Πρόβλεψη Εξάπλωσης Δασικής Πυρκαγιάς�με�Βαθιά Μηχανική Μάθηση
Διπλωματική Εργασία :
Νικόλαος Αναστασίου
National Technical University of Athens
School of Rural, Surveying and Geoinformatics Engineering
Επιβλέπων :
Ιωάννης Παπουτσής
Ενότητες
Dataset
DataCube, Διορθώσεις, Τροποποιήσεις, Statistics
Μοντέλα Μηχανικής Μάθησης
Training και Evaluation, UNet2D, UNet3D, Vision Transformer
Αποτελέσματα
Metrics, Visualization, Explainable AI
Εισαγωγή
Στόχος, Δεδομένα, Μεθοδολογία, Βιβλιογραφία
Ενότητες
Εισαγωγή
Στόχος, Δεδομένα, Μεθοδολογία, Βιβλιογραφία
Dataset
DataCube, Διορθώσεις, Τροποποιήσεις, Statistics
Μοντέλα Μηχανικής Μάθησης
Training και Evaluation, UNet2D, UNet3D, Vision Transformer
Αποτελέσματα
Metrics, Visualization, Explainable AI
Εισαγωγή�Στόχος της εργασίας
?
Στόχος είναι η πρόβλεψη της τελικής καμένης έκτασης που μπορεί να προκύψει από μια δασική πυρκαγιά, δεδομένου ενός σημείου εκκίνησης, και τηλεπισκοπηκών δεδομένων.
Διπλωματική Εργασία | Νικόλας Αναστασίου
github.com/nikos230/WildFireSpread
Εισαγωγή�Γιατί να δημιουργηθεί ένα τέτοιο μοντέλο ?
Κατεύθυνση πυρκαγιάς
(Βορειά, Νοτιά, etc.)
Εκτίμηση μεγέθους πυρκαγιάς
(>500ha ?, > 3500ha ?)
Συλλογή δεδομένων για το πως εξαπλώνονται οι πυρκαγιές
(Ποιες μεταβλητές και μέρες είναι σημαντικές ?)
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Εισαγωγή�Βιβλιογραφία: CNN-BiLSTM: A Novel Deep Learning Model for Near-Real-Time Daily Wildfire Spread Prediction
Το CNN-BiLSTM μοντέλο είναι ένας συνδυασμός Convolutional Neural Networks (CNN) και Bidirectional Long Short Term Memory Networks (BiLSTM) με στόχο την εξαγωγή features για την πρόβλεψη εξάπλωσης των δασικών πυρκαγιών από μεταβλητές όπως η τοπογραφία του εδάφους, χρήσης γης, θερμοκρασία, υγρασία, ταχύτητα/κατεύθυνση ανέμου, βροχόπτωση, κτλ. Για τα σημεία εκκίνησης των πυρκαγιών χρησιμοποιήθηκαν δεδομένα από τον δορυφόρο VIIRS έτσι το μοντέλο θα μπορεί να χρησιμοποιηθεί σε πραγματικό χρόνο, αφού τα δεδομένα VIIRS έχουν μεγάλη συχνότητα. Τα δεδομένα ήταν σε μορφή patches και κάθε πυρκαγιά σχηματίζονταν από 4 patch αντί για 1. Έτσι αντί η τελική καμένη έκταση να περιέχεται σε μια μόνο «εικόνα» περιεχόταν σε 4 «εικόνες», αυτό ήταν απαραίτητο καθώς το αρχικό σχήμα των δεδομένων ήταν πολύ μεγάλο.
Συνεισφορές :
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Εισαγωγή�Βιβλιογραφία: FireCast: Leveraging Deep Learning to Predict Wildfire Spread
Το FireCast είναι ένα απλό CNN μοντέλο με 2 Convolutional Layers και 2 Blocks και ένα dense layer. Το μοντέλο έχει εκπαιδευτεί με στόχο να προβλέπει την περίμετρο της πυρκαγιάς την επόμενη μέρα, δίνοντας σαν input την τωρινή περίμετρο της πυρκαγιάς και τις μετεωρολογικές προβλέψεις της επομένης μέρας.
Συνεισφορές :
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Εισαγωγή�Βιβλιογραφία: Next Day Wildfire Spread: A Machine Learning Dataset to Predict Wildfire Spreading From�Remote-Sensing Data
Το dataset «Next Day Wildfire Spread» παρουσιάζει ένα μεγάλο dataset με πολλές μεταβλητές σε χωρική ανάλυση 1 km x 1 km και περιέχει καθημερινά δεδομένα για την εξέλιξη της εξάπλωσης των πυρκαγιών, συνολικά περιέχει 18000 πυρκαγιές. Με αυτό το dataset εκπαιδευτήκαν ένα CNN μοντέλο και τα μοντέλα Random Forest, Logistic Regression από τα οποία το CNN είχε την καλύτερη απόδοση. Τα samples που χρησιμοποιήθηκαν είχαν μέγεθος 64 x 64 pixel, ενώ τα δεδομένα αντλήθηκαν από το Google Earth Engine. Συνολικά το μοντέλο εκπαιδευτικέ σε 11 μεταβλητές. Το μοντέλο εκπαιδευτικέ με στόχο την πρόβλεψη εξάπλωσης μιας πυρκαγιάς οπού είναι ενεργή την χρονική στιγμή t, πως θα εξαπλωθεί την χρονική στιγμή t+1.
Συνεισφορές:
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Εισαγωγή�Τι θέλουμε να πέτυχουμε
64 km
64 km
Variables
Temperature,
Wind Speed,
Wind Direction,
NDVI,
Humidity,�etc…
Ignition Point
Prediction
Predicted Burned Area
64 km
64 km
Deep Learning Model
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Εισαγωγή�Μέθοδος
64 pixel
64 pixel
27 Variables
Supervised
Learning
Label (Burned Area)
Prediction
Inputs
Meteorological Variables
Vegetation Maps
Land Cover
Surface Features
Ignition Points / Labels
Deep Learning Model
64 pixel
64 pixel
64 pixel
64 pixel
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Εισαγωγή�Συνεισφορές της Διπλωματικής Εργασίας
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Ενότητες
Dataset
DataCube, Διορθώσεις, Τροποποιήσεις, Statistics
Εισαγωγή
Στόχος, Δεδομένα, Μεθοδολογία, Βιβλιογραφία
Μοντέλα Μηχανικής Μάθησης
Training και Evaluation, UNet2D, UNet3D, Vision Transformer
Αποτελέσματα
Metrics, Visualization, Explainable AI
Dataset�Χαρακτηριστικά Dataset | Samples (Fire Events)
27 Variables per Day�15 Dynamic & 12 Static
Spatial Resolution�1 pixel = 1 x 1 km
Temporal Resolution�1 Day
Variables Patch Size�64 x 64 km
or
64 x 64 pixel
Sample (Fire Event)
5 days before fire
5 days after fire (forecast)
Day 0
Day 1
Day 2
Day 3
Day 4
Day 5
Day 6
Day 7
Day 8
Day 9
Label�(Burned Area)
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Dataset�Χαρακτηριστικά Dataset | Μεταβλητές
Meteorological Variables
Vegetation Maps
Land Cover
Surface Features
Ignition Points / Labels
Dynamic Variables
Static Variables
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Dataset�Δημιουργία dataset | Patch Extraction
Mesogeos DataCube
Δεδομένα σε μορφή raster με διαστάσεις
(y, x, time)=(1752 km, 4741 km, 6026 days)
Τελικά samples (fire events) ≈ 9500
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Sample σε μορφή netCDF� Περιέχει :
Επιλογή ενός (τυχαίου) ignition point και δημιουργία ενός παραθύρου 64 x 64 pixel με κέντρο αυτό το σημείο
Offset του παραθύρου κατά (y, x) κατά μερικά pixel, έτσι ώστε η καμένη έκταση να μην είναι στο κέντρο του παραθύρου
Extract του παραθύρου για 10 time steps, 5 μέρες πριν και 5 μετά την μέρα έναρξης της πυρκαγιάς
Dataset�Δημιουργία dataset | Patch Extraction
64 pixel
64 pixel
Random
offset
64 pixel
64 pixel
27 variables�10 time steps
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Mesogeos DataCube
Mesogeos DataCube
Sample
Dataset�Στατιστικά | Αριθμός Πυρκαγιών ανά μέγεθος πυρκαγιάς
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Dataset�Στατιστικά | Αριθμός πυρκαγιών (samples) ανά μήνα για όλες τις χρονιές
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Dataset�Στατιστικά | Αριθμός πυρκαγιών (samples) ανά χρονιά
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Ενότητες
Μοντέλα Μηχανικής Μάθησης
Training και Evaluation, UNet2D, UNet3D, Vision Transformer
Dataset
DataCube, Διορθώσεις, Τροποποιήσεις, Statistics
Εισαγωγή
Στόχος, Δεδομένα, Μεθοδολογία, Βιβλιογραφία
Αποτελέσματα
Metrics, Visualization, Explainable AI
Μοντέλα Μηχανικής Μάθησης�Deep Learning Models | U-Net2D, U-Net3d and Vision Transformer (ViT)
UNet2D �Baseline
UNet2D �10-day
UNet3D �10-day
Trained with
Data from
Igntion day only
26 Variables + Label
Data from
5 days before ignition day and 5 days after
Trained with
Data from
5 days before ignition day and 5 days after
Trained with
Vision Transformer �10-day
Data from
5 days before ignition day and 5 days after
Trained with
152 Variables + Label
260 Variables* + Label
152 Variables + Label
*Το U-Net3D δέχεται time steps, η κάθε μέρα έχει 26 μεταβλητές (14 δυναμικές και 12 στατικές), αρά 26 * 10 = 260 μεταβλητές��Στα μοντέλα U-Net2D και Vision Transformer τα στατικά δεδομένα περιλαμβάνονται μόνο μια φορά άρα συνολικά είναι 14 * 10 = 140 μεταβλητές + 12 στατικές = 152 μεταβλητές
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Μοντέλα Μηχανικής Μάθησης�Διάφορες αναμεσά στα U-Net2D και U-Net3D
UNet2D
Convolution
UNet3D
Convolution
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Μοντέλα Μηχανικής Μάθησης�Dataset Split | Training set | Validation set | Test set
Samples (Fire Events)
Years 2006 - 2022
9568 samples
7619 samples
841 samples
Training�Years 2006 - 2020
1101 samples
Validation�Year 2021
Test�Year 2022
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Μοντέλα Μηχανικής Μάθησης�Model Architecture U-Net2D & U-Net3D
Encoder
MaxPool
Bottleneck
UpConv
Decoder
ConvFinal
Input Channels
Conv
BatchNorm
GELU
ConvBlock
Conv
BatchNorm
GELU
Conv
BatchNorm
GELU
Dropout
ConvTranspose
ConvBlock
ConvBlock
Conv
Concat
ConvBlock
Το Activation Function που χρησιμοποιήθηκε είναι η συνάρτηση GELU (Gaussian Error Linear Units)
Το “Conv” συμβολίζει την διαδικασία του Convolution
Μετά από κάθε διαδικασία Conv γίνετε κανονικοποίηση του batch
Επιπλέον έχει προστεθεί ένα Dropout Layer για την αποφυγή του overfitting
κανονικοποίηση
�
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Μοντέλα Μηχανικής Μάθησης�Model Architecture U-Net2D & U-Net3D
Encoder
MaxPool
Bottleneck
UpConv
Decoder
ConvFinal
Input Channels
ConvBlock
ConvTranspose
ConvBlock
ConvBlock
Conv
Concat
κανονικοποίηση
�
152 channels
Binary Segmentation Map
Value 1 = Burned Pixels�Value 0 = Un-burned Pixels
64 pixel (km)
64 pixel (km)
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Μοντέλα Μηχανικής Μάθησης�U-Net2D, U-Net3D & Vision Transformer Training Processes (Supervised Learning)
Model
Sample_1
Sample_2
etc…
Feedfoward
Prediction
Loss
Function
Loss = (some number)
Backpropagetion
Weights, Bias
Batch
Loss Calculation
Label
Για Loss function χρησιμοποιήθηκε ο συνδυασμός από 2 Loss functions. Το πρώτο είναι το BCE Loss και το δεύτερο είναι το Dice Loss. Από τον συνδυασμό προέκυψε το BCEDice Loss
Model
Update
Repeat
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Μοντέλα Μηχανικής Μάθησης�Training, Validation Loss Plots
Για όλα τα μοντέλα U-Net2D και U-Net3D χρησιμοποιήθηκε αρχικό Learning Rate = 0.001 και LR Scheduler που ανά 3 εποχές χωρίς μείωση του Validation Loss μειώνει το LR από 0.001 σε 0.0001 κτλ.
Για το Vision Transformer χρησιμοποιήθηκε αρχικό Learning Rate = 0.0001 με LR Scheduler που ομοίως μειώνει το LR όταν δε παρατηρείται μείωσή του Validation Loss
Σε όλα τα διάγραμμα παρατηρείται η επίδραση του LR Scheduler καθώς στις τελευταίες εποχές η γραμμή του Train loss είναι σχεδόν παράλληλη με του Validation Loss αντί να παρατηρείται αύξηση του Train Loss (Overfitting)
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Ενότητες
Μοντέλα Μηχανικής Μάθησης
Training και Evaluation, UNet2D, UNet3D, Vision Transformer
Dataset
DataCube, Διορθώσεις, Τροποποιήσεις, Statistics
Εισαγωγή
Στόχος, Δεδομένα, Μεθοδολογία, Βιβλιογραφία
Αποτελέσματα
Metrics, Visualization, Explainable AI
Αποτελέσματα�Metrics
Για την επιλογή του καλυτέρου μοντέλου κατά την διάρκεια της εκπαίδευσης και της τελικής αξιολόγησης χρησιμοποιήθηκε το F1 Score / Dice Score που για 2D Binary Segmentation υπολογίζονται με τον ίδιο μαθηματικό τύπο
Το Dice Score είναι μια ένδειξη κατά πόσο 2 σχήματα είναι όμοια, όπως είναι το σχήμα της πρόβλεψης του μοντέλου και το Label
Ακόμη, το Recall πρέπει να είναι αρκετά μεγάλο καθώς το μοντέλο πρέπει να προβλέπει σωστά τα πραγματικά καμένα pixel, για να μην γίνετε underestimate του μεγέθους της πυρκαγιάς
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Αποτελέσματα�Overall Models Performance – Test Set (1101 samples)
Metrics (%) | UNet2D Baseline (1-day) | UNet2D 10-day | UNet3D 10-day | Vision Transformer 10-day |
Dice / F1 Score | 48.3 | 51.7 | 53.6 | 43.7 |
IoU | 31.9 | 34.8 | 36.6 | 28.0 |
Precision | 50.2 | 58.6 | 59.6 | 59.4 |
Recall | 46.6 | 46.2 | 48.8 | 34.6 |
Το U-Net3D 10-day μοντέλο έχει 5.3% μεγαλύτερο F1-Score από το baseline μοντέλο και 1.9% μεγαλύτερο F1-Score από το αντίστοιχο U-Net2D 10-day μοντέλο. Αυτό σημαίνει ότι η επιπλέον χρονική πληροφορία ενισχύει την απόδοση του μοντέλου. Επιπλέον ο τρόπος επεξεργασίας των δεδομένων (time series) από τα 3D Convolutions έναντί των 2D Convolutions φαίνεται να είναι καλύτερος, όπως φαίνεται από την απόδοση του U-Net3D 10-day έναντι του U-Net2D 10-day, τα 2 αυτά μοντέλα έχουν εκπαιδευτεί στα ιδιά δεδομένα.
Η πολύ χαμηλή απόδοση του Vision Transformer ενδεχόμενος οφείλετε στο ότι το μοντέλο δεν ήταν προ-εκπαιδευμένο και ότι οι αρχιτεκτονικές τύπου transformer χρειάζονται πολύ μεγάλο όγκο δεδομένων για την εκπαίδευση τους.
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Αποτελέσματα�Test per Fire Cluster
Για κάθε κατηγορία μεγέθους πυρκαγιάς έγινε ξεχωριστά test στο μοντέλο.
Από την πρώτη έως και την τρίτη κατηγορία με πυρκαγιές ως 5000 εκτάρια παρατηρείται σταθερή επίδοση, ενώ στην τέταρτη κατηγορία με πυρκαγιές έως 8500 εκτάρια παρατηρείται μείωση 2.6%
Από την τρίτη κατηγορία και έπειτα η μείωσή απόδοσης του μοντέλου είναι μεγάλη, κυρίως στις τελευταίες κατηγορίες που το μεγεθών των πυρκαγιών αυξάνετε πάρα πολύ
Μέγεθος Πυρκαγιάς | |||||||
250 1500 | 1500 3000 | 3000 5000 | 5000 8500 | 8500 14000 | 14000 20000 | 20000 35000 | > 35000 |
Αριθμός sample (πυρκαγιών) ανά κατηγορία στο test set | |||||||
451 | 298 | 161 | 107 | 40 | 22 | 18 | 4 |
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Binary to Shape
Αποτελέσματα�Visualization | Μετατροπή των Binary Mask σε Shapefiles
Αφινικός Μετασχηματισμός
Ground Truth
Shapefile
Prediction
Shapefile
Add Metadata
Add Metadata
Burned Area ha�Country
Year�Fire Date�Dice Score�Sample Name
Predicted Mask�(Predicted Burned Area)
Ground Truth Mask�(Actual Burned Area)
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Αποτελέσματα�Visualization Maps
Αποτελέσματα�Visualization Maps
Αποτελέσματα�Visualization Maps
Αποτελέσματα�Visualization Maps
Αποτελέσματα�Visualization Maps
Αποτελέσματα�Visualization Maps
Αποτελέσματα�Visualization Maps
Αποτελέσματα�Explainable AI (xAI) | Permutation method
Inputs
Trained Model
Output
F1 Score (%)
Variable 1
Variable 2
Variable 3
Variable 4
etc.
Normal Evaluation
Baseline
Score (%)
Step 1
Inputs
Trained Model
Output
F1 Score (%)
Variable 1
Variable 2
Variable 3
Variable 4
etc.
Permutation
Permutation
Score (%)
Step 2
Step 3
Importance of�Variable 1
Baseline
Score (%)
Permutation
Score (%)
-
Zero all values
Step 4
Un-zero Variable 1
Για κάθε sample στο test set περνάει από το μοντέλο και υπολογίζεται το f1 score του, π.χ 80%, έπειτα μηδενίζεται η πρώτη μεταβλητή, π.χ η ταχύτητα ανέμου, και το sample περνάει ξανά στο μοντέλο και υπολογίζεται το νέο f1 score. Από την αφαίρεση των δυο f1 score προκύπτει το importance της μηδενισμένης μεταβλητής
Continue from step 2, zero next Variable
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Αποτελέσματα�xAI | Βαρύτητα Ημέρων
Το διάγραμμα, δεξιά, έχει προκύψει μηδενίζοντας τις μεταβλητές κάθε μέρας ξεχωριστά και υπολογίζοντας το f1 score και αφαιρώντας το από το baseline score που είναι το sample χωρίς καμία μεταβλητή – μέρα μηδενισμένη.
Όσο μεγαλύτερη τιμή έχει το “Importance” στον άξονα Y τόσο μειώνεται το f1 score του μοντέλου όταν μηδενίζονται οι μεταβλητές για εκείνη την μέρα.
Από το διάγραμμα προκύπτει ότι οι μέρες πριν την έναρξη της πυρκαγιάς (μέρες 0 έως 3) δεν έχουν καμία σημαντική επίδραση στην απόδοση του μοντέλου
Αντίθετα οι μέρες μετά την πυρκαγιά (μέρες 5 έως 9) φαίνεται να έχουν την μεγαλύτερη επιρροή, πράγμα που είναι αναμενόμενο καθώς οι μετεωρολογικές μεταβλητές έχουν σημαντικό ρολό στην τελική καμένη έκταση.
Τέλος την μεγαλύτερη βαρύτητα έχει η μέρα 4 η οποία είναι και η μέρα εκκίνησης της πυρκαγιάς
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Αποτελέσματα�xAI | Βαρύτητα Μεταβλητών
Το διάγραμμα, δεξιά, έχει προκύψει μηδενίζοντας τις μεταβλητές (για όλες τις μέρες) ξεχωριστά
Οι μεταβλητές που περιέχουν παρόμοια πληροφορία όπως οι Leaf Area Index και Normalized Difference Vegetation Index μηδενίζονται ταυτόχρονα καθώς αν μηδενιστή η μια το μοντέλο θα χρησιμοποίηση πληροφορία από την άλλη. Η ιδιά μέθοδος χρησιμοποιήθηκε και στις μεταβλητές U-component of Wind και V-component of Wind.
Όπως παρατηρήθηκε οι μεταβλητές που έχουν πληροφορία για την βλάστηση έχουν το μεγαλύτερο “Importance” και έπειτα οι μεταβλητές που σχετίζονται με την θερμοκρασία του εδάφους. Στη συνέχεια βρίσκονται οι μετεωρολογικές μεταβλητές
*Εκτός του Ignition Points
github.com/nikos230/WildFireSpread
Διπλωματική Εργασία | Νικόλας Αναστασίου
Αποτελέσματα�Land Cover
Ενότητες
Μοντέλα Μηχανικής Μάθησης
Training και Evaluation, UNet2D, UNet3D, Vision Transformer
Dataset
DataCube, Διορθώσεις, Τροποποιήσεις, Statistics
Εισαγωγή
Στόχος, Δεδομένα, Μεθοδολογία, Βιβλιογραφία
Αποτελέσματα
Metrics, Visualization, Explainable AI
Ευχαριστώ πολύ για την προσοχή σας!