본문 바로가기

AI/Yolo

[ Yolo ] PyTorch vs TensorFlow 비교

반응형

YOLO(You Only Look Once)는 객체 탐지(Object Detection) 분야에서 가장 널리 쓰이는 모델 중 하나이고, Torch(PyTorch)·TensorFlow 같은 딥러닝 프레임워크 위에서 구현·훈련·추론됩니다.

아래는 크게 YOLO 버전별 특징PyTorch vs TensorFlow 버전 입니다.


1. YOLO 버전별 발전 과정

🔹 YOLOv1 (2016, Joseph Redmon)

  • 최초의 단일 단계(one-stage) 객체 탐지 모델.
  • 이미지를 SxS grid로 나눠 bounding box와 class를 예측.
  • 속도는 매우 빠르지만 작은 객체 탐지는 약했음.

🔹 YOLOv2 (YOLO9000, 2017)

  • Anchor box 도입 (Faster R-CNN 방식 차용).
  • Batch normalization 적용 → 정확도 향상.
  • 9000개 클래스 동시 탐지 가능(WordTree).

🔹 YOLOv3 (2018)

  • Feature Pyramid Network(FPN) → 다중 스케일 탐지 가능.
  • Darknet-53 backbone.
  • 작은 객체 탐지 성능 개선.

🔹 YOLOv4 (2020, Alexey Bochkovskiy)

  • CSPDarknet53 backbone.
  • Mosaic augmentation, DropBlock, CIoU loss 등 최신 기법 집약.
  • GPU 최적화 → 빠르고 정확.

🔹 YOLOv5 (2020, Ultralytics, PyTorch 기반)

  • 공식 연구논문 없이 GitHub에서 공개 → 논란 있었음.
  • PyTorch로 작성되어 접근성↑.
  • 다양한 모델 크기 제공: v5s, v5m, v5l, v5x.
  • 가장 널리 사용되는 실무형 버전.

🔹 YOLOv6 (2022, Meituan)

  • 산업 적용 최적화.
  • 고속/경량 모델 제공, TensorRT·ONNX 최적화 지원.

🔹 YOLOv7 (2022, Wong Kin-Yiu 팀)

  • E-ELAN 구조 → 학습 안정성 향상.
  • 당시 SOTA 성능 달성.
  • 실시간 성능과 정확도를 동시에 만족.

🔹 YOLOv8 (2023, Ultralytics)

  • Ultralytics 공식 차세대 버전.
  • Classification, Detection, Segmentation, Pose estimation까지 지원.
  • PyTorch 기반, API 사용 편리.
  • 가벼운 edge-device부터 서버까지 활용 가능.

🔹 YOLO-NAS, RT-DETR, YOLOv9 등 (2023~2024 이후)

  • Neural Architecture Search 기반(YOLO-NAS).
  • Transformer 구조 접목(RT-DETR).
  • YOLOv9은 연구자들이 다양한 최적화 실험 진행 중.

2. PyTorch vs TensorFlow 버전 비교

🔹 PyTorch YOLO

  • 대표: YOLOv5, YOLOv8 (Ultralytics).
  • Pythonic API, 직관적인 디버깅 → 연구자/개발자에게 인기.
  • Torch Hub, Ultralytics API 등으로 설치·사용 편리.
  • Jetson Orin, RTX GPU 등 edge/서버에서 활용 용이.
  • ONNX/TensorRT 변환 쉬움.

🔹 TensorFlow YOLO

  • 대표: YOLOv3, YOLOv4 TensorFlow Implementation.
  • TensorFlow Object Detection API 활용 가능.
  • TPU 환경에서 최적화 용이.
  • 다만 최근 YOLO 최신 버전은 대부분 PyTorch 우선 개발됨.
  • TensorFlow 버전은 주로 community fork에서 유지.

3. 선택 기준

  • 최신성/편의성: PyTorch 버전(특히 YOLOv8)이 사실상 표준.
  • 산업 적용(TensorRT, Edge Device): PyTorch → ONNX → TensorRT 변환 경로가 풍부.
  • TensorFlow Ecosystem (TFX, TPU, TensorFlow Lite) 사용 중이라면 TF YOLO fork 고려.

4. 정리

  • YOLO는 v1~v4까지는 Darknet(C/CUDA) 기반.
  • v5부터는 PyTorch 중심으로 대세 이동.
  • TensorFlow 버전은 존재하지만, 최신 버전은 대부분 PyTorch 우선 개발.
  • 연구·실무에서는 YOLOv8(PyTorch), 경량화 inference에서는 TensorRT 변환 모델이 가장 많이 쓰임.

 

반응형