EfficientDet 대 YOLOv8: 기술 비교
적합한 객체 감지 모델을 선택하는 것은 정확도, 속도 및 계산 비용의 균형을 맞추는 중요한 결정입니다. 이 페이지에서는 Google에서 개발한 EfficientDet과 Ultralytics의 최첨단 모델인 Ultralytics YOLOv8이라는 두 가지 영향력 있는 아키텍처 간의 자세한 기술 비교를 제공합니다. EfficientDet은 파라미터 및 계산 효율성으로 유명하지만 YOLOv8은 포괄적이고 사용자 친화적인 생태계 내에서 실시간 속도, 높은 정확도 및 탁월한 다재다능성의 뛰어난 조합을 제공하는 데 탁월합니다.
EfficientDet: 확장 가능하고 효율적인 아키텍처
작성자: 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
Docs: https://github.com/google/automl/tree/master/efficientdet#readme
EfficientDet은 Google Brain 팀에서 매우 효율적이고 확장 가능한 객체 감지기 제품군을 만드는 데 주안점을 두고 도입되었습니다. 핵심 혁신은 아키텍처 및 확장 방법론에 있습니다.
아키텍처 및 주요 기능
EfficientDet의 디자인은 두 가지 주요 구성 요소를 중심으로 합니다.
- BiFPN (양방향 특징 피라미드 네트워크): 기존 하향식 FPN과 달리 BiFPN은 다양한 입력 특징의 중요도를 파악하고 하향식 및 상향식 연결을 모두 적용하기 위해 학습 가능한 가중치를 도입하여 쉽고 빠른 다중 스케일 특징 융합을 가능하게 합니다.
- Compound Scaling: EfficientDet은 단일 Compound Scaling 계수를 사용하여 백본, 특징 네트워크 및 박스/클래스 예측 네트워크의 깊이, 너비 및 해상도를 균일하게 조정합니다. 이를 통해 전체 모델에서 리소스의 균형 잡힌 할당을 보장합니다.
이 아키텍처는 EfficientNet을 백본으로 사용하며, 이는 이미 정확도와 FLOP 효율성에 최적화되어 있습니다. 이러한 조합을 통해 다양한 컴퓨팅 예산에 맞게 조정할 수 있는 모델 제품군(D0~D7)이 탄생했습니다.
강점
- 높은 효율성: EfficientDet 모델은 파라미터 수와 FLOPs를 최소화하도록 설계되어 주어진 정확도 수준에 대해 연산 자원 측면에서 매우 효율적입니다.
- 확장성: 복합 스케일링 방식은 모델을 확장하거나 축소할 수 있는 명확한 경로를 제공하므로 개발자는 특정 하드웨어 제약 조건에 맞는 변형을 선택할 수 있습니다.
- 높은 정확도: 특히 유사한 파라미터 수를 가진 모델과 비교했을 때 경쟁력 있는 mAP 점수를 달성합니다.
약점
- 추론 속도: FLOP 효율적이지만, EfficientDet은 특히 GPU 하드웨어에서 YOLOv8과 같은 모델에 비해 추론 지연 시간이 더 높은 경우가 많습니다. 따라서 진정한 실시간 추론이 필요한 애플리케이션에는 적합하지 않을 수 있습니다.
- 제한적인 다용도성: EfficientDet은 주로 객체 감지를 위해 설계되었습니다. YOLOv8 프레임워크에 기본적으로 내장된 분할 또는 포즈 추정과 같은 다른 비전 작업에 대한 기본 지원이 부족합니다.
- 생태계 및 사용성: 원래 구현은 TensorFlow로 되어 있으며 PyTorch 포트가 존재하지만 Ultralytics 생태계와 동일한 수준의 통합 툴링, 문서 및 활발한 커뮤니티 지원이 없습니다.
Ultralytics YOLOv8: 속도와 다재다능성의 최첨단
작성자: Glenn Jocher, Ayush Chaurasia, Jing Qiu
소속: Ultralytics
날짜: 2023-01-10
GitHub: https://github.com/ultralytics/ultralytics
문서: https://docs.ultralytics.com/models/yolov8/
Ultralytics YOLOv8은(는) 수년간의 연구 개발을 통해 빠르고 정확하며 사용하기 매우 쉬운 모델을 제공하는 데 성공한 YOLO 시리즈의 최신 버전입니다. 성능과 프레임워크 설계 모두에서 획기적인 발전을 이루었습니다.
아키텍처 및 주요 기능
YOLOv8은 새로운 앵커 프리(detection head)와 C2f로 알려진 새로운 CSP 기반 백본을 포함하여 여러 아키텍처 개선 사항을 도입했습니다. 이러한 변경 사항은 높은 정확도를 유지하면서 파라미터 수를 줄이고 더 빠른 추론을 가능하게 합니다. 이 모델은 다양한 컴퓨터 비전 작업을 위한 포괄적인 플랫폼이 되도록 처음부터 설계되었습니다.
강점
- 탁월한 성능 균형: YOLOv8은 속도와 정확도 간에 뛰어난 균형을 달성하여 성능 저하 없이 실시간 애플리케이션에 적합합니다. 아래 표에서 볼 수 있듯이 YOLOv8 모델은 GPU에서 지속적으로 더 낮은 지연 시간을 제공합니다.
- 탁월한 다재다능함: 단일 작업 모델과 달리 YOLOv8은 단일 통합 아키텍처 내에서 객체 감지, 인스턴스 분할, 이미지 분류, 포즈 추정 및 객체 추적을 기본적으로 지원하는 다중 작업 프레임워크입니다.
- 사용 편의성: YOLOv8은 간소화된 Python API 및 CLI, 광범위한 설명서 및 간단한 사용자 경험을 포함하는 강력한 Ultralytics 생태계에서 지원됩니다.
- 잘 관리되는 에코시스템: 사용자는 활발한 개발, 강력한 오픈 소스 커뮤니티, 잦은 업데이트, 그리고 노코드 학습 및 배포를 위한 Ultralytics HUB와 같은 도구와의 원활한 통합을 통해 이점을 얻습니다.
- 학습 효율성: YOLOv8은 효율적인 학습 프로세스를 특징으로 하며, COCO와 같은 데이터 세트에 대해 즉시 사용 가능한 사전 학습된 가중치를 제공하고, 일반적으로 더 복잡한 아키텍처보다 적은 CUDA 메모리를 필요로 합니다.
- 배포 유연성: 이 프레임워크는 ONNX 및 TensorRT와 같은 다양한 형식으로 내보내도록 고도로 최적화되어 있어 에지 장치에서 클라우드 서버에 이르기까지 다양한 하드웨어에 대한 배포를 간소화합니다.
약점
- FLOPs 대 지연 시간: 실제로 매우 빠르지만 YOLOv8은 유사한 mAP 수준에서 EfficientDet 모델보다 더 높은 FLOPs를 가질 수 있습니다. 그러나 아키텍처는 최신 GPU 하드웨어에 더 최적화되어 실제 지연 시간이 더 짧습니다.
성능 분석: 정확도 vs. 속도
EfficientDet과 YOLOv8의 주요 차이점은 성능 지표를 분석할 때 분명해집니다. EfficientDet은 FLOP당 정확도를 최적화하도록 설계되었지만 YOLOv8은 실제 하드웨어에서 높은 처리량과 짧은 지연 시간을 위해 최적화되었습니다.
모델 | 크기 (픽셀) |
mAPval 50-95 |
속도 CPU ONNX (ms) |
속도 T4 TensorRT10 (ms) |
파라미터 (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
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 |
YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
표에서 다음과 같은 몇 가지 결론을 내릴 수 있습니다.
- 정확도: YOLOv8x는 가장 높은 mAP인 53.9를 달성하여 가장 큰 EfficientDet-d7 모델을 약간 앞섭니다.
- 속도: YOLOv8 모델은 GPU(T4 TensorRT10)에서 훨씬 빠르며, YOLOv8n은 EfficientDet-d0보다 2.5배 이상 빠릅니다. 이러한 속도 이점은 모든 모델 크기에서 유지되므로 YOLOv8이 실시간 애플리케이션에서 확실한 승자입니다.
- 효율성: EfficientDet은 더 작은 모델에서 FLOPs 및 CPU 속도가 뛰어납니다. 예를 들어 EfficientDet-d0는 가장 낮은 FLOPs와 가장 빠른 CPU 추론 시간을 갖습니다. 그러나 YOLOv8n은 파라미터가 더 적어 매우 가볍습니다.
결론: 어떤 모델을 선택해야 할까요?
EfficientDet은 특히 계산 리소스(FLOP) 및 모델 크기가 가장 중요한 제약 조건인 애플리케이션에 적합한 강력하고 관련성 높은 아키텍처로 남아 있습니다. 확장 가능한 설계를 통해 처리 능력이 제한된 장치에서 정확도와 효율성의 균형을 맞출 수 있습니다.
하지만 대부분의 최신 컴퓨터 비전 애플리케이션에서는 Ultralytics YOLOv8이(가) 더 나은 선택입니다. 최첨단 정확도, 매우 빠른 추론 속도 및 탁월한 다재다능성을 제공하여 전반적으로 더 나은 패키지를 제공합니다. 단일하고 사용하기 쉬운 프레임워크 내에서 감지, 분할, 포즈 등을 처리할 수 있는 기능은 개발 및 배포를 획기적으로 간소화합니다. 잘 관리되는 생태계, 광범위한 문서 및 활발한 커뮤니티는 개념에서 생산에 이르기까지 모든 프로젝트를 가속화하는 수준의 지원을 제공합니다.
견고하고 고성능이며 미래 지향적인 솔루션을 찾는 개발자에게 YOLOv8은 명확한 권장 사항입니다. 최고의 최신 성능을 원하는 사람들을 위해 YOLO11과 같은 최신 Ultralytics 모델은 경계를 더욱 넓힙니다.
다른 모델 살펴보기
연구를 계속하려면 EfficientDet, YOLOv8 및 기타 주요 아키텍처와 관련된 다른 모델 비교를 살펴보십시오.
- EfficientDet vs. YOLOv7
- YOLOv8 vs. YOLOv7
- RT-DETR vs. YOLOv8
- EfficientDet vs. YOLOv5
- YOLOv8 vs. YOLOv9
- YOLOv10 및 YOLO11과 같은 최신 모델을 살펴보세요.