MapAnything: один трансформер для метрической 3D-реконструкции по изображениям

Почему нужен универсальный подход к 3D-реконструкции?

Традиционная реконструкция 3D-сцены по изображениям опирается на разрозненные этапы: детектирование признаков, оценка позы между парами, bundle adjustment, multi-view stereo или отдельные сети для глубины. Такие конвейеры работают, но требуют настройки для каждой задачи, дорогой оптимизации и значительной постобработки. MapAnything предлагает заменить этот набор специализированных модулей одним трансформером, который напрямую регрессирует факторизованную метрическую 3D-геометрию.

Архитектура и представление сцены

MapAnything использует факторизованное представление сцены: направления лучей для каждого вида (калибровка камеры), глубина вдоль лучей (в масштабе до множителя), позы камер относительно опорного вида и единый глобальный метрический масштаб. Такое явное разделение избавляет от избыточности и позволяет одной и той же модели решать множество задач — от монокулярной оценки глубины до SfM и стерео — без отдельных голов.

Ядром модели служит многовидовой трансформер с попеременным вниманием. Изображения кодируются признаками DINOv2 ViT-L, а опциональные геометрические входы (лучи, глубина, позы) встраиваются в то же скрытое пространство через мелкие CNN или MLP. Обучаемый токен масштаба обеспечивает метрическую нормализацию между видами и позволяет получать согласованные в глобальной системе реконструкции без bundle adjustment.

Гибкость входов и масштаб инференса

MapAnything принимает до 2 000 изображений за один проход и может использовать дополнительные данные, когда они доступны: параметры камер, позы и карты глубины. Во время обучения применяется вероятностное выпадение геометрических входов, что делает модель устойчивой к разнородным конфигурациям. Выборка по коверсиябельности гарантирует, что входные виды имеют значительное перекрытие, что позволяет агрегировать информацию свыше 100 видов.

Обучение и выпуски моделей

Модель обучали на 13 разнообразных наборах данных — внутренних, уличных и синтетических, включая BlendedMVS, Mapillary Planet-Scale Depth, ScanNet++ и TartanAirV2. Выпущены две варианта: модель с лицензией Apache 2.0, обученная на шести датасетах, и CC BY-NC модель, обученная на всех тринадцати для лучшей производительности. Обучение проводилось на 64 H200 GPU с mixed precision, gradient checkpointing и куррикулумной схемой, увеличивающей число входных видов с 4 до 24.

Ключевые приёмы в обучении включают вероятностное выпадение геометрических входов, выборку видов по коверсиябельности и факторизованные потери в лог-пространстве для устойчивой оптимизации глубины, масштаба и позы.

Результаты бенчмарков

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

Единое обучение и факторизация выходов дают до 2× улучшения по сравнению с предыдущим SoTA во многих задачах, сокращая потребность в специализированных пайплайнах и дорогостоящей постобработке.

Ключевые вклады и открытый код

Авторы выделяют четыре основных вклада: единая модель Feed-Forward для 12+ задач, факторизованное представление сцены (лучи, глубина, поза, метрический масштаб), превосходные результаты на разнообразных бенчмарках и открытый релиз с обработкой данных, скриптами обучения, бенчмарками и предобученными весами под Apache 2.0. Полные материалы и код доступны в статье и на странице проекта: https://map-anything.github.io/assets/MapAnything.pdf

MapAnything показывает, что один трансформер, обученный на разнородных данных и входах, способен заменить специализированные пайплайны реконструкции и послужить универсальным ядром для задач 3D-визии.