[ArXiv 2025]Accurate and efficient Zero-shot 6D pose estimation with frozen foundation models

안녕하세요 8번째 X-Review 작성자 손우진입니다. 이번에 리뷰할 논문은 BoP challenge(Benchmark 6D object estimation) 상위권을 다 지배하고있는 방법론에 대해서 리뷰를 해볼까 합니다. 그럼 바로 리뷰시작 하도록 하겠습니다.

Introduction

6D pose estimation은 로보틱스와 증강현실의 핵심 기술이지만 훈련 데이터에 없던 새로운 객체(unseen objects)를 인식하는 것은 매우 어려운 과제입니다. 기존 연구들은 대규모 합성 데이터셋을 이용한 ‘훈련’을 통해 이 문제를 해결하려 했지만, 그 시간과 자원을 필요로 합니다. 이번에 소개할 FreeV2는 이러한 패러다임에 “No!”라고 과감한 워딩을 사용하면서 별도의 훈련 없이(Training-Free) 기존의 강력한 파운데이션 모델을 Freez해서 사용하는 것만으로 최고의 정확도와 효율성을 달성할 수 있음을 증명합니다. FreeV2는 이전 버전인 FreeZe라고 있는데 그 방법론을 개선시켰습니다. 이전 버전을 몰라도 방법론에대해 자세히 설명드리도록 하겠습니다.

본격적인 설명에 앞서서 6D 에서 혼란을 겪을 수 있는 부분을 정리하도록 하겠습니다. 6D 는 Instance level, category level, Zero-shot, 이 3가지의 순서로 발전이 되었습니다. 지금은 Zero-shot 부분에서 일반화를 이루기위해 많은 연구가 진행되어지고있고 이중에서도 혼용된는 용어들이 있습니다.우선은 Training free, Trainig Based 이 두가지로 나뉘게되는데요 Training Free란 6D 자세 추정이라는 특정 Task를 위해 만들어진 데이터셋으로 모델을 훈련시키지 않는다는 의미입니다. 대신, 웹사이트 이미지나 일반적인 3D 형태 데이터와 같이, 전혀 다른 목적으로 미리 학습된 파운데이션 모델의 지식을 그대로 가져와 활용하는 방식입니다. 이 논문의 FreeV2가 바로 여기 Training free에 속합니다. Training Based란 반대로, 6D 성능을 높이기 위해 특별히 제작된 대규모 합성 데이터셋으로 모델을 직접 훈련시키는 방식입니다. 이 방법론은 높은 성능을 달성할 수 있지만, 저자들이 지적하듯 막대한 훈련 시간과 컴퓨팅 자원을 필요로 합니다.

이와는 별개의 기준으로, 추론 시점에 어떤 reference image 를 사용하느냐에 따라 Model-Based와 Model-Free로 나뉩니다. Model-Based는 추론 시점에 찾으려는 객체의 정밀한 3D 모델을 필요로 하는 방식입니다. FreeV2는 3D 모델을 입력으로 받으므로 여기에 해당합니다. Model-Free는 3D 모델 없이, 대신 여러 각도에서 촬영된 몇 장의 2D 참조 이미지만으로 자세를 추정하는 방식입니다. 즉 CAD 모델없이도 working하는 방식입니다.

FreeV2는 Training-Free이면서 Model-Based인 접근법입니다. 그럼 이 논문이 어떻게 BOP 챌린지에서 압도적인 성과를 낼 수 있었을까요? 그 비결은 객체를 인식하는 방식의 근본적인 전환에 있습니다. 기존의 많은 방법론들은 RGB 이미지의 시각적 특징(2D)과 3D 모델을 매칭하는, 본질적으로 ‘2D-3D 매칭’에 가까운 방식을 사용했습니다. 이는 텍스처가 없는 객체나 기하학적으로만 구별되는 객체를 다룰 때 명확한 한계를 가졌습니다.

FreeV2는 이 패러다임을 깨고, 기존 연구들이 RGB 이미지에만 파운데이션 모델을 적용했던 것에서 나아가, Depth 정보에서 추출한 3D 포인트 클라우드에도 기하학 전문 파운데이션 모델인 GeDi를 적용합니다. 즉, 시각정보는DINOv2(RGB)와 기하학 정보를 GeDi(Depth)를 함께 사용하여, 3D 모델과 실제 씬 모두를 시각적, 기하학적으로 완벽하게 이해하고 비교하는 3D-3D 매칭입니다. 그리고 이전 모델의 추론 속도와 안정성을 확보하기 위해, 다음과 같은 세 가지 핵심적인Contribution를 제시합니다.

첫째, 이전 버전의 고질적인 속도 문제를 해결하기 위해 Sparse feature extraction 전략을 도입했습니다. 둘째, 3D-3D 매칭의 장점을 극대화하여 정확도를 높이는 Feature-aware을 설계했습니다. 마지막으로, 외부 모델에 대한 의존성 문제를 해결하고 안정성을 확보하기 위해 다양한 모델을 아우르는 앙상블 파이프라인을 구축했습니다.

그럼 지금부터 이 세 가지 핵심 아이디어가 구체적으로 어떻게 구현되었는지, 전체 파이프라인을 단계별로 자세히 살펴보겠습니다.

Method


그럼 방법론에 대해 자세히 말씀드리겠습니다. 전체적인 파이프라인은 (1) Feature Extraction, (2) Feature Matching, (3) Pose Refinement의 3단계로 구성되지만, 사실 그 핵심 아이디어는 그리 복잡하지 않습니다. 시간이 오래 걸리는 무거운 작업은 미리 오프라인에서 다 해두고, 실시간으로 처리해야 하는 온라인 작업은 최대한 가볍게 만든다는 원칙을 따릅니다.

Feature Extraction

가장 먼저 비교의 기준이 되는 쿼리객체, 즉 3D CAD 모델에 대해 feature를 오프라인에서 미리 만들어 둡니다. 우선 CAD 모델의 RGB 특징을 DINOv2를 통해서 임베딩합니다. 하지만 DINOv2는 2D 이미지 분석 전문 모델이므로, 3D 모델을 직접 처리할 수 없습니다. 그래서 다음과 같은 과정을 거칩니다.

  1. 3D 모델을 여러 각도(viewpoint)에서 2D 이미지로 렌더링합니다.
  2. 이렇게 생성된 각 2D 이미지를 DINOv2에 입력하여 patch 단위의 시각 특징을 추출합니다.
  3. 패치 특징을 bilinear interpolation을 통해 픽셀 단위의 dense 한 특징으로 upsampling한 뒤, 다시 원래의 3D 모델 표면 위로 역투영합니다.
  4. 이때, 신뢰도를 높이기 위해 최소 V개 이상의 뷰에서 공통적으로 보이는 점들만 남기고, 각 점의 최종 특징은 여러 뷰에서 얻은 특징들을 종합하여 결정합니

Geometric Feature 추출
이와 동시에, 3D 모델의 표면에서 점들을 촘촘하게(Dense) 샘플링하여 3D 포인트 클라우드를 만듭니다. 그리고 이렇게 만들어진 촘촘한 포인트 클라우드의 각 점마다 기하학적 특징을 추출하기 위해 foundation model인 GeDi를 사용합니다. 여기서 GeDi란 Depth 정보에대한 정보를 일반화할수있는 Foundation 모델입니다. 이 모델은 각 점의 주변 기하학적 구조를 분석하여, 객체가 회전하더라도 변하지 않는 고유한 특징을 만들어내는 방식으로 작동합니다.
그렇게 되면 Query(3D model)에 대해 특징 추출은


위 와 같은 수식으로 정의할 수 있습니다. 여기서 PCA는 DinoV2에서나온 벡터의 차원을 GeDi의 출력에 나온 shape을 맞추기위해 사용되었습니다. 그렇다면 3D model에 대한 표현력을 맞출 수 있습니다.
그렇다면 이제 본격적으로 input으로 들어오는 input에 대해서 설명드리도록 하겠습니다.

Target Feature Extraction (Online)
쿼리 객체에 대한 완벽한 특징이 준비되었다면, 이제 실제 이미지가 주어졌을 때 이와 비교할 타겟 객체의 특징을 추출할 차례입니다. 이 모든 과정은 실시간(Online)으로 이루어지며, 속도가 핵심입니다.

FreeV2가 이전 버전 대비 8배의 속도 향상을 이뤄낸 비결이 바로 여기에 있습니다. 기존의 Dense 방식 대신 희소 샘플링Sparse Sampling 전략을 사용합니다.

  1. 먼저, 외부 분할 모델(SAM, CNOS 등)을 통해 얻은 마스크 후보를 감싸는 가장 작은 정사각형 바운딩 박스를 설정합니다.
  2. 이미지 전체가 아닌 이 박스 영역 위에 16×16의 grid를 만들고, 이 중 마스크 내부에 포함되는 최대 256개의 대표점만(패치의 중심점입니다)을 샘플링합니다.
  3. 이 256개의 2D 지점들에 대해서만 DINOv2를 통해 시각 특징을 추출하고, Depth 정보를 이용해 3D 공간으로 리프팅하여 희소 포인트 클라우드를 생성합니다.

물론, 이 sparse 점들만으로는 기하학적 특징을 정확히 계산하기 어렵습니다. 그래서 256개의 각 희소 포인트마다 주변부 형태를 GeDi가 다중 스케일(객체 지름의 30%와 40% 반경)로 분석하여 정확한 기하학적 특징을 계산해냅니다.

최종적으로 쿼리 객체와 마찬가지로 시각 특징과 기하학 특징을 융합하여, 희소하지만 정보량이 풍부한 타겟 특징을 완성합니다.

위의 식처럼 동일하게 Target 이미지의 feature를 추출할 수 있게 됩니다. 여기서도 PCA를 적용해서 GeDi의 차원에 맞춰줍니다. 그럼 이 둘(query랑 Target)의 feature들을 이제 비교하면서 Refinement를 거쳐야합니다.

Feature Matching & Pose Hypothesis

하나는 오프라인에서 만들어진 쿼리(3D 모델)의 Dense 특징들이고, 다른 하나는 온라인에서 추출된 타겟(이미지)의 Sparse한 특징들입니다. FreeV2는 각 타겟의 sparse 벡터에 대해, 쿼리의 Dense 특징 벡터들 중에서 코사인 유사도가 가장 높은 상위 k개(논문에서는 k=10)의 점들을 모두 후보로 설정합니다. 물론, 이렇게 찾아낸 대응점들 중에는 잘못된 정보(outlier)가 훨씬 많습니다. 여기서 RANSAC 알고리즘이 등장하여 inlier들을 찾아내는 역할을 합니다. RANSAC은 무작위로 3개의 대응 점을 뽑아 대략적인 자세 가설을 만들고 이 과정을 수없이 반복합니다. 하지만 FreeV2는 여기서 한 단계 더 나아가 이 논문의 핵심 기여 중 하나인 Feature-aware 점수를 사용합니다. RANSAC만으로는 신뢰성을 확보하기 어려워 초기 점수를 매기게됩니다

이 식은 현재의 자세 가설의 inlier들의 특징 벡터가 서로 얼마나 닮았는지, 그 특징 유사도의 평균을 점수로 계산합니다. 여기서 그치지않고 저자는 ICP(iterative closest point)알고리즘을 사용하여 더욱 신뢰성을 강화합니다. RANSAC에서 걸러진 점들을 통해서 query 와 target에 대해 점수를 부여합니다

그리하여 각각의 점수들을 종합하여 점수를 매기게되고 최종 output을 출력합니다.

Experiments


BoP challenge에 대해서 총 7개의 데이터셋에서 SOTA를 달성하는 능력을 보여주는데요 이러한 주장을 뒷받침하는Table II에 명확하게 나타나 있습니다. 이 표는 6D Localization Task에 대한 여러 모델들의 성능을 정확도Mean AR와 속도로 비교합니다. Detection/segmentation은 초기 후보군을 만들때 사용한 foundation 모델별로 비교를 한것입니다 FreeZev2는 각 데이터셋에데해 모두 SOTA를 달성하게되었고 눈에띄는것은 inference 시간입니다. 아무래도 추가적인 학습없이도 foundation의 inference 속도로만 측정을 하다보니 다른 모델에 비해 빠른 추론속도를 보이고 모델에서 말한 여러 foundation각각의 모델을 활요하여 후보군을 만들어 비교를 하게 되면서 더 좋은 정확도를 보이게 되는 것 같습니다. 가장 주목할 점은 대규모 훈련을 거친 FoundationPose와의 비교입니다. FreeV2는 훈련 없이도 FoundationPose보다 더 높은 정확도(+0.9 AR)를 달성하면서, 속도는 20배 이상(29.3s → 1.4s) 빠릅니다.

다음은 BoP의 Detection분야에서도 평가를 하게되는데요 Detection 분야가 아무래도 어렵다보니 비교군이 많이 없었다고 합니다.그래서 BoP에 등록된 모델들로 비교를 하였는데 무려 20%가까이 성능 향상을 보이고있습니다.

아쉬웠던 점은 정성적 결과가 위의 Fig 3. 밖에 없었다는 건데요, 위의 Figure 3은 FreeZeV2가 다양한 객체 유형과 까다로운 환경 조건 전반에 걸쳐 얼마나 잘 일반화되는지를 시각적으로 보여주는 중요한 자료입니다. 각 장면은 6D 자세 추정의 고질적인 난제들을 포함하고 있습니다 (a)는 복잡한 환경과 심한 가려짐을 보여줍니다. 여러 일상용품들이 겹쳐 있고 일부는 손에 의해 가려져 있음에도, 텍스처가 거의 없는 물체(물뿌리개)와 오리 장난감 모두의 자세를 정확히 추정합니다. 이는 DINOv2의 시각 정보와 GeDi의 기하학 정보를 효과적으로 융합하여, 한쪽 정보가 부족하더라도 다른 쪽 정보로 보완하는 능력을 객관적으로 보여줍니다. (b)는 대칭성과 다중 인스턴스라는 두 가지 어려운 문제를 동시에 다룹니다. 상자 안에 동일한 대칭 객체 여러 개가 빽빽하게 담겨 있음에도 FreeZeV2는 모든 객체의 개별 자세를 정확히 추정해내며, 기하학적 특징을 통해 대칭성으로 인한 모호함을 강인하게 처리합니다. (c)는 실제와 같은 복잡한 조명과 다양한 재질의 객체들을 보여줍니다. 체커보드 무늬의 반사와 여러 객체들이 뒤섞여 있음에도 상표가 명확한 객체와 금속 캔처럼 대칭적인 객체 모두를 잘 처리합니다. 이는 시각적 단서가 풍부할 때와 부족할 때를 모두 아우르는 강인함을 나타냅니다.마지막으로 (d)는 텍스처가 전혀 없는 산업 부품을 다룹니다. 외관상 아무런 시각적 단서가 없는 이 객체들의 자세 또한 정확하게 예측합니다. 이는 DINOv2의 시각 정보가 거의 없는 극한의 상황에서도, GeDi가 추출한 순수한 기하학적 특징만으로도 가능함을 시사하는 중요한 결과입니다.

마지막으로 Ablation 설명하도록하겠습니다

점수를 채점하는 방식에대해서 ablation 을 진행하였는데요 위에서 말씀드린 Feature-aware 점수의 효과입니다. 전통적인 RANSAC은 단순히 기하학적으로 일치하는 점의 개수만을 기준으로 자세를 평가합니다. 저자들은 이 전통적인 방식과, 자신들이 제안한 특징 유사도 기반의 점수 방식을 비교했습니다. 표(Table IV)의 결과에 따르면, 전통적인 방식만을 사용했을 때의 평균 정확도(Mean AR)는 71.9점에 그쳤습니다. 하지만 RANSAC과 최종 순위 결정에 모두 Feature-aware 점수를 적용했을 때는 75.4점으로 향상을 보였습니다.

Author: 손 우진

2 thoughts on “[ArXiv 2025]Accurate and efficient Zero-shot 6D pose estimation with frozen foundation models

  1. 우진님 좋은 리뷰 감사합니다.

    해당논문이 기존의 2D-3D 대응관계를 만들던 방식에서 벗어나 3D foundastion model인 GeDi를 함께 사용하는 방식을 제안하였다는 것이 해당 논문의 핵심인 것 같습니다.
    3차원 공간에서 DIONOv2의 feature와 GeDi feature를 어떻게 사용하였는 지가 핵심인 것 같은데, 이 둘을 단순히 concat한 것으로 보입니다. 이 2D와 3D feature 사용 여부에 대한 ablation study 연구는 없었는 지 궁금합니다.
    또한, 리포팅한 Table은 모두 RGBD를 사용하는 알고리즘들인가요?

  2. 안녕하세요 우진님, 리뷰 잘 읽었습니다.

    1. 일단 먼저 introduction에서부터 궁금한 게 있는데, unseen object에 대한 6D pose estimation 자체가 어렵다고 언급하며, 기존 연구들이 어찌저찌 대규모데이터셋으로 학습하여 이 unseen 6d 문제를 풀고싶어라햇는데, 그러기엔 시간과 자원을 필요로한다는 식으로 시작이 되는데요. 그 다음에 이제 training-free로 최고의 정확도와 효율성을 달성한 Freez란 방법론이 나왔고, 본 논문은 FreezeV2로써 training-free 방식으로 foundation model의 지식을 활용하면서도, model-based 방식으로써 추론 시점에 찾고자 하는 객체에 대한 사전정의된 3D cad model이 필요하다고 언급해주셨습니다.
    문제정의는 unseen object 6D pose estimation에 대한 기존 training-based 방법론들의 cost문제를 까면서, 자기들은 사전학습된 foundation model 지식사용해서 일반화된 듬직한 어떤 feature 뽑아서 쓰고, 그러면서 model-based라서 추론 시점의 object에 대한 사전정의된 3D CAD모델이 필요해. 이게 뭔가 어색하게 느껴져서요. unseen objects에 대한 세팅도 CAD모델이 필요한거죠? experiments에서의 BOP Challenge의 unseen object 평가를 위한 구성이 어떻게 되나요? 제가 뭔가 헷갈리고 놓치는 부분이 있는 것 같아서.. 알려주세요!

    2. 추가로 궁금한 부분이 있는데, GeDi가 offline feature extraction에선 dense하게 sampling된 포인트 클라우드의 각 점마다 기하학적 특징을 추출하고, 타겟에 대한 online feature extraction에선, sparse sampling 방식으로 뽑은 sparse 포인트 클라우드에 대해 GeDi가 또 특징을 추출하는데, offline이든 online이든 GeDi가 뽑는 객체가 회전하더라도 변하지 않는 고유한 Depth 특징은 저희가 흔히 아는 그 depth 정보가 맞나요? 아니면 좀 다른 건가요? 그리고 처음에 포인트클라우드로 사영한 후 거기서 dense든 sparse든 sampling을 하는 것 같은데, 입력으로 3D모델이랑 RGBD가 모두 주어지는 건가요?

    감사합니다.

Leave a Reply

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