CenterSnap: Single-Shot Multi-Object 3D Shape Reconstructionand Categorical 6D Pose and Size Estimation 논문 리뷰

2023. 12. 5. 21:17논문 리뷰

Reference
Paper : https://arxiv.org/abs/2203.01929
 

 

INTRODUCTION

 

 

CentenrSnap 논문에서 가장 먼저 소개되는 내용은 위 사진과 같은 전체 적인 모델의 파이프라인이다. 최근 shape reconstruction 과 categry-level 6D pose 연구에서는 위 사진의 왼쪽 부분과 같이 Multi-stage 방식으로 많이 연구 되어진다. 보통 첫번째 stage에서는 2D detection 을 위한 단계이고 두번째 단계에서 object recontstruction 혹은 6D pose estimation 이 이루어진다. 이러한 과정은 투 Stage이기 때문에 비용적으로 효율적이지 못하고 real-world 에서 새로운 Instance의 추론에 있어 성능이 떨어지는 문제점을 가지고 있다. 이러한 문제를 극복하기 위해 본 논문에서는 single-shot 방식의 단일 RGB-D 뷰로 부터의 결과를 소개하고 있다.이는  bounding box 제안이 없고 픽셀당 방식 접근이며 feature 피라미드 backbone을 사용해서 center 위치에서의 object의 픽셀당 공간적 표현을 학습한다고 한다. 따라서 전체적으로 위 논문은 RGB-D 이미지 단일 Input을로 multi-object의 Recontruction 과 pose estimation 을 하고자 했던것 같다. 뿐만아니라 Category-level 방식을 취하고 있어 훈련데이터 생성시에는 CAD 모델이 필요하지만 추론시에는 CAD 모델이 필요없고 어느정도 학습한 데이터셋과 유사한 Novel한 Object에 대해서도 추론을 할 수 있다. 

 

CENTERSNAP

 

모델 구조는 아래 사진과 같다. 먼저 per-pixel 방식으로 feature pyramid network를 통해  object instance들의 heatmap을 구한다. 둘째로 특화된 헤드들을 이용해서 검출된 객체 중심에 대해 객체 중심 3D parameter map으로 표시되는 shape,pose,size를 예측한다. 마지막으로 2d heatmap과 객체 중심 3D parameter map이 single-forward 과정으로 수행 하여 pose,shape,size를 에측하기위해 공동으로 최적화 시켰다고 한다. 피쳐 피라미드를 사용함으로써 multi scale에 강력하도록 하려고 만든것이 핵심이다. 훈련과정에서는 heatmap을 만들어내기 위해서 MSE LOSS를 사용했다고한다.  

object-centric 3D parameter map(O3d)는 shape latent code 그리고 6D pose와 scale 두 파트로 구성된다.  shape latent code에는 각 객체에 대한 포인트 클라우드에 대한 정보가 저장된다. 13-D 벡터로 표현되는 O3d에는 ground-truth Pose로 표현되는 3x3 rotation 행렬과 translation  그리고 1D scale 정보가 들어있다. 각 object의 shape 코드를 학습하기 위해  CAD 모델 데이터셋 에서 모든 3D 모양에 대해 훈련된 자동 인코더를 설계하였다. 구체적으로 Point-Net 인코더를 활용하는인코더 디코더를 설계하였으며 3개의 fully-connected layer로 구성된 디코더는 인코딩된 저차원 특징 벡터 즉 latent

shape code를 가져와 입력 포인트 클라우드를 재구성한다. auto-encoder 를 훈련시키기 위해서 CAD 모델의 pointcloud 를 2048개의 점들로 샘플링하였다고 한다. 또한 훈련에 사용된 loss는 Chamfer-distance 라고 한다. 

 

객체 중심 heatmap을 생성하면 그 이후의 목효는 3D 공간상에서 object를 완전히 정의할 수 있는 O3d 를 구하고자 하는것이 CenterSnap model의 최종 목적이다. 훈련중에는 마스크된 Huber loss를 사용하여 예측된 객체 중심 03d를 공동으로 최적화 한다.이때 Huber loss는 모호성을 방지하기 위해 가우시한 히트맵(Y)가 0.3보다 큰점수를 찾은 경우에만 적용한다고 한다. 또한 target depth와 예측 depth 사이의 Huber loss를 최소화하기 위해 보조 Depth-loss 인 Ld를 사용한다. 

결합된 loss의 형태는 다음과 같다.

 

 

EXPERIMENTS & RESULTS

 

Training을 위해 NOCS CAMERA 데이터셋을 사용했다고 한다. 데이터셋과 관련한 내용은 지난번 포스팅을 하였기 때문에 자세한 내용은 지난 포스팅을 참고하면 된다. 6개의 카테고리 bottle,bowl,camera,can,laptop,mug 가 있으며 1085개의 서로 다른 Instance를 학습에 참여 하였다. 특히나 데이터 셋을 살펴보면 전체 데이터셋의 9할은 data generation을 통해 생성된 생성 데이터이며 10프로 정도만 실제 데이터셋으로 구성되어 있다. 결과 는 아래 사진과 같다.

 

 

투스테이지 방식의 최근 논문들에 비해 single-shot 접근을 했다는 것에 큰 의의가 있는것같고  640X480 해상도에서 무려 40 FPS의 성능을 낸다고 하니 실시간 객체 추론 및 트레킹에서 사용하기에도 좋을것 같다는 생각이 든다.