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
- Docs: Ultralytics YOLOv9 문서
PP-YOLOE+: Paddle 생태계의 발전#
2022년 바이두에서 발표한 PP-YOLOE+는 PP-YOLOv2를 반복적으로 개선한 모델입니다. 앵커 프리 패러다임을 활용하고 동적 레이블 할당 전략을 도입하여 PaddlePaddle 프레임워크 내에서 수렴 속도와 정확도를 향상시킵니다.
- 저자: PaddlePaddle 저자진
- 조직: Baidu
- 날짜: 2022년 4월 2일
- Arxiv: 2203.16250
- GitHub: PaddleDetection
- Docs: PP-YOLOE+ 설정
아키텍처 비교#
PGI(Programmable Gradient Information) 대 CSPRepResStage#
YOLOv9의 핵심 혁신은 **프로그래머블 그래디언트 정보(PGI)**입니다. PGI는 보조 감독 프레임워크 역할을 하며, 학습 과정에서 중요한 그래디언트 정보가 보존되고 얕은 레이어로 정확하게 전파되도록 보장합니다. 이는 CSPNet과 ELAN의 강점을 결합하여 계산 비용(FLOPs)을 대폭 줄이면서도 높은 정확도를 제공하는 **일반화된 효율적 레이어 집계 네트워크(GELAN)**와 결합되어 있습니다.
PP-YOLOE+는 CSPRepResStage이라는 특화된 백본에 의존합니다. 배포 중 합성곱 레이어를 병합하여 추론 속도를 높이기 위해 재매개변수화 기술(RepVGG에서 볼 수 있는 것과 유사함)을 활용합니다. 또한 효율적인 태스크 정렬 헤드(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를 달성하기 위해 두 배가 넘는 파라미터(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은 기본 엔드투엔드 NMS 프리 디자인을 특징으로 하여 배포를 대폭 단순화합니다. DFL 제거(간소화된 내보내기 및 더 나은 엣지/저전력 디바이스 호환성을 위해 배포 중심 초점 손실 제거)를 통해 엣지 컴퓨팅을 위한 최대 43% 더 빠른 CPU 추론을 제공합니다. MuSGD Optimizer로 구동되어 안정적인 학습과 빠른 수렴을 보장합니다. 또한 ProgLoss + STAL은 소형 객체 인식에서 눈에 띄는 향상이 포함된 개선된 손실 함수를 제공하며, 이는 IoT, 로봇공학, 항공 이미지에 매우 중요합니다.
다양성 및 작업 지원#
현대적인 컴퓨터 비전 프로젝트는 단순히 바운딩 박스에서 끝나지 않습니다.
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**도 기본적으로 지원하므로 특정 배포 요구사항에 맞는 최적의 모델에 항상 접근할 수 있습니다.