4.3. Champ de vision¶
Une caméra voit un cône du monde devant elle ; tout ce qui se trouve en dehors de ce cône retombe sur le côté du capteur. La largeur angulaire de ce cône est le champ de vision (FOV), et elle est déterminée par deux nombres : la taille du capteur et la distance focale de l’objectif.
4.3.1. La formule du FOV¶
Un capteur de largeur \(S\) situé à la distance \(f\) derrière l’objectif définit un cône de rayons entrants. L’angle complet de ce cône est le champ de vision.¶
Un capteur de largeur \(S\) se trouve à la distance \(f\) derrière l’objectif, perpendiculairement à l’axe optique. Le modèle de la lentille mince indique qu’un rayon passant par le centre de l’objectif continue sans être dévié ; traçons donc un tel rayon depuis chaque bord du capteur : chacun file droit à travers le centre de l’objectif et ressort vers la scène du côté opposé. Ensemble, ils délimitent le cône de lumière que le capteur peut collecter, et l’angle entre eux au niveau de l’objectif est le champ de vision.
La moitié de ce cône forme un triangle rectangle. Un côté est l’axe optique reliant le centre de l’objectif au centre du capteur, de longueur \(f\). L’autre côté est le demi-capteur, allant du centre du capteur jusqu’à un bord, de longueur \(S / 2\). L’hypoténuse est le rayon lui-même, allant du centre de l’objectif au bord du capteur.
Le théorème de Pythagore relie les trois longueurs de côté entre elles, mais Pythagore ne donne pas les angles, et c’est précisément l’angle au sommet de l’objectif que nous cherchons. La trigonométrie est le pont qui relie les rapports de côtés aux angles. Dans tout triangle rectangle, la tangente d’un angle est définie comme son côté opposé divisé par son côté adjacent. Pour l’angle du demi-FOV, le côté opposé est le demi-capteur \(S / 2\) et le côté adjacent est le côté de l’axe optique \(f\), donc
L’angle lui-même s’obtient en appliquant l’inverse de la tangente – la fonction arctangente – aux deux membres :
Le cône est symétrique par rapport à l’axe, donc le FOV complet vaut le double du demi-angle :
Deux conséquences découlent de cette formule :
C’est la distance focale de l’objectif qui fixe l’angle, et non la taille absolue. Un objectif « grand-angle » est large parce que sa distance focale est courte : plus \(f\) est petit, plus le rapport \(S / 2f\) devient grand, et plus le cône est large. Une grande distance focale rétrécit le cône (un objectif « téléobjectif »).
La taille du capteur compte également. Monter le même objectif devant un capteur plus petit recadre le cône : le même objectif a un champ de vision plus étroit sur un petit capteur que sur un grand. C’est pourquoi les valeurs de distance focale de caméras différentes ne sont pas directement comparables ; le FOV dépend à la fois de \(f\) et de \(S\).
4.3.2. Trois choix d’objectif¶
Prenons un capteur de 4,8 mm × 3,6 mm (une taille petit format courante correspondant à peu près à ce que fournissent les capteurs de l’OpenMV Cam) et trois choix d’objectif.
distance focale |
FOV diagonal |
FOV horizontal |
FOV vertical |
description |
|---|---|---|---|---|
2,8 mm |
~94° |
~81° |
~66° |
grand-angle |
4 mm |
~74° |
~62° |
~48° |
normal |
8 mm |
~41° |
~33° |
~25° |
étroit / téléobjectif |
Les trois colonnes passent par la même formule. Le FOV diagonal utilise \(S\) égal à la diagonale du capteur \(\sqrt{W^2 + H^2}\) (6 mm pour ce capteur) ; le FOV horizontal utilise \(S = W = 4.8\) mm ; le FOV vertical utilise \(S = H = 3.6\) mm. Diviser par deux la distance focale double presque chaque cône ; la doubler les divise presque par deux.
Les fiches techniques des objectifs publient généralement le FOV diagonal comme unique valeur phare, puisqu’il s’étend d’un coin à l’autre du capteur. Les FOV horizontal et vertical sont plus directement utiles pour planifier ce qui tiendra dans la trame, car la trame est rectangulaire et une zone de travail rectangulaire est délimitée selon l’horizontale et la verticale, et non selon la diagonale.
4.3.3. Choisir une distance focale¶
Le FOV dont l’application a besoin est déterminé par la taille de la région que la caméra doit voir et par la distance à laquelle elle sera placée. Si la caméra se trouve à 1 m au-dessus d’une zone de travail de 0,6 m × 0,6 m, le FOV angulaire nécessaire pour couvrir un bord est \(2 \cdot \arctan(0.3 / 1) \approx 33°\), et l’objectif de 8 mm ci-dessus s’en approche.
Aller plus large que ce dont l’application a besoin rend les objets plus petits dans la trame, gaspille des pixels sur l’arrière-plan et accroît la distorsion de l’objectif. Aller plus étroit fait sortir des parties de la scène sur le côté du capteur. Le bon objectif est celui dont la distance focale est la plus longue tout en couvrant encore la zone de travail à la distance prévue de la caméra.