상세 컨텐츠

본문 제목

[2주차/ 이서연 / 논문리뷰] YOLOv1(You Only Look Once)

2023 Summer Session/CV Team 1

by 쏘니냐 2023. 7. 18. 02:47

본문

0. Background 

  • 용어정리
    • classification : 단순 이미지 분류
    • classification with localization : 이미지 내 object 위치를 알아내기
    • detection : localization을 통해 이미지에서 하나의 object가 아닌 여러 object를 인식하는 것

  • 1-stage Detector vs 2-stage Detector
    • 2-stage Detector : Localization과 Classification 두 가지를 순차적으로 수행하는 Detector이다. 이 과정을 통해 정확도는 올라가지만 시간이 오래 걸린다. 
      •  
    • 1-stage Detector :  classification과 localization문제를 동시에 해결하는 방법이다. 

2-stage Detector
1-stage Detector

                  


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

1. Summary 

 

1.1 Introduction

- YOLOv1은 Single Convolutional Network로 이미지를 입력 받아 여러 개의 bounding box와 각 box의 class를 예측다. 그리고 non-max suppression을 통해 최종 bounding box를 선정한다. 또한 entire image의 feature를 사용하고, bounding box를 동시에 예측한다. 입력에서 출력까지 파이프라인 네트워크 없이 신경망으로 한 번에 처리하는 end to end training을 거치는 것이 특징이다. 

 

1.2 Unified detection

1) input을 S x S grid로 분할한다.

2) 객체의 중심(x,y)가 grid cell에 맞으면 객체를 탐지했다고 표현한다. 

3) 각 grid cell에서 bounding boxes와 각 boxes의 confidence score를 구해낸다.

4) 각 grid cell마다 C개의 조건부 클래스 확률인 Pr(Class|Object)를 구한다. 

 

1.3 Network

-본 모델은 Googlenet에서 착안한 Darknet을 사용한다. 24개의 Convolutional Layer와 2개의 Fully Connected Layer, 그리고 GoogleNet에서 착안한 1x1 reduction layer, 그 후 3x3 Convolutional Layer를 이용하여 마지막 7x7x30의 출력값을 결과로 가져온다. fast version은 24개의 convolutional layer 대신 9개의 convolutional layer를 사용한다는 차이점을 가진다.

 

1.4 Training

- 위 모델을 ImageNet 데이터셋을 통해 학습을 진행하였다. 여기서 사용된 Loss function은 Sum-squared Error로 최적화가 쉽다는 장점을 가진다.

다만 1) localization error와 classification error에 동일하게 가중치를 준다는 점과 2) 객체를 포함하고 있지 않은 grid cell의 confidence는 0이 된다는 문제를 가진다. 따라서 아래의 파라미터를 사용해 bounding box coordinate prediction에는 5의 가중치를 주고, 배경인 경우(no object)에는 0.5의 가중치를 주어 loss를 낮추는 방식을 택하였다. 

- loss function:

 

1.5 Conclusion

YOLO는 실제 application에 적용할 수 있을 정도로 속도가 빠르게 만들어졌다. 다른 real-time detector에 비하면 굉장히 mAP가 큰 폭으로 높아졌고, 다른 2-stage detector에 비하면 FPS가 큰 폭으로 높아졌다.

※ mAP(mean Average Precision)

: 실제 object detect된 recall(재현율)과 precision(정확)의 값을 평균한 성능 수치 입니다.

※ FPS(Frame Per Second)

: 초당 frame 수로 초당 detection 하는 비율을 의미한다. 클수록 자연스러운 영상 이미지를 관찰할 수 있다. 

- VOC 2007 Error Analysis : YOLO와 SOTA 모델 사이의 차이를 examine 하는 지표 

- Results 

Localization Error : Fast R-CNN < YOLO

Background Error : Fast R-CNN > YOLO

 →Fast R-CNN과 YOLO를 결합했을 때 성능이 훨씬 더 좋아졌다는 사실을 알아냈다. 

 →YOLO는 단순하고 빠른 모델로 real-time detection에 보다 적합한 모델이라는 결론에 도달했다. 

 

2. Advantage

  1. 복잡한 파이프라인이 필요 없기 때문에 매우 빠르다. 이로 인해 real-time detection에 적용이 가능하다.
  2. 1-stage detector을 사용하여 기존의 2-stage detector에 비해 simple한 것이 특징이다.
  3. Fast R-CNN에서 사용하는 sliding window 방식과 다르게 전체적인 이미지를 살핌으로써 classes에 대한 맥락 사이의 정보를 encode할 수 있다. 따라서 faster R-CNN에 비해 background error가 2배 이상 작다. 
  4. object의 일반화된 표현식을 학습하여 새로운 도메인에 잘 적용할 수 있다.

- Comparision with other Detection Systems

1) Deformable parts models(DPM)

- sliding window 사용, disjoint pipeline 이용 → YOLO는 이 모든 disparate 부분을 single CNN으로 대체하였다. 

2) R-CNN 

- region proposals 사용(selective search)

→ 공통점 : 각 grid cell은 잠재적 potential boxes, scores 제안한다. 

→ 차이점 : spatial constraints를 가함으로써 같은 object에 대해 multiple detection하는 것을 완화한다.

3) Other Fast Detectors

- R-CNN을 수정해서 속도를 빠르게 했다는 장점을 가지지만 real time 성능에서는 한계를 가진다.

  end to end 방식을 통해 보다 빠른 속도를 달성하였다. 

 

3. Disadvantage

  1. spatial constriants로 인해 small objects에 대해 localization을 정확히 하지 못한다. 
  2. 새로운 configurations에 있는 objects를 일반화하는데 어려움을 겪는다.
  3. detection performance를 추정하는 loss function이 작은 bounding boxes와 큰 bounding boxes의 error에 대해 동등한 취급을 한다는 문제점이 있다. 

 

4. Reference

https://arxiv.org/abs/1506.02640

[Object Detection] 3) YOLOv1 논문 리뷰

YOLO v1 논문(You Only Look Once:Unified, Real-Time Object Detection) 리뷰

관련글 더보기

댓글 영역