Открыть сервис

Стереокамера и построение карты глубины

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

Принцип работы

Две камеры с параллельными оптическими осями разнесены на расстояние $B$ (база). Точка пространства проецируется на левый и правый сенсоры в разные позиции. Горизонтальная разница координат называется диспаратностью $d$. Связь глубины $Z$ с диспаратностью выражается формулой:

$$Z = \frac{f \cdot B}{d}$$

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

Построение карты глубины

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

Калибровка

Определяются внутренние параметры каждой камеры (фокус, оптический центр, коэффициенты дисторсии) и внешние параметры взаимного положения. На практике применяют калибровку по шахматной доске (метод Чжана) или по набору известных точек.

Ректификация

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

Сопоставление (стереосопоставление)

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

  • Локальные — сравнивают небольшие окна вокруг пикселя по метрике схожести (SAD, SSD, NCC). Быстрые, но чувствительны к шуму и однородным областям.
  • Глобальные — минимизируют функционал энергии по всему изображению, учитывая гладкость. Точнее, но вычислительно дороже.

Современные методы (Semi-Global Matching, SGM) занимают промежуточное положение и широко применяются в промышленности. Отдельное направление — обучение нейросетей на больших стереодатасетах (например, KITTI, Scene Flow), что даёт высокую плотность и точность карт.

Постобработка

Устраняются выбросы, заполняются «дыры» в областях, где соответствие не найдено (перекрытия, однородные поверхности), выполняется субпиксельное уточнение диспаратности.

Ограничения

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

Применение

ОбластьЗадача
АвтомобилиОбнаружение препятствий, оценка дистанции
РобототехникаНавигация, захват объектов
КартографияПостроение 3D-моделей местности
ПромышленностьКонтроль размеров, дефектоскопия
AR/VRТрекинг рук, реконструкция сцены

Активно развиваются активные методы (структурированный свет, ToF-камеры), которые дополняют или заменяют пассивную стереосъёмку там, где текстуры отсутствуют.

IRONLIVE — база данных и аналитика по компаниям России.

На главную IRONLIVE →