Трёхмерное зрение

Pinhole Camera Model

Модель камеры-обскуры

актуальноТекущий рабочий стандарт

Направления: Прикладные направления · Трёхмерное зрение

Простейшая модель съёмки: луч из точки сцены проходит через центр проекции и оставляет след на . На ней держится вся геометрия многовидового зрения.

Точка (X, Y, Z) в системе камеры попадает в пиксель (u, v): глубина Z уходит в знаменатель

Ключевые тезисы

  • Проекция нелинейна в декартовых координатах: делить на глубину — не линейная операция.
  • Фокусное расстояние задаёт угол обзора: длиннее фокус — уже поле зрения и слабее перспектива.
  • Реальный объектив отличается от модели: линза добавляет , которую снимают отдельно.

Какую задачу решает

Снимок — это не копия сцены, а её проекция. Модель отвечает, по какому правилу трёхмерная точка превращается в пиксель: луч из точки идёт через одну-единственную дырку и оставляет след на . Дырка бесконечно мала, поэтому каждой точке сцены соответствует ровно один пиксель, а всё изображение получается перевёрнутым.

Модель кажется грубой, но именно на ней стоит вся многовидовая геометрия. Как только вы согласились, что съёмка — это деление на глубину, получаете и эпиполярное ограничение, и , и . Реальный объектив от модели отличается, но отличия описываются отдельной поправкой на , а не переписыванием геометрии.

Главное следствие: деление на Z необратимо. Пиксель задаёт не точку, а целый луч — все точки на нём дают один и тот же след. Восстановить глубину по одному снимку геометрия не позволяет; для этого нужен второй кадр, датчик или обученная модель.

Почему лицо на селфи кажется крупнее

Нос ближе к камере, чем уши, и делится на меньшее Z. При съёмке с тридцати сантиметров разница глубины между носом и ушами составляет заметную долю расстояния, поэтому нос увеличивается сильнее — портрет искажается. Если отойти на два метра и снять на длинный фокус, та же разница глубины становится мизерной долей расстояния, и пропорции восстанавливаются. Отсюда правило портретной съёмки: длинный фокус с большего расстояния. Никакого «искажения объективом» здесь нет — есть деление на Z.

Подробный разбор

3 подтемы — объяснения, формулы, примеры и интерактивные графики.

Поместите начало координат в центр проекции, направьте ось Z вдоль оптической оси. Точка сцены и её след на плоскости изображения, отстоящей на , образуют два подобных треугольника. Отношение сторон даёт координаты следа сразу.

Что означает каждый компонент
  • фокусное расстояние: как далеко плоскость изображения от центра проекции
  • координата точки поперёк оптической оси
  • глубина — расстояние до точки вдоль оптической оси
Та же формула для второй координаты: v = f·Y/Z

Отсюда сразу два следствия. Первое: проекция нелинейна — деление на переменную нельзя записать в декартовых координатах. Второе, важнее: отображение необратимо. Точки и дают один и тот же пиксель, и различить их по снимку невозможно.

На практике

Пиксель задаёт не точку, а луч. Всё трёхмерное зрение — это способы выбрать на этом луче правильное место: по второму кадру, по датчику или по выученным закономерностям.

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

Фокус (экв. 35 мм)Угол по горизонталиГде применяют
14 мм≈ 104°архитектура, тесные помещения
24 мм≈ 74°пейзаж, репортаж
50 мм≈ 40°близко к восприятию глаза
85 мм≈ 24°портрет: минимум перспективных искажений
200 мм≈ 10°спорт, дикая природа

В компьютерном зрении измеряют в пикселях, а не в миллиметрах: так оно сразу учитывает размер и плотность сенсора. Отсюда в два числа — и : у неквадратного пикселя они различаются.

На практике

Главная точка — это место, где оптическая ось протыкает . Она близка к центру кадра, но не совпадает с ним: сборочный допуск даёт смещение в несколько пикселей, и его находит.

Модель предполагает бесконечно малое отверстие. Настоящая камера использует линзу, которая собирает больше света, но искривляет лучи неравномерно: сильнее по краям кадра, слабее в центре.

  • Радиальная дисторсия — основная. Бочка (края выпучены) на широком угле, подушка (края втянуты) на длинном фокусе.
  • Тангенциальная — от непараллельности линзы и . Обычно на порядок слабее радиальной.
  • Хроматическая — разные длины волн преломляются по-разному, на краях появляется цветная кайма.
Обозначения
  • награда, полученная агентом на шаге
  • истинное значение целевой переменной
  • объект: вектор признаков
  • номер или количество: индекс шага, число соседей, кластеров или позиций

Коэффициенты находятся вместе с при . Дальше кадр «выпрямляют» один раз, и вся последующая геометрия работает с идеальной моделью.

Когда дисторсию нельзя игнорировать

На 50 мм объективе смещение по краям кадра — единицы пикселей, и в задаче его никто не заметит. На широкоугольнике действия достигают десятков пикселей: на таких данных даст фундаментальную , согласующуюся ни с чем. Правило простое: если в пайплайне есть слово «геометрия», кадры надо выпрямлять.

Где применяется

  • камерыМодель задаёт, какие параметры вообще нужно определить по снимкам шахматной доски.
  • Дополненная реальностьЧтобы виртуальный объект встал на стол, нужно знать, как камера проецирует сцену.
  • Измерение реальных размеров по снимкам возможно только через явную модель проекции.
  • РобототехникаПеревод пикселя в направление в системе координат робота — прямое применение модели.

Плюсы, минусы и альтернативы

Плюсы

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

Минусы

  • Не учитывает линзу: без поправки на прямые на широком угле искривляются.
  • Предполагает бесконечно малое отверстие — глубина резкости и размытие вне модели.
  • Не описывает нестандартную оптику: рыбий глаз и панорамные камеры требуют других моделей.

Брать, если

  • Всегда, когда речь о геометрии съёмки: , реконструкция, измерения по снимку.
  • Как основа для любых многовидовых методов.

Не брать, если

  • Для сверхширокоугольной и панорамной оптики берут модель рыбьего глаза или сферическую.
  • Задачи распознавания «что на картинке» модель камеры вообще не требуют.

Чем заменяют

Видеолекции

Записи университетских курсов, где эта тема звучит. Ссылка открывает запись с той секунды, где о ней говорят, — искать по трёхчасовой лекции не нужно.

Связанные темы

Геометрия камеры

Homogeneous Coordinates90%

Однородные координаты · Трёхмерное зрение

Приём, который делает проекцию линейной: добавляем к вектору лишнюю единицу и получаем право записывать сдвиг, поворот и деление на глубину одной матрицей.

Camera Calibration90%

Параметры камеры и калибровка · Трёхмерное зрение

Внутренние параметры описывают саму камеру, внешние — где она стоит и куда смотрит. Без них пиксель невозможно превратить в луч, а луч — в точку сцены.

Rotation Representations90%

Представления поворота · Трёхмерное зрение

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

Homography and DLT90%

Гомография и DLT · Трёхмерное зрение

Проективное преобразование плоскости: восемь степеней свободы, которые связывают два вида одной плоской поверхности. Считается линейным методом по четырём соответствиям.

Matrix90%

Матрица · Математический справочник

Прямоугольная таблица чисел, задающая линейное преобразование или набор объектов.

Следующий шагДальше по связи: Homogeneous CoordinatesПриём, который делает проекцию линейной: добавляем к вектору лишнюю единицу и получаем право записывать сдвиг, поворот и деление на глубину одной матрицей.Перейти →

Глава «Трёхмерное зрение» последний раз правилась . Нашли ошибку — напишите.