Исследователи представили метод генерации высококачественных полигональных сеток из монокулярного видео. Для генерации сетки достаточно всего одного видео, а недостающие фрагменты нейросеть создаёт с помощью отслеживания вершин с течением времени.
Авторы метода Dynamic Gaussian Mesh (DG-Mesh) рассказали, что генерация полигональных сеток всё ещё остаётся сложной задачей для нейросетей. Если опытному 3D-художнику для создания сетки достаточно всего одного изображения для референса, то модели машинного обучения требуют серию снимков объекта со всех сторон. Генерация сеток усложняется в динамических сценах.
Метод DG-Mesh отслеживает вершины объекта на видео и реконструирует 3D-объект с помощью трёхмерного гауссова сплэтинга и дифференцируемых алгоритмов. Полученные модели можно быстро текстурировать, а сам метод эффективно использует память и позволяет напрямую оптимизировать полученные сетки.
Архитектура метода
На вход нейросеть получает видео объекта, выделяет из него целевой объект и генерирует для него 3D-сетку. Авторы проекта обучали нейросеть на роликах, которые записали на iPhone 14 Pro через приложение Record3D. После этого их обработали в RealityCheck и маскировали в DEVA. Также для локального обучения можно использовать датасеты D-NeRF, DG-Mesh, Nerfies и NeuralActor.
Пример работы метода
Для локального запуска необходимо установить следующие зависимости:
conda create -n dg-mesh python=3.9 conda activate dg-mesh conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia # Install nvdiffrast pip install git+https://github.com/NVlabs/tiny-cuda-nn#subdirectory=bindings/torch pip install git+https://github.com/NVlabs/nvdiffrast/ # Install pytorch3d export FORCE_CUDA=1 conda install -c fvcore -c iopath -c conda-forge fvcore iopath -y pip install «git+https://github.com/facebookresearch/pytorch3d.git» # Clone this repository git clone https://github.com/Isabella98Liu/DG-Mesh.git cd DG-Mesh # Install submodules pip install dgmesh/submodules/diff-gaussian-rasterization pip install dgmesh/submodules/simple-knn # Install other dependencies pip install -r requirements.txt
Исследователи поделились полным текстом своей работы и опубликовали код нейросети. Кроме того, в репозитории находятся ссылки на датасеты и рекомендации по обучению. Примеры работы метода DG-Mesh можно посмотреть на странице проекта.
Источник: habr.com