logo

🌟 Spann3R: 3D-реконструкция на основе изображений с помощью пространственной памяти.

🌟 Spann3R: 3D-реконструкция на основе изображений с помощью пространственной памяти.
🌟 Spann3R: 3D-реконструкция на основе изображений с помощью пространственной памяти.

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

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

Spann3R может применяться в реальном времени для онлайн-реконструкции.

Архитектура Spann3R основана на модели DUSt3R с добавлением внешней пространственной памяти. Она включает в себя энкодер ViT, два связанных декодера (целевой и ссылочный), как в DUSt3R, и легковесный энкодер памяти.

Модель обучается на последовательностях из 5 кадров, случайно выбранных из видео, с использованием стратегии сurriculum training, которая регулирует размер окна выборки в процессе обучения. Эта стратегия позволяет Spann3R изучать краткосрочные и долгосрочные зависимости между кадрами.

Для обучения Spann3R использовались наборы данных Habitat, ScanNet, ScanNet++, ARKitScenes, BlendedMVS и Co3D-v2.

Оценка Spann3R проводилась на трех наборах: 7Scenes, NRGBD и DTU. Результаты показывают, что Spann3R демонстрирует конкурентоспособное качество онлайн-реконструкции по сравнению с автономными методами - FrozenRecon и DUSt3R, при этом превосходя их по скорости.

Spann3R достигала частоты кадров в 50 к/с без оптимизации во время оценочного тестирования. Визуализация процесса онлайн-реконструкции демонстрирует способность Spann3R понимать регулярность сцены, модель способна восстанавливать геометрию даже текстурно-однородных областей, например, стен.

⚠️ Перед локальным запуском на тестовых данных, необходимо предварительно загрузить предобученную модель и тестовый набор данных для инференса. Модель положить в папку ./checkpoints , а тестовый набор в ./examples

▶️Установка и запуск:

# Clone repository:
git clone https://github.com/HengyiWang/spann3r.git
cd spann3r

# Create conda env:
conda create -n spann3r python=3.9 cmake=3.14.0
conda install pytorch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 pytorch-cuda=11.8 -c pytorch -c nvidia

pip install -r requirements.txt
pip install -U -f https://www.open3d.org/docs/latest/getting_started.html open3d

# Compile CUDA kernels for RoPE
cd croco/models/curope/
python setup.py build_ext --inplace
cd ../../../

# Download the DUSt3R checkpoint
wget https://download.europe.naverlabs.com/ComputerVision/DUSt3R/DUSt3R_ViTLarge_BaseDecoder_512_dpt.pth

# Run demo:
python demo.py --demo_path ./examples/s00567 --kf_every 10 --vis


🟡Страница проекта
🟡Модель
🟡Arxiv
🟡Demo video
🖥Github


@ai_machinelearning_big_data

#AI #ML #3D #Reconstruction #ViT

Канал источник:@ai_machinelearning_big_data