YOLOv5 대 EfficientDet: 실시간 객체 탐지 아키텍처 평가
새로운 컴퓨터 비전 프로젝트를 시작할 때 올바른 신경망 아키텍처를 선택하는 것은 가장 중요한 결정 중 하나입니다. 이 가이드는 Ultralytics YOLOv5와 Google의 EfficientDet을 심층적으로 기술 비교합니다. 두 모델의 아키텍처, 성능 지표, 학습 생태계를 분석하여 개발자와 연구자가 각자의 배포 환경에 가장 적합한 객체 탐지 모델을 식별할 수 있도록 돕습니다.
EfficientDet이 복합 스케일링과 특징 융합이라는 새로운 개념을 도입한 반면, YOLOv5는 매우 직관적인 PyTorch 구현, 효율적인 사용자 경험, 그리고 속도와 정확성의 비할 데 없는 균형을 통해 고성능 AI에 대한 접근성을 대중화하며 업계를 혁신했습니다.
Ultralytics YOLOv5: 접근성을 위한 업계 표준
2020년 여름에 출시된 YOLOv5는 YOLO 계보에서 중대한 전환점을 마련했습니다. 기존 C 기반의 Darknet 프레임워크에서 네이티브 PyTorch로 전환하면서, 개발자가 모델을 신속하게 구축, 학습 및 배포할 수 있는 최고의 아키텍처가 되었습니다.
- 저자: Glenn Jocher
- 조직: Ultralytics
- 날짜: 2020-06-26
- GitHub: https://github.com/ultralytics/yolov5
- 문서: https://platform.ultralytics.com/ultralytics/yolov5
아키텍처 혁신
YOLOv5는 원활한 머신러닝 수명 주기를 우선시하는 고도로 최적화된 아키텍처로 유명합니다. 이 모델은 수정된 CSPDarknet53 백본과 Path Aggregation Network (PANet) 넥을 사용하여 여러 공간적 규모에서 특징 전파를 획기적으로 개선합니다.
주요 발전 사항은 다음과 같습니다:
- Mosaic 데이터 증강: 이 학습 기법은 4개의 서로 다른 학습 이미지를 하나의 모자이크로 결합합니다. 이를 통해 모델은 복잡한 공간적 맥락에서 객체를 식별하는 방법을 학습하게 되며, 작은 타겟을 탐지하는 능력이 크게 향상됩니다.
- Auto-Learning 앵커 박스: 학습이 시작되기 전, YOLOv5는 사용자 정의 학습 데이터를 분석하고 k-means 클러스터링을 사용하여 최적의 앵커 박스 크기를 자동으로 계산합니다.
- 메모리 효율성: 무거운 Transformer 기반 모델과 비교했을 때, YOLOv5는 학습 및 추론 과정에서 훨씬 낮은 메모리 점유율을 유지하므로 소비자용 하드웨어에서도 원활하게 실행됩니다.
EfficientDet: 확장 가능한 객체 탐지
2019년 Google Research에서 도입한 EfficientDet은 확장 가능한 객체 탐지기 제품군을 제공하는 것을 목표로 했습니다. 이 모델은 EfficientNet 이미지 분류 백본을 기반으로 하며 새로운 특징 융합 메커니즘을 도입했습니다.
- 저자: Mingxing Tan, Ruoming Pang, Quoc V. Le
- 조직: Google
- 날짜: 2019-11-20
- Arxiv: https://arxiv.org/abs/1911.09070
- GitHub: https://github.com/google/automl/tree/master/efficientdet
- 문서: https://github.com/google/automl/tree/master/efficientdet#readme
아키텍처 혁신
EfficientDet의 핵심 제안은 스케일링과 특징 집계에 대한 체계적인 접근 방식에 있습니다:
- BiFPN (Bi-directional Feature Pyramid Network): 상향식 정보 전달만 수행하는 기존 FPN과 달리, BiFPN은 학습 가능한 가중치를 도입하여 입력 특징의 중요도를 학습함으로써 빠르고 쉬운 다중 규모 특징 융합을 가능하게 합니다.
- 복합 스케일링: EfficientDet은 모든 백본, 특징 네트워크, 박스/클래스 예측 네트워크의 해상도, 깊이, 너비를 공동으로 확장하여 경량 모델인 D0부터 대규모 모델인 D7까지의 제품군을 구성합니다.
EfficientDet이 TensorFlow 생태계와 AutoML 라이브러리에 크게 의존하는 반면, YOLOv5는 PyTorch 내에서 기본적으로 작동하며 많은 개발자가 더 직관적이고 파이썬답고(pythonic) 디버깅하기 쉬운 워크플로우를 제공한다고 평가합니다.
성능 및 메트릭 비교
이 모델들을 비교할 때, COCO 데이터셋과 같은 표준 벤치마크에서의 성능을 평가하는 것이 중요합니다. 아래 표는 크기, 계산 요구량(FLOPs) 및 추론 속도 간의 상충 관계(trade-off)를 강조합니다.
| 모델 | 크기 (픽셀) | mAPval 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| EfficientDet-d0 | 640 | 34.6 | 10.2 | 3.92 | 3.9 | 2.54 |
| EfficientDet-d1 | 640 | 40.5 | 13.5 | 7.31 | 6.6 | 6.1 |
| EfficientDet-d2 | 640 | 43.0 | 17.7 | 10.92 | 8.1 | 11.0 |
| EfficientDet-d3 | 640 | 47.5 | 28.0 | 19.59 | 12.0 | 24.9 |
| EfficientDet-d4 | 640 | 49.7 | 42.8 | 33.55 | 20.7 | 55.2 |
| EfficientDet-d5 | 640 | 51.5 | 72.5 | 67.86 | 33.7 | 130.0 |
| EfficientDet-d6 | 640 | 52.6 | 92.8 | 89.29 | 51.9 | 226.0 |
| EfficientDet-d7 | 640 | 53.7 | 122.0 | 128.07 | 51.9 | 325.0 |
균형 잡힌 분석
YOLOv5는 배포 유연성과 원시 하드웨어 가속 호환성에서 뛰어납니다. T4 GPU에서의 압도적으로 빠른 TensorRT 속도를 확인하십시오. 이는 YOLOv5가 고처리량 비디오 분석 및 실시간 추론 파이프라인에 매우 적합함을 보여줍니다. 또한 Ultralytics 생태계를 사용하면 ONNX, CoreML, TensorRT와 같은 형식으로 내보내는 작업이 한 줄의 명령어로 가능합니다.
EfficientDet은 뛰어난 파라미터 효율성을 제공합니다. 주어진 파라미터 수에 대해 높은 평균 정밀도(mAP)를 추출하는 경우가 많습니다. 그러나 이러한 이론적 효율성이 항상 엣지 GPU에서 더 빠른 실시간 추론 시간으로 이어지지는 않습니다. 이는 BiFPN 계층의 복잡한 라우팅으로 인해 계산량보다는 메모리 대역폭의 제한을 받을 수 있기 때문입니다.
생태계 및 사용 편의성
Ultralytics 모델을 선택하는 결정적인 이점은 주변 생태계에 있습니다. YOLOv5는 대규모 커뮤니티 지원과 함께 활발하게 개발되고 잘 관리되는 리포지토리의 일부입니다.
Ultralytics Platform이 도입됨에 따라 사용자는 데이터 수집에서 배포까지 원활하게 전환할 수 있습니다. 이 플랫폼은 자동 주석, 클라우드 학습, 모델 모니터링을 즉시 지원합니다. 반면 EfficientDet 학습은 종종 구형 TensorFlow 객체 탐지 API의 복잡성을 해결해야 하며, 이는 빠른 프로토타이핑에 있어 높은 학습 곡선을 제시할 수 있습니다.
또한 YOLOv5의 다재다능함은 경계 상자를 넘어섭니다. 지속적인 업데이트를 통해 Ultralytics 프레임워크는 인스턴스 분할 및 이미지 분류를 기본적으로 지원하며 여러 컴퓨터 비전 작업에 통합 API를 제공합니다.
이상적인 활용 사례
- Choose YOLOv5 when: You need rapid prototyping, a frictionless training experience, and highly optimized edge deployment. It is ideal for drones, retail analytics, and mobile applications where low latency is critical.
- EfficientDet 선택 권장: 엄격한 실시간 지연 시간 제약 없이 Google Cloud/TensorFlow AutoML 환경 내에서 운영하며 파라미터당 최대 정확도가 필요할 때 적합합니다.
차세대 모델: YOLO26 도입
YOLOv5가 여전히 신뢰할 수 있는 도구이지만, 컴퓨터 비전 환경은 발전했습니다. 2026년 기준 최고의 최첨단 기술을 찾는 개발자에게 YOLO26은 Ultralytics 라인업의 새로운 정점을 나타냅니다.
YOLOv8 및 YOLO11과 같은 이전 모델들의 유산을 바탕으로 YOLO26은 획기적인 혁신을 도입했습니다:
- 종단 간 NMS 프리 설계: YOLO26은 NMS(Non-Maximum Suppression) 후처리가 필요 없는 방식을 기본적으로 구현합니다. 이는 지연 시간의 변동성을 크게 줄이고 배포 아키텍처를 단순화합니다.
- Up to 43% Faster CPU Inference: Heavily optimized for edge AI, it brings unprecedented speeds to low-power edge devices and standard CPUs without dedicated GPUs.
- MuSGD 옵티마이저: 대규모 언어 모델(LLM) 학습 기법에서 영감을 받은 이 SGD와 Muon의 하이브리드는 매우 안정적인 학습과 빠른 수렴을 보장합니다.
- Advanced Loss Functions: The integration of ProgLoss and STAL drastically improves the recognition of small targets, which is vital for high-altitude drone imagery and robotics.
- DFL 제거: Distribution Focal Loss를 제거함으로써 모델 내보내기 과정이 간소화되어 다양한 하드웨어 가속기 전반의 호환성이 향상되었습니다.
Ultralytics 생태계 내의 다른 최신 아키텍처를 탐색하는 데 관심이 있는 사용자는 YOLOv10 또는 RT-DETR과 같은 모델을 비교해 볼 수도 있습니다.
Ultralytics Python API는 하위 및 상위 호환성을 위해 설계되었습니다. YOLOv5에서 YOLO26으로 업그레이드하는 것은 코드 내의 모델 가중치 문자열을 변경하는 것만큼 간단합니다!
코드 예제: 학습 및 추론
Ultralytics 생태계의 비할 데 없는 사용 편의성을 입증하기 위해, 최신 YOLO 모델을 사용하여 학습하고 추론을 실행하는 방법을 소개합니다. 이 코드는 100% 실행 가능하며 데이터셋 다운로드, 학습 루프 및 검증을 자동으로 처리합니다.
from ultralytics import YOLO
# Load a modern model (Swap 'yolov5s.pt' for 'yolo26n.pt' to test the newest architecture!)
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 example dataset for 20 epochs
results = model.train(data="coco8.yaml", epochs=20, imgsz=640)
# Run inference on an image from the web
inference_results = model("https://ultralytics.com/images/bus.jpg")
# Display the image with bounding boxes
inference_results[0].show()사용자 경험을 우선시하고, 강력한 생태계를 유지하며, YOLO26과 같은 업데이트로 가능한 것의 한계를 지속적으로 넓힘으로써 Ultralytics는 개발자가 실제 시각적 지능 문제를 해결하는 데 항상 최고의 도구를 사용할 수 있도록 보장합니다.