[CoRL 2025]One View, Many Worlds: Single-Image to 3D Object Meets Generative Domain Randomization for One-Shot 6D Pose Estimation

안녕하세요 9번째 X-review에서는 이번 CoRL 2025에 oral 로 채택된 6D논문입니다. 그럼 리뷰 바로 시작하도록 하겠습니다.

Introduction

Real world에서 하나의 객체에대해서 회전과 위치를 알기위해서 그 물체에 대해 3D mesh를 알아야합니다. 3D mesh를 기준으로 객체가 카메라좌표계에서 얼만큼 회전했는지 위치를 알수있기 때문입니다. 하지만 세상의 모든 물체에대해 3D mesh를 미리 알 수 있을까요? 그거는 거의 불가능에 가깝죠 그래서 이 6D pose estimaion 연구에서는 model-free가 활발히 연구중입니다. model-free라고 하면 3D 모델을 사전에 없다는 가정으로 하는 것입니다. 기존에는 3D 모델을 사전에 알고있다는 전제로 연구를 했는데요 근 최근들어 빠른속도로 발전하고있습니다. 그래서 제가 이번에 소개할 논문도 model-free기법입니다.

아무래도 새로운 환경에서 working을 하려면 CAD 모델이 있다는 가정은 맞지않죠 그래서 대부분의 연구는 객체의 3D 모델을 얻기 위해 멀티뷰 렌더링을 통해 3D를 생성하는 시도들을 많이하고있습니다. 하지만 실제 환경에서 멀티뷰 렌더링은 비현실적 이기도 합니다. 그렇다고 단일뷰 시점에서 3D 모델을 만들기에는 실제 3D 와 scale차이가 안맞을 수 있고 제약이 많습니다. 이렇게 새로운 물체에 대해 단일뷰 시점에서 6D를 추정한다는 것은 굉장히 어려운 일이고 불가능한 일에 가까운 수준입니다.

이에 저자는 새로운 model-free 방식인 OnePoseviaGen 파이프라인을 제안합니다.

저자는 단일 RGB-D 이미지만으로 3D를 생성하는 Hi3DGen(image-to-3d)모델을 통해 3D 모델을 재구성한다고 합니다. 하지만 이 3D 모델은 스케일이 정규화되므로 실제 객체 스켈일의 차이가 있습니다. 이에 저자는 스케일 차이를 극복하기 위해서 Coarse-to-fine전략을 도입합니다. 점점 스케일 차이를 줄여나가는 전략인데요 이를 Foundation pose 모델과 통합하여 가려지거나 어려운 scene에서도 성능을 향상시켰습니다.

또한 저자는 텍스트기반의 프롬프트 기반으로 데이터 증강을 통해 여러 합성데이터를 만드는 방식을 제안했고 그렇게 만든 데이터셋을 real-world환경에서 평가를 진행했다고 합니다.

저자의 contribution을 정리하면 아래와 같습니다

  • 단일 시점 3D 생성을 원샷 6D 자세 및 스케일 추정을 위한 훈련 및 추론 모두에 통합하는 최초의 파이프라인을 도입하여 생성 모델링이 자세 추정에 직접적인 이점을 제공할 수 있음을 입증합니다.
  • 2D–3D 특징 매칭 및 render-and-compare 개선을 통해 자세와 메트릭 스케일을 공동으로 개선하여 단일 이미지에서 정확한 메트릭 스케일 정렬을 가능하게 하는 coarse-to-fine 정렬 모듈을 설계합니다.
  • 본 논문에서는 다양하고 구조적으로 일관된 3D 변형을 생성하는 텍스트 기반 증강 전략을 제안합니다. 랜덤화된 조건에서 이러한 모델을 렌더링하면 생성된 모델과 실제 객체 간의 도메인 격차를 해소하는 대규모 합성 데이터 세트가 생성됩니다.
  • 저희 방법은 세 가지 까다로운 6D 포즈 벤치마크와 새로 수집된 실제 데이터 세트에서 새로운 최첨단 결과를 확립했습니다. 저희는 또한 능숙한 로봇 그리핑에서 그 효과를 입증하여 실제 조작에서 견고성과 실용성을 검증합니다.

Method


그럼 자세히 방법론에 대해서 설명드리도록 하겠습니다.
그림 좌측 상단 I_{A} 이미지와, 우측 상단 I_{Q} 앵커이미지와 쿼리이미지로 나눕니다. 형식적으로,
T_{A→Q} = [R | t]입니다. 핵심 과제는 쿼리 이미지가 상당히 다른 조건에서 동일한 객체를 캡처할 수 있는 경우에도 강력한 자세 추정을 달성하는 데 있습니다. 따라서 저자의 방법은 이러한 외관 변화에도 불구하고 불변하는 기하학적 특징을 추출하고 신뢰할 수 있는 대응 관계를 설정해야 합니다.

Texture Mesh Generation

introduction에서 말씀드렸다싶이 6D를 추정하기위해서 3D mesh가 필요합니다. 하지만 여럿 연구에서 다중시점에서 렌더링하여 3D를 생성하는 방법론들을 채택하였습니다. 하지만 논문의 저자는 단일뷰로 3D를 형성하는 Hi3DGen을 사용하였습니다. 단일뷰로 잘될까? 이런 생각도 많았는데 요즘은 그 발전이 엄청난 속도로 이루어지고 있는 것 같습니다.


위 그림을 보시면 단일 이미지만으로도 뒷면을 잘 예측하는 것을 볼 수 있습니다. 그래서 저자는 발전된 단일뷰 image-to-3d기법 texture 까지 포함해서 생성하는 Hi3DGen을 채택하였습니다. 그리하여 저자는 처음 앵커이미지로 들어오는 이미지에서 추정하고자하는 객체에 대해서 SAM으로 마스크영역만 추출한다고 합니다. 최종적으로 마스크된 영역I_{A}^{\text{cropped}} 을 구합니다. 또한 이미지로 부터 normal map을 구하여 이미지의 형태를 추출하여 normal map X를 사용합니다.
그럼 최종적으로 I_{A}^{\text{cropped}}와 normal map X를 사용하여 3D 모델인 O_{N}을 최종적인 3D 모델을 만들어 낼 수 있습니다.

Coarse to Fine Object Alignment and Pose EstimationFine Alignment and Pose

3D model인O_{N} 을 생성하였는데요 이는 정규화된 공간내에서 표현되기 때문에 실제 앵커이미지의 객체와는 스케일의 차이가 있을 것입니다. 이를 해결하기위해서 저자는 coars-to-fine하는방식으로 해결하는데요 우선은 만들어진 3D 모델에서 저희가 알고있는 카메라 내부파라미터를 K를 이용하여 n개의 구면시점에서 2D이미지로 렌더링 합니다. 렌더링된 뷰 o_{i}와 앵커이미지 I_{A} SuperGlue 매칭을 통해 가장 많이 매칭된 뷰만 남깁니다. 그렇게 되면 p_i' \in \mathbb{R}^2, \; p_i \in \mathbb{R}^2 각 2차원의 점들이 있을 겁니다 그럼 이제 각 렌더링된 뷰와 I_{A} 의 D depth정보를 활용하여 3 차원으로 변환해줍니다.P_i' \in \mathbb{R}^3, \; P_i \in \mathbb{R}^3 로 나타낼 수 있습니다.

그렇다면 저희는 o_{i} 에서 2D 점들과 3D의 관계 PnP를 통해서 초기 포즈를 추정할 수 있습니다.

o_{i} 내에서 추정을 할 수가 있겠죠 하지만 저희는 P_{i}와의 스케일을 맞춰야겠죠 그래서 저자는 P_i^{N} = \alpha \hat{P_{i}} 를 설정하고

목적함수로두고 최소화합니다.

그럼 초기 3D 모델에서 앵커이미지로의 초기 포즈를 구할 수 있습니다. 하지만 이 값은 초기 값 입니다.

coarse estimate 와 스케일 s부터 시작하여 FoundationPose 에서 조정된 네트워크를 사용하여 현재 자세에서 모델의 렌더링과 IA에서 관찰된 객체 간의 차이를 기반으로 점진적인 자세 업데이트 ∆R ∈ SO(3) 및 ∆t를 예측하여 추정치를 개선합니다. 즉 초기 포즈와 실제 앵커와의 R t를 조정을 Foundation pose에 맡기고 조정된 R,t를 통해서 조정된 뷰에서 다시 SuperGlue를 통해 반복해서 조절해 나갑니다. 그렇게 반복되서 얻은 O_{M} 을 앵커이미지로 가는 포즈를 획득 할 수 있다고합니다.

이제 O_{M} 3D mesh도기때문에 이를 query이미지와 O_{M}을 Foudationpose를 이용하여 pose를 구할 수 있습니다.

그렇게 되면 최종적인 Anchor image에서 query이미지로가는 계산을 할 수 있습니다.

Text-Guided Texture Diversification

저자는 추가적으로 단일 이미지로부터 생성된 3D 모델과 실제 객체 사이의 외형적 차이, domain gap를 해소하기 위한 독창적인 방법으로 ‘텍스트 기반 텍스처 다양화’ 기법을 제안합니다. 이 접근법은 6D 자세 추정기의 강인함과 일반화 성능을 높이는 데 핵심적인 역할을 합니다.

단일 앵커 이미지로부터 생성된 3D 모델(O_N​)은 하나의 인스턴스에 불과하여 조명, 가려짐 등 다양한 실제 환경 조건에 대응하기 어렵습니다. 더 일반화 적인 훈련시키려면 다양한 데이터셋이 필요하지만 이를 수동으로 구축하는 것은 비용이 많이 듭니다. 이 문제를 해결하기 위해, 논문은 초기 생성 모델(ON​)과 텍스트 프롬프트를 입력으로 사용하는 텍스트 기반 3D 생성 모델 Trellis 를 활용합니다. 이 과정은 객체의 핵심적인 구조는 유지하면서 텍스처, 스타일, 사소한 지오메트리가 다양한 변형 모델들을 생성합니다. 이렇게 생성된 다양한 모델들을 무작위적인 시점, 조명, 가려짐 환경에서 렌더링하여 대규모 합성 데이터셋을 구축하고 이를 자fine-tuning에 사용합니다. 이 기법은 텍스처 합성을 통해 카테고리, 즉 자주 등장하지 않는 객체에 대한 자세 추정 모델의 성능을 향상시킵니다. 특히, 쿼리 이미지에서 가려졌던 부분이 나타나는 경우에도 모델의 일반화 성능을 크게 높일 수 있다고합니다.

Experiments

실험 파트입니다. 위 방법론들은 T_{A->Q} 를 구하는 방법론들인데요 최근 CVPR 2025에 accept 된 Any6D와 비교하여 YCB 데이터셋에서 평균적으로 더 나은 성능을 보이는 것을 볼 수 있습니다.

또한 BoP benchmark인 TOYL (표 2) 및 LM-O (표 3)의 경우에서도 SOTA를 달성하였습니다.

또한 저자들은 방법과 SRT3D 및 DeepAC를 비교하면서 각 작업에 대해 15개의 객체를 사용하여 30번의 시행을 거쳐 테스트했습니다.

로봇은 (2) ROKAE 로봇 팔과 XHAND1 민첩 핸드, 두 개의 AgileX PiPER를 사용하여 파지 설정을 구축하고 기준선 대비 성공률을 측정했다고 합니다.그림에서 볼 수 있듯이 저자들이 주장하는 방법은 73.3%의 성공률을 달성하여 복잡한 실제 시나리오에서 강력한 성능을 입증했습니다.

Ablation study

마지막으로 ablation 입니다. 저자들이 주장한 coarse – to – fine alignment에 대해서 성능입니다. 스케일이 안맞다보니 align을 맞춰주지않으면 AR이 0인것을 볼 수 있습니다. 하지만 초기포즈와 foundation pose의 조정을 통햇 성능이 향상되는 것을 볼 수 있습니다. 하지만 TYOL 데이터셋이 조명이나 저조도가 있어 어려운 데이터셋입니다. 그럼에도 SOTA를 달성한 것을 볼 수 있습니다. 텍스트를 이용한 데이터 증강 및 미세조정의 효과 역시 리포팅을 하는데요 이 실험은 저자들이 직접 구축한 실제 데이터셋에서 진행되었습니다. fine tuning 하지 않았을 때의 AR은 12.6%였습니다. 초기에 생성된 단일 3D 모델만으로 학습시킨 성능은 오히려 낮아졌는데요 텍스처를 가진 모델들을 생성하여 학습시킨 경우 AR이 52.4 상승했습니다.

본 논문은 실제로 스케일 문제 해결에만 집중해서 작성되어있고 appendix부분에 합성데이터와 fine tuning과정을 작성되어있어 그 부분은 다루지 못했습니다.. 질문주시면 읽고 답변드리도록 하겠습니다 감사합니다

Author: 손 우진

2 thoughts on “[CoRL 2025]One View, Many Worlds: Single-Image to 3D Object Meets Generative Domain Randomization for One-Shot 6D Pose Estimation

  1. 안녕하세요 우진님 좋은리뷰 감사합니다.
    뭔가 기존 방법론이 실생활에서는 불가능한 설정인 3D mesh 가정을 천천히 없애고 있는 상황인 것 같네요. 제가 로봇쪽을 잘 몰라서 그런데 일반 연구실에서 연구할 수 있을지 그 실험 규모가 가늠이 안되네요.
    그리고 저자의 방법론을 사용했을때 FPS 를 보장할 수 있나요? 아니면 그런쪽은 아직 고려하지 않은 상황인건지 궁금합니다.
    감사합니다.

  2. 안녕하세요 우진님 좋은 리뷰 감사합니다.
    확실히 아직은 읽으면서도 이해하지 못하는 부분이나 어려운 부분이 많은 것 같습니다.

    읽다가 궁금한 점이 있어 질문드립니다.
    저는 텍스트를 이용한 데이터 증강 부분에서, 객체의 핵심 구조는 유지하면서 텍스처나 스타일 등이 바뀐 변형 모델을 생성해 학습에 활용한다고 이해했습니다. 이 부분을 보면서 저희가 연구실에서 3D 모델과 실제 객체의 스타일을 맞추기 위해 노력했던 경험이 떠올랐습니다. 그런데 여기서는 오히려 일부러 스타일을 바꿔 학습시키는데, 그렇게 되면 실제 객체를 잘못 인식할 위험은 없을까요?

Leave a Reply to 최 인하 Cancel reply

Your email address will not be published. Required fields are marked *