Gausify Orbit 오픈 소스 공개: AI 생성 360도 오빗 비디오를 Gaussian Splats로 브라우저에서 변환
요약
Gausify Orbit이 MIT 라이선스로 오픈 소스 공개되었습니다. 이 웹 애플리케이션은 360도 오빗 비디오를 Gaussian Splats로 변환하며, WebGPU를 사용하여 로컬 브라우저에서 전체 파이프라인을 실행합니다. Python이나 CUDA 설치 없이 기기 내에서 작동하여 접근성이 높고, SAM 2.1 기반의 컷아웃 및 구조-변화(SfM) 방식을 적용했습니다.
핵심 포인트
- WebGPU를 활용해 로컬 브라우저에서 전체 파이프라인 실행 가능
- Python/CUDA 설치 없이 기기 내 작동으로 접근성 극대화
- SAM 2.1 기반의 컷아웃 및 구조-변화(SfM) 기술 적용
- 실시간 학습과 커스텀 워크플로우 통합을 지원하여 유연성이 높음
며칠 전 제가 “Gausify Orbit - 이미지를 Gaussian Splats로 변환하는 웹 애플리케이션을 구축하고 있습니다”라는 글을 올렸는데, 프로젝트가 아직 오픈 소스가 아니어서 삭제되었습니다. 이제 MIT 라이선스로 공개되었으니, 많은 업데이트와 함께 다시 가져왔습니다.
작동 방식:
주제 주변을 원형으로 도는 비디오를 입력합니다. 이 비디오는 비디오 모델(저는 주로 ComfyUI에서 Minimax H3 + 360 LoRA by pablodawson을 사용하여 만듭니다), 휴대폰 비디오 클립, 또는 이미지 폴더일 수 있습니다. 결과물로는 시청, 내보내기 또는 공유가 가능한 3D Gaussian Splat을 얻게 됩니다.
브라우저에서 실행:
웹 버전은 전체 파이프라인을 WebGPU를 사용하여 로컬에서 실행합니다. 설치할 것이 없고, Python도 필요 없으며, CUDA도 필요하지 않습니다. 또한 사용자의 비디오는 기기를 벗어나지 않습니다. 첫 방문 후에는 오프라인에서도 작동합니다.
탭 내 동작 과정:
- 프레임(Frames): 브라우저가 비디오를 디코딩하고, 원형 궤도 주변에 균일하게 퍼진 각 창에서 가장 선명한 프레임을 유지합니다. 만약 주제가 끝부분에서 “녹아내리는” 현상(전형적인 AI 비디오 문제)이 발생하면 범위를 자를 수 있습니다.
- 컷아웃 (Cutout, 선택 사항): WebGPU 기반의 SAM 2.1을 사용합니다. 한 프레임에 상자나 몇 개의 점을 그리면 전체 클립 동안 주제를 추적합니다.
- 기타 옵션: RMBG-1.4(선택적, 비상업적 라이선스)와 녹색/파란색 스크린용 디스필(despill)이 적용된 크로마 키가 있습니다. 마스크드 트레이닝은 무작위 배경을 사용하므로 주제 주변에 고스트 실루엣이 생기지 않습니다.
- 카메라 포즈 (Camera poses): 브라우저를 위해 제가 작성한 구조-변화(structure-from-motion) 방식입니다. 따라서 COLMAP이 필요 없습니다: AKAZE 특징점, WebGPU 컴퓨트 셰이더에서의 매칭, 그리고 번들 조정(bundle adjustment)을 통한 점진적 재구성을 사용합니다.
- 학습 (Training): WASM으로 컴파일된 Brush를 WebGPU와 함께 사용하여 학습시키며, 학습하는 동안 3D 뷰어에서 실시간 미리보기를 제공합니다.
- 내보내기 (Export): 선택적으로 유사한 splats 병합 및 SH 트리밍이 가능한 .ply 또는 압축 SOG 형식으로 내보냅니다. 파일 크기는 일반적으로 5~15배 작아집니다.
- 공유 (Share): QR 코드가 포함된 선택적 비공개 만료 링크를 제공합니다. 이 링크는 휴대폰과 VR/AR(WebXR)에서 작동하는 뷰어에서 열립니다. WebGPU가 지원되는 데스크톱 Chrome 또는 Edge가 필요합니다.
속도는 GPU에 따라 달라집니다: 브라우저 내 훈련은 네이티브 Brush 속도의 약 3분의 1로 실행되지만, 여전히 매우 사용 가능합니다. 첫 번째 게시물 이후 새롭게 추가된 기능으로, 비디오가 본 적 없는 각도를 다듬을 수 있습니다. 이 앱은 새로운 카메라 경로를 따라 스플랫(splat)을 렌더링합니다 (아래에서, 위에서, 다른 높이에서의 360° 회전 등). 사용자의 ComfyUI에 있는 비디오 모델로 해당 클립을 복원하고, 복원된 프레임으로 스플랫을 미세 조정합니다. 이 부분이 제가 가장 기대하는 부분입니다. 커스텀 워크플로우를 이용한 ComfyUI 통합: Export (API)로 내보낸 워크플로우를 불러와서 입력/출력 노드를 선택하고, prompt나 seed 또는 LoRA 강도 같은 필드를 앱에서 편집할 수 있도록 노출합니다. 프로젝트 가져오기/내보내기: 작업 중간 단계에서도 모든 것을 .gorbit 파일로 저장하고, 나중에 브라우저나 데스크톱 앱에서 다시 열 수 있습니다. 각 단계를 개별적으로 실행: 예를 들어, 포즈를 재계산하지 않고도 새로운 설정으로 재훈련할 수 있습니다. 또한 좋지 않은 프레임을 거부할 수도 있고, 카메라가 없는 프레임은 주변 프레임으로부터 포즈를 추론합니다. SAM 2.1을 이용한 피사체 격리 (위에서 설명됨). 입력으로 비디오뿐만 아니라 이미지 시퀀스나 폴더도 가능합니다. Gaussian Splat 미세 조정과 관련하여, 저는 보이지 않는 영역을 채우기 위해 LTX 2.5 + Decompression LoRA를 사용하여 테스트를 진행하고 있습니다. 결과가 일부 경우에 좋기는 하지만, 이 시나리오에 특화된 LoRA를 사용하면 확실히 더 나은 결과를 얻을 수 있을 것입니다. Gausify Orbit과 통합될 수 있는 이 미세 조정용 ComfyUI 워크플로우는 여기에서 찾을 수 있습니다. 훈련된 Gaussian의 예시: https://orbit.gausify.com/s/5xAWaNiiO8ax 앱: https://orbit.gausify.com 저장소(Repo): https://github.com/obraia/gausify-orbit /u/obraiadev가 제출함 [링크] [댓글]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/StableDiffusion의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기