사물 각각의 Bounding Box (Bbox) 위치와 Category를 예측하는 task.
[kernel academy - CV Basic]
일반적으로 마지막 FC-Layer를 통해 bbox의 좌상단, 우하단 좌표를 출력한다.
[kernel academy - CV Basic]
[kernel academy - CV Basic]
[kernel academy - CV Basic]
Region Proposals : R-CNN과 동일하게 Selective Search로 2000개의 RoI들을 추출
Feature Extraction : 원본 Input 이미지를 Backbone 모델에 입력하여 Feature Map 추출
RoI Projection : SPP-Net에서 나온 개념으로, RoI를 Feature Map에 projection하여 딱 그부분의 feature map만 사용한다.
RoI Pooling : 다양한 scale의 RoI가 존재하기 때문에 SPP-Layer를 통해 pooling하여 출력 크기를 고정한다. 이때, SPP-Net과 달리 single-level (single-bin) spatial pyramid max pooling을 진행한다.
Output
NIPS 2015에 출판된 논문으로, R-CNN과 Fast R-CNN 모델에 비해 속도와 성능 면에서 큰 개선을 이룸
Region Proposals에서 RPN(Region Proposal Network)를 통해 GPU를 사용함으로써 속도와 성능 향상
[kernel academy - CV Basic]
Backbone 모델을 통해 원본 Input image에 대해 Feature map을 추출한다.
RPN 모듈을 통해 물체가 있을 확률이 높은 RoI 들을 추출한다.
⇒ GPU 연산을 통해 region proposal을 하기 때문에 CPU기반 selective search보다 빠르다.
RoI Projection + RoI Pooling : Fast R-CNN과 동일하게 projection 후, single-level spatial pyramid max pooling을 진행한다.
Output
[kernel academy - CV Basic]
Input image를 SxS
grid로 분할 (논문에선 7x7)
Input image를 Backbone에 통과시켜 Feature map 생성.
YOLO v.1 는 의도적으로 7x7 grid에 맞게 Feature map도 7x7x1024 shape이 나오도록 설계됨. → feature map 한 칸이 grid cell 하나에 대응됨.
[YOLO v.1 Architecture]
Output shape : 7x7x30
각 grid cell마다 b
개의 Bbox와 Confidence를 예측
→ 총 5b
만큼의 예측값 출력
→ 논문에서는 cell마다 2개의 bbox를 최종 출력하도록 구현하였으므로 총 10개의 출력값이 나온다. $\lbrace p_{c1},b_{x1},b_{y1},b_{h1},b_{w1}, p_{c2},b_{x2},b_{y2},b_{h2},b_{w2} \rbrace$
각 grid cell마다 어떤 class가 있는지를 조건부확률 $P(C_i|\text{object})$ 로 예측
[class probability map]
c
개의 확률값 출력→ 논문에서는 20개의 class를 예측하므로 총 20개의 출력값이 나온다.
⇒ 7x7x30에서 30의 구성 = p_bbox1, coord_bbox1, p_bbox2, coord_bbox2, class별 확률값
Output 후처리
C
)가 낮은 bbox는 제거