논문

[논문] YOLO (You Only Look Once) 리뷰

괜찮나요닝겐 2024. 8. 18. 17:00
728x90
반응형

논문 출처 : https://arxiv.org/abs/1506.02640

 

You Only Look Once: Unified, Real-Time Object Detection

We present YOLO, a new approach to object detection. Prior work on object detection repurposes classifiers to perform detection. Instead, we frame object detection as a regression problem to spatially separated bounding boxes and associated class probabili

arxiv.org

 

Object Detection은 One-Stage-Detection과 Two-Stage-Dection으로 나뉠 수 있는데, Two-Stage는 성능은 더 좋지만 속도가 느리고, One-Stage는 성능은 떨어지지만 속도가 빠른 장점이 있다. 오늘 우리가 알아볼 YOLO는 One-Stage-Detection이다. 

 

YOLO의 Detection 방식

  1. Input 이미지를 S x S 크기의 Grid로 나누고, 한 Grid Cell 안에 어떤 객체가 포함된다면, 항상 Grid Cell이 그 객체에 대해 탐지를 수행한다.
  2. 각 Grid Cell은 B개의 Bounding Box와 Confidence Score를 예측한다. 스코어는 object(exit:1, none:0) x IOU(Intersection over Union)으로 계산한다. 
  3. 각 Grid Cell은 N개 클레스에 대한 Conditional Class Probabilities를 계산하는데, 각 bbox안에 있는 객체가 어떤 클레스인지에 대한 조건부 확률이다. 

 

 

YOLO 모델 아키텍쳐

 

  1. Convolutional Layers:
    • YOLO 모델의 초기 단계는 24개의 Convolutional Layers로 구성된다. 이 레이어들은 이미지에서 중요한 특징(feature)을 추출하는 역할을 한다.
    • Convolutional Layers를 통해 이미지의 고수준 특징을 학습하고, 최종적으로 물체의 위치와 클래스 정보를 예측하는 데 필요한 특징 맵을 생성한다.
  2. Fully Connected Layers:
    • Convolutional Layers의 출력은 두 개의 Fully Connected Layers를 통과한다. 이 레이어들은 Convolutional Layers에서 추출된 특징을 바탕으로 물체의 위치와 클래스 확률을 예측한다.
    • Fully Connected Layers는 Convolutional Layers에서 생성된 7x7x1024 크기의 특징 맵을 평탄화(flatten)하고, 이를 바탕으로 물체의 바운딩 박스 좌표와 클래스 확률을 예측한다.
  3. 출력 Tensor:
    • YOLO 모델의 최종 출력은 7x7x30 크기의 텐서이다. 여기서 7x7은 이미지가 격자 셀로 나누어진 것을 의미하고, 30은 각 격자 셀에서 예측하는 정보의 수를 나타낸다.
    • 각 격자 셀에서 예측되는 정보는 다음과 같다:
      • 바운딩 박스 좌표: 4개의 값 (중심 x, 중심 y, 너비, 높이).
      • 물체 존재 확률: 1개의 값 (물체가 해당 셀에 존재할 확률).
      • 클래스 확률: 클래스 개수에 따라 결정되는 값 (예를 들어, 20개의 클래스가 있다면 20개의 값).

 

YOLO 모델의 성능

  • Fast YOLO : YOLO의 구조를 간단하게 만들어 처리 속도가 3배 이상 나오도록 만든 모델. mAP가 더 낮지만 real-time에 적합
  • YOLO: FPS가 45지만 mAP는 매우 높다 

 

YOLO 모델의 한계

  1. 작은 물체 인식의 어려움 : YOLO는 이미지의 격자 셀을 기반으로 물체를 예측하기 때문에 격자 크기와 해상도는 작은 물체를 정확하게 인식하는게 제한적일 수 있다. 

  2. 겹치는 물체 : 여러 물체가 서로 가까이 있거나 겹치는 경우, YOLO는 bbox를 구분하는 데 어려움을 겪을 수 있다. 특히 작은 격자 셀에 여러 물체가 포함될 수 있다. 
728x90
반응형