99 lines
2.6 KiB
ReStructuredText
99 lines
2.6 KiB
ReStructuredText
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.
|