SAM 3D ComfyUI Управление движением объектов и тела
Этот рабочий процесс обеспечивает генерацию с учетом 3D и структуры из одного изображения с использованием маскирования на основе Segment Anything и анализа глубины. Он включает два готовых режима: Режим Объекта для извлечения и реконструкции любого замаскированного объекта в виде текстурированной 3D-сетки или 3D-Гауссиана, и Режим Тела для создания сетки человека, учитывающей части тела. Дизайн SAM 3D ComfyUI подчеркивает пространственную согласованность, что делает его идеальным для управления движением объектов, руководства движением тела и создания контролируемых активов для последующего использования в видео или 3D-пайплайнах.
Основанный на проектах с открытым исходным кодом SAM3D, этот рабочий процесс SAM 3D ComfyUI превращает простое изображение с маской в экспортируемые активы GLB, STL и PLY с выравниванием поз и запеканием текстур. Он хорошо подходит для создателей, которые хотят быстро получить управляемые результаты без настройки.
Примечание: Этот рабочий процесс "Объект" рекомендуется запускать на машинах Medium, Large или XLarge. Более крупные типы машин могут привести к ошибкам выполнения или нестабильным результатам. Рабочий процесс "Тела" хорошо работает на всех типах машин. Из-за сложности 3D-реконструкции и оптимизации рабочий процесс "3D Объект" может занять ~40 минут и более для завершения.
Ключевые модели в рабочем процессе Comfyui SAM 3D ComfyUI
- Модель Segment Anything (SAM). Используется для высококачественной сегментации, которую можно настраивать, и которая закрепляет пространственные ограничения. Подробности см. в оригинальной статье: Segment Anything.
- Предобученные компоненты SAM3D Objects. Обеспечивают глубину, разреженную структуру, генерацию SLAT, декодеры сетки и Гауссиана, а также встраивание текстур для реконструкции объектов. Источник: PozzettiAndrea/ComfyUI-SAM3DObjects.
- Предобученные компоненты SAM3D Body. Обеспечивают обработку с учетом частей тела для создания сеток человека и отладочного вида. Источник: PozzettiAndrea/ComfyUI-SAM3DBody.
- Оценщик монокулярной глубины, включенный в репозитории SAM3D. Поставляет внутренние параметры камеры, карту точек и маску, информированную глубиной, которые улучшают реконструкцию и выравнивание поз. См. два репозитория SAM3D выше.
- Формулировка 3D Gaussian Splatting. Обеспечивает быстрое, фотореалистичное представление сцены на основе точек, полезное для быстрых предварительных просмотров и некоторых рендереров: 3D Gaussian Splatting for Real-Time Rendering.
Как использовать рабочий процесс Comfyui SAM 3D ComfyUI
На высоком уровне вы загружаете одно изображение и его маску, затем выбираете либо группу Объектов, либо группу Тела. Режим Объекта реконструирует текстурированную сетку и 3D-Гауссиан с возможным уточнением позы. Режим Тела создает сетку, учитывающую части тела, и экспортирует ее для быстрого осмотра или последующего использования.
Группа SAM3DObjects
Эта группа превращает ваш замаскированный объект в 3D-актив. Предоставьте изображение с маской, которая изолирует объект, который вы хотите контролировать; рабочий процесс автоматически обрабатывает инверсию, чтобы рассматривать объект как передний план. Оцениваются глубина и внутренние параметры камеры для создания карты точек, затем создается разреженная структура и начальная поза. Оттуда генерируется представление SLAT и декодируется как в сетку, так и в 3D-Гауссиан; запекание текстур переносит внешний вид с исходного изображения на сетку. Наконец, оптимизация позы уточняет выравнивание перед предварительным просмотром и экспортом; см. SAM3D_DepthEstimate (#59), SAM3DSparseGen (#52), SAM3DSLATGen (#35), SAM3DMeshDecode (#45), SAM3DGaussianDecode (#37), SAM3DTextureBake (#47) и SAM3D_PoseOptimization (#57).
Группа SAM3DBody
Эта группа фокусируется на людях. Предоставьте изображение и маску, которая покрывает человека. Процессор тела создает сетку, учитывающую части тела, и отладочное изображение, чтобы вы могли проверить качество сегментации. Вы можете экспортировать результат как сетку для осмотра или риггинга, затем интерактивно просмотреть её. Основные шаги проходят через LoadSAM3DBodyModel (#62), SAM3DBodyProcess (#61), SAM3DBodyExportMesh (#64) и Preview3D (#65).
Ключевые узлы в рабочем процессе Comfyui SAM 3D ComfyUI
LoadSAM3DModel (#44) Загружает все веса режима объектов в одном месте, включая глубину, генератор разреженной структуры, генератор SLAT и декодеры, а также встраиватели текстур. Если веса размещены на Hugging Face, введите свой токен и оставьте провайдера соответственно. Используйте автоматическую точность, если у вас нет причин для принудительного выбора определенного типа данных. После загрузки те же самые дескрипторы питают весь конвейер объектов.
SAM3D_DepthEstimate (#59) Оценивает монокулярную глубину, внутренние параметры камеры, карту точек и маску, информированную глубиной, из вашего входного изображения. Хорошее кадрирование имеет значение: держите объект в центре и избегайте экстремальных обрезок для более стабильных внутренних параметров. Используйте встроенный просмотр облака точек, чтобы проверить геометрию перед долгими запеканиями. Внутренние параметры и карта точек, произведенные здесь, повторно используются позже для оптимизации позы.
SAM3DSparseGen (#52) Создает разреженную структуру и начальную позу, объединяя изображение, маску переднего плана и выходные данные глубины. Если ваша маска слишком свободная, ожидайте плавающих объектов и менее прочной структуры; затягивайте края для более четких результатов. Узел также излучает объект позы, который вы можете предварительно просмотреть, чтобы убедиться, что ориентация выглядит правильно. Эта разреженная структура напрямую обусловливает генератор SLAT.
SAM3DSLATGen (#35) Преобразует разреженную структуру в представление SLAT, которое компактно, но учитывает геометрию. Более чистый SLAT обычно следует за точной маской и хорошей глубиной. Если вы планируете полагаться на вывод сетки вместо Гауссиана, выбирайте настройки, которые сохраняют детали, а не экстремальную разреженность. Эмитированный путь SLAT питает оба декодера.
SAM3DMeshDecode (#45) Декодирует SLAT в герметичную 3D-сетку, подходящую для текстурирования и экспорта. Выбирайте сетку, когда вам нужна топология, которая работает в инструментах DCC и игровых движках. Если вы видите чрезмерное сглаживание или дыры, пересмотрите маску и плотность разреженной структуры выше по потоку. Этот путь производит GLB, который позже будет запечен и, при необходимости, выровнен по позе.
SAM3DGaussianDecode (#37) Генерирует 3D-Гауссианское представление из того же SLAT для быстрых предварительных просмотров и некоторых рендереров. Это полезно, когда вы хотите быстро проверить геометрию и покрытие точек обзора. Если ваш Гауссиан выглядит шумным, улучшите маску или увеличьте качество структуры, а не перенастраивайте этот узел. Полученный PLY также помогает запеканию текстур.
SAM3DTextureBake (#47) Проецирует внешний вид с исходного изображения на декодированную сетку. Используйте более высокое разрешение текстур, когда вам нужны крупные планы, и более быстрый предустановленный режим для быстрой итерации. Выбор рендерера может повлиять на резкость и скорость; выберите более быстрый вариант для предварительных просмотров и более высокое качество для финалов. Этот узел выдает текстурированный GLB для предварительного просмотра и уточнения позы.
SAM3D_PoseOptimization (#57) Уточняет выравнивание GLB с использованием внутренних параметров камеры, карты точек, исходной маски и начальной позы. Увеличьте бюджет оптимизации, если наблюдаете несоответствие вокруг тонких структур, таких как конечности или ручки. Держите маску переднего плана чистой, чтобы предотвратить дрейф оптимизатора к фоновым геометриям. Оптимизированный GLB готов к осмотру в 3D-просмотре.
SAM3DBodyProcess (#61) Выполняет обработку с учетом частей тела для создания сетки человека и наложения отладки. Выберите режим, который соответствует вашему случаю использования, например, полное тело или конкретный регион, чтобы направить покрытие сетки. Если руки или волосы пересекаются, уточните маску вокруг этих областей для лучшего соответствия. Экспортируйте в STL для быстрых проверок или конвертируйте позже по мере необходимости.
Дополнительные опции
- Используйте чистую, контрастную маску. Только слегка размойте; жесткие края обычно лучше реконструируются в режиме объектов SAM 3D ComfyUI.
- Для быстрой итерации сначала полагайтесь на путь Гауссиана, затем переключитесь на декодирование сетки и более высокое разрешение текстур.
- Если веса требуют аутентификации, вставьте действительный токен Hugging Face в узлы загрузчика перед постановкой графика в очередь.
- Проверьте облако точек и предварительный просмотр поз перед долгими запеканиями, чтобы поймать проблемы с кадрированием или маской на ранней стадии.
- Форматы экспорта: GLB идеально подходит для DCC и движков, PLY Gaussians для совместимых рендереров, STL из режима тела для быстрых проверок масштаба печати.
- Держите масштаб объекта согласованным на всех кадрах, если вы планируете использовать выходные данные SAM 3D ComfyUI для управления движением или многовидовыми последовательностями.
Признания
Этот рабочий процесс реализует и основывается на следующих работах и ресурсах. Мы с благодарностью признаем вклад и поддержку PozzettiAndrea для SAM 3D Objects и SAM 3D Body. Для авторитетных деталей, пожалуйста, обратитесь к оригинальной документации и репозиториям, указанным ниже.
Ресурсы
- PozzettiAndrea/SAM 3D Objects
- PozzettiAndrea/SAM 3D Body
- GitHub: PozzettiAndrea/ComfyUI-SAM3DBody
Примечание: использование ссылочных моделей, наборов данных и кода подлежит соответствующим лицензиям и условиям, предоставленным их авторами и поддерживающими.



