반응형

Segment Anything 요약

Facebook에서 2023년에 야심차게 만든 초거대 Segment AI 모델

Language Model은 웹 크롤링으로 수많은 데이터를 긁어올 수 있지만, 이미지는 그러할 수 없었음. 이러한 한계를 극복하고자, Facebook에서 오픈된 Segement 데이터 셋을 활용하여 초거대 데이터 셋을 구축하고 모델을 학습하여 이미지용 Segment Anything 모델을 만듦

PromptMask로 줄 수 도 있으며, 점으로 줄수도 있으며, Text로도 줄 수 있음, Text로 주는 모델은 성능이 좋지 않아 공개하지는 않았으며, 최근 Grounded SAM이라고 하는 모델이 Text 기반 Segmnetation 이 잘 됨을 보여주고 있음

 

2. Segment Anything 내용

2.1 Task

, Mask, Text를 입력으로 받아 Segmentation 되도록 설계함

 

2.2 Model

실시간성 : Image Encoding에서 만든 EmbeddingPrompt Encoder에서 만든 EmbeddingLifgt Mask Decoder에서 결합하여 예측 수행

Image Encoding : Vision Transform 모델 사용함

3개의 Mask에는 각 Confidence Score와 같이 출력됨

Dense Prompt(Mask)일 경우 Convolution을 거치고 Element wise를 수행

sparse Prompt(, Text) 일 경우, Prompt Encoder를 통해 Mask Decoder로 들어감

 

2.3 Dataset

Assisted Manual Stage 6, Semi AUtomatic Stage 5, Fully Automatic Stage1.1 billion mask를 획득 함

 

2.3.1 Assisted Manual Stage

- 공개된 Segmentation dataset으로 SAM을 초기학습

- SAM에서 나온 Segmentation 데이터에 추가로 Annotate를 하여 6회 재학습

- 120 k 이미지에서 5.8M Mask 취득

 

2.3.2 Semi Automatic Stage

- SAM 출력 값 외의 ObjectAnnoate 5회 추가

- 180 k 이미지에서 5.9 Mask 취득

 

2.3.3. Fully Automatic Stage

2단계에서 나온 SAM Model 32x32 Grid Point를 입력하여 mask 취득

IoU가 높은 것에 Mask 남김

중복된 MASK를 제거

11M 이미지에서 1.1B Mask취득

 

 

SAM 논문리뷰.pptx
10.71MB

 

 

3. 용어

 

3.1 Embedding이란?

단어의 의미를 벡터로 표현하는 것을 의미함

단어간의 관계를 파악하기에 유용함

 

3.2 앙상블이란?

딥러닝 모델을 결합하여 성능을 개선시키는 것

과적합 방지하고, 예측 성능 향상시킴

보팅, 배깅, 부스팅, 스태킹 기법이 존재함

보팅 : 가장 성능이 좋은 것을 투표하여 사용

배깅 : 동일한 모델을 동시에 학습 후, 평균 등을 내어 예측 값으로 사용함

부스팅 : 각 모델의 예측 값을 순차적으로 활용

스태킹 : 각 모델을 독립적으로 학습 후 결합하여 새로운 모델 만들기

 

3.3 과적합(Overfitting)이란?

데이터에 너무 과하게 학습되어 새로운 데이터의 예측 성능이 떨어지는 것

과적합 방지를 위해, L1규제, L2규제, 드롭아웃 등의 기법을 사용함

 

3.4 UnderFitting이란?

모델이 데이터 셋을 충분히 학습하지 않아 적합하지 않은 것

데이터 양을 늘리거나, 모델 복잡도를 늘리거나, 규제를 사용하면 해결할 수 있음

 

3.5 Foundation Model

zero shot 성능이 좋은 초거대 모델

 

3.6 zero shot

1 shotTransfer Learning을 한번 한 것을 의미함

zero shot은 한번도 학습하지 않았지만 성능이 일반화를 잘 하는 것을 의미함

 

3.8 LLM

- Large Language Model : 언어 관련 초거대 모델을 의미하며 LLM이라고 줄여서 부르며, Zero shot, few shot에도 높은 Generation 성능을 보이는 모델임

 

3.9 shot

- SHOT : zero shot : 학습 x, one shot : 파인튜닝 1, few shot : 파인튜닝 조금

 

3.10 Down Stream Task

프리 트레인된 모델을 활용하여 원하는 테스크로 파인튜닝 하는 것

 

 

3.11 Promptable Segmentation Task

이미지와 함께 입력 Prompt가 주어졌을 때 segmentation을 출력으로 보냄

 

3.12 Prompt

이미지 분할할 대상을 지정하는 것으로 point, points, bounding box, mask 등이 있음

 

 

 

4. 출처

[1]. Segment Anything 사이트, https://segment-anything.com/

[2]. Segmen Anything git, https://github.com/facebookresearch/segment-anything

 

 
반응형

+ Recent posts