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

Визуальная одометрия

Визуальная одометрия — это процесс определения положения и ориентации мобильного робота, транспортного средства или камеры в пространстве путём анализа последовательности изображений, получаемых с одной или нескольких видеокамер. Относится к классу методов odometry (одометрии), в отличие от традиционной одометрии, использующей данные колёсных энкодеров, или инерциальной одометрии, основанной на показаниях акселерометров и гироскопов. Визуальная одометрия позволяет оценивать траекторию движения без внешних систем позиционирования (например, GPS) и является ключевой технологией в областях робототехники, беспилотных автомобилей, дополненной реальности и навигации в условиях отсутствия спутникового сигнала.

История

Первые теоретические работы, заложившие основы визуальной одометрии, были выполнены в 1980-х годах. В 1981 году американский учёный Ларри Маттис (Larry Matthies) и его коллеги из Университета Карнеги-Меллона предложили метод оценки движения камеры на основе анализа последовательности стереоизображений. Однако практическое применение технологии долгое время сдерживалось низкой производительностью вычислительной техники.

Прорыв произошёл в начале 2000-х годов с развитием компьютерного зрения и появлением мощных процессоров. В 2004 году группа исследователей из Лаборатории реактивного движения NASA (JPL) под руководством Майкла Мэнсфилда (Michael Mansfield) впервые реализовала визуальную одометрию на марсоходах «Спирит» и «Оппортьюнити» (миссия Mars Exploration Rover). Система позволяла роботам оценивать пройденное расстояние с точностью до нескольких процентов, что было критически важно для навигации на Марсе, где GPS отсутствует.

В 2010-х годах алгоритмы визуальной одометрии стали массово применяться в коммерческих дронах, роботах-пылесосах и системах помощи водителю. В 2015 году компания Google (организация признана иноагентом в РФ) представила технологию Tango, использующую визуальную одометрию для дополненной реальности на мобильных устройствах. В России исследования в этой области ведутся в Московском государственном университете имени М. В. Ломоносова, Институте проблем управления РАН и ряде технических вузов.

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

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

  1. Захват изображений. Камера (или стереопара) последовательно фиксирует кадры с частотой от 10 до 60 кадров в секунду.
  2. Обнаружение и описание ключевых точек. На каждом кадре выделяются характерные особенности (углы, края, текстуры) — так называемые «фичи» (features). Для этого используются детекторы, например, Harris, SIFT, SURF, ORB, FAST.
  3. Сопоставление точек. Алгоритм ищет соответствия между ключевыми точками на соседних кадрах. Это позволяет определить, какие элементы сцены остались неподвижными, а какие сместились.
  4. Оценка движения. На основе найденных соответствий вычисляется матрица поворота и вектор переноса камеры. Для этого применяются методы, такие как Essential Matrix (для калиброванных камер) или Fundamental Matrix (для некалиброванных).
  5. Оптимизация траектории. Для повышения точности используется фильтрация (например, фильтр Калмана) или методы bundle adjustment (совместное уточнение положения камер и трёхмерных точек).

Стерео- и монокулярная одометрия

Различают два основных подхода:

  • Монокулярная одометрия — использует одну камеру. Не позволяет напрямую определить масштаб движения (scale ambiguity), поэтому требуется дополнительная информация, например, знание высоты камеры над поверхностью или данных от инерциальных датчиков.
  • Стерео-одометрия — использует две камеры, расположенные на известном расстоянии друг от друга (базис). Позволяет восстанавливать трёхмерную структуру сцены и масштаб движения без дополнительных данных. Более точна, но требует калибровки стереопары и больших вычислительных ресурсов.

Классификация методов

Методы визуальной одометрии делятся на два основных класса:

Feature-based (на основе признаков)

Самый распространённый класс. Алгоритмы выделяют на изображениях характерные точки (features) и отслеживают их перемещение между кадрами. Примеры:

  • PTAM (Parallel Tracking and Mapping) — один из первых алгоритмов, работающий в реальном времени.
  • ORB-SLAM — система, сочетающая визуальную одометрию с построением карты (SLAM). Использует дескрипторы ORB.
  • LIBVISO2 — библиотека для стерео-одометрии, разработанная в Университете Фрайбурга.

Direct (прямые методы)

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

  • LSD-SLAM (Large-Scale Direct SLAM) — алгоритм, использующий полуплотное сопоставление изображений.
  • DSO (Direct Sparse Odometry) — метод, сочетающий прямую оценку движения с разреженным представлением сцены.

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

Применение

Робототехника

Визуальная одометрия широко применяется в мобильных роботах для навигации в помещениях и на открытых пространствах. Например, в России роботы-курьеры Яндекса (сервис «Яндекс.Еда») используют визуальную одометрию в сочетании с лидарами для движения по тротуарам. Марсоходы NASA (США) и китайский «Чжужун» (миссия Tianwen-1) оснащены системами визуальной одометрии для автономного передвижения по поверхности планет.

Беспилотные автомобили

В системах автономного вождения визуальная одометрия дополняет данные GPS и инерциальных датчиков. Она особенно важна в тоннелях, под мостами и в плотной городской застройке, где спутниковый сигнал может быть ослаблен или отсутствовать. В России разработкой таких систем занимаются компании «Яндекс» (беспилотные такси), «СберАвтоТех» (дочерняя компания Сбербанка) и «Кама» (проект «Кама-1»).

Дополненная и виртуальная реальность

Технологии AR/VR требуют точного отслеживания положения головы пользователя. Визуальная одометрия используется в шлемах виртуальной реальности (например, Oculus Quest, HTC Vive) и смартфонах для размещения виртуальных объектов в реальном пространстве. В России аналогичные разработки ведутся в компании «М.Видео-Эльдорадо» (проект «М.Видео AR») и в лабораториях Сколтеха.

Аэрофотосъёмка и картография

Беспилотные летательные аппараты (БПЛА) используют визуальную одометрию для построения ортофотопланов и 3D-моделей местности. В России такие системы применяются в сельском хозяйстве (мониторинг полей), при геологоразведке и в МЧС для оценки последствий чрезвычайных ситуаций.

Ограничения и проблемы

  • Освещение. Визуальная одометрия чувствительна к изменениям освещения, теням и бликам. В тёмное время суток или в условиях тумана точность резко падает.
  • Текстура. Для работы алгоритмов требуется наличие достаточного количества характерных точек на сцене. На однородных поверхностях (асфальт, белая стена, снег) сопоставление кадров затруднено.
  • Динамические объекты. Движущиеся люди, автомобили или животные создают ложные соответствия, что приводит к ошибкам в оценке движения.
  • Дрейф. С течением времени ошибки накапливаются, и траектория может «уплывать» относительно реального пути. Для компенсации дрейфа используются методы SLAM (одновременная локализация и построение карты) или интеграция с GPS и инерциальными датчиками.
  • Вычислительная сложность. Обработка видеопотока в реальном времени требует мощных процессоров или специализированных нейросетевых ускорителей (NPU, GPU).

Перспективы развития

Современные исследования в области визуальной одометрии направлены на:

  • Глубокое обучение. Нейросетевые методы (например, DeepVO, SfMLearner) позволяют оценивать движение непосредственно по сырым пикселям, минуя этап выделения признаков. Это повышает устойчивость к шумам и изменению освещения.
  • Интеграция с другими сенсорами. Гибридные системы (visual-inertial odometry, VIO) объединяют данные камеры и инерциальных датчиков (IMU), что даёт более точную и стабильную оценку.
  • Работа в экстремальных условиях. Разрабатываются алгоритмы, устойчивые к пыли, дождю, снегу и вибрациям, что актуально для беспилотных автомобилей и промышленных роботов.
  • Снижение энергопотребления. Оптимизация алгоритмов для работы на встраиваемых системах с ограниченными ресурсами (например, на микроконтроллерах или одноплатных компьютерах).

Источники

  • Matthies, L., Shafer, S. (1987). Error Modeling in Stereo Navigation. IEEE Journal of Robotics and Automation.
  • Nistér, D., Naroditsky, O., Bergen, J. (2004). Visual Odometry. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.
  • Scaramuzza, D., Fraundorfer, F. (2011). Visual Odometry: Part I: The First 30 Years and Fundamentals. IEEE Robotics & Automation Magazine.
  • Mur-Artal, R., Montiel, J. M. M., Tardós, J. D. (2015). ORB-SLAM: A Versatile and Accurate Monocular SLAM System. IEEE Transactions on Robotics.
  • Engel, J., Koltun, V., Cremers, D. (2018). Direct Sparse Odometry. IEEE Transactions on Pattern Analysis and Machine Intelligence.
  • Материалы Лаборатории реактивного движения NASA (JPL) по марсоходам Mars Exploration Rover.
  • Доклады конференций по компьютерному зрению (CVPR, ICCV, ECCV) за 2010–2023 годы.

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

На главную BFOmetr →