4.3. Pole widzenia

Kamera widzi stożek świata przed sobą; wszystko poza tym stożkiem wykracza poza brzeg sensora. Kątowa szerokość tego stożka to pole widzenia (FOV) i jest ona określona przez dwie liczby – rozmiar sensora i ogniskową obiektywu.

4.3.1. Wzór na FOV

A vertical lens with a sensor of width S behind it at distance f. Two rays leave the top and bottom edges of the sensor, pass through the centre of the lens, and diverge into the scene on the far side, defining a cone whose full angle is labelled FOV.

Sensor o szerokości \(S\) znajdujący się w odległości \(f\) za obiektywem wyznacza stożek nadchodzących promieni. Pełny kąt tego stożka to pole widzenia.

Sensor o szerokości \(S\) znajduje się w odległości \(f\) za obiektywem, prostopadle do osi optycznej. Model cienkiej soczewki mówi, że promień przechodzący przez środek obiektywu biegnie dalej bez odchylenia, więc prześledźmy jeden taki promień z każdej krawędzi sensora: każdy z nich biegnie prosto przez środek obiektywu i dalej w scenę po drugiej stronie. Razem ograniczają one stożek światła, który sensor może zebrać, a kąt między nimi przy obiektywie to pole widzenia.

Połowa tego stożka jest trójkątem prostokątnym. Jedną przyprostokątną jest oś optyczna od środka obiektywu do środka sensora – o długości \(f\). Drugą przyprostokątną jest połowa sensora, od środka sensora do jednej z krawędzi – o długości \(S / 2\). Przeciwprostokątną jest sam promień, biegnący od środka obiektywu do krawędzi sensora.

Twierdzenie Pitagorasa wiąże ze sobą długości trzech boków, ale Pitagoras nie podaje kątów, a to właśnie kąt przy wierzchołku obiektywu nas interesuje. Trygonometria jest pomostem od stosunków boków do kątów. W każdym trójkącie prostokątnym tangens kąta definiuje się jako stosunek przyprostokątnej naprzeciwległej do przyprostokątnej przyległej. Dla kąta połowy FOV przyprostokątną naprzeciwległą jest połowa sensora \(S / 2\), a przyprostokątną przyległą jest przyprostokątna leżąca na osi optycznej \(f\), zatem

\[\tan(\text{half-FOV}) = \frac{S / 2}{f} = \frac{S}{2f}\]

Sam kąt otrzymuje się, stosując do obu stron odwrotność tangensa – funkcję arcus tangens:

\[\text{half-FOV} = \arctan \! \left( \frac{S}{2f} \right)\]

Stożek jest symetryczny względem osi, więc pełne FOV jest dwukrotnością połowy kąta:

\[\text{FOV} = 2 \cdot \arctan \! \left( \frac{S}{2f} \right)\]

Ze wzoru wynikają dwie konsekwencje:

  • To ogniskowa obiektywu ustala kąt, a nie bezwzględny rozmiar. Obiektyw „szerokokątny” jest szeroki, ponieważ jego ogniskowa jest krótka – im mniejsze jest \(f\), tym większy staje się stosunek \(S / 2f\) i tym szerszy jest stożek. Długa ogniskowa zwęża stożek (obiektyw „teleobiektyw”).

  • Rozmiar sensora również ma znaczenie. Zamontowanie tego samego obiektywu przed mniejszym sensorem przycina stożek – ten sam obiektyw ma węższe pole widzenia na mniejszym sensorze niż na większym. Dlatego wartości ogniskowej dla różnych kamer nie są wprost porównywalne; FOV zależy zarówno od \(f\), jak i od \(S\).

4.3.2. Trzy warianty obiektywów

Weźmy sensor 4,8 mm × 3,6 mm (typowy małoformatowy rozmiar, w przybliżeniu odpowiadający temu, co oferują sensory OpenMV Cam) i trzy warianty obiektywów.

ogniskowa

przekątne FOV

poziome FOV

pionowe FOV

opis

2,8 mm

~94°

~81°

~66°

szerokokątny

4 mm

~74°

~62°

~48°

normalny

8 mm

~41°

~33°

~25°

wąski / tele

Wszystkie trzy kolumny korzystają z tego samego wzoru. Przekątne FOV używa \(S\) równego przekątnej sensora \(\sqrt{W^2 + H^2}\) (6 mm dla tego sensora); poziome FOV używa \(S = W = 4.8\) mm; pionowe FOV używa \(S = H = 3.6\) mm. Zmniejszenie ogniskowej o połowę niemal podwaja każdy stożek; jej podwojenie niemal zmniejsza je o połowę.

Karty katalogowe obiektywów zwykle podają przekątne FOV jako pojedynczą wartość nagłówkową, ponieważ obejmuje ona sensor od rogu do rogu. Poziome i pionowe FOV są bardziej bezpośrednio przydatne przy planowaniu, co zmieści się w ramce, ponieważ ramka jest prostokątna, a prostokątny obszar roboczy jest ograniczony w poziomie i w pionie, a nie po przekątnej.

4.3.3. Wybór ogniskowej

FOV, którego potrzebuje aplikacja, jest określone przez to, jak duży obszar kamera musi widzieć i jak daleko będzie się ona znajdować. Jeśli kamera znajduje się 1 m nad obszarem roboczym 0,6 m × 0,6 m, kątowe FOV potrzebne do pokrycia jednej krawędzi wynosi \(2 \cdot \arctan(0.3 / 1) \approx 33°\), a powyższy obiektyw 8 mm jest temu bliski.

Wybór szerszego pola widzenia, niż potrzebuje aplikacja, zmniejsza obiekty w ramce, marnuje piksele na tło i zwiększa zniekształcenia obiektywu. Wybór węższego powoduje, że części sceny wypadają poza brzeg sensora. Właściwym obiektywem jest ten o najdłuższej ogniskowej, który nadal pokrywa obszar roboczy z zamierzonej odległości kamery.