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 |
|