4.3. Поле зрения¶
Камера видит конус мира перед собой; всё, что находится за пределами этого конуса, не попадает на датчик. Угловая ширина этого конуса – это поле зрения (FOV), и она определяется двумя величинами: размером датчика и фокусным расстоянием объектива.
4.3.1. Формула FOV¶
Датчик ширины \(S\) на расстоянии \(f\) позади объектива задаёт конус входящих лучей. Полный угол этого конуса и есть поле зрения.¶
Датчик ширины \(S\) расположен на расстоянии \(f\) позади объектива, перпендикулярно оптической оси. Согласно модели тонкой линзы, луч, проходящий через центр объектива, продолжается без отклонения, поэтому проведём по одному такому лучу от каждого края датчика: каждый из них идёт прямо через центр объектива и выходит в сцену с дальней стороны. Вместе они ограничивают конус света, который может собрать датчик, а угол между ними у объектива и есть поле зрения.
Половина этого конуса представляет собой прямоугольный треугольник. Один катет – это оптическая ось от центра объектива до центра датчика длиной \(f\). Другой катет – это половина датчика от его центра до одного из краёв длиной \(S / 2\). Гипотенуза – сам луч, идущий от центра объектива к краю датчика.
Теорема Пифагора связывает три длины сторон между собой, но Пифагор не даёт углов, а нас интересует именно угол при вершине у объектива. Тригонометрия – это мост от отношений сторон к углам. В любом прямоугольном треугольнике тангенс угла определяется как отношение противолежащего катета к прилежащему. Для угла, равного половине FOV, противолежащий катет – это половина датчика \(S / 2\), а прилежащий – катет вдоль оптической оси \(f\), поэтому
Сам угол получается применением функции, обратной тангенсу – арктангенса – к обеим частям:
Конус симметричен относительно оси, поэтому полный FOV вдвое больше половинного угла:
Из формулы вытекают два следствия:
Угол задаётся фокусным расстоянием объектива, а не абсолютным размером. «Широкоугольный» объектив широк потому, что его фокусное расстояние мало: чем меньше \(f\), тем больше отношение \(S / 2f\) и тем шире конус. Большое фокусное расстояние сужает конус («телеобъектив»).
Размер датчика тоже имеет значение. Установка того же объектива перед меньшим датчиком обрезает конус: тот же объектив имеет более узкое поле зрения на меньшем датчике, чем на большем. Именно поэтому значения фокусного расстояния на разных камерах нельзя напрямую сравнивать; FOV зависит и от \(f\), и от \(S\).
4.3.2. Три варианта объектива¶
Возьмём датчик 4,8 мм × 3,6 мм (распространённый малоформатный размер, примерно соответствующий тому, что обеспечивают датчики OpenMV Cam) и три варианта объектива.
фокусное расстояние |
диагональный FOV |
горизонтальный FOV |
вертикальный FOV |
описание |
|---|---|---|---|---|
2,8 мм |
~94° |
~81° |
~66° |
широкоугольный |
4 мм |
~74° |
~62° |
~48° |
нормальный |
8 мм |
~41° |
~33° |
~25° |
узкий / теле |
Все три столбца рассчитываются по одной и той же формуле. В диагональном FOV используется \(S\), равное диагонали датчика \(\sqrt{W^2 + H^2}\) (6 мм для этого датчика); в горизонтальном FOV используется \(S = W = 4.8\) мм; в вертикальном FOV используется \(S = H = 3.6\) мм. Уменьшение фокусного расстояния вдвое почти удваивает каждый конус; его удвоение почти вдвое их уменьшает.
В технических описаниях объективов обычно публикуют диагональный FOV как единственное заглавное значение, поскольку он охватывает датчик от угла до угла. Горизонтальный и вертикальный FOV более полезны напрямую при планировании того, что поместится в кадр, потому что кадр прямоугольный, а прямоугольная рабочая область ограничена по горизонтали и вертикали, а не по диагонали.
4.3.3. Выбор фокусного расстояния¶
Необходимое приложению поле зрения определяется тем, насколько большую область должна видеть камера и на каком расстоянии она будет находиться. Если камера расположена в 1 м над рабочей областью 0,6 м × 0,6 м, угловой FOV, необходимый для охвата одного края, равен \(2 \cdot \arctan(0.3 / 1) \approx 33°\), и объектив 8 мм из приведённой выше таблицы близок к этому.
Более широкий угол, чем нужно приложению, делает объекты в кадре мельче, расходует пиксели на фон и увеличивает дисторсию объектива. Более узкий угол отсекает части сцены, выходящие за край датчика. Правильный объектив – это наибольшее фокусное расстояние, которое всё ещё охватывает рабочую область на предполагаемом расстоянии до камеры.