EEYatHo 앱 깎는 이야기

YOLO 논문(2016/5) 중요부분 정리 본문

Vision

YOLO 논문(2016/5) 중요부분 정리

EEYatHo 2025. 8. 25. 13:33

2016/05/9에 작성된 YOLO 논문 중요부분 정리

 

1. YOLO 개요, 특징


  • YOLO(You Only Look Once)는 실시간 객체 검출을 위한 새로운 방법 (지금은 평범한 방법)
    • 기존 방법들은 분류기(classifier)를 재활용하여 검출하는 방식을 사용했으나, YOLO는 객체 검출을 회귀(regression) 문제로 바라봄
  • 전체 이미지를 한 번에 평가하여 여러 객체의 위치와 종류를 동시에 예측
    • 단일 신경망이 이미지를 입력받아 여러 개의 바운딩 박스와 클래스 확률을 동시에 예측
    • 이 방식은 매우 빠르며, 실시간 영상 처리에 적합
  • 훈련 및 테스트 시 전체 이미지를 보기 때문에 클래스의 외형뿐만 아니라 맥락 정보를 암묵적으로 인코딩
    • 배경에 대한 오탐률이 낮고, 작은 객체 검출에 강점
    • 그러나 위치 정밀도는 다소 떨어질 수 있음 (옛날 말..)

 

 

2. YOLO 작동 원리, 구조


  • 입력 이미지 처리: 이미지를 특정 크기로 리사이징
  • 그리드 셀 방식: 입력 이미지를 S×S개의 격자로 나누고, 셀이 B개의 객체 검출 시도
  • 객체 책임 할당: 객체의 중심이 특정 그리드 셀에 속하면, 해당 그리드 셀이 그 객체를 탐지할 책임

 

  • 바운딩 박스 및 신뢰도 예측:
    1. 각 그리드 셀은 고정적으로 B개의 [바운딩 박스신뢰도 점수]를 예측
    2. 바운딩 박스는 중심 좌표(x,y), 너비(w), 높이(h)를 예측. (이미지 넓이 높이에 따라 정규화된 값)
    3. 신뢰도 점수는 박스의 객체 존재 확률, 박스 좌표 정확도를 반영
      1. 신뢰도 공식은 Pr(Object) * IOU_truth_pred (객체가 박스에 있을 확률 * 예측 박스와 정답 박스간의 IOU)
      2. Pr(Object) : 이 박스가 객체를 포함하고 있는지 여부
        • 학습 시:
          • 정답 박스가 해당 그리드 셀 안에 있으면 Pr(Object) = 1
          • 없으면 Pr(Object) = 0
        • 테스트 시:
          • 모델이 예측한 그 박스에 객체가 있을 확률을 의미
          • softmax/로지스틱 출력을 통해 0~1 사이 값
      3. IOU_truth_pred : 예측 박스와 정답 박스간의 IOU
        • IOU(Intersection Over Union): 두 박스의 교집합 넓이 / 합집합 넓이
      4. confidence 점수 하나로 “객체 존재 + 위치 정확도”를 동시에 나타냄
        • 객체가 없으면 confidence = 0
        • 객체가 있지만 위치가 틀리면 confidence 낮음
        • 객체가 있고 위치 정확하면 confidence 높음
        • 최종 목적: 객체가 있으면 신뢰도 점수는 예측된 박스와 실제박스 간의 IOU와 같도록.

 

  • 클래스 확률:
    1. 각 셀은 조건부로 클래스 확률을 계산
      1. 자신이 예측한 박스에 객체가 포함되어있다고 판단할 경우에만, 특정 클래스에 속할 확률을 예측
      2. 박스가 아닌 각 셀이 계산
      3. 박스 갯수 B와 관계없이,그리드 셀당 하나의 클래스 확률 세트만 예측

 

  • 최종 예측:
    • 클래스 확률과, 개별 박스 신뢰도 예측을 곱하여 각 박스에 대한 클래스별 신뢰도 점수를 얻음
      1. 이 점수는 해당 클래스가 박스에 나타날 확률과 예측된 박스가 객체에 얼마나 잘 맞는지 모두 인코딩
    • YOLO는 탐지를 회귀 문제로 모델링하였으며, 이미지를 S x S 그리드로 나누고, 각 그리드 셀에 대해 B개의 바운딩 박스, 해당 박스의 신뢰도 C, 클래스 확률을 예측
      이러한 예측은 S x S x (B * 5 + C) 텐서로 인코딩 됨.
    • 예:
      • S=7 (7×7 그리드)
      • B=2 (박스 2개)
      • C=20 (클래스 20개, PASCAL VOC 기준)
      • 출력 텐서 크기: 7×7×(2⋅5+20)
       

 

 

3. 나머지는 딱히 중요하지 않음


장점과 성능, pt모델의 사전학습 방법 등..

 

 

최신 모델의 백본, 넥, 헤드 내용을 분석해서 다른 글에 정리

Comments