YOLOv10 EfficientDet: 기술 비교
지난 몇 년 동안 객체 감지의 환경은 복잡한 다단계 파이프라인에서 간소화된 실시간 아키텍처로 전환하면서 빠르게 발전해 왔습니다. 이 비교에서는 다음과 같은 기술적 차이점을 살펴봅니다. YOLOv10과 칭화대학교 연구진이 2024년에 발표한 최첨단 모델인 YOLOv10, 그리고 2019년에 Google 도입한 선구적인 아키텍처인 EfficientDet의 기술적 차이점을 살펴봅니다.
EfficientDet이 당시 매개변수 효율성에 대한 벤치마크를 설정했다면, YOLOv10 지연 시간과 정확도의 한계를 뛰어넘어 추론 속도를 크게 향상시키는 NMS 훈련 패러다임을 도입했습니다. 이 가이드에서는 아키텍처, 성능 메트릭, 이상적인 사용 사례를 분석하여 컴퓨터 비전 프로젝트에 적합한 모델을 선택하는 데 도움을 드립니다.
YOLOv10: 실시간 엔드투엔드 객체 감지
YOLOv10 추론 속도에 병목 현상을 일으키는 비최대 억제NMS) 후처리 단계를 제거하는 데 중점을 둔 YOLO (You Only Look Once) 시리즈에서 크게 도약한 제품입니다. NMS 훈련을 위해 일관된 이중 할당을 사용함으로써 이전 반복에 비해 지연 시간을 줄이면서 경쟁력 있는 성능을 달성합니다.
기술 세부 사항:
- 저자: Ao Wang, Hui Chen, Lihao Liu 외
- 조직:조직: 칭화 대학교
- 날짜: 2024-05-23
- Arxiv:YOLOv10: 실시간 엔드투엔드 객체 감지
- GitHub:THU-MIG/yolov10
주요 아키텍처 기능
YOLOv10 전체적인 효율성-정확성 중심의 모델 설계를 도입합니다. 핵심 혁신은 이중 과제 전략에 있습니다. 이 모델은 교육 중에 풍부한 감독을 위해 일대다 할당( YOLOv8 일반적)과 NMS 없이 엔드투엔드 배포를 보장하기 위한 일대일 할당을 모두 사용합니다.
- NMS 훈련: 기존 감지기는 NMS 중복된 경계 상자를 필터링해야 하므로 추론 지연 시간이 발생합니다. YOLOv10 아키텍처는 추론 중에 모델이 객체당 하나의 박스를 정확하게 예측할 수 있도록 하여 이러한 오버헤드를 효과적으로 제거합니다.
- 효율성 중심 설계: 이 모델은 경량 분류 헤드와 공간 채널 디커플링 다운샘플링을 활용하여 계산 비용(FLOPs)과 매개변수 수를 줄입니다.
- 대형 커널 컨볼루션: 대형 커널 깊이별 컨볼루션을 선택적으로 사용함으로써 YOLOv10 계산을 크게 늘리지 않고도 작은 물체를 detect 수 있는 수용 필드와 기능을 향상시킵니다.
NMS 중요한 이유
비최대 억제NMS를 제거하면 진정한 엔드투엔드 파이프라인이 만들어집니다. 이는 NVIDIA Jetson 디바이스와 같이 밀리초가 중요한 엣지 AI 애플리케이션에 매우 중요하며, 안정적이고 예측 가능한 지연 시간을 보장합니다.
강점
- 뛰어난 속도: 실시간 추론에 최적화되어 GPU 하드웨어에서 이전 모델보다 훨씬 뛰어난 성능을 발휘합니다.
- Ultralytics 통합: Ultralytics 에코시스템의 일부인 YOLOv10 간단한 Python API를 활용하여 교육, 검증 및 배포가 매우 쉽습니다.
- 메모리 사용량 감소: 효율적인 아키텍처는 다음과 같은 트랜스포머 기반 검출기에 비해 트레이닝 중에 CUDA 메모리를 덜 필요로 합니다. RT-DETR.
EfficientDet: 확장 가능하고 효율적인 아키텍처
Google 브레인 팀에서 개발한 EfficientDet은 정확도와 효율성을 모두 최적화하도록 설계되었습니다. 해상도, 깊이, 폭을 균일하게 조정하는 복합 스케일링 방법을 사용하여 스케일링된 모델 제품군(D0-D7)을 도입했습니다.
기술 세부 사항:
- 작성자: Mingxing Tan, Ruoming Pang, Quoc V. Le
- 조직:Google
- 날짜: 2019-11-20
- Arxiv:EfficientDet: 확장 가능하고 효율적인 물체 감지
- GitHub:google
주요 아키텍처 기능
EfficientDet은 EfficientNet 백본을 기반으로 구축되었으며 BiFPN (양방향 피처 피라미드 네트워크)을 도입했습니다.
- BiFPN: 표준 FPN과 달리 BiFPN은 양방향 정보 흐름을 허용하고 학습 가능한 가중치를 사용하여 서로 다른 규모의 특징을 융합합니다. 따라서 더 적은 수의 파라미터로 더 나은 멀티스케일 피처 표현이 가능합니다.
- 복합 확장: 이 방법은 백본, 특징 네트워크, 박스/클래스 예측 네트워크가 함께 효율적으로 확장되도록 합니다. D0 모델은 모바일용으로 작고 빠르며, D7 모델은 리소스가 많은 환경을 위해 최첨단 정확도를 제공합니다.
강점과 약점
- 파라미터 효율성: EfficientDet은 높은 mAP 를 달성하는 것으로 유명합니다.
- 확장성: D0-D7 제품군은 다양한 계산 예산에 맞는 유연성을 제공합니다.
- 높은 지연 시간: 낮은 FLOP 수에도 불구하고 BiFPN의 복잡한 연결과 깊이별로 분리 가능한 컨볼루션은 YOLO 모델의 간소화된 CNN 아키텍처에 비해 GPU에서 더 높은 지연 시간을 초래할 수 있습니다.
- 복잡성: 아키텍처는 다음과 같은 간단한 설계에 비해 사용자 지정하거나 조정하기가 더 어렵습니다. Ultralytics YOLOv8 또는 YOLOv10 단순한 설계에 비해 사용자 정의 및 조정이 더 어렵습니다.
성능 분석: 속도 대 효율성
이 두 모델을 비교하면 이론적 효율성 (FLOPs)과 실제 속도 (지연 시간)의 차이가 명확해집니다. EfficientDet은 FLOP을 최소화하는 데 탁월하지만, GPU와 같은 최신 하드웨어에서 실제 추론 속도에서는 YOLOv10 우위를 점합니다.
아래 표는 EfficientDet 모델이 컴팩트하지만 실시간 애플리케이션에서는 YOLOv10 훨씬 더 나은 절충안을 제공한다는 것을 보여줍니다. 예를 들어, YOLOv10 T4 GPU 2.66ms의 지연 시간으로 경쟁력 있는 46.7% mAP 제공하는 반면, EfficientDet-d3 (47.5% mAP)는 19.59ms로 거의 7배 더 느립니다.
| 모델 | 크기 (픽셀) | 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 |
해석
- GPU 우위: YOLOv10 GPU 아키텍처에 잘 매핑되는 하드웨어 인식 설계를 활용하여 처리량이 월등히 우수합니다.
- 정확도 동등: 최신 학습 전략을 통해 YOLOv10은 훨씬 느린 EfficientDet 변종의 정확도와 일치하거나 능가할 수 있습니다.
- 배포: 배포: NMS 필요 없는 YOLOv10 특성 덕분에 다음과 같은 형식으로 내보내기 프로세스가 간소화됩니다. TensorRT 와 같은 형식으로 내보내기 프로세스를 간소화하여 배포 파이프라인의 복잡성을 줄여줍니다.
사용 편의성 및 에코시스템
개발자에게 가장 중요한 요소 중 하나는 모델을 둘러싼 에코시스템입니다. 여기서 Ultralytics 상당한 이점을 제공합니다.
Ultralytics 이점
YOLOv10 데이터 주석부터 배포까지 원활한 환경을 제공하는 Ultralytics Python 패키지에 통합되어 있습니다.
- 간단한 API: 몇 줄의 코드만으로 로드, 학습, 예측이 가능합니다.
- 잘 관리됩니다: 잦은 업데이트, 커뮤니티 지원, 광범위한 문서가 제공되므로 애매한 오류를 디버깅하는 데 어려움을 겪지 않습니다.
- 교육 효율성: Ultralytics 모델은 빠른 융합을 위해 최적화되어 있습니다. 사전 학습된 가중치를 쉽게 사용할 수 있어 사용자 지정 데이터 세트에 대한 효과적인 전이 학습이 가능합니다.
Ultralytics 통한 YOLOv10 교육
COCO8 데이터 세트에 대한 YOLOv10 모델 훈련은 Ultralytics API를 사용하면 간단합니다.
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
반면, EfficientDet은 통합 지원이 부족할 수 있는 구형 TensorFlow 리포지토리 또는 타사 PyTorch 구현에 의존하기 때문에 최신 MLOps 파이프라인과의 통합이 더 어렵습니다.
이상적인 사용 사례
YOLOv10 EfficientDet 중 어떤 것을 선택할지는 특정 제약 조건에 따라 달라집니다.
YOLOv10 선택해야 하는 경우
특히 대부분의 최신 컴퓨터 비전 애플리케이션을 위한 탁월한 선택이 바로 YOLOv10 :
- 자율 시스템: 자율 주행 차량과 드론은 안전을 위해 지연 시간이 짧은 감지가 필요합니다. YOLOv10 속도는 빠른 반응 시간을 보장합니다.
- 비디오 분석: 보안 감시 또는 트래픽 모니터링을 위한 고FPS 비디오 스트림 처리.
- 엣지 배포: 리소스는 제한적이지만 실시간 성능은 타협할 수 없는 Raspberry Pi 또는 NVIDIA Jetson과 같은 임베디드 장치에 배포합니다.
EfficientDet을 선택해야 하는 경우
EfficientDet은 특정 틈새 시나리오에서 관련성을 유지합니다:
- 학술 연구: 복합 스케일링 법칙 또는 효율적인 신경망 설계 원리를 연구하는 데 적합합니다.
- 엄격한 FLOPs 제약: 지연 시간이나 메모리 대역폭이 아닌 이론적 FLOP이 병목 현상을 일으키는 매우 특정한 하드웨어 환경.
결론
EfficientDet은 효율적인 모델 설계의 랜드마크였습니다, YOLOv10 은 고성능 객체 감지를 위한 새로운 표준을 제시합니다. 이 혁신적인 NMS 아키텍처는 정확도 저하 없이 추론 속도에서 결정적인 이점을 제공하므로 실제 배포에 훨씬 더 실용적입니다.
또한, 강력한 Ultralytics 에코시스템은 YOLOv10 효율적이고 개발자 친화적으로 사용할 수 있도록 지원합니다. 간편한 내보내기 옵션부터 데이터 세트 관리에 대한 포괄적인 가이드까지, Ultralytics 비전 AI 프로젝트를 더 빠르게 실현할 수 있도록 지원합니다.
최고의 다목적성과 성능을 원하는 분들을 위해 다음과 같은 최신 기능도 살펴볼 것을 권장합니다. Ultralytics YOLO11는 이러한 발전된 기능을 기반으로 탐지, 세분화 및 포즈 추정 작업 전반에 걸쳐 최첨단 기능을 제공합니다.