콘텐츠로 건너뛰기

YOLOX 대 EfficientDet: 기술 비교

올바른 객체 감지 아키텍처를 선택하는 것은 컴퓨터 비전 애플리케이션 개발에서 매우 중요한 결정입니다. 이 분야에 큰 영향을 미친 두 가지 모델은 YOLOX와 EfficientDet입니다. 두 모델 모두 이미지 내에서 객체를 찾고 분류하는 문제를 해결하는 것을 목표로 하지만 근본적으로 다른 설계 철학으로 이 작업에 접근합니다.

이 가이드에서는 고성능 앵커 프리 디텍터인 YOLOX와 효율성에 중점을 둔 확장 가능한 아키텍처인 EfficientDet에 대한 심층적인 기술 비교를 제공합니다. 아키텍처, 벤치마크, 교육 방법론을 분석하여 레거시 제약 조건에 맞는 모델을 결정하는 데 도움을 드리며, 다음 사항도 소개합니다. Ultralytics YOLO11 을 최첨단 성능을 위한 최신 권장 대안으로 소개합니다.

욜록스: 닻이 없는 진화

Megvii의 연구원들이 2021년에 출시한 욜록스는 이전의 반복을 정의했던 앵커 기반 메커니즘을 포기함으로써 YOLO (You Only Look Once) 계보에 변화를 가져왔습니다.

아키텍처 및 주요 혁신

욜록스는 분리형 헤드 구조로 차별화됩니다. 기존 디텍터는 종종 분류와 로컬라이제이션 작업이 매개변수를 공유하는 결합형 헤드를 사용했기 때문에 훈련 중에 충돌이 발생할 수 있었습니다. YOLOX는 이러한 작업을 서로 다른 분기로 분리하여 수렴 속도와 최종 정확도를 크게 향상시킵니다.

가장 주목할 만한 특징은 앵커가 없는 디자인입니다. 사전 정의된 앵커 박스가 필요 없기 때문에 YOLOX는 앵커 생성과 관련된 휴리스틱 튜닝을 제거합니다. 이는 양성 샘플을 기준 진실에 동적으로 할당하는 고급 레이블 할당 전략인 SimOTA (Simplified Optimal Transport Assignment)와 결합되어 정적 IoU 임계값보다 더 효과적으로 훈련 프로세스의 균형을 맞출 수 있습니다.

앵커 프리 혜택

앵커 박스를 제거하면 개발자가 조정해야 하는 디자인 파라미터의 수가 줄어듭니다. 또한 사전 설정된 상자 모양을 조정하는 대신 모델이 직접 경계 상자를 예측하므로 비정상적인 종횡비를 가진 오브젝트에 더 잘 일반화됩니다.

YOLOX에 대해 자세히 알아보세요

EfficientDet: 확장 가능한 효율성

2019년 Google 브레인 팀에서 개발한 EfficientDet은 특정 계산 예산 내에서 가능한 최고의 정확도를 달성하는 데 중점을 둡니다. EfficientNet 백본을 기반으로 구축되었으며 새로운 기능 융합 기법을 도입했습니다.

아키텍처 및 주요 혁신

EfficientDet의 핵심 혁신은 가중 양방향 특징 피라미드 네트워크( BiFPN )입니다. 서로 다른 척도의 특징을 동일하게 합산하는 기존의 특징 피라미드 네트워크(FPN) 와 달리, BiFPN은 학습 가능한 가중치를 도입하여 다양한 입력 특징의 중요성을 이해합니다. 또한 하향식 및 상향식 정보 흐름이 반복적으로 이루어질 수 있습니다.

EfficientDet은 복합 스케일링도 사용합니다. 백본이나 이미지 해상도만 스케일링하는 대신 네트워크의 해상도, 깊이, 폭을 균일하게 스케일링합니다. 그 결과 정확도 대비 효율성의 일관된 곡선을 제공하는 모델 제품군(D0~D7)이 생성되어 모바일 앱에서 하이엔드 클라우드 프로세싱에 이르는 다양한 작업에 매우 적합하게 조정할 수 있습니다.

EfficientDet에 대해 자세히 알아보세요.

성능 분석: 속도 대 효율성

이 두 모델의 근본적인 차이점은 최적화 목표에 있습니다. EfficientDet은 이론적 효율성(FLOP 및 파라미터)에 최적화되어 있으며, 이는 종종 에지 디바이스에서 CPU 성능으로 잘 변환됩니다. 반대로 YOLOX는 가속기가 잘 처리하는 고밀도 연산자를 활용하여 GPU의 고처리량 추론에 최적화되어 있습니다.

아래 표는 이러한 장단점을 보여줍니다. EfficientDet-d0은 매개변수 측면에서 매우 가벼운 반면, YOLOX-s는 다음과 같은 경우 훨씬 빠른 추론 속도를 제공합니다. TensorRT 최적화된 하드웨어에서 훨씬 더 빠른 추론 속도를 제공합니다.

모델크기
(픽셀)
mAPval
50-95
속도
CPU ONNX
(ms)
속도
T4 TensorRT10
(ms)
파라미터
(M)
FLOPs
(B)
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9
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

중요 관찰 사항

  1. GPU 지연 시간: YOLOX는 가속기에서 우수한 성능을 보여줍니다. YOLOX-l은 EfficientDet-d4와 동일한 정확도(49. mAP)를 달성하지만 T4 GPU 거의 3.7배 더 빠르게 실행됩니다(9.04ms 대 33.55ms).
  2. 매개변수 효율성: 스토리지가 주요 제약 조건일 때 EfficientDet은 탁월한 성능을 발휘합니다. EfficientDet-d3는 1,200만 개의 파라미터만으로 강력한 정확도(47. mAP)를 제공하는 반면, YOLOX로 비슷한 정확도를 달성하려면 두 배 이상의 파라미터가 포함된 Medium 모델을 사용해야 합니다.
  3. 훈련 복잡성: YOLOX는 기본적으로 Mosaic 및 MixUp 같은 강력한 데이터 증강 기술을 통합하여 처음부터 강력한 모델을 훈련하는 데 도움을 주는 반면, EfficientDet은 EfficientNet 백본의 특정 속성과 복합 확장 규칙에 크게 의존합니다.

Ultralytics YOLO11: 탁월한 대안

욜록스와 이피션트데트는 각자의 시대에 획기적이었지만, 컴퓨터 비전 분야는 빠르게 변화하고 있습니다. 2024년 이후의 최신 애플리케이션을 위해, Ultralytics YOLO11 은 속도, 정확성, 사용성 면에서 두 레거시 아키텍처를 능가하는 포괄적인 솔루션을 제공합니다.

Ultralytics YOLO11을 선택해야 하는 이유

  • 성능 균형: YOLO11 속도와 정확도 사이에서 최상의 절충점을 제공하도록 설계되었습니다. 일반적으로 EfficientDet-d7의 최고 정확도와 일치하거나 이를 능가하는 동시에 가장 빠른 YOLOX 변형에 가까운 추론 속도를 유지합니다.
  • 사용의 용이성: EfficientDet이나 YOLOX의 복잡한 리서치 리포지토리와 달리, Ultralytics 프로덕션에 바로 사용할 수 있는 Python API를 제공합니다. 단 몇 줄의 코드만으로 모델을 로드, 훈련 및 배포할 수 있습니다.
  • 잘 관리된 에코시스템: 활발한 개발, 빈번한 업데이트, 활기찬 커뮤니티가 Ultralytics 모델을 뒷받침합니다. 통합 에코시스템에는 원활한 데이터 세트 관리 및 모델 학습을 위한 Ultralytics HUB가 포함됩니다.
  • 다목적성: YOLOX와 EfficientDet은 주로 객체 검출기이지만, YOLO11 단일 프레임워크 내에서 인스턴스 분할, 포즈 추정, OBB(오리엔티드 바운딩 박스), 분류 등 광범위한 작업을 지원합니다.
  • 트레이닝 효율성: YOLO11 구형 트랜스포머나 복잡한 백본 아키텍처에 비해 훈련 시 메모리 요구량을 줄여주는 정교한 아키텍처 블록을 활용합니다. 따라서 소비자급 하드웨어에서 최첨단 모델을 훈련할 수 있습니다.

YOLO11 시작하기

YOLO11 예측을 실행하는 것은 매우 간단합니다. 다음 코드 스니펫은 사전 학습된 모델을 로드하고 이미지에서 추론을 실행하는 방법을 보여줍니다.

from ultralytics import YOLO

# Load the YOLO11n model (nano version for speed)
model = YOLO("yolo11n.pt")

# Perform object detection on an image
results = model("path/to/image.jpg")

# Display the results
results[0].show()

이상적인 사용 사례

  • FLOP 수가 절대적인 제한 요소이고 레거시 종속성이 있는 극도로 제한된 CPU 에지 디바이스에 배포하는 경우에만 EfficientDet을 선택하세요.
  • GPU 앵커 프리 검출기에 대한 학술 연구를 위한 강력한 기준이 필요하지만 최신 프레임워크에 비해 설정이 더 복잡하다는 점에 유의하세요.
  • 거의 모든 새로운 상업 및 연구 프로젝트에 Ultralytics YOLO11 선택하세요. 자율 주행 차량, 스마트 시티 분석, 제조 품질 관리 등 어떤 분야에서든 YOLO11 프로토타입에서 생산으로 효율적으로 전환하는 데 필요한 견고성, 속도 및 툴링을 제공합니다.

결론

YOLOX와 EfficientDet은 모두 객체 감지의 발전에 크게 기여했습니다. EfficientDet은 모델 확장이 과학적이고 구조화될 수 있음을 증명했으며, YOLOX는 앵커가 필요 없는 탐지 파이프라인을 성공적으로 대중화했습니다.

하지만, Ultralytics YOLO11 은 이러한 아키텍처의 장점인 효율성, 앵커 없는 설계, GPU 최적화를 통합된 사용자 친화적인 패키지로 통합했습니다. 트레이닝 중 메모리 사용량이 적고, 다양한 컴퓨터 비전 작업을 지원하며, ONNX 및 CoreML 같은 배포 형식과의 원활한 통합을 통해 오늘날 개발자에게 권장되는 Ultralytics YOLO11 최고의 선택이 될 것입니다.

추가 자료

객체 감지 모델의 환경을 이해하기 위해 더 많은 비교를 살펴보세요:


댓글