Визуальная одометрия
Визуальная одометрия — метод оценки положения и ориентации робота или иного устройства с помощью анализа последовательности изображений, снятых установленной на нем камерой (или камерами)[1].
Методы визуальной одометрии используются, например в компьютерных оптических мышах. Также используются в квадрокоптерах, на марсоходах Mars Exploration Rover и «Perseverance», а также на марсианском вертолёте «Ingenuity»[2][3].
В робототехнике и компьютерном зрении визуальная одометрия — это процесс определения положения и ориентации робота путем анализа связанных изображений камеры. Метод используется в широком спектре роботизированных приложений, а после завершения марсианской миссии в 2024 году и публикации её программного кода в открытом доступе технология перешла в земную беспилотную авиацию[2].
В навигации одометрия обычно связана с использованием данных о движении приводов (к примеру от датчиков вращения) для оценки изменения положения в пространстве. Этот метод имеет свои минусы, из-за проскальзывания и неточностях при движении по неровным поверхностям, а также неприменим в роботах с нестандартными методами передвижения, к примеру в шагающих.
Визуальная одометрия подходит для точной навигации использующих любой тип передвижения на твёрдой поверхности.
Алгоритм
Большинство существующих подходов к визуальной одометрии основаны на следующих этапах.
- Получение входного изображения
- Коррекция изображения
- использование методов обработки изображений для устранения искажений объектива и пр.
- Обнаружение и отслеживание характерных признаков в разных кадрах
- Сопоставление изображений
- Выделение признаков
- построение поля оптического потока (обычно по алгоритму Лукаса — Канаде)
- Выявление выбивающихся значений векторов поля оптического потока и их коррекция[9]
- Оценка движения камеры по скорректированному оптическому потоку[10][11][12][13]
- Использование фильтра Кальмана или минимизация функции потерь иным методом
Методика прямой визуальной одометрии выполняет вышеуказанные операции непосредственно в датчике[6].[14][15]
Визиодометрия оценивает плоские вращательные перемещения между изображениями с использованием фазовой корреляции вместо извлечения признаков[16].[17]
Ограничения метода
Использование визуальной одометрии сопряжено с рядом технических барьеров и ограничений:
- Высокая вычислительная нагрузка: для обработки данных в реальном времени требуются мощные бортовые компьютеры[18].[19]
- Зависимость от визуальных характеристик среды: алгоритмы плохо работают в однотонных пространствах (например, на фоне пустых стен или воды), а также при наличии повторяющихся текстур и перекрытий из-за нехватки уникальных точек для отслеживания[18].[19]
- Чувствительность к условиям освещения: темнота, пересветы, размытые кадры и резкие изменения света критически влияют на работу системы и могут приводить к сбоям[18].[19]
- Постоянное накопление ошибок: поскольку расчёт текущего положения всегда производится относительно предыдущего шага, со временем происходит непрерывное накопление погрешности[18].