paiams

Go Back

CrossGaussian


CrossGaussian은 실시간 360° 영상과 3D Gaussian Splatting(3DGS) 장면을 VR에서 함께 보여 주는 연구 프로토타입이다. 360° 영상으로 현재 상황을 놓치지 않으면서 3DGS 장면에서는 카메라 위치를 벗어나 공간을 탐색할 수 있도록 두 표현을 결합했다. 두 장면을 번갈아 보는 데 그치지 않고 겹쳐 보면서 현재 맥락과 자유 시점을 함께 유지하는 하나의 경험으로 구성했다.

역할

  • 시스템 구현 및 통합 — 360° streaming · 3DGS · Quest

결과

ISMAR 2025 Research Demonstration 제출 영상.

원격 협업에서 360° 카메라는 현장의 현재 모습을 넓게 보여 주지만, 시점이 카메라 위치에 고정된다. 카메라 뒤나 물체에 가려진 곳을 살펴보려면 현장 참여자에게 움직여 달라고 부탁해야 한다. 반대로 사전에 재구성한 3D 장면에서는 자유롭게 이동할 수 있지만 지금 현장에서 일어나는 변화는 볼 수 없다.

내가 맡은 일

연구 방향과 논문 작업은 변재현과 지도교수가 주도했다. 나는 논의된 아이디어를 실제로 작동하는 VR 시스템으로 옮기는 일을 주로 맡았다.

다른 팀원들은 3DGS 기반 코드와 장면 구성, Agora, 네트워킹과 로프 상호작용 등을 맡았다.

360도 영상 수집부터 원격 3DGS 재구성, 실시간 스트리밍과 Unity 렌더링까지 이어지는 CrossGaussian 시스템 구조

CrossGaussian의 데이터 수집·재구성·스트리밍·렌더링 구조.

협업 장면의 3DGS 활용

CrossGaussian에서는 3DGS를 세 가지 방식으로 활용했다. 360° 영상과 3DGS의 색상·투명도를 조절해 겹쳐 보는 장면 혼합, 360° 카메라에서 보이지 않는 곳을 찾아 표시하는 가려진 영역 감지, Gaussian의 알파값을 낮춰 구조물 너머를 살펴보는 투시 탐색이다.

나는 장면 혼합에 필요한 3DGS 렌더링과 가려진 영역 감지를 구현했다. 그림자 기능을 만들면서 익힌 렌더링 경로를 활용해, GPU에서 Gaussian별 색상과 알파값을 바꿀 수 있도록 기존 렌더러를 확장했다. 카메라의 시야각과 거리에 따라 필요한 영역만 강조하거나 흐리게 만들었고, 이 결과를 팀원이 구현한 360° 영상 레이어의 전환·불투명도 조절 로직과 연결했다.

개별 기능을 완성하는 것과 전체 시스템을 안정적으로 실행하는 일은 별개였다. 카메라 프레임이 들어오는 시점과 Unity의 렌더링 순서, 3DGS 계산, Meta Quest의 실행 조건을 함께 맞춰야 했다. 영상 스트리밍과 장면 전환, 가려진 영역 표시, VR 입력이 한 흐름에서 작동하도록 통합하고 현장 시연에 맞춰 점검했다.

ISMAR 현장 데모

ISMAR 2025에서는 데모 부스를 직접 운영했다. 시연 전에는 Meta Quest에서 실시간 영상과 3DGS 렌더링, 장면 전환과 입력이 함께 작동하는지 확인했다.

ISMAR 2025 데모 부스에서 Meta Quest로 CrossGaussian을 시연하는 모습

Meta Quest로 현장 데모를 확인하는 모습.

시연 중에는 방문객에게 시스템 구성을 설명하고 질문에 답했다.

ISMAR 2025 데모 부스에서 방문객에게 CrossGaussian을 설명하는 모습

ISMAR 2025 현장에서 방문객에게 데모를 설명하는 모습.

발표 자료와 한계

ISMAR 논문과 UIST 논문은 제목과 저자진이 같은 연구를 다룬다.

현재 공개 자료에는 카메라 입력부터 HMD 표시까지의 전체 지연 시간과 프레임 손실, CPU·GPU 사용률을 같은 조건에서 반복 측정한 결과가 없다. 장시간 시연의 안정성과 장비별 호환성도 별도로 정리하지 못했다. 다시 작업한다면 기능별 측정보다 먼저 전체 시스템의 구간별 지연과 프레임 손실을 기록하고, 장시간 실행 중 오류와 자원 사용량을 함께 확인할 것이다.

링크