Визуальная одометрия
Визуальная одометрия — это процесс определения положения и ориентации мобильного робота, транспортного средства или камеры в пространстве путём анализа последовательности изображений, получаемых с одной или нескольких видеокамер. Относится к классу методов odometry (одометрии), в отличие от традиционной одометрии, использующей данные колёсных энкодеров, или инерциальной одометрии, основанной на показаниях акселерометров и гироскопов. Визуальная одометрия позволяет оценивать траекторию движения без внешних систем позиционирования (например, GPS) и является ключевой технологией в областях робототехники, беспилотных автомобилей, дополненной реальности и навигации в условиях отсутствия спутникового сигнала.
История
Первые теоретические работы, заложившие основы визуальной одометрии, были выполнены в 1980-х годах. В 1981 году американский учёный Ларри Маттис (Larry Matthies) и его коллеги из Университета Карнеги-Меллона предложили метод оценки движения камеры на основе анализа последовательности стереоизображений. Однако практическое применение технологии долгое время сдерживалось низкой производительностью вычислительной техники.
Прорыв произошёл в начале 2000-х годов с развитием компьютерного зрения и появлением мощных процессоров. В 2004 году группа исследователей из Лаборатории реактивного движения NASA (JPL) под руководством Майкла Мэнсфилда (Michael Mansfield) впервые реализовала визуальную одометрию на марсоходах «Спирит» и «Оппортьюнити» (миссия Mars Exploration Rover). Система позволяла роботам оценивать пройденное расстояние с точностью до нескольких процентов, что было критически важно для навигации на Марсе, где GPS отсутствует.
В 2010-х годах алгоритмы визуальной одометрии стали массово применяться в коммерческих дронах, роботах-пылесосах и системах помощи водителю. В 2015 году компания Google (организация признана иноагентом в РФ) представила технологию Tango, использующую визуальную одометрию для дополненной реальности на мобильных устройствах. В России исследования в этой области ведутся в Московском государственном университете имени М. В. Ломоносова, Институте проблем управления РАН и ряде технических вузов.
Принцип работы
Основная задача визуальной одометрии — восстановление траектории движения камеры по видеопотоку. Процесс включает несколько этапов:
- Захват изображений. Камера (или стереопара) последовательно фиксирует кадры с частотой от 10 до 60 кадров в секунду.
- Обнаружение и описание ключевых точек. На каждом кадре выделяются характерные особенности (углы, края, текстуры) — так называемые «фичи» (features). Для этого используются детекторы, например, Harris, SIFT, SURF, ORB, FAST.
- Сопоставление точек. Алгоритм ищет соответствия между ключевыми точками на соседних кадрах. Это позволяет определить, какие элементы сцены остались неподвижными, а какие сместились.
- Оценка движения. На основе найденных соответствий вычисляется матрица поворота и вектор переноса камеры. Для этого применяются методы, такие как Essential Matrix (для калиброванных камер) или Fundamental Matrix (для некалиброванных).
- Оптимизация траектории. Для повышения точности используется фильтрация (например, фильтр Калмана) или методы 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 →