CharlesGaydon
commited on
Commit
•
c4a0373
1
Parent(s):
610f7f8
Update README.md
Browse files
README.md
CHANGED
@@ -71,15 +71,19 @@ with very-high-definition aerial images from the ([BD ORTHO®](https://geoservic
|
|
71 |
|
72 |
**_Data preprocessing_**: ?? keep ?
|
73 |
|
74 |
-
**_Multi-domain model_**: The FRACTAL dataset used for training covers 5 spatial domains from 5 southern regions of metropolitan France.
|
75 |
-
The 250 km² of data in FRACTAL were sampled from an original 17440 km² area, and cover a wide diversity of landscapes and scenes.
|
76 |
-
While large and diverse, this data only covers a fraction of the French territory, and the model should be used with adequate verifications when applied to new domains.
|
77 |
-
This being said, while domain shifts are frequent for aerial imageries due to different acquisition conditions and downstream data processing,
|
78 |
-
the aerial lidar point clouds are expected to have more consistent characteristiques
|
79 |
-
(density, range of acquisition angle, etc.) across spatial domains.
|
80 |
|
81 |
## Bias, Risks, Limitations and Recommendations
|
82 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
---
|
84 |
|
85 |
## How to Get Started with the Model
|
@@ -94,13 +98,17 @@ For convenience and scalable model deployment, Myria3D comes with a Dockerfile.
|
|
94 |
|
95 |
## Training Details
|
96 |
|
97 |
-
The data comes from the Lidar HD program, more specifically from acquisition areas that underwent automated classification followed by manual correction
|
|
|
98 |
It meets the quality requirements of the Lidar HD program, which accepts a controlled level of classification errors for each semantic class.
|
|
|
|
|
|
|
99 |
|
100 |
### Training Data
|
101 |
|
102 |
-
80,000 point cloud patches of 50 x 50 meters were used to train the **FRACTAL-LidarHD_7cl_randlanet** model.
|
103 |
-
10,000 additional patches were used for model validation.
|
104 |
|
105 |
### Training Procedure
|
106 |
|
@@ -110,6 +118,7 @@ Point clouds were preprocessed for training with point subsampling, filtering of
|
|
110 |
For inference, a preprocessing as close as possible should be used. Refer to the inference configuration file, and to the Myria3D code repository (V3.8).
|
111 |
|
112 |
#### Training Hyperparameters
|
|
|
113 |
- Model architecture: RandLa-Net (implemented with the Pytorch-Geometric framework in [Myria3D](https://github.com/IGNF/myria3d/blob/main/myria3d/models/modules/pyg_randla_net.py))
|
114 |
- Augmentation :
|
115 |
- VerticalFlip(p=0.5)
|
@@ -135,19 +144,18 @@ For inference, a preprocessing as close as possible should be used. Refer to the
|
|
135 |
- Batch size: 10 (x 6 GPUs)
|
136 |
- Number of epochs : 100 (min) - 150 (max)
|
137 |
- Early stopping : patience 6 and val_loss as monitor criterium
|
|
|
138 |
- Optimizer : Adam
|
139 |
-
-
|
140 |
- Learning rate : 0.004
|
|
|
141 |
|
142 |
#### Speeds, Sizes, Times
|
143 |
|
144 |
-
The **FRACTAL-LidarHD_7cl_randlanet** model was trained on an in-house HPC cluster.
|
145 |
-
6 V100 GPUs were used (2 nodes, 3 GPUS per node). With this configuration the approximate learning time is 30 minutes per epoch.
|
146 |
-
|
147 |
The model was obtained for num_epoch=21 with corresponding val_loss=0.112.
|
148 |
|
149 |
<div style="position: relative; text-align: center;">
|
150 |
-
<p style="margin: 0;">TRAIN loss</p>
|
151 |
<img src="FRACTAL-LidarHD_7cl_randlanet-train_val_losses.excalidraw.png" alt="train and val losses" style="width: 60%; display: block; margin: 0 auto;"/>
|
152 |
</div>
|
153 |
|
|
|
71 |
|
72 |
**_Data preprocessing_**: ?? keep ?
|
73 |
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
|
75 |
## Bias, Risks, Limitations and Recommendations
|
76 |
|
77 |
+
**_Spatial Generalization_**: The FRACTAL dataset used for training covers 5 spatial domains from 5 southern regions of metropolitan France,
|
78 |
+
While large and diverse, the dataset covers only a fraction of the French territory, and are not representative of its full diversity (landscapes, hardscapes, human-made objects...).
|
79 |
+
Adequate verifications and evaluations should be done when applied to new spatial domains.
|
80 |
+
|
81 |
+
**_Using the model for other data sources_**: The model was trained on Lidar HD data that was colorized with very high resolution aerial images from the ORTHO HR database.
|
82 |
+
The data sources have their specificities in terms of resolution and spectral domains. Users can expect a drop in performance with other 3D and 2D data sources.
|
83 |
+
This being said, while domain shifts are frequent for aerial imageries due to different acquisition conditions and downstream data processing,
|
84 |
+
aerial lidar point clouds of comparable point densities (~40 pts/m²) are expected to have more consistent geometric characteristiques across spatial domains.
|
85 |
+
|
86 |
+
|
87 |
---
|
88 |
|
89 |
## How to Get Started with the Model
|
|
|
98 |
|
99 |
## Training Details
|
100 |
|
101 |
+
The data comes from the Lidar HD program, more specifically from acquisition areas that underwent automated classification followed by manual correction
|
102 |
+
(so-called "optimized Lidar HD").
|
103 |
It meets the quality requirements of the Lidar HD program, which accepts a controlled level of classification errors for each semantic class.
|
104 |
+
The model was trained on FRACTAL, a benchmark dataset for semantic segmentation. FRACTAL contains 250 km² of data sampled from an original 17440 km² area, with
|
105 |
+
a large diversity of landscapes and scenes.
|
106 |
+
|
107 |
|
108 |
### Training Data
|
109 |
|
110 |
+
80,000 point cloud patches of 50 x 50 meters each (200 km²) were used to train the **FRACTAL-LidarHD_7cl_randlanet** model.
|
111 |
+
10,000 additional patches (25 km²) were used for model validation.
|
112 |
|
113 |
### Training Procedure
|
114 |
|
|
|
118 |
For inference, a preprocessing as close as possible should be used. Refer to the inference configuration file, and to the Myria3D code repository (V3.8).
|
119 |
|
120 |
#### Training Hyperparameters
|
121 |
+
```yaml
|
122 |
- Model architecture: RandLa-Net (implemented with the Pytorch-Geometric framework in [Myria3D](https://github.com/IGNF/myria3d/blob/main/myria3d/models/modules/pyg_randla_net.py))
|
123 |
- Augmentation :
|
124 |
- VerticalFlip(p=0.5)
|
|
|
144 |
- Batch size: 10 (x 6 GPUs)
|
145 |
- Number of epochs : 100 (min) - 150 (max)
|
146 |
- Early stopping : patience 6 and val_loss as monitor criterium
|
147 |
+
- Loss: Cross-Entropy
|
148 |
- Optimizer : Adam
|
149 |
+
- Scheduler : mode = "min", factor = 0.5, patience = 20, cooldown = 5
|
150 |
- Learning rate : 0.004
|
151 |
+
```
|
152 |
|
153 |
#### Speeds, Sizes, Times
|
154 |
|
155 |
+
The **FRACTAL-LidarHD_7cl_randlanet** model was trained on an in-house HPC cluster. 6 V100 GPUs were used (2 nodes, 3 GPUS per node). With this configuration the approximate learning time is 30 minutes per epoch.
|
|
|
|
|
156 |
The model was obtained for num_epoch=21 with corresponding val_loss=0.112.
|
157 |
|
158 |
<div style="position: relative; text-align: center;">
|
|
|
159 |
<img src="FRACTAL-LidarHD_7cl_randlanet-train_val_losses.excalidraw.png" alt="train and val losses" style="width: 60%; display: block; margin: 0 auto;"/>
|
160 |
</div>
|
161 |
|