VGGSfM предлагает новый подход к процессу реконструкции трехмерной структуры сцены и положения камер по набору фотографий.
Вместо цепочки отдельных алгоритмов поиска ключевых точек, сопоставления их между кадрами, длительного восстановления положения камер относительно координат ключевых точек, была разработана модель, каждый компонент которой работает параллельным сквозным принципом.
Ключевые особенности метода:
В ходе тестирования при обучении особенно хорошие результаты были получены на сложных сценах с большими изменениями ракурса между кадрами. Там, где традиционные методы часто терпели неудачу, VGGSfM справлялся с задачей.
Локальная установка:
source install.sh
Локальный запуск:
# Убедитесь, что целевые изображения находятся в ВАША_ПАПКА/images, а необходимые модели скачены
python demo.py SCENE_DIR=/path_to_images resume_ckpt=/path_to_models
# Результаты реконструкции (параметры камеры и 3D-точки) будут сохранены в формате COLMAP в директории output/seq_name
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Визуализация
# Установите и запустите visdom
pip install visdom
pip install git+https://github.com/fossasia/visdom
visdom
# Откройте http://localhost:8097 в браузере. Затем запустите демо с флагом "visualize=True"
python demo.py SCENE_DIR=/path_to_images resume_ckpt=/path_to_models visualize=True
python
pip install scikit-learn
git clone git@github.com:DepthAnything/Depth-Anything-V2.git dependency/depth_any_v2
# Затем запустите демо с флагом "dense_depth=True"
python demo.py SCENE_DIR=/path_to_images resume_ckpt=/path_to_models dense_depth=True
▪ Страница проекта
▪Модели на HF
▪Demo
▪Github [ Stars: 529 | Issues: 16 | Forks: 33]
@ai_machinelearning_big_data
#AI #3D #Depthmap #ML #Reconstruction
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Техническая реализация метода реконструкции состоит из двух фаз: моделирование пространственных отношений и реконструкция человека-объекта в моделируемом пространстве.
Кодирование пространственных отношений пары человек-объект выполняется методом "Human-Object Offset". Для каждой пары вычисляются смещения между всеми якорными точками человека и объекта.
Эти смещения позволяют захватить высоко детализированную корреляцию между частями человека и объекта, обеспечивая качественное кодирование 3D пространственных отношений между ними.
Затем выполняется монокулярная реконструкция человека и объекта методом "Stacked Normalizing Flow (StackFLOW)".
Для вывода апостериорного распределения пространственных отношений между человеком и объектом из изображения, вносятся векторные корректировки в позу человека и положение объекта, максимизируя правдоподобие выборок и минимизируя потери репроекции 2D-3D соответствия.
В процессе разработки метода, StackFLOW сравнивали с существующими методиками реконструкции PHOSA, CHORE и BSTRO на наборах данных BEHAVE и InterCap.
По результатам StackFLOW показал конкурентоспособные результаты.
В репозитории проекта размещены три варианта запуска проекта локально (демонстрация с окклюзиями, демонстрация оптимизации с несколькими объектами и демо с оптимизацией полной последовательности) подробные инструкции по самостоятельной тренировке и оценке на датасетах BEHAVE и InterCap.
@ai_machinelearning_big_data
#AI #3D #Reconstruction #VideoTo3D #ML
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
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
@ai_machinelearning_big_data
#AI #ML #3D #Reconstruction #ViT
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM