HoloPart: Революция в генеративной 3D-сегментации
Похоже, что мир технологий летит в бездну, переполненную старыми и несовершенными методами, и 3D-сегментация объектов не исключение! Все эти попытки выделять семантические части, будь то для анимации или редактирования, все еще застревают на видимых поверхностях, игнорируя те скрытые области, которые как будто специально прячутся от нас. Это похоже на борьбу с тенью, где недостаток информации ставит палки в колеса художникам и инженерам, которым нужно работать с полными частями объектов.
Но вот появляется HoloPart от VastAI — модель, которая по сути взрывает подходы к 3D-сегментации, решая проблему амодальной сегментации. Браво! HoloPart умеет восстанавливать скрытые фрагменты объектов, что открывает новые горизонты для творчества и инноваций. Зачем там Морфеус, если у вас есть HoloPart? Он позволяет изменить размер колес у ваших автомобилей, добавить детали или перераспределить материалы, экономя, казалось бы, целую вечность ручной работы. И я не шучу — это действительно экономит часы!
HoloPart работает в два этапа и это выглядит так: сначала базовая сегментация выделяет видимые части, а затем — магия! Хоп — скрытые части восстанавливаются с помощью уникального подхода, используя и локальное, и глобальное внимание. Локальные механизмы будут разбираться с каждой деталью, как врач с рентгеном, а глобальное внимание не даст им сбиться с пути и создать что-то, что не соответствует общей структуре. Это как если бы кто-то улучшил ваши навыки работы с Lego, пока вы не заметите!
Так что, заходим в дело: эксперименты, проведенные на датасетах ABO и PartObjaverse-Tiny, показывают, что HoloPart просто размазывает своих соперников - PatchComplete и DiffComplete, обходит их на каждом повороте. Средний Chamfer Distance у HoloPart составляет 0.026, в то время как у DiffComplete он застрял на 0.087. А если говорить об F-Score, который показывает, насколько хорошо модель восстанавливает даже самые мелкие детали, HoloPart завоевал 0.848, в то время как соперники могут лишь вздыхать с 0.371.
Однако не спешите радоваться — со всей этой мощью приходит и ответственность. Перед загрузкой вашего целевого glb-файла в HoloPart, нужно сделать сегментацию с помощью сторонних инструментов. Разработчики рекомендуют SAMPart3D и SAMesh. Так что, если вы думаете, что просто загрузите файл и получите шедевр — задумайтесь дважды!
Если вы заинтересованы в локальном инференсе (и я надеюсь, что вы заинтересованы), вот вам команды для работы с HoloPart:
# Клонируем репозиторий git clone https://github.com/VAST-AI-Research/HoloPart.git cd HoloPart # Создаем окружение conda conda create -n holopart python=3.10 conda activate holopart # Устанавливаем зависимости pip install torch torchvision --index-url https://download.pytorch.org/whl/{your-cuda-version} pip install -r requirements.txt # Шаг 1: Подготовьте сегментированную сетку с файлом сетки и маской import trimesh import numpy as np mesh = trimesh.load("mesh.glb", force="mesh") mask_npy = np.load("mask.npy") mesh_parts = [] for part_id in np.unique(mask_npy): mesh_part = mesh.submesh([mask_npy == part_id], append=True) mesh_parts.append(mesh_part) mesh_parts = trimesh.Scene(mesh_parts).export("input_mesh.glb") # Шаг 2: Декомпозируйте 3D-меш в полные части: python -m scripts.inference_holopart --mesh-input assets/example_data/file.glb
Не забываете, что "Лицензирование: MIT License". Так что можете играть, сколько душе угодно.
Если вы хотите узнать больше, загляните на:

HoloPart: Революция в 3D-сегментации объектов ver 0
Ширина: 980 px
Высота: 339 px
Соотношение сторон.: 980:339
Скачать

HoloPart: Революция в 3D-сегментации объектов ver 1
Ширина: 1280 px
Высота: 640 px
Соотношение сторон.: 2:1
Скачать

HoloPart: Революция в 3D-сегментации объектов ver 2
Ширина: 1598 px
Высота: 808 px
Соотношение сторон.: 799:404
Скачать