Секреты систем машинного зрения: выбираем объектив

309
views

Меня зовут Андрей, я – специалист по оптическим системам, оптик и инженер-конструктор в одном лице. Уже несколько лет, будучи единственным оптиком фирмы, я работаю бок о бок с отделом нейросетей, занимающихся распознаванием изображений. У меня сложилось чёткое понимание, какие именно кусочки оптических знаний используют сами CV-разработчики в своей работе, а где уже зовут профильного специалиста.

Из таких кусочков, выложенных в удобном порядке, и появился этот курс. Изначально я писал его для внутреннего обучения джунов и мидлов отдела нейросетей, начинающих работать с распознаванием изображений. В курсе ровно то, с чем CV-разработчики сталкиваются на практике при сборке макетов и работе с объективами. Не больше и не меньше. Чтобы с элементарными вопросами ко мне реже бегали.

Почему вообще пришлось писать, когда есть гугл? Оптика – узкая и наукоёмкая сфера, и попытка гуглить информацию по ней чаще всего приводит к неудачам (т.к. неспециалисту трудно отличить правильную информацию от ошибочной). Я ради интереса много раз смотрел, что пишут в интернете по оптике, и чаще всего там, мягко говоря, некорректная информация. Англоязычный гугл лучше, но тоже не панацея. Статьи пишут в основном или фотолюбители (там много ошибок), или астрономы (там всё уже лучше, но очень специфичная область, которую не всякий сможет «портировать» на свой проект), или просто случайные люди типа любителей охотничьих прицелов (там полёт мысли такой, что просто туши свет).

Правильная информация есть в профильных статьях или книгах по 500 страниц, но в такие глубины неспециалисты обычно не ныряют. Потому возникла идея написать максимально короткий и простой курс-шпаргалку по аппаратной части для начинающего CV-разработчика.

Курс чрезвычайно сокращён и упрощён, потому кое-где я отклоняюсь от классической оптической теории. Строгость терминов сознательно принесена в жертву удобству практического применения курса. Прошу знающим людям не придираться к формулировкам.

Объектив как аппаратная часть технического зрения

Если мы говорим об обработке изображений, то возникает вопрос, как мы получаем исходную картинку. Даже картинки из интернета кто-то как-то получил, прежде чем загрузить их в сеть.

Системы технического зрения, исходя из самого слова «зрение», воспринимают реальные предметы окружающего мира подобно глазу. Чтобы получить изображение окружающих предметов в форме, пригодной для компьютерной обработки, требуется два элемента: объектив и камера. Это – аппаратные части, «железки», без которых нельзя передать изображение реального мира в компьютер.

Общая структура оптико-электронного прибора

Оптико-электронный прибор состоит из следующих независимых модулей. В порядке от рассматриваемого предмета к изображению:

  1. Объектив. Он формирует изображение.
  2. Камера. Переводит изображение в электрический, а затем и в цифровой сигнал. Иногда в камере происходит первичная обработка изображения (аналоговое усиление).
  3. Модуль обработки (например, компьютер или программируемая логическая интегральная схема – ПЛИС), где с «сырым» изображением проводятся необходимые манипуляции, в том числе дополнительная обработка (свето- и цвето-коррекция и т.д.) и решение рабочих задач (трекинг, детекция и распознавание объектов и так далее).

Объектив с камерой

Объектив с камерой

Интересный факт. Этот принцип соблюдается не только в оптике, но и в других диапазонах шкалы электромагнитных волн. Например, по идентичному принципу построен направленный радиолокатор: его тарелкообразный рефлектор служит объективом, а приёмник в фокусе рефлектора – аналогом камеры.

Радиолокатор

Радиолокатор

Уточним термины. В рамках курса дадим такие определения:

Объектив – оптический элемент, формирующий из реального объёмного мира плоское изображение, которое способна воспринимать матрица.

Матрица (или сенсор) – тонкая пластинка из полупроводника, представляющая собой массив микроскопических светочувствительных элементов. Матрица с добавлением электроники и помещённая с ней в единый корпус называется камерой.

Интересный факт. В фотографии камера интегрирована в корпус фотоаппарата, потому фотографы используют только слова «объектив» и «матрица», а слово «камера» имеет у фотографов иное значение – так называют сам фотоаппарат.

Изображение интересующей нас сцены окружающего мира не может само телепортироваться в компьютер. Именно объектив, фокусируя световые лучи, формирует из трёхмерной области пространства плоское двумерное изображение, которое можно совместить с плоской матрицей, произвести захват изображения и перевести изображение в электрический сигнал и цифровой код.

Важно: объектив формирует изображение независимо от наличия за объективом камеры. Если с объектива снять камеру, изображение никуда не пропадёт и будет физически «висеть в воздухе» за объективом. Это изображение можно наблюдать глазом или на листе бумаги.

Формирование изображения в объективе

Рассмотрим значение оптических параметров на примере идеальной тонкой линзы (этот раздел был в школьной физике в 8 классе). Тонкую линзу ещё называют идеальным объективом, то есть объективом, который создаёт идеальное изображение, без искажений и аберраций (подробнее об аберрациях в следующей статье).

Для начала вспомним построение изображения в одиночной линзе. От него всего лишь шаг до настоящего объектива и понимания его основных параметров. Одиночная линза – очень простая и удобная модель для расчётов. Любой объектив (кроме объектива с сильной дисторсией) при расчёте можно свести к эквивалентной ему одиночной линзе. Большое количество линз в реальных объективах служат лишь для получения изображения хорошего качества.

Предположим, перед линзой на некотором расстоянии расположен предмет AB. Предмет перпендикулярен оптической оси и изображение A´B´этого предмета также будет перпендикулярно оптической оси. Значит, чтобы найти положение и размер изображения A´B´, достаточно найти местоположение точки и опустить оттуда перпендикуляр на оптическую ось.

Идеальная линза

Идеальная линза

Для нахождения местоположения точки B´ достаточно построить два луча:

  1. Первый луч идёт до линзы параллельно оптической оси, а после линзы – в фокус F´.
  2. Второй луч проходит через точку пересечения тонкой линзы с оптической осью, не меняя своего направления.

На месте пересечения этих двух лучей и будет располагаться точка .

Примечание. Фокус – точка на оптической оси, куда фокусируется пучок лучей, идущий параллельно оптической оси. Фокальная плоскость – плоскость, проходящая через точку фокуса и перпендикулярная оптической оси. Матрицу чаще всего располагают в фокальной плоскости.

Отсюда можно сделать два промежуточных вывода:

  1. Лучи, идущие параллельно оптической оси, после линзы собираются в её фокусе. Фокусируются в фокусе, если говорить строго и не обращать внимание на тавтологию.
  2. Лучи, проходящие под углом к оптической оси, фокусируются в фокальной плоскости в точке, на которую указывает луч, проходящий через центр линзы.

Теперь начнём удалять предмет от линзы, увеличивая расстояние L. Что произойдёт?

Смоделировано в программе Zemax

Смоделировано в программе Zemax

Первая линза на рисунке по расположению предмета и изображения совпадает с предыдущем рисунком «Идеальная линза».

Когда предмет перемещается на двойное фокусное расстояние, его изображение становится равным предмету.

При дальнейшем удалении предмета от линзы его изображение уменьшается и приближается к фокальной плоскости.

Когда предмет удаляется на бесконечность, его изображение располагается в фокальной плоскости:

Предмет наблюдения в бесконечности, изображение – в фокальной плоскости

Предмет наблюдения в бесконечности, изображение – в фокальной плоскости

Если идти по рисунку в обратном порядке, снизу вверх, то можно сделать выводы:

  • При наблюдении вдаль матрица стоит в фокальной плоскости.
  • При наблюдении на конечное расстояние необходимо отодвинуть матрицу от объектива. Конструктивно это реализуется выдвиганием всего объектива (либо одной из линз объектива) вперёд по направлению от неподвижной матрицы. В первом случае объектив вывинчивается изнутри собственного корпуса по резьбе.

При удалении предмета его угловой размер (на рисунке – угол между центрами синего и зелёного пучков лучей) уменьшается. Поэтому даже самые большие объекты наблюдения помещаются на маленькую матрицу, если они наблюдаются издалека.

Реальные предметы никогда не располагаются в бесконечности. Бесконечность сама по себе умозрительное понятие, не имеющее отношение к практической физике. В реальности любой предмет располагается на конкретном расстоянии от объектива. Если расстояние до предмета настолько большое, что его изображение находится практически в фокальной плоскости и неотличимо по резкости от изображения строго в фокальной плоскости, то говорят, что предмет находится на гиперфокальном расстоянии или расстоянии начала бесконечности. Гиперфокальное расстояние зависит от параметров объектива; например, для глаза (а глаз – тоже объектив) оно равно приблизительно пяти метрам – именно на таком расстоянии висит офтальмологическая таблица для проверки остроты зрения.

Рассмотрим теперь некоторые соотношения идеальной линзы, через которую на матрицу проецируется предмет, находящийся на гиперфокальном расстоянии:

Основные соотношения тонкой линзы

Основные соотношения тонкой линзы

Зная размер предмета, расстояние до предмета и фокусное расстояние объектива, можно определить линейный и угловой размеры изображения.

Зная размеры матрицы (подставив его вместо размера изображения y´) и фокусное расстояние объектива, можно определить угловое поле зрения.

Рассчитав угловой размер изображения, можно прикинуть необходимый размер матрицы и пропорции изображения на ней и на мониторе компьютера.

Рассчитав линейный размер изображения и зная размер пикселя матрицы, можно узнать, сколько пикселей займёт изображение. Это – важная часть задачи распознавания изображения нейросетью (часто указывается, что для работы нейросети необходимо, чтобы изображение занимало не менее Х пикселей).

Пример расчёта угловых полей

Задача: найти поля зрения для на максимальном зуме для объектива Computar M24Z1527PDC-MP с камерой на основе сенсора Python 2000.

У прямоугольного сенсора есть три ключевых размера (в спецификациях эта область называется opical area, sensitive area и т.д.):

К расчёту угловых полей через размер сенсора

К расчёту угловых полей через размер сенсора

Арктангенс отношения соответствующего размера сенсора к фокусному расстоянию даёт, соответственно, три угловых поля зрения: горизонтальное, вертикальное и диагональное.

Чтобы определить размеры a и b, необходимо умножить разрешение сенсора на размер одного пикселя.

Решаем:

  • Гуглим спецификацию на объектив Computar M24Z1527PDC-MP и ищем его максимальной фокусное расстояние: 360 мм. Максимальный зум всегда означает максимальное фокусное расстояние.
  • Гуглим спецификацию на сенсор Python 2000 и ищем его разрешение: 1920х1200 и размер пикселя: 4,8 мкм (сразу переводим в мм: 0,0048 мм).
  • Определяем размеры светочувствительной области сенсора в мм: 1920*0,0048 х 1200*0,0048 = 9,216 х 5,76 мм.
  • По теореме Пифагора находим диагональ сенсора: 10,87 мм.
  • Находим диагональное поле зрения: arctg(10,87 / 360) = 1,729 градуса.
  • Находим горизонтальное поле зрения: arctg(9,216 / 360) = 1,446 градуса.
  • Находим вертикальное поле зрения: arctg(5,76 / 360) = 0,916 градуса.

Расчёт не учитывает дисторсию, неточность номинального фокусного расстояния и прочие погрешности реальных оптических систем, так что найденные величины примерные, и их стоит округлить до первого знака после запятой.

Ответ:    Диагональное поле зрения: 1,7 градуса
Горизонтальное поле зрения: 1,4 градуса
Вертикальное поле зрения: 0,9 градуса

Пример расчёта дистанции через необходимое число пикселей

Задача: найти расстояние, с которого объект высотой 5 метров при наблюдении в объектив Computar M24Z1527PDC-MP с камерой на основе сенсора Python 2000 на максимальном зуме будет занимать изображение размером 100 пикселей.

  • Гуглим спецификацию на объектив Computar M24Z1527PDC-MP и ищем его максимальной фокусное расстояние: 360 мм.
  • Гуглим спецификацию на сенсор Python 2000 и ищем размер пикселя: 4,8 мкм.
  • Находим размер изображения: y′ = 100 * 4,8 мкм = 480 мкм. Переводим в мм: 0,48 мм.
  • Выражаем из формулы с рисунка «Основные соотношения тонкой линзы» расстояние до предмета наблюдения и находим ответ в миллиметрах:

L=\frac{y*f'}{y'}=\frac{[5*10^{3}]*360}{0,48}=3750000

Ответ: 3750 метров.

Одно и то же изображение, занимающее разное количество пикселей

Одно и то же изображение, занимающее разное количество пикселей

Теперь посмотрим, как реальный многолинзовый объектив переходит в эквивалентную ему тонкую линзу. Эта тонкая линза располагается в точке пересечения продолжений входящего в объектив и выходящего из объектива лучей:

Переход от реального объектива к тонкой линзе

Переход от реального объектива к тонкой линзе

Обратите внимание, что фокусное расстояние объектива не зависит от длины его корпуса. Оно может быть как больше, так и меньше. Если фокусное расстояние больше, чем длина объектива, то это телеобъектив, а если меньше – то ретрофокусный объектив (на картинке как раз он).

Интересный факт. В зеркальных фотоаппаратах за объективом стоит отклоняющееся зеркало, требующее для работы много места. Объективу необходим длинный фокальный отрезок– расстояние от последний линзы до фокальной плоскости. Встречаются объективы, фокусное расстояние которого меньше, чем фокальный отрезок.

Примечание. Фокальный отрезок не следует путать с рабочим отрезком – расстоянием от базового торца корпуса объектива до фокальной плоскости. Рабочий отрезок отмеряется от металла, а фокальный – от стекла.

Основные параметры объектива

Из всего многообразия оптических параметров объектива интересны в первую очередь три основных, которых достаточно, чтобы в 95% случаев подобрать объектив:

  1. Фокусное расстояние
  2. Относительное отверстие
  3. Угловое поле зрения

Основные параметры объектива

Основные параметры объектива

Фокусное расстояние. Дать ему точное определение невозможно, не введя предварительно несколько терминов из теории геометрической оптики, так что точное определение опустим и будем использовать практически удобное: фокусное расстояние – расстояние от тонкой линзы (которая заменяет собой объектив при расчёте) до фокальной плоскости.

Чем больше фокусное расстояние, тем сильнее увеличение объектива, но тем меньше его угловое поле зрения. Фокусное расстояние и поле зрения обратно пропорциональны.

Интересный факт. Зайдите в Википедию и прочитайте, что написано в статье про фокусное расстояние. Чёткого определения там нет – и неспроста.

Примечание. Незнание строгого определения не мешает фотографам использовать нужную оптику и не помешает программистам выбирать объективы.

Относительное отверстие (и его альтер-эго: диафрагменное число). Отношение диаметра входного зрачка линзы к её фокусному расстоянию: D:f ´, когда D приведено к единице. Обратная величина, f ´/D, называется диафрагменное число. Диафрагменное число написано на кольце управления диафрагмой фотообъектива.

Что такое входной зрачок (его иногда ещё называют апертурой)? Входной зрачок определяет максимальный диаметр пучков, которые могут пройти через объектив. В случае одиночной линзы – это диаметр самой линзы. В случае линзы в оправе – это внутренний диаметр оправы. В случае сложного объектива с регулируемой диафрагмой это изображение диафрагмы, которое наблюдается через все предшествующие ей линзы. Прикройте диафрагму наполовину и загляните в объектив. Изображение диафрагмы, которое видно через линзы объектива, и есть входной зрачок.

Примечание. В случае отсутствия отдельной диафрагмы (такой, какая есть на фотоаппаратах), диафрагмой служит та оправа линзы, которая видится наименьшей, если смотреть внутрь объектива.

Входной зрачок объектива: изображение диафрагмы, видимое через впередистоящую линзу

Входной зрачок объектива: изображение диафрагмы, видимое через впередистоящую линзу

Диаметр входного зрачка объектива – это не диаметр его первой линзы и не диаметр самой диафрагмы. Это диаметр изображения диафрагмы, наблюдаемое, если смотреть внутрь объектива. На размер и положение входного зрачка влияют линзы, стоящие перед диафрагмой; линзы после диафрагмы на входной зрачок не влияют.

Относительное отверстие, как отношение диаметра входного зрачка к фокусному расстоянию, определяет способность объектива собирать свет подобно конусу-воронке, основание которого – диаметр выходного зрачка, а высота – фокусное расстояние. Чем больше относительное отверстие (чем больше дробь, то есть чем меньше знаменатель дроби; относительное отверстие 1:2 больше, чем 1:4) – тем светлее изображение.

Пример №1. Рассчитаем относительное отверстие для одиночной линзы. Диаметр линзы 50 мм, фокусное расстояние – 100 мм. В случае одиночной линзы входной зрачок – это её диаметр. Относительное отверстие: 50/100 = 1:2. Произносится – «один к двум», традиционно пишется через знак «:».

Пример №2. На торце объектива написано: F4/200. Это означает: фокусное расстояние объектива 200 мм, диафрагменное число F4, относительное отверстие – 1:4.

Примечание. Как легко заметить, относительное отверстие и диафрагменное число фактически описывают одно и то же. Это историческое разделение – относительное отверстие это немецкая/советская оптические школы, а диафрагменное число – англо/американская.

Иногда относительное отверстие могут называть светосилой, но это неправильно. Настоящая светосила – отношение освещённости изображения к яркости предмета: H=E/В. Она пропорциональна квадрату относительного отверстия.

В объективе с регулируемой диафрагмой изменение относительного отверстия – это открытие или закрытие диафрагмы. Регулировка диафрагмы объектива выполняет следующие функции:

  • Регулировка яркости
  • Повышение резкости
  • Изменение глубины резкости

Эти параметры противоречивы, потому что все три завязаны на одну и ту же диафрагму. Повышение одного параметра одновременно приводит к снижению второго. Рассмотрим их подробнее.

Интересный факт. Если необходимо понять, какой эффект на изображение даёт диафрагма, можно обратиться к статьям и видеороликам фотографов. Однако не стоит запоминать их объяснения, как именно диафрагма даёт эти эффекты, какая там физика – в таких объяснениях часто встречаются ошибки.

Регулировка яркости. Интуитивно понятно: чем сильнее открыта диафрагма, тем больше света проходит через объектив и тем светлее картинка. Если есть выбор между осветлением компьютерными алгоритмами и открытием диафрагмы – следует выбирать диафрагму. Коррекция яркости алгоритмами – это искусственное вытягивание изображение, в то время как открытие диафрагмы – естественное увеличение светового потока и повышения отношения сигнал/шум. Особенно сильно алгоритмы уступают открытию диафрагмы в сумерках.

Повышение резкости. При закрывании диафрагмы повышается резкость изображения, особенно в центре кадра. Это связано с уменьшением аберраций широких пучков – сферической аберрации и комы (подробнее – в следующей статье). Однако, если продолжать закрывать диафрагму, с какого-то момента резкость снова начнёт ухудшаться – начнёт сказываться влияние дифракции (подробнее – так же в следующей лекции). Этот эффект хорошо разобран в статьях по фотографии.

Изменение глубины резкости. Чем больше открыта диафрагма, тем меньше глубина резко изображаемого пространства – области, ближе и дальше которой предметы будут размыты. Этот приём используется при портретной фотографии, когда диафрагма открывается широко, и фон за лицом становится размыт.

Вывод. Открытие диафрагмы повышает яркость и контраст изображения, но уменьшает чёткость и глубину резкости. Закрытие диафрагмы повышает чёткость и глубину резкости, но делает изображение более тёмным.

Угловое поле зрения. Угол в пространстве, который отображается объективом на матрице.

Примечание. Оптическая система объектива осесимметричная, так что любой объектив имеет круглое поле зрения, в который вписывается прямоугольная матрица. В итоге в спецификациях на объективы (lens datasheets) указывают угловые поля зрения по горизонтали и по вертикали, иногда – ещё и по диагонали. Поля указывают всегда для конкретного сенсора:

В таблице выше пример из спецификации трансфокатора (объектива с переменным фокусным расстоянием). Объектив совместим с сенсором 2/3 видиконовского дюйма, также совместим с меньшими типоразмерами сенсоров: 1/1,8 и 1/2. Для каждого сенсора указаны три угловых поля зрения: D – диагональное, H – горизонтальное и V – вертикальное. Для каждого поля зрения указано его максимальное и минимальное значение в градусах.

Важный факт. Диагонали матриц (1/2”, 2/3” и т.д. измеряются в видиконовских дюймах).

Этот особый дюйм – это не привычный имперский дюйм 25,4 мм. Видиконовский дюйм равен приблизительно 2/3 от обычного дюйма или приблизительно 16,93 мм.

Интересный факт. Видиконовский дюйм – одна из очень немногих оставшихся в обращении внесистемных единиц измерения, не привязанных к системе СИ и метрологическим эталонам. В XXI веке видиконовский дюйм выглядит как измерение расстояния шагами или дальностью полёта стрелы. Однако, в силу инерции общества, им продолжают пользоваться.

Если объектив совместим с каким-то сенсором, то он также совместим с любым меньшим сенсором. А вот при попытке поставить сенсор большего размера на его краях возникнет виньетка.

Угловое поле в спецификациях иногда заменяется указанием максимального сенсора, совместимого с данным объективом. При этом само значение углового поля в градусах может отсутствовать.

Типы объективов, применяемых в техническом зрении

Для наблюдения вдаль используются объективы, называемые в интернет-магазинах либо «объективы для видеонаблюдения», либо «объективы для машинного зрения». Пример:

Примечание. Иногда объективы, прямо обозначенные как объективы для машинного зрения, предназначены для работы вблизи. В них указывается расстояние до предмета и для наблюдения вдаль они не годятся. Тип объектива надо всегда уточнять.

При выборе объектива для конкретной задачи необходимо в первую очередь учитывать следующие параметры:

  1. Фокусное расстояние
  2. Относительное отверстие / диафрагменное число
  3. Размер максимального сенсора (через него определяется угловое поле)
  4. Тип резьбы для камеры (например, С-mount) – иначе камеру не навинтить на объектив

Резьбы Cи CS типа (S означает short). Отличаются разным значением рабочего отрезка. Существуют прокладные кольца-переходники с CS на C.

Резьбы Cи CS типа (S означает short). Отличаются разным значением рабочего отрезка. Существуют прокладные кольца-переходники с CS на C.

Тезисы (стоит запомнить)

1.) Чтобы получить изображение в компьютере, необходимы объектив и камера.

2.) Объектив фокусирует свет и формирует плоское изображение, с которым совмещается матрица. Матрицей называют светочувствительный сенсор камеры.

3.) При наблюдении вдаль изображение лежит в фокальной плоскости объектива;
при наблюдении вблизи изображение удаляется от фокальной плоскости и объективу требуется перефокусировка на конечное расстояние.

4.) Объектив для габаритных расчётов можно свести к единичной идеальной линзе и высчитывать необходимые параметры из соотношения подобных треугольников.

5.) Фокусное расстояние и угловое поле зрения обратно пропорциональны. Чем больше фокусное расстояние, тем больше увеличение, но тем меньше поле зрения.

6.) Входной зрачок объектива – это не диаметр его первой линзы и не диаметр самой диафрагмы. Это диаметр изображения диафрагмы, наблюдаемое, если смотреть внутрь объектива. Входной зрачок влияет на ряд параметров изображения.

7.) Относительное отверстие объектива – отношение диаметра входного зрачка к фокусному расстоянию объектива: 1:2 / 1:2,4 / 1:5,6 и так далее. Диафрагменное число – знаменатель этой дроби, оно обратно относительному отверстию. Диафрагменное число написано на объективе: F/2 / F/2.4 / F/5.6.

Автор: Андрей @AndreyWinter
Источник: https://habr.com/