Skip to content

yolo-outline

YOLOv1

TL;DR

  • YOLOv1(You Only Look Once)은 실시간 객체 탐지를 위한 획기적인 모델
  • 단일 CNN을 통해 전체 이미지를 한 번에 처리하여 객체의 위치와 클래스를 예측함.
  • 객체 탐지를 매우 빠르게 수행하지만, 작은 객체 탐지 및 근접한 객체 탐지에 한계가 있음.

Problem

  • 기존 객체 탐지 방법(예: R-CNN)은 여러 단계로 나뉘어 있어 연산 비용이 크고, 실시간 처리에 적합하지 않음.
  • Sliding Window 및 Selective Search와 같은 방법은 비효율적이고 정확도가 낮음.

Contribution

  • 이미지 전체를 한 번에 처리하는 단일 CNN 구조를 제안하여 객체 탐지 속도를 획기적으로 향상시킴.
  • 엔드투엔드 방식으로 학습 가능, 연산 과정이 단순화됨.
  • 객체 탐지의 새로운 패러다임을 제시하여 이후 모델들에 큰 영향을 미침.

Original Paper


YOLOv2 (YOLO9000)

TL;DR

  • YOLOv2는 앵커 박스와 고해상도 분류기를 도입하여, YOLOv1 대비 정확도와 속도를 개선한 객체 탐지 모델.
  • YOLO9000으로 불리며, 9천 개 이상의 클래스에서 실시간 탐지가 가능함.

Problem

  • YOLOv1은 작은 객체 탐지 성능이 낮고, 다양한 크기의 객체를 탐지하는 데 한계가 있었음.
  • 앵커 박스가 없어 다양한 비율과 크기의 객체 탐지에 어려움이 있었음.

Contribution

  • 앵커 박스를 도입하여 다양한 크기와 비율의 객체를 더 잘 탐지할 수 있게 함.
  • 고해상도 이미지를 사용한 학습으로 작은 객체에 대한 탐지 성능을 향상시킴.
  • 다중 태스크 학습(Multi-task Learning)을 통해 9천 개 이상의 클래스를 실시간으로 탐지할 수 있도록 함.

Original Paper


YOLOv3

TL;DR

  • YOLOv3는 다중 스케일 예측을 도입하여, 다양한 크기의 객체 탐지 성능을 크게 개선한 모델.
  • 기존의 YOLO 모델보다 깊은 네트워크(Darknet-53)를 사용하여 성능을 향상시킴.

Problem

  • YOLOv2는 작은 객체와 큰 객체의 동시 탐지에서 어려움이 있었고, 정확도를 더 높일 필요가 있었음.
  • 단일 스케일에서 예측하는 방식은 다양한 크기의 객체 탐지에 제한적이었음.

Contribution

  • 다중 스케일 예측(Multi-Scale Predictions) 기능을 도입하여, 작은 객체와 큰 객체를 모두 효과적으로 탐지할 수 있게 함.
  • Darknet-53 백본을 사용해 더 깊고 강력한 특징 추출이 가능해짐.
  • 여러 개의 바운딩 박스를 동시에 예측할 수 있도록 개선, 객체 탐지 성능을 크게 향상시킴.

Original Paper


YOLOv4

TL;DR

  • YOLOv4는 CSPNet 백본과 Bag of Freebies, Bag of Specials 같은 최적화 기법을 도입해, 정확도와 속도를 크게 개선한 모델.
  • 실시간 객체 탐지에서 높은 성능을 제공하며, 복잡한 환경에서도 우수한 성능을 발휘함.

Problem

  • 기존 YOLO 모델들은 더 높은 정확도를 위해 최적화된 기술들을 필요로 했으며, 특정 상황에서 성능이 저하되는 문제를 해결할 필요가 있었음.

Contribution

  • CSPDarknet53 백본을 사용해 연산량을 줄이면서도 성능을 유지함.
  • Bag of Freebies와 Bag of Specials를 통해 데이터 증강과 모델 최적화를 강화함.
  • Mish 활성화 함수와 Spatial Pyramid Pooling (SPP) 등의 기술을 도입해 모델의 효율성과 정확도를 동시에 높임.

Original Paper


YOLOv5

TL;DR

  • YOLOv5는 PyTorch 기반으로 개발되어, 사용 편의성과 학습 속도에서 큰 이점을 제공하는 모델.
  • 다양한 크기의 모델을 제공해 응용 범위가 넓음.

Problem

  • YOLOv4 이후에도 구현의 복잡성과 사용의 어려움이 남아있었음.
  • 다양한 응용 분야에 맞는 모델 크기 선택이 어려웠음.

Contribution

  • PyTorch 기반으로 쉽고 빠르게 구현 가능.
  • AutoAnchor 기능을 도입해 앵커 박스 최적화 시간을 줄임.
  • 다양한 크기의 모델(v5s, v5m, v5l, v5x)을 제공해, 사용자가 필요에 따라 선택할 수 있도록 함.

Original Paper


YOLOv6

TL;DR

  • YOLOv6는 모바일 및 임베디드 시스템을 염두에 둔 경량화된 모델로, 높은 성능과 효율성을 동시에 제공.
  • EfficientRep Backbone과 Dynamic Head를 도입해 효율적인 객체 탐지를 실현.

Problem

  • 자원 제한 환경에서 높은 성능을 유지하면서도 경량화된 모델이 필요했음.
  • 모델 복잡성을 줄이면서도 실시간 처리 능력을 향상시킬 필요가 있었음.

Contribution

  • EfficientRep Backbone을 사용해 계산량을 줄이면서도 높은 성능을 유지함.
  • Dynamic Head를 통해 입력 데이터에 따라 유연하게 구조를 변경, 더 나은 예측을 가능하게 함.
  • RepVGG 블록을 도입해 추론 시 효율성을 극대화함.

Original Paper


YOLOv7

TL;DR

  • YOLOv7은 최신의 효율성을 강조한 모델로, 더 적은 파라미터와 연산량으로도 높은 성능을 제공.
  • E-ELAN 구조를 도입해 모델 학습 효율성을 높임.

Problem

  • 더 높은 효율성과 성능을 유지하면서도 연산 비용을 줄일 필요가 있었음.
  • 다양한 크기의 객체를 처리할 수 있는 더 최적화된 구조가 필요했음.

Contribution

  • E-ELAN(Efficient Layer Aggregation Networks) 구조를 도입해 학습 효율성을 극대화함.
  • 다양한 크기의 모델을 제공하며, 실시간 객체 탐지에서 우수한 성능을 발휘함.
  • 모델 크기 대비 성능을 최적화하여, 실용적이고 빠른 객체 탐지 솔루션을 제공.

Original Paper


YOLOv8 - YOLOv10

TL;DR

  • YOLOv8과 YOLOv10은 최신 기술을 통합한 모델로, PyTorch 기반에서 더 나은 사용자 경험과 성능을 제공.
  • 특히 YOLOv10은 NMS-Free Training을 통해 추론 속도를 크게 향상시킴.

Problem

  • 기존 YOLO 모델의 일부는 최신 연구 결과를 반영하지 못했고, 실시간 처리에서의 효율성 문제가 남아있었음.
  • 다양한 응용 분야에서 유연하게 사용할 수 있는 최신 모델이 필요했음.

Contribution

  • YOLOv8: PyTorch 기반에서 더 나은 학습 및 추론 인터페이스를 제공하며, 최신 데이터셋 형식 지원.
  • YOLOv10: NMS-Free Training 및 Dual Assignment 기법을 도입해, 추론 속도와 정확도를 동시에 향상시킴. Spatial-Channel Decoupled Downsampling 및 Large-Kernel Convolution 등의 기술을 도입해 효율성을 극대화함.

Original Paper