diff --git a/pipeline/config/thresholds.yaml b/pipeline/config/thresholds.yaml index 7dc54c1..6e08e47 100644 --- a/pipeline/config/thresholds.yaml +++ b/pipeline/config/thresholds.yaml @@ -1,34 +1,29 @@ -# QA thresholds — tuned from iteration cron usbl: - min_points_per_segment: 5 # fewer → degraded - max_gap_seconds: 30 # gap > this → split segment - mad_sigma: 3.0 # MAD outlier threshold - moving_avg_window: 5 # smoothing window - + min_points_per_segment: 5 + max_gap_seconds: 30 + mad_sigma: 3.0 + moving_avg_window: 5 ingest: - min_video_seconds: 120 # shorter segments skipped - max_timestamp_delta_seconds: 60 # EXIF vs USBL match tolerance - + min_video_seconds: 120 + max_timestamp_delta_seconds: 60 frame_extract: fps: 1 width: 518 height: 294 - underwater_r_minus_g: 5 # R < G-5 AND R < B-5 → hors eau - trim_min_frames: 8 # skip if fewer underwater frames - bottom_visible_pct_min: 25 # abaissé 30→25 — GX019817 (29%) récupérable, iter auto 2026-05-12 - + underwater_r_minus_g: 5 + trim_min_frames: 8 + bottom_visible_pct_min: 25 inference: ply_conf_threshold: 1.5 max_frame_num: 1024 mode: streaming keyframe_interval: 1 - min_frames_for_inference: 32 # fewer frames → RoPE/attention mismatch errors - inference_timeout_s: 10800 # 3h (was 7200=2h, GX029818 timed out with 493 frames) - + min_frames_for_inference: 32 + inference_timeout_s: 10800 + offload_to_cpu: false align: - max_translation_m: 500 # sanity check on alignment - min_inlier_ratio: 0.3 # umeyama inlier ratio - + max_translation_m: 500 + min_inlier_ratio: 0.3 stitch: voxel_size: 0.05 icp_max_distance: 0.5