Две камеры на известном расстоянии дают глубину напрямую: чем сильнее сдвинулась точка между снимками, тем она ближе.
Ключевые тезисы
- После поиск соответствия идёт вдоль строки — задача из двумерной становится одномерной.
- Глубина обратно пропорциональна : дальние объекты различаются по глубине хуже ближних.
- Однородные поверхности и повторяющиеся текстуры ломают сопоставление — там неопределим.
Какую задачу решает
Два глаза видят мир чуть по-разному, и по величине этого расхождения мозг судит о расстоянии. делает то же самое численно: две камеры на известной базе снимают сцену, для каждой точки измеряется сдвиг между кадрами, и из сдвига считается глубина.
Ключевое упрощение — . Кадры поворачивают так, чтобы соответствующие точки лежали на одной строке; после этого поиск соответствия становится одномерным, а сдвиг сводится к одному числу — диспаритету. Глубина получается из простой формулы, где всё, кроме диспаритета, известно из .
Метод честно измеряет, а не угадывает, и потому даёт абсолютный масштаб. Расплата — зависимость от текстуры: там, где стена однотонная, соответствие найти не из чего, и глубина остаётся неопределённой.
Возьмите базу двенадцать сантиметров и фокус около семисот пикселей — типичный стереомодуль. На пяти метрах составляет примерно семнадцать пикселей, и ошибка в полпикселя даёт погрешность глубины около пятнадцати сантиметров. На двадцати метрах диспаритет падает до четырёх пикселей, и та же полпикселя превращаются уже в два с половиной метра. Отсюда правило: удвоение расстояния учетверяет ошибку. Если нужна дальняя зона, базу приходится растягивать — на автомобилях её доводят до полуметра и больше.
Подробный разбор
- глубина: расстояние до точки
- фокусное расстояние в пикселях, умноженное на базу между камерами
- диспаритет: сдвиг точки между левым и правым кадром
Обратная зависимость — источник главного свойства метода. Ошибка в оценке переводится в ошибку глубины с коэффициентом, растущим как квадрат расстояния.
База 12 см, фокус 700 px, ошибка полпикселя. На 5 метрах погрешность глубины около 15 см — приемлемо. На 20 метрах она вырастает до 2,5 м. Удвоение дистанции учетверяет ошибку, и никакой алгоритм этого не обойдёт: это геометрия, а не качество сопоставления.
- Больше база — точнее дальняя глубина, но больше окклюзий и меньше общая зона видимости.
- Меньше база — надёжнее сопоставление вблизи, но дальняя зона тонет в шуме.
- Практическое правило: база порядка одной десятой типичной рабочей дистанции.
| Задача | Типичная база |
|---|---|
| телефон, портретный режим | 1–2 см |
| настольная робототехника | 5–12 см |
| мобильный робот в помещении | 10–20 см |
| автомобиль | 40–120 см |
Жёсткость конструкции не менее важна, чем сама база. Сдвиг камер друг относительно друга на доли миллиметра уводит , и начинает врать систематически — а внешне выглядит нормально.
- Выпрямить по обеих камер.
- Ректифицировать: повернуть кадры так, чтобы соответствия легли на общие строки.
- Для каждого пикселя перебрать и выбрать лучший по стоимости сопоставления.
- Сгладить результат: локальный выбор шумит, глобальные методы учитывают соседей.
- Отфильтровать ненадёжное: проверка «слева направо и обратно» ловит окклюзии.
Классический рабочий метод — полуглобальное сопоставление (SGM): оно агрегирует стоимость вдоль нескольких направлений и даёт хороший баланс качества и скорости. Нейросетевые методы обходят его по качеству, но требуют .
| Ситуация | Что происходит | Что делать |
|---|---|---|
| однотонная стена | все позиции одинаково хороши | проектор с узором (активное стерео) |
| повторяющийся узор | несколько одинаково хороших минимумов | больше база, глобальная оптимизация |
| окклюзия | точки нет во втором кадре | детектировать и помечать, а не выдумывать |
| блики и прозрачность | яркость зависит от ракурса | поляризационный фильтр, другой датчик |
Хорошая система стерео не заполняет дыры выдуманными значениями, а честно помечает их как недостоверные. без маски достоверности опаснее, чем карта с дырами: потребитель не знает, чему верить.
Где применяется
- РобототехникаДешёвая для обхода препятствий.
- Автономный транспорт дополняет лидар и работает там, где он слеп.
- Контроль качестваИзмерение геометрии детали на конвейере без контакта.
- Портретный режимДве камеры телефона дают грубую глубину для размытия фона.
Плюсы, минусы и альтернативы
Плюсы
- Даёт абсолютный масштаб: измерение, а не оценка.
- Пассивный метод — не светит в сцену и не мешает другим датчикам.
- После вычислительно дёшев.
Минусы
- Однородные поверхности и повторяющиеся текстуры неразрешимы.
- Точность падает квадратично с расстоянием.
- Требует жёсткой конструкции: сдвиг камер друг относительно друга ломает .
- Окклюзии оставляют дыры в карте глубины.
Брать, если
- Нужна метрическая глубина в ближней и средней зоне.
- Сцена текстурная, а конструкцию можно сделать жёсткой.
Не брать, если
- Далёкие объекты: уходит в шум.
- Гладкие однотонные поверхности — там выигрывает активный датчик или обученная модель.
Чем заменяют
Видеолекции
Записи университетских курсов, где эта тема звучит. Ссылка открывает запись с той секунды, где о ней говорят, — искать по трёхчасовой лекции не нужно.
Связанные темы
Восстановление глубины
Monocular Depth Estimation85%
Монокулярная оценка глубины · Трёхмерное зрениеГлубина по одному снимку. Геометрически задача неразрешима — модель опирается на выученные признаки: перекрытия, размеры знакомых предметов, перспективу, размытие.
Epipolar Geometry85%
Эпиполярная геометрия · Трёхмерное зрениеТочка на одном снимке задаёт на другом не точку, а прямую. Это сужает поиск соответствий с плоскости до линии и позволяет отбраковать ложные пары.
Point Clouds85%
Облака точек · Трёхмерное зрениеНабор трёхмерных точек без порядка и без сетки — то, что отдают лидар и SfM. Работать с ним свёрточной сетью нельзя: у данных нет регулярной решётки.
Segmentation85%
Сегментация · Компьютерное зрениеКлассификация на уровне пикселей: семантическая, инстанс- и паноптическая.
Всё, что названо в описании, разобрано здесь же или в соседней теме — переходы под каждым определением.
Диспаритет
Сдвиг точки между левым и правым кадром в пикселях. Обратно пропорционален глубине.
Разбор ниже: Диспаритет и глубинаБаза
Расстояние между камерами. Больше база — точнее дальняя глубина, но хуже перекрытие.
Разбор ниже: Выбор базыРектификация
Приведение кадров к виду, где — горизонтальные строки.
Разбор ниже: От пары кадров к карте глубиныОкклюзия
Область, видимая одной камерой и закрытая для другой. там нет в принципе.
Разбор ниже: Где стерео отказываетГлава «Трёхмерное зрение» последний раз правилась . Нашли ошибку — напишите.