Distill-Any-Depth: Метод Монокулярной Оценки Глубины Сцены
Современные технологии анализа изображений продолжают удивлять нас своими возможностями, и одним из наиболее впечатляющих достижений является метод Distill-Any-Depth. Этот метод призван значительно улучшить способы оценки глубины в сценариях, где используется лишь одно изображение. Он сочетает в себе некоторые из наиболее передовых концепций, таких как кросс-контекстная дистилляция и мульти-учительский подход, что открывает новые горизонты в области компьютерного зрения.
Принципы работы
На первый взгляд, процесс оценки глубины может показаться тривиальным, но Distill-Any-Depth идет дальше, чем просто применение известных алгоритмов. Проект нацелен на создание моделей, таких как DPT, MiDaS и DepthAnythingv2, которые учатся на псевдо-метках, созданных более сложными учительскими моделями, такими как Genpercept и DepthAnythingv2.
Почему это важно?
Этот подход не только улучшает существующие решения, но и устанавливает новые стандарты в домене глубинной оценки. Например, его применение в автономном транспорте и дополненной реальности может привести к созданию более точных 3D-карт, что в свою очередь способствует улучшению навигации и повышению реалистичности виртуальных миров. К тому же, метод отличается энергоэффективностью: для обучения достаточно одной GPU NVIDIA V100, что делает его доступным для значительного числа исследователей и разработчиков.
Кросс-контекстная дистилляция
Одной из центральных концепций Distill-Any-Depth является кросс-контекстная дистилляция, которая включает в себя два ключевых сценария:
Shared-Context Distillation — здесь учительская и ученическая модели обучаются на идентичных фрагментах одного изображения, что создаёт равные условия для анализа.
Local-Global Distillation — учитель анализирует локальные фрагменты изображения, в то время как ученик предсказывает глубину для всего изображения, тем самым обеспечивая согласованность на глобальном уровне.
Результаты и достижения
Экспериментальная модель Distill-Any-Depth была обучена на 50,000 изображениях с разрешением 560×560 из набора SA-1B, и результаты оказались впечатляющими. Метод продемонстрировал снижение значения AbsRel на 9.6–20% в тестах DIODE и ETH3D по сравнению с базовыми методами дистилляции. Например, при обучении DPT с использованием Genpercept и DepthAnythingv2, значение AbsRel на ETH3D составило 0.065 в сравнении с 0.096 для Genpercept.
На бенчмарках, таких как NYUv2, KITTI и ScanNet, Distill-Any-Depth достиг выдающихся результатов: AbsRel 0.043 для NYUv2, 0.070 для KITTI и 0.042 для ScanNet. В сравнении с другими методами, такими как DepthAnything v2 и Marigold, Distill-Any-Depth показал более высокую детализацию и точность оценки относительной глубины.
Доступные модели
Для тех, кто хочет поэкспериментировать с этой технологией, в открытом доступе доступны три версии моделей, обученных с использованием Distill-Any-Depth:
- 🟢 Distill-Any-Depth-Multi-Teacher-Small — 24.8M параметров
- 🟢 Distill-Any-Depth-Multi-Teacher-Base — 95.5M параметров
- 🟢 Distill-Any-Depth-Multi-Teacher-Large — 335.3M параметров
Установка и запуск
Для тех, кто интересуется применением этой техники в своих проектах, легкая установка и инференс доступны через Gradio. Вот основные шаги для начала:
# Создание окружения Conda conda create -n distill-any-depth -y python=3.10 conda activate distill-any-depth # Клонирование репозитория git clone https://github.com/rmurai0610/MASt3R-SLAM.git --recursive cd MASt3R-SLAM/ # Установка зависимостей pip install -r requirements.txt pip install -e . # Если используете hf_hub_download, выполните следующий код checkpoint_path = hf_hub_download(repo_id=f"xing

Новаторский метод Distill-Any-Depth для оценки глубины сцены ver 0
Ширина: 1280 px
Высота: 640 px
Соотношение сторон.: 2:1
Скачать

Новаторский метод Distill-Any-Depth для оценки глубины сцены ver 1
Ширина: 1500 px
Высота: 789 px
Соотношение сторон.: 500:263
Скачать

Новаторский метод Distill-Any-Depth для оценки глубины сцены ver 2
Ширина: 2131 px
Высота: 744 px
Соотношение сторон.: 2131:744
Скачать