Timerns commited on
Commit
984cdba
·
verified ·
1 Parent(s): df5618e

Upload folder using huggingface_hub

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +586 -0
  2. README.md +47 -3
  3. code/deep_learning_dataset/gee.ipynb +463 -0
  4. code/deep_learning_dataset/gee_vis_date_mission.ipynb +140 -0
  5. code/lake_detection/band_stats.json +1 -0
  6. code/lake_detection/pca_model.pkl +3 -0
  7. code/lake_detection/superpixel_classification.ipynb +458 -0
  8. code/lake_detection/superpixel_dataloader.ipynb +349 -0
  9. code/lake_detection/superpixel_rlhf.ipynb +0 -0
  10. code/lake_detection/train_segments_features.csv +3 -0
  11. code/lake_detection/validation_segments_features.csv +3 -0
  12. code/lake_detection_deep_learning/band_stats.json +1 -0
  13. code/lake_detection_deep_learning/model_anaysis_comp.ipynb +0 -0
  14. code/lake_detection_deep_learning/model_visulalisation.ipynb +0 -0
  15. code/lake_detection_deep_learning/models/deeplabv3/0/deeplabv3_mae_models/epoch_best.pth +3 -0
  16. code/lake_detection_deep_learning/models/deeplabv3/0/deeplabv3_mae_models/training_log.csv +31 -0
  17. code/lake_detection_deep_learning/models/deeplabv3/0/deeplabv3_mae_models/training_time_log.csv +2 -0
  18. code/lake_detection_deep_learning/models/deeplabv3/0/deeplabv3_seg_models/training_log.csv +31 -0
  19. code/lake_detection_deep_learning/models/deeplabv3/0/deeplabv3_seg_models/training_time_log.csv +2 -0
  20. code/lake_detection_deep_learning/models/deeplabv3/1/deeplabv3_mae_models/epoch_best.pth +3 -0
  21. code/lake_detection_deep_learning/models/deeplabv3/1/deeplabv3_mae_models/training_log.csv +31 -0
  22. code/lake_detection_deep_learning/models/deeplabv3/1/deeplabv3_mae_models/training_time_log.csv +2 -0
  23. code/lake_detection_deep_learning/models/deeplabv3/1/deeplabv3_seg_models/epoch_best.pth +3 -0
  24. code/lake_detection_deep_learning/models/deeplabv3/1/deeplabv3_seg_models/training_log.csv +31 -0
  25. code/lake_detection_deep_learning/models/deeplabv3/1/deeplabv3_seg_models/training_time_log.csv +2 -0
  26. code/lake_detection_deep_learning/models/deeplabv3/2/deeplabv3_mae_models/epoch_best.pth +3 -0
  27. code/lake_detection_deep_learning/models/deeplabv3/2/deeplabv3_mae_models/training_log.csv +31 -0
  28. code/lake_detection_deep_learning/models/deeplabv3/2/deeplabv3_mae_models/training_time_log.csv +2 -0
  29. code/lake_detection_deep_learning/models/deeplabv3/2/deeplabv3_seg_models/epoch_best.pth +3 -0
  30. code/lake_detection_deep_learning/models/deeplabv3/2/deeplabv3_seg_models/training_log.csv +31 -0
  31. code/lake_detection_deep_learning/models/deeplabv3/2/deeplabv3_seg_models/training_time_log.csv +2 -0
  32. code/lake_detection_deep_learning/models/deeplabv3/3/deeplabv3_mae_models/epoch_best.pth +3 -0
  33. code/lake_detection_deep_learning/models/deeplabv3/3/deeplabv3_mae_models/training_log.csv +31 -0
  34. code/lake_detection_deep_learning/models/deeplabv3/3/deeplabv3_mae_models/training_time_log.csv +2 -0
  35. code/lake_detection_deep_learning/models/deeplabv3/3/deeplabv3_seg_models/epoch_best.pth +3 -0
  36. code/lake_detection_deep_learning/models/deeplabv3/3/deeplabv3_seg_models/training_log.csv +31 -0
  37. code/lake_detection_deep_learning/models/deeplabv3/3/deeplabv3_seg_models/training_time_log.csv +2 -0
  38. code/lake_detection_deep_learning/models/swinv2_cnn/0/swinv2_cnn_mae_models/epoch_best.pth +3 -0
  39. code/lake_detection_deep_learning/models/swinv2_cnn/0/swinv2_cnn_mae_models/training_log.csv +31 -0
  40. code/lake_detection_deep_learning/models/swinv2_cnn/0/swinv2_cnn_mae_models/training_time_log.csv +2 -0
  41. code/lake_detection_deep_learning/models/swinv2_cnn/0/swinv2_cnn_seg_models/epoch_best.pth +3 -0
  42. code/lake_detection_deep_learning/models/swinv2_cnn/0/swinv2_cnn_seg_models/training_log.csv +31 -0
  43. code/lake_detection_deep_learning/models/swinv2_cnn/0/swinv2_cnn_seg_models/training_time_log.csv +2 -0
  44. code/lake_detection_deep_learning/models/swinv2_cnn/1/swinv2_cnn_mae_models/epoch_best.pth +3 -0
  45. code/lake_detection_deep_learning/models/swinv2_cnn/1/swinv2_cnn_mae_models/training_log.csv +31 -0
  46. code/lake_detection_deep_learning/models/swinv2_cnn/1/swinv2_cnn_mae_models/training_time_log.csv +2 -0
  47. code/lake_detection_deep_learning/models/swinv2_cnn/1/swinv2_cnn_seg_models/epoch_best.pth +3 -0
  48. code/lake_detection_deep_learning/models/swinv2_cnn/1/swinv2_cnn_seg_models/training_log.csv +31 -0
  49. code/lake_detection_deep_learning/models/swinv2_cnn/1/swinv2_cnn_seg_models/training_time_log.csv +2 -0
  50. code/lake_detection_deep_learning/models/swinv2_cnn/2/swinv2_cnn_mae_models/epoch_best.pth +3 -0
.gitattributes CHANGED
@@ -33,3 +33,589 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ code/lake_detection/train_segments_features.csv filter=lfs diff=lfs merge=lfs -text
37
+ code/lake_detection/validation_segments_features.csv filter=lfs diff=lfs merge=lfs -text
38
+ code/melting_season/glacier/SGI_2016_centerlines.dbf filter=lfs diff=lfs merge=lfs -text
39
+ code/melting_season/glacier/SGI_2016_centerlines.shp filter=lfs diff=lfs merge=lfs -text
40
+ code/melting_season/glacier/SGI_2016_debriscover.dbf filter=lfs diff=lfs merge=lfs -text
41
+ code/melting_season/glacier/SGI_2016_debriscover.shp filter=lfs diff=lfs merge=lfs -text
42
+ code/melting_season/glacier/SGI_2016_glacier_locations.dbf filter=lfs diff=lfs merge=lfs -text
43
+ code/melting_season/glacier/SGI_2016_glaciers.dbf filter=lfs diff=lfs merge=lfs -text
44
+ code/melting_season/glacier/SGI_2016_glaciers.shp filter=lfs diff=lfs merge=lfs -text
45
+ code/melting_season/glacier/SGI_2016_surfacetype_10m_LV95.tif filter=lfs diff=lfs merge=lfs -text
46
+ code/melting_season/s1_wet_snow_timeseries_points_base2020.csv filter=lfs diff=lfs merge=lfs -text
47
+ dataset/Aletsch/20230613_Aletsch_cloud_mask.tif filter=lfs diff=lfs merge=lfs -text
48
+ dataset/Aletsch/20230613_Aletsch_hillshade.tif filter=lfs diff=lfs merge=lfs -text
49
+ dataset/Aletsch/20230613_Aletsch_s1.tif filter=lfs diff=lfs merge=lfs -text
50
+ dataset/Aletsch/20230613_Aletsch_s2.tif filter=lfs diff=lfs merge=lfs -text
51
+ dataset/Aletsch/20230618_Aletsch_cloud_mask.tif filter=lfs diff=lfs merge=lfs -text
52
+ dataset/Aletsch/20230618_Aletsch_hillshade.tif filter=lfs diff=lfs merge=lfs -text
53
+ dataset/Aletsch/20230618_Aletsch_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
54
+ dataset/Aletsch/20230618_Aletsch_s1.tif filter=lfs diff=lfs merge=lfs -text
55
+ dataset/Aletsch/20230618_Aletsch_s2.tif filter=lfs diff=lfs merge=lfs -text
56
+ dataset/Aletsch/20230625_Aletsch_hillshade.tif filter=lfs diff=lfs merge=lfs -text
57
+ dataset/Aletsch/20230625_Aletsch_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
58
+ dataset/Aletsch/20230625_Aletsch_s1.tif filter=lfs diff=lfs merge=lfs -text
59
+ dataset/Aletsch/20230625_Aletsch_s2.tif filter=lfs diff=lfs merge=lfs -text
60
+ dataset/Aletsch/20230630_Aletsch_hillshade.tif filter=lfs diff=lfs merge=lfs -text
61
+ dataset/Aletsch/20230630_Aletsch_s1.tif filter=lfs diff=lfs merge=lfs -text
62
+ dataset/Aletsch/20230630_Aletsch_s2.tif filter=lfs diff=lfs merge=lfs -text
63
+ dataset/Aletsch/20230703_Aletsch_cloud_mask.tif filter=lfs diff=lfs merge=lfs -text
64
+ dataset/Aletsch/20230703_Aletsch_hillshade.tif filter=lfs diff=lfs merge=lfs -text
65
+ dataset/Aletsch/20230703_Aletsch_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
66
+ dataset/Aletsch/20230703_Aletsch_s1.tif filter=lfs diff=lfs merge=lfs -text
67
+ dataset/Aletsch/20230703_Aletsch_s2.tif filter=lfs diff=lfs merge=lfs -text
68
+ dataset/Aletsch/20230708_Aletsch_cloud_mask.tif filter=lfs diff=lfs merge=lfs -text
69
+ dataset/Aletsch/20230708_Aletsch_hillshade.tif filter=lfs diff=lfs merge=lfs -text
70
+ dataset/Aletsch/20230708_Aletsch_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
71
+ dataset/Aletsch/20230708_Aletsch_s1.tif filter=lfs diff=lfs merge=lfs -text
72
+ dataset/Aletsch/20230708_Aletsch_s2.tif filter=lfs diff=lfs merge=lfs -text
73
+ dataset/Aletsch/20230715_Aletsch_cloud_mask.tif filter=lfs diff=lfs merge=lfs -text
74
+ dataset/Aletsch/20230715_Aletsch_hillshade.tif filter=lfs diff=lfs merge=lfs -text
75
+ dataset/Aletsch/20230715_Aletsch_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
76
+ dataset/Aletsch/20230715_Aletsch_s1.tif filter=lfs diff=lfs merge=lfs -text
77
+ dataset/Aletsch/20230715_Aletsch_s2.tif filter=lfs diff=lfs merge=lfs -text
78
+ dataset/Aletsch/20230720_Aletsch_hillshade.tif filter=lfs diff=lfs merge=lfs -text
79
+ dataset/Aletsch/20230720_Aletsch_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
80
+ dataset/Aletsch/20230720_Aletsch_s1.tif filter=lfs diff=lfs merge=lfs -text
81
+ dataset/Aletsch/20230720_Aletsch_s2.tif filter=lfs diff=lfs merge=lfs -text
82
+ dataset/Aletsch/20230812_Aletsch_cloud_mask.tif filter=lfs diff=lfs merge=lfs -text
83
+ dataset/Aletsch/20230812_Aletsch_hillshade.tif filter=lfs diff=lfs merge=lfs -text
84
+ dataset/Aletsch/20230812_Aletsch_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
85
+ dataset/Aletsch/20230812_Aletsch_s1.tif filter=lfs diff=lfs merge=lfs -text
86
+ dataset/Aletsch/20230812_Aletsch_s2.tif filter=lfs diff=lfs merge=lfs -text
87
+ dataset/Aletsch/20230817_Aletsch_cloud_mask.tif filter=lfs diff=lfs merge=lfs -text
88
+ dataset/Aletsch/20230817_Aletsch_hillshade.tif filter=lfs diff=lfs merge=lfs -text
89
+ dataset/Aletsch/20230817_Aletsch_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
90
+ dataset/Aletsch/20230817_Aletsch_s1.tif filter=lfs diff=lfs merge=lfs -text
91
+ dataset/Aletsch/20230817_Aletsch_s2.tif filter=lfs diff=lfs merge=lfs -text
92
+ dataset/Aletsch/20230824_Aletsch_hillshade.tif filter=lfs diff=lfs merge=lfs -text
93
+ dataset/Aletsch/20230824_Aletsch_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
94
+ dataset/Aletsch/20230824_Aletsch_s1.tif filter=lfs diff=lfs merge=lfs -text
95
+ dataset/Aletsch/20230824_Aletsch_s2.tif filter=lfs diff=lfs merge=lfs -text
96
+ dataset/Aletsch/20230829_Aletsch_hillshade.tif filter=lfs diff=lfs merge=lfs -text
97
+ dataset/Aletsch/20230829_Aletsch_s1.tif filter=lfs diff=lfs merge=lfs -text
98
+ dataset/Aletsch/20230829_Aletsch_s2.tif filter=lfs diff=lfs merge=lfs -text
99
+ dataset/Aletsch/20230901_Aletsch_cloud_mask.tif filter=lfs diff=lfs merge=lfs -text
100
+ dataset/Aletsch/20230901_Aletsch_hillshade.tif filter=lfs diff=lfs merge=lfs -text
101
+ dataset/Aletsch/20230901_Aletsch_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
102
+ dataset/Aletsch/20230901_Aletsch_s1.tif filter=lfs diff=lfs merge=lfs -text
103
+ dataset/Aletsch/20230901_Aletsch_s2.tif filter=lfs diff=lfs merge=lfs -text
104
+ dataset/Aletsch/20230906_Aletsch_hillshade.tif filter=lfs diff=lfs merge=lfs -text
105
+ dataset/Aletsch/20230906_Aletsch_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
106
+ dataset/Aletsch/20230906_Aletsch_s1.tif filter=lfs diff=lfs merge=lfs -text
107
+ dataset/Aletsch/20230906_Aletsch_s2.tif filter=lfs diff=lfs merge=lfs -text
108
+ dataset/Aletsch/20230913_Aletsch_hillshade.tif filter=lfs diff=lfs merge=lfs -text
109
+ dataset/Aletsch/20230913_Aletsch_s1.tif filter=lfs diff=lfs merge=lfs -text
110
+ dataset/Aletsch/20230913_Aletsch_s2.tif filter=lfs diff=lfs merge=lfs -text
111
+ dataset/Aletsch/20230918_Aletsch_hillshade.tif filter=lfs diff=lfs merge=lfs -text
112
+ dataset/Aletsch/20230918_Aletsch_s1.tif filter=lfs diff=lfs merge=lfs -text
113
+ dataset/Aletsch/20230918_Aletsch_s2.tif filter=lfs diff=lfs merge=lfs -text
114
+ dataset/Aletsch/20231011_Aletsch_hillshade.tif filter=lfs diff=lfs merge=lfs -text
115
+ dataset/Aletsch/20231011_Aletsch_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
116
+ dataset/Aletsch/20231011_Aletsch_s1.tif filter=lfs diff=lfs merge=lfs -text
117
+ dataset/Aletsch/20231011_Aletsch_s2.tif filter=lfs diff=lfs merge=lfs -text
118
+ dataset/Aletsch/20231016_Aletsch_hillshade.tif filter=lfs diff=lfs merge=lfs -text
119
+ dataset/Aletsch/20231016_Aletsch_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
120
+ dataset/Aletsch/20231016_Aletsch_s1.tif filter=lfs diff=lfs merge=lfs -text
121
+ dataset/Aletsch/20231016_Aletsch_s2.tif filter=lfs diff=lfs merge=lfs -text
122
+ dataset/Aletsch/20231023_Aletsch_hillshade.tif filter=lfs diff=lfs merge=lfs -text
123
+ dataset/Aletsch/20231023_Aletsch_s1.tif filter=lfs diff=lfs merge=lfs -text
124
+ dataset/Aletsch/20231023_Aletsch_s2.tif filter=lfs diff=lfs merge=lfs -text
125
+ dataset/Aletsch/20231028_Aletsch_cloud_mask.tif filter=lfs diff=lfs merge=lfs -text
126
+ dataset/Aletsch/20231028_Aletsch_hillshade.tif filter=lfs diff=lfs merge=lfs -text
127
+ dataset/Aletsch/20231028_Aletsch_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
128
+ dataset/Aletsch/20231028_Aletsch_s1.tif filter=lfs diff=lfs merge=lfs -text
129
+ dataset/Aletsch/20231028_Aletsch_s2.tif filter=lfs diff=lfs merge=lfs -text
130
+ dataset/Aletsch/Aletsch_dem.tif filter=lfs diff=lfs merge=lfs -text
131
+ dataset/Allalin/20230613_Allalin_hillshade.tif filter=lfs diff=lfs merge=lfs -text
132
+ dataset/Allalin/20230613_Allalin_s1.tif filter=lfs diff=lfs merge=lfs -text
133
+ dataset/Allalin/20230613_Allalin_s2.tif filter=lfs diff=lfs merge=lfs -text
134
+ dataset/Allalin/20230618_Allalin_hillshade.tif filter=lfs diff=lfs merge=lfs -text
135
+ dataset/Allalin/20230618_Allalin_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
136
+ dataset/Allalin/20230618_Allalin_s1.tif filter=lfs diff=lfs merge=lfs -text
137
+ dataset/Allalin/20230618_Allalin_s2.tif filter=lfs diff=lfs merge=lfs -text
138
+ dataset/Allalin/20230625_Allalin_hillshade.tif filter=lfs diff=lfs merge=lfs -text
139
+ dataset/Allalin/20230625_Allalin_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
140
+ dataset/Allalin/20230625_Allalin_s1.tif filter=lfs diff=lfs merge=lfs -text
141
+ dataset/Allalin/20230625_Allalin_s2.tif filter=lfs diff=lfs merge=lfs -text
142
+ dataset/Allalin/20230630_Allalin_hillshade.tif filter=lfs diff=lfs merge=lfs -text
143
+ dataset/Allalin/20230630_Allalin_s1.tif filter=lfs diff=lfs merge=lfs -text
144
+ dataset/Allalin/20230630_Allalin_s2.tif filter=lfs diff=lfs merge=lfs -text
145
+ dataset/Allalin/20230703_Allalin_hillshade.tif filter=lfs diff=lfs merge=lfs -text
146
+ dataset/Allalin/20230703_Allalin_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
147
+ dataset/Allalin/20230703_Allalin_s1.tif filter=lfs diff=lfs merge=lfs -text
148
+ dataset/Allalin/20230703_Allalin_s2.tif filter=lfs diff=lfs merge=lfs -text
149
+ dataset/Allalin/20230708_Allalin_hillshade.tif filter=lfs diff=lfs merge=lfs -text
150
+ dataset/Allalin/20230708_Allalin_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
151
+ dataset/Allalin/20230708_Allalin_s1.tif filter=lfs diff=lfs merge=lfs -text
152
+ dataset/Allalin/20230708_Allalin_s2.tif filter=lfs diff=lfs merge=lfs -text
153
+ dataset/Allalin/20230715_Allalin_hillshade.tif filter=lfs diff=lfs merge=lfs -text
154
+ dataset/Allalin/20230715_Allalin_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
155
+ dataset/Allalin/20230715_Allalin_s1.tif filter=lfs diff=lfs merge=lfs -text
156
+ dataset/Allalin/20230715_Allalin_s2.tif filter=lfs diff=lfs merge=lfs -text
157
+ dataset/Allalin/20230720_Allalin_hillshade.tif filter=lfs diff=lfs merge=lfs -text
158
+ dataset/Allalin/20230720_Allalin_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
159
+ dataset/Allalin/20230720_Allalin_s1.tif filter=lfs diff=lfs merge=lfs -text
160
+ dataset/Allalin/20230720_Allalin_s2.tif filter=lfs diff=lfs merge=lfs -text
161
+ dataset/Allalin/20230812_Allalin_hillshade.tif filter=lfs diff=lfs merge=lfs -text
162
+ dataset/Allalin/20230812_Allalin_s1.tif filter=lfs diff=lfs merge=lfs -text
163
+ dataset/Allalin/20230812_Allalin_s2.tif filter=lfs diff=lfs merge=lfs -text
164
+ dataset/Allalin/20230817_Allalin_hillshade.tif filter=lfs diff=lfs merge=lfs -text
165
+ dataset/Allalin/20230817_Allalin_s1.tif filter=lfs diff=lfs merge=lfs -text
166
+ dataset/Allalin/20230817_Allalin_s2.tif filter=lfs diff=lfs merge=lfs -text
167
+ dataset/Allalin/20230824_Allalin_hillshade.tif filter=lfs diff=lfs merge=lfs -text
168
+ dataset/Allalin/20230824_Allalin_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
169
+ dataset/Allalin/20230824_Allalin_s1.tif filter=lfs diff=lfs merge=lfs -text
170
+ dataset/Allalin/20230824_Allalin_s2.tif filter=lfs diff=lfs merge=lfs -text
171
+ dataset/Allalin/20230829_Allalin_hillshade.tif filter=lfs diff=lfs merge=lfs -text
172
+ dataset/Allalin/20230829_Allalin_s1.tif filter=lfs diff=lfs merge=lfs -text
173
+ dataset/Allalin/20230829_Allalin_s2.tif filter=lfs diff=lfs merge=lfs -text
174
+ dataset/Allalin/20230901_Allalin_hillshade.tif filter=lfs diff=lfs merge=lfs -text
175
+ dataset/Allalin/20230901_Allalin_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
176
+ dataset/Allalin/20230901_Allalin_s1.tif filter=lfs diff=lfs merge=lfs -text
177
+ dataset/Allalin/20230901_Allalin_s2.tif filter=lfs diff=lfs merge=lfs -text
178
+ dataset/Allalin/20230906_Allalin_hillshade.tif filter=lfs diff=lfs merge=lfs -text
179
+ dataset/Allalin/20230906_Allalin_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
180
+ dataset/Allalin/20230906_Allalin_s1.tif filter=lfs diff=lfs merge=lfs -text
181
+ dataset/Allalin/20230906_Allalin_s2.tif filter=lfs diff=lfs merge=lfs -text
182
+ dataset/Allalin/20230913_Allalin_hillshade.tif filter=lfs diff=lfs merge=lfs -text
183
+ dataset/Allalin/20230913_Allalin_s1.tif filter=lfs diff=lfs merge=lfs -text
184
+ dataset/Allalin/20230913_Allalin_s2.tif filter=lfs diff=lfs merge=lfs -text
185
+ dataset/Allalin/20230918_Allalin_hillshade.tif filter=lfs diff=lfs merge=lfs -text
186
+ dataset/Allalin/20230918_Allalin_s1.tif filter=lfs diff=lfs merge=lfs -text
187
+ dataset/Allalin/20230918_Allalin_s2.tif filter=lfs diff=lfs merge=lfs -text
188
+ dataset/Allalin/20231011_Allalin_hillshade.tif filter=lfs diff=lfs merge=lfs -text
189
+ dataset/Allalin/20231011_Allalin_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
190
+ dataset/Allalin/20231011_Allalin_s1.tif filter=lfs diff=lfs merge=lfs -text
191
+ dataset/Allalin/20231011_Allalin_s2.tif filter=lfs diff=lfs merge=lfs -text
192
+ dataset/Allalin/20231016_Allalin_hillshade.tif filter=lfs diff=lfs merge=lfs -text
193
+ dataset/Allalin/20231016_Allalin_s1.tif filter=lfs diff=lfs merge=lfs -text
194
+ dataset/Allalin/20231016_Allalin_s2.tif filter=lfs diff=lfs merge=lfs -text
195
+ dataset/Allalin/20231023_Allalin_hillshade.tif filter=lfs diff=lfs merge=lfs -text
196
+ dataset/Allalin/20231023_Allalin_s1.tif filter=lfs diff=lfs merge=lfs -text
197
+ dataset/Allalin/20231023_Allalin_s2.tif filter=lfs diff=lfs merge=lfs -text
198
+ dataset/Allalin/20231028_Allalin_hillshade.tif filter=lfs diff=lfs merge=lfs -text
199
+ dataset/Allalin/20231028_Allalin_s1.tif filter=lfs diff=lfs merge=lfs -text
200
+ dataset/Allalin/20231028_Allalin_s2.tif filter=lfs diff=lfs merge=lfs -text
201
+ dataset/Allalin/Allalin_dem.tif filter=lfs diff=lfs merge=lfs -text
202
+ dataset/Anzere/20230613_Anzere_hillshade.tif filter=lfs diff=lfs merge=lfs -text
203
+ dataset/Anzere/20230613_Anzere_s1.tif filter=lfs diff=lfs merge=lfs -text
204
+ dataset/Anzere/20230613_Anzere_s2.tif filter=lfs diff=lfs merge=lfs -text
205
+ dataset/Anzere/20230618_Anzere_hillshade.tif filter=lfs diff=lfs merge=lfs -text
206
+ dataset/Anzere/20230618_Anzere_s1.tif filter=lfs diff=lfs merge=lfs -text
207
+ dataset/Anzere/20230618_Anzere_s2.tif filter=lfs diff=lfs merge=lfs -text
208
+ dataset/Anzere/20230708_Anzere_hillshade.tif filter=lfs diff=lfs merge=lfs -text
209
+ dataset/Anzere/20230708_Anzere_s1.tif filter=lfs diff=lfs merge=lfs -text
210
+ dataset/Anzere/20230708_Anzere_s2.tif filter=lfs diff=lfs merge=lfs -text
211
+ dataset/Anzere/20230812_Anzere_hillshade.tif filter=lfs diff=lfs merge=lfs -text
212
+ dataset/Anzere/20230812_Anzere_s1.tif filter=lfs diff=lfs merge=lfs -text
213
+ dataset/Anzere/20230812_Anzere_s2.tif filter=lfs diff=lfs merge=lfs -text
214
+ dataset/Anzere/20230817_Anzere_hillshade.tif filter=lfs diff=lfs merge=lfs -text
215
+ dataset/Anzere/20230817_Anzere_s1.tif filter=lfs diff=lfs merge=lfs -text
216
+ dataset/Anzere/20230817_Anzere_s2.tif filter=lfs diff=lfs merge=lfs -text
217
+ dataset/Anzere/20230906_Anzere_hillshade.tif filter=lfs diff=lfs merge=lfs -text
218
+ dataset/Anzere/20230906_Anzere_s1.tif filter=lfs diff=lfs merge=lfs -text
219
+ dataset/Anzere/20230906_Anzere_s2.tif filter=lfs diff=lfs merge=lfs -text
220
+ dataset/Anzere/20231011_Anzere_hillshade.tif filter=lfs diff=lfs merge=lfs -text
221
+ dataset/Anzere/20231011_Anzere_s1.tif filter=lfs diff=lfs merge=lfs -text
222
+ dataset/Anzere/20231011_Anzere_s2.tif filter=lfs diff=lfs merge=lfs -text
223
+ dataset/Anzere/20231016_Anzere_hillshade.tif filter=lfs diff=lfs merge=lfs -text
224
+ dataset/Anzere/20231016_Anzere_s1.tif filter=lfs diff=lfs merge=lfs -text
225
+ dataset/Anzere/20231016_Anzere_s2.tif filter=lfs diff=lfs merge=lfs -text
226
+ dataset/Anzere/Anzere_dem.tif filter=lfs diff=lfs merge=lfs -text
227
+ dataset/Diablerets/20230613_Diablerets_hillshade.tif filter=lfs diff=lfs merge=lfs -text
228
+ dataset/Diablerets/20230613_Diablerets_s1.tif filter=lfs diff=lfs merge=lfs -text
229
+ dataset/Diablerets/20230613_Diablerets_s2.tif filter=lfs diff=lfs merge=lfs -text
230
+ dataset/Diablerets/20230618_Diablerets_hillshade.tif filter=lfs diff=lfs merge=lfs -text
231
+ dataset/Diablerets/20230618_Diablerets_s1.tif filter=lfs diff=lfs merge=lfs -text
232
+ dataset/Diablerets/20230618_Diablerets_s2.tif filter=lfs diff=lfs merge=lfs -text
233
+ dataset/Diablerets/20230708_Diablerets_hillshade.tif filter=lfs diff=lfs merge=lfs -text
234
+ dataset/Diablerets/20230708_Diablerets_s1.tif filter=lfs diff=lfs merge=lfs -text
235
+ dataset/Diablerets/20230708_Diablerets_s2.tif filter=lfs diff=lfs merge=lfs -text
236
+ dataset/Diablerets/20230812_Diablerets_hillshade.tif filter=lfs diff=lfs merge=lfs -text
237
+ dataset/Diablerets/20230812_Diablerets_s1.tif filter=lfs diff=lfs merge=lfs -text
238
+ dataset/Diablerets/20230812_Diablerets_s2.tif filter=lfs diff=lfs merge=lfs -text
239
+ dataset/Diablerets/20230817_Diablerets_hillshade.tif filter=lfs diff=lfs merge=lfs -text
240
+ dataset/Diablerets/20230817_Diablerets_s1.tif filter=lfs diff=lfs merge=lfs -text
241
+ dataset/Diablerets/20230817_Diablerets_s2.tif filter=lfs diff=lfs merge=lfs -text
242
+ dataset/Diablerets/20230906_Diablerets_hillshade.tif filter=lfs diff=lfs merge=lfs -text
243
+ dataset/Diablerets/20230906_Diablerets_s1.tif filter=lfs diff=lfs merge=lfs -text
244
+ dataset/Diablerets/20230906_Diablerets_s2.tif filter=lfs diff=lfs merge=lfs -text
245
+ dataset/Diablerets/20231011_Diablerets_hillshade.tif filter=lfs diff=lfs merge=lfs -text
246
+ dataset/Diablerets/20231011_Diablerets_s1.tif filter=lfs diff=lfs merge=lfs -text
247
+ dataset/Diablerets/20231011_Diablerets_s2.tif filter=lfs diff=lfs merge=lfs -text
248
+ dataset/Diablerets/20231016_Diablerets_hillshade.tif filter=lfs diff=lfs merge=lfs -text
249
+ dataset/Diablerets/20231016_Diablerets_s1.tif filter=lfs diff=lfs merge=lfs -text
250
+ dataset/Diablerets/20231016_Diablerets_s2.tif filter=lfs diff=lfs merge=lfs -text
251
+ dataset/Diablerets/Diablerets_dem.tif filter=lfs diff=lfs merge=lfs -text
252
+ dataset/Gorbassiere/20230613_Gorbassiere_hillshade.tif filter=lfs diff=lfs merge=lfs -text
253
+ dataset/Gorbassiere/20230613_Gorbassiere_s1.tif filter=lfs diff=lfs merge=lfs -text
254
+ dataset/Gorbassiere/20230613_Gorbassiere_s2.tif filter=lfs diff=lfs merge=lfs -text
255
+ dataset/Gorbassiere/20230618_Gorbassiere_hillshade.tif filter=lfs diff=lfs merge=lfs -text
256
+ dataset/Gorbassiere/20230618_Gorbassiere_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
257
+ dataset/Gorbassiere/20230618_Gorbassiere_s1.tif filter=lfs diff=lfs merge=lfs -text
258
+ dataset/Gorbassiere/20230618_Gorbassiere_s2.tif filter=lfs diff=lfs merge=lfs -text
259
+ dataset/Gorbassiere/20230708_Gorbassiere_hillshade.tif filter=lfs diff=lfs merge=lfs -text
260
+ dataset/Gorbassiere/20230708_Gorbassiere_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
261
+ dataset/Gorbassiere/20230708_Gorbassiere_s1.tif filter=lfs diff=lfs merge=lfs -text
262
+ dataset/Gorbassiere/20230708_Gorbassiere_s2.tif filter=lfs diff=lfs merge=lfs -text
263
+ dataset/Gorbassiere/20230812_Gorbassiere_hillshade.tif filter=lfs diff=lfs merge=lfs -text
264
+ dataset/Gorbassiere/20230812_Gorbassiere_s1.tif filter=lfs diff=lfs merge=lfs -text
265
+ dataset/Gorbassiere/20230812_Gorbassiere_s2.tif filter=lfs diff=lfs merge=lfs -text
266
+ dataset/Gorbassiere/20230817_Gorbassiere_hillshade.tif filter=lfs diff=lfs merge=lfs -text
267
+ dataset/Gorbassiere/20230817_Gorbassiere_s1.tif filter=lfs diff=lfs merge=lfs -text
268
+ dataset/Gorbassiere/20230817_Gorbassiere_s2.tif filter=lfs diff=lfs merge=lfs -text
269
+ dataset/Gorbassiere/20230906_Gorbassiere_hillshade.tif filter=lfs diff=lfs merge=lfs -text
270
+ dataset/Gorbassiere/20230906_Gorbassiere_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
271
+ dataset/Gorbassiere/20230906_Gorbassiere_s1.tif filter=lfs diff=lfs merge=lfs -text
272
+ dataset/Gorbassiere/20230906_Gorbassiere_s2.tif filter=lfs diff=lfs merge=lfs -text
273
+ dataset/Gorbassiere/20231011_Gorbassiere_hillshade.tif filter=lfs diff=lfs merge=lfs -text
274
+ dataset/Gorbassiere/20231011_Gorbassiere_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
275
+ dataset/Gorbassiere/20231011_Gorbassiere_s1.tif filter=lfs diff=lfs merge=lfs -text
276
+ dataset/Gorbassiere/20231011_Gorbassiere_s2.tif filter=lfs diff=lfs merge=lfs -text
277
+ dataset/Gorbassiere/20231016_Gorbassiere_hillshade.tif filter=lfs diff=lfs merge=lfs -text
278
+ dataset/Gorbassiere/20231016_Gorbassiere_s1.tif filter=lfs diff=lfs merge=lfs -text
279
+ dataset/Gorbassiere/20231016_Gorbassiere_s2.tif filter=lfs diff=lfs merge=lfs -text
280
+ dataset/Gorbassiere/Gorbassiere_dem.tif filter=lfs diff=lfs merge=lfs -text
281
+ dataset/Gorner/20230613_Gorner_hillshade.tif filter=lfs diff=lfs merge=lfs -text
282
+ dataset/Gorner/20230613_Gorner_s1.tif filter=lfs diff=lfs merge=lfs -text
283
+ dataset/Gorner/20230613_Gorner_s2.tif filter=lfs diff=lfs merge=lfs -text
284
+ dataset/Gorner/20230618_Gorner_hillshade.tif filter=lfs diff=lfs merge=lfs -text
285
+ dataset/Gorner/20230618_Gorner_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
286
+ dataset/Gorner/20230618_Gorner_s1.tif filter=lfs diff=lfs merge=lfs -text
287
+ dataset/Gorner/20230618_Gorner_s2.tif filter=lfs diff=lfs merge=lfs -text
288
+ dataset/Gorner/20230625_Gorner_hillshade.tif filter=lfs diff=lfs merge=lfs -text
289
+ dataset/Gorner/20230625_Gorner_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
290
+ dataset/Gorner/20230625_Gorner_s1.tif filter=lfs diff=lfs merge=lfs -text
291
+ dataset/Gorner/20230625_Gorner_s2.tif filter=lfs diff=lfs merge=lfs -text
292
+ dataset/Gorner/20230630_Gorner_hillshade.tif filter=lfs diff=lfs merge=lfs -text
293
+ dataset/Gorner/20230630_Gorner_s1.tif filter=lfs diff=lfs merge=lfs -text
294
+ dataset/Gorner/20230630_Gorner_s2.tif filter=lfs diff=lfs merge=lfs -text
295
+ dataset/Gorner/20230703_Gorner_hillshade.tif filter=lfs diff=lfs merge=lfs -text
296
+ dataset/Gorner/20230703_Gorner_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
297
+ dataset/Gorner/20230703_Gorner_s1.tif filter=lfs diff=lfs merge=lfs -text
298
+ dataset/Gorner/20230703_Gorner_s2.tif filter=lfs diff=lfs merge=lfs -text
299
+ dataset/Gorner/20230708_Gorner_hillshade.tif filter=lfs diff=lfs merge=lfs -text
300
+ dataset/Gorner/20230708_Gorner_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
301
+ dataset/Gorner/20230708_Gorner_s1.tif filter=lfs diff=lfs merge=lfs -text
302
+ dataset/Gorner/20230708_Gorner_s2.tif filter=lfs diff=lfs merge=lfs -text
303
+ dataset/Gorner/20230715_Gorner_hillshade.tif filter=lfs diff=lfs merge=lfs -text
304
+ dataset/Gorner/20230715_Gorner_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
305
+ dataset/Gorner/20230715_Gorner_s1.tif filter=lfs diff=lfs merge=lfs -text
306
+ dataset/Gorner/20230715_Gorner_s2.tif filter=lfs diff=lfs merge=lfs -text
307
+ dataset/Gorner/20230720_Gorner_hillshade.tif filter=lfs diff=lfs merge=lfs -text
308
+ dataset/Gorner/20230720_Gorner_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
309
+ dataset/Gorner/20230720_Gorner_s1.tif filter=lfs diff=lfs merge=lfs -text
310
+ dataset/Gorner/20230720_Gorner_s2.tif filter=lfs diff=lfs merge=lfs -text
311
+ dataset/Gorner/20230812_Gorner_hillshade.tif filter=lfs diff=lfs merge=lfs -text
312
+ dataset/Gorner/20230812_Gorner_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
313
+ dataset/Gorner/20230812_Gorner_s1.tif filter=lfs diff=lfs merge=lfs -text
314
+ dataset/Gorner/20230812_Gorner_s2.tif filter=lfs diff=lfs merge=lfs -text
315
+ dataset/Gorner/20230817_Gorner_hillshade.tif filter=lfs diff=lfs merge=lfs -text
316
+ dataset/Gorner/20230817_Gorner_s1.tif filter=lfs diff=lfs merge=lfs -text
317
+ dataset/Gorner/20230817_Gorner_s2.tif filter=lfs diff=lfs merge=lfs -text
318
+ dataset/Gorner/20230824_Gorner_hillshade.tif filter=lfs diff=lfs merge=lfs -text
319
+ dataset/Gorner/20230824_Gorner_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
320
+ dataset/Gorner/20230824_Gorner_s1.tif filter=lfs diff=lfs merge=lfs -text
321
+ dataset/Gorner/20230824_Gorner_s2.tif filter=lfs diff=lfs merge=lfs -text
322
+ dataset/Gorner/20230829_Gorner_hillshade.tif filter=lfs diff=lfs merge=lfs -text
323
+ dataset/Gorner/20230829_Gorner_s1.tif filter=lfs diff=lfs merge=lfs -text
324
+ dataset/Gorner/20230829_Gorner_s2.tif filter=lfs diff=lfs merge=lfs -text
325
+ dataset/Gorner/20230901_Gorner_hillshade.tif filter=lfs diff=lfs merge=lfs -text
326
+ dataset/Gorner/20230901_Gorner_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
327
+ dataset/Gorner/20230901_Gorner_s1.tif filter=lfs diff=lfs merge=lfs -text
328
+ dataset/Gorner/20230901_Gorner_s2.tif filter=lfs diff=lfs merge=lfs -text
329
+ dataset/Gorner/20230906_Gorner_hillshade.tif filter=lfs diff=lfs merge=lfs -text
330
+ dataset/Gorner/20230906_Gorner_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
331
+ dataset/Gorner/20230906_Gorner_s1.tif filter=lfs diff=lfs merge=lfs -text
332
+ dataset/Gorner/20230906_Gorner_s2.tif filter=lfs diff=lfs merge=lfs -text
333
+ dataset/Gorner/20230913_Gorner_hillshade.tif filter=lfs diff=lfs merge=lfs -text
334
+ dataset/Gorner/20230913_Gorner_s1.tif filter=lfs diff=lfs merge=lfs -text
335
+ dataset/Gorner/20230913_Gorner_s2.tif filter=lfs diff=lfs merge=lfs -text
336
+ dataset/Gorner/20230918_Gorner_hillshade.tif filter=lfs diff=lfs merge=lfs -text
337
+ dataset/Gorner/20230918_Gorner_s1.tif filter=lfs diff=lfs merge=lfs -text
338
+ dataset/Gorner/20230918_Gorner_s2.tif filter=lfs diff=lfs merge=lfs -text
339
+ dataset/Gorner/20231011_Gorner_hillshade.tif filter=lfs diff=lfs merge=lfs -text
340
+ dataset/Gorner/20231011_Gorner_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
341
+ dataset/Gorner/20231011_Gorner_s1.tif filter=lfs diff=lfs merge=lfs -text
342
+ dataset/Gorner/20231011_Gorner_s2.tif filter=lfs diff=lfs merge=lfs -text
343
+ dataset/Gorner/20231016_Gorner_hillshade.tif filter=lfs diff=lfs merge=lfs -text
344
+ dataset/Gorner/20231016_Gorner_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
345
+ dataset/Gorner/20231016_Gorner_s1.tif filter=lfs diff=lfs merge=lfs -text
346
+ dataset/Gorner/20231016_Gorner_s2.tif filter=lfs diff=lfs merge=lfs -text
347
+ dataset/Gorner/20231023_Gorner_hillshade.tif filter=lfs diff=lfs merge=lfs -text
348
+ dataset/Gorner/20231023_Gorner_s1.tif filter=lfs diff=lfs merge=lfs -text
349
+ dataset/Gorner/20231023_Gorner_s2.tif filter=lfs diff=lfs merge=lfs -text
350
+ dataset/Gorner/20231028_Gorner_hillshade.tif filter=lfs diff=lfs merge=lfs -text
351
+ dataset/Gorner/20231028_Gorner_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
352
+ dataset/Gorner/20231028_Gorner_s1.tif filter=lfs diff=lfs merge=lfs -text
353
+ dataset/Gorner/20231028_Gorner_s2.tif filter=lfs diff=lfs merge=lfs -text
354
+ dataset/Gorner/Gorner_dem.tif filter=lfs diff=lfs merge=lfs -text
355
+ dataset/Moiry/20230613_Moiry_hillshade.tif filter=lfs diff=lfs merge=lfs -text
356
+ dataset/Moiry/20230613_Moiry_s1.tif filter=lfs diff=lfs merge=lfs -text
357
+ dataset/Moiry/20230613_Moiry_s2.tif filter=lfs diff=lfs merge=lfs -text
358
+ dataset/Moiry/20230618_Moiry_hillshade.tif filter=lfs diff=lfs merge=lfs -text
359
+ dataset/Moiry/20230618_Moiry_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
360
+ dataset/Moiry/20230618_Moiry_s1.tif filter=lfs diff=lfs merge=lfs -text
361
+ dataset/Moiry/20230618_Moiry_s2.tif filter=lfs diff=lfs merge=lfs -text
362
+ dataset/Moiry/20230625_Moiry_hillshade.tif filter=lfs diff=lfs merge=lfs -text
363
+ dataset/Moiry/20230625_Moiry_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
364
+ dataset/Moiry/20230625_Moiry_s1.tif filter=lfs diff=lfs merge=lfs -text
365
+ dataset/Moiry/20230625_Moiry_s2.tif filter=lfs diff=lfs merge=lfs -text
366
+ dataset/Moiry/20230630_Moiry_hillshade.tif filter=lfs diff=lfs merge=lfs -text
367
+ dataset/Moiry/20230630_Moiry_s1.tif filter=lfs diff=lfs merge=lfs -text
368
+ dataset/Moiry/20230630_Moiry_s2.tif filter=lfs diff=lfs merge=lfs -text
369
+ dataset/Moiry/20230708_Moiry_hillshade.tif filter=lfs diff=lfs merge=lfs -text
370
+ dataset/Moiry/20230708_Moiry_s1.tif filter=lfs diff=lfs merge=lfs -text
371
+ dataset/Moiry/20230708_Moiry_s2.tif filter=lfs diff=lfs merge=lfs -text
372
+ dataset/Moiry/20230720_Moiry_hillshade.tif filter=lfs diff=lfs merge=lfs -text
373
+ dataset/Moiry/20230720_Moiry_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
374
+ dataset/Moiry/20230720_Moiry_s1.tif filter=lfs diff=lfs merge=lfs -text
375
+ dataset/Moiry/20230720_Moiry_s2.tif filter=lfs diff=lfs merge=lfs -text
376
+ dataset/Moiry/20230812_Moiry_hillshade.tif filter=lfs diff=lfs merge=lfs -text
377
+ dataset/Moiry/20230812_Moiry_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
378
+ dataset/Moiry/20230812_Moiry_s1.tif filter=lfs diff=lfs merge=lfs -text
379
+ dataset/Moiry/20230812_Moiry_s2.tif filter=lfs diff=lfs merge=lfs -text
380
+ dataset/Moiry/20230817_Moiry_hillshade.tif filter=lfs diff=lfs merge=lfs -text
381
+ dataset/Moiry/20230817_Moiry_s1.tif filter=lfs diff=lfs merge=lfs -text
382
+ dataset/Moiry/20230817_Moiry_s2.tif filter=lfs diff=lfs merge=lfs -text
383
+ dataset/Moiry/20230824_Moiry_hillshade.tif filter=lfs diff=lfs merge=lfs -text
384
+ dataset/Moiry/20230824_Moiry_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
385
+ dataset/Moiry/20230824_Moiry_s1.tif filter=lfs diff=lfs merge=lfs -text
386
+ dataset/Moiry/20230824_Moiry_s2.tif filter=lfs diff=lfs merge=lfs -text
387
+ dataset/Moiry/20230829_Moiry_hillshade.tif filter=lfs diff=lfs merge=lfs -text
388
+ dataset/Moiry/20230829_Moiry_s1.tif filter=lfs diff=lfs merge=lfs -text
389
+ dataset/Moiry/20230829_Moiry_s2.tif filter=lfs diff=lfs merge=lfs -text
390
+ dataset/Moiry/20230906_Moiry_hillshade.tif filter=lfs diff=lfs merge=lfs -text
391
+ dataset/Moiry/20230906_Moiry_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
392
+ dataset/Moiry/20230906_Moiry_s1.tif filter=lfs diff=lfs merge=lfs -text
393
+ dataset/Moiry/20230906_Moiry_s2.tif filter=lfs diff=lfs merge=lfs -text
394
+ dataset/Moiry/20230918_Moiry_hillshade.tif filter=lfs diff=lfs merge=lfs -text
395
+ dataset/Moiry/20230918_Moiry_s1.tif filter=lfs diff=lfs merge=lfs -text
396
+ dataset/Moiry/20230918_Moiry_s2.tif filter=lfs diff=lfs merge=lfs -text
397
+ dataset/Moiry/20231011_Moiry_hillshade.tif filter=lfs diff=lfs merge=lfs -text
398
+ dataset/Moiry/20231011_Moiry_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
399
+ dataset/Moiry/20231011_Moiry_s1.tif filter=lfs diff=lfs merge=lfs -text
400
+ dataset/Moiry/20231011_Moiry_s2.tif filter=lfs diff=lfs merge=lfs -text
401
+ dataset/Moiry/20231016_Moiry_hillshade.tif filter=lfs diff=lfs merge=lfs -text
402
+ dataset/Moiry/20231016_Moiry_s1.tif filter=lfs diff=lfs merge=lfs -text
403
+ dataset/Moiry/20231016_Moiry_s2.tif filter=lfs diff=lfs merge=lfs -text
404
+ dataset/Moiry/20231023_Moiry_hillshade.tif filter=lfs diff=lfs merge=lfs -text
405
+ dataset/Moiry/20231023_Moiry_s1.tif filter=lfs diff=lfs merge=lfs -text
406
+ dataset/Moiry/20231023_Moiry_s2.tif filter=lfs diff=lfs merge=lfs -text
407
+ dataset/Moiry/20231028_Moiry_hillshade.tif filter=lfs diff=lfs merge=lfs -text
408
+ dataset/Moiry/20231028_Moiry_s1.tif filter=lfs diff=lfs merge=lfs -text
409
+ dataset/Moiry/20231028_Moiry_s2.tif filter=lfs diff=lfs merge=lfs -text
410
+ dataset/Moiry/Moiry_dem.tif filter=lfs diff=lfs merge=lfs -text
411
+ dataset/PleineMorte/20230613_PleineMorte_hillshade.tif filter=lfs diff=lfs merge=lfs -text
412
+ dataset/PleineMorte/20230613_PleineMorte_s1.tif filter=lfs diff=lfs merge=lfs -text
413
+ dataset/PleineMorte/20230613_PleineMorte_s2.tif filter=lfs diff=lfs merge=lfs -text
414
+ dataset/PleineMorte/20230618_PleineMorte_hillshade.tif filter=lfs diff=lfs merge=lfs -text
415
+ dataset/PleineMorte/20230618_PleineMorte_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
416
+ dataset/PleineMorte/20230618_PleineMorte_s1.tif filter=lfs diff=lfs merge=lfs -text
417
+ dataset/PleineMorte/20230618_PleineMorte_s2.tif filter=lfs diff=lfs merge=lfs -text
418
+ dataset/PleineMorte/20230708_PleineMorte_hillshade.tif filter=lfs diff=lfs merge=lfs -text
419
+ dataset/PleineMorte/20230708_PleineMorte_s1.tif filter=lfs diff=lfs merge=lfs -text
420
+ dataset/PleineMorte/20230708_PleineMorte_s2.tif filter=lfs diff=lfs merge=lfs -text
421
+ dataset/PleineMorte/20230812_PleineMorte_hillshade.tif filter=lfs diff=lfs merge=lfs -text
422
+ dataset/PleineMorte/20230812_PleineMorte_s1.tif filter=lfs diff=lfs merge=lfs -text
423
+ dataset/PleineMorte/20230812_PleineMorte_s2.tif filter=lfs diff=lfs merge=lfs -text
424
+ dataset/PleineMorte/20230817_PleineMorte_hillshade.tif filter=lfs diff=lfs merge=lfs -text
425
+ dataset/PleineMorte/20230817_PleineMorte_s1.tif filter=lfs diff=lfs merge=lfs -text
426
+ dataset/PleineMorte/20230817_PleineMorte_s2.tif filter=lfs diff=lfs merge=lfs -text
427
+ dataset/PleineMorte/20230906_PleineMorte_hillshade.tif filter=lfs diff=lfs merge=lfs -text
428
+ dataset/PleineMorte/20230906_PleineMorte_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
429
+ dataset/PleineMorte/20230906_PleineMorte_s1.tif filter=lfs diff=lfs merge=lfs -text
430
+ dataset/PleineMorte/20230906_PleineMorte_s2.tif filter=lfs diff=lfs merge=lfs -text
431
+ dataset/PleineMorte/20231011_PleineMorte_hillshade.tif filter=lfs diff=lfs merge=lfs -text
432
+ dataset/PleineMorte/20231011_PleineMorte_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
433
+ dataset/PleineMorte/20231011_PleineMorte_s1.tif filter=lfs diff=lfs merge=lfs -text
434
+ dataset/PleineMorte/20231011_PleineMorte_s2.tif filter=lfs diff=lfs merge=lfs -text
435
+ dataset/PleineMorte/20231016_PleineMorte_hillshade.tif filter=lfs diff=lfs merge=lfs -text
436
+ dataset/PleineMorte/20231016_PleineMorte_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
437
+ dataset/PleineMorte/20231016_PleineMorte_s1.tif filter=lfs diff=lfs merge=lfs -text
438
+ dataset/PleineMorte/20231016_PleineMorte_s2.tif filter=lfs diff=lfs merge=lfs -text
439
+ dataset/PleineMorte/PleineMorte_dem.tif filter=lfs diff=lfs merge=lfs -text
440
+ dataset/Rhone/20230613_Rhone_hillshade.tif filter=lfs diff=lfs merge=lfs -text
441
+ dataset/Rhone/20230613_Rhone_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
442
+ dataset/Rhone/20230613_Rhone_s1.tif filter=lfs diff=lfs merge=lfs -text
443
+ dataset/Rhone/20230613_Rhone_s2.tif filter=lfs diff=lfs merge=lfs -text
444
+ dataset/Rhone/20230625_Rhone_hillshade.tif filter=lfs diff=lfs merge=lfs -text
445
+ dataset/Rhone/20230625_Rhone_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
446
+ dataset/Rhone/20230625_Rhone_s1.tif filter=lfs diff=lfs merge=lfs -text
447
+ dataset/Rhone/20230625_Rhone_s2.tif filter=lfs diff=lfs merge=lfs -text
448
+ dataset/Rhone/20230703_Rhone_hillshade.tif filter=lfs diff=lfs merge=lfs -text
449
+ dataset/Rhone/20230703_Rhone_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
450
+ dataset/Rhone/20230703_Rhone_s1.tif filter=lfs diff=lfs merge=lfs -text
451
+ dataset/Rhone/20230703_Rhone_s2.tif filter=lfs diff=lfs merge=lfs -text
452
+ dataset/Rhone/20230708_Rhone_hillshade.tif filter=lfs diff=lfs merge=lfs -text
453
+ dataset/Rhone/20230708_Rhone_s1.tif filter=lfs diff=lfs merge=lfs -text
454
+ dataset/Rhone/20230708_Rhone_s2.tif filter=lfs diff=lfs merge=lfs -text
455
+ dataset/Rhone/20230715_Rhone_hillshade.tif filter=lfs diff=lfs merge=lfs -text
456
+ dataset/Rhone/20230715_Rhone_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
457
+ dataset/Rhone/20230715_Rhone_s1.tif filter=lfs diff=lfs merge=lfs -text
458
+ dataset/Rhone/20230715_Rhone_s2.tif filter=lfs diff=lfs merge=lfs -text
459
+ dataset/Rhone/20230720_Rhone_hillshade.tif filter=lfs diff=lfs merge=lfs -text
460
+ dataset/Rhone/20230720_Rhone_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
461
+ dataset/Rhone/20230720_Rhone_s1.tif filter=lfs diff=lfs merge=lfs -text
462
+ dataset/Rhone/20230720_Rhone_s2.tif filter=lfs diff=lfs merge=lfs -text
463
+ dataset/Rhone/20230812_Rhone_hillshade.tif filter=lfs diff=lfs merge=lfs -text
464
+ dataset/Rhone/20230812_Rhone_s1.tif filter=lfs diff=lfs merge=lfs -text
465
+ dataset/Rhone/20230812_Rhone_s2.tif filter=lfs diff=lfs merge=lfs -text
466
+ dataset/Rhone/20230824_Rhone_hillshade.tif filter=lfs diff=lfs merge=lfs -text
467
+ dataset/Rhone/20230824_Rhone_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
468
+ dataset/Rhone/20230824_Rhone_s1.tif filter=lfs diff=lfs merge=lfs -text
469
+ dataset/Rhone/20230824_Rhone_s2.tif filter=lfs diff=lfs merge=lfs -text
470
+ dataset/Rhone/20230901_Rhone_hillshade.tif filter=lfs diff=lfs merge=lfs -text
471
+ dataset/Rhone/20230901_Rhone_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
472
+ dataset/Rhone/20230901_Rhone_s1.tif filter=lfs diff=lfs merge=lfs -text
473
+ dataset/Rhone/20230901_Rhone_s2.tif filter=lfs diff=lfs merge=lfs -text
474
+ dataset/Rhone/20230906_Rhone_hillshade.tif filter=lfs diff=lfs merge=lfs -text
475
+ dataset/Rhone/20230906_Rhone_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
476
+ dataset/Rhone/20230906_Rhone_s1.tif filter=lfs diff=lfs merge=lfs -text
477
+ dataset/Rhone/20230906_Rhone_s2.tif filter=lfs diff=lfs merge=lfs -text
478
+ dataset/Rhone/20230913_Rhone_hillshade.tif filter=lfs diff=lfs merge=lfs -text
479
+ dataset/Rhone/20230913_Rhone_s1.tif filter=lfs diff=lfs merge=lfs -text
480
+ dataset/Rhone/20230913_Rhone_s2.tif filter=lfs diff=lfs merge=lfs -text
481
+ dataset/Rhone/20230918_Rhone_hillshade.tif filter=lfs diff=lfs merge=lfs -text
482
+ dataset/Rhone/20230918_Rhone_s1.tif filter=lfs diff=lfs merge=lfs -text
483
+ dataset/Rhone/20230918_Rhone_s2.tif filter=lfs diff=lfs merge=lfs -text
484
+ dataset/Rhone/20231011_Rhone_hillshade.tif filter=lfs diff=lfs merge=lfs -text
485
+ dataset/Rhone/20231011_Rhone_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
486
+ dataset/Rhone/20231011_Rhone_s1.tif filter=lfs diff=lfs merge=lfs -text
487
+ dataset/Rhone/20231011_Rhone_s2.tif filter=lfs diff=lfs merge=lfs -text
488
+ dataset/Rhone/20231023_Rhone_hillshade.tif filter=lfs diff=lfs merge=lfs -text
489
+ dataset/Rhone/20231023_Rhone_s1.tif filter=lfs diff=lfs merge=lfs -text
490
+ dataset/Rhone/20231023_Rhone_s2.tif filter=lfs diff=lfs merge=lfs -text
491
+ dataset/Rhone/Rhone_dem.tif filter=lfs diff=lfs merge=lfs -text
492
+ dataset/Saas-Tal/20230613_Saas-Tal_hillshade.tif filter=lfs diff=lfs merge=lfs -text
493
+ dataset/Saas-Tal/20230613_Saas-Tal_s1.tif filter=lfs diff=lfs merge=lfs -text
494
+ dataset/Saas-Tal/20230613_Saas-Tal_s2.tif filter=lfs diff=lfs merge=lfs -text
495
+ dataset/Saas-Tal/20230618_Saas-Tal_hillshade.tif filter=lfs diff=lfs merge=lfs -text
496
+ dataset/Saas-Tal/20230618_Saas-Tal_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
497
+ dataset/Saas-Tal/20230618_Saas-Tal_s1.tif filter=lfs diff=lfs merge=lfs -text
498
+ dataset/Saas-Tal/20230618_Saas-Tal_s2.tif filter=lfs diff=lfs merge=lfs -text
499
+ dataset/Saas-Tal/20230625_Saas-Tal_hillshade.tif filter=lfs diff=lfs merge=lfs -text
500
+ dataset/Saas-Tal/20230625_Saas-Tal_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
501
+ dataset/Saas-Tal/20230625_Saas-Tal_s1.tif filter=lfs diff=lfs merge=lfs -text
502
+ dataset/Saas-Tal/20230625_Saas-Tal_s2.tif filter=lfs diff=lfs merge=lfs -text
503
+ dataset/Saas-Tal/20230630_Saas-Tal_hillshade.tif filter=lfs diff=lfs merge=lfs -text
504
+ dataset/Saas-Tal/20230630_Saas-Tal_s1.tif filter=lfs diff=lfs merge=lfs -text
505
+ dataset/Saas-Tal/20230630_Saas-Tal_s2.tif filter=lfs diff=lfs merge=lfs -text
506
+ dataset/Saas-Tal/20230703_Saas-Tal_hillshade.tif filter=lfs diff=lfs merge=lfs -text
507
+ dataset/Saas-Tal/20230703_Saas-Tal_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
508
+ dataset/Saas-Tal/20230703_Saas-Tal_s1.tif filter=lfs diff=lfs merge=lfs -text
509
+ dataset/Saas-Tal/20230703_Saas-Tal_s2.tif filter=lfs diff=lfs merge=lfs -text
510
+ dataset/Saas-Tal/20230708_Saas-Tal_hillshade.tif filter=lfs diff=lfs merge=lfs -text
511
+ dataset/Saas-Tal/20230708_Saas-Tal_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
512
+ dataset/Saas-Tal/20230708_Saas-Tal_s1.tif filter=lfs diff=lfs merge=lfs -text
513
+ dataset/Saas-Tal/20230708_Saas-Tal_s2.tif filter=lfs diff=lfs merge=lfs -text
514
+ dataset/Saas-Tal/20230715_Saas-Tal_hillshade.tif filter=lfs diff=lfs merge=lfs -text
515
+ dataset/Saas-Tal/20230715_Saas-Tal_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
516
+ dataset/Saas-Tal/20230715_Saas-Tal_s1.tif filter=lfs diff=lfs merge=lfs -text
517
+ dataset/Saas-Tal/20230715_Saas-Tal_s2.tif filter=lfs diff=lfs merge=lfs -text
518
+ dataset/Saas-Tal/20230720_Saas-Tal_hillshade.tif filter=lfs diff=lfs merge=lfs -text
519
+ dataset/Saas-Tal/20230720_Saas-Tal_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
520
+ dataset/Saas-Tal/20230720_Saas-Tal_s1.tif filter=lfs diff=lfs merge=lfs -text
521
+ dataset/Saas-Tal/20230720_Saas-Tal_s2.tif filter=lfs diff=lfs merge=lfs -text
522
+ dataset/Saas-Tal/20230812_Saas-Tal_hillshade.tif filter=lfs diff=lfs merge=lfs -text
523
+ dataset/Saas-Tal/20230812_Saas-Tal_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
524
+ dataset/Saas-Tal/20230812_Saas-Tal_s1.tif filter=lfs diff=lfs merge=lfs -text
525
+ dataset/Saas-Tal/20230812_Saas-Tal_s2.tif filter=lfs diff=lfs merge=lfs -text
526
+ dataset/Saas-Tal/20230817_Saas-Tal_hillshade.tif filter=lfs diff=lfs merge=lfs -text
527
+ dataset/Saas-Tal/20230817_Saas-Tal_s1.tif filter=lfs diff=lfs merge=lfs -text
528
+ dataset/Saas-Tal/20230817_Saas-Tal_s2.tif filter=lfs diff=lfs merge=lfs -text
529
+ dataset/Saas-Tal/20230824_Saas-Tal_hillshade.tif filter=lfs diff=lfs merge=lfs -text
530
+ dataset/Saas-Tal/20230824_Saas-Tal_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
531
+ dataset/Saas-Tal/20230824_Saas-Tal_s1.tif filter=lfs diff=lfs merge=lfs -text
532
+ dataset/Saas-Tal/20230824_Saas-Tal_s2.tif filter=lfs diff=lfs merge=lfs -text
533
+ dataset/Saas-Tal/20230829_Saas-Tal_hillshade.tif filter=lfs diff=lfs merge=lfs -text
534
+ dataset/Saas-Tal/20230829_Saas-Tal_s1.tif filter=lfs diff=lfs merge=lfs -text
535
+ dataset/Saas-Tal/20230829_Saas-Tal_s2.tif filter=lfs diff=lfs merge=lfs -text
536
+ dataset/Saas-Tal/20230901_Saas-Tal_hillshade.tif filter=lfs diff=lfs merge=lfs -text
537
+ dataset/Saas-Tal/20230901_Saas-Tal_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
538
+ dataset/Saas-Tal/20230901_Saas-Tal_s1.tif filter=lfs diff=lfs merge=lfs -text
539
+ dataset/Saas-Tal/20230901_Saas-Tal_s2.tif filter=lfs diff=lfs merge=lfs -text
540
+ dataset/Saas-Tal/20230906_Saas-Tal_hillshade.tif filter=lfs diff=lfs merge=lfs -text
541
+ dataset/Saas-Tal/20230906_Saas-Tal_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
542
+ dataset/Saas-Tal/20230906_Saas-Tal_s1.tif filter=lfs diff=lfs merge=lfs -text
543
+ dataset/Saas-Tal/20230906_Saas-Tal_s2.tif filter=lfs diff=lfs merge=lfs -text
544
+ dataset/Saas-Tal/20230913_Saas-Tal_hillshade.tif filter=lfs diff=lfs merge=lfs -text
545
+ dataset/Saas-Tal/20230913_Saas-Tal_s1.tif filter=lfs diff=lfs merge=lfs -text
546
+ dataset/Saas-Tal/20230913_Saas-Tal_s2.tif filter=lfs diff=lfs merge=lfs -text
547
+ dataset/Saas-Tal/20230918_Saas-Tal_hillshade.tif filter=lfs diff=lfs merge=lfs -text
548
+ dataset/Saas-Tal/20230918_Saas-Tal_s1.tif filter=lfs diff=lfs merge=lfs -text
549
+ dataset/Saas-Tal/20230918_Saas-Tal_s2.tif filter=lfs diff=lfs merge=lfs -text
550
+ dataset/Saas-Tal/20231011_Saas-Tal_hillshade.tif filter=lfs diff=lfs merge=lfs -text
551
+ dataset/Saas-Tal/20231011_Saas-Tal_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
552
+ dataset/Saas-Tal/20231011_Saas-Tal_s1.tif filter=lfs diff=lfs merge=lfs -text
553
+ dataset/Saas-Tal/20231011_Saas-Tal_s2.tif filter=lfs diff=lfs merge=lfs -text
554
+ dataset/Saas-Tal/20231016_Saas-Tal_hillshade.tif filter=lfs diff=lfs merge=lfs -text
555
+ dataset/Saas-Tal/20231016_Saas-Tal_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
556
+ dataset/Saas-Tal/20231016_Saas-Tal_s1.tif filter=lfs diff=lfs merge=lfs -text
557
+ dataset/Saas-Tal/20231016_Saas-Tal_s2.tif filter=lfs diff=lfs merge=lfs -text
558
+ dataset/Saas-Tal/20231023_Saas-Tal_hillshade.tif filter=lfs diff=lfs merge=lfs -text
559
+ dataset/Saas-Tal/20231023_Saas-Tal_s1.tif filter=lfs diff=lfs merge=lfs -text
560
+ dataset/Saas-Tal/20231023_Saas-Tal_s2.tif filter=lfs diff=lfs merge=lfs -text
561
+ dataset/Saas-Tal/20231028_Saas-Tal_hillshade.tif filter=lfs diff=lfs merge=lfs -text
562
+ dataset/Saas-Tal/20231028_Saas-Tal_s1.tif filter=lfs diff=lfs merge=lfs -text
563
+ dataset/Saas-Tal/20231028_Saas-Tal_s2.tif filter=lfs diff=lfs merge=lfs -text
564
+ dataset/Saas-Tal/Saas-Tal_dem.tif filter=lfs diff=lfs merge=lfs -text
565
+ dataset/Zmutt/20230613_Zmutt_hillshade.tif filter=lfs diff=lfs merge=lfs -text
566
+ dataset/Zmutt/20230613_Zmutt_s1.tif filter=lfs diff=lfs merge=lfs -text
567
+ dataset/Zmutt/20230613_Zmutt_s2.tif filter=lfs diff=lfs merge=lfs -text
568
+ dataset/Zmutt/20230618_Zmutt_hillshade.tif filter=lfs diff=lfs merge=lfs -text
569
+ dataset/Zmutt/20230618_Zmutt_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
570
+ dataset/Zmutt/20230618_Zmutt_s1.tif filter=lfs diff=lfs merge=lfs -text
571
+ dataset/Zmutt/20230618_Zmutt_s2.tif filter=lfs diff=lfs merge=lfs -text
572
+ dataset/Zmutt/20230625_Zmutt_hillshade.tif filter=lfs diff=lfs merge=lfs -text
573
+ dataset/Zmutt/20230625_Zmutt_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
574
+ dataset/Zmutt/20230625_Zmutt_s1.tif filter=lfs diff=lfs merge=lfs -text
575
+ dataset/Zmutt/20230625_Zmutt_s2.tif filter=lfs diff=lfs merge=lfs -text
576
+ dataset/Zmutt/20230630_Zmutt_hillshade.tif filter=lfs diff=lfs merge=lfs -text
577
+ dataset/Zmutt/20230630_Zmutt_s1.tif filter=lfs diff=lfs merge=lfs -text
578
+ dataset/Zmutt/20230630_Zmutt_s2.tif filter=lfs diff=lfs merge=lfs -text
579
+ dataset/Zmutt/20230708_Zmutt_hillshade.tif filter=lfs diff=lfs merge=lfs -text
580
+ dataset/Zmutt/20230708_Zmutt_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
581
+ dataset/Zmutt/20230708_Zmutt_s1.tif filter=lfs diff=lfs merge=lfs -text
582
+ dataset/Zmutt/20230708_Zmutt_s2.tif filter=lfs diff=lfs merge=lfs -text
583
+ dataset/Zmutt/20230720_Zmutt_hillshade.tif filter=lfs diff=lfs merge=lfs -text
584
+ dataset/Zmutt/20230720_Zmutt_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
585
+ dataset/Zmutt/20230720_Zmutt_s1.tif filter=lfs diff=lfs merge=lfs -text
586
+ dataset/Zmutt/20230720_Zmutt_s2.tif filter=lfs diff=lfs merge=lfs -text
587
+ dataset/Zmutt/20230812_Zmutt_hillshade.tif filter=lfs diff=lfs merge=lfs -text
588
+ dataset/Zmutt/20230812_Zmutt_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
589
+ dataset/Zmutt/20230812_Zmutt_s1.tif filter=lfs diff=lfs merge=lfs -text
590
+ dataset/Zmutt/20230812_Zmutt_s2.tif filter=lfs diff=lfs merge=lfs -text
591
+ dataset/Zmutt/20230817_Zmutt_hillshade.tif filter=lfs diff=lfs merge=lfs -text
592
+ dataset/Zmutt/20230817_Zmutt_s1.tif filter=lfs diff=lfs merge=lfs -text
593
+ dataset/Zmutt/20230817_Zmutt_s2.tif filter=lfs diff=lfs merge=lfs -text
594
+ dataset/Zmutt/20230824_Zmutt_hillshade.tif filter=lfs diff=lfs merge=lfs -text
595
+ dataset/Zmutt/20230824_Zmutt_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
596
+ dataset/Zmutt/20230824_Zmutt_s1.tif filter=lfs diff=lfs merge=lfs -text
597
+ dataset/Zmutt/20230824_Zmutt_s2.tif filter=lfs diff=lfs merge=lfs -text
598
+ dataset/Zmutt/20230829_Zmutt_hillshade.tif filter=lfs diff=lfs merge=lfs -text
599
+ dataset/Zmutt/20230829_Zmutt_s1.tif filter=lfs diff=lfs merge=lfs -text
600
+ dataset/Zmutt/20230829_Zmutt_s2.tif filter=lfs diff=lfs merge=lfs -text
601
+ dataset/Zmutt/20230906_Zmutt_hillshade.tif filter=lfs diff=lfs merge=lfs -text
602
+ dataset/Zmutt/20230906_Zmutt_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
603
+ dataset/Zmutt/20230906_Zmutt_s1.tif filter=lfs diff=lfs merge=lfs -text
604
+ dataset/Zmutt/20230906_Zmutt_s2.tif filter=lfs diff=lfs merge=lfs -text
605
+ dataset/Zmutt/20230918_Zmutt_hillshade.tif filter=lfs diff=lfs merge=lfs -text
606
+ dataset/Zmutt/20230918_Zmutt_s1.tif filter=lfs diff=lfs merge=lfs -text
607
+ dataset/Zmutt/20230918_Zmutt_s2.tif filter=lfs diff=lfs merge=lfs -text
608
+ dataset/Zmutt/20231011_Zmutt_hillshade.tif filter=lfs diff=lfs merge=lfs -text
609
+ dataset/Zmutt/20231011_Zmutt_lake_mask.tif filter=lfs diff=lfs merge=lfs -text
610
+ dataset/Zmutt/20231011_Zmutt_s1.tif filter=lfs diff=lfs merge=lfs -text
611
+ dataset/Zmutt/20231011_Zmutt_s2.tif filter=lfs diff=lfs merge=lfs -text
612
+ dataset/Zmutt/20231016_Zmutt_hillshade.tif filter=lfs diff=lfs merge=lfs -text
613
+ dataset/Zmutt/20231016_Zmutt_s1.tif filter=lfs diff=lfs merge=lfs -text
614
+ dataset/Zmutt/20231016_Zmutt_s2.tif filter=lfs diff=lfs merge=lfs -text
615
+ dataset/Zmutt/20231023_Zmutt_hillshade.tif filter=lfs diff=lfs merge=lfs -text
616
+ dataset/Zmutt/20231023_Zmutt_s1.tif filter=lfs diff=lfs merge=lfs -text
617
+ dataset/Zmutt/20231023_Zmutt_s2.tif filter=lfs diff=lfs merge=lfs -text
618
+ dataset/Zmutt/20231028_Zmutt_hillshade.tif filter=lfs diff=lfs merge=lfs -text
619
+ dataset/Zmutt/20231028_Zmutt_s1.tif filter=lfs diff=lfs merge=lfs -text
620
+ dataset/Zmutt/20231028_Zmutt_s2.tif filter=lfs diff=lfs merge=lfs -text
621
+ dataset/Zmutt/Zmutt_dem.tif filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -1,3 +1,47 @@
1
- ---
2
- license: mit
3
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ In this repository, you will find code and resources related to lake detection using deep learning techniques. The project leverages satellite imagery and advanced neural network architectures to accurately identify and segment lakes in various geographical regions.
2
+
3
+
4
+ ## Project Overview
5
+ Accelerated glacier retreat driven by global climate change has led to the rapid formation and expansion
6
+ of glacial lakes in alpine environments, significantly increasing the risk of Glacial Lake
7
+ Outburst Floods (GLOFs). This research proposes a
8
+ two-part methodological framework to improve the detection and
9
+ monitoring of these dynamic water bodies using multi-source remote sensing data.
10
+
11
+ First, a Melting Season Assessment was developed using Sentinel-1 Synthetic
12
+ Aperture Radar (SAR) backscatter data to automatically identify the onset of
13
+ the melting season. This period is critical for hazard assessment as
14
+ it marks the time when newly formed or rapidly expanding lakes pose the highest risks.
15
+ The results indicate that the melting season start can be reliably detected using $\sigma^{0}_{VV}$
16
+ backscatter with a 3 dB threshold and a 25\% wet snow percentage threshold.
17
+ This method achieved high accuracy, identifying the start of snowmelt within an average
18
+ of 6.5 days compared to in-situ physical simulations.
19
+
20
+ Second, Glacial Lake Segmentation was performed using deep
21
+ learning-based semantic segmentation models. These models integrated multi-source data,
22
+ including Sentinel-1 (radar), Sentinel-2 (optical), and Digital Elevation Models
23
+ (topographical). The study evaluated several architectures,
24
+ including U-Net variants, DeepLabV3+, and a hybrid SwinV2-CNN U-Net.
25
+ The findings demonstrate that the hybrid SwinV2-CNN U-Net was the best-performing model,
26
+ effectively capturing both global context and fine spatial details necessary for
27
+ accurate segmentation of early-stage lakes.
28
+
29
+ Overall, the work demonstrates that advanced deep learning models
30
+ outperform traditional machine learning methods for glacial lake mapping.
31
+
32
+
33
+ ## Repository Structure
34
+ - `dataset/`: Contains the data for the Deep Learning models, including satellite images and corresponding labels.
35
+ - `code/`: Houses all the scripts and notebooks used for data preprocessing, model training, evaluation, and visualization.
36
+ - `melting_season/`: Notebooks and scripts specific to the melting season analysis.
37
+ - `deep_learning_dataset/`: Scripts for handling and reconstructing the images dataset from GEE.
38
+ - `lake_detection/`: Code related to lake detection models and experiments used as a Classification task.
39
+ - `lake_detection_deep_learning/`: Contains deep learning models for lake detection, including model architectures, training routines, and visualization tools.
40
+ - `models/`: Pre-trained models and checkpoints for various experiments.
41
+ - `trainer/`: Is the library for training inside of it are all the models architectures.
42
+
43
+ ## Author
44
+ Tim Ernst
45
+
46
+ ## Scope of the Project
47
+ This work is part of the Master's thesis "Detection of glacial lakes using remote sensing data" for the degree of Master of Science in Data Science at the University of Applied Sciences and Arts Western Switzerland (HES-SO).
code/deep_learning_dataset/gee.ipynb ADDED
@@ -0,0 +1,463 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "id": "d4b6549c",
7
+ "metadata": {},
8
+ "outputs": [
9
+ {
10
+ "name": "stdout",
11
+ "output_type": "stream",
12
+ "text": [
13
+ "Generating dataset for location: Aletsch\n",
14
+ "Exporting DEM for location: Aletsch\n",
15
+ "Processing year: 2023 from 2023-02-01 to 2023-05-30\n",
16
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230426, 20230426\n",
17
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230419, 20230419\n",
18
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230218, 20230218\n",
19
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230225, 20230225\n",
20
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230302, 20230302\n",
21
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230305, 20230305\n",
22
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230317, 20230317\n",
23
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230521, 20230521\n",
24
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230501, 20230501\n",
25
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230509, 20230509\n",
26
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230322, 20230322\n",
27
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230414, 20230414\n",
28
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230310, 20230310\n",
29
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230516, 20230516\n",
30
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230213, 20230213\n",
31
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230504, 20230504\n",
32
+ "Generating dataset for location: PleineMorte\n",
33
+ "Exporting DEM for location: PleineMorte\n",
34
+ "Processing year: 2023 from 2023-02-01 to 2023-05-30\n",
35
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230419, 20230419\n",
36
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230218, 20230218\n",
37
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230509, 20230509\n",
38
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230414, 20230414\n",
39
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230310, 20230310\n",
40
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230213, 20230213\n",
41
+ "Generating dataset for location: Anzere\n",
42
+ "Exporting DEM for location: Anzere\n",
43
+ "Processing year: 2023 from 2023-02-01 to 2023-05-30\n",
44
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230419, 20230419\n",
45
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230218, 20230218\n",
46
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230509, 20230509\n",
47
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230414, 20230414\n",
48
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230310, 20230310\n",
49
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230213, 20230213\n",
50
+ "Generating dataset for location: Diablerets\n",
51
+ "Exporting DEM for location: Diablerets\n",
52
+ "Processing year: 2023 from 2023-02-01 to 2023-05-30\n",
53
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230419, 20230419\n",
54
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230218, 20230218\n",
55
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230509, 20230509\n",
56
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230414, 20230414\n",
57
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230310, 20230310\n",
58
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230213, 20230213\n",
59
+ "Generating dataset for location: Gorner\n",
60
+ "Exporting DEM for location: Gorner\n",
61
+ "Processing year: 2023 from 2023-02-01 to 2023-05-30\n",
62
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230426, 20230426\n",
63
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230419, 20230419\n",
64
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230218, 20230218\n",
65
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230225, 20230225\n",
66
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230302, 20230302\n",
67
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230305, 20230305\n",
68
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230317, 20230317\n",
69
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230521, 20230521\n",
70
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230501, 20230501\n",
71
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230509, 20230509\n",
72
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230322, 20230322\n",
73
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230414, 20230414\n",
74
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230310, 20230310\n",
75
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230516, 20230516\n",
76
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230213, 20230213\n",
77
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230504, 20230504\n",
78
+ "Generating dataset for location: Rhone\n",
79
+ "Exporting DEM for location: Rhone\n",
80
+ "Processing year: 2023 from 2023-02-01 to 2023-05-30\n",
81
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230426, 20230426\n",
82
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230225, 20230225\n",
83
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230305, 20230305\n",
84
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230317, 20230317\n",
85
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230521, 20230521\n",
86
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230509, 20230509\n",
87
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230322, 20230322\n",
88
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230414, 20230414\n",
89
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230310, 20230310\n",
90
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230516, 20230516\n",
91
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230213, 20230213\n",
92
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230504, 20230504\n",
93
+ "Generating dataset for location: Moiry\n",
94
+ "Exporting DEM for location: Moiry\n",
95
+ "Processing year: 2023 from 2023-02-01 to 2023-05-30\n",
96
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230426, 20230426\n",
97
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230419, 20230419\n",
98
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230218, 20230218\n",
99
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230225, 20230225\n",
100
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230302, 20230302\n",
101
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230521, 20230521\n",
102
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230501, 20230501\n",
103
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230509, 20230509\n",
104
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230322, 20230322\n",
105
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230414, 20230414\n",
106
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230310, 20230310\n",
107
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230213, 20230213\n",
108
+ "Generating dataset for location: Zmutt\n",
109
+ "Exporting DEM for location: Zmutt\n",
110
+ "Processing year: 2023 from 2023-02-01 to 2023-05-30\n",
111
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230426, 20230426\n",
112
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230419, 20230419\n",
113
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230218, 20230218\n",
114
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230225, 20230225\n",
115
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230302, 20230302\n",
116
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230521, 20230521\n",
117
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230501, 20230501\n",
118
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230509, 20230509\n",
119
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230322, 20230322\n",
120
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230414, 20230414\n",
121
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230310, 20230310\n",
122
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230213, 20230213\n",
123
+ "Generating dataset for location: Saas-Tal\n",
124
+ "Exporting DEM for location: Saas-Tal\n",
125
+ "Processing year: 2023 from 2023-02-01 to 2023-05-30\n",
126
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230426, 20230426\n",
127
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230419, 20230419\n",
128
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230218, 20230218\n",
129
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230225, 20230225\n",
130
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230302, 20230302\n",
131
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230305, 20230305\n",
132
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230317, 20230317\n",
133
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230521, 20230521\n",
134
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230501, 20230501\n",
135
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230509, 20230509\n",
136
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230322, 20230322\n",
137
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230414, 20230414\n",
138
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230310, 20230310\n",
139
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230516, 20230516\n",
140
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230213, 20230213\n",
141
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230504, 20230504\n",
142
+ "Generating dataset for location: Gorbassiere\n",
143
+ "Exporting DEM for location: Gorbassiere\n",
144
+ "Processing year: 2023 from 2023-02-01 to 2023-05-30\n",
145
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230419, 20230419\n",
146
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230218, 20230218\n",
147
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230509, 20230509\n",
148
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230414, 20230414\n",
149
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230310, 20230310\n",
150
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230213, 20230213\n",
151
+ "Generating dataset for location: Allalin\n",
152
+ "Exporting DEM for location: Allalin\n",
153
+ "Processing year: 2023 from 2023-02-01 to 2023-05-30\n",
154
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230426, 20230426\n",
155
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230419, 20230419\n",
156
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230218, 20230218\n",
157
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230225, 20230225\n",
158
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230302, 20230302\n",
159
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230305, 20230305\n",
160
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230317, 20230317\n",
161
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230521, 20230521\n",
162
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230501, 20230501\n",
163
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230509, 20230509\n",
164
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230322, 20230322\n",
165
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230414, 20230414\n",
166
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230310, 20230310\n",
167
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230516, 20230516\n",
168
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230213, 20230213\n",
169
+ "Exporting Sentinel-1 and Sentinel-2 for date: 20230504, 20230504\n"
170
+ ]
171
+ }
172
+ ],
173
+ "source": [
174
+ "import ee\n",
175
+ "import sys\n",
176
+ "import datetime\n",
177
+ "ee.Authenticate()\n",
178
+ "ee.Initialize()\n",
179
+ "\n",
180
+ "YEARS = [2025]\n",
181
+ "MONTHS_START = 2\n",
182
+ "MONTHS_END = 8\n",
183
+ "\n",
184
+ "LOCATION = {\n",
185
+ " # 'Aletsch': ee.Geometry.Polygon([\n",
186
+ " # [[7.9, 46.35],\n",
187
+ " # [7.9, 46.6],\n",
188
+ " # [8.2, 46.6],\n",
189
+ " # [8.2, 46.35]]\n",
190
+ " # ]),\n",
191
+ " # 'PleineMorte': ee.Geometry.Polygon([\n",
192
+ " # [[7.472076, 46.371332],\n",
193
+ " # [7.472076, 46.395963],\n",
194
+ " # [7.558594, 46.395963],\n",
195
+ " # [7.558594, 46.371332]]\n",
196
+ " # ]),\n",
197
+ " # 'Anzere': ee.Geometry.Polygon([\n",
198
+ " # [[7.315350, 46.344202],\n",
199
+ " # [7.315350, 46.371451],\n",
200
+ " # [7.387362, 46.371451],\n",
201
+ " # [7.387362, 46.344202]]\n",
202
+ " # ]),\n",
203
+ " # 'Diablerets': ee.Geometry.Polygon([\n",
204
+ " # [[7.174759, 46.302236],\n",
205
+ " # [7.174759, 46.330632],\n",
206
+ " # [7.245140, 46.330632],\n",
207
+ " # [7.245140, 46.302236]]\n",
208
+ " # ]),\n",
209
+ " # 'Gorner': ee.Geometry.Polygon([\n",
210
+ " # [[7.737808, 45.889453],\n",
211
+ " # [7.737808, 45.977836],\n",
212
+ " # [7.891617, 45.977836],\n",
213
+ " # [7.891617, 45.889453]]\n",
214
+ " # ]),\n",
215
+ " # 'Rhone': ee.Geometry.Polygon([\n",
216
+ " # [[8.362999, 46.580103],\n",
217
+ " # [8.362999, 46.648493],\n",
218
+ " # [8.421364, 46.648493],\n",
219
+ " # [8.421364, 46.580103]]\n",
220
+ " # ]),\n",
221
+ " # 'Moiry': ee.Geometry.Polygon([\n",
222
+ " # [[7.562027, 46.049170],\n",
223
+ " # [7.562027, 46.097876],\n",
224
+ " # [7.637730, 46.097876],\n",
225
+ " # [7.637730, 46.049170]]\n",
226
+ " # ]),\n",
227
+ " # 'Zmutt': ee.Geometry.Polygon([\n",
228
+ " # [[7.558765, 45.969049],\n",
229
+ " # [7.558765, 46.027959],\n",
230
+ " # [7.665539, 46.027959],\n",
231
+ " # [7.665539, 45.969049]]\n",
232
+ " # ]),\n",
233
+ " # 'Saas-Tal': ee.Geometry.Polygon([\n",
234
+ " # [[7.821545, 46.011491],\n",
235
+ " # [7.821545, 46.105634],\n",
236
+ " # [7.942223, 46.105634],\n",
237
+ " # [7.942223, 46.011491]]\n",
238
+ " # ]),\n",
239
+ " # 'Gorbassiere': ee.Geometry.Polygon([\n",
240
+ " # [[7.246376, 45.934768],\n",
241
+ " # [7.246376, 46.003639],\n",
242
+ " # [7.326027, 46.003639],\n",
243
+ " # [7.326027, 45.934768]]\n",
244
+ " # ]),\n",
245
+ " # 'Diablerets': ee.Geometry.Polygon([\n",
246
+ " # [[7.189934, 46.301615],\n",
247
+ " # [7.189934, 46.330259],\n",
248
+ " # [7.243320, 46.330259],\n",
249
+ " # [7.243320, 46.301615]]\n",
250
+ " # ]),\n",
251
+ " # 'Allalin': ee.Geometry.Polygon([\n",
252
+ " # [[7.868614, 46.016011],\n",
253
+ " # [7.868614, 46.052493],\n",
254
+ " # [7.946205, 46.052493],\n",
255
+ " # [7.946205, 46.016011]]\n",
256
+ " # ]),\n",
257
+ " 'Praflleuri': ee.Geometry.Polygon([\n",
258
+ " [[7.328739, 46.059534],\n",
259
+ " [7.328739, 46.078470],\n",
260
+ " [7.370968, 46.078470],\n",
261
+ " [7.370968, 46.059534]]\n",
262
+ " ]),\n",
263
+ "}\n",
264
+ "\n",
265
+ "\n",
266
+ "# ---------------------------\n",
267
+ "# Sentinel-2 collection\n",
268
+ "# ---------------------------\n",
269
+ "def s2_preprocessing(img, roi):\n",
270
+ " scl = img.select('SCL')\n",
271
+ " # Mask out cloudy, cirrus, snow, and shadow classes\n",
272
+ " cloud_classes = [3, 8, 9] # 3=Cloud Shadows, 8=Cloud Medium prob, 9=Cloud High prob, 10=Thin cirrus\n",
273
+ " clouds = scl.eq(cloud_classes[0]) \\\n",
274
+ " .Or(scl.eq(cloud_classes[1])) \\\n",
275
+ " .Or(scl.eq(cloud_classes[2]))\n",
276
+ "\n",
277
+ " # def s2_preprocessing(img, roi):\n",
278
+ " # Scale reflectance (Sentinel-2 is stored as 0–10000)\n",
279
+ " scaled = img.select(['B2','B3','B4','B5','B6','B7','B8','B8A','B11','B12'])\n",
280
+ "\n",
281
+ " # --- Derived indices ---\n",
282
+ " ndsi = scaled.normalizedDifference(['B3', 'B11']).rename('ndsi')\n",
283
+ " ndwi = scaled.normalizedDifference(['B3', 'B8']).rename('ndwi')\n",
284
+ "\n",
285
+ " # --- Combine all results ---\n",
286
+ " processed = ee.Image(scaled\n",
287
+ " .addBands(ndwi)\n",
288
+ " .addBands(ndsi)\n",
289
+ " .clip(roi)\n",
290
+ " .toFloat()\n",
291
+ " .copyProperties(img, img.propertyNames()))\n",
292
+ "\n",
293
+ " return processed, clouds\n",
294
+ "\n",
295
+ "# add for each image the date as a property\n",
296
+ "def add_date(img):\n",
297
+ " date = img.date().format('YYYYMMdd')\n",
298
+ " return img.set('date', date)\n",
299
+ "\n",
300
+ "\n",
301
+ "def export_pair(s1_data, s2_data, s1_date, s2_date, roi, name):\n",
302
+ " s1_image = s1_data.filter(ee.Filter.eq('date', s1_date)).mosaic()\n",
303
+ " s2_image = s2_data.filter(ee.Filter.eq('date', s2_date)).mosaic()\n",
304
+ " processed, cloud_mask = s2_preprocessing(s2_image, roi)\n",
305
+ " \n",
306
+ " if s1_image and s2_image:\n",
307
+ " task_s1 = ee.batch.Export.image.toDrive(\n",
308
+ " image=s1_image,\n",
309
+ " description=f'Sentinel1_{s1_date}',\n",
310
+ " folder=f'GEE_exports_02',\n",
311
+ " fileNamePrefix=f'{s1_date}_{name}_s1',\n",
312
+ " region=roi,\n",
313
+ " scale=10,\n",
314
+ " maxPixels=1e13\n",
315
+ " )\n",
316
+ " task_s2 = ee.batch.Export.image.toDrive(\n",
317
+ " image=processed,\n",
318
+ " description=f'Sentinel2_{s2_date}',\n",
319
+ " folder=f'GEE_exports_02',\n",
320
+ " fileNamePrefix=f'{s2_date}_{name}_s2',\n",
321
+ " region=roi,\n",
322
+ " scale=10,\n",
323
+ " maxPixels=1e13\n",
324
+ " )\n",
325
+ " # task_lake_mask = ee.batch.Export.image.toDrive(\n",
326
+ " # image=s2_lake_mask,\n",
327
+ " # description=f'Sentinel2_LakeMask_{s2_date}',\n",
328
+ " # folder=f'GEE_exports',\n",
329
+ " # fileNamePrefix=f'{s2_date}_{name}_lake_mask',\n",
330
+ " # region=roi,\n",
331
+ " # scale=10,\n",
332
+ " # maxPixels=1e13\n",
333
+ " # )\n",
334
+ " task_cloud_mask = ee.batch.Export.image.toDrive(\n",
335
+ " image=cloud_mask,\n",
336
+ " description=f'Sentinel2_CloudMask_{s2_date}',\n",
337
+ " folder=f'GEE_exports_02',\n",
338
+ " fileNamePrefix=f'{s2_date}_{name}_cloud_mask',\n",
339
+ " region=roi,\n",
340
+ " scale=10,\n",
341
+ " maxPixels=1e13\n",
342
+ " )\n",
343
+ " task_s1.start()\n",
344
+ " task_s2.start()\n",
345
+ " # task_lake_mask.start()\n",
346
+ " task_cloud_mask.start()\n",
347
+ " print(f'Exporting Sentinel-1 and Sentinel-2 for date: {s1_date}, {s2_date}')\n",
348
+ " \n",
349
+ " else:\n",
350
+ " print(f'No matching images for date: {s1_date}, {s2_date}')\n",
351
+ "\n",
352
+ "\n",
353
+ " \n",
354
+ "def generate_dataset(name, roi, years):\n",
355
+ " \n",
356
+ " for year in years:\n",
357
+ " DATE_START = f'{year}-{MONTHS_START:02d}-01'\n",
358
+ " DATE_END = f'{year}-{MONTHS_END:02d}-30'\n",
359
+ " print(f'Processing year: {year} from {DATE_START} to {DATE_END}')\n",
360
+ " \n",
361
+ " s1_col = (ee.ImageCollection('COPERNICUS/S1_GRD')\n",
362
+ " .filterBounds(roi)\n",
363
+ " .filterDate(DATE_START, DATE_END)\n",
364
+ " .filter(ee.Filter.eq('instrumentMode', 'IW'))\n",
365
+ " .map(lambda img: img.select(['VV', 'VH']).clip(roi).toFloat())\n",
366
+ " )\n",
367
+ " # PALSAR-2 ScanSAR collection\n",
368
+ " # s1_col = (ee.ImageCollection('JAXA/ALOS/PALSAR-2/Level2_2/ScanSAR')\n",
369
+ " # .filterBounds(roi)\n",
370
+ " # .filterDate(DATE_START, DATE_END)\n",
371
+ " # .map(lambda img: img.select(['HH']).clip(roi).toFloat())\n",
372
+ " # )\n",
373
+ " s2_raw = (ee.ImageCollection(\"COPERNICUS/S2_SR_HARMONIZED\")\n",
374
+ " .filterBounds(roi)\n",
375
+ " .filterDate(DATE_START, DATE_END))\n",
376
+ " # s2_col, s2_lake_mask, s2_cloud_mask = s2_raw.map(lambda img: s2_preprocessing(img, roi))\n",
377
+ "\n",
378
+ " dem_col = ee.ImageCollection(\"COPERNICUS/DEM/GLO30\").mosaic().clip(roi)\n",
379
+ " dem_col = dem_col.select('DEM').rename('elevation').toFloat()\n",
380
+ " \n",
381
+ " s1_col = s1_col.map(add_date)\n",
382
+ " s2_col = s2_raw.map(add_date)\n",
383
+ " \n",
384
+ " s2_dates = s2_raw.aggregate_array('system:time_start').getInfo()\n",
385
+ " s1_dates = s1_col.aggregate_array('system:time_start').getInfo()\n",
386
+ " \n",
387
+ " s1_dates = [ee.Date(d).format('YYYYMMdd').getInfo() for d in s1_dates]\n",
388
+ " s2_dates = [ee.Date(d).format('YYYYMMdd').getInfo() for d in s2_dates]\n",
389
+ " \n",
390
+ " common_dates = set(s1_dates).intersection(set(s2_dates))\n",
391
+ " for date in common_dates:\n",
392
+ " export_pair(s1_col, s2_col, date, date, roi, name)\n",
393
+ " # s1_dates = [d for d in s1_dates if d not in common_dates]\n",
394
+ " # s2_dates = [d for d in s2_dates if d not in common_dates]\n",
395
+ " # s1_dates = sorted(s1_dates)\n",
396
+ " # s2_dates = sorted(s2_dates)\n",
397
+ " \n",
398
+ " # s1_dates = [datetime.datetime.strptime(d, \"%Y%m%d\").timestamp() for d in s1_dates]\n",
399
+ " # s2_dates = [datetime.datetime.strptime(d, \"%Y%m%d\").timestamp() for d in s2_dates]\n",
400
+ " \n",
401
+ " # i, j = 0, 0\n",
402
+ " # while i < len(s1_dates) and j < len(s2_dates):\n",
403
+ " # date_s1 = s1_dates[i]\n",
404
+ " # date_s2 = s2_dates[j]\n",
405
+ "\n",
406
+ " # if abs(date_s1 - date_s2) <= 2 * 86400: # 2 days in seconds\n",
407
+ " # date_str_s1 = datetime.datetime.fromtimestamp(date_s1).strftime(\"%Y%m%d\")\n",
408
+ " # date_str_s2 = datetime.datetime.fromtimestamp(date_s2).strftime(\"%Y%m%d\")\n",
409
+ " # export_pair(s1_col, s2_col, date_str_s1, date_str_s2, roi, name)\n",
410
+ " # i += 1\n",
411
+ " # j += 1\n",
412
+ " # elif date_s1 < date_s2:\n",
413
+ " # i += 1\n",
414
+ " # else:\n",
415
+ " # j += 1\n",
416
+ "\n",
417
+ "def export_location_dem(name, roi):\n",
418
+ " dem_image = ee.ImageCollection(\"COPERNICUS/DEM/GLO30\").mosaic().clip(roi)\n",
419
+ " dem_image = dem_image.select('DEM').rename('elevation').toFloat()\n",
420
+ " task_dem = ee.batch.Export.image.toDrive(\n",
421
+ " image=dem_image,\n",
422
+ " description=f'DEM_{name}',\n",
423
+ " folder=f'GEE_exports',\n",
424
+ " fileNamePrefix=f'{name}_dem',\n",
425
+ " region=roi,\n",
426
+ " scale=10,\n",
427
+ " maxPixels=1e13\n",
428
+ " )\n",
429
+ " task_dem.start()\n",
430
+ " print(f'Exporting DEM for location: {name}')\n",
431
+ " \n",
432
+ "for loc_name, loc_roi in LOCATION.items():\n",
433
+ " print(f'Generating dataset for location: {loc_name}')\n",
434
+ " export_location_dem(loc_name, loc_roi)\n",
435
+ " generate_dataset(loc_name, loc_roi, YEARS)\n",
436
+ " # break\n",
437
+ " \n",
438
+ "\n"
439
+ ]
440
+ }
441
+ ],
442
+ "metadata": {
443
+ "kernelspec": {
444
+ "display_name": ".venv",
445
+ "language": "python",
446
+ "name": "python3"
447
+ },
448
+ "language_info": {
449
+ "codemirror_mode": {
450
+ "name": "ipython",
451
+ "version": 3
452
+ },
453
+ "file_extension": ".py",
454
+ "mimetype": "text/x-python",
455
+ "name": "python",
456
+ "nbconvert_exporter": "python",
457
+ "pygments_lexer": "ipython3",
458
+ "version": "3.12.7"
459
+ }
460
+ },
461
+ "nbformat": 4,
462
+ "nbformat_minor": 5
463
+ }
code/deep_learning_dataset/gee_vis_date_mission.ipynb ADDED
@@ -0,0 +1,140 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "id": "006f8288",
7
+ "metadata": {},
8
+ "outputs": [
9
+ {
10
+ "name": "stdout",
11
+ "output_type": "stream",
12
+ "text": [
13
+ "Sentinel-1 images count: 782\n",
14
+ "Sentinel-2 images count: 466\n",
15
+ "PALSAR-2 images count: 110\n",
16
+ "PALSAR-2 Observation Mode Counts:\n",
17
+ "ScanSAR VBD: 5\n",
18
+ "ScanSAR WBD: 95\n",
19
+ "ScanSAR WBS: 10\n",
20
+ "Sentinel-1 Images by Hour and Minute\n",
21
+ "Hour: 05, Minute: 34 → 80\n",
22
+ "Hour: 05, Minute: 35 → 180\n",
23
+ "Hour: 05, Minute: 42 → 35\n",
24
+ "Hour: 05, Minute: 43 → 227\n",
25
+ "Hour: 17, Minute: 22 → 77\n",
26
+ "Hour: 17, Minute: 23 → 183\n",
27
+ "Sentinel-2 Images by Hour and Minute\n",
28
+ "Hour: 10, Minute: 37 → 32\n",
29
+ "Hour: 10, Minute: 38 → 434\n"
30
+ ]
31
+ }
32
+ ],
33
+ "source": [
34
+ "# plot when images are available in a graph for thes colection\n",
35
+ "# s1_col = (ee.ImageCollection('COPERNICUS/S1_GRD')\n",
36
+ " # .filterBounds(roi)\n",
37
+ " # .filterDate(DATE_START, DATE_END)\n",
38
+ " # .filter(ee.Filter.eq('instrumentMode', 'IW'))\n",
39
+ " # .map(lambda img: img.select(['VV', 'VH']).clip(roi).toFloat())\n",
40
+ " # )\n",
41
+ " # s2_raw = (ee.ImageCollection(\"COPERNICUS/S2_SR_HARMONIZED\")\n",
42
+ " # .filterBounds(roi)\n",
43
+ " # .filterDate(DATE_START, DATE_END))\n",
44
+ "# and for the ee.ImageCollection(\"JAXA/ALOS/PALSAR-2/Level2_2/ScanSAR\") collelction\n",
45
+ "\n",
46
+ "\n",
47
+ "import ee\n",
48
+ "import datetime\n",
49
+ "import pandas as pd\n",
50
+ "\n",
51
+ "ee.Authenticate()\n",
52
+ "ee.Initialize()\n",
53
+ "\n",
54
+ "roi = ee.Geometry.Polygon([\n",
55
+ " [[7.472076, 46.371332],\n",
56
+ " [7.472076, 46.395963],\n",
57
+ " [7.558594, 46.395963],\n",
58
+ " [7.558594, 46.371332]]\n",
59
+ " ]) \n",
60
+ "DATE_START = '2020-01-01'\n",
61
+ "DATE_END = '2025-12-31'\n",
62
+ "\n",
63
+ "s1_col = (ee.ImageCollection('COPERNICUS/S1_GRD')\n",
64
+ " .filterBounds(roi) \n",
65
+ " .filterDate(DATE_START, DATE_END)\n",
66
+ " \n",
67
+ " .filter(ee.Filter.eq('instrumentMode', 'IW'))\n",
68
+ ")\n",
69
+ "s2_raw = (ee.ImageCollection(\"COPERNICUS/S2_SR_HARMONIZED\")\n",
70
+ " .filterBounds(roi)\n",
71
+ " .filterDate(DATE_START, DATE_END)\n",
72
+ ")\n",
73
+ "\n",
74
+ "palsar2_col = (ee.ImageCollection(\"JAXA/ALOS/PALSAR-2/Level2_2/ScanSAR\")\n",
75
+ " .filterBounds(roi)\n",
76
+ " .filterDate(DATE_START, DATE_END)\n",
77
+ " # .filter(ee.Filter.eq('ObservationMode', 'ScanSAR WBD'))\n",
78
+ ")\n",
79
+ "\n",
80
+ "print(f'Sentinel-1 images count: {s1_col.size().getInfo()}')\n",
81
+ "print(f'Sentinel-2 images count: {s2_raw.size().getInfo()}')\n",
82
+ "print(f'PALSAR-2 images count: {palsar2_col.size().getInfo()}')\n",
83
+ "\n",
84
+ "def get_dates(image):\n",
85
+ " date = ee.Date(image.get('system:time_start')).format('YYYY-MM-dd')\n",
86
+ " return ee.Feature(None, {'date': date})\n",
87
+ "\n",
88
+ "s1_dates = s1_col.map(get_dates).distinct('date').aggregate_array('date').getInfo()\n",
89
+ "s2_dates = s2_raw.map(get_dates).distinct('date').aggregate_array('date').getInfo()\n",
90
+ "palsar2_dates = palsar2_col.map(get_dates).distinct('date').aggregate_array('date').getInfo()\n",
91
+ "\n",
92
+ "# Convert string dates to datetime objects\n",
93
+ "s1_dates = [datetime.datetime.strptime(date, '%Y-%m-%d') for date in s1_dates]\n",
94
+ "s2_dates = [datetime.datetime.strptime(date, '%Y-%m-%d') for date in s2_dates]\n",
95
+ "palsar2_dates = [datetime.datetime.strptime(date, '%Y-%m-%d') for date in palsar2_dates]\n",
96
+ "\n",
97
+ "# Create a DataFrame for plotting\n",
98
+ "df_s1 = pd.DataFrame({'Date': s1_dates, 'Collection': 'Sentinel-1'})\n",
99
+ "df_s2 = pd.DataFrame({'Date': s2_dates, 'Collection': 'Sentinel-2'})\n",
100
+ "df_palsar2 = pd.DataFrame({'Date': palsar2_dates, 'Collection': 'PALSAR-2'})\n",
101
+ "df = pd.concat([df_s1, df_s2, df_palsar2])\n",
102
+ "df['Count'] = 1\n",
103
+ "\n",
104
+ "\n",
105
+ "\n",
106
+ "\n",
107
+ "# Plotting using plotly calendar heatmap\n",
108
+ "import plotly.express as px\n",
109
+ "fig = px.density_heatmap(df, x='Date', y='Collection', z='Count', \n",
110
+ " histfunc='sum', nbinsx=12*6, nbinsy=3,\n",
111
+ " title='Image Availability Calendar Heatmap',\n",
112
+ " labels={'Date': 'Date', 'Collection': 'Satellite Collection', 'Count': 'Number of Images'},\n",
113
+ " color_continuous_scale='Viridis')\n",
114
+ "fig.update_layout(yaxis={'categoryorder':'array', 'categoryarray':['Sentinel-1', 'Sentinel-2', 'PALSAR-2']})\n",
115
+ "fig.show(renderer=\"browser\")\n"
116
+ ]
117
+ }
118
+ ],
119
+ "metadata": {
120
+ "kernelspec": {
121
+ "display_name": ".venv",
122
+ "language": "python",
123
+ "name": "python3"
124
+ },
125
+ "language_info": {
126
+ "codemirror_mode": {
127
+ "name": "ipython",
128
+ "version": 3
129
+ },
130
+ "file_extension": ".py",
131
+ "mimetype": "text/x-python",
132
+ "name": "python",
133
+ "nbconvert_exporter": "python",
134
+ "pygments_lexer": "ipython3",
135
+ "version": "3.12.7"
136
+ }
137
+ },
138
+ "nbformat": 4,
139
+ "nbformat_minor": 5
140
+ }
code/lake_detection/band_stats.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"S1": {"mean": [-10.275007355103828, -19.10187808404981], "std": [8.077864757293627, 7.844485108696792]}, "S2": {"mean": [5203.776225113677, 5177.932304360476, 5094.146809105275, 5347.402283155328, 5348.477004072858, 5270.95105022702, 5153.108935614604, 5121.852479570022, 2418.92716783689, 2097.1146048929945, -0.06470172436416462, 0.2634266785421579], "std": [3657.3655615311823, 3431.3825227867237, 3364.7190966576554, 3358.4156132414055, 2986.983152871217, 2827.1899896570476, 2766.966383714519, 2677.4497688979413, 1686.293892684087, 1496.7516589009574, 0.22958618236701017, 0.46373559025376304]}, "DEM": {"mean": [2783.627744911285], "std": [679.0806803913562]}, "Hillshade": {"mean": [139.7336736969706], "std": [78.18240595643589]}}
code/lake_detection/pca_model.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b4141c05f477bbf5b4592054c63b9e0e57c5b8ed41702746605983b4de1578c2
3
+ size 1054
code/lake_detection/superpixel_classification.ipynb ADDED
@@ -0,0 +1,458 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "id": "ae6d5585",
7
+ "metadata": {},
8
+ "outputs": [],
9
+ "source": [
10
+ "import cv2\n",
11
+ "import os\n",
12
+ "import json\n",
13
+ "import numpy as np\n",
14
+ "from matplotlib import pyplot as plt\n",
15
+ "import rasterio\n",
16
+ "from skimage.segmentation import mark_boundaries\n",
17
+ "from skimage.color import label2rgb\n",
18
+ "from skimage.segmentation import slic, felzenszwalb, quickshift\n",
19
+ "import pandas as pd\n",
20
+ "from skimage.measure import regionprops_table\n"
21
+ ]
22
+ },
23
+ {
24
+ "cell_type": "code",
25
+ "execution_count": null,
26
+ "id": "68a3d89e",
27
+ "metadata": {},
28
+ "outputs": [],
29
+ "source": [
30
+ "def normalize_band(img, mean, std):\n",
31
+ " \"\"\"Min-max normalization using mean ± 2sigma .\"\"\"\n",
32
+ " min_v = mean - 2 * std\n",
33
+ " max_v = mean + 2 * std\n",
34
+ " img = (img - min_v) / (max_v - min_v + 1e-6)\n",
35
+ " return np.clip(img, 0, 1).astype(np.float32)\n",
36
+ "\n",
37
+ "band_stats_file = \"band_stats.json\"\n",
38
+ "\n",
39
+ "if os.path.exists(band_stats_file):\n",
40
+ " with open(band_stats_file, \"r\") as f:\n",
41
+ " band_stats = json.load(f)\n",
42
+ "\n",
43
+ "def nomralize_image(s1, s2, dem, band_stats):\n",
44
+ " \"\"\"Normalize each band of the image using precomputed statistics.\"\"\"\n",
45
+ " normalized_bands = []\n",
46
+ " for i in range(s1.shape[2]):\n",
47
+ " band_mean = band_stats['S1']['mean'][i]\n",
48
+ " band_std = band_stats['S1']['std'][i]\n",
49
+ " normalized_band = normalize_band(s1[:, :, i], band_mean, band_std)\n",
50
+ " normalized_bands.append(normalized_band)\n",
51
+ "\n",
52
+ " for i in range(s2.shape[2]):\n",
53
+ " band_mean = band_stats['S2']['mean'][i]\n",
54
+ " band_std = band_stats['S2']['std'][i]\n",
55
+ " normalized_band = normalize_band(s2[:, :, i], band_mean, band_std)\n",
56
+ " normalized_bands.append(normalized_band)\n",
57
+ "\n",
58
+ " for i in range(dem.shape[2]):\n",
59
+ " band_mean = band_stats['DEM']['mean'][i]\n",
60
+ " band_std = band_stats['DEM']['std'][i]\n",
61
+ " normalized_band = normalize_band(dem[:, :, i], band_mean, band_std)\n",
62
+ " normalized_bands.append(normalized_band)\n",
63
+ "\n",
64
+ " # for band in range(hillshade.shape[2]):\n",
65
+ " # band_mean = band_stats['Hillshade']['mean'][band]\n",
66
+ " # band_std = band_stats['Hillshade']['std'][band]\n",
67
+ " # normalized_band = normalize_band(hillshade[:, :, band], band_mean, band_std)\n",
68
+ " # normalized_bands.append(normalized_band)\n",
69
+ "\n",
70
+ " # for band in range(cloudmask.shape[2]):\n",
71
+ " # band_mean = band_stats['Cloudmask']['mean'][band]\n",
72
+ " # band_std = band_stats['Cloudmask']['std'][band]\n",
73
+ " # normalized_band = normalize_band(cloudmask[:, :, band], band_mean, band_std)\n",
74
+ " # normalized_bands.append(normalized_band)\n",
75
+ "\n",
76
+ " return np.stack(normalized_bands, axis=-1)\n",
77
+ "\n",
78
+ "\n",
79
+ "def load_image(location, date, folder, load_mask=False):\n",
80
+ " s1 = f\"{folder}/{location}/{date}_{location}_s1.tif\"\n",
81
+ " s2 = f\"{folder}/{location}/{date}_{location}_s2.tif\"\n",
82
+ " dem = f\"{folder}/{location}/{location}_dem.tif\"\n",
83
+ " mask_path = f\"{folder}/{location}/{date}_{location}_lake_mask.tif\" if load_mask else None\n",
84
+ " \n",
85
+ " if not os.path.exists(s1):\n",
86
+ " print(f\"The file {s1} does not exist.\")\n",
87
+ " return None\n",
88
+ " if not os.path.exists(s2):\n",
89
+ " print(f\"The file {s2} does not exist.\")\n",
90
+ " return None\n",
91
+ " if not os.path.exists(dem):\n",
92
+ " print(f\"The file {dem} does not exist.\")\n",
93
+ " return None\n",
94
+ " if load_mask and not os.path.exists(mask_path):\n",
95
+ " print(f\"The file {mask_path} does not exist.\")\n",
96
+ " return None\n",
97
+ " \n",
98
+ " s1 = rasterio.open(s1).read()\n",
99
+ " s1 = np.moveaxis(s1, 0, -1)\n",
100
+ " s2 = rasterio.open(s2).read()\n",
101
+ " s2 = np.moveaxis(s2, 0, -1)\n",
102
+ " dem = rasterio.open(dem).read()\n",
103
+ " dem = np.moveaxis(dem, 0, -1)\n",
104
+ " # hillshade = rasterio.open(hillshade).read()\n",
105
+ " # hillshade = np.moveaxis(hillshade, 0, -1)\n",
106
+ " # cloudmask = rasterio.open(cloudmask).read()\n",
107
+ " # cloudmask = np.moveaxis(cloudmask, 0, -1)\n",
108
+ " normalized_image = nomralize_image(s1, s2, dem, band_stats)\n",
109
+ "\n",
110
+ " if load_mask:\n",
111
+ " mask = rasterio.open(mask_path).read(1)\n",
112
+ " mask = (mask > 1).astype(np.uint8)\n",
113
+ " return normalized_image, mask\n",
114
+ "\n",
115
+ " return normalized_image\n",
116
+ "\n",
117
+ "def extract_segment_features(image_s2, segments, mask):\n",
118
+ " num_bands = image_s2.shape[2]\n",
119
+ " rows = []\n",
120
+ "\n",
121
+ " props_table = regionprops_table(\n",
122
+ " segments,\n",
123
+ " properties=('label', 'perimeter', 'eccentricity', 'solidity')\n",
124
+ " )\n",
125
+ " props_df = pd.DataFrame(props_table).set_index('label')\n",
126
+ "\n",
127
+ " for segment_id in np.unique(segments):\n",
128
+ " segment_mask = segments == segment_id\n",
129
+ "\n",
130
+ " # Skip empty segments defensively\n",
131
+ " if not np.any(segment_mask):\n",
132
+ " continue\n",
133
+ "\n",
134
+ " segment_data = {'segment_id': segment_id}\n",
135
+ "\n",
136
+ " # ---- Spectral features ----\n",
137
+ " for band in range(num_bands):\n",
138
+ " band_data = image_s2[:, :, band][segment_mask]\n",
139
+ "\n",
140
+ " if band_data.size == 0:\n",
141
+ " continue\n",
142
+ "\n",
143
+ " segment_data[f'b{band+1}_mean'] = band_data.mean()\n",
144
+ " segment_data[f'b{band+1}_median'] = np.median(band_data)\n",
145
+ " segment_data[f'b{band+1}_std'] = band_data.std()\n",
146
+ " segment_data[f'b{band+1}_min'] = band_data.min()\n",
147
+ " segment_data[f'b{band+1}_max'] = band_data.max()\n",
148
+ "\n",
149
+ " s = pd.Series(band_data)\n",
150
+ " segment_data[f'b{band+1}_skew'] = s.skew()\n",
151
+ " segment_data[f'b{band+1}_kurtosis'] = s.kurtosis()\n",
152
+ "\n",
153
+ " segment_data[f'b{band+1}_energy'] = np.mean(band_data ** 2)\n",
154
+ "\n",
155
+ " hist, _ = np.histogram(band_data, bins=256, range=(0, 1), density=True)\n",
156
+ " hist = hist[hist > 0]\n",
157
+ " segment_data[f'b{band+1}_entropy'] = -np.sum(hist * np.log2(hist)) if hist.size else 0.0\n",
158
+ "\n",
159
+ " # ---- Shape features (once per segment) ----\n",
160
+ " if segment_id in props_df.index:\n",
161
+ " row = props_df.loc[segment_id]\n",
162
+ " segment_data['perimeter'] = row.perimeter\n",
163
+ " segment_data['eccentricity'] = row.eccentricity\n",
164
+ " segment_data['solidity'] = row.solidity\n",
165
+ " else:\n",
166
+ " segment_data['perimeter'] = 0.0\n",
167
+ " segment_data['eccentricity'] = 0.0\n",
168
+ " segment_data['solidity'] = 0.0\n",
169
+ "\n",
170
+ " # ---- Mask label ----\n",
171
+ " mask_data = mask[segment_mask]\n",
172
+ " if mask_data.size > 0:\n",
173
+ " majority = np.bincount(mask_data).argmax()\n",
174
+ " segment_data['mask_value'] = 0 if majority == 0 else 1\n",
175
+ " else:\n",
176
+ " segment_data['mask_value'] = 0\n",
177
+ "\n",
178
+ " rows.append(segment_data)\n",
179
+ "\n",
180
+ " return pd.DataFrame(rows)"
181
+ ]
182
+ },
183
+ {
184
+ "cell_type": "code",
185
+ "execution_count": null,
186
+ "id": "647d0096",
187
+ "metadata": {},
188
+ "outputs": [],
189
+ "source": [
190
+ "\n",
191
+ "# image = load_image(\"Aletsch\", \"20230625\", \"../dataset\")\n",
192
+ "image, mask = load_image(\"Allalin\", \"20230720\", \"../dataset\", load_mask=True)\n",
193
+ "# image = load_image(\"Zmutt\", \"20230720\", \"../dataset\")\n",
194
+ "fig, ax = plt.subplots(1, 1, figsize=(10, 10))\n",
195
+ "ax.imshow(image[:, :, [8, 4, 12]])\n",
196
+ "ax.set_title('Superpixel Boundaries on Original Image')\n",
197
+ "ax.axis('off')\n",
198
+ "plt.tight_layout()\n",
199
+ "plt.show()\n"
200
+ ]
201
+ },
202
+ {
203
+ "cell_type": "code",
204
+ "execution_count": null,
205
+ "id": "d5a75173",
206
+ "metadata": {},
207
+ "outputs": [],
208
+ "source": [
209
+ "df = pd.read_csv(\"train_segments_features.csv\")\n",
210
+ "validation_df = pd.read_csv(\"validation_segments_features.csv\")"
211
+ ]
212
+ },
213
+ {
214
+ "cell_type": "code",
215
+ "execution_count": null,
216
+ "id": "369519bf",
217
+ "metadata": {},
218
+ "outputs": [],
219
+ "source": [
220
+ "# create a balanced dataset with equal number of lake and non-lake segments\n",
221
+ "# replace nan with 0 \n",
222
+ "df = df.fillna(0)\n",
223
+ "validation_df = validation_df.fillna(0)\n",
224
+ "lake_df = df[df['mask_value'] == 1]\n",
225
+ "non_lake_df = df[df['mask_value'] == 0]\n",
226
+ "non_lake_df_sampled = non_lake_df.sample(n=len(lake_df), random_state=42)\n",
227
+ "balanced_df = pd.concat([lake_df, non_lake_df_sampled], ignore_index=True)\n",
228
+ "balanced_df = balanced_df.sample(frac=1, random_state=42).reset_index(drop=True)\n",
229
+ "\n",
230
+ "X = balanced_df[[col for col in balanced_df.columns if col not in ['segment_id', 'location', 'date', 'mask_value']]]\n",
231
+ "y = balanced_df['mask_value']\n",
232
+ "\n",
233
+ "val_X = validation_df[[col for col in validation_df.columns if col not in ['segment_id', 'location', 'date', 'mask_value']]]\n",
234
+ "val_y = validation_df['mask_value']"
235
+ ]
236
+ },
237
+ {
238
+ "cell_type": "code",
239
+ "execution_count": null,
240
+ "id": "dba1ada5",
241
+ "metadata": {},
242
+ "outputs": [],
243
+ "source": [
244
+ "print(f\"Lake segments: {len(lake_df)}, Non-lake segments (sampled): {len(non_lake_df)}, Total balanced segments: {len(balanced_df)}\")"
245
+ ]
246
+ },
247
+ {
248
+ "cell_type": "code",
249
+ "execution_count": null,
250
+ "id": "64ba7546",
251
+ "metadata": {},
252
+ "outputs": [],
253
+ "source": [
254
+ "from imblearn.over_sampling import SMOTE\n",
255
+ "\n",
256
+ "sm = SMOTE(random_state=42)\n",
257
+ "X, y = sm.fit_resample(df.drop(columns=['segment_id', 'location', 'date', 'mask_value']), df['mask_value'])\n",
258
+ "\n",
259
+ "# take only the first 10000\n",
260
+ "X = X[:10000]\n",
261
+ "y = y[:10000]\n"
262
+ ]
263
+ },
264
+ {
265
+ "cell_type": "code",
266
+ "execution_count": null,
267
+ "id": "be1b30ac",
268
+ "metadata": {},
269
+ "outputs": [],
270
+ "source": [
271
+ "# train a random forest classifier to predict mask_value based on the band mean values\n",
272
+ "from sklearn.metrics import classification_report, confusion_matrix\n",
273
+ "from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier\n",
274
+ "from sklearn.naive_bayes import GaussianNB\n",
275
+ "from sklearn import svm\n",
276
+ "from sklearn.neural_network import MLPClassifier\n",
277
+ "from sklearn.metrics import f1_score, accuracy_score, precision_score, recall_score\n",
278
+ "clfs = {\n",
279
+ " 'RandomForest': RandomForestClassifier(n_estimators=100),\n",
280
+ " 'GradientBoosting': GradientBoostingClassifier(n_estimators=100),\n",
281
+ " 'GaussianNB': GaussianNB(),\n",
282
+ " 'SVM': svm.SVC(),\n",
283
+ " 'mlp': MLPClassifier(hidden_layer_sizes=(50, ), max_iter=300)\n",
284
+ "}\n",
285
+ "\n",
286
+ "\n",
287
+ "scores = {}\n",
288
+ "\n",
289
+ "def score(y_true, y_pred):\n",
290
+ " f1 = f1_score(y_true, y_pred, average='binary')\n",
291
+ " accuracy = accuracy_score(y_true, y_pred)\n",
292
+ " precision = precision_score(y_true, y_pred, average='binary')\n",
293
+ " recall = recall_score(y_true, y_pred, average='binary')\n",
294
+ " return {'f1_score': f1, 'accuracy': accuracy, 'precision': precision, 'recall': recall}\n",
295
+ "\n",
296
+ "\n",
297
+ "for col in X.columns:\n",
298
+ " num_nan = X[col].isna().sum()\n",
299
+ " if num_nan > 0:\n",
300
+ " print(f\"{col}: {num_nan}\")\n",
301
+ "\n",
302
+ "for name, clf in clfs.items():\n",
303
+ " clf.fit(X, y)\n",
304
+ " val_y_pred = clf.predict(val_X)\n",
305
+ "\n",
306
+ " scores[name] = score(val_y, val_y_pred)\n",
307
+ "\n",
308
+ " # create a confusion matrix and classification report\n",
309
+ " conf = confusion_matrix(val_y, val_y_pred)\n",
310
+ " print(f\"Classifier: {name}\")\n",
311
+ " print(\"Confusion Matrix:\")\n",
312
+ " print(conf)\n",
313
+ "\n",
314
+ " print(\"Classification Report:\")\n",
315
+ " print(classification_report(val_y, val_y_pred))\n",
316
+ "\n",
317
+ "\n",
318
+ " print(\"-\" * 50)\n",
319
+ "\n",
320
+ "\n",
321
+ "\n"
322
+ ]
323
+ },
324
+ {
325
+ "cell_type": "code",
326
+ "execution_count": null,
327
+ "id": "bd477409",
328
+ "metadata": {},
329
+ "outputs": [],
330
+ "source": [
331
+ "scores"
332
+ ]
333
+ },
334
+ {
335
+ "cell_type": "code",
336
+ "execution_count": null,
337
+ "id": "94360582",
338
+ "metadata": {},
339
+ "outputs": [],
340
+ "source": [
341
+ "print(f\"Number of lake segments in training set: {df['mask_value'].sum()} - {len(df)} total segments\")\n",
342
+ "print(f\"Number of lake segments in training set: {balanced_df['mask_value'].sum()} - {len(balanced_df)} total segments\")\n",
343
+ "print(f\"Number of lake segments in validation set: {validation_df['mask_value'].sum()} - {len(validation_df)} total segments\")"
344
+ ]
345
+ },
346
+ {
347
+ "cell_type": "code",
348
+ "execution_count": null,
349
+ "id": "3972150d",
350
+ "metadata": {},
351
+ "outputs": [],
352
+ "source": [
353
+ "# show feature importance\n",
354
+ "rf_clf = clfs['RandomForest']\n",
355
+ "importances = rf_clf.feature_importances_\n",
356
+ "feature_names = X.columns\n",
357
+ "\n",
358
+ "# print 10 most important features\n",
359
+ "print(\"Feature Importances:\")\n",
360
+ "ordered_indices = np.argsort(importances)[::-1]\n",
361
+ "for idx in ordered_indices[:10]:\n",
362
+ " print(f\"{feature_names[idx]}: {importances[idx]:.4f}\")"
363
+ ]
364
+ },
365
+ {
366
+ "cell_type": "code",
367
+ "execution_count": null,
368
+ "id": "bf5afbee",
369
+ "metadata": {},
370
+ "outputs": [],
371
+ "source": [
372
+ "# image, mask = load_image(\"Zmutt\", \"20230720\", \"../dataset\", True)\n",
373
+ "image, mask = load_image(\"PleineMorte\", \"20230618\", \"../dataset\", True)\n",
374
+ "# features = predicted_segments\n",
375
+ "all_segments = quickshift(image[:, :, [8, 4, 12]], kernel_size=3, max_dist=6, ratio=0.5)\n",
376
+ "# all_segments = quickshift(image_superpixel, kernel_size=5, max_dist=50, ratio=0.5)\n",
377
+ "# print(all_segments.shape, test_image.shape)\n",
378
+ "\n",
379
+ "features = extract_segment_features(image, all_segments, mask)\n",
380
+ "features = features.fillna(0)\n",
381
+ "\n",
382
+ "rf_clf = clfs['GradientBoosting']\n",
383
+ "features_X = features[[col for col in features.columns if col not in ['segment_id', 'mask_value']]]\n",
384
+ "features_y_pred = rf_clf.predict(features_X)\n",
385
+ "features['predicted_mask_value'] = features_y_pred\n",
386
+ "\n",
387
+ "print(f\"Get number of lake segments in test image: {features['mask_value'].sum()} out of {len(features)} segments\")\n",
388
+ "\n",
389
+ "# pllot predicted segments\n",
390
+ "predicted_mask_segment = np.zeros((image.shape[0], image.shape[1]), dtype=np.int8)\n",
391
+ "for seg_id in np.unique(all_segments):\n",
392
+ " seg_mask = all_segments == seg_id\n",
393
+ " if seg_mask.sum() == 0:\n",
394
+ " continue\n",
395
+ " segment_row = features[features['segment_id'] == seg_id]\n",
396
+ " if segment_row.empty:\n",
397
+ " continue\n",
398
+ " predicted_mask_value = segment_row['predicted_mask_value'].values[0]\n",
399
+ " predicted_mask_segment[seg_mask] = predicted_mask_value\n",
400
+ "\n",
401
+ "empty_img = np.zeros((image.shape[0], image.shape[1]), dtype=np.int8)\n",
402
+ "plot_img = image[:, :, [4, 3, 2]] * 255\n",
403
+ "plot_img = plot_img.astype(np.uint8)\n",
404
+ "plot_img = plot_img * 0.7 + np.stack([predicted_mask_segment * 255, empty_img, empty_img], axis=-1) * 0.3\n",
405
+ "plot_img = plot_img.astype(np.uint8)\n",
406
+ "fig, ax = plt.subplots(1, 1, figsize=(10, 10))\n",
407
+ "ax.imshow(plot_img)\n",
408
+ "ax.set_title('Predicted Mask Segments')\n",
409
+ "ax.axis('off')\n",
410
+ "plt.tight_layout()\n",
411
+ "plt.show()"
412
+ ]
413
+ },
414
+ {
415
+ "cell_type": "markdown",
416
+ "id": "2af0989b",
417
+ "metadata": {},
418
+ "source": [
419
+ "0 vv \n",
420
+ "1 vh\n",
421
+ "2 b02\n",
422
+ "3 b03\n",
423
+ "4 b04\n",
424
+ "5 b05\n",
425
+ "6 b06\n",
426
+ "7 b07\n",
427
+ "8 b08\n",
428
+ "9 b08a\n",
429
+ "10 b11\n",
430
+ "11 b12\n",
431
+ "12 ndwi\n",
432
+ "13 ndsi\n",
433
+ "14 dem"
434
+ ]
435
+ }
436
+ ],
437
+ "metadata": {
438
+ "kernelspec": {
439
+ "display_name": ".venv",
440
+ "language": "python",
441
+ "name": "python3"
442
+ },
443
+ "language_info": {
444
+ "codemirror_mode": {
445
+ "name": "ipython",
446
+ "version": 3
447
+ },
448
+ "file_extension": ".py",
449
+ "mimetype": "text/x-python",
450
+ "name": "python",
451
+ "nbconvert_exporter": "python",
452
+ "pygments_lexer": "ipython3",
453
+ "version": "3.12.7"
454
+ }
455
+ },
456
+ "nbformat": 4,
457
+ "nbformat_minor": 5
458
+ }
code/lake_detection/superpixel_dataloader.ipynb ADDED
@@ -0,0 +1,349 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "id": "ae6d5585",
7
+ "metadata": {},
8
+ "outputs": [],
9
+ "source": [
10
+ "import os\n",
11
+ "import json\n",
12
+ "from matplotlib import pyplot as plt\n",
13
+ "import numpy as np\n",
14
+ "from sklearn.decomposition import PCA\n",
15
+ "from skimage.measure import regionprops_table\n",
16
+ "import os\n",
17
+ "import numpy as np\n",
18
+ "import rasterio\n",
19
+ "from skimage.segmentation import quickshift\n",
20
+ "import pandas as pd\n",
21
+ "import tqdm "
22
+ ]
23
+ },
24
+ {
25
+ "cell_type": "code",
26
+ "execution_count": null,
27
+ "id": "68a3d89e",
28
+ "metadata": {},
29
+ "outputs": [],
30
+ "source": [
31
+ "def normalize_band(img, mean, std):\n",
32
+ " \"\"\"Min-max normalization using mean ± 2sigma .\"\"\"\n",
33
+ " min_v = mean - 2 * std\n",
34
+ " max_v = mean + 2 * std\n",
35
+ " img = (img - min_v) / (max_v - min_v + 1e-6)\n",
36
+ " return np.clip(img, 0, 1).astype(np.float32)\n",
37
+ "\n",
38
+ "band_stats_file = \"band_stats.json\"\n",
39
+ "\n",
40
+ "if os.path.exists(band_stats_file):\n",
41
+ " with open(band_stats_file, \"r\") as f:\n",
42
+ " band_stats = json.load(f)\n",
43
+ "\n",
44
+ "def nomralize_image(s1, s2, dem, band_stats):\n",
45
+ " \"\"\"Normalize each band of the image using precomputed statistics.\"\"\"\n",
46
+ " normalized_bands = []\n",
47
+ " for i in range(s1.shape[2]):\n",
48
+ " band_mean = band_stats['S1']['mean'][i]\n",
49
+ " band_std = band_stats['S1']['std'][i]\n",
50
+ " normalized_band = normalize_band(s1[:, :, i], band_mean, band_std)\n",
51
+ " normalized_bands.append(normalized_band)\n",
52
+ "\n",
53
+ " for i in range(s2.shape[2]):\n",
54
+ " band_mean = band_stats['S2']['mean'][i]\n",
55
+ " band_std = band_stats['S2']['std'][i]\n",
56
+ " normalized_band = normalize_band(s2[:, :, i], band_mean, band_std)\n",
57
+ " normalized_bands.append(normalized_band)\n",
58
+ "\n",
59
+ " for i in range(dem.shape[2]):\n",
60
+ " band_mean = band_stats['DEM']['mean'][i]\n",
61
+ " band_std = band_stats['DEM']['std'][i]\n",
62
+ " normalized_band = normalize_band(dem[:, :, i], band_mean, band_std)\n",
63
+ " normalized_bands.append(normalized_band)\n",
64
+ "\n",
65
+ " return np.stack(normalized_bands, axis=-1)\n",
66
+ "\n",
67
+ "\n",
68
+ "def load_image(location, date, folder):\n",
69
+ " s1 = f\"{folder}/{location}/{date}_{location}_s1.tif\"\n",
70
+ " s2 = f\"{folder}/{location}/{date}_{location}_s2.tif\"\n",
71
+ " dem = f\"{folder}/{location}/{location}_dem.tif\"\n",
72
+ " \n",
73
+ " if not os.path.exists(s1):\n",
74
+ " print(f\"The file {s1} does not exist.\")\n",
75
+ " return None\n",
76
+ " if not os.path.exists(s2):\n",
77
+ " print(f\"The file {s2} does not exist.\")\n",
78
+ " return None\n",
79
+ " if not os.path.exists(dem):\n",
80
+ " print(f\"The file {dem} does not exist.\")\n",
81
+ " return None\n",
82
+ " \n",
83
+ " s1 = rasterio.open(s1).read()\n",
84
+ " s1 = np.moveaxis(s1, 0, -1)\n",
85
+ " s2 = rasterio.open(s2).read()\n",
86
+ " s2 = np.moveaxis(s2, 0, -1)\n",
87
+ " dem = rasterio.open(dem).read()\n",
88
+ " dem = np.moveaxis(dem, 0, -1)\n",
89
+ "\n",
90
+ " bands = []\n",
91
+ " for i in range(s1.shape[2]):\n",
92
+ " bands.append(s1[:, :, i])\n",
93
+ " for i in range(s2.shape[2]):\n",
94
+ " bands.append(s2[:, :, i])\n",
95
+ " for i in range(dem.shape[2]):\n",
96
+ " bands.append(dem[:, :, i])\n",
97
+ "\n",
98
+ " normalized_image = nomralize_image(s1, s2, dem, band_stats)\n",
99
+ "\n",
100
+ " # normalized_image = np.stack(bands, axis=-1)\n",
101
+ " return normalized_image"
102
+ ]
103
+ },
104
+ {
105
+ "cell_type": "code",
106
+ "execution_count": null,
107
+ "id": "647d0096",
108
+ "metadata": {},
109
+ "outputs": [],
110
+ "source": [
111
+ "\n",
112
+ "image = load_image(\"Aletsch\", \"20230618\", \"../dataset\")\n",
113
+ "# image = load_image(\"Allalin\", \"20230720\", \"../dataset\")\n",
114
+ "# image = load_image(\"Zmutt\", \"20230720\", \"../dataset\")\n",
115
+ "image = load_image(\"Saas-Tal\", \"20231016\", \"../dataset\")\n",
116
+ "fig, ax = plt.subplots(1, 1, figsize=(10, 10))\n",
117
+ "ax.imshow(image[:, :, [8, 4, 12]])\n",
118
+ "ax.set_title('Superpixel Boundaries on Original Image')\n",
119
+ "ax.axis('off')\n",
120
+ "plt.tight_layout()\n",
121
+ "plt.show()\n"
122
+ ]
123
+ },
124
+ {
125
+ "cell_type": "code",
126
+ "execution_count": null,
127
+ "id": "34be574b",
128
+ "metadata": {},
129
+ "outputs": [],
130
+ "source": [
131
+ "\n",
132
+ "# remove nan values\n",
133
+ "image = np.nan_to_num(image)\n",
134
+ "\n",
135
+ "H, W, B = image.shape \n",
136
+ "X = image.reshape(-1, B).astype(np.float32)\n",
137
+ "\n",
138
+ "pca = PCA(n_components=3, svd_solver='randomized', whiten=False)\n",
139
+ "X_pca = pca.fit_transform(X)\n",
140
+ "image_pca = X_pca.reshape(H, W, 3)\n",
141
+ "\n",
142
+ "\n",
143
+ "def normalize(img):\n",
144
+ " img_min = img.min(axis=(0,1), keepdims=True)\n",
145
+ " img_max = img.max(axis=(0,1), keepdims=True)\n",
146
+ " return (img - img_min) / (img_max - img_min + 1e-8)\n",
147
+ "\n",
148
+ "image_pca_norm = normalize(image_pca)\n",
149
+ "\n",
150
+ "fig, ax = plt.subplots(1, 1, figsize=(10, 10))\n",
151
+ "ax.imshow(image_pca_norm)\n",
152
+ "ax.set_title('Superpixel Boundaries on PCA Image')\n",
153
+ "ax.axis('off')\n",
154
+ "plt.tight_layout()\n",
155
+ "plt.show()"
156
+ ]
157
+ },
158
+ {
159
+ "cell_type": "code",
160
+ "execution_count": null,
161
+ "id": "34deeb23",
162
+ "metadata": {},
163
+ "outputs": [],
164
+ "source": [
165
+ "print(\"Explained variance ratio:\", pca.explained_variance_ratio_)\n",
166
+ "print(\"Total variance retained:\", pca.explained_variance_ratio_.sum())"
167
+ ]
168
+ },
169
+ {
170
+ "cell_type": "code",
171
+ "execution_count": null,
172
+ "id": "47e1d4a8",
173
+ "metadata": {},
174
+ "outputs": [],
175
+ "source": [
176
+ "def compute_pca(image, n_components=3):\n",
177
+ " H, W, B = image.shape \n",
178
+ " X = image.reshape(-1, B).astype(np.float32)\n",
179
+ "\n",
180
+ " pca = PCA(n_components=n_components, svd_solver='randomized', whiten=False)\n",
181
+ " X_pca = pca.fit_transform(X)\n",
182
+ " image_pca = X_pca.reshape(H, W, n_components)\n",
183
+ " \n",
184
+ " return image_pca"
185
+ ]
186
+ },
187
+ {
188
+ "cell_type": "code",
189
+ "execution_count": null,
190
+ "id": "92fa64b6",
191
+ "metadata": {},
192
+ "outputs": [],
193
+ "source": [
194
+ "chanels = [\n",
195
+ " image[:, :, [4,3,2]],\n",
196
+ " image[:, :, [8, 4, 12]],\n",
197
+ " compute_pca(image, n_components=3)\n",
198
+ "]\n"
199
+ ]
200
+ },
201
+ {
202
+ "cell_type": "code",
203
+ "execution_count": null,
204
+ "id": "670feb88",
205
+ "metadata": {},
206
+ "outputs": [],
207
+ "source": [
208
+ "\n",
209
+ "def extract_segment_features(image_s2, segments, mask):\n",
210
+ " num_bands = image_s2.shape[2]\n",
211
+ " rows = []\n",
212
+ "\n",
213
+ " props_table = regionprops_table(\n",
214
+ " segments,\n",
215
+ " properties=('label', 'perimeter', 'eccentricity', 'solidity')\n",
216
+ " )\n",
217
+ " props_df = pd.DataFrame(props_table).set_index('label')\n",
218
+ "\n",
219
+ " for segment_id in np.unique(segments):\n",
220
+ " segment_mask = segments == segment_id\n",
221
+ "\n",
222
+ " # Skip empty segments defensively\n",
223
+ " if not np.any(segment_mask):\n",
224
+ " continue\n",
225
+ "\n",
226
+ " segment_data = {'segment_id': segment_id}\n",
227
+ "\n",
228
+ " # ---- Spectral features ----\n",
229
+ " for band in range(num_bands):\n",
230
+ " band_data = image_s2[:, :, band][segment_mask]\n",
231
+ "\n",
232
+ " if band_data.size == 0:\n",
233
+ " continue\n",
234
+ "\n",
235
+ " segment_data[f'b{band+1}_mean'] = band_data.mean()\n",
236
+ " segment_data[f'b{band+1}_median'] = np.median(band_data)\n",
237
+ " segment_data[f'b{band+1}_std'] = band_data.std()\n",
238
+ " segment_data[f'b{band+1}_min'] = band_data.min()\n",
239
+ " segment_data[f'b{band+1}_max'] = band_data.max()\n",
240
+ "\n",
241
+ " s = pd.Series(band_data)\n",
242
+ " segment_data[f'b{band+1}_skew'] = s.skew()\n",
243
+ " segment_data[f'b{band+1}_kurtosis'] = s.kurtosis()\n",
244
+ "\n",
245
+ " segment_data[f'b{band+1}_energy'] = np.mean(band_data ** 2)\n",
246
+ "\n",
247
+ " hist, _ = np.histogram(band_data, bins=256, range=(0, 1), density=True)\n",
248
+ " hist = hist[hist > 0]\n",
249
+ " segment_data[f'b{band+1}_entropy'] = -np.sum(hist * np.log2(hist)) if hist.size else 0.0\n",
250
+ "\n",
251
+ " # ---- Shape features (once per segment) ----\n",
252
+ " if segment_id in props_df.index:\n",
253
+ " row = props_df.loc[segment_id]\n",
254
+ " segment_data['perimeter'] = row.perimeter\n",
255
+ " segment_data['eccentricity'] = row.eccentricity\n",
256
+ " segment_data['solidity'] = row.solidity\n",
257
+ " else:\n",
258
+ " segment_data['perimeter'] = 0.0\n",
259
+ " segment_data['eccentricity'] = 0.0\n",
260
+ " segment_data['solidity'] = 0.0\n",
261
+ "\n",
262
+ " # ---- Mask label ----\n",
263
+ " mask_data = mask[segment_mask]\n",
264
+ " if mask_data.size > 0:\n",
265
+ " majority = np.bincount(mask_data).argmax()\n",
266
+ " segment_data['mask_value'] = 0 if majority == 0 else 1\n",
267
+ " else:\n",
268
+ " segment_data['mask_value'] = 0\n",
269
+ "\n",
270
+ " rows.append(segment_data)\n",
271
+ "\n",
272
+ " return pd.DataFrame(rows)\n"
273
+ ]
274
+ },
275
+ {
276
+ "cell_type": "code",
277
+ "execution_count": null,
278
+ "id": "75f7c343",
279
+ "metadata": {},
280
+ "outputs": [],
281
+ "source": [
282
+ "\n",
283
+ "train_locs = [\"Aletsch\", \"Rhone\", \"Gorner\", \"Allalin\", \"Anzere\", \"Diablerets\", \"Gorbassiere\", \"Moiry\", \"Saas-Tal\"]\n",
284
+ "val_locs = [\"PleineMorte\", \"Zmutt\"]\n",
285
+ "\n",
286
+ "def create_dataset(locations, folder=\"\"):\n",
287
+ " df = pd.DataFrame()\n",
288
+ "\n",
289
+ " for location in locations:\n",
290
+ " dates = os.listdir(f\"{folder}/{location}/\")\n",
291
+ " dates = [date.split(\"_\")[0] for date in dates if date.endswith(\"_lake_mask.tif\")]\n",
292
+ " print(f\"Processing location: {location}\")\n",
293
+ " for date in tqdm.tqdm(dates): \n",
294
+ " mask_pth = f\"{folder}/{location}/{date}_{location}_lake_mask.tif\"\n",
295
+ " image = load_image(location, date, folder)\n",
296
+ " \n",
297
+ " image = np.nan_to_num(image)\n",
298
+ " image_superpixel = image[:, :, [8, 4, 12]]\n",
299
+ " mask = rasterio.open(mask_pth).read(1)\n",
300
+ " mask = mask > 1\n",
301
+ " mask = mask.astype(np.uint8) \n",
302
+ " segements = quickshift(image_superpixel, kernel_size=3, max_dist=6, ratio=0.5)\n",
303
+ " print(f\"Number of segments: {len(np.unique(segements))}\")\n",
304
+ " df_location_date = extract_segment_features(image, segements, mask)\n",
305
+ " df_location_date['location'] = location\n",
306
+ " df_location_date['date'] = date\n",
307
+ " df = pd.concat([df, df_location_date], ignore_index=True)\n",
308
+ " print(f\"Number of lakes in {location} on {date}: {df_location_date['mask_value'].sum()}\")\n",
309
+ " return df\n",
310
+ "\n",
311
+ "df = create_dataset(train_locs, folder=\"../dataset/\")\n",
312
+ "validation_df = create_dataset(val_locs, folder=\"../dataset/\")"
313
+ ]
314
+ },
315
+ {
316
+ "cell_type": "code",
317
+ "execution_count": null,
318
+ "id": "17970e63",
319
+ "metadata": {},
320
+ "outputs": [],
321
+ "source": [
322
+ "# save the dataframes\n",
323
+ "df.to_csv(\"train_segments_features.csv\", index=False)\n",
324
+ "validation_df.to_csv(\"validation_segments_features.csv\", index=False)"
325
+ ]
326
+ }
327
+ ],
328
+ "metadata": {
329
+ "kernelspec": {
330
+ "display_name": ".venv",
331
+ "language": "python",
332
+ "name": "python3"
333
+ },
334
+ "language_info": {
335
+ "codemirror_mode": {
336
+ "name": "ipython",
337
+ "version": 3
338
+ },
339
+ "file_extension": ".py",
340
+ "mimetype": "text/x-python",
341
+ "name": "python",
342
+ "nbconvert_exporter": "python",
343
+ "pygments_lexer": "ipython3",
344
+ "version": "3.12.7"
345
+ }
346
+ },
347
+ "nbformat": 4,
348
+ "nbformat_minor": 5
349
+ }
code/lake_detection/superpixel_rlhf.ipynb ADDED
The diff for this file is too large to render. See raw diff
 
code/lake_detection/train_segments_features.csv ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:11433f2d585317745d61da45ae9f59de362fda46ab7273ce617efb4fffe4a8f4
3
+ size 1764146303
code/lake_detection/validation_segments_features.csv ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1e274bee15ccdb4c64df5023275a48185bbb82299dedf51b313a9c8f06bf43b3
3
+ size 67516356
code/lake_detection_deep_learning/band_stats.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"S1": {"mean": [-10.275007355103828, -19.10187808404981], "std": [8.077864757293627, 7.844485108696792]}, "S2": {"mean": [5203.776225113677, 5177.932304360476, 5094.146809105275, 5347.402283155328, 5348.477004072858, 5270.95105022702, 5153.108935614604, 5121.852479570022, 2418.92716783689, 2097.1146048929945, -0.06470172436416462, 0.2634266785421579], "std": [3657.3655615311823, 3431.3825227867237, 3364.7190966576554, 3358.4156132414055, 2986.983152871217, 2827.1899896570476, 2766.966383714519, 2677.4497688979413, 1686.293892684087, 1496.7516589009574, 0.22958618236701017, 0.46373559025376304]}, "DEM": {"mean": [2783.627744911285], "std": [679.0806803913562]}, "Hillshade": {"mean": [139.7336736969706], "std": [78.18240595643589]}, "Cloudmask": {"mean": [0.45783994476789935], "std": [0.4982193590606714]}}
code/lake_detection_deep_learning/model_anaysis_comp.ipynb ADDED
The diff for this file is too large to render. See raw diff
 
code/lake_detection_deep_learning/model_visulalisation.ipynb ADDED
The diff for this file is too large to render. See raw diff
 
code/lake_detection_deep_learning/models/deeplabv3/0/deeplabv3_mae_models/epoch_best.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:546ffea0da8ea0ef376aa13d98ba3e5cabda38711294735a04045e5881f5feb7
3
+ size 159355614
code/lake_detection_deep_learning/models/deeplabv3/0/deeplabv3_mae_models/training_log.csv ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ epoch,loss,model_size,train_l1,train_l2,val_loss,val_l1,val_l2
2
+ 1,0.0930,39.76M,0.1708,0.0930,0.0293,0.1179,0.0289
3
+ 2,0.0194,39.76M,0.1022,0.0194,0.0107,0.0792,0.0107
4
+ 3,0.0163,39.76M,0.0923,0.0163,0.0087,0.0660,0.0087
5
+ 4,0.0130,39.76M,0.0802,0.0130,0.0135,0.0895,0.0134
6
+ 5,0.0103,39.76M,0.0711,0.0103,0.0074,0.0626,0.0074
7
+ 6,0.0101,39.76M,0.0706,0.0101,0.0073,0.0610,0.0073
8
+ 7,0.0104,39.76M,0.0716,0.0104,0.0072,0.0600,0.0073
9
+ 8,0.0114,39.76M,0.0764,0.0114,0.0062,0.0555,0.0062
10
+ 9,0.0109,39.76M,0.0740,0.0109,0.0075,0.0614,0.0075
11
+ 10,0.0096,39.76M,0.0694,0.0096,0.0056,0.0518,0.0056
12
+ 11,0.0084,39.76M,0.0651,0.0084,0.0052,0.0490,0.0052
13
+ 12,0.0093,39.76M,0.0686,0.0093,0.0065,0.0568,0.0065
14
+ 13,0.0088,39.76M,0.0660,0.0088,0.0056,0.0536,0.0056
15
+ 14,0.0065,39.76M,0.0555,0.0065,0.0070,0.0614,0.0070
16
+ 15,0.0070,39.76M,0.0573,0.0070,0.0059,0.0524,0.0059
17
+ 16,0.0064,39.76M,0.0552,0.0064,0.0046,0.0456,0.0046
18
+ 17,0.0070,39.76M,0.0575,0.0070,0.0046,0.0446,0.0047
19
+ 18,0.0062,39.76M,0.0546,0.0062,0.0050,0.0502,0.0050
20
+ 19,0.0067,39.76M,0.0567,0.0067,0.0046,0.0444,0.0046
21
+ 20,0.0064,39.76M,0.0539,0.0064,0.0044,0.0435,0.0044
22
+ 21,0.0051,39.76M,0.0485,0.0051,0.0048,0.0445,0.0049
23
+ 22,0.0062,39.76M,0.0525,0.0062,0.0091,0.0693,0.0091
24
+ 23,0.0071,39.76M,0.0561,0.0071,0.0045,0.0446,0.0045
25
+ 24,0.0053,39.76M,0.0480,0.0053,0.0041,0.0413,0.0041
26
+ 25,0.0048,39.76M,0.0465,0.0048,0.0048,0.0496,0.0047
27
+ 26,0.0049,39.76M,0.0469,0.0049,0.0042,0.0408,0.0041
28
+ 27,0.0052,39.76M,0.0483,0.0052,0.0067,0.0562,0.0066
29
+ 28,0.0052,39.76M,0.0479,0.0052,0.0046,0.0427,0.0046
30
+ 29,0.0096,39.76M,0.0679,0.0096,0.0074,0.0601,0.0074
31
+ 30,0.0063,39.76M,0.0541,0.0063,0.0050,0.0433,0.0049
code/lake_detection_deep_learning/models/deeplabv3/0/deeplabv3_mae_models/training_time_log.csv ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ Total training time (ms) for mae,632543.0625
2
+ Average inference time (ms) for mae,30.723791885375977
code/lake_detection_deep_learning/models/deeplabv3/0/deeplabv3_seg_models/training_log.csv ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ epoch,loss,model_size,train_iou,train_dice,train_accuracy,train_precision,train_recall,val_loss,val_iou,val_dice,val_accuracy,val_precision,val_recall
2
+ 1,0.9957,39.76M,0.0282,0.0423,0.9856,0.2251,0.1822,0.9961,0.0000,0.0000,0.9969,0.5000,0.0000
3
+ 2,0.8532,39.76M,0.1278,0.1721,0.9905,0.3873,0.4921,0.9667,0.0000,0.0000,0.9979,1.0000,0.0000
4
+ 3,0.6691,39.76M,0.1803,0.2348,0.9957,0.6237,0.4547,1.0177,0.0000,0.0000,0.9965,0.5000,0.0000
5
+ 4,0.5959,39.76M,0.1948,0.2488,0.9960,0.6569,0.4690,1.0011,0.0000,0.0000,0.9978,0.7500,0.0000
6
+ 5,0.4623,39.76M,0.2722,0.3455,0.9970,0.7045,0.5850,1.0089,0.0000,0.0000,0.9974,0.0000,0.0000
7
+ 6,0.4075,39.76M,0.3031,0.3805,0.9968,0.7102,0.6638,0.6652,0.1330,0.1898,0.9974,0.5291,0.5193
8
+ 7,0.3693,39.76M,0.3121,0.3926,0.9974,0.7404,0.6694,0.8706,0.0241,0.0397,0.9980,0.9173,0.0446
9
+ 8,0.3427,39.76M,0.3453,0.4273,0.9977,0.7535,0.6823,0.9946,0.0007,0.0013,0.9979,1.0000,0.0010
10
+ 9,0.3288,39.76M,0.3642,0.4519,0.9978,0.7555,0.6782,0.9973,0.0078,0.0125,0.9979,0.7500,0.0032
11
+ 10,0.2999,39.76M,0.3935,0.4841,0.9979,0.7741,0.7165,0.9526,0.0072,0.0123,0.9979,0.5000,0.0048
12
+ 11,0.3162,39.76M,0.3768,0.4646,0.9978,0.7467,0.7111,1.0071,0.0016,0.0030,0.9979,1.0000,0.0006
13
+ 12,0.2956,39.76M,0.4000,0.4922,0.9980,0.7781,0.7158,0.6634,0.1246,0.1802,0.9979,0.5776,0.2985
14
+ 13,0.2900,39.76M,0.4158,0.5078,0.9981,0.7816,0.7095,0.9969,0.0039,0.0069,0.9979,1.0000,0.0016
15
+ 14,0.2851,39.76M,0.4095,0.4969,0.9981,0.7934,0.7282,0.9224,0.0178,0.0276,0.9979,0.9662,0.0299
16
+ 15,0.3180,39.76M,0.3734,0.4583,0.9978,0.7766,0.6950,0.9908,0.0011,0.0021,0.9979,1.0000,0.0044
17
+ 16,0.2649,39.76M,0.4220,0.5180,0.9981,0.7844,0.7494,0.5793,0.1507,0.2080,0.9982,0.7126,0.3412
18
+ 17,0.2389,39.76M,0.4439,0.5368,0.9983,0.8175,0.7590,0.7310,0.1117,0.1651,0.9981,0.8420,0.1680
19
+ 18,0.2671,39.76M,0.4293,0.5196,0.9982,0.7915,0.7322,0.7777,0.0623,0.0880,0.9981,0.8093,0.1167
20
+ 19,0.2268,39.76M,0.4410,0.5308,0.9984,0.8325,0.7654,0.8747,0.0614,0.0928,0.9980,0.9610,0.0603
21
+ 20,0.2516,39.76M,0.4393,0.5311,0.9982,0.7929,0.7523,0.9663,0.0088,0.0162,0.9979,1.0000,0.0060
22
+ 21,0.2887,39.76M,0.4094,0.4991,0.9981,0.8169,0.7004,0.9469,0.0491,0.0789,0.9979,0.9426,0.0238
23
+ 22,0.2440,39.76M,0.4509,0.5461,0.9982,0.8065,0.7596,0.8190,0.0865,0.1295,0.9981,0.9706,0.0924
24
+ 23,0.2641,39.76M,0.4557,0.5504,0.9982,0.8073,0.7421,0.9832,0.0550,0.0825,0.9979,1.0000,0.0118
25
+ 24,0.2712,39.76M,0.4435,0.5380,0.9982,0.8142,0.7172,0.9478,0.0677,0.1011,0.9979,0.9206,0.0189
26
+ 25,0.2721,39.76M,0.4476,0.5446,0.9982,0.7860,0.7426,0.8115,0.0643,0.0916,0.9981,0.9660,0.0909
27
+ 26,0.2279,39.76M,0.4718,0.5672,0.9984,0.8246,0.7774,0.5698,0.2900,0.3768,0.9983,0.7093,0.3454
28
+ 27,0.2380,39.76M,0.4742,0.5670,0.9984,0.8094,0.7615,0.8595,0.0706,0.1055,0.9980,0.9503,0.0679
29
+ 28,0.2462,39.76M,0.4687,0.5650,0.9983,0.7917,0.7660,0.8723,0.0789,0.1238,0.9980,0.9908,0.0585
30
+ 29,0.2412,39.76M,0.4517,0.5436,0.9982,0.8160,0.7509,0.7769,0.1720,0.2382,0.9980,0.6012,0.1566
31
+ 30,0.2822,39.76M,0.4368,0.5318,0.9980,0.7919,0.7281,0.9388,0.0466,0.0759,0.9980,0.9556,0.0342
code/lake_detection_deep_learning/models/deeplabv3/0/deeplabv3_seg_models/training_time_log.csv ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ Total training time (ms) for segmentation,453143.1875
2
+ Average inference time (ms) for segmentation,16.075020599365235
code/lake_detection_deep_learning/models/deeplabv3/1/deeplabv3_mae_models/epoch_best.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:dcd8f5fe0c93ec76a9c94b6f7e764fd807fde9179d818a7cf793cb08327ecb33
3
+ size 159396318
code/lake_detection_deep_learning/models/deeplabv3/1/deeplabv3_mae_models/training_log.csv ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ epoch,loss,model_size,train_l1,train_l2,val_loss,val_l1,val_l2
2
+ 1,0.1048,39.77M,0.1979,0.1048,0.0365,0.1479,0.0366
3
+ 2,0.0259,39.77M,0.1170,0.0259,0.0225,0.1090,0.0226
4
+ 3,0.0216,39.77M,0.1056,0.0216,0.0189,0.0974,0.0189
5
+ 4,0.0207,39.77M,0.1026,0.0207,0.0221,0.1020,0.0222
6
+ 5,0.0198,39.77M,0.1010,0.0198,0.0206,0.1018,0.0206
7
+ 6,0.0182,39.77M,0.0952,0.0182,0.0209,0.1023,0.0211
8
+ 7,0.0187,39.77M,0.0975,0.0187,0.0184,0.0982,0.0184
9
+ 8,0.0161,39.77M,0.0898,0.0161,0.0148,0.0863,0.0147
10
+ 9,0.0143,39.77M,0.0840,0.0143,0.0130,0.0811,0.0130
11
+ 10,0.0148,39.77M,0.0861,0.0148,0.0123,0.0786,0.0123
12
+ 11,0.0132,39.77M,0.0811,0.0132,0.0116,0.0756,0.0116
13
+ 12,0.0127,39.77M,0.0791,0.0127,0.0139,0.0877,0.0138
14
+ 13,0.0119,39.77M,0.0759,0.0119,0.0170,0.1036,0.0170
15
+ 14,0.0110,39.77M,0.0718,0.0110,0.0143,0.0831,0.0143
16
+ 15,0.0109,39.77M,0.0717,0.0109,0.0096,0.0670,0.0096
17
+ 16,0.0115,39.77M,0.0743,0.0115,0.0105,0.0716,0.0105
18
+ 17,0.0111,39.77M,0.0732,0.0111,0.0114,0.0759,0.0115
19
+ 18,0.0116,39.77M,0.0744,0.0116,0.0128,0.0783,0.0127
20
+ 19,0.0126,39.77M,0.0778,0.0126,0.0116,0.0722,0.0117
21
+ 20,0.0114,39.77M,0.0741,0.0114,0.0114,0.0775,0.0114
22
+ 21,0.0102,39.77M,0.0689,0.0102,0.0085,0.0591,0.0085
23
+ 22,0.0102,39.77M,0.0695,0.0102,0.0097,0.0669,0.0096
24
+ 23,0.0105,39.77M,0.0697,0.0105,0.0096,0.0677,0.0096
25
+ 24,0.0099,39.77M,0.0677,0.0099,0.0088,0.0620,0.0088
26
+ 25,0.0099,39.77M,0.0675,0.0099,0.0085,0.0597,0.0084
27
+ 26,0.0092,39.77M,0.0632,0.0092,0.0087,0.0615,0.0087
28
+ 27,0.0095,39.77M,0.0647,0.0095,0.0141,0.0873,0.0141
29
+ 28,0.0099,39.77M,0.0675,0.0099,0.0095,0.0674,0.0096
30
+ 29,0.0095,39.77M,0.0656,0.0095,0.0104,0.0723,0.0105
31
+ 30,0.0101,39.77M,0.0681,0.0101,0.0123,0.0811,0.0124
code/lake_detection_deep_learning/models/deeplabv3/1/deeplabv3_mae_models/training_time_log.csv ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ Total training time (ms) for mae,958369.1875
2
+ Average inference time (ms) for mae,33.81919965744019
code/lake_detection_deep_learning/models/deeplabv3/1/deeplabv3_seg_models/epoch_best.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a27e1f07d2e00aa8e7c5361543ed1982469c320e716b84879b288cedd7cdaa6a
3
+ size 159390174
code/lake_detection_deep_learning/models/deeplabv3/1/deeplabv3_seg_models/training_log.csv ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ epoch,loss,model_size,train_iou,train_dice,train_accuracy,train_precision,train_recall,val_loss,val_iou,val_dice,val_accuracy,val_precision,val_recall
2
+ 1,1.0063,39.77M,0.0260,0.0403,0.9454,0.1321,0.1915,1.0188,0.0000,0.0000,0.9629,0.0000,0.0000
3
+ 2,0.9203,39.77M,0.1047,0.1423,0.9903,0.3363,0.4120,0.9835,0.0885,0.1341,0.9953,0.1389,0.2410
4
+ 3,0.6990,39.77M,0.1537,0.2006,0.9956,0.6513,0.4590,1.0072,0.0000,0.0000,0.9979,0.5000,0.0000
5
+ 4,0.5370,39.77M,0.1880,0.2384,0.9966,0.7331,0.4817,0.9484,0.0139,0.0227,0.9978,0.6851,0.0264
6
+ 5,0.5064,39.77M,0.2269,0.2837,0.9968,0.6344,0.5377,1.0015,0.0000,0.0000,0.9978,0.5000,0.0000
7
+ 6,0.4668,39.77M,0.2242,0.2780,0.9970,0.6938,0.5332,0.9892,0.0031,0.0060,0.9973,0.2654,0.0065
8
+ 7,0.4505,39.77M,0.2515,0.3129,0.9970,0.6674,0.5770,0.9688,0.0080,0.0147,0.9971,0.3584,0.0176
9
+ 8,0.4393,39.77M,0.2550,0.3177,0.9973,0.7251,0.5625,0.9255,0.0358,0.0543,0.9963,0.2972,0.0754
10
+ 9,0.4543,39.77M,0.2480,0.3075,0.9971,0.6818,0.5534,0.9245,0.0162,0.0257,0.9977,0.4081,0.0270
11
+ 10,0.3991,39.77M,0.2834,0.3476,0.9974,0.7204,0.6134,0.7978,0.1518,0.2141,0.9946,0.2714,0.4032
12
+ 11,0.3529,39.77M,0.2922,0.3587,0.9977,0.7541,0.6357,0.8673,0.0522,0.0731,0.9969,0.4434,0.1025
13
+ 12,0.4053,39.77M,0.2944,0.3618,0.9974,0.6962,0.5930,0.7722,0.1500,0.2122,0.9945,0.3511,0.4331
14
+ 13,0.3512,39.77M,0.3010,0.3692,0.9977,0.7712,0.6251,0.8369,0.0523,0.0814,0.9980,0.7306,0.1158
15
+ 14,0.3687,39.77M,0.3015,0.3733,0.9976,0.7257,0.6327,0.6542,0.1428,0.1951,0.9974,0.5018,0.4109
16
+ 15,0.3719,39.77M,0.3091,0.3838,0.9972,0.7188,0.6510,0.7749,0.1001,0.1390,0.9964,0.3913,0.2999
17
+ 16,0.3504,39.77M,0.3263,0.4016,0.9977,0.7412,0.6485,0.7917,0.0839,0.1128,0.9976,0.4541,0.1650
18
+ 17,0.3245,39.77M,0.3465,0.4223,0.9978,0.7493,0.6769,0.6961,0.1103,0.1548,0.9978,0.5745,0.2655
19
+ 18,0.3282,39.77M,0.3465,0.4246,0.9979,0.7669,0.6676,0.6370,0.1324,0.1845,0.9971,0.4566,0.4976
20
+ 19,0.3426,39.77M,0.3233,0.3970,0.9977,0.7583,0.6714,0.6617,0.1482,0.2044,0.9971,0.4210,0.3996
21
+ 20,0.3006,39.77M,0.3796,0.4607,0.9979,0.7563,0.7073,0.7973,0.0797,0.1149,0.9976,0.5464,0.1526
22
+ 21,0.3151,39.77M,0.3585,0.4344,0.9978,0.7739,0.6749,0.6339,0.1339,0.1809,0.9980,0.6424,0.3078
23
+ 22,0.3074,39.77M,0.3518,0.4269,0.9979,0.7825,0.6841,0.7132,0.1533,0.2201,0.9952,0.3123,0.5320
24
+ 23,0.3091,39.77M,0.3516,0.4297,0.9979,0.7718,0.6879,0.7529,0.1196,0.1648,0.9936,0.3363,0.4369
25
+ 24,0.2999,39.77M,0.3536,0.4302,0.9978,0.7737,0.6970,0.7280,0.1235,0.1743,0.9967,0.4304,0.3416
26
+ 25,0.2816,39.77M,0.3742,0.4546,0.9980,0.8054,0.7002,0.6331,0.1355,0.1943,0.9979,0.6558,0.3797
27
+ 26,0.2866,39.77M,0.3753,0.4528,0.9980,0.7748,0.7217,0.6960,0.1518,0.2144,0.9967,0.5142,0.4229
28
+ 27,0.2805,39.77M,0.3911,0.4720,0.9982,0.7857,0.7129,0.6151,0.1350,0.1784,0.9982,0.7272,0.3081
29
+ 28,0.2779,39.77M,0.3952,0.4767,0.9981,0.7969,0.7109,0.6651,0.1386,0.1861,0.9974,0.4863,0.3399
30
+ 29,0.2549,39.77M,0.4047,0.4872,0.9982,0.7911,0.7503,0.6461,0.1321,0.1835,0.9981,0.6467,0.2890
31
+ 30,0.2639,39.77M,0.4033,0.4842,0.9982,0.8018,0.7236,0.7351,0.1025,0.1391,0.9979,0.6148,0.2083
code/lake_detection_deep_learning/models/deeplabv3/1/deeplabv3_seg_models/training_time_log.csv ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ Total training time (ms) for segmentation,651234.4375
2
+ Average inference time (ms) for segmentation,22.4023681640625
code/lake_detection_deep_learning/models/deeplabv3/2/deeplabv3_mae_models/epoch_best.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b67274116dd62c07498cdc2a16ff9b9adff8341e6ade0df565e4737cd0ed615f
3
+ size 159491294
code/lake_detection_deep_learning/models/deeplabv3/2/deeplabv3_mae_models/training_log.csv ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ epoch,loss,model_size,train_l1,train_l2,val_loss,val_l1,val_l2
2
+ 1,0.0724,39.79M,0.1860,0.0724,0.0376,0.1551,0.0372
3
+ 2,0.0255,39.79M,0.1200,0.0255,0.0304,0.1341,0.0303
4
+ 3,0.0235,39.79M,0.1141,0.0235,0.0283,0.1292,0.0282
5
+ 4,0.0192,39.79M,0.1024,0.0192,0.0201,0.0989,0.0199
6
+ 5,0.0170,39.79M,0.0964,0.0170,0.0169,0.0993,0.0168
7
+ 6,0.0146,39.79M,0.0881,0.0146,0.0128,0.0817,0.0127
8
+ 7,0.0137,39.79M,0.0863,0.0137,0.0129,0.0784,0.0128
9
+ 8,0.0124,39.79M,0.0818,0.0124,0.0100,0.0695,0.0099
10
+ 9,0.0112,39.79M,0.0769,0.0112,0.0119,0.0788,0.0119
11
+ 10,0.0109,39.79M,0.0766,0.0109,0.0098,0.0703,0.0099
12
+ 11,0.0099,39.79M,0.0719,0.0099,0.0092,0.0661,0.0091
13
+ 12,0.0088,39.79M,0.0673,0.0088,0.0073,0.0605,0.0073
14
+ 13,0.0093,39.79M,0.0697,0.0093,0.0086,0.0636,0.0085
15
+ 14,0.0085,39.79M,0.0650,0.0085,0.0083,0.0629,0.0083
16
+ 15,0.0088,39.79M,0.0667,0.0088,0.0079,0.0619,0.0079
17
+ 16,0.0082,39.79M,0.0642,0.0082,0.0201,0.0800,0.0210
18
+ 17,0.0089,39.79M,0.0673,0.0089,0.0066,0.0549,0.0066
19
+ 18,0.0088,39.79M,0.0666,0.0088,0.0153,0.0930,0.0152
20
+ 19,0.0093,39.79M,0.0688,0.0093,0.0089,0.0659,0.0089
21
+ 20,0.0086,39.79M,0.0658,0.0086,0.0063,0.0540,0.0063
22
+ 21,0.0080,39.79M,0.0633,0.0080,0.0065,0.0542,0.0065
23
+ 22,0.0085,39.79M,0.0653,0.0085,0.0070,0.0559,0.0071
24
+ 23,0.0077,39.79M,0.0611,0.0077,0.0072,0.0584,0.0073
25
+ 24,0.0104,39.79M,0.0713,0.0104,0.2297,0.1817,0.2479
26
+ 25,0.0121,39.79M,0.0791,0.0121,0.0104,0.0729,0.0105
27
+ 26,0.0126,39.79M,0.0798,0.0126,1.3417,0.6292,1.3607
28
+ 27,0.0096,39.79M,0.0697,0.0096,0.0088,0.0601,0.0083
29
+ 28,0.0088,39.79M,0.0669,0.0088,0.0099,0.0680,0.0099
30
+ 29,0.0092,39.79M,0.0674,0.0092,0.0107,0.0708,0.0105
31
+ 30,0.0093,39.79M,0.0678,0.0093,0.0078,0.0589,0.0078
code/lake_detection_deep_learning/models/deeplabv3/2/deeplabv3_mae_models/training_time_log.csv ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ Total training time (ms) for mae,905579.8125
2
+ Average inference time (ms) for mae,33.30994892120361
code/lake_detection_deep_learning/models/deeplabv3/2/deeplabv3_seg_models/epoch_best.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:450a314b2a1abac7a88ae437f5a5018cdaa9e9f8b763013a62950e31f96c5ea1
3
+ size 159477982
code/lake_detection_deep_learning/models/deeplabv3/2/deeplabv3_seg_models/training_log.csv ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ epoch,loss,model_size,train_iou,train_dice,train_accuracy,train_precision,train_recall,val_loss,val_iou,val_dice,val_accuracy,val_precision,val_recall
2
+ 1,0.9988,39.79M,0.0144,0.0211,0.9862,0.4053,0.0611,1.0017,0.0000,0.0000,0.9955,0.2500,0.0000
3
+ 2,0.8927,39.79M,0.1129,0.1530,0.9926,0.3495,0.4108,0.9980,0.0000,0.0000,0.9976,0.5000,0.0000
4
+ 3,0.6802,39.79M,0.1609,0.2084,0.9963,0.6474,0.3971,0.9495,0.0193,0.0293,0.9970,0.2768,0.0316
5
+ 4,0.6152,39.79M,0.1649,0.2110,0.9958,0.6462,0.3968,0.9470,0.0105,0.0172,0.9979,0.7500,0.0160
6
+ 5,0.5476,39.79M,0.2049,0.2570,0.9966,0.6347,0.4700,0.9274,0.0249,0.0349,0.9974,0.5796,0.0401
7
+ 6,0.4719,39.79M,0.2411,0.3008,0.9970,0.7160,0.5208,0.9247,0.0264,0.0363,0.9978,0.7293,0.0432
8
+ 7,0.4587,39.79M,0.2302,0.2856,0.9975,0.7393,0.5159,0.9294,0.0294,0.0395,0.9980,0.7344,0.0484
9
+ 8,0.4370,39.79M,0.2555,0.3165,0.9973,0.7110,0.5515,0.8592,0.0447,0.0537,0.9959,0.4057,0.0831
10
+ 9,0.4424,39.79M,0.2469,0.3056,0.9971,0.7057,0.5485,1.0094,0.0000,0.0000,0.9975,0.7500,0.0000
11
+ 10,0.4135,39.79M,0.2659,0.3312,0.9976,0.7654,0.5555,0.7491,0.0848,0.1155,0.9958,0.4579,0.2264
12
+ 11,0.4003,39.79M,0.2586,0.3190,0.9974,0.7461,0.5705,0.8319,0.0830,0.1214,0.9948,0.2626,0.2416
13
+ 12,0.3985,39.79M,0.2837,0.3459,0.9976,0.7606,0.5819,1.0163,0.0000,0.0000,0.9979,1.0000,0.0000
14
+ 13,0.3863,39.79M,0.2851,0.3517,0.9976,0.7860,0.5943,1.0206,0.0000,0.0000,0.9979,1.0000,0.0000
15
+ 14,0.3667,39.79M,0.2945,0.3616,0.9976,0.7585,0.6033,0.9298,0.0245,0.0349,0.9977,0.7361,0.0402
16
+ 15,0.3710,39.79M,0.3210,0.3939,0.9978,0.7374,0.6116,0.7699,0.0691,0.1050,0.9976,0.6518,0.1659
17
+ 16,0.3501,39.79M,0.3111,0.3815,0.9978,0.7670,0.6228,0.9048,0.0321,0.0536,0.9973,0.2696,0.0811
18
+ 17,0.3515,39.79M,0.3094,0.3790,0.9977,0.7732,0.6205,0.8154,0.0542,0.0804,0.9981,0.8490,0.1032
19
+ 18,0.3437,39.79M,0.3053,0.3791,0.9978,0.7710,0.6273,0.8022,0.0590,0.0859,0.9975,0.6761,0.1392
20
+ 19,0.3335,39.79M,0.3295,0.4050,0.9978,0.7788,0.6477,0.8653,0.0767,0.1125,0.9919,0.2457,0.2024
21
+ 20,0.3085,39.79M,0.3233,0.3937,0.9980,0.8171,0.6618,0.7271,0.0805,0.1174,0.9970,0.5838,0.2190
22
+ 21,0.3060,39.79M,0.3527,0.4282,0.9981,0.7893,0.6769,0.8266,0.0517,0.0851,0.9979,0.6765,0.1170
23
+ 22,0.3315,39.79M,0.3398,0.4144,0.9979,0.7888,0.6386,0.7950,0.0684,0.1045,0.9977,0.5980,0.1426
24
+ 23,0.3047,39.79M,0.3444,0.4182,0.9979,0.8007,0.6643,1.0200,0.0000,0.0000,0.9979,1.0000,0.0000
25
+ 24,0.3241,39.79M,0.3304,0.4038,0.9980,0.8007,0.6477,0.7929,0.0666,0.1017,0.9979,0.6882,0.1491
26
+ 25,0.3401,39.79M,0.3353,0.4121,0.9979,0.7829,0.6399,0.8616,0.0383,0.0568,0.9979,0.7894,0.0768
27
+ 26,0.3166,39.79M,0.3357,0.4097,0.9979,0.7924,0.6594,0.8611,0.0320,0.0551,0.9978,0.7716,0.0778
28
+ 27,0.2941,39.79M,0.3750,0.4505,0.9981,0.7991,0.6823,0.8602,0.0399,0.0653,0.9979,0.7766,0.0882
29
+ 28,0.3153,39.79M,0.3630,0.4395,0.9981,0.7815,0.6627,0.7844,0.0774,0.1170,0.9979,0.6894,0.1676
30
+ 29,0.3103,39.79M,0.3668,0.4486,0.9980,0.7904,0.6661,0.9674,0.0068,0.0128,0.9979,0.9643,0.0157
31
+ 30,0.2815,39.79M,0.3730,0.4536,0.9981,0.8077,0.7004,0.9163,0.0246,0.0393,0.9976,0.4252,0.0562
code/lake_detection_deep_learning/models/deeplabv3/2/deeplabv3_seg_models/training_time_log.csv ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ Total training time (ms) for segmentation,608280.9375
2
+ Average inference time (ms) for segmentation,19.61663703918457
code/lake_detection_deep_learning/models/deeplabv3/3/deeplabv3_mae_models/epoch_best.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ae254c27fa9b93fc3f40932c5d4629e8bdeafe8fbbe5eaa478075cb60bfa996a
3
+ size 159532062
code/lake_detection_deep_learning/models/deeplabv3/3/deeplabv3_mae_models/training_log.csv ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ epoch,loss,model_size,train_l1,train_l2,val_loss,val_l1,val_l2
2
+ 1,0.0611,39.80M,0.1702,0.0611,0.0361,0.1502,0.0359
3
+ 2,0.0241,39.80M,0.1152,0.0241,0.0258,0.1204,0.0259
4
+ 3,0.0207,39.80M,0.1061,0.0207,0.0204,0.1069,0.0203
5
+ 4,0.0187,39.80M,0.1000,0.0187,0.0168,0.0941,0.0168
6
+ 5,0.0168,39.80M,0.0941,0.0168,0.0175,0.1003,0.0175
7
+ 6,0.0164,39.80M,0.0925,0.0164,0.0134,0.0815,0.0134
8
+ 7,0.0145,39.80M,0.0862,0.0145,0.0135,0.0823,0.0136
9
+ 8,0.0136,39.80M,0.0832,0.0136,0.0120,0.0766,0.0121
10
+ 9,0.0140,39.80M,0.0852,0.0140,0.0120,0.0767,0.0120
11
+ 10,0.0128,39.80M,0.0809,0.0128,0.0116,0.0740,0.0116
12
+ 11,0.0115,39.80M,0.0759,0.0115,0.0095,0.0659,0.0095
13
+ 12,0.0107,39.80M,0.0731,0.0107,0.0094,0.0649,0.0093
14
+ 13,0.0108,39.80M,0.0728,0.0108,0.0083,0.0606,0.0084
15
+ 14,0.0101,39.80M,0.0701,0.0101,0.0082,0.0604,0.0082
16
+ 15,0.0106,39.80M,0.0725,0.0106,0.0106,0.0673,0.0106
17
+ 16,0.0102,39.80M,0.0704,0.0102,0.0095,0.0686,0.0095
18
+ 17,0.0099,39.80M,0.0696,0.0099,0.0107,0.0718,0.0105
19
+ 18,0.0103,39.80M,0.0715,0.0103,0.0096,0.0674,0.0096
20
+ 19,0.0107,39.80M,0.0726,0.0107,0.0106,0.0732,0.0106
21
+ 20,0.0103,39.80M,0.0708,0.0103,0.0132,0.0699,0.0132
22
+ 21,0.0110,39.80M,0.0734,0.0110,0.0079,0.0577,0.0079
23
+ 22,0.0104,39.80M,0.0713,0.0104,0.0092,0.0652,0.0091
24
+ 23,0.0088,39.80M,0.0637,0.0088,0.0073,0.0567,0.0072
25
+ 24,0.0097,39.80M,0.0677,0.0097,0.0074,0.0573,0.0074
26
+ 25,0.0104,39.80M,0.0719,0.0104,0.0110,0.0727,0.0109
27
+ 26,0.0115,39.80M,0.0753,0.0115,0.0385,0.1356,0.0384
28
+ 27,0.0101,39.80M,0.0701,0.0101,0.0072,0.0561,0.0073
29
+ 28,0.0095,39.80M,0.0671,0.0095,0.0108,0.0712,0.0108
30
+ 29,0.0181,39.80M,0.0957,0.0181,0.0516,0.1527,0.0528
31
+ 30,0.0166,39.80M,0.0928,0.0166,0.0473,0.1386,0.0473
code/lake_detection_deep_learning/models/deeplabv3/3/deeplabv3_mae_models/training_time_log.csv ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ Total training time (ms) for mae,1220985.0
2
+ Average inference time (ms) for mae,29.702512550354005
code/lake_detection_deep_learning/models/deeplabv3/3/deeplabv3_seg_models/epoch_best.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b2cf68a652d5b70e2bbf8e96a66e217cdf85dc652160c204e370285debb48705
3
+ size 159515614
code/lake_detection_deep_learning/models/deeplabv3/3/deeplabv3_seg_models/training_log.csv ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ epoch,loss,model_size,train_iou,train_dice,train_accuracy,train_precision,train_recall,val_loss,val_iou,val_dice,val_accuracy,val_precision,val_recall
2
+ 1,0.9960,39.80M,0.0156,0.0228,0.9861,0.5425,0.0832,0.9983,0.0000,0.0000,0.9978,0.7500,0.0000
3
+ 2,0.8702,39.80M,0.1242,0.1645,0.9934,0.4416,0.4093,0.9204,0.0239,0.0395,0.9980,0.9350,0.0475
4
+ 3,0.7131,39.80M,0.1397,0.1804,0.9954,0.5916,0.3686,0.9573,0.0257,0.0364,0.9977,0.4054,0.0433
5
+ 4,0.7055,39.80M,0.1468,0.1919,0.9951,0.5052,0.3674,0.9093,0.0265,0.0421,0.9979,0.7670,0.0714
6
+ 5,0.5985,39.80M,0.1729,0.2205,0.9959,0.5852,0.4380,0.8903,0.0505,0.0731,0.9977,0.3775,0.0943
7
+ 6,0.5634,39.80M,0.1913,0.2418,0.9964,0.6228,0.4478,0.9249,0.0237,0.0343,0.9980,0.9657,0.0405
8
+ 7,0.5515,39.80M,0.1954,0.2487,0.9959,0.5763,0.4905,0.8925,0.0415,0.0557,0.9979,0.8213,0.0754
9
+ 8,0.4976,39.80M,0.2115,0.2679,0.9969,0.6967,0.4901,0.9243,0.0277,0.0384,0.9979,0.7279,0.0472
10
+ 9,0.4771,39.80M,0.2152,0.2714,0.9968,0.6886,0.5303,0.9141,0.0277,0.0388,0.9980,0.9744,0.0484
11
+ 10,0.5218,39.80M,0.2089,0.2652,0.9960,0.6408,0.5225,0.7848,0.0685,0.0794,0.9981,0.9055,0.1472
12
+ 11,0.4836,39.80M,0.2216,0.2755,0.9968,0.7058,0.5121,0.8864,0.0364,0.0479,0.9980,0.7136,0.0642
13
+ 12,0.4562,39.80M,0.2446,0.3030,0.9971,0.7062,0.5321,0.9178,0.0280,0.0386,0.9980,0.9672,0.0482
14
+ 13,0.4608,39.80M,0.2372,0.2962,0.9970,0.6558,0.5454,0.9328,0.0245,0.0352,0.9979,0.8924,0.0414
15
+ 14,0.4301,39.80M,0.2576,0.3170,0.9975,0.7541,0.5563,0.9602,0.0178,0.0277,0.9979,0.7500,0.0297
16
+ 15,0.4440,39.80M,0.2546,0.3177,0.9974,0.7431,0.5521,0.8657,0.0472,0.0641,0.9979,0.5913,0.0965
17
+ 16,0.4443,39.80M,0.2608,0.3239,0.9969,0.7090,0.5607,0.9726,0.0149,0.0241,0.9979,0.7500,0.0250
18
+ 17,0.4410,39.80M,0.2538,0.3162,0.9973,0.7002,0.5466,0.8190,0.0624,0.0852,0.9980,0.6327,0.1178
19
+ 18,0.4125,39.80M,0.2606,0.3251,0.9973,0.7134,0.5771,0.9635,0.0143,0.0236,0.9979,0.9712,0.0252
20
+ 19,0.4123,39.80M,0.2830,0.3515,0.9972,0.7190,0.5816,0.9253,0.0260,0.0367,0.9980,0.7222,0.0444
21
+ 20,0.4558,39.80M,0.2360,0.2943,0.9972,0.7874,0.5261,0.9354,0.0197,0.0299,0.9980,0.9849,0.0329
22
+ 21,0.4378,39.80M,0.2494,0.3114,0.9974,0.7483,0.5553,0.9165,0.0268,0.0375,0.9980,0.9570,0.0463
23
+ 22,0.4532,39.80M,0.2737,0.3372,0.9972,0.7422,0.5375,0.7518,0.0765,0.1089,0.9980,0.5854,0.1697
24
+ 23,0.4491,39.80M,0.2589,0.3227,0.9973,0.7704,0.5401,0.9077,0.0346,0.0445,0.9980,0.7097,0.0589
25
+ 24,0.4041,39.80M,0.2758,0.3417,0.9974,0.7429,0.5805,0.9280,0.0258,0.0365,0.9980,0.4801,0.0437
26
+ 25,0.3902,39.80M,0.2788,0.3450,0.9974,0.7629,0.6011,0.8316,0.0560,0.0761,0.9980,0.5424,0.1066
27
+ 26,0.4013,39.80M,0.2786,0.3460,0.9972,0.7334,0.5943,0.9575,0.0130,0.0218,0.9979,0.8537,0.0229
28
+ 27,0.4105,39.80M,0.2886,0.3563,0.9975,0.7569,0.5662,0.9161,0.0221,0.0376,0.9978,0.8119,0.0539
29
+ 28,0.3732,39.80M,0.3019,0.3687,0.9977,0.7810,0.6019,0.8453,0.0493,0.0720,0.9980,0.8526,0.0918
30
+ 29,0.3369,39.80M,0.3237,0.3927,0.9978,0.7733,0.6428,0.9425,0.0228,0.0335,0.9980,0.9698,0.0389
31
+ 30,0.4108,39.80M,0.2932,0.3622,0.9974,0.7254,0.5854,0.8532,0.0465,0.0671,0.9980,0.8037,0.0850
code/lake_detection_deep_learning/models/deeplabv3/3/deeplabv3_seg_models/training_time_log.csv ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ Total training time (ms) for segmentation,842600.1875
2
+ Average inference time (ms) for segmentation,29.07062087059021
code/lake_detection_deep_learning/models/swinv2_cnn/0/swinv2_cnn_mae_models/epoch_best.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8757690bc4ff4fb60ee4a3e4aef7669639a7cdef10c886b88665b964191882c7
3
+ size 138972564
code/lake_detection_deep_learning/models/swinv2_cnn/0/swinv2_cnn_mae_models/training_log.csv ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ epoch,loss,model_size,train_l1,train_l2,val_loss,val_l1,val_l2
2
+ 1,0.0337,34.71M,0.1286,0.0337,0.0432,0.1673,0.0429
3
+ 2,0.0124,34.71M,0.0779,0.0124,0.0264,0.1197,0.0262
4
+ 3,0.0100,34.71M,0.0690,0.0100,0.0166,0.0996,0.0165
5
+ 4,0.0069,34.71M,0.0570,0.0069,0.0231,0.1231,0.0233
6
+ 5,0.0080,34.71M,0.0614,0.0080,0.0059,0.0532,0.0059
7
+ 6,0.0067,34.71M,0.0563,0.0067,0.0052,0.0507,0.0052
8
+ 7,0.0062,34.71M,0.0526,0.0062,0.0057,0.0517,0.0056
9
+ 8,0.0056,34.71M,0.0509,0.0056,0.0196,0.1117,0.0195
10
+ 9,0.0055,34.71M,0.0499,0.0055,0.0042,0.0413,0.0041
11
+ 10,0.0054,34.71M,0.0496,0.0054,0.0046,0.0473,0.0046
12
+ 11,0.0060,34.71M,0.0517,0.0060,0.0087,0.0689,0.0087
13
+ 12,0.0051,34.71M,0.0478,0.0051,0.0049,0.0477,0.0049
14
+ 13,0.0048,34.71M,0.0457,0.0048,0.0044,0.0430,0.0044
15
+ 14,0.0057,34.71M,0.0518,0.0057,0.0061,0.0587,0.0061
16
+ 15,0.0055,34.71M,0.0484,0.0055,0.0041,0.0392,0.0041
17
+ 16,0.0043,34.71M,0.0422,0.0043,0.0052,0.0493,0.0052
18
+ 17,0.0043,34.71M,0.0429,0.0043,0.0054,0.0538,0.0054
19
+ 18,0.0037,34.71M,0.0394,0.0037,0.0046,0.0463,0.0047
20
+ 19,0.0043,34.71M,0.0435,0.0043,0.0040,0.0415,0.0041
21
+ 20,0.0036,34.71M,0.0387,0.0036,0.0041,0.0418,0.0041
22
+ 21,0.0041,34.71M,0.0413,0.0041,0.0042,0.0435,0.0041
23
+ 22,0.0036,34.71M,0.0380,0.0036,0.0033,0.0353,0.0034
24
+ 23,0.0044,34.71M,0.0437,0.0044,0.0060,0.0558,0.0060
25
+ 24,0.0040,34.71M,0.0402,0.0040,0.0075,0.0628,0.0075
26
+ 25,0.0040,34.71M,0.0413,0.0040,0.0036,0.0388,0.0036
27
+ 26,0.0036,34.71M,0.0382,0.0036,0.0039,0.0410,0.0039
28
+ 27,0.0036,34.71M,0.0382,0.0036,0.0051,0.0458,0.0051
29
+ 28,0.0035,34.71M,0.0371,0.0035,0.0052,0.0516,0.0053
30
+ 29,0.0036,34.71M,0.0375,0.0036,0.0038,0.0387,0.0038
31
+ 30,0.0038,34.71M,0.0392,0.0038,0.0036,0.0387,0.0036
code/lake_detection_deep_learning/models/swinv2_cnn/0/swinv2_cnn_mae_models/training_time_log.csv ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ Total training time (ms) for mae,706715.5
2
+ Average inference time (ms) for mae,36.11877384185791
code/lake_detection_deep_learning/models/swinv2_cnn/0/swinv2_cnn_seg_models/epoch_best.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8ad11e32597ffd25d4a4606f0be32fa2467e25d2de7b72f7d5cf566c6970f1de
3
+ size 138971412
code/lake_detection_deep_learning/models/swinv2_cnn/0/swinv2_cnn_seg_models/training_log.csv ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ epoch,loss,model_size,train_iou,train_dice,train_accuracy,train_precision,train_recall,val_loss,val_iou,val_dice,val_accuracy,val_precision,val_recall
2
+ 1,0.7977,34.71M,0.0388,0.0503,0.9912,0.9399,0.0970,0.8748,0.0690,0.1025,0.9855,0.1543,0.3553
3
+ 2,0.4804,34.71M,0.2748,0.3439,0.9962,0.6589,0.5731,0.9936,0.0048,0.0082,0.9979,1.0000,0.0199
4
+ 3,0.4908,34.71M,0.2946,0.3724,0.9958,0.6638,0.5803,0.8002,0.1813,0.2550,0.9954,0.2984,0.2210
5
+ 4,0.3003,34.71M,0.4040,0.4927,0.9976,0.7477,0.7258,0.8561,0.0506,0.0613,0.9981,0.4318,0.1006
6
+ 5,0.2543,34.71M,0.4474,0.5393,0.9981,0.7899,0.7528,0.6352,0.1301,0.1813,0.9970,0.4209,0.3759
7
+ 6,0.2499,34.71M,0.4637,0.5528,0.9982,0.7959,0.7542,0.5971,0.3267,0.4329,0.9972,0.4390,0.4460
8
+ 7,0.2423,34.71M,0.4871,0.5820,0.9982,0.7950,0.7773,0.7558,0.2890,0.3410,0.9982,0.7777,0.1625
9
+ 8,0.2382,34.71M,0.4833,0.5744,0.9982,0.8005,0.7730,0.7004,0.2906,0.3827,0.9965,0.3614,0.3618
10
+ 9,0.2464,34.71M,0.4865,0.5846,0.9982,0.7933,0.7712,0.6559,0.2463,0.3436,0.9976,0.4550,0.3128
11
+ 10,0.2235,34.71M,0.5053,0.5993,0.9985,0.8174,0.7802,0.6264,0.3484,0.4444,0.9980,0.5948,0.2868
12
+ 11,0.2127,34.71M,0.5234,0.6190,0.9985,0.8117,0.7998,0.6614,0.3162,0.3954,0.9982,0.7455,0.2295
13
+ 12,0.2195,34.71M,0.5201,0.6146,0.9984,0.8302,0.7828,0.5949,0.3494,0.4406,0.9983,0.8259,0.2792
14
+ 13,0.1998,34.71M,0.5308,0.6265,0.9985,0.8403,0.8007,0.6355,0.2887,0.3948,0.9972,0.3935,0.4306
15
+ 14,0.2263,34.71M,0.5287,0.6224,0.9984,0.8360,0.7726,0.5344,0.3568,0.4705,0.9983,0.6630,0.3811
16
+ 15,0.2213,34.71M,0.5382,0.6365,0.9985,0.8105,0.7952,0.6622,0.2781,0.3847,0.9977,0.4810,0.2951
17
+ 16,0.2021,34.71M,0.5594,0.6601,0.9986,0.8272,0.8079,0.6662,0.2679,0.3653,0.9981,0.6536,0.2377
18
+ 17,0.1839,34.71M,0.5645,0.6597,0.9987,0.8501,0.8157,0.5235,0.3585,0.4797,0.9979,0.5308,0.5250
19
+ 18,0.1784,34.71M,0.5790,0.6759,0.9987,0.8478,0.8276,0.6857,0.3232,0.4025,0.9983,0.8185,0.2047
20
+ 19,0.1847,34.71M,0.5792,0.6792,0.9987,0.8447,0.8226,0.7354,0.3476,0.4174,0.9982,0.7807,0.1763
21
+ 20,0.1742,34.71M,0.5825,0.6775,0.9988,0.8645,0.8196,0.6785,0.3682,0.4522,0.9982,0.7181,0.2177
22
+ 21,0.1631,34.71M,0.6035,0.7011,0.9988,0.8730,0.8280,0.4992,0.4253,0.5378,0.9983,0.6752,0.4367
23
+ 22,0.2005,34.71M,0.5649,0.6613,0.9985,0.8332,0.8153,0.7134,0.3444,0.4104,0.9982,0.7613,0.1913
24
+ 23,0.1694,34.71M,0.5868,0.6816,0.9988,0.8638,0.8262,0.4678,0.4245,0.5444,0.9983,0.6637,0.4907
25
+ 24,0.1693,34.71M,0.6023,0.7011,0.9988,0.8499,0.8401,0.5900,0.3891,0.4930,0.9981,0.6332,0.3291
26
+ 25,0.1734,34.71M,0.5776,0.6732,0.9988,0.8639,0.8198,0.5347,0.3886,0.5045,0.9983,0.6748,0.4008
27
+ 26,0.1641,34.71M,0.6076,0.7060,0.9989,0.8634,0.8370,0.6811,0.2790,0.3811,0.9955,0.3142,0.5866
28
+ 27,0.1651,34.71M,0.6066,0.7061,0.9988,0.8589,0.8410,0.4933,0.4218,0.5355,0.9982,0.6333,0.4557
29
+ 28,0.1416,34.71M,0.6351,0.7359,0.9989,0.8872,0.8516,0.6360,0.3822,0.4756,0.9982,0.7187,0.2536
30
+ 29,0.1528,34.71M,0.6283,0.7282,0.9989,0.8656,0.8529,0.5769,0.3925,0.5088,0.9974,0.4803,0.5375
31
+ 30,0.1858,34.71M,0.5985,0.6995,0.9988,0.8508,0.8138,0.7314,0.3048,0.3743,0.9982,0.7989,0.1778
code/lake_detection_deep_learning/models/swinv2_cnn/0/swinv2_cnn_seg_models/training_time_log.csv ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ Total training time (ms) for segmentation,451821.25
2
+ Average inference time (ms) for segmentation,15.717907428741455
code/lake_detection_deep_learning/models/swinv2_cnn/1/swinv2_cnn_mae_models/epoch_best.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e5fee52dead64195bb6ed141bda6fbd164bb32fb417209a0958a205f7f37be46
3
+ size 138992148
code/lake_detection_deep_learning/models/swinv2_cnn/1/swinv2_cnn_mae_models/training_log.csv ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ epoch,loss,model_size,train_l1,train_l2,val_loss,val_l1,val_l2
2
+ 1,0.0348,34.72M,0.1346,0.0348,0.0240,0.1198,0.0239
3
+ 2,0.0205,34.72M,0.1011,0.0205,0.0223,0.1092,0.0222
4
+ 3,0.0168,34.72M,0.0922,0.0168,0.0172,0.0944,0.0172
5
+ 4,0.0127,34.72M,0.0780,0.0127,0.0151,0.0888,0.0151
6
+ 5,0.0115,34.72M,0.0727,0.0115,0.0095,0.0634,0.0096
7
+ 6,0.0104,34.72M,0.0682,0.0104,0.0120,0.0783,0.0119
8
+ 7,0.0104,34.72M,0.0678,0.0104,0.0082,0.0575,0.0083
9
+ 8,0.0096,34.72M,0.0643,0.0096,0.0078,0.0532,0.0078
10
+ 9,0.0094,34.72M,0.0627,0.0094,0.0087,0.0579,0.0086
11
+ 10,0.0102,34.72M,0.0665,0.0102,0.0110,0.0760,0.0110
12
+ 11,0.0096,34.72M,0.0637,0.0096,0.0076,0.0544,0.0076
13
+ 12,0.0090,34.72M,0.0602,0.0090,0.0086,0.0616,0.0086
14
+ 13,0.0086,34.72M,0.0589,0.0086,0.0072,0.0502,0.0071
15
+ 14,0.0086,34.72M,0.0572,0.0086,0.0086,0.0574,0.0086
16
+ 15,0.0086,34.72M,0.0585,0.0086,0.0079,0.0545,0.0078
17
+ 16,0.0084,34.72M,0.0570,0.0084,0.0073,0.0523,0.0074
18
+ 17,0.0089,34.72M,0.0598,0.0089,0.0073,0.0516,0.0073
19
+ 18,0.0087,34.72M,0.0592,0.0087,0.0101,0.0675,0.0101
20
+ 19,0.0092,34.72M,0.0623,0.0092,0.0074,0.0516,0.0074
21
+ 20,0.0081,34.72M,0.0558,0.0081,0.0070,0.0510,0.0070
22
+ 21,0.0081,34.72M,0.0548,0.0081,0.0075,0.0531,0.0075
23
+ 22,0.0085,34.72M,0.0580,0.0085,0.0074,0.0528,0.0073
24
+ 23,0.0079,34.72M,0.0543,0.0079,0.0069,0.0489,0.0068
25
+ 24,0.0077,34.72M,0.0531,0.0077,0.0089,0.0645,0.0088
26
+ 25,0.0080,34.72M,0.0549,0.0080,0.0072,0.0497,0.0071
27
+ 26,0.0087,34.72M,0.0592,0.0087,0.0069,0.0480,0.0069
28
+ 27,0.0081,34.72M,0.0564,0.0081,0.0080,0.0562,0.0080
29
+ 28,0.0083,34.72M,0.0567,0.0083,0.0098,0.0663,0.0098
30
+ 29,0.0081,34.72M,0.0560,0.0081,0.0079,0.0545,0.0079
31
+ 30,0.0079,34.72M,0.0542,0.0079,0.0108,0.0713,0.0109
code/lake_detection_deep_learning/models/swinv2_cnn/1/swinv2_cnn_mae_models/training_time_log.csv ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ Total training time (ms) for mae,1030281.8125
2
+ Average inference time (ms) for mae,18.525068855285646
code/lake_detection_deep_learning/models/swinv2_cnn/1/swinv2_cnn_seg_models/epoch_best.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0316be0dfab8e4fdd7ea8731e2e20463470be9a10ce38cef210fd98b5158e838
3
+ size 138989844
code/lake_detection_deep_learning/models/swinv2_cnn/1/swinv2_cnn_seg_models/training_log.csv ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ epoch,loss,model_size,train_iou,train_dice,train_accuracy,train_precision,train_recall,val_loss,val_iou,val_dice,val_accuracy,val_precision,val_recall
2
+ 1,0.7346,34.72M,0.1019,0.1300,0.9791,0.7932,0.2574,0.8963,0.0430,0.0546,0.9817,0.2620,0.1128
3
+ 2,0.5258,34.72M,0.2011,0.2485,0.9958,0.6805,0.4981,0.8979,0.0433,0.0511,0.9980,0.9189,0.0835
4
+ 3,0.4109,34.72M,0.2987,0.3678,0.9969,0.6834,0.6032,0.8292,0.0678,0.0914,0.9933,0.2271,0.2050
5
+ 4,0.3192,34.72M,0.3489,0.4210,0.9978,0.7697,0.6702,0.8356,0.1229,0.1678,0.9908,0.1935,0.2858
6
+ 5,0.3235,34.72M,0.3862,0.4691,0.9976,0.7455,0.7034,0.7201,0.1273,0.1821,0.9940,0.2660,0.5306
7
+ 6,0.3081,34.72M,0.3981,0.4799,0.9977,0.7618,0.7107,0.6300,0.1461,0.2030,0.9980,0.5524,0.3123
8
+ 7,0.2369,34.72M,0.4553,0.5395,0.9984,0.7998,0.7633,0.6797,0.1465,0.2085,0.9976,0.4576,0.2990
9
+ 8,0.2253,34.72M,0.4847,0.5754,0.9984,0.8142,0.7835,0.7521,0.1196,0.1732,0.9979,0.5066,0.1860
10
+ 9,0.2418,34.72M,0.4768,0.5667,0.9983,0.8130,0.7540,0.5446,0.2401,0.3450,0.9979,0.5324,0.4488
11
+ 10,0.2073,34.72M,0.5054,0.5959,0.9986,0.8206,0.7981,0.7906,0.1902,0.2610,0.9982,0.7815,0.1427
12
+ 11,0.2192,34.72M,0.5159,0.6110,0.9985,0.8351,0.7769,0.5831,0.3551,0.4594,0.9979,0.5278,0.3726
13
+ 12,0.2110,34.72M,0.5210,0.6148,0.9986,0.8218,0.7901,0.4925,0.3928,0.5137,0.9978,0.5131,0.5912
14
+ 13,0.1850,34.72M,0.5472,0.6387,0.9987,0.8436,0.8128,0.5882,0.2749,0.3815,0.9966,0.3599,0.6566
15
+ 14,0.2292,34.72M,0.5148,0.6077,0.9985,0.8285,0.7736,0.5343,0.4205,0.5182,0.9981,0.5850,0.4270
16
+ 15,0.2002,34.72M,0.5301,0.6253,0.9986,0.8297,0.8097,0.6965,0.3452,0.4156,0.9982,0.7227,0.2087
17
+ 16,0.1882,34.72M,0.5505,0.6436,0.9987,0.8476,0.8115,0.4950,0.4034,0.5195,0.9982,0.6190,0.4808
18
+ 17,0.1898,34.72M,0.5490,0.6423,0.9987,0.8495,0.8064,0.6550,0.3529,0.4368,0.9982,0.7202,0.2389
19
+ 18,0.1710,34.72M,0.5688,0.6619,0.9988,0.8553,0.8315,0.4936,0.3973,0.5113,0.9977,0.4929,0.6273
20
+ 19,0.1778,34.72M,0.5613,0.6544,0.9988,0.8517,0.8183,0.4662,0.4062,0.5233,0.9979,0.5532,0.6184
21
+ 20,0.1930,34.72M,0.5585,0.6540,0.9987,0.8473,0.8096,0.4927,0.3945,0.5098,0.9975,0.4681,0.6660
22
+ 21,0.2003,34.72M,0.5466,0.6387,0.9986,0.8500,0.7973,0.5629,0.3934,0.4807,0.9982,0.6636,0.3462
23
+ 22,0.2096,34.72M,0.5366,0.6311,0.9985,0.8318,0.7965,0.6191,0.3579,0.4491,0.9979,0.5059,0.3327
24
+ 23,0.1810,34.72M,0.5480,0.6358,0.9987,0.8531,0.8224,0.6630,0.3490,0.4312,0.9982,0.7022,0.2318
25
+ 24,0.1664,34.72M,0.5875,0.6817,0.9988,0.8622,0.8329,0.4919,0.4149,0.5312,0.9983,0.6505,0.4507
26
+ 25,0.1605,34.72M,0.5972,0.6937,0.9989,0.8668,0.8363,0.5276,0.3525,0.4768,0.9979,0.5312,0.4816
27
+ 26,0.1637,34.72M,0.5929,0.6887,0.9988,0.8618,0.8353,0.5349,0.4210,0.5219,0.9984,0.7830,0.3434
28
+ 27,0.1685,34.72M,0.6078,0.7053,0.9988,0.8554,0.8369,0.4637,0.4565,0.5646,0.9985,0.7369,0.4435
29
+ 28,0.2357,34.72M,0.5321,0.6279,0.9985,0.8336,0.7622,0.4372,0.4531,0.5741,0.9983,0.6492,0.5590
30
+ 29,0.1916,34.72M,0.5440,0.6393,0.9986,0.8438,0.8068,0.6431,0.3406,0.4372,0.9981,0.6134,0.2614
31
+ 30,0.2263,34.72M,0.5323,0.6234,0.9985,0.8407,0.7784,0.7031,0.3215,0.3930,0.9983,0.7930,0.2002
code/lake_detection_deep_learning/models/swinv2_cnn/1/swinv2_cnn_seg_models/training_time_log.csv ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ Total training time (ms) for segmentation,708791.0
2
+ Average inference time (ms) for segmentation,21.718547439575197
code/lake_detection_deep_learning/models/swinv2_cnn/2/swinv2_cnn_mae_models/epoch_best.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ecf2370fedb135027bbbb1f0a0f4809530cca4ed6a1c1ab453baf92cf470a710
3
+ size 139037844