rsi commited on
Commit
3bb9287
·
1 Parent(s): 0e8f1d9

update readme

Browse files
Files changed (41) hide show
  1. README.md +7 -6
  2. ffl/224/v0_all_bs4x16/.hydra/config.yaml +128 -127
  3. ffl/224/v0_all_bs4x16/.hydra/hydra.yaml +16 -16
  4. ffl/224/v0_all_bs4x16/.hydra/overrides.yaml +5 -7
  5. ffl/224/v0_all_bs4x16/predict_demo.log +0 -0
  6. ffl/224/v4_image_bs4x16/.hydra/config.yaml +133 -148
  7. ffl/224/v4_image_bs4x16/.hydra/hydra.yaml +12 -14
  8. ffl/224/v4_image_bs4x16/.hydra/overrides.yaml +3 -7
  9. ffl/224/v4_image_bs4x16/predict_demo.log +0 -0
  10. ffl/224/v5_lidar_bs2x16_mnv64/.hydra/config.yaml +129 -126
  11. ffl/224/v5_lidar_bs2x16_mnv64/.hydra/hydra.yaml +17 -16
  12. ffl/224/v5_lidar_bs2x16_mnv64/.hydra/overrides.yaml +5 -6
  13. ffl/224/v5_lidar_bs2x16_mnv64/predict_demo.log +0 -0
  14. hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/.hydra/config.yaml +37 -130
  15. hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/.hydra/hydra.yaml +9 -11
  16. hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/.hydra/overrides.yaml +3 -6
  17. hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/predict_demo.log +0 -0
  18. hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/.hydra/config.yaml +104 -203
  19. hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/.hydra/hydra.yaml +18 -20
  20. hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/.hydra/overrides.yaml +5 -9
  21. hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/predict_demo.log +1 -0
  22. hisup/224/v3_image_vit_cnn_bs4x12/.hydra/config.yaml +108 -207
  23. hisup/224/v3_image_vit_cnn_bs4x12/.hydra/hydra.yaml +18 -20
  24. hisup/224/v3_image_vit_cnn_bs4x12/.hydra/overrides.yaml +5 -9
  25. hisup/224/v3_image_vit_cnn_bs4x12/predict_demo.log +0 -0
  26. pix2poly/224/early_fusion_bs2x16_mnv64/.hydra/config.yaml +114 -212
  27. pix2poly/224/early_fusion_bs2x16_mnv64/.hydra/hydra.yaml +19 -20
  28. pix2poly/224/early_fusion_bs2x16_mnv64/.hydra/overrides.yaml +6 -9
  29. pix2poly/224/early_fusion_bs2x16_mnv64/predict_demo.log +0 -0
  30. pix2poly/224/lidar_pp_vit_bs2x16_mnv64/.hydra/config.yaml +113 -212
  31. pix2poly/224/lidar_pp_vit_bs2x16_mnv64/.hydra/hydra.yaml +18 -21
  32. pix2poly/224/lidar_pp_vit_bs2x16_mnv64/.hydra/overrides.yaml +5 -10
  33. pix2poly/224/lidar_pp_vit_bs2x16_mnv64/predict_demo.log +0 -0
  34. pix2poly/224/v0_all_bs4x16/.hydra/config.yaml +2 -0
  35. pix2poly/224/v0_all_bs4x16/.hydra/hydra.yaml +4 -3
  36. pix2poly/224/v0_all_bs4x16/.hydra/overrides.yaml +2 -1
  37. pix2poly/224/v0_all_bs4x16/predict_demo.log +0 -0
  38. pix2poly/224/v4_image_vit_bs4x16/.hydra/config.yaml +39 -128
  39. pix2poly/224/v4_image_vit_bs4x16/.hydra/hydra.yaml +14 -14
  40. pix2poly/224/v4_image_vit_bs4x16/.hydra/overrides.yaml +4 -5
  41. pix2poly/224/v4_image_vit_bs4x16/predict_demo.log +0 -0
README.md CHANGED
@@ -18,7 +18,6 @@ tags:
18
  - pointcloud
19
  - multimodal
20
  ---
21
-
22
  <div align="center">
23
  <h1 align="center">The P<sup>3</sup> dataset: Pixels, Points and Polygons <br> for Multimodal Building Vectorization</h1>
24
  <h3><align="center">Raphael Sulzer<sup>1,2</sup> &nbsp;&nbsp;&nbsp; Liuyun Duan<sup>1</sup>
@@ -508,7 +507,6 @@ pip install .
508
  ⚠️ **Warning**: The implementation of the LiDAR point cloud encoder uses Open3D-ML. Currently, Open3D-ML officially only supports the PyTorch version specified in `requirements-torch-cuda.txt`.
509
 
510
 
511
-
512
  <!-- ## Model Zoo
513
 
514
 
@@ -550,13 +548,16 @@ python scripts/train.py --help
550
 
551
  </details> -->
552
 
553
- ### Predict a single tile
554
 
555
- TODO
556
 
557
  ```
558
- python scripts/predict_demo.py
559
  ```
 
 
 
560
 
561
  ### Reproduce paper results
562
 
@@ -592,7 +593,7 @@ python scripts/train.py experiment=p2p_fusion checkpoint=latest
592
 
593
  ## Citation
594
 
595
- If you find our work useful, please consider citing:
596
  ```bibtex
597
  TODO
598
  ```
 
18
  - pointcloud
19
  - multimodal
20
  ---
 
21
  <div align="center">
22
  <h1 align="center">The P<sup>3</sup> dataset: Pixels, Points and Polygons <br> for Multimodal Building Vectorization</h1>
23
  <h3><align="center">Raphael Sulzer<sup>1,2</sup> &nbsp;&nbsp;&nbsp; Liuyun Duan<sup>1</sup>
 
507
  ⚠️ **Warning**: The implementation of the LiDAR point cloud encoder uses Open3D-ML. Currently, Open3D-ML officially only supports the PyTorch version specified in `requirements-torch-cuda.txt`.
508
 
509
 
 
510
  <!-- ## Model Zoo
511
 
512
 
 
548
 
549
  </details> -->
550
 
551
+ ### Predict demo tile
552
 
553
+ After downloading the model weights and setting up the code you can predict a demo tile by running
554
 
555
  ```
556
+ python scripts/predict_demo.py checkpoint=best_val_iou experiment=$MODEL_$MODALITY +image_file=demo_data/image0_CH_val.tif +lidar_file=demo_data/lidar0_CH_val.copc.laz
557
  ```
558
+ At least one of `image_file` or `lidar_file` has to be specified. `$MODEL` can be one of the following: `ffl`, `hisup` or `p2p`. `$MODALITY` can be `image`, `lidar` or `fusion`.
559
+ The result will be stored in `prediction.png`.
560
+
561
 
562
  ### Reproduce paper results
563
 
 
593
 
594
  ## Citation
595
 
596
+ If you use our work please cite
597
  ```bibtex
598
  TODO
599
  ```
ffl/224/v0_all_bs4x16/.hydra/config.yaml CHANGED
@@ -1,117 +1,32 @@
1
  host:
2
- name: jeanzay
3
- data_root: /lustre/fswork/projects/rech/cso/uku93eu/data
4
- update_pbar_every: 60
 
 
 
 
5
  run_type:
6
- name: release
7
  batch_size: 16
8
- train_subset: null
9
- val_subset: null
10
- test_subset: null
11
- logging: INFO
12
- num_workers: 16
13
- log_to_wandb: true
14
- polygonization:
15
- method:
16
- - acm
17
- common_params:
18
- init_data_level: 0.5
19
- simple_method:
20
- data_level: 0.5
21
- tolerance:
22
- - 1.0
23
- seg_threshold: 0.5
24
- min_area: 10
25
- asm_method:
26
- init_method: skeleton
27
- data_level: 0.5
28
- loss_params:
29
- coefs:
30
- step_thresholds:
31
- - 0
32
- - 100
33
- - 200
34
- - 300
35
- data:
36
- - 1.0
37
- - 0.1
38
- - 0.0
39
- - 0.0
40
- crossfield:
41
- - 0.0
42
- - 0.05
43
- - 0.0
44
- - 0.0
45
- length:
46
- - 0.1
47
- - 0.01
48
- - 0.0
49
- - 0.0
50
- curvature:
51
- - 0.0
52
- - 0.0
53
- - 1.0
54
- - 0.0
55
- corner:
56
- - 0.0
57
- - 0.0
58
- - 0.5
59
- - 0.0
60
- junction:
61
- - 0.0
62
- - 0.0
63
- - 0.5
64
- - 0.0
65
- curvature_dissimilarity_threshold: 2
66
- corner_angles:
67
- - 45
68
- - 90
69
- - 135
70
- corner_angle_threshold: 22.5
71
- junction_angles:
72
- - 0
73
- - 45
74
- - 90
75
- - 135
76
- junction_angle_weights:
77
- - 1
78
- - 0.01
79
- - 0.1
80
- - 0.01
81
- junction_angle_threshold: 22.5
82
- lr: 0.1
83
- gamma: 0.995
84
- device: cuda
85
- tolerance:
86
- - 1
87
- seg_threshold: 0.5
88
- min_area: 10
89
- acm_method:
90
- steps: 500
91
- data_level: 0.5
92
- data_coef: 0.1
93
- length_coef: 0.4
94
- crossfield_coef: 0.5
95
- poly_lr: 0.01
96
- warmup_iters: 100
97
- warmup_factor: 0.1
98
- device: cuda
99
- tolerance:
100
- - 1
101
- seg_threshold: 0.5
102
- min_area: 10
103
  dataset:
104
- name: lidarpoly
105
  size: ${..experiment.encoder.in_size}
106
- path: ${host.data_root}/${.name}/${.size}
107
  annotations:
108
- train: ${..path}/annotations_${...country}_train.json
109
- val: ${..path}/annotations_${...country}_val.json
110
- test: ${..path}/annotations_${...country}_test.json
111
  ffl_stats:
112
- train: ${..path}/ffl/train/stats-${...country}.pt
113
- val: ${..path}/ffl/val/stats-${...country}.pt
114
- test: ${..path}/ffl/test/stats-${...country}.pt
115
  train_subset: ${..run_type.train_subset}
116
  val_subset: ${..run_type.val_subset}
117
  test_subset: ${..run_type.test_subset}
@@ -137,7 +52,7 @@ experiment:
137
  out_feature_dim: ${..model.decoder.in_feature_dim}
138
  vit:
139
  type: vit_small_patch${..patch_size}_${..in_size}.dino
140
- checkpoint_file: ${....host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth
141
  pretrained: true
142
  patch_size: 8
143
  patch_feature_size: 28
@@ -224,28 +139,114 @@ experiment:
224
  patch_size: null
225
  patch_overlap: 200
226
  seg_threshold: 0.5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
227
  name: v0_all_bs4x16
228
  group_name: v2_${.model.name}
229
- output_dir: ${.host.data_root}/${.experiment.model.name}_outputs/${.dataset.name}/${.experiment.encoder.in_size}/${.experiment.name}
230
- checkpoint: latest
231
- checkpoint_file: null
232
- save_best: true
233
- save_latest: true
234
- save_every: 10
235
- val_every: 1
236
- best_val_loss: 10000000.0
237
- best_val_iou: 0.0
238
- multi_gpu: true
239
- device: cuda
240
- log_to_wandb: true
241
- num_workers: ${.run_type.num_workers}
242
- update_pbar_every: ${.host.update_pbar_every}
243
- country: all
244
- use_lidar: ${.experiment.encoder.use_lidar}
245
- use_images: ${.experiment.encoder.use_images}
246
- eval:
247
  split: val
248
- pred_file: ${..output_dir}/predictions_${..country}_${.split}/${..checkpoint}.json
249
  modes:
250
  - iou
251
  eval_file: results/metrics
 
 
 
 
 
 
 
1
  host:
2
+ name: gin
3
+ data_root: /data/rsulzer/${..dataset.name}
4
+ model_root: /data/rsulzer/${..dataset.name}_output
5
+ multi_gpu: false
6
+ device: cuda
7
+ update_pbar_every: 1
8
+ ldof_exe: /user/rsulzer/home/cpp/line-DOF-metric/build/calculate_DoF
9
  run_type:
10
+ name: debug
11
  batch_size: 16
12
+ train_subset: 256
13
+ val_subset: 32
14
+ test_subset: 32
15
+ logging: DEBUG
16
+ num_workers: 0
17
+ log_to_wandb: false
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  dataset:
19
+ name: PixelsPointsPolygons
20
  size: ${..experiment.encoder.in_size}
21
+ path: ${host.data_root}/data/${.size}
22
  annotations:
23
+ train: ${..path}/annotations/annotations_${...experiment.country}_train.json
24
+ val: ${..path}/annotations/annotations_${...experiment.country}_val.json
25
+ test: ${..path}/annotations/annotations_${...experiment.country}_test.json
26
  ffl_stats:
27
+ train: ${..path}/ffl/train/stats-${...experiment.country}.pt
28
+ val: ${..path}/ffl/val/stats-${...experiment.country}.pt
29
+ test: ${..path}/ffl/test/stats-${...experiment.country}.pt
30
  train_subset: ${..run_type.train_subset}
31
  val_subset: ${..run_type.val_subset}
32
  test_subset: ${..run_type.test_subset}
 
52
  out_feature_dim: ${..model.decoder.in_feature_dim}
53
  vit:
54
  type: vit_small_patch${..patch_size}_${..in_size}.dino
55
+ checkpoint_file: ${....host.model_root}/backbones/dino_deitsmall8_pretrain.pth
56
  pretrained: true
57
  patch_size: 8
58
  patch_feature_size: 28
 
139
  patch_size: null
140
  patch_overlap: 200
141
  seg_threshold: 0.5
142
+ polygonization:
143
+ method:
144
+ - acm
145
+ common_params:
146
+ init_data_level: 0.5
147
+ simple_method:
148
+ data_level: 0.5
149
+ tolerance:
150
+ - 1.0
151
+ seg_threshold: 0.5
152
+ min_area: 10
153
+ asm_method:
154
+ init_method: skeleton
155
+ data_level: 0.5
156
+ loss_params:
157
+ coefs:
158
+ step_thresholds:
159
+ - 0
160
+ - 100
161
+ - 200
162
+ - 300
163
+ data:
164
+ - 1.0
165
+ - 0.1
166
+ - 0.0
167
+ - 0.0
168
+ crossfield:
169
+ - 0.0
170
+ - 0.05
171
+ - 0.0
172
+ - 0.0
173
+ length:
174
+ - 0.1
175
+ - 0.01
176
+ - 0.0
177
+ - 0.0
178
+ curvature:
179
+ - 0.0
180
+ - 0.0
181
+ - 1.0
182
+ - 0.0
183
+ corner:
184
+ - 0.0
185
+ - 0.0
186
+ - 0.5
187
+ - 0.0
188
+ junction:
189
+ - 0.0
190
+ - 0.0
191
+ - 0.5
192
+ - 0.0
193
+ curvature_dissimilarity_threshold: 2
194
+ corner_angles:
195
+ - 45
196
+ - 90
197
+ - 135
198
+ corner_angle_threshold: 22.5
199
+ junction_angles:
200
+ - 0
201
+ - 45
202
+ - 90
203
+ - 135
204
+ junction_angle_weights:
205
+ - 1
206
+ - 0.01
207
+ - 0.1
208
+ - 0.01
209
+ junction_angle_threshold: 22.5
210
+ lr: 0.1
211
+ gamma: 0.995
212
+ device: cuda
213
+ tolerance:
214
+ - 1
215
+ seg_threshold: 0.5
216
+ min_area: 10
217
+ acm_method:
218
+ steps: 500
219
+ data_level: 0.5
220
+ data_coef: 0.1
221
+ length_coef: 0.4
222
+ crossfield_coef: 0.5
223
+ poly_lr: 0.01
224
+ warmup_iters: 100
225
+ warmup_factor: 0.1
226
+ device: cuda
227
+ tolerance:
228
+ - 1
229
+ seg_threshold: 0.5
230
+ min_area: 10
231
  name: v0_all_bs4x16
232
  group_name: v2_${.model.name}
233
+ country: all
234
+ training:
235
+ save_best: true
236
+ save_latest: true
237
+ save_every: 10
238
+ val_every: 1
239
+ best_val_loss: 10000000.0
240
+ best_val_iou: 0.0
241
+ evaluation:
 
 
 
 
 
 
 
 
 
242
  split: val
243
+ pred_file: ${..output_dir}/predictions_${..experiment.country}_${.split}/${..checkpoint}.json
244
  modes:
245
  - iou
246
  eval_file: results/metrics
247
+ experiment.name: debug
248
+ output_dir: ${.host.model_root}/${.experiment.model.name}/${.experiment.encoder.in_size}/${.experiment.name}
249
+ checkpoint: best_val_iou
250
+ num_workers: ${.run_type.num_workers}
251
+ image_file: demo_data/image0_CH_val.tif
252
+ lidar_file: demo_data/lidar0_CH_val.copc.laz
ffl/224/v0_all_bs4x16/.hydra/hydra.yaml CHANGED
@@ -112,18 +112,16 @@ hydra:
112
  hydra:
113
  - hydra.mode=RUN
114
  task:
115
- - log_to_wandb=true
116
- - host=jz
117
- - run_type=release
118
- - multi_gpu=true
119
- - checkpoint=latest
120
  - experiment=ffl_fusion
121
- - experiment.name=v0_all_bs4x16
122
- - country=all
123
  job:
124
- name: train
125
  chdir: null
126
- override_dirname: checkpoint=latest,country=all,experiment.name=v0_all_bs4x16,experiment=ffl_fusion,host=jz,log_to_wandb=true,multi_gpu=true,run_type=release
127
  id: ???
128
  num: ???
129
  config_name: config
@@ -137,26 +135,28 @@ hydra:
137
  runtime:
138
  version: 1.3.2
139
  version_base: '1.3'
140
- cwd: /lustre/fswork/projects/rech/cso/uku93eu/python/PixelsPointsPolygons
141
  config_sources:
142
  - path: hydra.conf
143
  schema: pkg
144
  provider: hydra
145
- - path: /lustre/fswork/projects/rech/cso/uku93eu/python/PixelsPointsPolygons/config
146
  schema: file
147
  provider: main
148
  - path: ''
149
  schema: structured
150
  provider: schema
151
- output_dir: /lustre/fswork/projects/rech/cso/uku93eu/data/ffl_outputs/lidarpoly/224/v0_all_bs4x16
152
  choices:
 
 
153
  experiment: ffl_fusion
 
154
155
  [email protected]: early_fusion_vit_cnn
156
- dataset: lidarpoly
157
- polygonization: asm_acm
158
- run_type: release
159
- host: jz
160
  hydra/env: default
161
  hydra/callbacks: null
162
  hydra/job_logging: default
 
112
  hydra:
113
  - hydra.mode=RUN
114
  task:
115
+ - run_type=debug
116
+ - host=gin
117
+ - checkpoint=best_val_iou
 
 
118
  - experiment=ffl_fusion
119
+ - +image_file=demo_data/image0_CH_val.tif
120
+ - +lidar_file=demo_data/lidar0_CH_val.copc.laz
121
  job:
122
+ name: predict_demo
123
  chdir: null
124
+ override_dirname: +image_file=demo_data/image0_CH_val.tif,+lidar_file=demo_data/lidar0_CH_val.copc.laz,checkpoint=best_val_iou,experiment=ffl_fusion,host=gin,run_type=debug
125
  id: ???
126
  num: ???
127
  config_name: config
 
135
  runtime:
136
  version: 1.3.2
137
  version_base: '1.3'
138
+ cwd: /run/netsop/u/home-sam/home/rsulzer/remote_python/pixelspointspolygons
139
  config_sources:
140
  - path: hydra.conf
141
  schema: pkg
142
  provider: hydra
143
+ - path: /run/netsop/u/home-sam/home/rsulzer/remote_python/pixelspointspolygons/config
144
  schema: file
145
  provider: main
146
  - path: ''
147
  schema: structured
148
  provider: schema
149
+ output_dir: /data/rsulzer/PixelsPointsPolygons_output/ffl/224/v0_all_bs4x16
150
  choices:
151
+ evaluation: val
152
+ training: default
153
  experiment: ffl_fusion
154
+ [email protected]: asm_acm
155
156
  [email protected]: early_fusion_vit_cnn
157
+ dataset: p3
158
+ run_type: debug
159
+ host: gin
 
160
  hydra/env: default
161
  hydra/callbacks: null
162
  hydra/job_logging: default
ffl/224/v0_all_bs4x16/.hydra/overrides.yaml CHANGED
@@ -1,8 +1,6 @@
1
- - log_to_wandb=true
2
- - host=jz
3
- - run_type=release
4
- - multi_gpu=true
5
- - checkpoint=latest
6
  - experiment=ffl_fusion
7
- - experiment.name=v0_all_bs4x16
8
- - country=all
 
1
+ - run_type=debug
2
+ - host=gin
3
+ - checkpoint=best_val_iou
 
 
4
  - experiment=ffl_fusion
5
+ - +image_file=demo_data/image0_CH_val.tif
6
+ - +lidar_file=demo_data/lidar0_CH_val.copc.laz
ffl/224/v0_all_bs4x16/predict_demo.log ADDED
File without changes
ffl/224/v4_image_bs4x16/.hydra/config.yaml CHANGED
@@ -1,149 +1,55 @@
1
  host:
2
  name: gin
3
- data_root: /data/rsulzer
 
 
 
4
  update_pbar_every: 1
 
5
  run_type:
6
- name: release
7
  batch_size: 16
8
- train_subset: null
9
- val_subset: null
10
- test_subset: null
11
- logging: INFO
12
- num_workers: 16
13
- log_to_wandb: true
14
- polygonization:
15
- method:
16
- - acm
17
- common_params:
18
- init_data_level: 0.5
19
- simple_method:
20
- data_level: 0.5
21
- tolerance:
22
- - 1.0
23
- seg_threshold: 0.5
24
- min_area: 10
25
- asm_method:
26
- init_method: skeleton
27
- data_level: 0.5
28
- loss_params:
29
- coefs:
30
- step_thresholds:
31
- - 0
32
- - 100
33
- - 200
34
- - 300
35
- data:
36
- - 1.0
37
- - 0.1
38
- - 0.0
39
- - 0.0
40
- crossfield:
41
- - 0.0
42
- - 0.05
43
- - 0.0
44
- - 0.0
45
- length:
46
- - 0.1
47
- - 0.01
48
- - 0.0
49
- - 0.0
50
- curvature:
51
- - 0.0
52
- - 0.0
53
- - 1.0
54
- - 0.0
55
- corner:
56
- - 0.0
57
- - 0.0
58
- - 0.5
59
- - 0.0
60
- junction:
61
- - 0.0
62
- - 0.0
63
- - 0.5
64
- - 0.0
65
- curvature_dissimilarity_threshold: 2
66
- corner_angles:
67
- - 45
68
- - 90
69
- - 135
70
- corner_angle_threshold: 22.5
71
- junction_angles:
72
- - 0
73
- - 45
74
- - 90
75
- - 135
76
- junction_angle_weights:
77
- - 1
78
- - 0.01
79
- - 0.1
80
- - 0.01
81
- junction_angle_threshold: 22.5
82
- lr: 0.1
83
- gamma: 0.995
84
- device: cuda
85
- tolerance:
86
- - 1
87
- seg_threshold: 0.5
88
- min_area: 10
89
- acm_method:
90
- steps: 500
91
- data_level: 0.5
92
- data_coef: 0.1
93
- length_coef: 0.4
94
- crossfield_coef: 0.5
95
- poly_lr: 0.01
96
- warmup_iters: 100
97
- warmup_factor: 0.1
98
- device: cuda
99
- tolerance:
100
- - 1
101
- seg_threshold: 0.5
102
- min_area: 10
103
  dataset:
104
- name: p3
105
  size: ${..experiment.encoder.in_size}
106
- path: ${host.data_root}/PixelsPointsPolygons/data/${.size}
107
  annotations:
108
- train: ${..path}/annotations_${...country}_train.json
109
- val: ${..path}/annotations_${...country}_val.json
110
- test: ${..path}/annotations_${...country}_test.json
111
  ffl_stats:
112
- train: ${..path}/ffl/train/stats-${...country}.pt
113
- val: ${..path}/ffl/val/stats-${...country}.pt
114
- test: ${..path}/ffl/test/stats-${...country}.pt
115
  train_subset: ${..run_type.train_subset}
116
  val_subset: ${..run_type.val_subset}
117
  test_subset: ${..run_type.test_subset}
118
  experiment:
119
  encoder:
120
- name: early_fusion_vit_cnn
121
  use_images: true
122
- use_lidar: true
 
 
 
123
  in_size: 224
124
  in_height: ${.in_size}
125
  in_width: ${.in_size}
126
- in_voxel_size:
127
- x: 8
128
- 'y': 8
129
- z: 100
130
- max_num_points_per_voxel: 64
131
- max_num_voxels:
132
- train: 784
133
- test: 784
134
- out_feature_size: ${..model.decoder.in_feature_size}
135
- out_feature_height: ${.out_feature_size}
136
- out_feature_width: ${.out_feature_size}
137
- out_feature_dim: ${..model.decoder.in_feature_dim}
138
- vit:
139
- type: vit_small_patch${..patch_size}_${..in_size}.dino
140
- checkpoint_file: ${....host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth
141
- pretrained: true
142
  patch_size: 8
143
  patch_feature_size: 28
144
  patch_feature_height: ${.patch_feature_size}
145
  patch_feature_width: ${.patch_feature_size}
146
  patch_feature_dim: 384
 
 
 
 
147
  image_mean:
148
  - 0.0
149
  - 0.0
@@ -158,7 +64,6 @@ experiment:
158
  - ColorJitter
159
  - GaussNoise
160
  - Normalize
161
- max_points_per_voxel: 64
162
  model:
163
  name: ffl
164
  compute_seg: true
@@ -224,33 +129,113 @@ experiment:
224
  patch_size: null
225
  patch_overlap: 200
226
  seg_threshold: 0.5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
227
  name: v4_image_bs4x16
228
  group_name: v2_${.model.name}
229
- output_dir: ${.host.data_root}/${.experiment.model.name}_outputs/${.dataset.name}/${.experiment.encoder.in_size}/${.experiment.name}
230
- checkpoint: best_val_iou
231
- checkpoint_file: null
232
- save_best: true
233
- save_latest: true
234
- save_every: 10
235
- val_every: 1
236
- best_val_loss: 10000000.0
237
- best_val_iou: 0.0
238
- multi_gpu: false
239
- device: cuda
240
- log_to_wandb: false
241
- num_workers: ${.run_type.num_workers}
242
- update_pbar_every: ${.host.update_pbar_every}
243
- country: Switzerland
244
- use_lidar: ${.experiment.encoder.use_lidar}
245
- use_images: ${.experiment.encoder.use_images}
246
- eval:
247
  split: val
248
- pred_file: ${..output_dir}/predictions_${..country}_${.split}/${..checkpoint}.json
249
  modes:
250
- - ldof
251
- - coco
252
  - iou
253
- - polis
254
- - mta
255
  eval_file: results/metrics
256
- ldof_exe: /user/rsulzer/home/cpp/line-DOF-metric/build/calculate_DoF
 
 
 
 
 
1
  host:
2
  name: gin
3
+ data_root: /data/rsulzer/${..dataset.name}
4
+ model_root: /data/rsulzer/${..dataset.name}_output
5
+ multi_gpu: false
6
+ device: cuda
7
  update_pbar_every: 1
8
+ ldof_exe: /user/rsulzer/home/cpp/line-DOF-metric/build/calculate_DoF
9
  run_type:
10
+ name: debug
11
  batch_size: 16
12
+ train_subset: 256
13
+ val_subset: 32
14
+ test_subset: 32
15
+ logging: DEBUG
16
+ num_workers: 0
17
+ log_to_wandb: false
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  dataset:
19
+ name: PixelsPointsPolygons
20
  size: ${..experiment.encoder.in_size}
21
+ path: ${host.data_root}/data/${.size}
22
  annotations:
23
+ train: ${..path}/annotations/annotations_${...experiment.country}_train.json
24
+ val: ${..path}/annotations/annotations_${...experiment.country}_val.json
25
+ test: ${..path}/annotations/annotations_${...experiment.country}_test.json
26
  ffl_stats:
27
+ train: ${..path}/ffl/train/stats-${...experiment.country}.pt
28
+ val: ${..path}/ffl/val/stats-${...experiment.country}.pt
29
+ test: ${..path}/ffl/test/stats-${...experiment.country}.pt
30
  train_subset: ${..run_type.train_subset}
31
  val_subset: ${..run_type.val_subset}
32
  test_subset: ${..run_type.test_subset}
33
  experiment:
34
  encoder:
35
+ name: vit_cnn
36
  use_images: true
37
+ use_lidar: false
38
+ type: vit_small_patch${.patch_size}_${.in_size}.dino
39
+ checkpoint_file: ${...host.model_root}/backbones/dino_deitsmall8_pretrain.pth
40
+ pretrained: true
41
  in_size: 224
42
  in_height: ${.in_size}
43
  in_width: ${.in_size}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  patch_size: 8
45
  patch_feature_size: 28
46
  patch_feature_height: ${.patch_feature_size}
47
  patch_feature_width: ${.patch_feature_size}
48
  patch_feature_dim: 384
49
+ out_feature_size: ${..model.decoder.in_feature_size}
50
+ out_feature_height: ${.out_feature_size}
51
+ out_feature_width: ${.out_feature_size}
52
+ out_feature_dim: ${..model.decoder.in_feature_dim}
53
  image_mean:
54
  - 0.0
55
  - 0.0
 
64
  - ColorJitter
65
  - GaussNoise
66
  - Normalize
 
67
  model:
68
  name: ffl
69
  compute_seg: true
 
129
  patch_size: null
130
  patch_overlap: 200
131
  seg_threshold: 0.5
132
+ polygonization:
133
+ method:
134
+ - acm
135
+ common_params:
136
+ init_data_level: 0.5
137
+ simple_method:
138
+ data_level: 0.5
139
+ tolerance:
140
+ - 1.0
141
+ seg_threshold: 0.5
142
+ min_area: 10
143
+ asm_method:
144
+ init_method: skeleton
145
+ data_level: 0.5
146
+ loss_params:
147
+ coefs:
148
+ step_thresholds:
149
+ - 0
150
+ - 100
151
+ - 200
152
+ - 300
153
+ data:
154
+ - 1.0
155
+ - 0.1
156
+ - 0.0
157
+ - 0.0
158
+ crossfield:
159
+ - 0.0
160
+ - 0.05
161
+ - 0.0
162
+ - 0.0
163
+ length:
164
+ - 0.1
165
+ - 0.01
166
+ - 0.0
167
+ - 0.0
168
+ curvature:
169
+ - 0.0
170
+ - 0.0
171
+ - 1.0
172
+ - 0.0
173
+ corner:
174
+ - 0.0
175
+ - 0.0
176
+ - 0.5
177
+ - 0.0
178
+ junction:
179
+ - 0.0
180
+ - 0.0
181
+ - 0.5
182
+ - 0.0
183
+ curvature_dissimilarity_threshold: 2
184
+ corner_angles:
185
+ - 45
186
+ - 90
187
+ - 135
188
+ corner_angle_threshold: 22.5
189
+ junction_angles:
190
+ - 0
191
+ - 45
192
+ - 90
193
+ - 135
194
+ junction_angle_weights:
195
+ - 1
196
+ - 0.01
197
+ - 0.1
198
+ - 0.01
199
+ junction_angle_threshold: 22.5
200
+ lr: 0.1
201
+ gamma: 0.995
202
+ device: cuda
203
+ tolerance:
204
+ - 1
205
+ seg_threshold: 0.5
206
+ min_area: 10
207
+ acm_method:
208
+ steps: 500
209
+ data_level: 0.5
210
+ data_coef: 0.1
211
+ length_coef: 0.4
212
+ crossfield_coef: 0.5
213
+ poly_lr: 0.01
214
+ warmup_iters: 100
215
+ warmup_factor: 0.1
216
+ device: cuda
217
+ tolerance:
218
+ - 1
219
+ seg_threshold: 0.5
220
+ min_area: 10
221
  name: v4_image_bs4x16
222
  group_name: v2_${.model.name}
223
+ country: CH
224
+ training:
225
+ save_best: true
226
+ save_latest: true
227
+ save_every: 10
228
+ val_every: 1
229
+ best_val_loss: 10000000.0
230
+ best_val_iou: 0.0
231
+ evaluation:
 
 
 
 
 
 
 
 
 
232
  split: val
233
+ pred_file: ${..output_dir}/predictions_${..experiment.country}_${.split}/${..checkpoint}.json
234
  modes:
 
 
235
  - iou
 
 
236
  eval_file: results/metrics
237
+ experiment.name: debug
238
+ output_dir: ${.host.model_root}/${.experiment.model.name}/${.experiment.encoder.in_size}/${.experiment.name}
239
+ checkpoint: best_val_iou
240
+ num_workers: ${.run_type.num_workers}
241
+ lidar_file: demo_data/lidar0_CH_val.copc.laz
ffl/224/v4_image_bs4x16/.hydra/hydra.yaml CHANGED
@@ -112,19 +112,15 @@ hydra:
112
  hydra:
113
  - hydra.mode=RUN
114
  task:
115
- - run_type=release
116
  - host=gin
117
- - device=cuda
118
- - log_to_wandb=false
119
- - multi_gpu=false
120
  - checkpoint=best_val_iou
121
- - country=Switzerland
122
- - eval.split=val
123
- - experiment.name=v4_image_bs4x16
124
  job:
125
- name: predict
126
  chdir: null
127
- override_dirname: checkpoint=best_val_iou,country=Switzerland,device=cuda,eval.split=val,experiment.name=v4_image_bs4x16,host=gin,log_to_wandb=false,multi_gpu=false,run_type=release
128
  id: ???
129
  num: ???
130
  config_name: config
@@ -149,14 +145,16 @@ hydra:
149
  - path: ''
150
  schema: structured
151
  provider: schema
152
- output_dir: /data/rsulzer/ffl_outputs/p3/224/v4_image_bs4x16
153
  choices:
154
- experiment: ffl_fusion
 
 
 
155
156
- [email protected]: early_fusion_vit_cnn
157
  dataset: p3
158
- polygonization: asm_acm
159
- run_type: release
160
  host: gin
161
  hydra/env: default
162
  hydra/callbacks: null
 
112
  hydra:
113
  - hydra.mode=RUN
114
  task:
115
+ - run_type=debug
116
  - host=gin
 
 
 
117
  - checkpoint=best_val_iou
118
+ - experiment=ffl_image
119
+ - +lidar_file=demo_data/lidar0_CH_val.copc.laz
 
120
  job:
121
+ name: predict_demo
122
  chdir: null
123
+ override_dirname: +lidar_file=demo_data/lidar0_CH_val.copc.laz,checkpoint=best_val_iou,experiment=ffl_image,host=gin,run_type=debug
124
  id: ???
125
  num: ???
126
  config_name: config
 
145
  - path: ''
146
  schema: structured
147
  provider: schema
148
+ output_dir: /data/rsulzer/PixelsPointsPolygons_output/ffl/224/v4_image_bs4x16
149
  choices:
150
+ evaluation: val
151
+ training: default
152
+ experiment: ffl_image
153
+ [email protected]: asm_acm
154
155
+ [email protected]: vit_cnn
156
  dataset: p3
157
+ run_type: debug
 
158
  host: gin
159
  hydra/env: default
160
  hydra/callbacks: null
ffl/224/v4_image_bs4x16/.hydra/overrides.yaml CHANGED
@@ -1,9 +1,5 @@
1
- - run_type=release
2
  - host=gin
3
- - device=cuda
4
- - log_to_wandb=false
5
- - multi_gpu=false
6
  - checkpoint=best_val_iou
7
- - country=Switzerland
8
- - eval.split=val
9
- - experiment.name=v4_image_bs4x16
 
1
+ - run_type=debug
2
  - host=gin
 
 
 
3
  - checkpoint=best_val_iou
4
+ - experiment=ffl_image
5
+ - +lidar_file=demo_data/lidar0_CH_val.copc.laz
 
ffl/224/v4_image_bs4x16/predict_demo.log ADDED
File without changes
ffl/224/v5_lidar_bs2x16_mnv64/.hydra/config.yaml CHANGED
@@ -1,118 +1,35 @@
1
  host:
2
- name: g5k
3
- data_root: /home/rsulzer/data
4
- update_pbar_every: 60
 
 
 
 
5
  run_type:
6
- name: release
7
  batch_size: 16
8
- train_subset: null
9
- val_subset: null
10
- test_subset: null
11
- logging: INFO
12
- num_workers: 16
13
- log_to_wandb: true
14
- polygonization:
15
- method:
16
- - acm
17
- common_params:
18
- init_data_level: 0.5
19
- simple_method:
20
- data_level: 0.5
21
- tolerance:
22
- - 1.0
23
- seg_threshold: 0.5
24
- min_area: 10
25
- asm_method:
26
- init_method: skeleton
27
- data_level: 0.5
28
- loss_params:
29
- coefs:
30
- step_thresholds:
31
- - 0
32
- - 100
33
- - 200
34
- - 300
35
- data:
36
- - 1.0
37
- - 0.1
38
- - 0.0
39
- - 0.0
40
- crossfield:
41
- - 0.0
42
- - 0.05
43
- - 0.0
44
- - 0.0
45
- length:
46
- - 0.1
47
- - 0.01
48
- - 0.0
49
- - 0.0
50
- curvature:
51
- - 0.0
52
- - 0.0
53
- - 1.0
54
- - 0.0
55
- corner:
56
- - 0.0
57
- - 0.0
58
- - 0.5
59
- - 0.0
60
- junction:
61
- - 0.0
62
- - 0.0
63
- - 0.5
64
- - 0.0
65
- curvature_dissimilarity_threshold: 2
66
- corner_angles:
67
- - 45
68
- - 90
69
- - 135
70
- corner_angle_threshold: 22.5
71
- junction_angles:
72
- - 0
73
- - 45
74
- - 90
75
- - 135
76
- junction_angle_weights:
77
- - 1
78
- - 0.01
79
- - 0.1
80
- - 0.01
81
- junction_angle_threshold: 22.5
82
- lr: 0.1
83
- gamma: 0.995
84
- device: cuda
85
- tolerance:
86
- - 1
87
- seg_threshold: 0.5
88
- min_area: 10
89
- acm_method:
90
- steps: 500
91
- data_level: 0.5
92
- data_coef: 0.1
93
- length_coef: 0.4
94
- crossfield_coef: 0.5
95
- poly_lr: 0.01
96
- warmup_iters: 100
97
- warmup_factor: 0.1
98
- device: cuda
99
- tolerance:
100
- - 1
101
- seg_threshold: 0.5
102
- min_area: 10
103
  dataset:
104
- name: lidarpoly
105
  size: ${..experiment.encoder.in_size}
106
- path: ${host.data_root}/${.name}/${.size}
107
  annotations:
108
- train: ${..path}/annotations_${...country}_train.json
109
- val: ${..path}/annotations_${...country}_val.json
110
- test: ${..path}/annotations_${...country}_test.json
 
 
 
 
111
  train_subset: ${..run_type.train_subset}
112
  val_subset: ${..run_type.val_subset}
113
  test_subset: ${..run_type.test_subset}
114
- augmentations:
115
- - D4
116
  experiment:
117
  encoder:
118
  name: pointpillars_vit_cnn
@@ -135,7 +52,7 @@ experiment:
135
  out_feature_dim: ${..model.decoder.in_feature_dim}
136
  vit:
137
  type: vit_small_patch${..patch_size}_${..in_size}.dino
138
- checkpoint_file: ${....host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth
139
  pretrained: true
140
  patch_size: 8
141
  patch_feature_size: 28
@@ -144,6 +61,7 @@ experiment:
144
  patch_feature_dim: 384
145
  augmentations:
146
  - D4
 
147
  model:
148
  name: ffl
149
  compute_seg: true
@@ -209,28 +127,113 @@ experiment:
209
  patch_size: null
210
  patch_overlap: 200
211
  seg_threshold: 0.5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
212
  name: v5_lidar_bs2x16_mnv64
213
  group_name: v2_${.model.name}
214
- output_dir: ${.host.data_root}/${.experiment.model.name}_outputs/${.dataset.name}/${.experiment.encoder.in_size}/${.experiment.name}
215
- checkpoint: null
216
- checkpoint_file: null
217
- save_best: true
218
- save_latest: true
219
- save_every: 10
220
- val_every: 1
221
- best_val_loss: 10000000.0
222
- best_val_iou: 0.0
223
- multi_gpu: true
224
- device: cuda
225
- log_to_wandb: true
226
- num_workers: ${.run_type.num_workers}
227
- update_pbar_every: ${.host.update_pbar_every}
228
- country: Switzerland
229
- use_lidar: ${.experiment.encoder.use_lidar}
230
- use_images: ${.experiment.encoder.use_images}
231
- eval:
232
  split: val
233
- pred_file: ${..output_dir}/predictions/${..checkpoint}.json
234
  modes:
235
  - iou
236
  eval_file: results/metrics
 
 
 
 
 
 
1
  host:
2
+ name: gin
3
+ data_root: /data/rsulzer/${..dataset.name}
4
+ model_root: /data/rsulzer/${..dataset.name}_output
5
+ multi_gpu: false
6
+ device: cuda
7
+ update_pbar_every: 1
8
+ ldof_exe: /user/rsulzer/home/cpp/line-DOF-metric/build/calculate_DoF
9
  run_type:
10
+ name: debug
11
  batch_size: 16
12
+ train_subset: 256
13
+ val_subset: 32
14
+ test_subset: 32
15
+ logging: DEBUG
16
+ num_workers: 0
17
+ log_to_wandb: false
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  dataset:
19
+ name: PixelsPointsPolygons
20
  size: ${..experiment.encoder.in_size}
21
+ path: ${host.data_root}/data/${.size}
22
  annotations:
23
+ train: ${..path}/annotations/annotations_${...experiment.country}_train.json
24
+ val: ${..path}/annotations/annotations_${...experiment.country}_val.json
25
+ test: ${..path}/annotations/annotations_${...experiment.country}_test.json
26
+ ffl_stats:
27
+ train: ${..path}/ffl/train/stats-${...experiment.country}.pt
28
+ val: ${..path}/ffl/val/stats-${...experiment.country}.pt
29
+ test: ${..path}/ffl/test/stats-${...experiment.country}.pt
30
  train_subset: ${..run_type.train_subset}
31
  val_subset: ${..run_type.val_subset}
32
  test_subset: ${..run_type.test_subset}
 
 
33
  experiment:
34
  encoder:
35
  name: pointpillars_vit_cnn
 
52
  out_feature_dim: ${..model.decoder.in_feature_dim}
53
  vit:
54
  type: vit_small_patch${..patch_size}_${..in_size}.dino
55
+ checkpoint_file: ${....host.model_root}/backbones/dino_deitsmall8_pretrain.pth
56
  pretrained: true
57
  patch_size: 8
58
  patch_feature_size: 28
 
61
  patch_feature_dim: 384
62
  augmentations:
63
  - D4
64
+ max_points_per_voxel: 64
65
  model:
66
  name: ffl
67
  compute_seg: true
 
127
  patch_size: null
128
  patch_overlap: 200
129
  seg_threshold: 0.5
130
+ polygonization:
131
+ method:
132
+ - acm
133
+ common_params:
134
+ init_data_level: 0.5
135
+ simple_method:
136
+ data_level: 0.5
137
+ tolerance:
138
+ - 1.0
139
+ seg_threshold: 0.5
140
+ min_area: 10
141
+ asm_method:
142
+ init_method: skeleton
143
+ data_level: 0.5
144
+ loss_params:
145
+ coefs:
146
+ step_thresholds:
147
+ - 0
148
+ - 100
149
+ - 200
150
+ - 300
151
+ data:
152
+ - 1.0
153
+ - 0.1
154
+ - 0.0
155
+ - 0.0
156
+ crossfield:
157
+ - 0.0
158
+ - 0.05
159
+ - 0.0
160
+ - 0.0
161
+ length:
162
+ - 0.1
163
+ - 0.01
164
+ - 0.0
165
+ - 0.0
166
+ curvature:
167
+ - 0.0
168
+ - 0.0
169
+ - 1.0
170
+ - 0.0
171
+ corner:
172
+ - 0.0
173
+ - 0.0
174
+ - 0.5
175
+ - 0.0
176
+ junction:
177
+ - 0.0
178
+ - 0.0
179
+ - 0.5
180
+ - 0.0
181
+ curvature_dissimilarity_threshold: 2
182
+ corner_angles:
183
+ - 45
184
+ - 90
185
+ - 135
186
+ corner_angle_threshold: 22.5
187
+ junction_angles:
188
+ - 0
189
+ - 45
190
+ - 90
191
+ - 135
192
+ junction_angle_weights:
193
+ - 1
194
+ - 0.01
195
+ - 0.1
196
+ - 0.01
197
+ junction_angle_threshold: 22.5
198
+ lr: 0.1
199
+ gamma: 0.995
200
+ device: cuda
201
+ tolerance:
202
+ - 1
203
+ seg_threshold: 0.5
204
+ min_area: 10
205
+ acm_method:
206
+ steps: 500
207
+ data_level: 0.5
208
+ data_coef: 0.1
209
+ length_coef: 0.4
210
+ crossfield_coef: 0.5
211
+ poly_lr: 0.01
212
+ warmup_iters: 100
213
+ warmup_factor: 0.1
214
+ device: cuda
215
+ tolerance:
216
+ - 1
217
+ seg_threshold: 0.5
218
+ min_area: 10
219
  name: v5_lidar_bs2x16_mnv64
220
  group_name: v2_${.model.name}
221
+ country: CH
222
+ training:
223
+ save_best: true
224
+ save_latest: true
225
+ save_every: 10
226
+ val_every: 1
227
+ best_val_loss: 10000000.0
228
+ best_val_iou: 0.0
229
+ evaluation:
 
 
 
 
 
 
 
 
 
230
  split: val
231
+ pred_file: ${..output_dir}/predictions_${..experiment.country}_${.split}/${..checkpoint}.json
232
  modes:
233
  - iou
234
  eval_file: results/metrics
235
+ experiment.name: debug
236
+ output_dir: ${.host.model_root}/${.experiment.model.name}/${.experiment.encoder.in_size}/${.experiment.name}
237
+ checkpoint: best_val_iou
238
+ num_workers: ${.run_type.num_workers}
239
+ lidar_file: demo_data/lidar0_CH_val.copc.laz
ffl/224/v5_lidar_bs2x16_mnv64/.hydra/hydra.yaml CHANGED
@@ -112,16 +112,15 @@ hydra:
112
  hydra:
113
  - hydra.mode=RUN
114
  task:
115
- - log_to_wandb=true
116
- - host=g5k
117
- - run_type=release
118
- - multi_gpu=true
119
- - checkpoint=null
120
- - experiment=lidar_density_ablation64
121
  job:
122
- name: train
123
  chdir: null
124
- override_dirname: checkpoint=null,experiment=lidar_density_ablation64,host=g5k,log_to_wandb=true,multi_gpu=true,run_type=release
125
  id: ???
126
  num: ???
127
  config_name: config
@@ -135,26 +134,28 @@ hydra:
135
  runtime:
136
  version: 1.3.2
137
  version_base: '1.3'
138
- cwd: /home/rsulzer/python/PixelsPointsPolygons
139
  config_sources:
140
  - path: hydra.conf
141
  schema: pkg
142
  provider: hydra
143
- - path: /home/rsulzer/python/PixelsPointsPolygons/config
144
  schema: file
145
  provider: main
146
  - path: ''
147
  schema: structured
148
  provider: schema
149
- output_dir: /home/rsulzer/data/ffl_outputs/lidarpoly/224/v5_lidar_bs2x16_mnv64
150
  choices:
151
- experiment: lidar_density_ablation64
 
 
 
152
153
  [email protected]: pointpillars_vit_cnn
154
- dataset: lidarpoly
155
- polygonization: asm_acm
156
- run_type: release
157
- host: g5k
158
  hydra/env: default
159
  hydra/callbacks: null
160
  hydra/job_logging: default
 
112
  hydra:
113
  - hydra.mode=RUN
114
  task:
115
+ - run_type=debug
116
+ - host=gin
117
+ - checkpoint=best_val_iou
118
+ - experiment=ffl_lidar
119
+ - +lidar_file=demo_data/lidar0_CH_val.copc.laz
 
120
  job:
121
+ name: predict_demo
122
  chdir: null
123
+ override_dirname: +lidar_file=demo_data/lidar0_CH_val.copc.laz,checkpoint=best_val_iou,experiment=ffl_lidar,host=gin,run_type=debug
124
  id: ???
125
  num: ???
126
  config_name: config
 
134
  runtime:
135
  version: 1.3.2
136
  version_base: '1.3'
137
+ cwd: /run/netsop/u/home-sam/home/rsulzer/remote_python/pixelspointspolygons
138
  config_sources:
139
  - path: hydra.conf
140
  schema: pkg
141
  provider: hydra
142
+ - path: /run/netsop/u/home-sam/home/rsulzer/remote_python/pixelspointspolygons/config
143
  schema: file
144
  provider: main
145
  - path: ''
146
  schema: structured
147
  provider: schema
148
+ output_dir: /data/rsulzer/PixelsPointsPolygons_output/ffl/224/v5_lidar_bs2x16_mnv64
149
  choices:
150
+ evaluation: val
151
+ training: default
152
+ experiment: ffl_lidar
153
+ [email protected]: asm_acm
154
155
  [email protected]: pointpillars_vit_cnn
156
+ dataset: p3
157
+ run_type: debug
158
+ host: gin
 
159
  hydra/env: default
160
  hydra/callbacks: null
161
  hydra/job_logging: default
ffl/224/v5_lidar_bs2x16_mnv64/.hydra/overrides.yaml CHANGED
@@ -1,6 +1,5 @@
1
- - log_to_wandb=true
2
- - host=g5k
3
- - run_type=release
4
- - multi_gpu=true
5
- - checkpoint=null
6
- - experiment=lidar_density_ablation64
 
1
+ - run_type=debug
2
+ - host=gin
3
+ - checkpoint=best_val_iou
4
+ - experiment=ffl_lidar
5
+ - +lidar_file=demo_data/lidar0_CH_val.copc.laz
 
ffl/224/v5_lidar_bs2x16_mnv64/predict_demo.log ADDED
File without changes
hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/.hydra/config.yaml CHANGED
@@ -1,117 +1,32 @@
1
  host:
2
  name: gin
3
- data_root: /data/rsulzer
 
 
 
4
  update_pbar_every: 1
 
5
  run_type:
6
- name: release
7
  batch_size: 16
8
- train_subset: null
9
- val_subset: null
10
- test_subset: null
11
- logging: INFO
12
- num_workers: 16
13
- log_to_wandb: true
14
- polygonization:
15
- method:
16
- - acm
17
- common_params:
18
- init_data_level: 0.5
19
- simple_method:
20
- data_level: 0.5
21
- tolerance:
22
- - 1.0
23
- seg_threshold: 0.5
24
- min_area: 10
25
- asm_method:
26
- init_method: skeleton
27
- data_level: 0.5
28
- loss_params:
29
- coefs:
30
- step_thresholds:
31
- - 0
32
- - 100
33
- - 200
34
- - 300
35
- data:
36
- - 1.0
37
- - 0.1
38
- - 0.0
39
- - 0.0
40
- crossfield:
41
- - 0.0
42
- - 0.05
43
- - 0.0
44
- - 0.0
45
- length:
46
- - 0.1
47
- - 0.01
48
- - 0.0
49
- - 0.0
50
- curvature:
51
- - 0.0
52
- - 0.0
53
- - 1.0
54
- - 0.0
55
- corner:
56
- - 0.0
57
- - 0.0
58
- - 0.5
59
- - 0.0
60
- junction:
61
- - 0.0
62
- - 0.0
63
- - 0.5
64
- - 0.0
65
- curvature_dissimilarity_threshold: 2
66
- corner_angles:
67
- - 45
68
- - 90
69
- - 135
70
- corner_angle_threshold: 22.5
71
- junction_angles:
72
- - 0
73
- - 45
74
- - 90
75
- - 135
76
- junction_angle_weights:
77
- - 1
78
- - 0.01
79
- - 0.1
80
- - 0.01
81
- junction_angle_threshold: 22.5
82
- lr: 0.1
83
- gamma: 0.995
84
- device: cuda
85
- tolerance:
86
- - 1
87
- seg_threshold: 0.5
88
- min_area: 10
89
- acm_method:
90
- steps: 500
91
- data_level: 0.5
92
- data_coef: 0.1
93
- length_coef: 0.4
94
- crossfield_coef: 0.5
95
- poly_lr: 0.01
96
- warmup_iters: 100
97
- warmup_factor: 0.1
98
- device: cuda
99
- tolerance:
100
- - 1
101
- seg_threshold: 0.5
102
- min_area: 10
103
  dataset:
104
- name: p3
105
  size: ${..experiment.encoder.in_size}
106
- path: ${host.data_root}/PixelsPointsPolygons/data/${.size}
107
  annotations:
108
- train: ${..path}/annotations_${...country}_train.json
109
- val: ${..path}/annotations_${...country}_val.json
110
- test: ${..path}/annotations_${...country}_test.json
111
  ffl_stats:
112
- train: ${..path}/ffl/train/stats-${...country}.pt
113
- val: ${..path}/ffl/val/stats-${...country}.pt
114
- test: ${..path}/ffl/test/stats-${...country}.pt
115
  train_subset: ${..run_type.train_subset}
116
  val_subset: ${..run_type.val_subset}
117
  test_subset: ${..run_type.test_subset}
@@ -137,7 +52,7 @@ experiment:
137
  out_feature_dim: ${..model.decoder.in_feature_dim}
138
  vit:
139
  type: vit_small_patch${..patch_size}_${..in_size}.dino
140
- checkpoint_file: ${....host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth
141
  pretrained: true
142
  patch_size: 8
143
  patch_feature_size: 28
@@ -188,31 +103,23 @@ experiment:
188
  loss_remask: 1.0
189
  name: early_fusion_vit_cnn_bs2x16_mnv64
190
  group_name: v2_${.model.name}
191
- output_dir: ${.host.data_root}/${.experiment.model.name}_outputs/${.dataset.name}/${.experiment.encoder.in_size}/${.experiment.name}
192
- checkpoint: best_val_iou
193
- checkpoint_file: null
194
- save_best: true
195
- save_latest: true
196
- save_every: 10
197
- val_every: 1
198
- best_val_loss: 10000000.0
199
- best_val_iou: 0.0
200
- multi_gpu: false
201
- device: cuda
202
- log_to_wandb: false
203
- num_workers: ${.run_type.num_workers}
204
- update_pbar_every: ${.host.update_pbar_every}
205
- country: CH
206
- use_lidar: ${.experiment.encoder.use_lidar}
207
- use_images: ${.experiment.encoder.use_images}
208
- eval:
209
  split: val
210
- pred_file: ${..output_dir}/predictions_${..country}_${.split}/${..checkpoint}.json
211
  modes:
212
- - ldof
213
- - coco
214
  - iou
215
- - polis
216
- - mta
217
  eval_file: results/metrics
218
- ldof_exe: /user/rsulzer/home/cpp/line-DOF-metric/build/calculate_DoF
 
 
 
 
 
 
1
  host:
2
  name: gin
3
+ data_root: /data/rsulzer/${..dataset.name}
4
+ model_root: /data/rsulzer/${..dataset.name}_output
5
+ multi_gpu: false
6
+ device: cuda
7
  update_pbar_every: 1
8
+ ldof_exe: /user/rsulzer/home/cpp/line-DOF-metric/build/calculate_DoF
9
  run_type:
10
+ name: debug
11
  batch_size: 16
12
+ train_subset: 256
13
+ val_subset: 32
14
+ test_subset: 32
15
+ logging: DEBUG
16
+ num_workers: 0
17
+ log_to_wandb: false
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  dataset:
19
+ name: PixelsPointsPolygons
20
  size: ${..experiment.encoder.in_size}
21
+ path: ${host.data_root}/data/${.size}
22
  annotations:
23
+ train: ${..path}/annotations/annotations_${...experiment.country}_train.json
24
+ val: ${..path}/annotations/annotations_${...experiment.country}_val.json
25
+ test: ${..path}/annotations/annotations_${...experiment.country}_test.json
26
  ffl_stats:
27
+ train: ${..path}/ffl/train/stats-${...experiment.country}.pt
28
+ val: ${..path}/ffl/val/stats-${...experiment.country}.pt
29
+ test: ${..path}/ffl/test/stats-${...experiment.country}.pt
30
  train_subset: ${..run_type.train_subset}
31
  val_subset: ${..run_type.val_subset}
32
  test_subset: ${..run_type.test_subset}
 
52
  out_feature_dim: ${..model.decoder.in_feature_dim}
53
  vit:
54
  type: vit_small_patch${..patch_size}_${..in_size}.dino
55
+ checkpoint_file: ${....host.model_root}/backbones/dino_deitsmall8_pretrain.pth
56
  pretrained: true
57
  patch_size: 8
58
  patch_feature_size: 28
 
103
  loss_remask: 1.0
104
  name: early_fusion_vit_cnn_bs2x16_mnv64
105
  group_name: v2_${.model.name}
106
+ country: all
107
+ training:
108
+ save_best: true
109
+ save_latest: true
110
+ save_every: 10
111
+ val_every: 1
112
+ best_val_loss: 10000000.0
113
+ best_val_iou: 0.0
114
+ evaluation:
 
 
 
 
 
 
 
 
 
115
  split: val
116
+ pred_file: ${..output_dir}/predictions_${..experiment.country}_${.split}/${..checkpoint}.json
117
  modes:
 
 
118
  - iou
 
 
119
  eval_file: results/metrics
120
+ experiment.name: debug
121
+ output_dir: ${.host.model_root}/${.experiment.model.name}/${.experiment.encoder.in_size}/${.experiment.name}
122
+ checkpoint: best_val_iou
123
+ num_workers: ${.run_type.num_workers}
124
+ image_file: demo_data/image0_CH_val.tif
125
+ lidar_file: demo_data/lidar0_CH_val.copc.laz
hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/.hydra/hydra.yaml CHANGED
@@ -112,19 +112,16 @@ hydra:
112
  hydra:
113
  - hydra.mode=RUN
114
  task:
115
- - run_type=release
116
  - host=gin
117
- - device=cuda
118
- - log_to_wandb=false
119
- - multi_gpu=false
120
  - checkpoint=best_val_iou
121
- - eval.split=val
122
  - experiment=hisup_fusion
123
- - experiment.name=early_fusion_vit_cnn_bs2x16_mnv64
 
124
  job:
125
- name: predict
126
  chdir: null
127
- override_dirname: checkpoint=best_val_iou,device=cuda,eval.split=val,experiment.name=early_fusion_vit_cnn_bs2x16_mnv64,experiment=hisup_fusion,host=gin,log_to_wandb=false,multi_gpu=false,run_type=release
128
  id: ???
129
  num: ???
130
  config_name: config
@@ -149,14 +146,15 @@ hydra:
149
  - path: ''
150
  schema: structured
151
  provider: schema
152
- output_dir: /data/rsulzer/hisup_outputs/p3/224/early_fusion_vit_cnn_bs2x16_mnv64
153
  choices:
 
 
154
  experiment: hisup_fusion
155
  [email protected]: hisup
156
  [email protected]: early_fusion_vit_cnn
157
  dataset: p3
158
- polygonization: asm_acm
159
- run_type: release
160
  host: gin
161
  hydra/env: default
162
  hydra/callbacks: null
 
112
  hydra:
113
  - hydra.mode=RUN
114
  task:
115
+ - run_type=debug
116
  - host=gin
 
 
 
117
  - checkpoint=best_val_iou
 
118
  - experiment=hisup_fusion
119
+ - +image_file=demo_data/image0_CH_val.tif
120
+ - +lidar_file=demo_data/lidar0_CH_val.copc.laz
121
  job:
122
+ name: predict_demo
123
  chdir: null
124
+ override_dirname: +image_file=demo_data/image0_CH_val.tif,+lidar_file=demo_data/lidar0_CH_val.copc.laz,checkpoint=best_val_iou,experiment=hisup_fusion,host=gin,run_type=debug
125
  id: ???
126
  num: ???
127
  config_name: config
 
146
  - path: ''
147
  schema: structured
148
  provider: schema
149
+ output_dir: /data/rsulzer/PixelsPointsPolygons_output/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64
150
  choices:
151
+ evaluation: val
152
+ training: default
153
  experiment: hisup_fusion
154
  [email protected]: hisup
155
  [email protected]: early_fusion_vit_cnn
156
  dataset: p3
157
+ run_type: debug
 
158
  host: gin
159
  hydra/env: default
160
  hydra/callbacks: null
hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/.hydra/overrides.yaml CHANGED
@@ -1,9 +1,6 @@
1
- - run_type=release
2
  - host=gin
3
- - device=cuda
4
- - log_to_wandb=false
5
- - multi_gpu=false
6
  - checkpoint=best_val_iou
7
- - eval.split=val
8
  - experiment=hisup_fusion
9
- - experiment.name=early_fusion_vit_cnn_bs2x16_mnv64
 
 
1
+ - run_type=debug
2
  - host=gin
 
 
 
3
  - checkpoint=best_val_iou
 
4
  - experiment=hisup_fusion
5
+ - +image_file=demo_data/image0_CH_val.tif
6
+ - +lidar_file=demo_data/lidar0_CH_val.copc.laz
hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/predict_demo.log ADDED
File without changes
hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/.hydra/config.yaml CHANGED
@@ -1,211 +1,112 @@
1
- encoder:
2
- name: pointpillars_vit_cnn
3
- use_images: false
4
- use_lidar: true
5
- in_size: 224
6
- in_height: ${.in_size}
7
- in_width: ${.in_size}
8
- in_voxel_size:
9
- x: 8
10
- 'y': 8
11
- z: 100
12
- max_num_points_per_voxel: 64
13
- max_num_voxels:
14
- train: 784
15
- test: 784
16
- out_feature_size: ${..model.decoder.in_feature_size}
17
- out_feature_height: ${.out_feature_size}
18
- out_feature_width: ${.out_feature_size}
19
- out_feature_dim: ${..model.decoder.in_feature_dim}
20
- vit:
21
- type: vit_small_patch${..patch_size}_${..in_size}.dino
22
- checkpoint_file: ${...host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth
23
- pretrained: true
24
- patch_size: 8
25
- patch_feature_size: 28
26
- patch_feature_height: ${.patch_feature_size}
27
- patch_feature_width: ${.patch_feature_size}
28
- patch_feature_dim: 384
29
- augmentations:
30
- - D4
31
- model:
32
- name: hisup
33
- decoder:
34
- in_feature_size: 224
35
- in_feature_width: ${.in_feature_size}
36
- in_feature_height: ${.in_feature_size}
37
- in_feature_dim: 256
38
- point_pillars:
39
- out_channels:
40
- - 128
41
- - 128
42
- - 128
43
- upsample_strides:
44
- - 1
45
- - 2
46
- - 4
47
  batch_size: 16
48
- start_epoch: 0
49
- num_epochs: 200
50
- milestone: 0
51
- learning_rate: 0.0001
52
- weight_decay: 0.0001
53
- loss_weights:
54
- loss_joff: 0.25
55
- loss_jloc: 8.0
56
- loss_mask: 1.0
57
- loss_afm: 0.1
58
- loss_remask: 1.0
59
- polygonization:
60
- method:
61
- - acm
62
- common_params:
63
- init_data_level: 0.5
64
- simple_method:
65
- data_level: 0.5
66
- tolerance:
67
- - 1.0
68
- seg_threshold: 0.5
69
- min_area: 10
70
- asm_method:
71
- init_method: skeleton
72
- data_level: 0.5
73
- loss_params:
74
- coefs:
75
- step_thresholds:
76
- - 0
77
- - 100
78
- - 200
79
- - 300
80
- data:
81
- - 1.0
82
- - 0.1
83
- - 0.0
84
- - 0.0
85
- crossfield:
86
- - 0.0
87
- - 0.05
88
- - 0.0
89
- - 0.0
90
- length:
91
- - 0.1
92
- - 0.01
93
- - 0.0
94
- - 0.0
95
- curvature:
96
- - 0.0
97
- - 0.0
98
- - 1.0
99
- - 0.0
100
- corner:
101
- - 0.0
102
- - 0.0
103
- - 0.5
104
- - 0.0
105
- junction:
106
- - 0.0
107
- - 0.0
108
- - 0.5
109
- - 0.0
110
- curvature_dissimilarity_threshold: 2
111
- corner_angles:
112
- - 45
113
- - 90
114
- - 135
115
- corner_angle_threshold: 22.5
116
- junction_angles:
117
- - 0
118
- - 45
119
- - 90
120
- - 135
121
- junction_angle_weights:
122
- - 1
123
- - 0.01
124
- - 0.1
125
- - 0.01
126
- junction_angle_threshold: 22.5
127
- lr: 0.1
128
- gamma: 0.995
129
- device: cuda
130
- tolerance:
131
- - 1
132
- seg_threshold: 0.5
133
- min_area: 10
134
- acm_method:
135
- steps: 500
136
- data_level: 0.5
137
- data_coef: 0.1
138
- length_coef: 0.4
139
- crossfield_coef: 0.5
140
- poly_lr: 0.01
141
- warmup_iters: 100
142
- warmup_factor: 0.1
143
- device: cuda
144
- tolerance:
145
- - 1
146
- seg_threshold: 0.5
147
- min_area: 10
148
  dataset:
149
- name: lidarpoly
150
- size: ${..encoder.in_size}
151
- path: ${host.data_root}/${.name}/${.size}
152
  annotations:
153
- train: ${..path}/annotations_train.json
154
- val: ${..path}/annotations_val.json
155
- test: ${..path}/annotations_test.json
 
 
 
 
156
  train_subset: ${..run_type.train_subset}
157
  val_subset: ${..run_type.val_subset}
158
- augmentations:
159
- - D4
160
- run_type:
161
- name: release
162
- batch_size: 16
163
- train_subset: null
164
- val_subset: null
165
- logging: INFO
166
- num_workers: 16
167
- log_to_wandb: true
168
- host:
169
- name: g5k
170
- data_root: /home/rsulzer/data
171
- update_pbar_every: 60
172
- output_dir: ${.host.data_root}/${.model.name}_outputs/${.dataset.name}/${.encoder.in_size}/${.experiment_name}
173
- checkpoint: null
174
- checkpoint_file: null
175
- experiment_name: lidar_pp_vit_cnn_bs2x16_mnv64
176
- group_name: v2_${.model.name}
177
- multi_gpu: true
178
- device: cuda
179
- log_to_wandb: true
180
- num_workers: ${.run_type.num_workers}
181
- update_pbar_every: ${.host.update_pbar_every}
182
- use_lidar: ${.encoder.use_lidar}
183
- use_images: ${.encoder.use_images}
184
- save_best: true
185
- save_latest: true
186
- save_every: 10
187
- val_every: 1
188
- best_val_loss: 10000000.0
189
- best_val_iou: 0.0
190
- eval:
191
- gt_file: ${..dataset.annotations.val}
192
- pred_file: ${..output_dir}/predictions/${..checkpoint}.json
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
193
  modes:
194
  - iou
195
- experiments:
196
- - model: ffl
197
- experiment_name:
198
- - 224/v3_image_vit_cnn_bs4x16
199
- - 224/v3_lidar_pp_vit_cnn_bs2x16
200
- - 224/fusion_vit_cnn_bs16
201
- - model: hisup
202
- experiment_name:
203
- - 224/v3_image_hrnet224_bs4x16
204
- - 224/v3_lidar_pp_vit_cnn_bs2x16
205
- - 224/early_fusion_vit_cnn_bs16
206
- - model: pix2poly
207
- experiment_name:
208
- - 224/image_only_bs4x16
209
- - 224/lidar_only_bs2x16
210
- - 224/fusion_bs2x16
211
  eval_file: results/metrics
 
 
 
 
 
 
1
+ host:
2
+ name: gin
3
+ data_root: /data/rsulzer/${..dataset.name}
4
+ model_root: /data/rsulzer/${..dataset.name}_output
5
+ multi_gpu: false
6
+ device: cuda
7
+ update_pbar_every: 1
8
+ ldof_exe: /user/rsulzer/home/cpp/line-DOF-metric/build/calculate_DoF
9
+ run_type:
10
+ name: debug
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  batch_size: 16
12
+ train_subset: 256
13
+ val_subset: 32
14
+ test_subset: 32
15
+ logging: DEBUG
16
+ num_workers: 0
17
+ log_to_wandb: false
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  dataset:
19
+ name: PixelsPointsPolygons
20
+ size: ${..experiment.encoder.in_size}
21
+ path: ${host.data_root}/data/${.size}
22
  annotations:
23
+ train: ${..path}/annotations/annotations_${...experiment.country}_train.json
24
+ val: ${..path}/annotations/annotations_${...experiment.country}_val.json
25
+ test: ${..path}/annotations/annotations_${...experiment.country}_test.json
26
+ ffl_stats:
27
+ train: ${..path}/ffl/train/stats-${...experiment.country}.pt
28
+ val: ${..path}/ffl/val/stats-${...experiment.country}.pt
29
+ test: ${..path}/ffl/test/stats-${...experiment.country}.pt
30
  train_subset: ${..run_type.train_subset}
31
  val_subset: ${..run_type.val_subset}
32
+ test_subset: ${..run_type.test_subset}
33
+ experiment:
34
+ encoder:
35
+ name: pointpillars_vit_cnn
36
+ use_images: false
37
+ use_lidar: true
38
+ in_size: 224
39
+ in_height: ${.in_size}
40
+ in_width: ${.in_size}
41
+ in_voxel_size:
42
+ x: 8
43
+ 'y': 8
44
+ z: 100
45
+ max_num_points_per_voxel: 64
46
+ max_num_voxels:
47
+ train: 784
48
+ test: 784
49
+ out_feature_size: ${..model.decoder.in_feature_size}
50
+ out_feature_height: ${.out_feature_size}
51
+ out_feature_width: ${.out_feature_size}
52
+ out_feature_dim: ${..model.decoder.in_feature_dim}
53
+ vit:
54
+ type: vit_small_patch${..patch_size}_${..in_size}.dino
55
+ checkpoint_file: ${....host.model_root}/backbones/dino_deitsmall8_pretrain.pth
56
+ pretrained: true
57
+ patch_size: 8
58
+ patch_feature_size: 28
59
+ patch_feature_height: ${.patch_feature_size}
60
+ patch_feature_width: ${.patch_feature_size}
61
+ patch_feature_dim: 384
62
+ augmentations:
63
+ - D4
64
+ model:
65
+ name: hisup
66
+ decoder:
67
+ in_feature_size: 224
68
+ in_feature_width: ${.in_feature_size}
69
+ in_feature_height: ${.in_feature_size}
70
+ in_feature_dim: 256
71
+ point_pillars:
72
+ out_channels:
73
+ - 128
74
+ - 128
75
+ - 128
76
+ upsample_strides:
77
+ - 1
78
+ - 2
79
+ - 4
80
+ batch_size: ${...run_type.batch_size}
81
+ start_epoch: 0
82
+ num_epochs: 200
83
+ milestone: 0
84
+ learning_rate: 0.0001
85
+ weight_decay: 0.0001
86
+ loss_weights:
87
+ loss_joff: 0.25
88
+ loss_jloc: 8.0
89
+ loss_mask: 1.0
90
+ loss_afm: 0.1
91
+ loss_remask: 1.0
92
+ name: lidar_pp_vit_cnn_bs2x16_mnv64
93
+ group_name: v2_${.model.name}
94
+ country: CH
95
+ training:
96
+ save_best: true
97
+ save_latest: true
98
+ save_every: 10
99
+ val_every: 1
100
+ best_val_loss: 10000000.0
101
+ best_val_iou: 0.0
102
+ evaluation:
103
+ split: val
104
+ pred_file: ${..output_dir}/predictions_${..experiment.country}_${.split}/${..checkpoint}.json
105
  modes:
106
  - iou
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
107
  eval_file: results/metrics
108
+ experiment.name: debug
109
+ output_dir: ${.host.model_root}/${.experiment.model.name}/${.experiment.encoder.in_size}/${.experiment.name}
110
+ checkpoint: best_val_iou
111
+ num_workers: ${.run_type.num_workers}
112
+ lidar_file: demo_data/lidar0_CH_val.copc.laz
hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/.hydra/hydra.yaml CHANGED
@@ -112,19 +112,15 @@ hydra:
112
  hydra:
113
  - hydra.mode=RUN
114
  task:
115
- - log_to_wandb=true
116
- - host=g5k
117
- - run_type=release
118
- - multi_gpu=true
119
- - experiment_name=lidar_pp_vit_cnn_bs2x16_mnv64
120
- - checkpoint=null
121
- - model.batch_size=16
122
- - encoder=pointpillars_vit_cnn
123
- - model=hisup
124
  job:
125
- name: train
126
  chdir: null
127
- override_dirname: checkpoint=null,encoder=pointpillars_vit_cnn,experiment_name=lidar_pp_vit_cnn_bs2x16_mnv64,host=g5k,log_to_wandb=true,model.batch_size=16,model=hisup,multi_gpu=true,run_type=release
128
  id: ???
129
  num: ???
130
  config_name: config
@@ -138,25 +134,27 @@ hydra:
138
  runtime:
139
  version: 1.3.2
140
  version_base: '1.3'
141
- cwd: /home/rsulzer/python/PixelsPointsPolygons
142
  config_sources:
143
  - path: hydra.conf
144
  schema: pkg
145
  provider: hydra
146
- - path: /home/rsulzer/python/PixelsPointsPolygons/config
147
  schema: file
148
  provider: main
149
  - path: ''
150
  schema: structured
151
  provider: schema
152
- output_dir: /home/rsulzer/data/hisup_outputs/lidarpoly/224/lidar_pp_vit_cnn_bs2x16_mnv64
153
  choices:
154
- host: g5k
155
- run_type: release
156
- dataset: lidarpoly
157
- polygonization: asm_acm
158
- model: hisup
159
- encoder: pointpillars_vit_cnn
 
 
160
  hydra/env: default
161
  hydra/callbacks: null
162
  hydra/job_logging: default
 
112
  hydra:
113
  - hydra.mode=RUN
114
  task:
115
+ - run_type=debug
116
+ - host=gin
117
+ - checkpoint=best_val_iou
118
+ - experiment=hisup_lidar
119
+ - +lidar_file=demo_data/lidar0_CH_val.copc.laz
 
 
 
 
120
  job:
121
+ name: predict_demo
122
  chdir: null
123
+ override_dirname: +lidar_file=demo_data/lidar0_CH_val.copc.laz,checkpoint=best_val_iou,experiment=hisup_lidar,host=gin,run_type=debug
124
  id: ???
125
  num: ???
126
  config_name: config
 
134
  runtime:
135
  version: 1.3.2
136
  version_base: '1.3'
137
+ cwd: /run/netsop/u/home-sam/home/rsulzer/remote_python/pixelspointspolygons
138
  config_sources:
139
  - path: hydra.conf
140
  schema: pkg
141
  provider: hydra
142
+ - path: /run/netsop/u/home-sam/home/rsulzer/remote_python/pixelspointspolygons/config
143
  schema: file
144
  provider: main
145
  - path: ''
146
  schema: structured
147
  provider: schema
148
+ output_dir: /data/rsulzer/PixelsPointsPolygons_output/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64
149
  choices:
150
+ evaluation: val
151
+ training: default
152
+ experiment: hisup_lidar
153
154
+ [email protected]: pointpillars_vit_cnn
155
+ dataset: p3
156
+ run_type: debug
157
+ host: gin
158
  hydra/env: default
159
  hydra/callbacks: null
160
  hydra/job_logging: default
hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/.hydra/overrides.yaml CHANGED
@@ -1,9 +1,5 @@
1
- - log_to_wandb=true
2
- - host=g5k
3
- - run_type=release
4
- - multi_gpu=true
5
- - experiment_name=lidar_pp_vit_cnn_bs2x16_mnv64
6
- - checkpoint=null
7
- - model.batch_size=16
8
- - encoder=pointpillars_vit_cnn
9
- - model=hisup
 
1
+ - run_type=debug
2
+ - host=gin
3
+ - checkpoint=best_val_iou
4
+ - experiment=hisup_lidar
5
+ - +lidar_file=demo_data/lidar0_CH_val.copc.laz
 
 
 
 
hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/predict_demo.log ADDED
@@ -0,0 +1 @@
 
 
1
+ [2025-05-21 19:42:57,731][timm.models._helpers][ERROR] - No checkpoint found at '/data/rsulzer/PixelsPointsPolygons/checkpoints/backbones/dino_deitsmall8_pretrain.pth'
hisup/224/v3_image_vit_cnn_bs4x12/.hydra/config.yaml CHANGED
@@ -1,214 +1,115 @@
1
- encoder:
2
- name: vit_cnn
3
- use_images: true
4
- use_lidar: false
5
- type: vit_small_patch${.patch_size}_${.in_size}.dino
6
- checkpoint_file: ${..host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth
7
- pretrained: true
8
- in_size: 224
9
- in_height: ${.in_size}
10
- in_width: ${.in_size}
11
- patch_size: 8
12
- patch_feature_size: 28
13
- patch_feature_height: ${.patch_feature_size}
14
- patch_feature_width: ${.patch_feature_size}
15
- patch_feature_dim: 384
16
- out_feature_size: ${..model.decoder.in_feature_size}
17
- out_feature_height: ${.out_feature_size}
18
- out_feature_width: ${.out_feature_size}
19
- out_feature_dim: ${..model.decoder.in_feature_dim}
20
- image_mean:
21
- - 0.0
22
- - 0.0
23
- - 0.0
24
- image_std:
25
- - 1.0
26
- - 1.0
27
- - 1.0
28
- image_max_pixel_value: 255.0
29
- augmentations:
30
- - D4
31
- - ColorJitter
32
- - GaussNoise
33
- - Normalize
34
- model:
35
- name: hisup
36
- decoder:
37
- in_feature_size: 224
38
- in_feature_width: ${.in_feature_size}
39
- in_feature_height: ${.in_feature_size}
40
- in_feature_dim: 256
41
- point_pillars:
42
- out_channels:
43
- - 128
44
- - 128
45
- - 128
46
- upsample_strides:
47
- - 1
48
- - 2
49
- - 4
50
- batch_size: 12
51
- start_epoch: 0
52
- num_epochs: 200
53
- milestone: 0
54
- learning_rate: 0.0001
55
- weight_decay: 0.0001
56
- loss_weights:
57
- loss_joff: 0.25
58
- loss_jloc: 8.0
59
- loss_mask: 1.0
60
- loss_afm: 0.1
61
- loss_remask: 1.0
62
- polygonization:
63
- method:
64
- - acm
65
- common_params:
66
- init_data_level: 0.5
67
- simple_method:
68
- data_level: 0.5
69
- tolerance:
70
- - 1.0
71
- seg_threshold: 0.5
72
- min_area: 10
73
- asm_method:
74
- init_method: skeleton
75
- data_level: 0.5
76
- loss_params:
77
- coefs:
78
- step_thresholds:
79
- - 0
80
- - 100
81
- - 200
82
- - 300
83
- data:
84
- - 1.0
85
- - 0.1
86
- - 0.0
87
- - 0.0
88
- crossfield:
89
- - 0.0
90
- - 0.05
91
- - 0.0
92
- - 0.0
93
- length:
94
- - 0.1
95
- - 0.01
96
- - 0.0
97
- - 0.0
98
- curvature:
99
- - 0.0
100
- - 0.0
101
- - 1.0
102
- - 0.0
103
- corner:
104
- - 0.0
105
- - 0.0
106
- - 0.5
107
- - 0.0
108
- junction:
109
- - 0.0
110
- - 0.0
111
- - 0.5
112
- - 0.0
113
- curvature_dissimilarity_threshold: 2
114
- corner_angles:
115
- - 45
116
- - 90
117
- - 135
118
- corner_angle_threshold: 22.5
119
- junction_angles:
120
- - 0
121
- - 45
122
- - 90
123
- - 135
124
- junction_angle_weights:
125
- - 1
126
- - 0.01
127
- - 0.1
128
- - 0.01
129
- junction_angle_threshold: 22.5
130
- lr: 0.1
131
- gamma: 0.995
132
- device: cuda
133
- tolerance:
134
- - 1
135
- seg_threshold: 0.5
136
- min_area: 10
137
- acm_method:
138
- steps: 500
139
- data_level: 0.5
140
- data_coef: 0.1
141
- length_coef: 0.4
142
- crossfield_coef: 0.5
143
- poly_lr: 0.01
144
- warmup_iters: 100
145
- warmup_factor: 0.1
146
- device: cuda
147
- tolerance:
148
- - 1
149
- seg_threshold: 0.5
150
- min_area: 10
151
  dataset:
152
- name: lidarpoly
153
- size: ${..encoder.in_size}
154
- path: ${host.data_root}/${.name}/${.size}
155
  annotations:
156
- train: ${..path}/annotations_train.json
157
- val: ${..path}/annotations_val.json
158
- test: ${..path}/annotations_test.json
 
 
 
 
159
  train_subset: ${..run_type.train_subset}
160
  val_subset: ${..run_type.val_subset}
161
- augmentations:
162
- - D4
163
- run_type:
164
- name: release
165
- batch_size: 16
166
- train_subset: null
167
- val_subset: null
168
- logging: INFO
169
- num_workers: 16
170
- log_to_wandb: true
171
- host:
172
- name: jeanzay
173
- data_root: /lustre/fswork/projects/rech/cso/uku93eu/data
174
- update_pbar_every: 60
175
- output_dir: ${.host.data_root}/${.model.name}_outputs/${.dataset.name}/${.encoder.in_size}/${.experiment_name}
176
- checkpoint: latest
177
- checkpoint_file: null
178
- experiment_name: v3_image_vit_cnn_bs4x12
179
- group_name: v2_${.model.name}
180
- multi_gpu: true
181
- device: cuda
182
- log_to_wandb: true
183
- num_workers: ${.run_type.num_workers}
184
- update_pbar_every: ${.host.update_pbar_every}
185
- use_lidar: ${.encoder.use_lidar}
186
- use_images: ${.encoder.use_images}
187
- save_best: true
188
- save_latest: true
189
- save_every: 10
190
- val_every: 1
191
- best_val_loss: 10000000.0
192
- best_val_iou: 0.0
193
- eval:
194
- gt_file: ${..dataset.annotations.val}
195
- pred_file: ${..output_dir}/predictions/${..checkpoint}.json
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
196
  modes:
197
  - iou
198
- experiments:
199
- - model: ffl
200
- experiment_name:
201
- - 224/v3_image_vit_cnn_bs4x16
202
- - 224/v3_lidar_pp_vit_cnn_bs2x16
203
- - 224/fusion_vit_cnn_bs16
204
- - model: hisup
205
- experiment_name:
206
- - 224/v3_image_hrnet224_bs4x16
207
- - 224/v3_lidar_pp_vit_cnn_bs2x16
208
- - 224/early_fusion_vit_cnn_bs16
209
- - model: pix2poly
210
- experiment_name:
211
- - 224/image_only_bs4x16
212
- - 224/lidar_only_bs2x16
213
- - 224/fusion_bs2x16
214
  eval_file: results/metrics
 
 
 
 
 
 
1
+ host:
2
+ name: gin
3
+ data_root: /data/rsulzer/${..dataset.name}
4
+ model_root: /data/rsulzer/${..dataset.name}_output
5
+ multi_gpu: false
6
+ device: cuda
7
+ update_pbar_every: 1
8
+ ldof_exe: /user/rsulzer/home/cpp/line-DOF-metric/build/calculate_DoF
9
+ run_type:
10
+ name: debug
11
+ batch_size: 16
12
+ train_subset: 256
13
+ val_subset: 32
14
+ test_subset: 32
15
+ logging: DEBUG
16
+ num_workers: 0
17
+ log_to_wandb: false
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  dataset:
19
+ name: PixelsPointsPolygons
20
+ size: ${..experiment.encoder.in_size}
21
+ path: ${host.data_root}/data/${.size}
22
  annotations:
23
+ train: ${..path}/annotations/annotations_${...experiment.country}_train.json
24
+ val: ${..path}/annotations/annotations_${...experiment.country}_val.json
25
+ test: ${..path}/annotations/annotations_${...experiment.country}_test.json
26
+ ffl_stats:
27
+ train: ${..path}/ffl/train/stats-${...experiment.country}.pt
28
+ val: ${..path}/ffl/val/stats-${...experiment.country}.pt
29
+ test: ${..path}/ffl/test/stats-${...experiment.country}.pt
30
  train_subset: ${..run_type.train_subset}
31
  val_subset: ${..run_type.val_subset}
32
+ test_subset: ${..run_type.test_subset}
33
+ experiment:
34
+ encoder:
35
+ name: vit_cnn
36
+ use_images: true
37
+ use_lidar: false
38
+ type: vit_small_patch${.patch_size}_${.in_size}.dino
39
+ checkpoint_file: ${...host.model_root}/backbones/dino_deitsmall8_pretrain.pth
40
+ pretrained: true
41
+ in_size: 224
42
+ in_height: ${.in_size}
43
+ in_width: ${.in_size}
44
+ patch_size: 8
45
+ patch_feature_size: 28
46
+ patch_feature_height: ${.patch_feature_size}
47
+ patch_feature_width: ${.patch_feature_size}
48
+ patch_feature_dim: 384
49
+ out_feature_size: ${..model.decoder.in_feature_size}
50
+ out_feature_height: ${.out_feature_size}
51
+ out_feature_width: ${.out_feature_size}
52
+ out_feature_dim: ${..model.decoder.in_feature_dim}
53
+ image_mean:
54
+ - 0.0
55
+ - 0.0
56
+ - 0.0
57
+ image_std:
58
+ - 1.0
59
+ - 1.0
60
+ - 1.0
61
+ image_max_pixel_value: 255.0
62
+ augmentations:
63
+ - D4
64
+ - ColorJitter
65
+ - GaussNoise
66
+ - Normalize
67
+ model:
68
+ name: hisup
69
+ decoder:
70
+ in_feature_size: 224
71
+ in_feature_width: ${.in_feature_size}
72
+ in_feature_height: ${.in_feature_size}
73
+ in_feature_dim: 256
74
+ point_pillars:
75
+ out_channels:
76
+ - 128
77
+ - 128
78
+ - 128
79
+ upsample_strides:
80
+ - 1
81
+ - 2
82
+ - 4
83
+ batch_size: ${...run_type.batch_size}
84
+ start_epoch: 0
85
+ num_epochs: 200
86
+ milestone: 0
87
+ learning_rate: 0.0001
88
+ weight_decay: 0.0001
89
+ loss_weights:
90
+ loss_joff: 0.25
91
+ loss_jloc: 8.0
92
+ loss_mask: 1.0
93
+ loss_afm: 0.1
94
+ loss_remask: 1.0
95
+ name: v3_image_vit_cnn_bs4x12
96
+ group_name: v2_${.model.name}
97
+ country: CH
98
+ training:
99
+ save_best: true
100
+ save_latest: true
101
+ save_every: 10
102
+ val_every: 1
103
+ best_val_loss: 10000000.0
104
+ best_val_iou: 0.0
105
+ evaluation:
106
+ split: val
107
+ pred_file: ${..output_dir}/predictions_${..experiment.country}_${.split}/${..checkpoint}.json
108
  modes:
109
  - iou
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
110
  eval_file: results/metrics
111
+ experiment.name: debug
112
+ output_dir: ${.host.model_root}/${.experiment.model.name}/${.experiment.encoder.in_size}/${.experiment.name}
113
+ checkpoint: best_val_iou
114
+ num_workers: ${.run_type.num_workers}
115
+ image_file: demo_data/image0_CH_val.tif
hisup/224/v3_image_vit_cnn_bs4x12/.hydra/hydra.yaml CHANGED
@@ -112,19 +112,15 @@ hydra:
112
  hydra:
113
  - hydra.mode=RUN
114
  task:
115
- - log_to_wandb=true
116
- - host=jz
117
- - run_type=release
118
- - multi_gpu=true
119
- - checkpoint=latest
120
- - model.batch_size=12
121
- - experiment_name=v3_image_vit_cnn_bs4x12
122
- - model=hisup
123
- - encoder=vit_cnn
124
  job:
125
- name: train
126
  chdir: null
127
- override_dirname: checkpoint=latest,encoder=vit_cnn,experiment_name=v3_image_vit_cnn_bs4x12,host=jz,log_to_wandb=true,model.batch_size=12,model=hisup,multi_gpu=true,run_type=release
128
  id: ???
129
  num: ???
130
  config_name: config
@@ -138,25 +134,27 @@ hydra:
138
  runtime:
139
  version: 1.3.2
140
  version_base: '1.3'
141
- cwd: /lustre/fswork/projects/rech/cso/uku93eu/python/PixelsPointsPolygons
142
  config_sources:
143
  - path: hydra.conf
144
  schema: pkg
145
  provider: hydra
146
- - path: /lustre/fswork/projects/rech/cso/uku93eu/python/PixelsPointsPolygons/config
147
  schema: file
148
  provider: main
149
  - path: ''
150
  schema: structured
151
  provider: schema
152
- output_dir: /lustre/fswork/projects/rech/cso/uku93eu/data/hisup_outputs/lidarpoly/224/v3_image_vit_cnn_bs4x12
153
  choices:
154
- host: jz
155
- run_type: release
156
- dataset: lidarpoly
157
- polygonization: asm_acm
158
- model: hisup
159
- encoder: vit_cnn
 
 
160
  hydra/env: default
161
  hydra/callbacks: null
162
  hydra/job_logging: default
 
112
  hydra:
113
  - hydra.mode=RUN
114
  task:
115
+ - run_type=debug
116
+ - host=gin
117
+ - checkpoint=best_val_iou
118
+ - experiment=hisup_image
119
+ - +image_file=demo_data/image0_CH_val.tif
 
 
 
 
120
  job:
121
+ name: predict_demo
122
  chdir: null
123
+ override_dirname: +image_file=demo_data/image0_CH_val.tif,checkpoint=best_val_iou,experiment=hisup_image,host=gin,run_type=debug
124
  id: ???
125
  num: ???
126
  config_name: config
 
134
  runtime:
135
  version: 1.3.2
136
  version_base: '1.3'
137
+ cwd: /run/netsop/u/home-sam/home/rsulzer/remote_python/pixelspointspolygons
138
  config_sources:
139
  - path: hydra.conf
140
  schema: pkg
141
  provider: hydra
142
+ - path: /run/netsop/u/home-sam/home/rsulzer/remote_python/pixelspointspolygons/config
143
  schema: file
144
  provider: main
145
  - path: ''
146
  schema: structured
147
  provider: schema
148
+ output_dir: /data/rsulzer/PixelsPointsPolygons_output/hisup/224/v3_image_vit_cnn_bs4x12
149
  choices:
150
+ evaluation: val
151
+ training: default
152
+ experiment: hisup_image
153
154
+ [email protected]: vit_cnn
155
+ dataset: p3
156
+ run_type: debug
157
+ host: gin
158
  hydra/env: default
159
  hydra/callbacks: null
160
  hydra/job_logging: default
hisup/224/v3_image_vit_cnn_bs4x12/.hydra/overrides.yaml CHANGED
@@ -1,9 +1,5 @@
1
- - log_to_wandb=true
2
- - host=jz
3
- - run_type=release
4
- - multi_gpu=true
5
- - checkpoint=latest
6
- - model.batch_size=12
7
- - experiment_name=v3_image_vit_cnn_bs4x12
8
- - model=hisup
9
- - encoder=vit_cnn
 
1
+ - run_type=debug
2
+ - host=gin
3
+ - checkpoint=best_val_iou
4
+ - experiment=hisup_image
5
+ - +image_file=demo_data/image0_CH_val.tif
 
 
 
 
hisup/224/v3_image_vit_cnn_bs4x12/predict_demo.log ADDED
File without changes
pix2poly/224/early_fusion_bs2x16_mnv64/.hydra/config.yaml CHANGED
@@ -1,220 +1,122 @@
1
- encoder:
2
- name: early_fusion_vit
3
- use_images: true
4
- use_lidar: true
5
- in_size: 224
6
- in_height: ${.in_size}
7
- in_width: ${.in_size}
8
- in_voxel_size:
9
- x: 8
10
- 'y': 8
11
- z: 100
12
- max_num_points_per_voxel: 64
13
- max_num_voxels:
14
- train: 784
15
- test: 784
16
- out_feature_width: 28
17
- out_feature_height: 28
18
- vit:
19
- type: vit_small_patch${..patch_size}_${..in_size}.dino
20
- checkpoint_file: ${...host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth
21
- pretrained: true
22
- patch_size: 8
23
- patch_feature_size: 28
24
- patch_feature_height: ${.patch_feature_size}
25
- patch_feature_width: ${.patch_feature_size}
26
- patch_feature_dim: 384
27
- num_patches: 784
28
- out_feature_dim: ${..model.decoder.in_feature_dim}
29
- image_mean:
30
- - 0.0
31
- - 0.0
32
- - 0.0
33
- image_std:
34
- - 1.0
35
- - 1.0
36
- - 1.0
37
- image_max_pixel_value: 255.0
38
- augmentations:
39
- - D4
40
- - ColorJitter
41
- - GaussNoise
42
- - Normalize
43
- model:
44
- name: pix2poly
45
- decoder:
46
- in_feature_size: ${...encoder.patch_feature_size}
47
- in_feature_width: ${.in_feature_size}
48
- in_feature_height: ${.in_feature_size}
49
- in_feature_dim: 256
50
- tokenizer:
51
- num_bins: ${...encoder.in_size}
52
- shuffle_tokens: false
53
- n_vertices: 192
54
- max_len: null
55
- pad_idx: null
56
- generation_steps: null
57
- fusion: patch_concat
58
- sinkhorn_iterations: 100
59
- label_smoothing: 0.0
60
- vertex_loss_weight: 1.0
61
- perm_loss_weight: 10.0
62
  batch_size: 16
63
- start_epoch: 0
64
- num_epochs: 200
65
- milestone: 0
66
- learning_rate: 0.0003
67
- weight_decay: 0.0001
68
- polygonization:
69
- method:
70
- - acm
71
- common_params:
72
- init_data_level: 0.5
73
- simple_method:
74
- data_level: 0.5
75
- tolerance:
76
- - 1.0
77
- seg_threshold: 0.5
78
- min_area: 10
79
- asm_method:
80
- init_method: skeleton
81
- data_level: 0.5
82
- loss_params:
83
- coefs:
84
- step_thresholds:
85
- - 0
86
- - 100
87
- - 200
88
- - 300
89
- data:
90
- - 1.0
91
- - 0.1
92
- - 0.0
93
- - 0.0
94
- crossfield:
95
- - 0.0
96
- - 0.05
97
- - 0.0
98
- - 0.0
99
- length:
100
- - 0.1
101
- - 0.01
102
- - 0.0
103
- - 0.0
104
- curvature:
105
- - 0.0
106
- - 0.0
107
- - 1.0
108
- - 0.0
109
- corner:
110
- - 0.0
111
- - 0.0
112
- - 0.5
113
- - 0.0
114
- junction:
115
- - 0.0
116
- - 0.0
117
- - 0.5
118
- - 0.0
119
- curvature_dissimilarity_threshold: 2
120
- corner_angles:
121
- - 45
122
- - 90
123
- - 135
124
- corner_angle_threshold: 22.5
125
- junction_angles:
126
- - 0
127
- - 45
128
- - 90
129
- - 135
130
- junction_angle_weights:
131
- - 1
132
- - 0.01
133
- - 0.1
134
- - 0.01
135
- junction_angle_threshold: 22.5
136
- lr: 0.1
137
- gamma: 0.995
138
- device: cuda
139
- tolerance:
140
- - 1
141
- seg_threshold: 0.5
142
- min_area: 10
143
- acm_method:
144
- steps: 500
145
- data_level: 0.5
146
- data_coef: 0.1
147
- length_coef: 0.4
148
- crossfield_coef: 0.5
149
- poly_lr: 0.01
150
- warmup_iters: 100
151
- warmup_factor: 0.1
152
- device: cuda
153
- tolerance:
154
- - 1
155
- seg_threshold: 0.5
156
- min_area: 10
157
  dataset:
158
- name: lidarpoly
159
- size: ${..encoder.in_size}
160
- path: ${host.data_root}/${.name}/${.size}
161
  annotations:
162
- train: ${..path}/annotations_train.json
163
- val: ${..path}/annotations_val.json
164
- test: ${..path}/annotations_test.json
 
 
 
 
165
  train_subset: ${..run_type.train_subset}
166
  val_subset: ${..run_type.val_subset}
167
- augmentations:
168
- - D4
169
- run_type:
170
- name: release
171
- batch_size: 16
172
- train_subset: null
173
- val_subset: null
174
- logging: INFO
175
- num_workers: 16
176
- log_to_wandb: true
177
- host:
178
- name: g5k
179
- data_root: /home/rsulzer/data
180
- update_pbar_every: 60
181
- output_dir: ${.host.data_root}/${.model.name}_outputs/${.dataset.name}/${.encoder.in_size}/${.experiment_name}
182
- checkpoint: null
183
- checkpoint_file: null
184
- experiment_name: early_fusion_bs2x16_mnv64
185
- group_name: v2_${.model.name}
186
- multi_gpu: true
187
- device: cuda
188
- log_to_wandb: true
189
- num_workers: ${.run_type.num_workers}
190
- update_pbar_every: ${.host.update_pbar_every}
191
- use_lidar: ${.encoder.use_lidar}
192
- use_images: ${.encoder.use_images}
193
- save_best: true
194
- save_latest: true
195
- save_every: 10
196
- val_every: 1
197
- best_val_loss: 10000000.0
198
- best_val_iou: 0.0
199
- eval:
200
- gt_file: ${..dataset.annotations.val}
201
- pred_file: ${..output_dir}/predictions/${..checkpoint}.json
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
202
  modes:
203
  - iou
204
- experiments:
205
- - model: ffl
206
- experiment_name:
207
- - 224/v3_image_vit_cnn_bs4x16
208
- - 224/v3_lidar_pp_vit_cnn_bs2x16
209
- - 224/fusion_vit_cnn_bs16
210
- - model: hisup
211
- experiment_name:
212
- - 224/v3_image_hrnet224_bs4x16
213
- - 224/v3_lidar_pp_vit_cnn_bs2x16
214
- - 224/early_fusion_vit_cnn_bs16
215
- - model: pix2poly
216
- experiment_name:
217
- - 224/image_only_bs4x16
218
- - 224/lidar_only_bs2x16
219
- - 224/fusion_bs2x16
220
  eval_file: results/metrics
 
 
 
 
 
 
 
1
+ host:
2
+ name: gin
3
+ data_root: /data/rsulzer/${..dataset.name}
4
+ model_root: /data/rsulzer/${..dataset.name}_output
5
+ multi_gpu: false
6
+ device: cuda
7
+ update_pbar_every: 1
8
+ ldof_exe: /user/rsulzer/home/cpp/line-DOF-metric/build/calculate_DoF
9
+ run_type:
10
+ name: debug
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  batch_size: 16
12
+ train_subset: 256
13
+ val_subset: 32
14
+ test_subset: 32
15
+ logging: DEBUG
16
+ num_workers: 0
17
+ log_to_wandb: false
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  dataset:
19
+ name: PixelsPointsPolygons
20
+ size: ${..experiment.encoder.in_size}
21
+ path: ${host.data_root}/data/${.size}
22
  annotations:
23
+ train: ${..path}/annotations/annotations_${...experiment.country}_train.json
24
+ val: ${..path}/annotations/annotations_${...experiment.country}_val.json
25
+ test: ${..path}/annotations/annotations_${...experiment.country}_test.json
26
+ ffl_stats:
27
+ train: ${..path}/ffl/train/stats-${...experiment.country}.pt
28
+ val: ${..path}/ffl/val/stats-${...experiment.country}.pt
29
+ test: ${..path}/ffl/test/stats-${...experiment.country}.pt
30
  train_subset: ${..run_type.train_subset}
31
  val_subset: ${..run_type.val_subset}
32
+ test_subset: ${..run_type.test_subset}
33
+ experiment:
34
+ encoder:
35
+ name: early_fusion_vit
36
+ use_images: true
37
+ use_lidar: true
38
+ in_size: 224
39
+ in_height: ${.in_size}
40
+ in_width: ${.in_size}
41
+ in_voxel_size:
42
+ x: 8
43
+ 'y': 8
44
+ z: 100
45
+ max_num_points_per_voxel: 64
46
+ max_num_voxels:
47
+ train: 784
48
+ test: 784
49
+ out_feature_width: 28
50
+ out_feature_height: 28
51
+ vit:
52
+ type: vit_small_patch${..patch_size}_${..in_size}.dino
53
+ checkpoint_file: ${....host.model_root}/backbones/dino_deitsmall8_pretrain.pth
54
+ pretrained: true
55
+ patch_size: 8
56
+ patch_feature_size: 28
57
+ patch_feature_height: ${.patch_feature_size}
58
+ patch_feature_width: ${.patch_feature_size}
59
+ patch_feature_dim: 384
60
+ num_patches: 784
61
+ out_feature_dim: ${..model.decoder.in_feature_dim}
62
+ image_mean:
63
+ - 0.0
64
+ - 0.0
65
+ - 0.0
66
+ image_std:
67
+ - 1.0
68
+ - 1.0
69
+ - 1.0
70
+ image_max_pixel_value: 255.0
71
+ augmentations:
72
+ - D4
73
+ - ColorJitter
74
+ - GaussNoise
75
+ - Normalize
76
+ model:
77
+ name: pix2poly
78
+ decoder:
79
+ in_feature_size: ${...encoder.patch_feature_size}
80
+ in_feature_width: ${.in_feature_size}
81
+ in_feature_height: ${.in_feature_size}
82
+ in_feature_dim: 256
83
+ tokenizer:
84
+ num_bins: ${...encoder.in_size}
85
+ shuffle_tokens: false
86
+ n_vertices: 192
87
+ max_len: null
88
+ pad_idx: null
89
+ generation_steps: null
90
+ fusion: patch_concat
91
+ sinkhorn_iterations: 100
92
+ label_smoothing: 0.0
93
+ vertex_loss_weight: 1.0
94
+ perm_loss_weight: 10.0
95
+ batch_size: ${...run_type.batch_size}
96
+ start_epoch: 0
97
+ num_epochs: 200
98
+ milestone: 0
99
+ learning_rate: 0.0003
100
+ weight_decay: 0.0001
101
+ name: early_fusion_bs2x16_mnv64
102
+ group_name: v2_${.model.name}
103
+ country: all
104
+ training:
105
+ save_best: true
106
+ save_latest: true
107
+ save_every: 10
108
+ val_every: 1
109
+ best_val_loss: 10000000.0
110
+ best_val_iou: 0.0
111
+ evaluation:
112
+ split: val
113
+ pred_file: ${..output_dir}/predictions_${..experiment.country}_${.split}/${..checkpoint}.json
114
  modes:
115
  - iou
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
116
  eval_file: results/metrics
117
+ experiment.name: debug
118
+ output_dir: ${.host.model_root}/${.experiment.model.name}/${.experiment.encoder.in_size}/${.experiment.name}
119
+ checkpoint: best_val_iou
120
+ num_workers: ${.run_type.num_workers}
121
+ image_file: demo_data/image0_CH_val.tif
122
+ lidar_file: demo_data/lidar0_CH_val.copc.laz
pix2poly/224/early_fusion_bs2x16_mnv64/.hydra/hydra.yaml CHANGED
@@ -112,19 +112,16 @@ hydra:
112
  hydra:
113
  - hydra.mode=RUN
114
  task:
115
- - log_to_wandb=true
116
- - host=g5k
117
- - run_type=release
118
- - multi_gpu=true
119
- - experiment_name=early_fusion_bs2x16_mnv64
120
- - checkpoint=null
121
- - model.batch_size=16
122
- - encoder=early_fusion_vit
123
- - model=pix2poly
124
  job:
125
- name: train
126
  chdir: null
127
- override_dirname: checkpoint=null,encoder=early_fusion_vit,experiment_name=early_fusion_bs2x16_mnv64,host=g5k,log_to_wandb=true,model.batch_size=16,model=pix2poly,multi_gpu=true,run_type=release
128
  id: ???
129
  num: ???
130
  config_name: config
@@ -138,25 +135,27 @@ hydra:
138
  runtime:
139
  version: 1.3.2
140
  version_base: '1.3'
141
- cwd: /home/rsulzer/python/PixelsPointsPolygons
142
  config_sources:
143
  - path: hydra.conf
144
  schema: pkg
145
  provider: hydra
146
- - path: /home/rsulzer/python/PixelsPointsPolygons/config
147
  schema: file
148
  provider: main
149
  - path: ''
150
  schema: structured
151
  provider: schema
152
- output_dir: /home/rsulzer/data/pix2poly_outputs/lidarpoly/224/early_fusion_bs2x16_mnv64
153
  choices:
154
- host: g5k
155
- run_type: release
156
- dataset: lidarpoly
157
- polygonization: asm_acm
158
- model: pix2poly
159
- encoder: early_fusion_vit
 
 
160
  hydra/env: default
161
  hydra/callbacks: null
162
  hydra/job_logging: default
 
112
  hydra:
113
  - hydra.mode=RUN
114
  task:
115
+ - run_type=debug
116
+ - host=gin
117
+ - checkpoint=best_val_iou
118
+ - experiment=p2p_fusion
119
+ - +image_file=demo_data/image0_CH_val.tif
120
+ - +lidar_file=demo_data/lidar0_CH_val.copc.laz
 
 
 
121
  job:
122
+ name: predict_demo
123
  chdir: null
124
+ override_dirname: +image_file=demo_data/image0_CH_val.tif,+lidar_file=demo_data/lidar0_CH_val.copc.laz,checkpoint=best_val_iou,experiment=p2p_fusion,host=gin,run_type=debug
125
  id: ???
126
  num: ???
127
  config_name: config
 
135
  runtime:
136
  version: 1.3.2
137
  version_base: '1.3'
138
+ cwd: /run/netsop/u/home-sam/home/rsulzer/remote_python/pixelspointspolygons
139
  config_sources:
140
  - path: hydra.conf
141
  schema: pkg
142
  provider: hydra
143
+ - path: /run/netsop/u/home-sam/home/rsulzer/remote_python/pixelspointspolygons/config
144
  schema: file
145
  provider: main
146
  - path: ''
147
  schema: structured
148
  provider: schema
149
+ output_dir: /data/rsulzer/PixelsPointsPolygons_output/pix2poly/224/early_fusion_bs2x16_mnv64
150
  choices:
151
+ evaluation: val
152
+ training: default
153
+ experiment: p2p_fusion
154
+ [email protected]: pix2poly
155
+ [email protected]: early_fusion_vit
156
+ dataset: p3
157
+ run_type: debug
158
+ host: gin
159
  hydra/env: default
160
  hydra/callbacks: null
161
  hydra/job_logging: default
pix2poly/224/early_fusion_bs2x16_mnv64/.hydra/overrides.yaml CHANGED
@@ -1,9 +1,6 @@
1
- - log_to_wandb=true
2
- - host=g5k
3
- - run_type=release
4
- - multi_gpu=true
5
- - experiment_name=early_fusion_bs2x16_mnv64
6
- - checkpoint=null
7
- - model.batch_size=16
8
- - encoder=early_fusion_vit
9
- - model=pix2poly
 
1
+ - run_type=debug
2
+ - host=gin
3
+ - checkpoint=best_val_iou
4
+ - experiment=p2p_fusion
5
+ - +image_file=demo_data/image0_CH_val.tif
6
+ - +lidar_file=demo_data/lidar0_CH_val.copc.laz
 
 
 
pix2poly/224/early_fusion_bs2x16_mnv64/predict_demo.log ADDED
File without changes
pix2poly/224/lidar_pp_vit_bs2x16_mnv64/.hydra/config.yaml CHANGED
@@ -1,220 +1,121 @@
1
- encoder:
2
- name: pointpillars_vit
3
- use_images: false
4
- use_lidar: true
5
- in_size: 224
6
- in_height: ${.in_size}
7
- in_width: ${.in_size}
8
- in_voxel_size:
9
- x: 8
10
- 'y': 8
11
- z: 100
12
- max_num_points_per_voxel: 64
13
- max_num_voxels:
14
- train: 784
15
- test: 784
16
- out_feature_width: 28
17
- out_feature_height: 28
18
- vit:
19
- type: vit_small_patch${..patch_size}_${..in_size}.dino
20
- checkpoint_file: ${...host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth
21
- pretrained: true
22
- patch_size: 8
23
- patch_feature_size: 28
24
- patch_feature_height: ${.patch_feature_size}
25
- patch_feature_width: ${.patch_feature_size}
26
- patch_feature_dim: 384
27
- num_patches: 784
28
- out_feature_dim: ${..model.decoder.in_feature_dim}
29
- image_mean:
30
- - 0.0
31
- - 0.0
32
- - 0.0
33
- image_std:
34
- - 1.0
35
- - 1.0
36
- - 1.0
37
- image_max_pixel_value: 255.0
38
- augmentations:
39
- - D4
40
- - ColorJitter
41
- - GaussNoise
42
- - Normalize
43
- model:
44
- name: pix2poly
45
- decoder:
46
- in_feature_size: ${...encoder.patch_feature_size}
47
- in_feature_width: ${.in_feature_size}
48
- in_feature_height: ${.in_feature_size}
49
- in_feature_dim: 256
50
- tokenizer:
51
- num_bins: ${...encoder.in_size}
52
- shuffle_tokens: false
53
- n_vertices: 192
54
- max_len: null
55
- pad_idx: null
56
- generation_steps: null
57
- fusion: patch_concat
58
- sinkhorn_iterations: 100
59
- label_smoothing: 0.0
60
- vertex_loss_weight: 1.0
61
- perm_loss_weight: 10.0
62
  batch_size: 16
63
- start_epoch: 0
64
- num_epochs: 200
65
- milestone: 0
66
- learning_rate: 0.0003
67
- weight_decay: 0.0001
68
- polygonization:
69
- method:
70
- - acm
71
- common_params:
72
- init_data_level: 0.5
73
- simple_method:
74
- data_level: 0.5
75
- tolerance:
76
- - 1.0
77
- seg_threshold: 0.5
78
- min_area: 10
79
- asm_method:
80
- init_method: skeleton
81
- data_level: 0.5
82
- loss_params:
83
- coefs:
84
- step_thresholds:
85
- - 0
86
- - 100
87
- - 200
88
- - 300
89
- data:
90
- - 1.0
91
- - 0.1
92
- - 0.0
93
- - 0.0
94
- crossfield:
95
- - 0.0
96
- - 0.05
97
- - 0.0
98
- - 0.0
99
- length:
100
- - 0.1
101
- - 0.01
102
- - 0.0
103
- - 0.0
104
- curvature:
105
- - 0.0
106
- - 0.0
107
- - 1.0
108
- - 0.0
109
- corner:
110
- - 0.0
111
- - 0.0
112
- - 0.5
113
- - 0.0
114
- junction:
115
- - 0.0
116
- - 0.0
117
- - 0.5
118
- - 0.0
119
- curvature_dissimilarity_threshold: 2
120
- corner_angles:
121
- - 45
122
- - 90
123
- - 135
124
- corner_angle_threshold: 22.5
125
- junction_angles:
126
- - 0
127
- - 45
128
- - 90
129
- - 135
130
- junction_angle_weights:
131
- - 1
132
- - 0.01
133
- - 0.1
134
- - 0.01
135
- junction_angle_threshold: 22.5
136
- lr: 0.1
137
- gamma: 0.995
138
- device: cuda
139
- tolerance:
140
- - 1
141
- seg_threshold: 0.5
142
- min_area: 10
143
- acm_method:
144
- steps: 500
145
- data_level: 0.5
146
- data_coef: 0.1
147
- length_coef: 0.4
148
- crossfield_coef: 0.5
149
- poly_lr: 0.01
150
- warmup_iters: 100
151
- warmup_factor: 0.1
152
- device: cuda
153
- tolerance:
154
- - 1
155
- seg_threshold: 0.5
156
- min_area: 10
157
  dataset:
158
- name: lidarpoly
159
- size: ${..encoder.in_size}
160
- path: ${host.data_root}/${.name}/${.size}
161
  annotations:
162
- train: ${..path}/annotations_train.json
163
- val: ${..path}/annotations_val.json
164
- test: ${..path}/annotations_test.json
 
 
 
 
165
  train_subset: ${..run_type.train_subset}
166
  val_subset: ${..run_type.val_subset}
167
- augmentations:
168
- - D4
169
- run_type:
170
- name: release
171
- batch_size: 16
172
- train_subset: null
173
- val_subset: null
174
- logging: INFO
175
- num_workers: 16
176
- log_to_wandb: true
177
- host:
178
- name: g5k
179
- data_root: /home/rsulzer/data
180
- update_pbar_every: 60
181
- output_dir: ${.host.data_root}/${.model.name}_outputs/${.dataset.name}/${.encoder.in_size}/${.experiment_name}
182
- checkpoint: null
183
- checkpoint_file: null
184
- experiment_name: lidar_pp_vit_bs2x16_mnv64
185
- group_name: v2_${.model.name}
186
- multi_gpu: true
187
- device: cuda
188
- log_to_wandb: true
189
- num_workers: ${.run_type.num_workers}
190
- update_pbar_every: ${.host.update_pbar_every}
191
- use_lidar: ${.encoder.use_lidar}
192
- use_images: ${.encoder.use_images}
193
- save_best: true
194
- save_latest: true
195
- save_every: 10
196
- val_every: 1
197
- best_val_loss: 10000000.0
198
- best_val_iou: 0.0
199
- eval:
200
- gt_file: ${..dataset.annotations.val}
201
- pred_file: ${..output_dir}/predictions/${..checkpoint}.json
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
202
  modes:
203
  - iou
204
- experiments:
205
- - model: ffl
206
- experiment_name:
207
- - 224/v3_image_vit_cnn_bs4x16
208
- - 224/v3_lidar_pp_vit_cnn_bs2x16
209
- - 224/fusion_vit_cnn_bs16
210
- - model: hisup
211
- experiment_name:
212
- - 224/v3_image_hrnet224_bs4x16
213
- - 224/v3_lidar_pp_vit_cnn_bs2x16
214
- - 224/early_fusion_vit_cnn_bs16
215
- - model: pix2poly
216
- experiment_name:
217
- - 224/image_only_bs4x16
218
- - 224/lidar_only_bs2x16
219
- - 224/fusion_bs2x16
220
  eval_file: results/metrics
 
 
 
 
 
 
1
+ host:
2
+ name: gin
3
+ data_root: /data/rsulzer/${..dataset.name}
4
+ model_root: /data/rsulzer/${..dataset.name}_output
5
+ multi_gpu: false
6
+ device: cuda
7
+ update_pbar_every: 1
8
+ ldof_exe: /user/rsulzer/home/cpp/line-DOF-metric/build/calculate_DoF
9
+ run_type:
10
+ name: debug
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  batch_size: 16
12
+ train_subset: 256
13
+ val_subset: 32
14
+ test_subset: 32
15
+ logging: DEBUG
16
+ num_workers: 0
17
+ log_to_wandb: false
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  dataset:
19
+ name: PixelsPointsPolygons
20
+ size: ${..experiment.encoder.in_size}
21
+ path: ${host.data_root}/data/${.size}
22
  annotations:
23
+ train: ${..path}/annotations/annotations_${...experiment.country}_train.json
24
+ val: ${..path}/annotations/annotations_${...experiment.country}_val.json
25
+ test: ${..path}/annotations/annotations_${...experiment.country}_test.json
26
+ ffl_stats:
27
+ train: ${..path}/ffl/train/stats-${...experiment.country}.pt
28
+ val: ${..path}/ffl/val/stats-${...experiment.country}.pt
29
+ test: ${..path}/ffl/test/stats-${...experiment.country}.pt
30
  train_subset: ${..run_type.train_subset}
31
  val_subset: ${..run_type.val_subset}
32
+ test_subset: ${..run_type.test_subset}
33
+ experiment:
34
+ encoder:
35
+ name: pointpillars_vit
36
+ use_images: false
37
+ use_lidar: true
38
+ in_size: 224
39
+ in_height: ${.in_size}
40
+ in_width: ${.in_size}
41
+ in_voxel_size:
42
+ x: 8
43
+ 'y': 8
44
+ z: 100
45
+ max_num_points_per_voxel: 64
46
+ max_num_voxels:
47
+ train: 784
48
+ test: 784
49
+ out_feature_width: 28
50
+ out_feature_height: 28
51
+ vit:
52
+ type: vit_small_patch${..patch_size}_${..in_size}.dino
53
+ checkpoint_file: ${....host.model_root}/backbones/dino_deitsmall8_pretrain.pth
54
+ pretrained: true
55
+ patch_size: 8
56
+ patch_feature_size: 28
57
+ patch_feature_height: ${.patch_feature_size}
58
+ patch_feature_width: ${.patch_feature_size}
59
+ patch_feature_dim: 384
60
+ num_patches: 784
61
+ out_feature_dim: ${..model.decoder.in_feature_dim}
62
+ image_mean:
63
+ - 0.0
64
+ - 0.0
65
+ - 0.0
66
+ image_std:
67
+ - 1.0
68
+ - 1.0
69
+ - 1.0
70
+ image_max_pixel_value: 255.0
71
+ augmentations:
72
+ - D4
73
+ - ColorJitter
74
+ - GaussNoise
75
+ - Normalize
76
+ model:
77
+ name: pix2poly
78
+ decoder:
79
+ in_feature_size: ${...encoder.patch_feature_size}
80
+ in_feature_width: ${.in_feature_size}
81
+ in_feature_height: ${.in_feature_size}
82
+ in_feature_dim: 256
83
+ tokenizer:
84
+ num_bins: ${...encoder.in_size}
85
+ shuffle_tokens: false
86
+ n_vertices: 192
87
+ max_len: null
88
+ pad_idx: null
89
+ generation_steps: null
90
+ fusion: patch_concat
91
+ sinkhorn_iterations: 100
92
+ label_smoothing: 0.0
93
+ vertex_loss_weight: 1.0
94
+ perm_loss_weight: 10.0
95
+ batch_size: ${...run_type.batch_size}
96
+ start_epoch: 0
97
+ num_epochs: 200
98
+ milestone: 0
99
+ learning_rate: 0.0003
100
+ weight_decay: 0.0001
101
+ name: lidar_pp_vit_bs2x16_mnv64
102
+ group_name: v2_${.model.name}
103
+ country: CH
104
+ training:
105
+ save_best: true
106
+ save_latest: true
107
+ save_every: 10
108
+ val_every: 1
109
+ best_val_loss: 10000000.0
110
+ best_val_iou: 0.0
111
+ evaluation:
112
+ split: val
113
+ pred_file: ${..output_dir}/predictions_${..experiment.country}_${.split}/${..checkpoint}.json
114
  modes:
115
  - iou
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
116
  eval_file: results/metrics
117
+ experiment.name: debug
118
+ output_dir: ${.host.model_root}/${.experiment.model.name}/${.experiment.encoder.in_size}/${.experiment.name}
119
+ checkpoint: best_val_iou
120
+ num_workers: ${.run_type.num_workers}
121
+ lidar_file: demo_data/lidar0_CH_val.copc.laz
pix2poly/224/lidar_pp_vit_bs2x16_mnv64/.hydra/hydra.yaml CHANGED
@@ -112,20 +112,15 @@ hydra:
112
  hydra:
113
  - hydra.mode=RUN
114
  task:
115
- - log_to_wandb=true
116
- - host=g5k
117
- - run_type=release
118
- - multi_gpu=true
119
- - experiment_name=lidar_pp_vit_bs2x16_mnv64
120
- - checkpoint=null
121
- - model.batch_size=16
122
- - encoder=pointpillars_vit
123
- - model=pix2poly
124
- - model.num_epochs=200
125
  job:
126
- name: train
127
  chdir: null
128
- override_dirname: checkpoint=null,encoder=pointpillars_vit,experiment_name=lidar_pp_vit_bs2x16_mnv64,host=g5k,log_to_wandb=true,model.batch_size=16,model.num_epochs=200,model=pix2poly,multi_gpu=true,run_type=release
129
  id: ???
130
  num: ???
131
  config_name: config
@@ -139,25 +134,27 @@ hydra:
139
  runtime:
140
  version: 1.3.2
141
  version_base: '1.3'
142
- cwd: /home/rsulzer/python/PixelsPointsPolygons
143
  config_sources:
144
  - path: hydra.conf
145
  schema: pkg
146
  provider: hydra
147
- - path: /home/rsulzer/python/PixelsPointsPolygons/config
148
  schema: file
149
  provider: main
150
  - path: ''
151
  schema: structured
152
  provider: schema
153
- output_dir: /home/rsulzer/data/pix2poly_outputs/lidarpoly/224/lidar_pp_vit_bs2x16_mnv64
154
  choices:
155
- host: g5k
156
- run_type: release
157
- dataset: lidarpoly
158
- polygonization: asm_acm
159
- model: pix2poly
160
- encoder: pointpillars_vit
 
 
161
  hydra/env: default
162
  hydra/callbacks: null
163
  hydra/job_logging: default
 
112
  hydra:
113
  - hydra.mode=RUN
114
  task:
115
+ - run_type=debug
116
+ - host=gin
117
+ - checkpoint=best_val_iou
118
+ - experiment=p2p_lidar
119
+ - +lidar_file=demo_data/lidar0_CH_val.copc.laz
 
 
 
 
 
120
  job:
121
+ name: predict_demo
122
  chdir: null
123
+ override_dirname: +lidar_file=demo_data/lidar0_CH_val.copc.laz,checkpoint=best_val_iou,experiment=p2p_lidar,host=gin,run_type=debug
124
  id: ???
125
  num: ???
126
  config_name: config
 
134
  runtime:
135
  version: 1.3.2
136
  version_base: '1.3'
137
+ cwd: /run/netsop/u/home-sam/home/rsulzer/remote_python/pixelspointspolygons
138
  config_sources:
139
  - path: hydra.conf
140
  schema: pkg
141
  provider: hydra
142
+ - path: /run/netsop/u/home-sam/home/rsulzer/remote_python/pixelspointspolygons/config
143
  schema: file
144
  provider: main
145
  - path: ''
146
  schema: structured
147
  provider: schema
148
+ output_dir: /data/rsulzer/PixelsPointsPolygons_output/pix2poly/224/lidar_pp_vit_bs2x16_mnv64
149
  choices:
150
+ evaluation: val
151
+ training: default
152
+ experiment: p2p_lidar
153
+ [email protected]: pix2poly
154
+ [email protected]: pointpillars_vit
155
+ dataset: p3
156
+ run_type: debug
157
+ host: gin
158
  hydra/env: default
159
  hydra/callbacks: null
160
  hydra/job_logging: default
pix2poly/224/lidar_pp_vit_bs2x16_mnv64/.hydra/overrides.yaml CHANGED
@@ -1,10 +1,5 @@
1
- - log_to_wandb=true
2
- - host=g5k
3
- - run_type=release
4
- - multi_gpu=true
5
- - experiment_name=lidar_pp_vit_bs2x16_mnv64
6
- - checkpoint=null
7
- - model.batch_size=16
8
- - encoder=pointpillars_vit
9
- - model=pix2poly
10
- - model.num_epochs=200
 
1
+ - run_type=debug
2
+ - host=gin
3
+ - checkpoint=best_val_iou
4
+ - experiment=p2p_lidar
5
+ - +lidar_file=demo_data/lidar0_CH_val.copc.laz
 
 
 
 
 
pix2poly/224/lidar_pp_vit_bs2x16_mnv64/predict_demo.log ADDED
File without changes
pix2poly/224/v0_all_bs4x16/.hydra/config.yaml CHANGED
@@ -118,3 +118,5 @@ experiment.name: debug
118
  output_dir: ${.host.model_root}/${.experiment.model.name}/${.experiment.encoder.in_size}/${.experiment.name}
119
  checkpoint: null
120
  num_workers: ${.run_type.num_workers}
 
 
 
118
  output_dir: ${.host.model_root}/${.experiment.model.name}/${.experiment.encoder.in_size}/${.experiment.name}
119
  checkpoint: null
120
  num_workers: ${.run_type.num_workers}
121
+ image_file: demo_data/image0_CH_val.tif
122
+ lidar_file: demo_data/lidar0_CH_val.copc.laz
pix2poly/224/v0_all_bs4x16/.hydra/hydra.yaml CHANGED
@@ -114,11 +114,12 @@ hydra:
114
  task:
115
  - run_type=debug
116
  - host=gin
117
- - run_type.log_to_wandb=false
 
118
  job:
119
- name: train
120
  chdir: null
121
- override_dirname: host=gin,run_type.log_to_wandb=false,run_type=debug
122
  id: ???
123
  num: ???
124
  config_name: config
 
114
  task:
115
  - run_type=debug
116
  - host=gin
117
+ - +image_file=demo_data/image0_CH_val.tif
118
+ - +lidar_file=demo_data/lidar0_CH_val.copc.laz
119
  job:
120
+ name: predict_demo
121
  chdir: null
122
+ override_dirname: +image_file=demo_data/image0_CH_val.tif,+lidar_file=demo_data/lidar0_CH_val.copc.laz,host=gin,run_type=debug
123
  id: ???
124
  num: ???
125
  config_name: config
pix2poly/224/v0_all_bs4x16/.hydra/overrides.yaml CHANGED
@@ -1,3 +1,4 @@
1
  - run_type=debug
2
  - host=gin
3
- - run_type.log_to_wandb=false
 
 
1
  - run_type=debug
2
  - host=gin
3
+ - +image_file=demo_data/image0_CH_val.tif
4
+ - +lidar_file=demo_data/lidar0_CH_val.copc.laz
pix2poly/224/v0_all_bs4x16/predict_demo.log ADDED
File without changes
pix2poly/224/v4_image_vit_bs4x16/.hydra/config.yaml CHANGED
@@ -1,125 +1,42 @@
1
  host:
2
- name: jeanzay
3
- data_root: /lustre/fswork/projects/rech/cso/uku93eu/data
4
- update_pbar_every: 60
 
 
 
 
5
  run_type:
6
- name: release
7
  batch_size: 16
8
- train_subset: null
9
- val_subset: null
10
- test_subset: null
11
- logging: INFO
12
- num_workers: 16
13
- log_to_wandb: true
14
- polygonization:
15
- method:
16
- - acm
17
- common_params:
18
- init_data_level: 0.5
19
- simple_method:
20
- data_level: 0.5
21
- tolerance:
22
- - 1.0
23
- seg_threshold: 0.5
24
- min_area: 10
25
- asm_method:
26
- init_method: skeleton
27
- data_level: 0.5
28
- loss_params:
29
- coefs:
30
- step_thresholds:
31
- - 0
32
- - 100
33
- - 200
34
- - 300
35
- data:
36
- - 1.0
37
- - 0.1
38
- - 0.0
39
- - 0.0
40
- crossfield:
41
- - 0.0
42
- - 0.05
43
- - 0.0
44
- - 0.0
45
- length:
46
- - 0.1
47
- - 0.01
48
- - 0.0
49
- - 0.0
50
- curvature:
51
- - 0.0
52
- - 0.0
53
- - 1.0
54
- - 0.0
55
- corner:
56
- - 0.0
57
- - 0.0
58
- - 0.5
59
- - 0.0
60
- junction:
61
- - 0.0
62
- - 0.0
63
- - 0.5
64
- - 0.0
65
- curvature_dissimilarity_threshold: 2
66
- corner_angles:
67
- - 45
68
- - 90
69
- - 135
70
- corner_angle_threshold: 22.5
71
- junction_angles:
72
- - 0
73
- - 45
74
- - 90
75
- - 135
76
- junction_angle_weights:
77
- - 1
78
- - 0.01
79
- - 0.1
80
- - 0.01
81
- junction_angle_threshold: 22.5
82
- lr: 0.1
83
- gamma: 0.995
84
- device: cuda
85
- tolerance:
86
- - 1
87
- seg_threshold: 0.5
88
- min_area: 10
89
- acm_method:
90
- steps: 500
91
- data_level: 0.5
92
- data_coef: 0.1
93
- length_coef: 0.4
94
- crossfield_coef: 0.5
95
- poly_lr: 0.01
96
- warmup_iters: 100
97
- warmup_factor: 0.1
98
- device: cuda
99
- tolerance:
100
- - 1
101
- seg_threshold: 0.5
102
- min_area: 10
103
  dataset:
104
- name: lidarpoly
105
  size: ${..experiment.encoder.in_size}
106
- path: ${host.data_root}/${.name}/${.size}
107
  annotations:
108
- train: ${..path}/annotations_${...country}_train.json
109
- val: ${..path}/annotations_${...country}_val.json
110
- test: ${..path}/annotations_${...country}_test.json
 
 
 
 
111
  train_subset: ${..run_type.train_subset}
112
  val_subset: ${..run_type.val_subset}
113
  test_subset: ${..run_type.test_subset}
114
- augmentations:
115
- - D4
116
  experiment:
117
  encoder:
118
  name: vit
119
  use_images: true
120
  use_lidar: false
121
  type: vit_small_patch${.patch_size}_${.in_size}.dino
122
- checkpoint_file: ${...host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth
123
  pretrained: true
124
  in_size: 224
125
  in_height: ${.in_size}
@@ -172,28 +89,22 @@ experiment:
172
  weight_decay: 0.0001
173
  name: v4_image_vit_bs4x16
174
  group_name: v2_${.model.name}
175
- output_dir: ${.host.data_root}/${.experiment.model.name}_outputs/${.dataset.name}/${.experiment.encoder.in_size}/${.experiment.name}
176
- checkpoint: null
177
- checkpoint_file: null
178
- multi_gpu: true
179
- device: cuda
180
- log_to_wandb: true
181
- num_workers: ${.run_type.num_workers}
182
- update_pbar_every: ${.host.update_pbar_every}
183
- country: Switzerland
184
- use_lidar: ${.experiment.encoder.use_lidar}
185
- use_images: ${.experiment.encoder.use_images}
186
- save_best: true
187
- save_latest: true
188
- save_every: 10
189
- val_every: 1
190
- best_val_loss: 10000000.0
191
- best_val_iou: 0.0
192
- eval:
193
  split: val
194
- pred_file: ${..output_dir}/predictions/${..checkpoint}.json
195
  modes:
196
  - iou
197
- - polis
198
- - mta
199
  eval_file: results/metrics
 
 
 
 
 
 
1
  host:
2
+ name: gin
3
+ data_root: /data/rsulzer/${..dataset.name}
4
+ model_root: /data/rsulzer/${..dataset.name}_output
5
+ multi_gpu: false
6
+ device: cuda
7
+ update_pbar_every: 1
8
+ ldof_exe: /user/rsulzer/home/cpp/line-DOF-metric/build/calculate_DoF
9
  run_type:
10
+ name: debug
11
  batch_size: 16
12
+ train_subset: 256
13
+ val_subset: 32
14
+ test_subset: 32
15
+ logging: DEBUG
16
+ num_workers: 0
17
+ log_to_wandb: false
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  dataset:
19
+ name: PixelsPointsPolygons
20
  size: ${..experiment.encoder.in_size}
21
+ path: ${host.data_root}/data/${.size}
22
  annotations:
23
+ train: ${..path}/annotations/annotations_${...experiment.country}_train.json
24
+ val: ${..path}/annotations/annotations_${...experiment.country}_val.json
25
+ test: ${..path}/annotations/annotations_${...experiment.country}_test.json
26
+ ffl_stats:
27
+ train: ${..path}/ffl/train/stats-${...experiment.country}.pt
28
+ val: ${..path}/ffl/val/stats-${...experiment.country}.pt
29
+ test: ${..path}/ffl/test/stats-${...experiment.country}.pt
30
  train_subset: ${..run_type.train_subset}
31
  val_subset: ${..run_type.val_subset}
32
  test_subset: ${..run_type.test_subset}
 
 
33
  experiment:
34
  encoder:
35
  name: vit
36
  use_images: true
37
  use_lidar: false
38
  type: vit_small_patch${.patch_size}_${.in_size}.dino
39
+ checkpoint_file: ${...host.model_root}/backbones/dino_deitsmall8_pretrain.pth
40
  pretrained: true
41
  in_size: 224
42
  in_height: ${.in_size}
 
89
  weight_decay: 0.0001
90
  name: v4_image_vit_bs4x16
91
  group_name: v2_${.model.name}
92
+ country: CH
93
+ training:
94
+ save_best: true
95
+ save_latest: true
96
+ save_every: 10
97
+ val_every: 1
98
+ best_val_loss: 10000000.0
99
+ best_val_iou: 0.0
100
+ evaluation:
 
 
 
 
 
 
 
 
 
101
  split: val
102
+ pred_file: ${..output_dir}/predictions_${..experiment.country}_${.split}/${..checkpoint}.json
103
  modes:
104
  - iou
 
 
105
  eval_file: results/metrics
106
+ experiment.name: debug
107
+ output_dir: ${.host.model_root}/${.experiment.model.name}/${.experiment.encoder.in_size}/${.experiment.name}
108
+ checkpoint: best_val_iou
109
+ num_workers: ${.run_type.num_workers}
110
+ image_file: demo_data/image0_CH_val.tif
pix2poly/224/v4_image_vit_bs4x16/.hydra/hydra.yaml CHANGED
@@ -112,16 +112,15 @@ hydra:
112
  hydra:
113
  - hydra.mode=RUN
114
  task:
115
- - log_to_wandb=true
116
- - host=jz
117
- - run_type=release
118
- - multi_gpu=true
119
- - checkpoint=null
120
  - experiment=p2p_image
 
121
  job:
122
- name: train
123
  chdir: null
124
- override_dirname: checkpoint=null,experiment=p2p_image,host=jz,log_to_wandb=true,multi_gpu=true,run_type=release
125
  id: ???
126
  num: ???
127
  config_name: config
@@ -135,26 +134,27 @@ hydra:
135
  runtime:
136
  version: 1.3.2
137
  version_base: '1.3'
138
- cwd: /lustre/fswork/projects/rech/cso/uku93eu/python/PixelsPointsPolygons
139
  config_sources:
140
  - path: hydra.conf
141
  schema: pkg
142
  provider: hydra
143
- - path: /lustre/fswork/projects/rech/cso/uku93eu/python/PixelsPointsPolygons/config
144
  schema: file
145
  provider: main
146
  - path: ''
147
  schema: structured
148
  provider: schema
149
- output_dir: /lustre/fswork/projects/rech/cso/uku93eu/data/pix2poly_outputs/lidarpoly/224/v4_image_vit_bs4x16
150
  choices:
 
 
151
  experiment: p2p_image
152
  [email protected]: pix2poly
153
154
- dataset: lidarpoly
155
- polygonization: asm_acm
156
- run_type: release
157
- host: jz
158
  hydra/env: default
159
  hydra/callbacks: null
160
  hydra/job_logging: default
 
112
  hydra:
113
  - hydra.mode=RUN
114
  task:
115
+ - run_type=debug
116
+ - host=gin
117
+ - checkpoint=best_val_iou
 
 
118
  - experiment=p2p_image
119
+ - +image_file=demo_data/image0_CH_val.tif
120
  job:
121
+ name: predict_demo
122
  chdir: null
123
+ override_dirname: +image_file=demo_data/image0_CH_val.tif,checkpoint=best_val_iou,experiment=p2p_image,host=gin,run_type=debug
124
  id: ???
125
  num: ???
126
  config_name: config
 
134
  runtime:
135
  version: 1.3.2
136
  version_base: '1.3'
137
+ cwd: /run/netsop/u/home-sam/home/rsulzer/remote_python/pixelspointspolygons
138
  config_sources:
139
  - path: hydra.conf
140
  schema: pkg
141
  provider: hydra
142
+ - path: /run/netsop/u/home-sam/home/rsulzer/remote_python/pixelspointspolygons/config
143
  schema: file
144
  provider: main
145
  - path: ''
146
  schema: structured
147
  provider: schema
148
+ output_dir: /data/rsulzer/PixelsPointsPolygons_output/pix2poly/224/v4_image_vit_bs4x16
149
  choices:
150
+ evaluation: val
151
+ training: default
152
  experiment: p2p_image
153
  [email protected]: pix2poly
154
155
+ dataset: p3
156
+ run_type: debug
157
+ host: gin
 
158
  hydra/env: default
159
  hydra/callbacks: null
160
  hydra/job_logging: default
pix2poly/224/v4_image_vit_bs4x16/.hydra/overrides.yaml CHANGED
@@ -1,6 +1,5 @@
1
- - log_to_wandb=true
2
- - host=jz
3
- - run_type=release
4
- - multi_gpu=true
5
- - checkpoint=null
6
  - experiment=p2p_image
 
 
1
+ - run_type=debug
2
+ - host=gin
3
+ - checkpoint=best_val_iou
 
 
4
  - experiment=p2p_image
5
+ - +image_file=demo_data/image0_CH_val.tif
pix2poly/224/v4_image_vit_bs4x16/predict_demo.log ADDED
File without changes