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

Homogeneous Coordinates

Однородные координаты

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

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

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

Обозначения
  • сила регуляризации: штраф за сложность модели
  • истинное значение целевой переменной
  • объект: вектор признаков
Однородное представление задано с точностью до множителя

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

  • Точка (x, y) становится (x, y, 1); вся прямая (λx, λy, λ) — та же точка.
  • Сдвиг перестаёт быть исключением: он тоже умножение на .
  • Точки с последней координатой ноль — это направления, «точки на бесконечности», где сходятся параллельные прямые.

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

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

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

Плата — представление задано неоднозначно: (2, 4, 2) и (1, 2, 1) — одна и та же точка. Это не баг, а свойство, из которого растут все проективные инварианты: определена с точностью до масштаба, тоже.

Где встречаются рельсы

Две параллельные прямые на плоскости в декартовых координатах не пересекаются — система уравнений несовместна. В однородных координатах пересечение считается произведением их представлений, и для параллельных прямых оно даёт вектор с нулевой последней координатой. Это законная точка проективной плоскости — та самая точка схода, которую видно на фотографии уходящих вдаль рельсов. Геометрия перестала делать исключение для параллельности, и заодно объяснила, почему на снимке рельсы всё-таки сходятся.

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

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

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

Из-за этого сравнивать однородные напрямую нельзя: и равны как точки, но различны как . Проверка совпадения — через векторное произведение: оно нулевое ровно тогда, когда векторы пропорциональны.

На практике

Та же неоднозначность объясняет, почему и определены «с точностью до масштаба»: умножьте на число — уравнение не изменится. Отсюда у гомографии 8 степеней свободы, а не 9.

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

Где пересекаются параллельные

Прямые и в однородных координатах записываются как и . Их пересечение — произведение: . Последняя координата ноль, значит, это точка на бесконечности в направлении оси — ровно там, где сходятся горизонтальные прямые на фотографии.

Практическая польза не только философская. Точка схода на снимке — это изображение точки на бесконечности, и по трём точкам схода взаимно перпендикулярных направлений можно оценить камеры без всякой шахматной доски.

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

Обозначения
  • объект: вектор признаков
  • транспонирование: строка вместо столбца
ЗадачаРешение
прямая через две точкиl = x₁ × x₂
пересечение двух прямыхx = l₁ × l₂
точка лежит на прямойlᵀx = 0

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

ПреобразованиеСтепеней свободыЧто сохраняет
Евклидово3 (на плоскости)длины, углы, площади
Подобие4углы и отношения длин
Аффинное6параллельность, отношения площадей
Проективное8прямые и двойное отношение

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

На практике

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

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

  • Проекция камерыДеление на глубину становится частью матричного умножения.
  • Склейка панорам между кадрами — обычное матричное произведение.
  • Графические конвейерыOpenGL и его наследники работают в однородных координатах по той же причине.
  • ПересеченияТочка пересечения двух прямых — произведение их представлений.

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

Плюсы

  • Все аффинные и проективные преобразования — одного размера.
  • Композиция преобразований сводится к произведению .
  • Параллельные прямые перестают быть особым случаем.

Минусы

  • Представление неоднозначно: сравнивать напрямую нельзя.
  • Нужно помнить о нормировке перед возвратом в пиксели.
  • Точка с нулевой последней координатой в декартовы координаты не переводится вовсе.

Брать, если

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

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

  • Для обычных метрических вычислений — расстояний, углов — они только мешают.

Чем заменяют

Видеолекции

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

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

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

Pinhole Camera Model90%

Модель камеры-обскуры · Трёхмерное зрение

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

Camera Calibration90%

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

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

Rotation Representations90%

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

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

Homography and DLT90%

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

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

Matrix90%

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

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

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

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