216 lines
5.2 KiB
JSON
216 lines
5.2 KiB
JSON
{
|
|
"camera": "oak-fcc-3",
|
|
"modelo": "segformer_b1",
|
|
"model_name": "2026_09_08",
|
|
"main_class_name": "erva",
|
|
"es_classes": "",
|
|
"model_to_use": "geral",
|
|
"raw_size": [1280, 800],
|
|
"resolucao": [960, 600],
|
|
"roi_inicio": 0.0,
|
|
"roi_tamanho": 1.0,
|
|
"shaves": 3,
|
|
"source_channels": ["R", "G", "B", "RE", "NIR"],
|
|
"channels": 5,
|
|
"input_channels": ["R", "G", "B", "RE", "NIR"],
|
|
"derived_channels": {
|
|
"epsilon": 1e-6,
|
|
"clip_min": -1.0,
|
|
"clip_max": 1.0
|
|
},
|
|
"backbone": "nvidia/mit-b1",
|
|
"fusion_mode": "stacked",
|
|
"stats_source_tag": "stacked_raw5",
|
|
"module_params_json": "calibration/mp_ov9782/module_params.json",
|
|
"ckpt_test": "best_score",
|
|
"multi_head": true,
|
|
"heads": {
|
|
"semantic": {
|
|
"enabled": true,
|
|
"type": "multiclass",
|
|
"num_classes": 3,
|
|
"mask_dir": "masks",
|
|
"classes": {"chao": 0, "cana": 1, "erva": 2},
|
|
"ignore_index": 255,
|
|
"loss_weight": 0.20
|
|
},
|
|
"vegetation": {
|
|
"enabled": true,
|
|
"type": "binary",
|
|
"num_classes": 2,
|
|
"mask_dir": "masks_vegetation",
|
|
"classes": {"background": 0, "vegetation": 1},
|
|
"ignore_index": 255,
|
|
"loss_weight": 0.15
|
|
},
|
|
"cana": {
|
|
"enabled": true,
|
|
"type": "binary",
|
|
"num_classes": 2,
|
|
"mask_dir": "masks_cana",
|
|
"classes": {"not_cana": 0, "cana": 1},
|
|
"ignore_index": 255,
|
|
"loss_weight": 0.35
|
|
},
|
|
"target": {
|
|
"enabled": true,
|
|
"type": "binary",
|
|
"num_classes": 2,
|
|
"mask_dir": "__derived_target__",
|
|
"classes": {"background": 0, "target": 1},
|
|
"ignore_index": 255,
|
|
"loss_weight": 0.30,
|
|
"derived": true
|
|
}
|
|
},
|
|
"training_v2": {
|
|
"model": {
|
|
"decoder_mode": "shared_light",
|
|
"spectral_input_init": "zero_extra"
|
|
},
|
|
"augmentation": {
|
|
"enabled": true,
|
|
"horizontal_flip_p": 0.5,
|
|
"vertical_flip_p": 0.0,
|
|
"affine_p": 0.7,
|
|
"rotate_deg": 5.0,
|
|
"scale_min": 0.9,
|
|
"scale_max": 1.1,
|
|
"translate_frac": 0.04,
|
|
"crop_p": 0.45,
|
|
"crop_scale_min": 0.7,
|
|
"crop_scale_max": 1.0,
|
|
"crop_focus_target_p": 0.55,
|
|
"crop_focus_cana_p": 0.25,
|
|
"global_gain_p": 0.35,
|
|
"global_gain_min": 0.92,
|
|
"global_gain_max": 1.08,
|
|
"band_gain_p": 0.25,
|
|
"band_gain_min": 0.96,
|
|
"band_gain_max": 1.04,
|
|
"rgb_gamma_p": 0.2,
|
|
"rgb_gamma_min": 0.94,
|
|
"rgb_gamma_max": 1.06,
|
|
"noise_p": 0.2,
|
|
"noise_sigma_min": 0.001,
|
|
"noise_sigma_max": 0.008,
|
|
"blur_p": 0.12,
|
|
"blur_kernel": 3,
|
|
"sensor_channel_dropout_p": 0.0,
|
|
"clip_physical": true
|
|
},
|
|
"sampler": {
|
|
"mode": "diverse",
|
|
"samples_per_epoch": 0,
|
|
"tiny_target_pct": 0.005,
|
|
"small_target_pct": 0.02,
|
|
"medium_target_pct": 0.1
|
|
},
|
|
"class_weighting": {
|
|
"method": "log_inverse",
|
|
"log_offset": 1.02,
|
|
"power": 0.5,
|
|
"min_weight": 0.25,
|
|
"max_weight": 4.0
|
|
},
|
|
"loss": {
|
|
"dice_reduction": "per_image",
|
|
"dice_smooth": 1.0,
|
|
"boundary_weight": 0.0,
|
|
"ohem_ratio": 0.0,
|
|
"safety": {
|
|
"enabled": true,
|
|
"weight": 0.08,
|
|
"cana_weight": 1.0,
|
|
"ground_weight": 0.2
|
|
}
|
|
},
|
|
"optimizer": {
|
|
"encoder_lr": null,
|
|
"patch_lr_mult": 2.0,
|
|
"heads_lr_mult": 5.0,
|
|
"weight_decay": null,
|
|
"no_decay_bias": true,
|
|
"no_decay_norm": true,
|
|
"betas": [
|
|
0.9,
|
|
0.999
|
|
],
|
|
"eps": 1e-08
|
|
},
|
|
"scheduler": {
|
|
"mode": "poly",
|
|
"warmup_ratio": 0.05,
|
|
"warmup_start_factor": 0.1,
|
|
"poly_power": 1.0,
|
|
"min_lr_ratio": 0.02
|
|
},
|
|
"optimization": {
|
|
"grad_clip_norm": 1.0,
|
|
"matmul_precision": "high",
|
|
"cudnn_benchmark": true,
|
|
"persistent_workers": true,
|
|
"prefetch_factor": 2
|
|
},
|
|
"target_distillation": {
|
|
"enabled": false,
|
|
"mode": "cross_head",
|
|
"start_epoch": 8,
|
|
"rampup_epochs": 12,
|
|
"hard_weight": 0.75,
|
|
"distill_weight": 0.25,
|
|
"teacher_confidence_min": 0.6,
|
|
"detach_teacher": true,
|
|
"w_sem_erva": 0.45,
|
|
"w_veg_not_cana": 0.35,
|
|
"w_veg_suppressed": 0.2,
|
|
"cana_suppression_power": 1.5
|
|
},
|
|
"metrics": {
|
|
"target_thresholds": [
|
|
0.3,
|
|
0.4,
|
|
0.5,
|
|
0.6,
|
|
0.7,
|
|
0.8,
|
|
0.9
|
|
],
|
|
"ece_bins": 15,
|
|
"scenario_metrics": true,
|
|
"group_metrics": true,
|
|
"rich_train_metrics": false,
|
|
"operational_threshold": {
|
|
"max_cana_spray_rate": 0.02,
|
|
"max_ground_spray_rate": 0.03,
|
|
"max_weed_miss_rate": 0.2,
|
|
"score_weights": {
|
|
"target_iou": 0.35,
|
|
"target_f1": 0.2,
|
|
"cana_safety": 0.25,
|
|
"ground_safety": 0.1,
|
|
"weed_recall": 0.1
|
|
}
|
|
}
|
|
},
|
|
"selection_score": {
|
|
"target_iou": 0.4,
|
|
"cana_iou": 0.2,
|
|
"target_f1": 0.1,
|
|
"vegetation_miou": 0.1,
|
|
"semantic_miou": 0.05,
|
|
"cana_safety": 0.15
|
|
},
|
|
"checkpoint": {
|
|
"early_stop_min_delta": 0.0005,
|
|
"save_best_safety": true,
|
|
"save_best_legacy": true,
|
|
"save_best_operational": true
|
|
},
|
|
"data": {
|
|
"validate_npy_content": true,
|
|
"skip_corrupt_samples": true,
|
|
"max_corrupt_fraction": 0.005
|
|
}
|
|
}
|
|
} |