YOLOv10 대 EfficientDet#
object detection을 위한 최적의 신경망을 선택하는 것은 현대 컴퓨터 비전 시스템의 성공을 좌우하는 중요한 결정입니다. 이 분야에 지대한 영향을 미친 두 가지 주요 아키텍처는 YOLOv10과 EfficientDet입니다. 두 아키텍처 모두 연산 오버헤드를 최소화하면서 정확도를 극대화하는 것을 목표로 하지만, 이러한 목표를 달성하기 위해 매우 다른 아키텍처적 접근 방식을 취합니다.
이 종합 가이드는 고유한 설계, 학습 방법론 및 배포 특성을 심층적으로 다루며, 개발자와 ML 엔지니어가 vision AI applications를 위한 데이터 기반 의사결정을 내릴 수 있도록 돕습니다. 임베디드 edge AI devices부터 강력한 클라우드 GPU에 이르는 다양한 하드웨어에서 두 모델이 어떻게 성능을 발휘하는지 살펴보겠습니다.
YOLOv10: NMS-Free의 선구자#
실시간 지연 시간의 한계를 극복하기 위해 개발된 YOLOv10은 YOLO 패밀리의 가장 지속적인 병목 현상 중 하나인 NMS(Non-Maximum Suppression)를 해결했습니다. 이 후처리 단계를 제거함으로써 이 모델은 autonomous vehicles 및 고속 로보틱스에 필수적인 매우 예측 가능한 지연 시간을 달성합니다.
아키텍처 혁신#
YOLOv10은 NMS 없이 학습하기 위한 일관된 이중 할당(dual assignments) 방식을 도입했습니다. 학습 중에 one-to-many 및 one-to-one 레이블 할당을 모두 활용하여 네트워크가 풍부한 표현을 학습하게 함과 동시에, 추론 시 객체당 최적의 bounding box 하나를 고유하게 출력합니다. 또한 이 아키텍처는 효율성과 정확도를 모두 고려한 전체적인 설계를 포함하여, 분류 헤드(classification head)를 간소화하고 이전 버전에서 발견되던 계산 중복성을 줄였습니다.
모델 세부 정보#
- 저자: Ao Wang, Hui Chen, Lihao Liu 외
- 조직: Tsinghua University
- 날짜: 2024-05-23
- 논문: YOLOv10: Real-Time End-to-End Object Detection
- GitHub: THU-MIG/yolov10
- 문서: YOLOv10 Documentation
YOLOv10은 NMS 단계를 제거하므로, 경계 박스 필터링을 위한 커스텀 런타임 플러그인에 의존하지 않고도 ONNX format 및 NVIDIA TensorRT와 같은 포맷으로 내보내는 것이 본질적으로 더 쉽습니다.
강점:
- 예측 가능한 추론: NMS를 제거함으로써 장면에 포함된 객체 수와 관계없이 일관된 추론 시간을 보장합니다.
- 더 낮은 메모리 사용량: RT-DETR과 같은 트랜스포머 기반 모델에 비해 YOLOv10은 학습 및 추론 모두에서 요구되는 메모리 요구량이 현저히 낮습니다.
- 우수한 속도/정확도 트레이드오프: performance metrics를 희생하지 않으면서 저지연 시나리오에 맞게 특별히 최적화되었습니다.
약점:
- 단일 작업 집중: 더 넓은 Ultralytics ecosystem과 달리, 원본 YOLOv10 리포지토리는 감지에 크게 중점을 두고 있으며 instance segmentation 또는 pose estimation에 대한 네이티브 지원이 부족합니다.
EfficientDet: 확장 가능하고 균형 잡힌 모델#
Google Brain에서 도입한 EfficientDet은 체계적인 네트워크 스케일링을 통해 객체 탐지에 접근합니다. EfficientNet 이미지 분류 백본을 기반으로 하며 새로운 특징 융합(feature fusion) 메커니즘을 도입합니다.
아키텍처 혁신#
EfficientDet의 핵심은 쉽고 빠른 다중 스케일 특징 융합을 가능하게 하는 **Bi-directional Feature Pyramid Network (BiFPN)**입니다. 하향식으로만 특징을 합산하는 기존 FPN과 달리, BiFPN은 양방향 교차 스케일 연결과 학습 가능한 가중치를 도입하여 다양한 입력 특징의 중요도를 학습합니다. 또한 EfficientDet은 해상도, 깊이, 너비를 모든 백본, 특징 네트워크 및 박스/클래스 예측 네트워크에 대해 균일하게 확장하는 복합 스케일링 방법을 사용합니다.
모델 세부 정보#
- 저자: Mingxing Tan, Ruoming Pang, Quoc V. Le
- 조직: Google Brain
- 날짜: 2019-11-20
- 논문: EfficientDet: Scalable and Efficient Object Detection
- GitHub: Google AutoML EfficientDet
강점:
- 고효율: 매개변수 대비 정확도 비율이 뛰어나며, 더 작은
-d0부터-d2까지의 변형 모델들이 매우 가볍습니다. - 원칙적인 스케일링: 복합 스케일링을 통해 사용자는 자신의 정확한 계산 예산에 맞는 모델 크기를 쉽게 선택할 수 있습니다.
약점:
- 레거시 프레임워크 통합: 원본 구현은 구버전 TensorFlow 버전에 크게 의존하므로 최신 배포 파이프라인이 복잡해질 수 있습니다.
- 느린 학습: EfficientDet을 처음부터 학습시키는 것은 매우 느리며, YOLO 아키텍처의 빠른 수렴 속도에 비해 신중한 하이퍼파라미터 튜닝이 필요합니다.
- 추론 속도: 파라미터 효율성은 좋지만, 복잡한 BiFPN 연산으로 인해 최적화된 YOLO 모델과 비교했을 때 표준 하드웨어에서 실제 추론 속도가 더 느린 경우가 많습니다.
성능 및 벤치마크#
이 모델들의 진정한 시험대는 COCO dataset과 같은 표준 벤치마크에서의 경험적 성능에 있습니다. 아래 표는 매개변수 수, 부동소수점 연산(FLOPs), 그리고 NVIDIA T4 GPUs에서의 추론 지연 시간의 핵심적인 차이를 보여줍니다.
| 모델 | 크기 (픽셀) | mAPval 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.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 |
위에서 볼 수 있듯이, YOLOv10은 순수 추론 속도 면에서 상당한 우위를 유지합니다. 예를 들어, YOLOv10-S는 TensorRT 지연 시간 2.66ms로 46.7 mAP를 달성하는 반면, EfficientDet-d3는 비슷한 47.5 mAP를 달성하지만 거의 20ms가 소요됩니다. 따라서 실시간 비디오 스트리밍이나 빠르게 움직이는 제조 파이프라인에는 YOLOv10이 훨씬 우수합니다.
활용 사례 및 권장 사항#
YOLOv10과 EfficientDet 중 선택은 귀하의 특정 프로젝트 요구 사항, 배포 제약 조건 및 에코시스템 선호도에 따라 달라집니다.
YOLOv10을 선택해야 할 때#
YOLOv10은 다음 용도에 강력한 선택지입니다:
- NMS 없는 실시간 탐지: Non-Maximum Suppression 없이 엔드 투 엔드 탐지를 수행하여 배포 복잡성을 줄이는 애플리케이션.
- 균형 잡힌 속도-정확도 트레이드오프: 다양한 모델 스케일 전반에서 추론 속도와 탐지 정확도 사이의 강력한 균형이 필요한 프로젝트.
- 일관된 지연 시간 애플리케이션: robotics 또는 자율 시스템과 같이 예측 가능한 추론 시간이 중요한 배포 시나리오.
EfficientDet을 선택해야 할 때#
EfficientDet은 다음 경우에 권장됩니다:
- Google Cloud 및 TPU 파이프라인: EfficientDet의 네이티브 최적화가 지원되는 Google Cloud Vision API 또는 TPU 인프라와 깊게 통합된 시스템.
- 컴파운드 스케일링 연구: 네트워크 깊이, 너비 및 해상도 스케일링의 균형 잡힌 효과를 연구하는 데 중점을 둔 학술적 벤치마킹.
- TFLite를 통한 모바일 배포: Android 또는 임베디드 Linux 기기를 위해 TensorFlow Lite 내보내기가 특별히 필요한 프로젝트.
Ultralytics (YOLO26)를 선택해야 할 때#
대부분의 신규 프로젝트의 경우, Ultralytics YOLO26은 성능과 개발자 경험의 최상의 조합을 제공합니다.
- NMS 미사용 엣지 배포: 비최대 억제 후처리의 복잡성 없이 일관되고 낮은 지연 시간의 추론이 필요한 애플리케이션.
- CPU 전용 환경: 전용 GPU 가속이 없는 디바이스에서, 최대 43% 더 빠른 YOLO26의 CPU 추론 속도가 결정적인 이점을 제공합니다.
- 소형 객체 감지: 항공 드론 이미지나 IoT 센서 분석과 같은 까다로운 시나리오에서 ProgLoss와 STAL이 아주 작은 객체의 정확도를 크게 향상시킵니다.
현대의 표준: Ultralytics YOLO26 등장#
YOLOv10이 혁신적인 NMS 프리 패러다임을 도입하고 EfficientDet이 원칙적인 스케일링을 보여주었지만, 컴퓨터 비전 환경은 계속해서 진화해 왔습니다. 오늘날 새로운 프로젝트를 시작하는 개발자들에게 Ultralytics YOLO26은 명실상부한 최고 기술 수준(state of the art)을 나타냅니다. 2026년 1월에 출시된 이 모델은 모든 장점들을 Ultralytics Platform 내에서 매우 세련되고 프로덕션 준비가 완료된 패키지로 통합합니다.
YOLO26이 경쟁 모델보다 우수한 이유#
- 엔드투엔드 NMS-free 설계: YOLO26은 YOLOv10에서 개척된 엔드투엔드 NMS-free 아키텍처를 기본으로 채택하여 배포를 간소화하고 추론 속도를 가속화합니다.
- 최대 43% 더 빠른 CPU 추론: 전용 가속기가 없는 엣지 장치의 경우, YOLO26은 표준 CPU에서 효율적으로 실행되도록 특별히 최적화되었습니다.
- 고급 MuSGD 옵티마이저: LLM 학습 혁신에서 영감을 받은 YOLO26은 SGD와 Muon의 하이브리드를 활용하여 믿을 수 없을 정도로 안정적인 학습과 빠른 수렴을 제공하며, EfficientDet에 비해 training efficiency를 크게 향상시킵니다.
- ProgLoss + STAL: 이러한 개선된 손실 함수는 YOLOv10과 EfficientDet 모두의 전통적인 약점이었던 소형 객체 인식 능력을 획기적으로 향상시킵니다.
- DFL 제거: 분포 초점 손실(Distribution Focal Loss)을 제거함으로써 YOLO26은 OpenVINO 및 CoreML을 포함한 거의 모든 하드웨어 포맷으로 원활하게 내보내집니다.
또한 YOLO26은 타의 추종을 불허하는 다재다능함을 제공합니다. EfficientDet과 YOLOv10은 엄격하게 탐지 모델인 반면, YOLO26은 동일한 직관적인 Ultralytics Python 패키지를 사용하여 회전된 경계 박스(OBB), 이미지 분류, 인스턴스 세그멘테이션을 원활하게 처리합니다.
Ultralytics를 통한 사용 편의성#
Ultralytics가 제공하는 잘 유지 관리되는 생태계는 원활한 개발자 경험을 보장합니다. 모델 학습, 검증, 그리고 TensorRT integration으로의 내보내기는 단 몇 줄의 코드만으로 가능합니다.
from ultralytics import YOLO
# Load a pre-trained YOLOv10 model (or upgrade to YOLO26 natively)
model = YOLO("yolov10n.pt")
# Train the model efficiently on a custom dataset
model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference and immediately visualize results
results = model("https://ultralytics.com/images/bus.jpg")
results[0].show()
# Export for rapid deployment
model.export(format="engine", quantize=16)결론#
YOLOv10과 EfficientDet을 비교할 때, 선택은 프레임워크 선호도와 속도 제약 조건에 크게 좌우됩니다. EfficientDet은 TensorFlow 에코시스템 내에서 모델 스케일링에 대한 구조화된 접근 방식을 제공합니다. 그러나 YOLOv10은 NMS-free 아키텍처 덕분에 더 뛰어난 실시간 성능, 낮은 메모리 사용량, 더 간결한 배포 경로를 제공합니다.
최고의 성능 균형, 사용 편의성, 그리고 멀티태스크 다기능성을 위해 Ultralytics Platform으로 업그레이드하고 YOLO26을 활용하는 것이 강력히 권장됩니다. 이 모델은 YOLOv10의 NMS 프리 혁신을 가져와 MuSGD 옵티마이저와 같은 최첨단 학습 기술을 적용하고, 거대한 글로벌 커뮤니티의 지원을 받는 강력한 오픈소스 프레임워크로 감싸고 있습니다.