Default configuration
Configurations are managed with hydra. Here, we show the default configuration at a glance.
Refer to source configurations files in folder configs for more information.
paths:
src_las: /path/to/input.las
output_dir: ${hydra:runtime.cwd}/outputs/
data_format:
epsg: 2154
las_dimensions:
classification: Classification
terrascan_normal: Normal
terrascan_distance: Distance
terrascan_deviation: Deviation
terrascan_reliability: confidence
ai_vegetation_proba: vegetation
ai_unclassified_proba: unclassified
ai_building_proba: building
entropy: entropy
cluster_id: ClusterID
uni_db_overlay: BDTopoOverlay
candidate_buildings_flag: F_CandidateB
ClusterID_candidate_building: CID_CandidateB
ClusterID_confirmed_or_high_proba: CID_IsolatedOrConfirmed
completion_non_candidate_flag: F_NonCandidateCompletion
ai_building_identified: Group
ai_vegetation_unclassified_groups: Group
codes:
unclassified: 1
vegetation: 3
vegetation_target:
vegetation_low: 3
vegetation_medium: 4
vegetation_high: 5
building:
candidates:
- 202
detailed:
unsure_by_entropy: 200
unclustered: 202
ia_refuted: 110
ia_refuted_but_under_db_uni: 111
both_unsure: 112
ia_confirmed_only: 113
db_overlayed_only: 114
both_confirmed: 115
final:
unsure: 214
not_building: 208
building: 6
detailed_to_final:
- - ${data_format.codes.building.detailed.unclustered}
- ${data_format.codes.building.final.not_building}
- - ${data_format.codes.building.detailed.ia_refuted}
- ${data_format.codes.building.final.not_building}
- - ${data_format.codes.building.detailed.ia_refuted_but_under_db_uni}
- ${data_format.codes.building.final.unsure}
- - ${data_format.codes.building.detailed.both_unsure}
- ${data_format.codes.building.final.unsure}
- - ${data_format.codes.building.detailed.unsure_by_entropy}
- ${data_format.codes.building.final.unsure}
- - ${data_format.codes.building.detailed.ia_confirmed_only}
- ${data_format.codes.building.final.building}
- - ${data_format.codes.building.detailed.db_overlayed_only}
- ${data_format.codes.building.final.building}
- - ${data_format.codes.building.detailed.both_confirmed}
- ${data_format.codes.building.final.building}
cleaning:
input_building:
_target_: lidar_prod.tasks.cleaning.Cleaner
extra_dims:
- ${data_format.las_dimensions.ai_building_proba}=float
- ${data_format.las_dimensions.entropy}=float
- ${data_format.las_dimensions.terrascan_normal}=uint
- ${data_format.las_dimensions.terrascan_distance}=int
- ${data_format.las_dimensions.terrascan_deviation}=ushort
- ${data_format.las_dimensions.terrascan_reliability}=uchar
output_building:
_target_: lidar_prod.tasks.cleaning.Cleaner
extra_dims:
- ${data_format.las_dimensions.entropy}=float
- ${data_format.las_dimensions.ai_building_identified}=uint
- ${data_format.las_dimensions.terrascan_normal}=uint
- ${data_format.las_dimensions.terrascan_distance}=int
- ${data_format.las_dimensions.terrascan_deviation}=ushort
- ${data_format.las_dimensions.terrascan_reliability}=uchar
input_vegetation_unclassified:
_target_: lidar_prod.tasks.cleaning.Cleaner
extra_dims:
- ${data_format.las_dimensions.ai_vegetation_unclassified_groups}=uint32
output_vegetation_unclassified:
_target_: lidar_prod.tasks.cleaning.Cleaner
extra_dims:
- ${data_format.las_dimensions.entropy}=float
- ${data_format.las_dimensions.ai_building_proba}=uint
- ${data_format.las_dimensions.ai_vegetation_unclassified_groups}=uint
building_validation:
application:
_target_: lidar_prod.tasks.building_validation.BuildingValidator
data_format: ${data_format}
use_final_classification_codes: true
shp_path: null
cluster:
tolerance: 0.5
min_points: 10
bd_uni_request:
buffer: 50
thresholds:
min_confidence_confirmation: 0.7489066375339118
min_frac_confirmation: 0.16236610677624053
min_frac_confirmation_factor_if_bd_uni_overlay: 0.5532221883488597
min_uni_db_overlay_frac: 0.7243937589483613
min_confidence_refutation: 0.9753597180902244
min_frac_refutation: 0.30759538271378295
min_entropy_uncertainty: 1.254212461691427
min_frac_entropy_uncertain: 0.7343497391001854
optimization:
_target_: lidar_prod.tasks.building_validation_optimization.BuildingValidationOptimizer
todo: prepare+optimize+evaluate+update
use_final_classification_codes: false
building_validator: ${building_validation.application}
paths:
input_las_dir: /path/to/folder/
results_output_dir: /path/to/folder/
group_info_pickle_path: ${.results_output_dir}/group_info.pickle
prepared_las_dir: ${.results_output_dir}/prepared/
updated_las_dir: ${.results_output_dir}/updated/
evaluation_results_yaml: ${.results_output_dir}/evaluation.yaml
building_validation_thresholds: ${.results_output_dir}/optimized_thresholds.yaml
output_optimized_config: ${.results_output_dir}/config_with_optimized_thresholds.yaml
buildings_correction_labels:
codes:
true_positives:
- 19
false_positives:
- 20
- 110
- 112
- 114
- 115
false_negatives:
- 21
min_frac:
true_positives: 0.95
false_positives: 0.05
study:
_target_: optuna.create_study
study_name: auto_precision_recall
directions:
- maximize
- maximize
- maximize
sampler:
_target_: optuna.samplers.NSGAIISampler
population_size: 50
mutation_prob: 0.25
crossover_prob: 0.1
swapping_prob: 0.1
seed: 12345
constraints_func:
_target_: functools.partial
_args_:
- ${get_method:lidar_prod.tasks.building_validation_optimization.constraints_func}
design:
n_trials: 400
constraints:
min_precision_constraint: 0.98
min_recall_constraint: 0.98
min_automation_constraint: 0.35
metrics:
groups_count: groups_count
group_building: group_building
group_no_buildings: group_no_buildings
group_unsure: group_unsure
proportion_of_uncertainty: p_unsure
proportion_of_refutation: p_refute
proportion_of_confirmation: p_confirm
confusion_matrix_norm: confusion_matrix_norm
confusion_matrix_no_norm: confusion_matrix_no_norm
precision: precision
recall: recall
proportion_of_automated_decisions: p_auto
refutation_accuracy: a_refute
confirmation_accuracy: a_confirm
building_identification:
_target_: lidar_prod.tasks.building_identification.BuildingIdentifier
data_format: ${data_format}
min_building_proba: 0.5
cluster:
min_points: 200
tolerance: 0.75
is3d: false
building_completion:
_target_: lidar_prod.tasks.building_completion.BuildingCompletor
data_format: ${data_format}
min_building_proba: 0.5
cluster:
min_points: 10
tolerance: 0.3
is3d: false
basic_identification:
vegetation_threshold: 0.3923
unclassified_threshold: 0.2455
vegetation_nb_trials: 100
unclassified_nb_trials: 100
bd_uni_connection_params:
_target_: lidar_prod.tasks.utils.BDUniConnectionParams
host: bduni_consult.ign.fr
user: null
pwd: null
bd_name: bduni_france_consultation
print_config: false
ignore_warnings: true