AI 탐구노트

TriSplat : 삼각형 스플래팅으로 바로 쓰는 시뮬레이션용 3D 장면 복원 본문

AI 기술

TriSplat : 삼각형 스플래팅으로 바로 쓰는 시뮬레이션용 3D 장면 복원

42morrow 2026. 6. 12. 15:40

 

사진 몇 장만 보고 공간을 3D로 다시 만드는 일은 오래된 연구 주제입니다. 예전에는 여러 장의 사진을 맞추고, 카메라 위치를 계산하고, 다시 표면을 만드는 과정을 여러 단계로 거쳤습니다. 이 방식은 정교하지만 시간이 오래 걸립니다. 특히 로봇이나 게임 엔진처럼 바로 부딪힘, 이동, 잡기 같은 물리 상호작용을 해야 하는 환경에서는 단순히 보기 좋은 3D 이미지보다 실제로 쓸 수 있는 표면이 더 중요합니다.

최근 인공지능은 이 과정을 한 번에 처리하는 방향으로 발전하고 있습니다. 이미지를 넣으면 모델이 바로 3D 구조를 예측하는 방식입니다. 하지만 많은 최신 방식은 3D Gaussian Splatting처럼 부드러운 점 구름 (Point Cloud) 형태의 표현을 사용합니다. 보기에는 좋지만, 이를 물리 엔진에서 쓰는 삼각형 메시로 바꾸려면 다시 변환 작업이 필요합니다. 이 논문은 그 중간 단계를 줄이려는 시도입니다.

TriSplat은 처음부터 장면을 삼각형 단위로 표현합니다. 그래서 렌더링에 쓰인 결과가 곧 메시가 됩니다. 쉽게 말해, 보여주기 위한 3D와 물리 엔진에 넣을 3D를 따로 만들지 않습니다. 이 차이가 로봇 시뮬레이션, 게임, 증강현실에서 중요한 의미를 가집니다.

 


 

1) 기존 방식의 문제점

 

기존의 희소 시점 3D 복원 방식은 크게 두 가지 문제가 있습니다.

  • 여러 단계가 필요합니다. 고전적인 3D 복원은 카메라 위치 추정, 깊이 추정, 표면 재구성, 메시 변환 같은 과정을 따로 수행합니다. 입력 이미지가 적거나 카메라 자세를 모르면 결과가 불안정해지기 쉽습니다.
  • Gaussian 기반 방식은 '보기 좋은 결과'와 '바로 쓸 수 있는 메시' 사이에 간격이 있습니다. Gaussian Splatting은 장면을 부드러운 3D 덩어리처럼 표현합니다. 새 시점 이미지를 만드는 데는 강하지만, 물리 엔진이 요구하는 명확한 삼각형 표면은 바로 나오지 않습니다. 그래서 TSDF fusion이나 Poisson reconstruction 같은 후처리가 필요합니다. 이 변환 과정에서 표면이 흐려지거나, 얇은 구조가 사라지거나, 장면 일부가 끊어질 수 있습니다.
TSDF fusion : 여러 깊이 정보를 격자 공간에 합쳐서 표면을 찾는 방식. 결과적으로 메시를 만들 수 있지만, 해상도와 후처리에 영향을 많이 받음

 

2) 접근 방식

 

TriSplat의 핵심 접근은 '나중에 메시로 바꾸지 말고, 처음부터 삼각형으로 만들자'는 것입니다. 이 모델은 포즈가 없는 희소 이미지 여러 장을 입력받아, 한 번의 전방향 계산으로 3D 점 지도, 카메라 자세, 삼각형 속성, 색상 정보를 함께 예측합니다.

 

여기서 중요한 점은 삼각형의 방향입니다. 삼각형은 방향이 조금만 틀어져도 화면에 딱딱한 깨짐이나 구멍이 보입니다. 그래서 논문에서는 삼각형 방향을 네트워크가 마음대로 맞히게 두지 않고, 대신 먼저 예측된 3D 점 지도에서 표면 법선을 계산하고, 이를 이미지 정보로 보정한 뒤, 그 방향에 맞춰 삼각형을 놓습니다. 즉, 삼각형이 장면의 표면 위에 자연스럽게 눕도록 만드는 구조입니다.

 

법선 : 어느 방향을 향하는지 나타내는 화살표로, 바닥의 법선은 대체로 위쪽을 향하고 벽의 법선은 앞쪽이나 옆쪽을 향함

 

3) 모델/기술 아키텍처

 

TriSplat은 DINOv2 백본과 Local-Global Attention 디코더를 사용합니다. DINOv2는 이미지에서 의미 있는 특징을 뽑는 역할을 하고, Local-Global Attention은 한 이미지 안의 구조와 여러 이미지 사이의 대응 관계를 함께 살피는 역할을 합니다.

 

모델은 크게 세 개의 헤드로 나뉩니다.

  • Pointmap Head : 각 픽셀에 대응되는 3D 위치를 예측합니다.
  • Camera Head : 각 이미지의 카메라 위치와 방향을 예측합니다.
  • Primitive Head : 각 픽셀에서 만들 삼각형의 밀도, 크기, 회전, 색상, 흐림 정도를 예측합니다.

그 뒤 'Geometry-Anchored Triangle Orientation' 단계가 들어갑니다. 여기서는 점 지도에서 거친 법선을 만들고, U-Net으로 보정하고, 초기 학습 때는 사전 학습된 단안 법선 모델의 도움을 받습니다. 최종적으로 방향이 정리된 삼각형들이 만들어지고, 이 삼각형들은 렌더링에도 쓰이며 그대로 텍스처 메시로 내보낼 수 있습니다.

 

그림 : TriSplat 아키텍처 개요

 

 

4) 세부 적용 기술

 

1️⃣ Feed-Forward 3D 복원

  • 이미지를 넣으면 한 번의 계산으로 3D 장면을 복원하며 
  • 장면마다 따로 최적화하지 않아도 되기 때문에 그래서 기존 방식보다 빠르게 메시를 만들 수 있습니다.
  • TriSplat은 6장 입력 기준 1초 안팎으로 사용 가능한 메시를 생성합니다.

2️⃣ 삼각형 기반 3D 표현

  • TriSplat은 장면을 작은 삼각형들의 모음으로 표현합니다.
  • 이 삼각형은 위치, 크기, 방향, 색상, 투명도 정보를 가지며, 렌더링에 사용한 삼각형이 곧 메시가 됩니다.
  • Gaussian 방식처럼 나중에 메시로 변환하는 과정이 필요 없습니다.

3️⃣ Pointmap과 법선 계산

  • 모델은 각 픽셀에 해당하는 3D 위치를 예측하며, 이 3D 위치들의 변화량을 이용해 표면 방향(법선)을 계산합니다.
  • 법선은 삼각형을 어느 방향으로 놓을지 정하는 기준이 됩니다.

4️⃣ 법선 보정 네트워크

  • 처음 계산한 법선은 거칠거나 흔들릴 수 있어, TriSplat은 RGB 이미지, 깊이, 마스크 정보를 함께 사용해 법선을 보정합니다.
  • 이 과정에는 가벼운 U-Net 구조가 사용됩니다. 
  • 이를 통해 벽, 바닥, 물체 경계에서 삼각형 방향이 더 안정됩니다.

5️⃣ Mono-Normal Bootstrap

  • 학습 초반에는 모델이 표면 방향을 잘 모르기 때문에 사전 학습된 단안 법선 추정 모델을 임시 Teacher로 사용합니다.
  • 초반에는 Teacher 법선을 많이 참고하며, 학습이 진행되면 점점 TriSplat이 스스로 예측한 법선을 사용합니다.
  • 이 방식은 초기 학습 불안정을 줄이는 역할을 합니다.

6️⃣ Progressive Surface Sharpening

  • 삼각형은 경계가 딱딱해서 학습 초기에 다루기 어렵습니다.
  • 그렇기 때문에 처음에는 삼각형을 조금 흐릿하게 렌더링하고 학습이 안정되면 점점 선명한 표면으로 바꿉니다.
  • 쉽게 말해, 처음에는 부드럽게 배우고 나중에는 또렷한 메시로 다듬는 방식입니다.

7️⃣ Direct Mesh Export

  • TriSplat의 결과물은 바로 삼각형 메시입니다. 
  • 낮은 투명도의 삼각형만 제거하고, 중복 정점을 정리하면 됩니다. 
  • TSDF fusion이나 marching cubes 같은 별도 후처리가 필요 없기 때문에 Unity, Isaac Sim 같은 물리 엔진에 바로 넣기 쉽습니다.

 

그림 : DL3DV 실행 시간 비교

 

 

5) 제약사항

  • TriSplat은 렌더링과 물리 시뮬레이션에는 바로 쓸 수 있는 메시를 만들지만 이 메시가 완전히 닫힌 watertight mesh는 아님
  • 삼각형 밀도가 입력 해상도와 연결된다는 한계가 존재함. 픽셀 단위로 삼각형을 예측하기 때문에, 필요한 곳에만 더 촘촘한 삼각형을 배치하는 적응형 구조는 아직 충분히 다루지 할 수 있음

 

TriSplat의 의의는 3D 복원을 그저 보기 좋은 이미지 생성에서 바로 사용할 수 있는 3D 표면 생성으로 옮겼다는 데 있습니다. 기존 Gaussian 기반 방식은 렌더링 품질이 좋아도 물리 엔진에 넣기 위해 메시 변환을 거쳐야 했습니다. TriSplat은 처음부터 삼각형으로 장면을 표현해 이 문제를 해결했습니다. 

 

실생활 적용 측면에서는 로봇 시뮬레이션, 실내외 공간 스캔, 게임 월드 제작, AR 환경 구축에 도움이 될 수 있습니다. 특히 Unity와 NVIDIA Isaac Sim에서 직접 내보낸 메시를 사용해 이동, 충돌, 물체 상호작용을 보인 점은 이 기술이 단순 연구 결과를 넘어 응용 가능성을 가진다는 것을 보여줍니다.


참고자료

  • 사이트) TriSplat 프로젝트 (링크)
  • 논문) TriSplat: Simulation-Ready Feed-Forward 3D Scene Reconstruction (링크)
  • 코드) TriSplat github 저장소 (링크)
  • 모델카드) TriSplat Hugging Face 모델 카드 (링크)

Q&A

 

Q. TriSplat은 기존 3D Gaussian Splatting과 무엇이 다른가요?

TriSplat은 장면을 Gaussian 덩어리가 아니라 삼각형으로 표현합니다. 그래서 렌더링에 쓴 결과를 바로 메시로 내보낼 수 있습니다. Gaussian 방식은 보통 물리 엔진에서 쓰기 위해 TSDF fusion 같은 변환이 필요합니다.

 

Q. 왜 삼각형 방향을 법선에 맞추는 것이 중요한가요?

삼각형은 방향이 조금만 틀어져도 표면이 깨져 보일 수 있습니다. TriSplat은 점 지도에서 계산한 법선을 기준으로 삼각형을 놓고, 이미지 기반 U-Net과 teacher normal로 이를 보정합니다. 그래서 표면이 더 안정적으로 만들어집니다.

 

Q. TriSplat이 바로 모든 시뮬레이션에 쓸 수 있나요?

렌더링, 충돌, 로봇 이동 같은 물리 엔진 작업에는 바로 쓸 수 있습니다. 하지만 완전히 닫힌 메시가 필요한 유한요소해석 같은 작업에는 아직 한계가 있습니다.