Приём, который делает проекцию линейной: добавляем к лишнюю единицу и получаем право записывать сдвиг, поворот и деление на глубину одной .
- сила регуляризации: штраф за сложность модели
- истинное значение целевой переменной
- объект: вектор признаков
Ключевые тезисы
- Точка (x, y) становится (x, y, 1); вся прямая (λx, λy, λ) — та же точка.
- Сдвиг перестаёт быть исключением: он тоже умножение на .
- Точки с последней координатой ноль — это направления, «точки на бесконечности», где сходятся параллельные прямые.
Какую задачу решает
В декартовых координатах проекция записывается делением на глубину, а сдвиг — сложением. Ни то, ни другое не матричное умножение, поэтому цепочку преобразований нельзя свернуть в одну . убирают это неудобство: добавляем к лишнюю компоненту, и вся геометрия становится линейной алгеброй.
Приём стоит недорого, а даёт много. Сдвиг, поворот, масштабирование и проекция превращаются в одного вида, их можно перемножать и обращать. Дополнительно появляется язык для того, чего в декартовых координатах вообще нет: точки на бесконечности, где сходятся параллельные прямые, и прямые как объекты первого класса.
Плата — представление задано неоднозначно: (2, 4, 2) и (1, 2, 1) — одна и та же точка. Это не баг, а свойство, из которого растут все проективные инварианты: определена с точностью до масштаба, тоже.
Две параллельные прямые на плоскости в декартовых координатах не пересекаются — система уравнений несовместна. В однородных координатах пересечение считается произведением их представлений, и для параллельных прямых оно даёт вектор с нулевой последней координатой. Это законная точка проективной плоскости — та самая точка схода, которую видно на фотографии уходящих вдаль рельсов. Геометрия перестала делать исключение для параллельности, и заодно объяснила, почему на снимке рельсы всё-таки сходятся.
Подробный разбор
Точке плоскости сопоставляется тройка . Но и любая пропорциональная тройка описывает ту же точку: чтобы вернуться к декартовым координатам, делят первые две компоненты на третью.
Из-за этого сравнивать однородные напрямую нельзя: и равны как точки, но различны как . Проверка совпадения — через векторное произведение: оно нулевое ровно тогда, когда векторы пропорциональны.
Та же неоднозначность объясняет, почему и определены «с точностью до масштаба»: умножьте на число — уравнение не изменится. Отсюда у гомографии 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%
Матрица · Математический справочникПрямоугольная таблица чисел, задающая линейное преобразование или набор объектов.
Всё, что названо в описании, разобрано здесь же или в соседней теме — переходы под каждым определением.
Класс эквивалентности
Вся прямая λ(x, y, 1) — одна точка плоскости. Отсюда «с точностью до масштаба».
Разбор ниже: Точка как целая прямаяТочка на бесконечности
Последняя координата ноль: направление, а не место. Там встречаются параллельные прямые.
Разбор ниже: Точки на бесконечностиДвойственность
Прямая тоже задаётся тройкой чисел, и точка лежит на прямой, когда их скалярное произведение ноль.
Разбор ниже: Прямые как объекты первого классаПроективное преобразование
Любая обратимая 3×3: сохраняет прямые, но не углы и не длины.
Разбор ниже: Иерархия преобразованийГлава «Трёхмерное зрение» последний раз правилась . Нашли ошибку — напишите.