안녕하세요 손우진입니다.
오늘은 단일 RGB 기반의 6D Pose Esitmation 논문을 리뷰해볼까 합니다. 아무래도 6D 측정을 위해서라면 Depth가 필요한데요 하지만 Depth 없이 이미지기반의 6D 포즈 예측은 어떻게 하는지 리뷰를 해볼까 합니다. 그럼 바로 시작하도록 하겠습니다
Introduction
일반적으로 6D Pose Estimation에서 높은 정확도를 확보하기 위해 Depth 정보가 포함된 RGB-D 데이터를 활용하는 것이 유리한 것은 사실입니다. 하지만 실제 환경에서는 센서의 물리적 한계로 인해 정확한 깊이 값을 얻지 못하는 경우가 많고, 이로 인해 오직 단일 RGB 이미지와 객체의 3D CAD 모델만을 활용하여 포즈를 추정해야 하는 상황이 발생합니다. 오늘 소개할 Co-op 논문은 이러한 환경적 제약 속에서도 학습 단계에서 본 적 없는 새로운 객체의 포즈를 찾아내기 위한 효과적인 방법론을 제시합니다. Co-op은 이를 해결하기 위해 Semi-dense Correspondence을 찾는 방식을 도입했습니다.
이 논문에서 제안하는 방식의 전제는 대상 객체의 3D CAD 모델을 미리 확보하고 있다는 점입니다. 3D model 없이 image-to-3d기술로 생성해서 추정하는 Model-free기반도 있지만 단일 RGB 환경에서는 객체의 실제 크기나 기하학적 구조를 직접 측정할 수 없으므로 사전에 정의된 CAD 모델을 기준으로 이미지 속 객체가 어떤 각도와 거리에서 촬영되었는지 역추적하는 Model-based 접근법이 필수적입니다. 기존의 단일 RGB 기반 방식들은 여러 템플릿 이미지를 하나하나 비교하는 Template Matching 방식을 사용하거나 픽셀 단위의 대응점을 직접 예측하는 방식을 취해왔으나, 연산 효율이 낮거나 텍스처가 부족한 환경에서 대응점을 정확히 찾지 못한다는 기술적 한계가 존재했습니다.
Co-op은 이러한 기존 연구들의 문제들을 해결하기 위해 다음과 같은 방법을 이용했습니다.
먼저, 기존 방식들이 템플릿 간의 불연속적인 차이 때문에 대응점을 찾지 못했던 문제를 해결하기 위해 패치 단위의 Classification와 오프셋 Regression를 결합한 하이브리드 표현 방식을 도입했습니다. 단순히 템플릿을 선택하는 것이 아니라, 패치 내에서 픽셀 수준의 위치 편차를 직접 계산함으로써 적은 수의 템플릿만으로도 매우 정교한 초기 포즈를 도출해냅니다.
또한, 초기 포즈가 확보되더라도 단일 RGB 이미지 특성상 미세한 정렬 오차가 발생할 수밖에 없습니다. Co-op은 이를 극복하기 위해 Probabilistic flow 기반의 Refinement 기법을 도입했습니다. 단순히 위치를 이동시키는 것이 아니라, 대응점의 신뢰도를 엔드투엔드로 학습하고 PnP 레이어를 통해 오차를 최소화합니다. 이는 가려짐이나 텍스처가 없는 영역에서도 정밀 포즈를 보정하기 위한 핵심 장치입니다.
Co-op은 Contibtuion은 아래와 같습니다.
- 우리는 RGB 전용 환경에서 새로운 객체의 포즈를 추정하기 위한 프레임워크인 Co-op을 제시합니다. Co-op은 새로운 객체에 대해 추가적인 학습이나 파인튜닝을 요구하지 않으며, BOP 챌린지의 7개 핵심 데이터셋에서 기존 방식들을 큰 차이로 앞지르는 성능을 보여주었습니다.
- 우리는 패치 단위의 분류(Patch-level classification)와 오프셋 회귀(Offset regression)를 결합한 하이브리드 표현 방식을 사용하여, 빠르고 정확한 초기 포즈 추정(Coarse pose estimation) 방법을 제안합니다.
- 추가적으로, 정밀한 객체 포즈 보정(Object pose refinement) 방법을 제안합니다. 이 방법은 확률적 흐름(Probabilistic flow)으로 정의된 조밀한 대응점을 추정하며, 미분 가능한 PnP 레이어를 통해 신뢰도(Confidence)를 엔드투엔드로 학습합니다.
Method

Method에 대해 설명드리겠습니다. 우선 본격적인 설명에 앞서, 최근의 6D Pose Estimation 연구들은 이미 Foundation model이나 Detection model을 활용하여 이미지 내에서 대상 물체를 성공적으로 감지(Detection)했다는 가정하에 진행됩니다.
따라서 모델의 입력으로는 물체가 포함된 Query 이미지와 사전에 3D CAD 모델을 통해 다양한 시점에서 렌더링된 Template 이미지 세트가 함께 주어집니다. 모델은 이 두 데이터를 비교하여 물체의 상대적인 자세를 추정하게 됩니다. 위 이미지는 Co-op 모델의 전체적인 흐름을 보여주는 Overview입니다.
Coarse Pose Estimation
Coarse Pose Estimation 단계의 목표는 입력된 Query 이미지와 템플릿 이미지 사이에서 Semi-dense Correspondence를 찾아내어 대략적인 물체의 포즈를 결정하는 것입니다. Co-op은 DINOv2를 활용합니다.
구체적인 프로세스는 다음과 같습니다. 우선 256 x 256 해상도로 입력된 Query 이미지와 템플릿은 DINOv2 백본을 거쳐 특징 맵으로 변환됩니다. 이후 Transformer 기반의 Decoder를 통과하며 Query의 각 패치 정보가 템플릿의 어떤 영역과 매칭되는지를 계산하게 됩니다. DINOv2의 패치 구조에 따라 출력값은 16 x 16 그리드(총 256개 패치) 형태로 생성되는데
하이브리드 표현 방식은 패치 단위의 Classification 과 오프셋 Regression를 결합한 형태입니다. 우선 Patch-level Classification을 통해 Query의 각 패치 i 가 템플릿의 어느 패치 j와 매칭되는지 분류합니다. 이때 템플릿의 패치 개수인 256개에 더해, 배경이나 가려짐 등으로 인해 매칭되는 점이 없는 경우를 처리하기 위한 ‘no-match’ 클래스를 추가하여 총 257개의 클래스로 분류를 수행합니다.
동시에 모델은 Coordinate Regression을 통해 각 패치 중심점으로부터 실제 대응점이 얼마나 떨어져 있는지를 회귀합니다. 최종적인 대응점 좌표는 분류된 패치의 중심 좌표 $\mathbf{c}(j)$에 예측된 오프셋를 더함으로써 결정됩니다. 중심점에서 픽셀을 더해서 대응점을 계산할 수 있게 됩니다.
이후 대응점 정보를 바탕으로 최적의 템플릿을 선정하고 초기 포즈를 산출합니다. 먼저 Template Ranking 단계에서는 모든 템플릿 후보군에 대해 각 패치의 매칭 확률을 합산합니다. 이를 통해 Query 이미지와 기하학적으로 가장 유사한 상위 템플릿을 선별합니다. (아래 그림은 최종 선별된 템플릿과 query이미지의 분류결과와 offset 회귀 예시입니다)

최종적으로 선별된 템플릿과 offset에 대한 대응점 쌍에 PnP 알고리즘과 RANSAC을 적용합니다. 이 과정에서 기하학적 이상치(Outlier)를 제거함으로써, 객체의 대략적인 회전(R)과 이동(t) 값을 예측하게 됩니다.
Pose Refinement
Co-op의 Pose Refinement 단계는 Coarse 단계에서 얻은 초기 포즈를 정밀하게 보정하기 위해 CroCo 백본을 활용하여 두 이미지 사이의 flow를 추정합니다. 이 과정에서 모델은 조건부 확률인 p(Y | I_Q, I_R; \theta)를 학습하며, 문제를 단순화하기 위해 이를 평균 \mu \in \mathbb{R}^{H \times W \times 2}와 스케일b \in \mathbb{R}^{H \times W \times 1} 를 파라미터로 가지는 단변량 라플라스 분포로 모델링한다고 합니다 저도 flow 기반은 처음보느라 이해가 어려웠는데 질문 주시면 더 자세히 답글 달아보도록 하겠습니다.
이러한 확률적 회귀 방식은 모델이 스케일 파라미터 b를 적응시키게끔 조정함으로써 신뢰도가 높은 대응점에 더 집중할 수 있게 설계되어있습니다. 포즈 계산에 필요한 flow confidence인 W \in \mathbb{R}^{H \times W \times 1}는 certainty, sensitivity, 그리고 flow probability P_R의 element-wise 곱을 통해 산출됩니다. 여기서 certainty는 I_R에서 I_Q로의 흐름이 가려졌는지(occluded) 여부를 추정하며, sensitivity는 포즈 손실(\mathcal{L}_{pose})을 통해 학습되어 객체의 가장자리나 텍스처가 풍부한 영역을 강조하는 역할을 합니다. 또한 flow probability P_R은 실제 흐름 y가 예측된 평균 \mu로부터 반지름 R 이내에 존재할 확률을 의미하며, 다음과 같이 계산됩니다.

최종적으로 리파인먼트 모델은 이렇게 얻어진 흐름 Y와 신뢰도 W를 활용하여 Levenberg-Marquardt(LM) 알고리즘 기반의 PnP 솔버를 통해 포즈를 업데이트합니다. 이 과정은 가중치가 적용된 재투영 오차를 최소화하는 방향으로 수행되며, 가려짐이 없고, 포즈 결정에 유용한 정보가 있으며(high sensitivity), 흐름 예측이 정확한(high P_R) 영역에 더 높은 가중치를 부여함으로써 6D 포즈를 확정짓게 됩니다.
# Training and Loss Functions
Co-op 모델의 학습은 CroCo-Large 백본을 기반으로 하며 처음 본 물체에 대해서도 성능을 낼 수 있도록 MegaPose 합성 데이터셋을 활용해 진행됩니다.
우선 초기 포즈를 결정하는 Coarse Pose Estimation 단계에서는 쿼리 패치가 템플릿의 어느 영역에 해당하는지 분류함과 동시에 미세한 위치 오프셋을 함께 학습합니다. 이때 사용되는 손실 함수는 패치 매칭을 위한 Cross-Entropy\ Loss와 오프셋 정밀도를 높이는 L_{1}\ Loss를 결합한 형태입니다.

이 식에서 \alpha는 두 손실 사이의 균형을 조절하는 가중치로, 논문에서는 2로 설정하여 학습 효율을 높였습니다.
이어서 초기 포즈를 정밀하게 보정하는 Pose Refinement 단계에서는 flow의 오차와 기하학적인 포즈 오차를 통합적으로 고려하여 학습이 진행됩니다. 이 단계의 손실 함수는 흐름의 정확도, 대응점의 유효성, 그리고 최종적인 포즈의 정밀도를 모두 반영하도록 설계되었습니다.

구체적으로 \mathcal{L}<em>{flow} 는 라플라스 분포의 Negative\ Log-Likelihood를 통해 이동량과 그에 따른 불확실성을 학습하며,\mathcal{L}{cert}는 가려짐 등을 고려해 대응점의 신뢰도를 판단하는 역할을 합니다. 마지막으로 \mathcal{L}_{pose}는 리파인된 결과와 실제 정답 사이의 3D 거리를 직접 줄이는 역할을 수행합니다. 이러한 손실 함수 구성을 통해 Co-op은 별도의 미세 조정 없이도 강력한 일반화 성능을 확보하게 됩니다.
Experiments

Co-op 모델의 성능은 BOP Challenge의 7개 핵심 데이터셋인 LM-O, T-LESS, TUD-L, IC-BIN, ITODD, HB, YCB-V로 teest 하였으며, 모든 실험은 학습 시 보지 못한 물체에 대해 제로샷 환경에서 진행되었습니다. 실험 결과에 따르면 Coarse 단계만으로도 평균 AR(Average Recall) 58.4를 기록하며 기존 FoundPose의 37.3점 대비 약 56.6%의 압도적인 성능 향상을 보였습니다. 또한 리파인먼트 단계를 포함한 최종 포즈 추정 성능은 단일 가설 기준 64.0점, 5개 가설 기준 65.7점을 달성하여 MegaPose나 FoundPose 같은 기존 SOTA 모델들과의 격차를 크게 벌리며 우수성을 입증했습니다. 또한 효율성 측면에서도 이미지 내 모든 객체의 포즈를 추정하는 데 가설 수에 따라 1.85초에서 4.18초가 소요되어, 유사한 정확도를 보이는 기존 방식인 MegaPose가 약 31.7초 소요되던 것과 비교해 속도 개선을 이루어내고 정확도를 향상시켰습니다.

Table 2는 Co-op 모델의 핵심 설계 요소들이 단계별 포즈 추정 성능에 어떤 기여를 하는지 수치적으로 보여줍니다.
먼저 Coarse Estimation 단계를 보면, 제안된 하이브리드 방식에서 패치 단위 Classificatio을 제외했을 때 평균 AR이 58.4[/latex]에서 50.2로 하락하는 것을 확인할 수 있습니다. 또한, 백본을 CroCo 사전 학습 모델로 초기화하지 않았을 경우 성능이 46.4까지 떨어져, 파운데이션 모델의 풍부한 사전 지식이 새로운 물체에 대한 일반화 성능 확보에 필수적임을 보여줍니다.
Pose Refinement 및 Selection 단계에서도 유사한 경향이 관찰됩니다. 리파인먼트 과정에서 Probabilistic Flow 모델링을 제외할 경우 정확도가 감소하게 되며. 모델의 모든 단계에서 제안된 구조와 사전 학습 모델의 결합이 가장 좋은 성능을 확보한것을 알수있습니다.
Conclusion
단일 RGB이미지만을 이용한 6D 포즈 추정 기술은 최근 Co-op과 같은 연구들을 통해 과거에는 수천 장의 템플릿을 무겁게 대조하거나 Depth 정보를 필수적으로 요구했지만, 이제는 정교한 대응점 설계와 시각 파운데이션 모델의 결합과 활용으로 처음 본 물체에 대해 일반화 성능을 점점 확보를 할수있게 되고 있는 것 같습니다.
리뷰 잘 읽었습니다. Coarse Pose Estimation 부분에서 궁금한 점이 있어 댓글 남겨두겠습니다.
semi-dense correspondence의 정의가 정확히 무엇인지 궁금한데, 256개 패치에서 전부 대응점을 만들려는 건지, 아니면 유효한 일부 패치만 쓰는 걸까요? 그리고 실제로 PnP에 들어가는 correspondence는 몇 개 정도로 필터링되나요?
안녕하세요 주영님 좋은 질문 감사합니다
우선 Semi-dense correspondence는 모든 패치를 사용하는 것이 아니라 분류기를 통해 ‘no-match’가 아닌 물체 영역으로 판정된 유효 패치들만 선택적으로 사용합니다. 입력 이미지(256×256 해상도 시 256개 패치) 중 배경이나 오클루전 영역을 제외한 패치들만 3D 좌표와의 대응점 생성에 활용됩니다.
PnP 단계에서는 추출된 유효 패치들을 입력으로 하되, RANSAC-EPnP 과정을 거치며 기하학적 이상치를 제거한 최종 정제된 점들만 포즈 계산에 기여합니다. 따로 몇개 정도 필터링된다는 언급은 없었고 대부분의 배경들은 날라가고 feature들이 유사한 물체영역에 패치들만 들어가지않을까 생각듭니다.
감사합니다
우진님 좋은 리뷰 감사합니다.
해당 방법론도 결국 256개의 템플릿에 대하여 패치단위로 연산을 수행해야하다보니 많은 연산량이 요구될 것 같습니다. 저자들이 introduction에서 기존 방식의 연산량 문제를 언급하였는데, 해당 방법론은 이를 해결하였다고 볼 수 있나요? 또한, GigaPose에 대하여 5개의 hypotheses로 Co-op 방식의 refinement를 수행한 결과는 따로 리포팅이 안되어있는데, 혹시 이러한 이유가 설명되어있는 지 궁금합니다. 혹은 성능이 더 좋아 숨긴걸까요? 이에 대한 우진님 의견이 궁금합니다.
안녕하세요 우진님 좋은 리뷰 감사합니다.
처음 본 물체에 대해서도 성능을 낼 수 있는 이유가 단지 MegaPose 합성 데이터셋을 활용해서인건지 궁금합니다.
제가 명확하게 이해하지 못한 것 같은데 제로샷 일반화가 되는 핵심 요인이 이 데이터셋 뿐만아니라 제로샷을 위한 해당 모델의 추가적인 다른 설계가 있었는지가 궁금해서 질문드렸습니다. 감사하니다.
안녕하세요 우진님 리뷰 감사합니다.
Pose Refinement 하는 과정이 살짝 와닿지 않는데, CroCo 백본으로 flow를 추정한다고 할 때의 flow가 무엇인가요?Refine하는 과정을 수학적으로인것 보다 조금 더 high level로 설명해주시면 그 흐름 토대로 수학적으로도 이해 해보려고 합니다,,!