본문 바로가기
AI Paper Review

[논문 리뷰] Computer Vision - YOLO(You Only Look Once:Unified, Real-Time Object Detection)

by coding-choonsik 2023. 9. 7.
728x90
반응형
SMALL

📃 논문 https://arxiv.org/pdf/1506.02640.pdf

 

  • 2-stage detector는 localization과 classification을 수행하는 network 혹은 컴포넌트가 분리되어 있음(ex. Fast R-CNN)
    • 각 task가 순차적으로 진행되는 것을 의미하며, 이러한 과정에서 병목현상이 발생하여 detection 속도가 느림
  • 1-stage detector는 하나의 통합된 네트워크가 두 task를 동시에 진행
  • YOLO v1은 대표적인 1-stage detector로, FPS를 개선하여 real-time에 가까운 detection 속도를 보임(실시간에 적용하기 유리)

 

Preview

 

  • YOLO v1은 localization과 classification을 하나의 문제로 정의하여 network가 동시에 두 task를 수행하도록 설계
  • 이미지를 지정한 grid로 나누고, 각 grid cell이 한번에 bounding box와 class 정보라는 2가지 정답을 도출
  • 각 grid cell에서 얻은 정보를 feature map이 잘 encode할 수 있도록 독자적인 Convolutional Network인 DarkNet을 도입

Main Ideas

1. 1-stage detector

  • 별도의 region proposals를 사용하지 않고 전체 이미지를 입력하여 사용
  • 전체 이미지를 SxS 크기의 grid로 나눔
  • 객체의 중심이 특정 grid cell에 위치한다면, 해당 grid cell은 그 객체를 detect하도록 할당(responsible for)함
    • 위의 그림을 보면 4행 3열의 grid cell이 왼쪽의 개를 예측하도록 할당되었고, 4행 4열의 grid cell이 오른쪽의 개를 예측하도록 할당됨
    • 나머지 grid cell은 객체를 예측하는데 참여할 수 없음을 의미
  • 각각의 grid cell은 B개의 bounding box와 해당 bounding box에 대한 confidence score를 예측
    • confidence score는 해당 bounding box에 객체가 포함되어 있는지 여부와, box가 얼마나 정확하게 ground truth box를 예측했는지를 반영하는 수치
    • grid cell 내에 객체가 존재한다면 confidence score는 IoU 값과 같아짐(grid cell 내 객체가 존재하지 않으면 confidence scroe은 0)
     

  • 각각의 bounding box는 box의 좌표 정보(x, y, w, h)와 confidence score라는 5개의 예측값을 도출

  • 하나의 bounding box는 하나의 객체만을 예측하며, 하나의 grid cell은 하나의 bounding box를 학습에 사용
  • 논문에서는 S=7, B=2, C=20 설정(PASCAL VOC 데이터셋을 사용하여 학습하였기에 class의 수가 20개) → 이미지별 예측값의 크기는 7x7x(2x5+20)

 

2. Darknet

  • DarkNet은 ImageNet 데이터셋을 통해 학습시킴
  • 학습 결과 GoogLeNet 모델과 비슷한 top-5 88% 정도의 정확도를 보임
  • 모델이 detection task를 수행할 수 있도록 4개의 conv layer와 2개의 fc layer를 추가
  • classification task를 위해 학습시켰을 때는 224x224 크기의 이미지를 사용한 반면, detection task를 위한 학습 시에는 이미지의 크기를 키워 448x448 크기의 이미지를 사용

 

3. Loss Function

  • 기존 R-CNN 계열의 모델이 classification, localization task에 맞게 서로 다른 loss function을 사용했던 것과 달리 YOLO v1 모델은 regression 시 주로 사용되는 **SSE(Sum of Squared Error)**를 사용
  • Localization loss, Confidence loss, Classification loss의 합으로 구성

localization loss
Confidence Loss

 

Classification Loss


Training YOLO v1

  • DarkNet에 이미지를 입력하여 7x7x30 크기의 feature map을 얻어 loss function을 통해 학습

Detection

  • detection 시에는 최종 예측 결과에 Non Maximum Suppression 알고리즘을 적용 → mAP 값이 2~3% 정도의 향상

  • Fast R-CNN 보다 mAP는 6.6% 낮지만, FPS가 월등히 높음(속도 향상)
  • Fast RCNN 보다 Background Error는 감소
    • false positive(배경에 물체가 없는데 있다고 하는 에러)를 감소
  • Fast RCNN + YOLO: mAP를 3.2% 향상

 

728x90
반응형
LIST