새소식

반응형
Vision AI/Paper review

[논문 읽기] RegionCLIP: Region-based Language-Image Pretraining

  • -
반응형

https://github.com/microsoft/RegionCLIP

 

GitHub - microsoft/RegionCLIP: [CVPR 2022] Official code for "RegionCLIP: Region-based Language-Image Pretraining"

[CVPR 2022] Official code for "RegionCLIP: Region-based Language-Image Pretraining" - GitHub - microsoft/RegionCLIP: [CVPR 2022] Official code for "RegionCLIP: Region-based Language-...

github.com

 

 

CLIP 논문을 읽고 CLIP backbone을 이용한 object detection downstream task는 없을까 싶어 읽어본 논문입니다. 

Image-text 유사도를 학습하는 CLIP과는 달리 RegionCLIP은 region-text 데이터의 유사도를 학습하기 때문에 region-text 데이터를 어떻게 얻고 학습하는지의 과정을 보여줍니다. COCO와 LVIS 데이터셋을 벤치마크 데이터셋으로 사용했습니다.


 

RegionCLIP의 목표 : 이미지 region을 인코딩하고 언어 encoder에 의해 인코딩된 region description과 align시킬 수 있도록 visual encoder를 훈련하는 것

 

abstract

Image-text 쌍을 사용한 CLIP은 전이학습과 zero-shot 둘 다에서 image classification의 인상적인 결과를 얻었다. 그러나, object detection을 위해 이미지 영역을 인식하는 몇몇 모델을 직접적으로 적용하면 domain shift 때문에 성능이 좋지 않다는 것을 볼 수 있다 : CLIP은 텍스트 설명의 전체로 이미지를 매치하도록 훈련되었고, 이미지 영역과 텍스트 정렬의 세밀한 정렬을 잡지 못했다. 이 이슈를 해결하기 위해, 우리는 RegionCLIP 이라고 하는 새로운 방법을 제안한다. RegionCLIP은 CLIP을 크게 확장하여 region-level의 시각적 표현을 학습하여, text 개념과 이미지 영역 사이의 세밀한 정렬이 가능하다. 우리의 방법은 CLIP 모델을 템플릿 개념으로 이미지 영역과 매칭하고, 사전학습된 우리 모델을 feature space에서 region-text 쌍의 정렬을 맞추는 것이다. 우리 사전학습모델을 open-vocabulary object detection task에 전이학습할 때, 우리 방법은 COCO와 LVIS 데이터셋에서 SOTA 성능을 보였다.

 

 

그림의 CLIP-guided region-text alignment 방법을 설명하면

  • Object 개념을 담은 concept pool을 구성
  • 프롬프트에 concept를 채워서 영역을 설명하는 것을 생성
  • CLIP의 visual encoder (Vt)를 활용, 텍스트 설명을 이미지 영역 localizer와 align 시킴.

좀 더 자세히 말하자면,

  1. Localizer는 RPN 같은 기존의 네트워크를 사용하며, RoIAlign 기법을 사용했다.
  2. 여기에서 visual encoder는 CLIP의 encoder를 이용해서 더 영역을 잘 뽑을 수 있게 한다.
  3. Localizer (CLIP+RoIAlign)로 뽑은 region과 language embedding의 matching score를 계산하여, 가장 높은 matching score를 가진 region과 language를 연결한다. (pseudo labeling)

region-text 데이터가 준비되면 Pre-training을 진행한다.

  1. Loss = contrastive loss (region) + distillation loss + contrastive loss (CLIP)
  2. Contrastive loss (region)은 앞에서 준비한 region-text 데이터로 학습한다.
  3. Distillation loss는 각 region에 대한 CLIP 모델의 knowledge를 물려주기 위한 loss이다.
  4. Contrastive loss (CLIP)은 CLIP 모델을 학습할 때의 loss와 같은데, 논문에서는 contrastive loss (region)가 자연스럽게 contrastive loss (CLIP)으로 확장이 된다고 한다. 정확하게 아직 이해하지 못함.

그 후에 open-vocabulary object detection을 학습한다.

  1. Pretraining
    1. Teacher model, student model 둘 다 ResNet50 모델 사용
    2. LVIS 데이터셋의 category로 학습
    3. COCO Caption, CC3M dataset으로 학습
    4. SGD, LR 0.002, Batch size 96, iteration 60000으로 학습
    5. 이미지별 100개의 영역을 학습
  2. Transfer learning of object detection
    1. ResNet50-C4 아키텍처와 Faster RCNN을 사용
    2. SGD, initial LR 0.002, 1x schedule, Batch size 16으로 학습
    3. COCO/LVIS의 가중치는 0.2/0.8
    4. Focal scaling 감마값은 0.5
    5. NMS threshold 0.9
    6. Temperature 0.01

 

맨 밑줄의 결과는 COCO dataset에서 아직 publish 되지않은 ViLD보다도 성능이 뛰어나다는 것을 보여준다.

 

 

LVIS 데이터셋에서 또한 ViLD 방법보다 성능이 뛰어나고, Fully supervised Mask RCNN 보다도 성능이 뛰어나다.

COCO, LVIS 에서 RegionCLIP의 학습방법은 기본적인 augmentation, 1x schedule을 사용하였음에도 image region-object concept의 alignment를 더 잘 학습했다고 할 수 있다.

 

 

Fully supervised object detection에서 RegionCLIP 방법이 1x schedule을 사용함에도 pretrained imagenet과 CLIP보다 빠르게 수렴하고 COCO, LVIS dataset에서 더 좋은 결과를 보여준다.

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감과 광고 클릭 부탁드립니다~