OmniRay가 광각 카메라에서도 보정 없이 단일 이미지 3D 복원을 수행한다
OmniRay: Camera-Agnostic Monocular 3D Reconstruction with Composite Ray Fields
무엇인가
이 논문은 중앙 카메라에서 단일 이미지로 3D 점구름을 복원하는 문제를 다룬다. 중앙 카메라는 모든 시선 광선이 하나의 광학 중심을 지나므로 각 3D 점을 광선 방향과 그 광선을 따른 거리로 나눌 수 있고, 광선 방향은 카메라 기하에만, 거리는 장면에 의존한다. 기존 피드포워드 단안 3D 모델은 대부분 핀홀 카메라를 전제로 학습·설계되어 어안이나 파노라마 같은 광각 영상에서 기하가 왜곡된다. 핀홀로 보정하면 90도 이상의 광선을 표현할 수 없어 시야를 잘라내거나 주변부를 늘리는 문제가 생긴다. 카메라 인지 모델은 픽셀별 광선장을 예측해 이 가정을 없애지만, 하나의 고정 기저로 전체 투영과 세부 변형을 동시에 표현한다는 점을 저자들은 한계로 본다. OmniRay는 카메라 기하를 복잡도 계층으로 보고, 내부 파라미터나 카메라 종류 입력 없이 추론 시점에 광선장과 거리를 예측한다.
어떻게 동작하나
방법은 DINOv2 백본으로 이미지를 인코딩한 뒤 두 갈래로 나눈다. Ray Module은 각 픽셀의 단위 광선 d(u)를, Distance Module은 양의 방사형 거리 rho(u)를 예측하고, 3D 점은 P(u)=rho(u)d(u)로 얻는다. 수직 깊이 Z 대신 방사형 거리 rho를 예측하는 이유는 광선이 광축에서 90도에 가까워지면 d_z가 0에 가까워지고 그 이상에서는 부호가 바뀌어 Z가 불안정해지기 때문이다. Ray Module은 d0에서 d1을 거쳐 d로 가는 세 단계다. 첫 단계인 단조 방사형 기저는 전역 토큰에서 K+8개 값을 예측한다. K개 증가량을 softplus로 양수화해 누적한 뒤 고정된 반지름 매듭 사이에서 선형 보간해 단조 증가하는 입사각 theta(r)를 만들고, 주점 오프셋, 축각 회전, 비등방 스케일과 전단을 위한 상삼각 행렬 A를 함께 쓴다. 변환 좌표의 반지름 r과 방위각 phi로 d0를 구성하며, K=16개 매듭을 이미지 반대각선 단위의 r∈[0,1.3]에 둔다. 이 기저는 90도에 상한을 두지 않아 적도 너머로 가는 광선도 표현할 수 있다.
무엇과 다른가
두 번째와 세 번째 단계는 구면 위의 연속 회전으로 잔차를 더한다. 구면조화 잔차는 전역 토큰에서 최대 차수 L=7의 실구면조화 계수 행렬을 예측해 이미지당 192개 계수를 만들고, 각 픽셀은 정규화 이미지 좌표를 역스테레오그래픽으로 S2에 올린 주소에서 기저를 평가해 보정 벡터 w1을 얻는다. 보정은 S2의 지수 사상으로 적용하며, 광선에 평행한 성분은 버리고 접선 성분만 사용한다. 접선 성분의 노름이 회전각이 된다. 자유형 잔차는 조밀 특징 맵에 가벼운 합성곱 디코더를 붙여 남은 국소 변형 w2를 예측하고, 이를 다시 같은 지수 사상으로 적용한다. 즉 d1=exp_d0(w1), d=exp_d1(w2)로 합성하며, 두 잔차 헤드는 0으로 초기화해 학습이 방사형 기저에서 출발하게 한다. 잔차의 회전각 노름은 해당 카메라가 아래 표현에서 얼마나 벗어나는지를 나타내므로 카메라 종류별 모델 선택이나 라우팅 없이 표현이 적응한다. Distance Module은 같은 인코더 패스를 재사용해 네 개 중간 블록을 DPT 디코더로 융합하고 softplus로 양의 거리를 낸다.
어떻게 쓰나
학습은 최종 광선장과 중간 광선장 d0, d1을 모두 감독하는 각도 광선 손실을 쓴다. 손실은 평균 코사인 잔차 1−<x,d*> 형태이고, 내부 영역 C, 외부 영역 Q, 오차가 가장 큰 5% 꼬리 T에 가중치를 주되 광각에서 오차가 주변부에 집중되므로 외부 영역 가중치를 가장 크게 둔다. 점구름 손실은 예측과 정답을 각각 평균 점 노름으로 정규화해 단일 이미지가 결정하지 못하는 전역 스케일을 제거한 뒤 P=rho d에 대해 계산한다. 전체 목적식은 lambda_ray 곱하기 광선 손실 더하기 lambda_pc 곱하기 점구름 손실이며 두 모듈과 공유 인코더를 끝에서 끝까지 학습한다. 또한 훈련 중 파노라마마다 시선 방향, 양의 스플라인 증가량으로 만든 단조 방사형 프로파일, 촬상 센서 영역으로 정의되는 합성 중앙 카메라를 무작위로 샘플링하는 렌즈 증강을 적용한다. 이 증강은 채워진 영역과 고리형 영역, 핀홀부터 광각까지를 포괄하지만, 보류한 카메라 기하와 가까운 샘플은 거부해 평가 대상이 훈련에 새지 않게 한다.
전제와 한계
실험은 2D3DS와 360Loc 파노라마에서 원근, 어안, 파노라마 뷰를 렌더링해 훈련하고, 두 데이터셋의 보류 장면과 학습에 쓰지 않은 PanoCity, CO3Dv2에서 평가한다. GoPro 어안과 Nayar 카타디옵트릭 카메라는 훈련에서 완전히 제외한다. 비교 대상은 UniK3D, Depth Anything 3, GeoCalib, AnyCalib이고, 지표는 광선 평균 각도 오차, 방사형 거리의 AbsRel과 delta<1.25, 점구름의 정확도·완전성 및 Chamfer distance다. 학습 전 표현력 상한을 재는 오라클 실험에서 압축 파라미터 모델은 가정과 맞는 기하에서만 성공했고, 단조 방사형 프로파일의 매듭을 늘려도 등장방형 오차는 22.8도에 남았다. 구면조화장은 그 상한을 없애지만 어안에서는 방사형 프로파일보다 두 자릿수 뒤졌고, 세 기하 모두에서 0.25도 미만을 낸 압축 표현은 합성 표현뿐이었다.
본 실험에서 학습에 등장한 카메라 유형의 평균 광선 오차는 0.14도, 상대 Chamfer distance는 0.0179로, UniK3D의 6.34도와 0.0760, Depth Anything 3의 33.03도와 0.1999보다 크게 낮다. 보류한 Nayar 카타디옵트릭에서는 모든 베이스라인이 75도를 넘었지만 OmniRay는 1.12도와 0.0131 CD를 냈고, GoPro에서는 5.53도로 UniK3D의 6.34도보다 좋았다. PanoCity에서는 1.35도로 UniK3D 21.22도, Depth Anything 3 50.53도보다 낮았고, CO3Dv2에서는 2.97도로 두 베이스라인과 1도 이내 차이를 유지했다. 렌즈 증강을 빼면 학습에 등장한 카메라는 1.39도로 남지만 보류 카타디옵트릭과 GoPro 오차가 30.87도와 7.97도로 올라가고, 증강을 복원하면 1.12도와 5.53도, 학습에 등장한 카메라 0.14도가 된다. 절제 실험에서 단조 방사형 기저는 어안 1.761도, 핀홀 0.788도였지만 파노라마에서는 21.825도였고, 구면 기저는 파노라마를 5.088도로 줄였다. 자유형 단일 표현은 파노라마·어안·핀홀에서 가장 좋았지만 보류 카타디옵트릭에서 11.335도였다. 방사형에 구면조화 잔차를 더한 단계적 모델은 파노라마 0.610도, 보류 1.680도, GoPro 3.393도를 냈고, 자유형 잔차까지 더한 전체 단계적 모델은 파노라마 0.399도, 어안 1.322도, 카타디옵트릭 1.538도, 핀홀 0.418도를 기록해 다섯 구성 모두에서 공동 학습한 세 항 변형보다 나았다. VGGT 초기화 변형은 핀홀에서 0.330도로 가장 좋았지만 나머지 네 구성에서는 전체 모델보다 나빴다.
개발자 관점에서 OmniRay는 로보틱스, AR/VR, 360도 캡처처럼 광각·어안·파노라마 입력이 들어오고 캘리브레이션 메타데이터를 매번 믿기 어려운 파이프라인에 유용하다. 단일 순전파로 픽셀별 광선과 거리를 내고, 이를 곱해 카메라 좌표계의 점구름을 만들므로 내부 파라미터나 카메라 종류 라벨 없이 동작한다. 다만 출력은 스케일까지 정해지지 않은 점구름이므로 미터 단위가 필요한 응용에서는 외부 정렬이나 추가 스케일 추정이 필요하다. 또한 모든 광선이 한 점을 지나는 중앙 카메라 가정을 두므로 비중앙 카메라에는 그대로 적용할 수 없다. 실제 렌즈에서 쓰려면 목표 카메라 기하가 훈련 분포와 얼마나 다른지, 렌즈 증강이 충분한지, 그리고 카메라 고도와 방향 분포가 학습과 비슷한지 확인해야 한다.
저자들이 밝힌 한계는 파노라마의 제로샷 일반화가 카메라 투영 다양성만으로 결정되지 않는다는 점이다. 훈련 영상은 지면 근처에서 수평선이 거의 정렬된 상태로 찍혔는데, 수평선이 화면 위쪽에 가까운 야외 항공 파노라마에서는 예측 광선이 전체 시야 구면이 아니라 전방을 향한 제한된 영역만 덮었다. 이는 학습에 포함된 촬영 고도 분포가 일반화에 영향을 준다는 뜻이다. 향후 과제로 다중 뷰 재구성으로 확장하고, 카메라 방향과 고도가 더 다양한 뷰를 훈련 분포에 넣는 것을 제안한다.