PP-YOLOE+ 대 YOLOv5: 객체 탐지 아키텍처 탐색
컴퓨터 비전을 위한 올바른 딥러닝 프레임워크를 선택할 때, 개발자들은 종종 속도, 정확도, 배포 용이성 사이의 완벽한 균형을 찾기 위해 다양한 아키텍처의 기능을 비교하게 됩니다. 이번 심층 분석에서는 PP-YOLOE+와 YOLOv5 사이의 기술적 차이를 살펴봅니다. 각 아키텍처, 성능 지표 및 이상적인 배포 시나리오를 분석함으로써, 실시간 로봇 공학, 엣지 배포, 클라우드 기반 비디오 분석 등 프로젝트의 성격에 맞는 정보에 입각한 결정을 내릴 수 있습니다.
모델 기원 및 메타데이터
두 모델 모두 매우 뛰어난 엔지니어링 팀에서 개발되었지만, 약간 다른 생태계를 목표로 합니다. 그 기원을 이해하는 것은 아키텍처 설계 선택에 대한 가치 있는 맥락을 제공합니다.
PP-YOLOE+ 세부 정보:
- 저자: PaddlePaddle 저자
- 조직: Baidu
- 날짜: 2022-04-02
- Arxiv: https://arxiv.org/abs/2203.16250
- GitHub: https://github.com/PaddlePaddle/PaddleDetection/
- 문서: PaddleDetection README
YOLOv5 세부 정보:
- 저자: Glenn Jocher
- 조직: Ultralytics
- 날짜: 2020-06-26
- GitHub: https://github.com/ultralytics/yolov5
- 문서: https://docs.ultralytics.com/models/yolov5/
아키텍처 비교
PP-YOLOE+ 아키텍처
PP-YOLOE+는 이전 모델인 PP-YOLOv2와 같은 기반 위에서 구축된 Baidu 생태계 내의 발전된 모델입니다. 이 모델은 CSP(Cross Stage Partial) 네트워크 원리와 재매개변수화(re-parameterization) 기술을 결합하여 특징 추출을 향상시키는 고도로 최적화된 CSPRepResNet 백본을 도입했습니다. 이를 통해 모델은 학습 중 높은 정확도를 유지하면서 더 빠른 추론을 위해 간소화된 아키텍처로 변환될 수 있습니다.
또한, PP-YOLOE+는 TAL(Task Alignment Learning)과 ET-head(Efficient Task-aligned head)를 사용합니다. 이 조합은 밀집 객체 탐지기에서 흔히 발생하는 병목 현상인 분류 작업과 위치 지정 작업 간의 불일치 문제를 해결하는 것을 목표로 합니다. 구조적으로는 인상적이지만, 이 아키텍처는 PaddlePaddle 프레임워크와 밀접하게 결합되어 있어 다른 주류 ML 라이브러리를 표준으로 사용하는 팀에게는 통합상의 어려움을 초래할 수 있습니다.
YOLOv5 아키텍처
대조적으로, YOLOv5는 학술 연구와 기업 생산 모두에서 업계 표준인 PyTorch로 기본 설계되었습니다. 이 모델은 뛰어난 그래디언트 흐름과 파라미터 효율성으로 잘 알려진 수정된 CSPDarknet53 백본을 활용합니다.
YOLOv5의 특징 중 하나는 학습 전에 사용자의 특정 커스텀 데이터셋을 기반으로 앵커 박스 크기를 동적으로 확인하고 조정하는 AutoAnchor 알고리즘입니다. 이는 경계 박스에 대한 수동 하이퍼파라미터 튜닝을 제거합니다. 모델의 PANet(Path Aggregation Network) 넥은 강력한 다중 스케일 특징 융합을 보장하여 다양한 크기의 객체를 탐지하는 데 매우 효과적입니다.
YOLOv5는 PyTorch를 기반으로 직접 구축되었기 때문에, ONNX 및 TensorRT와 같은 최적화된 형식으로 내보낼 때 로컬라이즈된 프레임워크에 종속된 모델보다 미들웨어 설정이 훨씬 적게 필요합니다.
성능 분석
이 모델들을 평가하려면 mAP(mean Average Precision)와 지연 시간(latency) 간의 균형을 살펴봐야 합니다. 다음 표는 다양한 모델 크기에 걸친 지표를 보여줍니다.
| 모델 | 크기 (픽셀) | mAPval 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
PP-YOLOE+는 더 큰 스케일(X 버전 등)에서 매우 경쟁력 있는 mAP 점수를 달성하지만, YOLOv5는 스펙트럼의 작은 끝부분에서 우수한 속도와 더 적은 파라미터 수를 제공합니다. YOLOv5 Nano(YOLOv5n)는 단 260만 개의 파라미터만 필요로 하므로 메모리 요구 사항이 엄격한 제약된 엣지 디바이스에 매우 적합합니다. 또한, YOLO 모델을 학습하는 것은 RT-DETR과 같은 무거운 Transformer 기반 대안보다 일반적으로 더 적은 CUDA 메모리를 소비합니다.
Ultralytics의 강점
아키텍처를 선택할 때 원시 지표는 방정식의 일부일 뿐입니다. 개발자 경험, 생태계 지원 및 배포 파이프라인이 종종 프로젝트의 실질적인 성공을 결정합니다. 이것이 바로 Ultralytics 모델이 빛을 발하는 지점입니다.
타의 추종을 불허하는 사용 편의성
Ultralytics를 위한 Python API는 복잡한 보일러플레이트 코드를 추상화합니다. 개발자는 모델 학습을 시작하고, 성능을 검증하며, 모델을 원활하게 배포할 수 있습니다. 문서는 광범위하고 철저하게 관리되며, 거대한 글로벌 오픈 소스 커뮤니티의 지원을 받습니다.
작업 전반에 걸친 다재다능함
PP-YOLOE+는 전용 객체 탐지기이지만, Ultralytics 생태계를 통해 사용자는 단일 통합 API 하에서 여러 컴퓨터 비전 작업을 처리할 수 있습니다. YOLOv5와 그 후속 모델들을 사용하면 표준 경계 박스에서 이미지 분할(Image Segmentation) 및 분류 워크플로우로 손쉽게 전환할 수 있습니다.
코드 예제: YOLOv5 학습
시작하는 데는 단 몇 줄의 코드만 있으면 됩니다. 이러한 단순성은 연구 및 개발 주기를 크게 가속화합니다.
from ultralytics import YOLO
# Load a pretrained YOLOv5 small model
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run fast inference on an image
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()실제 사용 사례
PP-YOLOE+를 선택해야 할 때: 귀하의 조직이 Baidu 소프트웨어 스택에 깊이 관여하고 있거나 PaddlePaddle 프레임워크를 필수적으로 사용하는 특수 하드웨어에 크게 의존하는 경우, PP-YOLOE+는 견고한 성능을 제공합니다. 이는 Paddle과의 레거시 통합이 존재하는 아시아 전역의 특수 제조 파이프라인에서 자주 사용됩니다.
YOLOv5를 선택해야 할 때: 대다수의 글로벌 개발자, 연구원 및 기업에게 YOLOv5는 여전히 강력한 도구입니다. PyTorch 기반이라는 것은 Weights & Biases와 같은 도구와 즉시 호환되어 추적할 수 있으며, NVIDIA GPU 가속을 위해 TensorRT로, 또는 Apple 기기를 위해 CoreML로 깔끔하게 내보낼 수 있음을 의미합니다. 이는 농작물 모니터링에서 고속 드론 내비게이션에 이르기까지 다양한 분야에서 탁월합니다.
탐지의 미래: Ultralytics YOLO26
YOLOv5는 상징적인 모델이지만, 컴퓨터 비전의 최전선은 진보했습니다. 모든 새로운 개발에 대해서는 2026년 1월에 출시된 YOLO26으로 전환할 것을 강력히 권장합니다. Ultralytics Platform을 통해 원활하게 이용할 수 있는 YOLO26은 효율성을 완전히 재정의합니다.
YOLO26의 주요 혁신:
- 엔드투엔드 NMS-Free 설계: YOLO26은 Non-Maximum Suppression(NMS) 후처리를 완전히 제거합니다. 이는 지연 시간 변동성을 줄이고 배포 파이프라인을 획기적으로 단순화합니다.
- 최대 43% 더 빠른 CPU 추론: DFL(Distribution Focal Loss)을 전략적으로 제거함으로써, YOLO26은 GPU가 없는 엣지 디바이스에서 속도를 극적으로 높입니다.
- MuSGD 옵티마이저: 주요 대규모 언어 모델에서 영감을 받은 이 하이브리드 옵티마이저는 학습 역학을 안정화하고 커스텀 데이터셋에서 훨씬 빠른 수렴을 가능하게 합니다.
- 작업별 향상 기능: ProgLoss 및 STAL과 같은 고급 손실 함수를 특징으로 하여 작은 객체에 대해 전례 없는 정확도를 제공합니다. 항공 이미지에 대한 회전 경계 박스(OBB) 탐지를 기본적으로 지원합니다.
최첨단 비전 모델을 탐색 중이라면 이전 세대인 YOLO11 또는 RT-DETR과 같은 Transformer 기반 접근 방식을 비교하는 데 관심이 있을 수 있습니다. 궁극적으로 강력한 생태계와 최첨단 아키텍처 발전이 결합되어, Ultralytics는 현대 컴퓨터 비전 작업을 위한 최고의 선택으로 자리매김하고 있습니다.