논문리뷰/Detection, Segmentation

[논문리뷰] Fast Segment Anything

402번째 거북이 2023. 6. 30. 17:08

페이스북에서 만든 Annotation 라이브러리

https://arxiv.org/pdf/2306.12156.pdf

Abstract: 기존 Transformer기반 SAM과 비교해서 빠른 속도 + 상응하는 성능

Transformer 기반 대신 CNN을 사용했다는 점이 가장 큰 특징

 

※ Segment Anything Task

어떤 prompt가 제공되더라도 (배경/forground point sets, rough boxes or masks, free-form text.. any information that indicates the content to be segmented within an image) 효과적인 segmentation mask를 생성하는 문제

 

😶기존 모델의 특성과 한계점

  • 기존 모델은 ViTs (Transformer) 기반으로 Segment (Segment Anything Model)
  • 높은 precision, class-agnostic(class 정보 없이 물체 위치만 있는 상황) 조건에서 좋은 성능을 냄
  • computation recource 면에서 무거움 —> real-time application에 적절하지 않음

😶구조, 작동방식

two stage (basis stage와 task-oriented post processing stage)

 

✔AIS (All Instance Segmentation)

basis stage, CNN 기반의 All instance segmentation

이미지의 모든 instance에 대해서 segmentation mask를 생성

  • YOLOv8을 backbone으로 사용+Feature Pyramid Network (FPN)으로 feature extraction
  • output으로 detection branch와 segmentation branch을 내놓음
    • detection branch: category와 bounding box
    • segmentation branch: k개의 prototypes와 k개의 mask coefficient(-1~1 범위)
  • instance segmentation result는 mask coefficient 와 prototype을 multiply —> sum up하여 계산

✔PGS (Prompt-guided Selection)

task-oriented post processing stage

prompt에 따른 region-of interest를 output으로 내는 과정

다양한 prompt를 사용해 특정 object를 identify하는 과정

# Point prompt

AIS에서 얻은 mask와 selected point를 매칭

background/foreground point를 prompt로 사용

selecting multiple mask within the region of interst를 가능하게 함

# Box prompt

selected box와 AIS에서 얻은 mask들의 corresponding bounding box 간의 IoU 매칭

가장 높은 IoU를 가진 mask를 identify해 selecting the object of interest를 가능하게 하는 것이 목적

# Text prompt

CLIP모델 사용하여 text embedding을 extract

각각의 image embedding을 similariy metric 활용하여 mask의 intrinsic feature와 매칭

text embedding과 가장 유사도가 높은 mask 가 object of interest로서 select됨

⇒ 특정한 object of interest를 segmented image로부터 select하는 것이 가능하게 함

 


😶 성능 평가

Run-time Efficiency Evaluation

SAM 보다 running speed가 빠르고, prompt에 따라 속도가 달라지지 않음

Zero-shot edge detection

AIS 결과로부터 mask probability map을 선택하여 Sobel filtering하여 edge map 생성, 비교

더 적은 파라미터를 지니고 있음에도 불구하고 SAM에 상응하는 good edge map을 생성

BSDS500 데이터에 없는 클래스에 대해서도 edge가 생감 (zero shot)

Zero-shot Object Proposal Generation

(Detailed method를 이해하지 못함)

supervised learning 모델보다 AR이 클 때 성능이 높음

small-sized object에 대해서 segmentation mask가 fine-grained 되지 않음

Zero-shot Instance Segmentation

높은 AP를 얻는데 실패

Zero-shot Object Localization with Text Prompts

text prompt에 근거해서 segment 를 곧잘 했으나, text-to-mask segmentation 의 running speed는 빠르지 않음 (각 mask region이 CLIP feature extractor에 들어가야 하기 때문)

 


😶 Contribution

  • CNN 기반으로 computational demand를 줄이면서 기존 모델에 상응하는 성능 —> real-time inference 에 적합
  • Segment anything task에서 CNN detector를 사용한 최초 모델 —> High Level Vision Task 에서 CNN의 가능성을 열어줌

😶 예상되는 한계점

  • 기존의 end-to-end 모델과 비교했을 때 human prior(local connections of convolutions, receptive-field-relevant object assigning stragegies…)를 요함
  • 논문에서 언급한 한계점들 (mask generation performance가 SAM보다 좋지 못함 등..)