EfficientDet과 YOLOv5: 자세한 기술 비교
물체 감지의 환경은 정확도와 계산 효율성의 균형을 유지해야 하는 끊임없는 요구로 인해 빠르게 발전해 왔습니다. 이 분야에 큰 영향을 미친 두 가지 아키텍처는 Google Brain 팀에서 개발한 EfficientDet과YOLOv5가 있습니다. 두 모델 모두 이미지 내의 물체를 효율적으로 detect 것을 목표로 하지만, 근본적으로 다른 설계 철학과 아키텍처 전략으로 문제에 접근합니다.
이 가이드는 개발자, 연구원, 엔지니어가 특정 컴퓨터 비전 애플리케이션에 적합한 도구를 선택하는 데 도움이 되는 심층적인 기술 비교를 제공합니다.
EfficientDet: 확장성 및 효율성
2019년 말에 출시된 EfficientDet은 정확도와 효율성을 동시에 최적화한다는 연구 목표에서 출발했습니다. 이 솔루션은 백본 네트워크의 해상도, 깊이, 폭을 균일하게 확장하는 방법인 '복합 스케일링' 개념을 객체 감지에 도입했습니다.
- 작성자: Mingxing Tan, Ruoming Pang, Quoc V. Le
- 조직:조직:Google 브레인
- 날짜 날짜: 2019년 11월 20일
- Arxiv:EfficientDet: 확장 가능하고 효율적인 물체 감지
아키텍처 하이라이트
EfficientDet은 EfficientNet 백본을 기반으로 구축되었으며, BiFPN (양방향 피처 피라미드 네트워크)이라는 새로운 피처 융합 네트워크를 도입했습니다. 정보 흐름을 하향식으로 제한하는 기존의 피처 피라미드 네트워크(FPN) 와 달리, BiFPN은 서로 다른 해상도 레이어 간에 복잡한 양방향 정보 흐름을 허용합니다.
이 모델은 또한 사용자가 리소스 제약 조건에 따라 모델 제품군(D0~D7) 중에서 선택할 수 있는 복합 스케일링을 활용합니다. 따라서 더 많은 컴퓨팅을 사용할 수 있는 경우 모델 크기를 선형적으로 늘려 정확도를 높일 수 있습니다.
강점과 약점
EfficientDet의 가장 큰 강점은 이론적 효율성에 있습니다. 높은 mAP 점수가 현저히 낮다는 점입니다(부동 소수점 연산). 따라서 매개변수 효율성이 핵심 지표인 학술 연구에 흥미로운 후보가 될 수 있습니다.
그러나 EfficientDet에는 추론 지연이라는 실질적인 단점이 있습니다. BiFPN의 복잡한 연결과 깊이별 분리 가능 컨볼루션의 많은 사용은 수학적으로 효율적이지만 표준 컨볼루션에 비해 GPU 하드웨어에서 완전히 최적화되지 않은 경우가 많습니다. 따라서 낮은 FLOP에도 불구하고 EfficientDet은 이론적 계산 비용이 더 높은 모델보다 GPU에서 느리게 실행될 수 있습니다.
Ultralytics YOLOv5: 실제 성능 및 사용성
2020년에 출시된 Ultralytics YOLOv5 패러다임의 전환을 의미했습니다. 이전 버전과는 달리, 이 YOLO 기본적으로 PyTorch에서 기본적으로 구현되어 대규모 개발자 생태계에서 사용할 수 있게 되었습니다. 이 모델은 원시 성능과 함께 '배포 편의성'을 우선시했습니다.
- 작성자: Glenn Jocher
- 조직:Ultralytics
- 날짜 날짜: 2020년 6월 26일
- GitHub:yolov5
아키텍처 하이라이트
YOLOv5 그라디언트 흐름을 최적화하고 계산을 줄여주는 CSPDarknet 백본을 사용합니다. 이 모델은 훈련 중에 모자이크 증강 (4개의 이미지를 이어 붙이는 기술)을 사용하여 작은 물체를 detect 모델의 능력을 향상시키고 대규모 미니 배치 크기의 필요성을 줄였습니다.
이 아키텍처는 속도를 위해 설계되었습니다. 표준 컨볼루션과 간소화된 헤드 구조를 활용하는 YOLOv5 최신 GPU의 병렬 처리 기능을 극대화하여 추론 지연 시간을 매우 낮춥니다.
Ultralytics 에코시스템의 이점
YOLOv5 가장 큰 장점 중 하나는 주변 에코시스템입니다. Ultralytics 자동 앵커 생성, 하이퍼파라미터 진화, 기본 내보내기 지원을 포함한 원활한 워크플로우를 다음과 같이 제공합니다. ONNX, TensorRT, CoreML 및 TFLite 대한 기본 내보내기 지원을 포함합니다. 이러한 '배터리 포함' 접근 방식은 개념에서 생산에 이르는 시간을 획기적으로 단축합니다.
강점과 약점
YOLOv5 실시간 추론과 사용 편의성이 뛰어납니다. 간단한 API와 강력한 설명서를 통해 개발자는 몇 분 만에 자체 데이터에 대한 맞춤형 모델을 학습할 수 있습니다. 엣지 AI 및 클라우드 배포에 최적화된 방식으로 속도와 정확성의 균형을 맞춥니다. 다음과 같은 최신 모델은 YOLO11 과 같은 최신 모델이 정확도 면에서 이를 능가하고 있지만, YOLOv5 여전히 신뢰할 수 있는 업계 표준으로 사용되고 있습니다.
성능 지표: 속도 대 정확도
다음 표는 COCO val2017 데이터 세트에서 EfficientDet과 YOLOv5 성능을 비교한 것입니다. 핵심은 이론적 비용(FLOPs)과 실제 속도(지연 시간)의 차이입니다.
| 모델 | 크기 (픽셀) | 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 |
| 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 |
그림과 같이, GPU 지연 시간에서 우위를 점하는 YOLOv5. 예를 들어 YOLOv5s (37. mAP)에서 실행됩니다. 1.92ms 의 경우, T4 GPU EfficientDet-d0 (34. mAP) 소요 시간 3.92ms- 대략적으로 YOLOv5 만들기 2배 빠른 속도 보다 높은 정확도를 제공합니다. 이러한 격차는 대형 모델일수록 더 커집니다; YOLOv5l (49. mAP)는 거의 5배 빠른 속도 보다 EfficientDet-d4 (49. mAP).
반대로, 더 작은 D0 변형의 ONNX CPU 속도에서 볼 수 있듯이, 낮은 FLOP이 종종 성능으로 더 잘 변환되는 CPU 환경에서 EfficientDet이 빛을 발합니다.
이상적인 사용 사례
이러한 모델 중에서 선택하는 것은 특정 제약 조건에 따라 달라집니다:
EfficientDet을 선택해야 하는 경우
- 학술 벤치마킹: 매개변수 효율성 또는 아키텍처 확장 법칙을 입증하는 것이 주요 목표인 경우.
- 엄격한 CPU 제약: 배포가 FLOP이 절대적인 병목 현상인 구형 CPU 하드웨어로 엄격하게 제한되는 경우, 가장 작은 EfficientDet 변형(D0-D1)이 경쟁력 있는 성능을 제공합니다.
- 연구: 연구: BiFPN과 같은 피처 피라미드 네트워크 변형을 연구합니다.
Ultralytics YOLOv5 선택해야 하는 경우
- 실시간 애플리케이션: 지연 시간이 짧아야 하는 자율 주행 차량, 로봇 공학, 비디오 감시에 필수적입니다.
- 프로덕션 배포: 잘 관리된 에코시스템과 TensorRT 및 OpenVINO 같은 엔진으로 쉽게 내보낼 수 있는 YOLOv5 상용 제품에 탁월한 제품입니다.
- 학습 효율성: YOLOv5 모델은 일반적으로 EfficientDet 또는 Transformer 기반 모델과 같은 복잡한 아키텍처보다 더 빠르게 학습하고 더 적은 메모리를 필요로 하므로 클라우드 컴퓨팅 비용을 절감할 수 있습니다.
- 다용도성: 단순한 경계 상자를 넘어, Ultralytics 프레임워크를 통해 세분화 및 분류 작업으로 원활하게 전환할 수 있습니다.
코드 예제: Ultralytics 단순성
Ultralytics 모델의 가장 큰 특징 중 하나는 사용의 용이성입니다. EfficientDet을 구현하려면 복잡한 TensorFlow 구성이나 특정 저장소 클론이 필요한 경우가 많지만, YOLOv5 PyTorch Hub를 통해 단 몇 줄의 Python 코드만으로 로드 및 실행할 수 있습니다.
import torch
# Load the YOLOv5s model from the official Ultralytics repository
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)
# Define an image (URL or local path)
img = "https://ultralytics.com/images/zidane.jpg"
# Perform inference
results = model(img)
# Display results
results.print() # Print predictions to console
results.show() # Show image with bounding boxes
결론 및 향후 전망
EfficientDet은 복합 확장 및 효율적인 기능 융합의 가치를 입증함으로써 컴퓨터 비전의 중요한 이정표를 세웠습니다, YOLOv5 는 고성능 객체 감지에 대한 접근성, 속도, 배포 가능성을 높여 업계에 혁신을 가져왔습니다.
지금 새로운 프로젝트를 시작하는 개발자에게는 Ultralytics 계보의 최신 발전 사항을 살펴보는 것을 추천합니다. YOLO11 은 YOLOv5 강력한 기반 위에 구축되어 다음과 같은 기능을 제공합니다:
- 정확도와 속도가 더욱 향상되었습니다.
- 다음에 대한 기본 지원 포즈 추정, 인스턴스 세분화및 OBB.
- 통합 python 패키지
ultralytics전체 MLOps 라이프사이클을 간소화합니다.
Ultralytics 모델을 다른 아키텍처와 비교하는 방법에 대한 자세한 내용은 다음과 같이 비교해보십시오. YOLOv8 및 RT-DETR.