GATOR가 흩어진 사진 몇 장으로 장면 정합 3D 객체를 복원한다
GATOR: Generative and Agentic 3D Object Reconstruction From Casual Images
무엇인가
일상적으로 찍은 사진 한두 장에서 완전한 3D 객체를 뽑아내는 일은 시뮬레이션과 장면 편집의 첫 단추다. 이 논문이 정의하는 'casual image'는 객체를 따로 분리하지 않고, 캘리브레이션 없이, 정해진 카메라 궤적도 없이 얻은 소수의 관측이다. 대상은 어수선한 탁자나 방 안에 박혀 있고 주변 물체에 부분적으로 가려지며 시점도 불규칙하다. 조명과 겉보기 크기, 보이는 표면 범위가 사진마다 달라지고 카메라 파라미터와 깊이는 관측에서 추정해야 한다. 단일 뷰 재구성은 보이지 않는 뒷면을 학습된 사전으로 메우기 때문에 그럴듯하지만 실제와 다른 형상이 나올 수 있고, 다중 뷰 생성 방식은 외관·관측 기하·대상 마스크를 서로 연관 짓는 조건화를 디노이저가 스스로 추론해야 한다는 부담이 있다. 멀티모달 에이전트로 처음부터 자산을 만들면 모델 호출과 코드 실행, 렌더링을 반복해야 해 시간과 비용이 든다.
어떻게 동작하나
GATOR는 TRELLIS.2의 구조-기하-외관 캐스케이드에 '로컬 모달리티 믹싱'을 끼워 넣는다. 뷰마다 패치 정렬된 RGB, 대상 마스크, 깊이에서 역투영한 포인트맵을 같은 패치 그리드에 올리고, 각 패치 안에서 세 모달리티 토큰끼리 잔차 어텐션을 수행한다. 이때 패치 좌표의 푸리에 인코딩과 패치 평균 플뤼커 광선을 임베딩해 위치 정보를 더한다. 출력 토큰은 각자 모달리티 정체성을 유지한 채 어울리므로, 한 패치의 외관·기하·마스크 단서를 동시에 보고 깊이를 외관 및 마스크와 교차 검증할 수 있다. 논문은 이 구조가 경계 깊이 노이즈나 부정확한 마스크 가장자리 같은 업스트림 오류를 견디게 해준다고 설명한다.
무엇과 다른가
희소 구조 생성 단계에서 덴스 구조 잠재변수는 모든 뷰의 혼합 토큰 뱅크를 크로스 어텐션으로 조회한다. 아직 희소 구조를 모르는 시점이므로 국소 투영이 아니라 전역 어텐션을 쓰는 것이 핵심이며, 이 덕분에 커버리지가 제한되거나 가려진 상황에서도 완성이 가능하다. 논문은 Pixal3D가 앵커 뷰에서 대상이 완전히 보인다고 암묵적으로 가정해 가림에 취약하다고 지적한다. 카테고리 텍스트의 SigLIP2 임베딩은 학습된 어댑터를 거쳐 타임스텝 임베딩과 adaptive layer normalization으로 각 블록을 변조하는 의미 사전으로 들어간다. 디노이저는 완전하고 포즈를 인지한 occupancy 잠재변수에 대한 rectified flow를 학습하고, 고정된 디코더가 이를 희소 구조로 바꾼다.
어떻게 쓰나
희소 구조가 나오면 그 활성 위치에 이미지 특징을 들어 올린다. 각 위치에서 대상 마스크가 적용된 이미지로부터 고정 DINOv3 특징과 NAF 업샘플 특징을 평균해 조건 벡터를 만드는데, 해당 위치가 카메라 앞이고 크롭 안에 투영되는 뷰만 쓰고 그런 뷰가 없으면 0으로 둔다. 각 디노이징 블록은 전역 이미지·텍스트 토큰에 크로스 어텐션해 관측되지 않은 영역을 이끌고, 여기에 국소 특징의 학습된 투영을 더해 세부를 살린다. 기하 플로는 형상 잠재변수를, 외관 플로는 같은 희소 좌표에서 PBR 머티리얼 잠재변수를 생성한다. 마지막 배치 단계는 실루엣과 깊이의 미분 렌더링 및 포인트 정렬로 이동과 등방 스케일만 다듬고 예측된 방향과 형상은 유지한다. 텍스트는 전 단계에 걸쳐 조건으로 들어가는데, 구조 생성은 짧은 카테고리 프롬프트를, 기하·외관 플로는 T5Gemma2 인코더와 어댑터가 만든 캡션 토큰을 쓴다. 마스크의 역할도 단계마다 다르다. 구조 플로는 가림 물체와 받침면을 포함한 전체 크롭을 보되 마스크를 별도 토큰으로 받아 가림을 고려하고, 기하·외관 플로는 대상만 마스킹한 이미지에서 특징을 투영해 배경이 표면과 텍스처에 새지 않게 한다. 논문은 TRELLIS.2, Pixal3D, ReconViaGen이 모든 단계를 배경 제거 이미지로 조건화해 가려진 물체 완성에 도움이 되는 장면 맥락을 버린다고 대비한다.
전제와 한계
생성된 자산은 멀티모달 에이전트의 초기값이 된다. 저자들은 GPT-6-Astra에 생성 메시, 입력 관측, Blender 접근 권한을 주고, 처음부터 다시 모델링하지 말고 신뢰할 수 있는 영역과 좌표계·스케일을 보존하면서 국소 수리를 하도록 지시한다. 에이전트는 이미지와 자산 렌더를 보고 무엇을 고칠지 스스로 정해 스크립트를 작성하며, 빠진 구조를 채우거나 토폴로지를 고치거나 UV와 머티리얼을 바로잡는다. 편집할 때마다 동일한 카메라와 조명에서 원본과 수정본을 렌더해 비교하고, 재구성을 나쁘게 만든 편집은 되돌린다. 지원 가능한 수리가 끝나거나 증거가 부족하면 고정된 시간 예산 안에서 멈춘다. 생성 모델의 재학습은 필요 없다.
학습 데이터는 합성 장면뿐이다. 약 98만 개 객체 자산으로 절차적으로 어수선하게 구성한 장면과 기존 데이터셋의 구조적 실내 장면을 쓰고, 각 예시는 대상의 부분 관측과 완전하고 포즈가 맞춰진 기하·외관을 짝지으며, 관측은 이미지에서 추정한 카메라와 깊이로 대체하거나 증강해 캐주얼 캡처를 흉내 낸다. 평가는 Toys4K 525개 객체 105개 카테고리와 LM-O, HB, HANDAL, ScanNet++ 실사 캡처에서 이뤄졌다. ScanNet++는 기존 프로토콜의 6개 장면 69개 객체를 49개 장면 229개 타깃으로 확장했고, 각 타깃은 1~10개 뷰를 가진다. Toys4K 4뷰 비교에서 GATOR는 7개 지표 전부 1위로, 가장 강한 베이스라인인 Pixal3D-MV 대비 CD를 19.7% 줄이고 F1을 0.701에서 0.757로 올렸다. 테이블탑 실사 데이터(LM-O, HB, HANDAL)에서는 완전 독점 모델인 GPT-6-Astra 처음부터 생성 베이스라인을 제외하면 9개 지표 전부 1위이며, Pixal3D의 CD를 대략 절반으로 줄이고 F1과 PSNR을 크게 높였다. ScanNet++에서는 2위인 RecGen 대비 CD를 23% 줄이고 F1을 0.540에서 0.603, IoU를 0.682에서 0.733으로 올렸다. 포즈 지표인 [email protected]은 HANDAL 96.36%, ScanNet++ 95.63%다.
절제 실험은 HANDAL 55개 객체 4뷰에서 진행됐다. 모달리티 믹서는 주로 배치, 즉 기하와 포즈 추정을 개선해 ADD-SB를 낮췄는데, 카메라와 깊이가 외부 모델 추정값이라는 점을 감안하면 믹서가 업스트림 추정 오류에 대한 강건성을 높인다는 뜻이다. 텍스트 조건은 지표를 일관되게 개선했고, 에이전트 정제는 대체로 외관을 좋게 만들었다. 다만 정제는 국소적이어서 Toys4K, LM-O, HB에서는 평균 기하 변화가 거의 없고 HANDAL에서는 CD, F1, IoU가 소폭 나빠졌으며, 시뮬레이션 같은 다운스트림 이득은 정량 지표에 충분히 반영되지 않는다고 저자들은 밝힌다. 효율 측면에서 생성 초기화에 약 32초가 추가되는데, 정제 없이 약 0.5분 만에 GPT-6-Astra를 20분 예산으로 돌린 결과보다 우수하다. GPT-6-Astra는 1분 예산에서 10개 중 0개, 2분에서 5개, 5분부터 10개 모두 유효 자산을 반환했다. 뷰 수를 늘리면 성능이 꾸준히 좋아져 LM-O와 HB에서 2뷰에서 8뷰로 갈 때 ADD-SB와 CD가 낮아졌고, 2뷰만으로도 Pixal3D 8뷰 CD의 절반 정도를 기록했다.
실무 관점에서 GATOR는 로보틱스 시뮬레이션이나 장면 편집용 자산을 캐주얼 캡처에서 뽑아낼 때 쓸 수 있는 파이프라인이다. 눈여겨볼 점은 카메라·깊이·마스크를 모두 추정값으로 받는다는 전제다. 논문의 강건성 주장도 이 추정 오류를 완전히 없앤다기보다 완화한다는 수준이고, 학습은 합성 데이터에만 의존하므로 실제 캡처 분포에서의 일반화는 별도 검증이 필요하다. 에이전트 정제는 외관과 국소 토폴로지를 손보는 데 강하지만 평균 기하 지표를 끌어올리지는 않으며, HANDAL에서는 오히려 소폭 악화시켰다. 또 정제는 GPT-6-Astra와 Blender, 고정 시간 예산에 의존하므로 상용 API 비용과 실행 시간을 감안해야 한다. 뷰가 늘수록 좋아지지만 2뷰 같은 극소수 관측에서도 동작한다는 점, 그리고 객체를 장면 좌표계에 그대로 두는 포즈 인지 복원이 가능하다는 점이 이 방법의 실질적 강점이다.