콘텐츠로 건너뛰기

EfficientDet과 YOLOv10: 객체 감지 효율성의 진화

빠르게 진화하는 컴퓨터 비전 환경에서 계산 효율성과 감지 정확도 사이의 최적의 균형을 찾기 위한 노력은 계속되고 있습니다. 각 시대를 정의한 두 가지 아키텍처는 Google Research의 확장 가능한 모델 제품군인 EfficientDet과YOLOv10칭화대학교 연구진이 개발한 최신 실시간 엔드투엔드 검출기입니다.

이 비교에서는 두 모델의 기술적 뉘앙스를 살펴보고, YOLOv10 최신 설계 철학이 EfficientDet에서 도입한 기본 개념을 어떻게 개선하는지 살펴봅니다. 아키텍처, 성능 지표, 실제 배포에 대한 적합성을 분석할 것입니다.

모델 기원 및 개요

이러한 모델의 역사적 맥락을 이해하면 최근 몇 년간 이루어진 기술적 도약을 이해하는 데 도움이 됩니다.

EfficientDet

2019년 말, 물체 감지 모델 스케일링의 비효율성을 해결하기 위해 EfficientDet이 도입되었습니다. 해상도, 깊이, 폭을 균일하게 스케일링하는 복합 스케일링 방법을 제안했습니다.

YOLOv10

2024년 5월에 출시된 YOLOv10 사후 처리 중 비최대 억제NMS의 필요성을 제거하여 지연 시간을 줄이고 배포를 간소화함으로써 실시간 탐지의 한계를 뛰어넘었습니다.

YOLOv10 대해 자세히 알아보기

심층적인 아키텍처 분석

이 모델 간의 핵심적인 차이점은 피처 융합 및 포스트 프로세싱에 대한 접근 방식에 있습니다.

EfficientDet: 컴파운드 스케일링 및 BiFPN

EfficientDet은 EfficientNet 백본을 기반으로 구축되었습니다. 가장 큰 특징은 양방향 피처 피라미드 네트워크(BiFPN)입니다. 서로 다른 스케일의 특징을 합산하는 기존 FPN과 달리, BiFPN은 학습 가능한 가중치를 도입하여 융합 과정에서 더 중요한 특징을 강조합니다. 또한 하향식 및 상향식 경로를 추가하여 더 나은 정보 흐름을 촉진합니다.

이론적으로 FLOP(초당 부동 소수점 연산) 측면에서 효율적이지만, 깊이 단위로 분리 가능한 컨볼루션과 복잡한 BiFPN 구조가 많이 사용되기 때문에 단순한 아키텍처에 비해 GPU 하드웨어의 처리량이 떨어질 수 있습니다.

YOLOv10: NMS 필요 없는 엔드투엔드 탐지

YOLOv10 NMS 대한 의존성을 제거하여 패러다임의 전환을 가져왔습니다. 기존의 실시간 탐지기는 필터링해야 하는 수많은 중복 예측을 생성하여 대기 시간 병목 현상을 일으킵니다. YOLOv10 훈련 중에 풍부한 감독 신호를 위한 일대다 헤드와 NMS 정밀한 추론을 위한 일대일 헤드의 일관된 이중 할당을 사용합니다.

또한 YOLOv10 전체적인 효율성-정확도 중심의 모델 설계를 활용합니다. 여기에는 경량 분류 헤드, 공간 채널 분리형 다운샘플링, 순위 가이드 블록 설계가 포함되어 모든 파라미터가 모델의 성능에 효과적으로 기여하도록 합니다.

NMS 필요 없는 추론의 이점

비최대 억제NMS는 겹치는 바운딩 박스를 필터링하는 데 사용되는 후처리 단계입니다. 이 단계는 순차적이고 계산 비용이 많이 들며, 감지된 객체 수에 따라 속도가 달라지는 경우가 많습니다. 개체당 하나의 박스를 자연스럽게 예측하는 아키텍처(엔드투엔드)를 설계함으로써 YOLOv10 추론 지연 시간을 안정화하여 엣지 AI 애플리케이션의 예측 가능성을 높입니다.

성능 분석: 속도 vs. 정확도

성능을 비교할 때, YOLOv10 최신 하드웨어, 특히 GPU에서 상당한 이점을 보여줍니다. EfficientDet은 FLOPs에 최적화되었지만, YOLOv10 실제 지연 시간과 처리량에 최적화되어 있습니다.

모델크기
(픽셀)
mAPval
50-95
속도
CPU ONNX
(ms)
속도
T4 TensorRT10
(ms)
파라미터
(M)
FLOPs
(B)
EfficientDet-d064034.610.23.923.92.54
EfficientDet-d164040.513.57.316.66.1
EfficientDet-d264043.017.710.928.111.0
EfficientDet-d364047.528.019.5912.024.9
EfficientDet-d464049.742.833.5520.755.2
EfficientDet-d564051.572.567.8633.7130.0
EfficientDet-d664052.692.889.2951.9226.0
EfficientDet-d764053.7122.0128.0751.9325.0
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

주요 내용

  • GPU 지연 시간: YOLOv10 추론 시간을 획기적으로 단축합니다. 예를 들어, YOLOv10b는 T4 GPU 13배 이상 빠르면서 EfficientDet-d6 (52.6)보다 더 높은 mAP (52.7)를 달성합니다(6.54ms 대 89.29ms).
  • 매개변수 효율성: YOLOv10 모델은 일반적으로 비슷한 정확도를 위해 더 적은 수의 파라미터를 필요로 합니다. YOLOv10n 버전은 매우 가볍기 때문에(2.3M 파라미터) 모바일 배포에 이상적입니다.
  • 정확도: 최고급형인 YOLOv10x는 54.4의 최첨단 mAP 달성하여 지연 시간을 일부만 유지하면서 가장 큰 EfficientDet-d7 변형을 능가합니다.

교육 효율성 및 사용 편의성

개발자에게 가장 중요한 요소 중 하나는 이러한 모델을 기존 워크플로에 쉽게 통합할 수 있다는 점입니다.

Ultralytics 에코시스템의 이점

YOLOv10 Ultralytics 에코시스템에 통합되어 사용유지 관리의 용이성 측면에서 상당한 이점을 제공합니다. 사용자는 다양한 모델 세대에 걸쳐 훈련, 검증 및 배포를 표준화하는 통합 Python API의 이점을 누릴 수 있습니다.

  • 간단한 API: 3줄의 코드로 모델을 학습시킵니다.
  • 문서: 종합 가이드 및 예제.
  • 커뮤니티: 지원과 업데이트를 제공하는 방대하고 활발한 커뮤니티.
  • 메모리 효율성: Ultralytics YOLO 모델은 구형 아키텍처 또는 무거운 트랜스포머 기반 모델에 비해 훈련 중 CUDA 메모리 사용량을 낮추도록 최적화되어 있습니다.

코드 예제

Ultralytics YOLOv10 훈련하는 것은 간단합니다. 프레임워크가 데이터 보강, 하이퍼파라미터 조정 및 로깅을 자동으로 처리합니다.

from ultralytics import YOLO

# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")

# Train the model on your custom dataset
# efficiently using available GPU resources
model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16)

# Run inference on an image
results = model("path/to/image.jpg")

반면, EfficientDet 결과를 재현하려면 복잡한 TensorFlow 구성이나 특정 버전의 AutoML 라이브러리가 필요한 경우가 많아 신속한 프로토타이핑에 적합하지 않을 수 있습니다.

이상적인 사용 사례

두 모델 모두 장점이 있지만 아키텍처 특성에 따라 이상적인 애플리케이션 영역이 다릅니다.

YOLOv10: 실시간 및 엣지 애플리케이션

NMS 사용하지 않는 설계와 짧은 지연 시간 덕분에 YOLOv10 시간에 민감한 작업에 탁월한 선택입니다.

  • 자율 시스템: 밀리초 단위의 지연 시간으로 사고를 예방하는 자율 주행 자동차 및 드론에 필수적입니다.
  • 제조: 물체가 빠르게 이동하는 컨베이어 벨트에서 고속 품질 관리.
  • 스마트 리테일: 엣지 디바이스를 사용한 실시간 재고 관리 및 고객 분석.
  • 모바일 앱: 컴팩트한 사이즈의 YOLOv10n은 다음을 통해 iOS 및 Android 디바이스에 원활하게 배포할 수 있습니다. CoreML 또는 TFLite 통해 원활하게 배포할 수 있습니다.

EfficientDet: 학사 및 레거시 시스템

EfficientDet은 특정 상황에서만 관련성을 유지합니다:

  • 리소스 제약이 있는 CPU: 더 작은 EfficientDet 변형(d0, d1)은 낮은 FLOP 체제에 고도로 최적화되어 있으며 때로는 구형 CPU 하드웨어에서 잘 작동합니다.
  • 연구 기준선: 신경망의 스케일링 법칙을 비교하는 학술 연구의 훌륭한 기준이 됩니다.
  • 기존 파이프라인: 레거시 TensorFlow 파이프라인을 보유한 조직은 마이그레이션하는 것보다 기존 EfficientDet 배포를 유지하는 것이 더 쉬울 수 있습니다.

강점 및 약점 요약

YOLOv10

  • 강점:
    • NMS: 진정한 엔드투엔드 배포로 통합이 간소화됩니다.
    • 성능 균형: GPU에서 최고의 속도와 정확도 절충안.
    • 다목적성: 다양한 탐지 작업을 효율적으로 처리할 수 있습니다.
    • 잘 유지 관리됩니다: 잦은 업데이트를 통해 Ultralytics 에코시스템의 지원을 받습니다.
  • 약점:
    • 최신 아키텍처인 만큼 2019년형 모델에 비해 장기 안정성 테스트 기간이 짧을 수 있지만, 빠른 도입으로 이러한 문제가 완화되었습니다.

EfficientDet

  • 강점:
    • 확장성: 복합 확장 방식은 이론적으로 우아하고 효과적입니다.
    • 파라미터 효율성: 당시로서는 우수한 정확도 대 파라미터 비율.
  • 약점:
    • 느린 추론: 깊이별 컨볼루션을 많이 사용하면 GPU에서 YOLO 표준 컨볼루션보다 속도가 느려지는 경우가 많습니다.
    • 복잡성: BiFPN은 사용자 지정 하드웨어 가속기에 대한 디버깅이나 최적화가 더 어려울 수 있는 아키텍처 복잡성을 추가합니다.

결론

EfficientDet은 모델 확장에 중요한 개념을 도입한 선구적인 아키텍처였습니다, YOLOv10 은 객체 감지를 위한 최신 표준을 나타냅니다. NMS 필요 NMS 엔드투엔드 아키텍처로의 전환을 통해 YOLOv10 오늘날의 실시간 애플리케이션에 필수적인 우수한 성능을 제공할 수 있게 되었습니다.

강력한 고성능 비전 시스템을 구축하려는 개발자와 연구자를 위한 제품입니다, YOLOv10-과 광범위한 Ultralytics 에코시스템은 속도, 정확성, 개발자 경험의 강력한 조합을 제공합니다. 통합 플랫폼을 사용하여 모델을 원활하게 훈련, 내보내기 및 배포할 수 있으므로 시장 출시 시간이 크게 단축됩니다.

가장 최신의 발전에 관심이 있는 분들은 다음을 살펴보세요. Ultralytics YOLO11는 이러한 기능을 더욱 개선하여 세분화, 포즈 추정, 방향성 물체 감지 등 훨씬 더 광범위한 컴퓨터 비전 작업을 수행할 수 있도록 지원합니다.

다른 비교 살펴보기

가장 현명한 결정을 내리려면 다음과 같은 관련 기술 비교를 검토해 보세요:


댓글