Segment Anything 요약
Facebook에서 2023년에 야심차게 만든 초거대 Segment AI 모델
Language Model은 웹 크롤링으로 수많은 데이터를 긁어올 수 있지만, 이미지는 그러할 수 없었음. 이러한 한계를 극복하고자, Facebook에서 오픈된 Segement 데이터 셋을 활용하여 초거대 데이터 셋을 구축하고 모델을 학습하여 이미지용 Segment Anything 모델을 만듦
Prompt를 Mask로 줄 수 도 있으며, 점으로 줄수도 있으며, Text로도 줄 수 있음, Text로 주는 모델은 성능이 좋지 않아 공개하지는 않았으며, 최근 Grounded SAM이라고 하는 모델이 Text 기반 Segmnetation 이 잘 됨을 보여주고 있음
2. Segment Anything 내용
2.1 Task
점, Mask, Text를 입력으로 받아 Segmentation 되도록 설계함
2.2 Model
실시간성 : Image Encoding에서 만든 Embedding과 Prompt Encoder에서 만든 Embedding을 Lifgt 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 Stage로 1.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 출력 값 외의 Object에 Annoate 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취득
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 shot은 Transfer 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
'AI (Artificial Intelligence) > 논문 리뷰' 카테고리의 다른 글
[논문 리뷰] Grounding DINO 논문 리뷰 (0) | 2023.08.13 |
---|---|
[논문 리뷰] KIDNEY RECOGNITION IN CT USING YOLOV3 (0) | 2022.01.09 |
[AI 논문 번역 및 리뷰] (2) -Abstract YOLO, 욜로, You Only Look Once: Unified, Real-Time Object Detection (0) | 2021.10.20 |
[AI 논문 번역 및 리뷰] (1) YOLO, 욜로, You Only Look Once: Unified, Real-Time Object Detection (0) | 2021.10.17 |
[과적합을 줄이는 방법3] CNN Batch Normalization (0) | 2021.02.25 |