EfficientDet과 YOLOv9: 객체 감지 효율성의 진화
빠르게 변화하는 컴퓨터 비전의 세계에서 올바른 모델 아키텍처를 선택하는 것은 성능, 속도, 컴퓨팅 리소스 간의 균형을 맞추는 데 매우 중요합니다. 이 가이드에서는 Google Research에서 개발한 획기적인 모델인 EfficientDet과 다음을 포괄적으로 비교합니다. YOLOv9과 Ultralytics 에코시스템에 통합된 최첨단 탐지기를 종합적으로 비교합니다. 두 모델의 아키텍처 혁신을 분석하고 성능 메트릭을 벤치마킹하여 최신 실시간 객체 탐지 애플리케이션에 가장 적합한 모델을 결정합니다.
EfficientDet: 확장 가능한 효율성의 선구자
2019년 말에 출시된 EfficientDet은 수년간의 후속 연구에 영향을 미친 모델 확장에 대한 체계적인 접근 방식을 도입했습니다. Google 리서치 팀이 개발한 이 도구는 정확도를 떨어뜨리지 않으면서 효율성을 최적화하는 것을 목표로 했습니다.
기술 세부 사항:
- 작성자: Mingxing Tan, Ruoming Pang, Quoc V. Le
- 조직:조직:Google 리서치
- 날짜: 2019-11-20
- Arxiv:EfficientDet: 확장 가능하고 효율적인 물체 감지
- GitHub:google
아키텍처 및 주요 기능
EfficientDet은 EfficientNet 백본을 기반으로 구축되었으며 양방향 피처 피라미드 네트워크(BiFPN)를 도입했습니다. 기존 FPN과 달리 BiFPN은 학습 가능한 가중치를 도입해 다양한 입력 특징의 중요성을 학습함으로써 쉽고 빠른 멀티스케일 특징 융합을 가능하게 합니다. 이 모델은 모든 백본, 특징 네트워크, 박스/클래스 예측 네트워크에 대해 해상도, 깊이, 폭을 동시에 균일하게 확장하는 복합 확장 방법을 사용합니다.
강점과 약점
EfficientDet은 YOLOv3와 같은 동시대 제품보다 적은 수의 파라미터로 높은 정확도를 달성할 수 있다는 점에서 혁신적이었습니다. 이 모델의 주요 강점은 확장성에 있으며, 모델 제품군(D0~D7)을 통해 사용자가 특정 리소스 절충안을 선택할 수 있습니다.
그러나 최신 표준에 따르면 EfficientDet은 특히 GPU 하드웨어에서 추론 속도가 느립니다. 복잡한 특징 융합 레이어는 정확하지만 최신 아키텍처만큼 하드웨어 친화적이지 않습니다. 또한, 원래 구현에는 최신 프레임워크에서 볼 수 있는 사용자 친화적인 도구가 부족하여 교육과 배포에 더 많은 노동력이 소요됩니다.
사용 사례
EfficientDet은 여전히 관련성이 있습니다:
- 학술 연구: 복합 스케일링 및 특징 융합 원리를 이해하는 데 적합합니다.
- 레거시 시스템: TensorFlow 에코시스템 내에 구축된 기존 파이프라인을 유지 관리합니다.
- CPU 환경: 파라미터 효율성이 낮은 FPS 애플리케이션에 합리적인 성능을 제공할 수 있는 경우.
YOLOv9: 실시간 성능의 재정의
2024년 초 도입, YOLOv9 은 딥 러닝 정보 병목 현상을 해결하여 뛰어난 효율성을 달성하는 YOLO 시리즈의 비약적인 발전을 의미합니다. 이 기능은 Ultralytics python 패키지 내에서 완벽하게 지원되므로 개발자에게 원활한 환경을 보장합니다.
기술 세부 사항:
- 저자: Chien-Yao Wang, Hong-Yuan Mark Liao
- 조직:기관: 대만 학술원 정보 과학 연구소
- 날짜: 2024-02-21
- Arxiv:YOLOv9: 프로그래밍 가능한 그라데이션 정보를 사용하여 학습하고자 하는 것을 학습하기
- GitHub:WongKinYiu/yolov9
- 문서:Ultralytics YOLOv9 문서
아키텍처 및 주요 기능
YOLOv9 두 가지 획기적인 개념이 도입되었습니다: 프로그래밍 가능한 그라디언트 정보(PGI) 와 일반화된 효율적인 레이어 집계 네트워크(GELAN)입니다.
- PGI는 데이터가 신경망의 심층 계층을 통과할 때 발생하는 정보 손실을 해결하여 모델 가중치를 업데이트하는 데 사용되는 그라데이션이 신뢰할 수 있도록 합니다.
- GELAN은 계산 효율성을 우선시하는 경량 아키텍처입니다. 이를 통해 모델은 깊이별 컨볼루션 기반 방식에 비해 더 적은 파라미터와 계산 비용(FLOPs)으로 더 높은 정확도를 달성할 수 있습니다.
강점 및 장점
- 뛰어난 속도-정확도 트레이드오프: 벤치마킹 결과에서 알 수 있듯이 YOLOv9 정확도를 유지하거나 초과하면서 추론 지연 시간에서 EfficientDet보다 훨씬 뛰어난 성능을 발휘합니다.
- Ultralytics 에코시스템: Ultralytics 통합을 통해 간단한 Python API, CLI 도구에 액세스하고 ONNX, TensorRT, CoreML 같은 형식으로 쉽게 내보낼 수 있습니다.
- 트레이닝 효율성: YOLOv9 모델은 일반적으로 훈련 중에 더 적은 메모리를 필요로 하고 이전 아키텍처보다 더 빠르게 수렴하므로 최적화된 Ultralytics 훈련 파이프라인의 이점을 누릴 수 있습니다.
- 다목적성: 이 아키텍처는 표준 탐지를 넘어 복잡한 작업을 지원하여 고급 세분화 및 멀티태스크 학습을 위한 기반을 마련합니다.
알고 계셨나요?
YOLOv9 GELAN 아키텍처는 하드웨어에 구애받지 않도록 설계되어 일부 트랜스포머 기반 모델처럼 특정 하드웨어 최적화가 필요 없이 에지 TPU부터 하이엔드 NVIDIA GPU까지 다양한 추론 장치에서 효율적으로 실행됩니다.
성능 분석
다음 비교는 EfficientDet 제품군에 비해 YOLOv9 추론 속도와 효율성이 크게 향상되었음을 강조합니다.
| 모델 | 크기 (픽셀) | 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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
중요한 벤치마크 인사이트
- 엄청난 속도 이점: YOLOv9c 모델은 T4 GPU 단 7.16ms의 추론 속도로 경쟁력 있는 53. mAP 달성합니다. 이와 대조적으로, 비슷한 성능의 EfficientDet-d6 (52. mAP)은 89.29ms로 크롤링합니다. 따라서 자율 주행 차량이나 교통 모니터링과 같은 실시간 애플리케이션에 중요한 요소인 정확도는 비슷하면서 YOLOv9 속도가 12배 이상 빠릅니다.
- 파라미터 효율성: 하위 스펙트럼의 경우, YOLOv9t는 2.0만 개의 파라미터로 강력한 38. mAP 제공하여 정확도 면에서 EfficientDet-d0 기준선을 능가하는 동시에 거의 절반의 파라미터를 사용하고 훨씬 빠르게 실행됩니다.
- 하이엔드 정밀도: 최대 정밀도가 필요한 작업의 경우, YOLOv9e는 55. mAP 한계를 뛰어넘어 가장 큰 EfficientDet-d7 모델보다 성능이 뛰어나면서도 128ms라는 엄청난 D7과 달리 여전히 비디오 처리에 적합한 지연 시간(16.77ms)을 유지합니다.
통합 및 사용 편의성
이 두 모델의 가장 중요한 차이점 중 하나는 두 모델을 둘러싼 에코시스템입니다. EfficientDet은 구형 TensorFlow 리포지토리에 의존하는 반면, YOLOv9 Ultralytics 라이브러리의 일류 시민입니다.
Ultralytics 이점
Ultralytics 함께 YOLOv9 사용하면 전체 머신 러닝 라이프사이클을 간소화하는 잘 관리된 에코시스템이 제공됩니다. 데이터 세트에 주석을 다는 것부터 엣지 디바이스에 배포하는 것까지 워크플로우가 간소화됩니다.
- 간단한 API: 몇 줄의 Python 코드만으로 모델을 학습, 검증 및 배포할 수 있습니다.
- 폭넓은 호환성: 내보내기 모드를 사용하여 모델을 ONNX, TensorRT, OpenVINO 및 CoreML 손쉽게 내보낼 수 있습니다.
- 커뮤니티 지원: 광범위한 문서와 활발한 커뮤니티를 통해 일반적인 문제에 대한 해결책을 쉽게 찾을 수 있습니다.
다음은 Ultralytics Python API를 사용하여 YOLOv9 추론을 실행하는 것이 얼마나 쉬운지 보여주는 실제 예시입니다:
from ultralytics import YOLO
# Load a pre-trained YOLOv9 compact model
model = YOLO("yolov9c.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Process results
for result in results:
result.show() # Display predictions
result.save() # Save image to disk
애플리케이션의 다양성
EfficientDet은 엄밀히 말해 물체 감지기에 해당하지만, YOLOv9 Ultralytics 프레임워크의 아키텍처 원칙은 보다 광범위한 비전 작업을 지원합니다. 사용자는 동일한 코드베이스 내에서 객체 감지, 인스턴스 세분화, 포즈 추정 간에 쉽게 전환할 수 있으므로 복잡한 프로젝트의 기술적 부채를 줄일 수 있습니다.
결론
EfficientDet과 YOLOv9 비교하면 최신 컴퓨터 비전 개발을 위한 선택은 분명해집니다. EfficientDet은 모델 확장 효율성을 정의하는 데 역사적인 역할을 했습니다, YOLOv9 은 오늘날 개발자와 관련된 거의 모든 메트릭에서 이를 대체합니다.
YOLOv9 파라미터당 뛰어난 정확도, 수 배 빠른 추론 속도, 강력하고 개발자 친화적인 에코시스템을 제공합니다. 제한된 엣지 디바이스에 배포하든 클라우드에서 처리량이 많은 비디오 스트림을 처리하든, YOLOv9 성공에 필요한 성능 균형을 제공합니다.
새로운 프로젝트를 시작하시는 분들은 YOLOv9 또는 최신 버전의 YOLO11 을 활용하여 애플리케이션이 딥 러닝 효율성의 최신 발전의 이점을 누릴 수 있도록 하세요.
다른 모델 살펴보기
Ultralytics 제품군 내에서 더 많은 옵션을 탐색하고 싶다면 다음 모델을 고려해 보세요:
- YOLO11: YOLO 시리즈의 최신 진화 모델로, detection, segmentation 및 분류 작업에서 최첨단 성능을 제공합니다.
- YOLOv10: Non-Maximum Suppression (NMS)이 필요 없는 실시간 엔드 투 엔드 detector입니다.
- RT-DETR: 정확도가 뛰어나 CNN 기반 아키텍처에 대한 최신 대안을 제공하는 Transformer 기반 detector입니다.