Segment Anything (arxiv 2023)

카테고리 없음 2023. 9. 30. 23:30 Posted by 3neutronstar

안녕하세요, KDST 팀 강민수입니다.

 

오늘 소개해드릴 논문은 "Segment Anything," 이고 Meta AI에서 공개한 논문입니다.

 

Segment anything은 모델과 데이터셋을 제안한 논문으로 foundation 모델을 지향하는 논문입니다.

NLP에서는 prompt engineering으로 이를 달성할 수 있었고, web-scale dataset이 있었기에 가능했습니다. 하지만, vision field에서는 이것이 매우 어렵습니다. CLIP이나 ALIGN도 language-vision model을 통해서 비슷하게 가능하게 했지만, foundation모델로 인정받지 못하는 것이 그것입니다.

 

본 논문의 목표는 segmentation task에서 foundation model을 만드는 것으로 3가지 방향으로 이를 가능하게 해보고 싶은 것입니다. 이를 위해서 3가지 의문점을 던집니다.

1. zero-shot generalization이 가능하게 되는 task는 어떤 것인가?

2. model architecture는 어떤 것을 선택해야하는가?

3. 어떤 데이터로 해당 task와 model을 학습시킬 것인가?

 

각 요소별로 살펴보면 첫번째는 promptable model을 생각해보아야 하고, architecture를 학습시키기 위해 broad dataset이 필요해집니다.

 

본 논문에서는 크게 4가지 task를 제안합니다.

1. 포인터 (이미지 내의 점을 찍는 prompt)

2. bounding box (detection의 bounding box)

3. region (ppt 그물)

4. text

 

모델을 구성하기 위해서 논문에서는 2가지를 고려했다고 합니다. Real-time과 ambiguity aware인데, real-time은 prompt encoder를 경량화해서 활용하고, web에서도 빠르게 돌 수 있는 모델을 제안했다고 합니다. 일단 이미지의 embedding만 되면 50ms 이내로 경량화해서 prediction에 활용할 수 있다고 합니다.

 

ambiguity aware는 각 prompt가 1개의 답만을 고르지 않게 하는 것을 말합니다. 아래 예시 이미지를 보시면 가방에 prompt를 찍었다고 해서 가방 사람, 지퍼 등 어떤 group으로 하느냐에 따라 prediction이 다를 수 있습니다. 해당 논문에서는 이를 한 개의 답안으로만이 아닌 여러 개의 답안이 나올 수 있도록 학습해야함을 의미합니다.

 

마지막으로는 이러한 architecture 를 학습할 수 있게 만드는 데이터를 어떻게 수집할 것인가에 대한 부분입니다. Real world에는 dataset이 부족하기 때문에 이를 효과적으로 늘릴 수 있는 engine을 제안합니다. 크게 3가지 stage로 구성되며, stage를 거듭할수록 사람이 annotation을 해줄 필요성이 적어집니다.

이를 통해서 지금까지는 없었던 dataset size를 만들 수 있었고, 이를 통해서 SAM을 최종적으로 학습시키게 됩니다.

위 이미지 처럼, 더 나은 annotation을 만들어 내기도 하고, 아래 이미지처럼 데이터셋에 대한 정보를 공개하기도 하니 자세한 내용은 원문을 참조해주시기 바랍니다. 감사합니다.