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

Epipolar Geometry

Эпиполярная геометрия

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

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

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

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

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

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

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

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

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

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

Как отсеять половину ложных пар за один проход

нашёл на паре снимков две тысячи соответствий; глазами видно, что часть из них соединяет случайные похожие текстуры. Оцените фундаментальную робастно — RANSAC переберёт случайные восьмёрки и оставит ту, что согласуется с большинством. Дальше для каждой пары посчитайте расстояние от точки до её эпиполярной линии. Пары дальше пары пикселей отбрасываются: обычно это треть-половина исходных. Оставшееся уже годится для , и падает в разы — без единого предположения о том, что именно снято.

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

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

Пиксель первой камеры соответствует лучу в пространстве. Где на нём лежит точка сцены — неизвестно, но известно, что она на нём. Спроецируйте весь луч во вторую камеру: прямая в пространстве проецируется в прямую на снимке. Это и есть .

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

  • Соответствие точки всегда лежит на её эпиполярной линии — это необходимое условие.
  • Условие не достаточное: на линии может оказаться и ложное совпадение.
  • Ограничение не требует знать сцену: только взаимное положение камер.
Вид сверхуСнимок второй камерыкамера 1камера 2эпиполярная линия — проекция всего луча
глубина точки4.2 м
положение на снимке-5 px
эпипольна бесконечности
в кадреда
Меняйте глубину: слева точка едет по лучу, справа — вдоль эпиполярной линии. Сама линия при этом стоит на месте — в этом и весь смысл ограничения

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

Движение камерыГде Как выглядят линии
сдвиг вбок ()на бесконечностипараллельные горизонтали
движение вперёдв точке сходарасходятся из центра кадра
чистый поворотне определён нет
На практике

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

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

  1. Найти взаимное положение камер (из или ).
  2. Построить пару , выравнивающих кадры.
  3. Применить их к изображениям — получить ректифицированную пару.
  4. Искать соответствие по строке: задача стала одномерной.
На практике

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

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

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

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

Плюсы

  • Не требует знать сцену: ограничение чисто геометрическое.
  • Сужает поиск соответствия с плоскости до линии — на порядки меньше вариантов.
  • Даёт дешёвый и надёжный фильтр ложных пар.

Минусы

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

Брать, если

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

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

  • Когда камера только поворачивалась вокруг центра: там работает .
  • Для одного снимка ограничение бессмысленно.

Чем заменяют

Видеолекции

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

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

Многовидовая реконструкция · Восстановление глубины

Local Features and Matching90%

Локальные признаки и соответствия · Трёхмерное зрение

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

Fundamental and Essential Matrix90%

Фундаментальная и существенная матрицы · Трёхмерное зрение

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

Triangulation90%

Триангуляция · Трёхмерное зрение

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

Structure from Motion90%

Восстановление структуры по движению · Трёхмерное зрение

По набору неупорядоченных снимков одновременно находим положения камер и трёхмерные точки сцены. Классическая основа фотограмметрии и вход почти любого 3D-пайплайна.

Bundle Adjustment90%

Уточнение связки · Трёхмерное зрение

Совместная нелинейная оптимизация всех камер и всех точек по одному критерию — суммарной ошибке репроекции. Шаг, который превращает грубую реконструкцию в точную.

Pose and Keypoints90%

Ключевые точки и поза · Компьютерное зрение

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

Stereo Depth85%

Стереозрение и диспаритет · Трёхмерное зрение

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

Monocular Depth Estimation85%

Монокулярная оценка глубины · Трёхмерное зрение

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

Point Clouds85%

Облака точек · Трёхмерное зрение

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

Segmentation85%

Сегментация · Компьютерное зрение

Классификация на уровне пикселей: семантическая, инстанс- и паноптическая.

Следующий шагДальше по связи: Local Features and MatchingЧтобы связать два снимка, нужно найти на них одни и те же точки. Детектор находит выделяющиеся места, дескриптор описывает окрестность так, чтобы описание пережило поворот и смену масштаба.Перейти →

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