SAM

sherry·2024년 3월 13일
0

MAE

=> Encoder에서 mask시킨다음 decoder에서 reconstruct하는 학습을 진행시키고 나서 Encoder를 떼서 classification task를 했는데 성능이 향상되었다.

(BERT와 유사한 점)

Introduction

NLP에서 pretrain이 가능해져, zero-shot과 few-shot 일반화에 강해진 foundation model처럼 image segmentaion 분야에서도 foundation model을 만들어보자!
여기서 중요한 세가지
1. 어떤 task가 zero-shot 일반화가 가능하게 할 것인지
2. model 아키텍쳐
3. 어떤 data로 이러한 task와 model의 학습이 가능할지

여기서 task는 flexible prompt를 받아서 segmentaion maks를 output으로 내는 것
data는 모델과 수집된 데이터를 번갈아가면서 사용

이때 받는 prompt는 object에 대한 이미지나 텍스트 정보

Model (SAM)

  • image encoder

  • prompt encoder

  • mask decoder

    Data engine

  • assisted-manual :annotator가 masks하고 SAM이 assist

  • semi-automatic: SAM이 generate mask하고 anotator들이 나머지 mask 추가

  • fully automatic: SAM한데 grid주고 이미지당 100개의 mask 추출

    Segment Anything Task

    NLP에서는 next token prediction task로 pretrain한 foundation모델이 downstream task에서 프롬프트 엔지니어링을 통해 잘 적용될 수 있다.
    Segmentaion을 위한 foundation 모델을 만들기 위해서도 다음과 같은 것들이 정의되어야 한다.

    Task
    promptable segmentation task
    any prompt를 받았을 때, valid한 segmentation mask를 반환하는 것

Pre-training
prompt가 모호할 때도 valid mask를 예상할 수 있도록 promptable segmentaion task로 pre train

Zero-shot transfer
위의 pre-train 방식은 모델이 어떠한 prompt에도 적절히 반응할 수 있도록 해준다. (Ex. 고양이 bounding box detector가 있을때 해당 output을 prompt로 준다면 instance segmentation까지도 가능하다)

profile
Es muss sein!

0개의 댓글