인사이트

PartBloom: 부품으로 만든 3D 모델

PartBloom 은 단일 이미지를 개별적으로 내보낼 수 있는 파트로 구성된 모듈식 3D 모델로 변환하는 오픈 소스 프레임워크로, 구조에는 LLMs 를, 디테일에는 TRELLIS 를 활용합니다

PartBloom: 부품으로 만든 3D 모델

주요 내용과 결과: 하나의 이미지에서 개별 파트로

PartBloom 은 단일 이미지를 개별 파트가 있는 3D 모델로 변환하는 오픈 소스 프레임워크입니다. 핵심 아이디어는 간단합니다. LLM 이 구조를 구축한 다음 TRELLIS 가 세부 정보를 추가합니다. 파트는 기능과 상대적 움직임을 중심으로 계획되므로, 차체와 바퀴 같은 구성 요소를 별도로 내보낼 수 있습니다. 초기 모델은 개구부와 연결부를 보존하는 것을 목표로 하여 결과물을 더 쉽게 편집하고, 교체하고, 조립할 수 있도록 합니다.

이 프로젝트는 14개의 단일 이미지 예시, 생성 및 분해 비교, 리깅된 애니메이션 시연을 제공합니다. 아래의 두 그림은 전체적인 디테일과 파트 경계를 보여 줍니다. 이러한 정성적 예시는 가능성을 시사하지만, 다른 방법보다 일관되게 우수하다는 것을 입증하지는 않습니다. 이 글은 README 와 소스 코드를 기반으로 작성되었으며, 생성 테스트는 실행하지 않았습니다.

https://external-v2fun-data-hk-1.oss-accelerate.aliyuncs.com/temp/2026/11/06/1_1793934387317.JPEG

https://external-v2fun-data-hk-1.oss-accelerate.aliyuncs.com/temp/2026/11/06/2_1793934401950.JPEG

작동 방식: 계획, 정제 및 파트 디코딩

https://external-v2fun-data-hk-1.oss-accelerate.aliyuncs.com/temp/2026/11/06/whiteboard_exported_image_1793934451327.png

첫 번째 단계에서는 세 가지 LLM 역할을 조율합니다. Planner 는 기능, 바운딩 박스, 부모–자식 관계, 연결 위치 및 예상 움직임을 설명하는 파트 그래프를 생성합니다. 그런 다음 Builder 는 폴리곤, 브러시, 이동 및 지우기 도구를 사용해 공유 64³ 그리드에서 각 파트의 바이너리 복셀 마스크를 편집합니다. 블록으로 조립하는 것처럼 이러한 작업은 실제 초기 형상을 생성합니다. Reviewer 는 참조 이미지와 프록시의 네 가지 뷰를 비교하여 비율, 누락된 파트, 연결부 및 개구부를 확인합니다. 최대 두 번의 수리 라운드를 실행할 수 있습니다.

두 번째 단계에서는 사전 학습된 TRELLIS 가중치를 재사용합니다. 초기 모델의 결합된 표면 지지 좌표를 여섯 면 인접 방향을 따라 한 셀씩 확장한 다음, 희소 구조 VAE 를 통해 구조 잠재 벡터로 인코딩합니다. 이 인코딩을 가우시안 노이즈와 혼합한 후, 플로 모델은 기본적으로 12단계에 걸쳐 t=0.65 에서 t=0 까지 샘플링하며, 그 전에 참조 이미지의 안내를 받아 정제된 구조를 디코딩합니다. 따라서 프록시는 편집 가능한 공간적 사전 정보를 제공하지만, 정제 과정에서 작은 파트가 제거될 수 있습니다.

거리 기반 할당과 연결 영역 확장을 통해 정제된 구조에 파트 레이블을 전달합니다. 그런 다음 파이프라인은 전체 객체에 대해 하나의 공유 SLat 을 샘플링합니다. 이는 공간 좌표와 연결된 피처 집합입니다. 이 둘은 서로 다른 작업입니다. 구조 잠재 벡터는 프록시에서 초기화되는 반면, 세부 SLat 은 새로 생성됩니다. 기본 parts 모드에서는 파트 레이블로 피처를 선택하고 별도의 메시로 디코딩합니다. joint 모드에서는 전체 SLat 을 더 높은 해상도의 피처로 디코딩한 후 각 파트의 메시를 추출합니다. 공유 생성 컨텍스트는 일관성을 지원하지만, 심(seam)이 올바르게 생성된다는 것을 보장하지는 않습니다.

외관은 가우시안 디코딩, 다중 뷰 렌더링 및 텍스처 베이킹을 통해 동일한 SLat 의 각 파트 슬라이스에서 생성됩니다. 출력에는 베이크된 기본 색상이 포함되며, 이를 완전한 PBR 머티리얼 세트로 간주해서는 안 됩니다. 결과물에는 계획 및 프록시 데이터, 독립 메시, 파트별 텍스처가 적용된 GLB, 조립된 assembly_textured.glb, 미리보기 이미지 및 실행 로그가 포함됩니다. 이를 통해 검사, 편집 및 문제 해결을 수행할 수 있습니다.

활용 분야와 전망: 개별 파트에서 실제 활용 가능한 에셋으로

잠재적인 활용 사례로는 애니메이션 프로토타이핑, 제품 분해도 및 조립 교육이 있습니다. 개별 메시에는 여전히 스켈레탈 애니메이션을 위한 리깅이 필요합니다. 실제 출력에는 공차, 인터페이스 및 벽 두께에 대한 추가 작업도 필요합니다. 보이지 않는 형상은 단일 이미지에서 추론되므로, 출력을 정밀한 역설계 결과로 간주해서는 안 됩니다.

배포를 위해서는 LLM API, CUDA 환경, TRELLIS 및 DINOv2 가중치, Blender 4.5 가 필요합니다. PartBloom 리포지토리는 MIT 라이선스를 사용하지만, PhysX-Omni 종속성은 상업적 사용을 제한하는 S-Lab License 1.0 을 사용합니다.

공식 로드맵에는 리깅과 TRELLIS.2 로의 전환이 포함되어 있습니다. 추가 연구에서는 다중 뷰 제약 조건, 연결 검사 및 로컬 재생성을 살펴볼 수 있습니다. 파트 보존율, 심 품질, 실행 시간 및 비용을 측정하면 이 접근 방식이 프로덕션 워크플로를 얼마나 안정적으로 지원할 수 있는지 확인하는 데 도움이 될 것입니다.

출처: 리포지토리 및 로드맵; 에이전트 프롬프트; 정제 파이프라인; 텍스처 내보내기.

자주 묻는 질문

PartBloom 은 하나의 이미지에서 무엇을 생성하나요?

PartBloom 은 하나의 참조 이미지로 각각 편집할 수 있는 파트가 포함된 3D 모델을 만듭니다. 예를 들어 차량의 휠은 개별 메시로 내보낼 수 있으므로, 본체를 제자리에 유지하면서 휠을 회전하거나 교체할 수 있습니다.

PartBloom 은 한 파트가 끝나고 다른 파트가 시작되는 지점을 어떻게 결정하나요?

먼저 각 구성 요소가 무엇을 하며 이웃 요소를 기준으로 어떻게 움직이는지 묻는 것에서 시작합니다. 언어 모델은 그 계획을 사용해 각 부분의 대략적인 3D 형태를 만듭니다. 그런 다음 TRELLIS 는 참조 이미지를 지침으로 삼아 형상을 더욱 정교하게 다듬습니다.

PartBloom은 어떤 파일을 내보내나요?

각 파트마다 텍스처가 적용된 GLB 파일과 전체 개체를 보여 주는 assembly_textured.glb 파일을 받게 됩니다. 한 구성 요소를 편집하려면 파트별 파일을 선택하고, 부품들이 어떻게 맞물리는지 확인하려면 어셈블리를 여세요. 텍스처에는 베이크된 기본 색상만 포함됩니다.

이미지에서 숨겨진 부분은 얼마나 정확한가요?

PartBloom 은 보이는 형태에서 숨겨진 표면을 추론합니다. 바퀴는 측면에서 보면 설득력 있어 보일 수 있지만, 차축과의 숨겨진 연결부는 여전히 조정이 필요합니다. 세부 부품은 다듬는 과정에서 사라질 수도 있으므로, 맞물림을 신뢰하기 전에 여러 각도에서 모델을 확인하세요.

관련 글