사물 각각의 Bounding Box (Bbox) 위치와 Category를 예측하는 task.
![[kernel academy - CV Basic]](attachment:7fbba617-708d-40c0-bb38-f6dcd2262909:image.png)
[kernel academy - CV Basic]
일반적으로 마지막 FC-Layer를 통해 bbox의 좌상단, 우하단 좌표를 출력한다.
![[kernel academy - CV Basic]](attachment:04e47d01-12e2-4468-873f-422c0c37e385:image.png)
[kernel academy - CV Basic]
![[kernel academy - CV Basic]](attachment:15b7fcb9-ca62-4b91-a9f7-6d42b7187023:image.png)
[kernel academy - CV Basic]
![[kernel academy - CV Basic]](attachment:c2b10d20-07ea-4419-be42-14ca50a23845:image.png)
[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]](attachment:e1c4778b-adf1-43b2-8494-21b47dcd1910:image.png)
[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]](attachment:accf5c4b-292c-466c-b17e-6a0a95c8f84a:image.png)
[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]](attachment:ce02f54d-cff0-4c16-a6b1-fece0bc9a1cb:%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7_2025-06-25_145737.png)
[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]](attachment:dea83c82-969c-4f2f-bbbc-2b51eeffc9f4:image.png)
[class probability map]
c 개의 확률값 출력→ 논문에서는 20개의 class를 예측하므로 총 20개의 출력값이 나온다.
⇒ 7x7x30에서 30의 구성 = p_bbox1, coord_bbox1, p_bbox2, coord_bbox2, class별 확률값
Output 후처리