Théorie — Baseline Stéréo ========================== Modèle géométrique ------------------ Le système stéréo calibré suit le modèle trou d'aiguille rectifié. Après rectification, les lignes épipolaires sont horizontales et la disparité est uniquement sur l'axe X. Relation profondeur–disparité ------------------------------ .. math:: Z = \frac{f \cdot B}{d} Avec : - :math:`Z` — profondeur en mètres - :math:`f` — focale en **pixels** (après calibration) - :math:`B` — baseline en **mètres** - :math:`d` — disparité en **pixels** Paramètres du système --------------------- .. list-table:: :header-rows: 1 * - Paramètre - Valeur - Source * - Focale estimée :math:`f` - 525 px - LifeCam HD-3000, résolution 1280×720 * - Baseline :math:`B` - 0.11 m - Support OpenSCAD, médiane 10–12 cm * - Disparité min :math:`d_{min}` - 1 px - Limite théorique * - Disparité max :math:`d_{max}` - 64 px - StereoBM / SGBM config Portée théorique ---------------- .. math:: Z_{max} = \frac{f \cdot B}{d_{min}} = \frac{525 \times 0.11}{1} = 57.75 \text{ m} .. math:: Z_{min} = \frac{f \cdot B}{d_{max}} = \frac{525 \times 0.11}{64} \approx 0.9 \text{ m} **Portée pratique sous-marin** : 0.5 m – 5 m La limite pratique est imposée par la **visibilité de l'eau** (turbidité, diffusion), pas par la géométrie. En eau claire méditerranéenne, portée max mesurée ≈ 8 m. En eau verte côtière : ≈ 2–3 m. Pourquoi 10–12 cm ? -------------------- **Baseline trop courte** (< 5 cm) : - Disparité trop faible → bruit dominant - :math:`Z_{max}` réduit, peu de points 3D à grande distance **Baseline trop longue** (> 20 cm) : - Zone aveugle centrale grande (:math:`Z_{min}` augmente) - Occultations importantes (objet vu par une seule caméra) - Synchronisation temporelle plus critique **Plage 10–12 cm** : - Compromise optimal pour portée 0.5–5 m - Compatible avec gabarit BlueROV2 (largeur tube ~10 cm) - Résolution en profondeur : :math:`\delta Z = Z^2 / (f \cdot B)` ≈ 4 cm à 2 m Sensibilité à la calibration ----------------------------- Une erreur de 1 mm sur la baseline :math:`B` induit une erreur :math:`\delta Z / Z = \delta B / B \approx 0.9\%` sur toutes les profondeurs. Conserver le support imprimé rigide et éviter le choc thermique (dilatation différentielle PETG/aluminium). Références ---------- :cite:`campos2021orbslam3` — ORB-SLAM3, précision stéréo-inertiel. :cite:`ferrera2019underwater` — Calibration sous-marine, modèle réfraction.