SFM: технология машинного обучения¶
SFM (от англ. Structure from Motion — «структура из движения») — фотограмметрический метод трёхмерной реконструкции, позволяющий восстанавливать пространственную структуру объекта и параметры камеры по набору двумерных изображений (фотографий или кадров видео), снятых с разных ракурсов. Метод относится к области компьютерного зрения и вычислительной фотографии и широко применяется в геодезии, археологии, кинематографе и робототехнике.
¶Принцип работы
Аббревиатура SFM объединяет группу алгоритмов, которые решают задачу одновременного определения трёхмерных координат точек сцены и положений камер в момент съёмки. Исходными данными служат серии перекрывающихся изображений, на которых одни и те же характерные точки (углы, текстуры, края) видны минимум на двух кадрах.
Основные этапы работы типичного конвейера SFM:
- Детекция ключевых точек. Алгоритмы (например, SIFT, SURF, ORB) находят на каждом изображении устойчивые характерные признаки.
- Сопоставление признаков. Для каждой пары изображений устанавливается соответствие между найденными точками.
- Оценка фундаментальной и существенной матриц. На основе соответствий вычисляются геометрические связи между камерами (относительное положение и ориентация).
- Триангуляция. Для каждой пары согласованных точек вычисляется точка в трёхмерном пространстве, через которую проходят лучи проекций.
- Оптимизация методом связки (bundle adjustment). Итеративная процедура минимизирует суммарную ошибку перепроецирования всех точек, одновременно уточняя координаты точек сцены и параметры всех камер.
В отличие от методов активного сканирования (лазер, структурированная подсветка), SFM использует только пассивные изображения и не требует специального оборудования, кроме обычной цифровой камеры.
¶Виды и модификации
Различают несколько подходов к реализации SFM:
- Последовательный (инкрементальный) SFM. Камеры добавляются в модель по одной, начиная с наиболее надёжной пары. Наиболее распространённый вариант, реализованный в открытых проектах (COLMAP, VisualSFM).
- Глобальный SFM. Все параметры камер оцениваются одновременно, что снижает накопление ошибок, но требует больше вычислительных ресурсов.
- Иерархический SFM. Изображения группируются в кластеры, реконструкция выполняется для каждого кластера, затем результаты объединяются.
- Плотный SFM (MVS — Multi-View Stereo). Расширение метода, при котором после разреженной реконструкции вычисляется плотное облако точек или сетка поверхности.
¶Применение
SFM нашёл применение в различных областях, где требуется получение точных трёхмерных моделей без дорогостоящего оборудования:
- Геодезия и картография. Съёмка местности с беспилотных летательных аппаратов (БПЛА) позволяет создавать ортофотопланы и цифровые модели рельефа. Точность результата сопоставима с традиционной аэрофотосъёмкой, а стоимость работ значительно ниже.
- Археология и сохранение культурного наследия. Метод используется для документирования памятников архитектуры, раскопок и музейных экспонатов. По серии фотографий создаются точные модели, пригодные для реставрации и виртуальных туров.
- Кинематограф и игровая индустрия. SFM применяется для создания цифровых двойников локаций и объектов, а также для совмещения компьютерной графики с реальными съёмками.
- Робототехника и навигация. В системах одновременной локализации и построения карты (SLAM) используются упрощённые варианты SFM для ориентации мобильных роботов и беспилотных автомобилей.
- Криминалистика. Реконструкция места происшествия по фотографиям и видеозаписям помогает воссоздать обстоятельства событий.
¶Программное обеспечение
Существует ряд программных продуктов, реализующих алгоритмы SFM. Среди открытых решений наиболее известны:
- COLMAP — универсальная программа с графическим интерфейсом и библиотекой для пакетной обработки;
- VisualSFM — инструмент с поддержкой GPU-ускорения;
- OpenMVG — библиотека компьютерного зрения с модулями SFM;
- Meshroom — узловой редактор на базе AliceVision, ориентированный на фотограмметрию.
Из коммерческих продуктов выделяются Agisoft Metashape (ранее PhotoScan) и RealityCapture, которые предлагают расширенные функции постобработки и экспорта моделей в различные форматы.
¶Ограничения и недостатки
Несмотря на широкое распространение, SFM имеет ряд ограничений:
- Чувствительность к текстуре. Метод плохо работает на однородных поверхностях без характерных точек (например, белые стены, снег, вода).
- Требования к съёмке. Для качественного результата необходимо достаточное перекрытие кадров (обычно 60–80 %) и отсутствие движущихся объектов в кадре.
- Вычислительная сложность. Обработка тысяч изображений требует значительных вычислительных мощностей и времени.
- Масштабная неоднозначность. SFM определяет модель с точностью до масштаба; для получения абсолютных размеров требуется калибровка по известному расстоянию или объекту известного размера.
- Накопление ошибок. При последовательной обработке длинных видеорядов ошибки могут нарастать, что приводит к искривлению модели.
¶Смешение с другими технологиями
SFM часто комбинируют с другими методами трёхмерной реконструкции. Например, сочетание SFM с методами глубины (структурированная подсветка, ToF-камеры) позволяет повысить точность в условиях недостаточной текстуры. В геоинформационных системах SFM-результаты интегрируются с данными лазерного сканирования (LiDAR) для создания комплексных моделей местности.
¶Перспективы развития
Современные исследования в области SFM направлены на повышение скорости обработки за счёт использования нейронных сетей, устойчивости к динамическим сценам и работы в реальном времени. Развитие методов глубокого обучения привело к появлению гибридных подходов, где нейросети предсказывают глубину и геометрию сцены, а классические алгоритмы SFM обеспечивают глобальную согласованность.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →
