728x90
반응형

<Instance Segmentation 모델 리뷰>

 

Instances as Queries 모델을 이해하기 위해서는 이해해야할 모델이 참 많다 ㅎㅎ..

 

0. Mask R-CNN 요약

첫 번째 단계는 Region Proposal (물체의 위치를 찾는 일)
두 번째 단계는 Region Classification (물체를 분류하는 일)

  • Feature Extraction (feature map 생성)
  • Region Proposal Network (Region Proposal - 카테고리와 무관하게 물체의 영역을 찾는 모듈)
    1. Feature Maps 위에 n*n spartial window를 슬라이드
    2. sliding-window가 찍은 지점마다 여러 Region Proposal(Anchor) 예측 (k개)
      • Bounding Box의 후보로 사용되는 상자
    3. Classification : 모든 anchor마다 foreground, background 분류 (물체가 있나 없나)
      • Anchor가 ground truth box와 IoU가 가장 크고 0.7 이상이면 foreground, 적으면 background
    4. Bounding box regression
  • Region of Interest Pooling
    • RPN을 지나면 서로 다른 크기의 proposed region이 나온다. 서로 다른 크기의 region을 동일한 크기로 맞추기 위해 RoI Pooling을 사용
  • NMS(Non-Maximum Suppression)를 거치고, RoI Sampling을 통해 최종 RoI를 결정
    • proposals의 갯수를 줄이도록 한다.
    •  NMS를 간단히 설명하면 먼저 IoU값으로 proposals을 모두 정렬시켜 놓고, RoI점수가 가장 높은 proposal과 다른 proposals에 대해서 overlapping을 비교한 뒤, overlapping이 높은 것은 특정 threshold이상 이면 지워버리는 과정을 반복한다.

 

1. Sparse R-CNN 요약

  • End-to-End Object Detection : output (final predictions)은 NMS 후처리가 필요 없음
  • 생성된 feature map에서 k개의  Region Proposal(Anchor) 예측에서 HWk (수십만)개의 anchor (Bounding Box의 후보로 사용되는 상자)를 N(100)개로 축소 
  • RPN => Learnable proposal box (고정된 개수(대략 100개) 물체의 영역을 찾음) 로 변경
    • proposal boxes
    • proposal features
  • Dynamic instance interactive head (6 steps)
    • RoIAlign -> box feature extraction -> next step의 proposal boxes와 proposal features로 들어감
    • Final prediction generation

 

Faster R-CNN vs. Sparse R-CNN

 

Dynamic instance interactive head (6 steps)

 

 

2. DETR (End-to-End Object Detection with Transformers) 요약

  • CNN으로 feature map 생성
  • positional encoding (상대적 위치정보 / sequential 한 output)
  • 트랜스포머 인코더
    • 이미지의 특징 정보를 포함하고 있는 각 픽셀 위치 데이터 입력받음
  • 디코더
    • input으로는 N개의 object query가 들어감 (점점 학습)
    • 인코딩된 정보 활용
    • 각 object query는 이미지 내에 서로 다른 고유한 인스턴스를 구별 (n개의 서로 다른 instance)
    • Global attention : 이미지의 말단 부분의 attention score 값이 높게 형성 : 인스턴스 클래스와 경계선 추출 
  • NMS나 앵커를 생성하는 과정을 효과적으로 제거
  • 모든 object를 한번에 예측

DETR

 

 

3. QueryInst (Instances as Queries)

  • 위의 두 모델 짬뽕?
  • Query based end-to-end instance segmentation
  • 1. Query based Object Detector
    • 6 query stage
    • Stage t 에서 Pbox (pooling 연산자)가 이전 stage의 bbox 예측값 & FPN feature를 사용해 현재 stage의 bbox feature를 추출 
    • Multi-head self-attention module 이 input query 받아서 transformed query 출력
    • Box dynamic convolution module이 위 두개의 input 받아서 bbox feature 업데이트하고 다음 stage에 bbox 예측값으로 들어감
  • 2. Dynamic Mask Head]

 

 

 

참고 :

Sparse R-CNN https://junha1125.github.io/blog/artificial-intelligence/2021-04-27-Sparse-R-CNN/

Mask R-CNN https://mylifemystudy.tistory.com/82

DETR

https://yskim0.github.io/paper%20review/2020/11/17/DETR/

https://powerofsummary.tistory.com/205

https://youtu.be/hCWUTvVrG7E

728x90
반응형