YOLOv9와 PP-YOLOE+ 비교#
실시간 객체 탐지 분야는 계속해서 빠르게 발전하며, 컴퓨터 비전 엔지니어에게 엣지 및 클라우드 인프라에 고정확도 모델을 배포할 수 있는 다양한 선택지를 제공합니다. 이 분야의 대표적인 두 모델은 **YOLOv9**와 **PP-YOLOE+**입니다. 두 모델 모두 정확도와 속도의 한계를 확장하지만, 서로 다른 연구 계보와 소프트웨어 생태계에서 발전했습니다.
이 종합적인 기술 비교에서는 두 모델의 아키텍처, 학습 방법론, 성능 지표 및 실제 환경에서의 이상적인 적용 사례를 살펴봅니다. 또한 사용 편의성, 메모리 효율성 및 다목적 배포를 중시하는 개발자에게 더 광범위한 Ultralytics 생태계가 제공하는 주요 이점도 살펴봅니다.
모델의 기원 및 기술 사양#
이러한 모델의 배경을 이해하면 아키텍처 결정과 프레임워크 종속성을 파악하는 데 도움이 됩니다.
YOLOv9: 정보 병목 현상 해결#
2024년 초에 소개된 YOLOv9는 정보가 심층 신경망을 통과할 때 발생하는 데이터 손실을 해결합니다. 매개변수 효율성을 극대화하도록 설계된 고도로 최적화된 합성곱 신경망입니다.
- 저자: Chien-Yao Wang, Hong-Yuan Mark Liao
- 기관: 대만 중앙연구원 정보과학연구소
- 날짜: 2024년 2월 21일
- Arxiv: 2402.13616
- GitHub: WongKinYiu/yolov9
- 문서: Ultralytics YOLOv9 문서
PP-YOLOE+: Paddle 생태계의 발전#
2022년 Baidu에서 출시된 PP-YOLOE+는 PP-YOLOv2를 반복적으로 개선한 모델입니다. 앵커 프리 패러다임을 활용하고 동적 라벨 할당 전략을 도입하여 PaddlePaddle 프레임워크에서 수렴과 정확도를 향상합니다.
- 저자: PaddlePaddle Authors
- 조직: Baidu
- 날짜: 2022년 4월 2일
- Arxiv: 2203.16250
- GitHub: PaddleDetection
- 문서: PP-YOLOE+ 구성
아키텍처 비교#
프로그래밍 가능한 그래디언트 정보와 CSPRepResStage#
YOLOv9의 핵심 혁신은 **프로그래밍 가능한 그래디언트 정보(PGI)**입니다. PGI는 보조 supervision 프레임워크로 작동하여 학습 중 중요한 그래디언트 정보가 보존되고 얕은 레이어로 정확하게 역전파되도록 합니다. 여기에 **일반화된 효율적 레이어 집계 네트워크(GELAN)**를 결합하여 CSPNet과 ELAN의 강점을 활용하고 계산 비용(FLOPs)을 크게 줄이면서 높은 정확도를 제공합니다.
PP-YOLOE+는 CSPRepResStage이라는 특수한 백본을 사용합니다. 재매개변수화 기법(RepVGG에서 사용되는 기법과 유사)을 활용하여 배포 시 합성곱 레이어를 병합함으로써 추론 속도를 높입니다. 또한 분류 및 회귀 작업의 균형을 맞추기 위해 Efficient Task-aligned head(ET-head)를 사용합니다.
PP-YOLOE+는 강력하지만 YOLOv9의 GELAN 아키텍처는 일반적으로 학습과 추론 모두에서 더 작은 메모리 풋프린트를 요구하므로 엣지 AI 디바이스에 특히 적합합니다.
성능 비교#
프로덕션용 모델을 평가할 때는 mAP(평균 정밀도), 추론 속도 및 모델 크기 간의 균형이 중요합니다.
| 모델 | 크기 (픽셀) | mAPval 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
| PP-YOLOE+t | 640 | 39.9 | - | 2.84 | 4.85 | 19.15 |
| PP-YOLOE+s | 640 | 43.7 | - | 2.62 | 7.93 | 17.36 |
| PP-YOLOE+m | 640 | 49.8 | - | 5.56 | 23.43 | 49.91 |
| PP-YOLOE+l | 640 | 52.9 | - | 8.36 | 52.2 | 110.07 |
| PP-YOLOE+x | 640 | 54.7 | - | 14.3 | 98.42 | 206.59 |
분석#
- 매개변수 효율성: YOLOv9는 현저하게 더 높은 효율성을 달성합니다. 예를 들어 YOLOv9c는 25.3M개의 매개변수만으로 53.0%의 mAP를 달성하는 반면, PP-YOLOE+l는 52.9%로 약간 더 낮은 mAP를 달성하는 데 2배가 넘는 52.2M개의 매개변수가 필요합니다. 이로 인해 YOLOv9의 메모리 요구 사항이 크게 줄어듭니다.
- 추론 속도: YOLOv9 모델은 TensorRT와 같은 하드웨어 가속기에 맞춰 탁월하게 최적화되어 있으며, 실시간 추론에 중요한 NVIDIA T4 GPU에서 경쟁력 있는 추론 속도를 제공합니다.
학습 방법론과 생태계#
이러한 모델 중 선택은 소프트웨어 생태계에 따라 결정되는 경우가 많습니다.
PP-YOLOE+와 PaddlePaddle#
PP-YOLOE+는 PaddleDetection 제품군과 긴밀하게 결합되어 있습니다. 강력하지만 사용자는 구성이 복잡하고 명령줄 중심인 환경을 다뤄야 합니다. PyTorch 또는 TensorFlow 생태계에 깊이 자리 잡은 팀의 경우 PaddlePaddle로 전환하면 상당한 마찰과 더 가파른 학습 곡선이 발생합니다.
Ultralytics의 이점: 간소화된 워크플로#
반면 YOLOv9는 고도로 완성도 높은 Ultralytics 생태계에서 작동합니다. 개발자와 연구자를 위해 설계된 Ultralytics는 탁월한 사용 편의성을 우선시합니다. Python API가 복잡한 보일러플레이트 코드를 완전히 추상화합니다.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Train on a custom dataset effortlessly
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)
# Run inference and visualize results
results = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX for production deployment
model.export(format="onnx")이 워크플로는 Ultralytics 모델의 뛰어난 학습 효율성을 보여줍니다. 데이터 증강, 분산 학습 및 Weights & Biases나 MLflow와 같은 플랫폼에 대한 자동 로깅을 기본적으로 지원합니다.
YOLOv9는 뛰어난 성능을 제공하지만, 새 프로젝트에서는 새롭게 출시된 **Ultralytics YOLO26**을 고려할 것을 적극 권장합니다. YOLO26은 기본 End-to-End NMS-Free Design을 제공하여 배포를 크게 간소화합니다. DFL Removal(간소화된 export와 향상된 엣지/저전력 디바이스 호환성을 위해 Distribution Focal Loss 제거)을 통해 엣지 컴퓨팅에서 최대 43% 더 빠른 CPU 추론을 제공합니다. MuSGD Optimizer를 기반으로 안정적인 학습과 빠른 수렴을 보장합니다. 또한 ProgLoss + STAL은 향상된 loss function을 제공하며, IoT, 로보틱스 및 항공 이미지에서 중요한 small-object recognition을 크게 개선합니다.
다목적성과 작업 지원#
최신 컴퓨터 비전 프로젝트는 단순한 바운딩 박스에서 끝나는 경우가 거의 없습니다.
PP-YOLOE+는 주로 표준 객체 탐지용으로 설계되었습니다. 다른 작업에 맞게 아키텍처를 조정하려면 광범위한 커스텀 엔지니어링이 필요합니다.
반대로 Ultralytics 프레임워크는 다중 작업을 지원하는 강력한 솔루션입니다. 통합 API를 활용하면 개발자는 표준 객체 탐지에서 복잡한 인스턴스 세그멘테이션, 고정확도 포즈 추정, 항공 이미지용 방향성 바운딩 박스(OBB) 탐지 및 이미지 분류로 손쉽게 전환할 수 있습니다. 이러한 탁월한 다목적성 때문에 엔터프라이즈 팀은 YOLOv9, YOLO11 및 YOLO26과 같은 Ultralytics 모델을 지속적으로 선택합니다.
이상적인 사용 사례 및 적용 분야#
- 스마트 시티 분석 및 교통 관리: YOLOv9(및 이후의 YOLO26)의 높은 매개변수 효율성과 낮은 지연 시간은 교통 흐름과 도시 보안을 모니터링하기 위해 제한된 엣지 하드웨어(NVIDIA Jetson 디바이스 등)에 배포하는 데 적합합니다.
- 소매 재고 시스템: 선반에 있는 소형 상품의 밀집된 배치를 탐지할 때 YOLOv9의 PGI는 세밀한 공간 정보를 효과적으로 유지하여 소형 객체 탐지 작업에서 PP-YOLOE+를 능가합니다.
- 레거시 배포: **PP-YOLOE+**는 기존 레거시 인프라에서 Baidu/PaddlePaddle 소프트웨어 스택을 사용하도록 명시적으로 요구받는 팀에 한해 여전히 실행 가능한 선택지입니다.
Transformer 기반 아키텍처를 연구하는 경우 Ultralytics는 동일한 사용하기 쉬운 API 내에서 **RT-DETR**도 기본적으로 지원하므로 특정 배포 요구 사항에 최적인 모델을 항상 사용할 수 있습니다.