콘텐츠로 건너뛰기

YOLOv5 EfficientDet: 실시간 객체 탐지 아키텍처 평가

새로운 컴퓨터 비전 프로젝트를 시작할 때, 올바른 신경망 아키텍처를 선택하는 것은 가장 중요한 결정 중 하나입니다. 본 가이드는 Ultralytics YOLOv5 과 Google EfficientDet 간의 심층적인 기술적 비교를 제공합니다. 아키텍처, 성능 지표, 훈련 생태계를 분석함으로써 개발자와 연구자들이 특정 배포 환경에 가장 적합한 객체 탐지 모델을 식별할 수 있도록 돕는 것이 목표입니다.

EfficientDet가 복합 스케일링과 특징 융합에 새로운 개념을 도입한 반면, YOLOv5 는 놀라울 정도로 직관적인 접근성을 통해 고성능 AI의 활용을 대중화함으로써 업계를 혁신했습니다. PyTorch 구현, 간소화된 사용자 경험, 그리고 속도와 정확도의 탁월한 균형을 통해 고성능 AI 접근성을 대중화함으로써 산업에 혁명을 일으켰습니다.

Ultralytics YOLOv5: 접근성의 업계 표준

2020년 여름 출시된 YOLOv5 YOLO 중대한 전환점을 YOLOv5 . C 기반 Darknet 프레임워크에서 네이티브 PyTorch 전환되며, 모델을 신속하게 구축, 훈련 및 배포하려는 개발자들에게 필수 아키텍처로 자리매김했습니다.

아키텍처 혁신

YOLOv5 원활한 머신러닝 라이프사이클을 최우선으로 하는 고도로 최적화된 아키텍처로 YOLOv5 . 수정된 CSPDarknet53 백본과 경로 집계 네트워크(PANet) 넥을 결합하여 여러 공간 스케일 간 특징 전파를 획기적으로 개선합니다.

주요 발전 사항으로는 다음과 같습니다:

  • 모자이크 데이터 증강: 이 훈련 기법은 네 개의 서로 다른 훈련 이미지를 하나의 모자이크로 결합합니다. 이를 통해 모델은 복잡한 공간적 맥락에서 물체를 식별하는 방법을 학습하도록 강제되며, detect 표적 detect 능력이 크게 향상됩니다.
  • 자동 학습 앵커 박스: 훈련 시작 전에 YOLOv5 사용자 지정 훈련 데이터를 YOLOv5 k-평균 군집화를 사용하여 최적의 앵커 박스 크기를 자동으로 계산합니다.
  • 메모리 효율성: 무거운 트랜스포머 기반 모델과 비교하여 YOLOv5 훈련 및 추론 과정에서 훨씬 낮은 메모리 사용량을 YOLOv5 소비자용 하드웨어에서도 원활하게 실행될 수 있습니다.

5에 대해 자세히 알아보기

효율적 탐지: 확장 가능한 객체 탐지

2019년 Google 소개된 EfficientDet는 확장 가능한 객체 탐지기 제품군을 제공하는 것을 목표로 합니다. 이 모델은 EfficientNet 이미지 분류 백본을 기반으로 하며 새로운 특징 융합 메커니즘을 도입합니다.

아키텍처 혁신

EfficientDet의 핵심 제안은 확장성과 기능 통합에 대한 체계적인 접근 방식에 있습니다:

  • BiFPN(양방향 피처 피라미드 네트워크): 기존 FPN이 정보를 상향식(top-down)으로만 전달하는 것과 달리, BiFPN은 학습 가능한 가중치를 도입하여 다양한 입력 피처의 중요도를 학습함으로써 빠르고 손쉬운 다중 스케일 피처 융합을 가능하게 합니다.
  • 복합 확장: EfficientDet은 모든 백본, 특징 네트워크, 박스/클래스 예측 네트워크의 해상도, 깊이, 너비를 공동으로 확장하여 경량 D0부터 대규모 D7에 이르는 모델을 생성합니다.

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

프레임워크 차이점

EfficientDet는 TensorFlow 생태계와 AutoML 라이브러리에 크게 의존하는 반면, YOLOv5 PyTorch 내에서 원활하게 YOLOv5 많은 개발자들이 더 직관적이고 파이썬 특유의 스타일이며 디버깅이 용이한 워크플로를 제공합니다.

성능 및 지표 비교

이러한 모델들을 비교할 때 COCO 같은 표준 벤치마크에서의 성능 평가가 매우 중요합니다. 아래 표는 모델 크기, 연산량(FLOPs), 추론 속도 간의 상충 관계를 보여줍니다.

모델크기
(픽셀)
mAPval
50-95
속도
CPU ONNX
(ms)
속도
T4 TensorRT10
(ms)
파라미터
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
064034.610.23.923.92.54
164040.513.57.316.66.1
264043.017.710.928.111.0
364047.528.019.5912.024.9
464049.742.833.5520.755.2
564051.572.567.8633.7130.0
664052.692.889.2951.9226.0
764053.7122.0128.0751.9325.0

균형 잡힌 분석

YOLOv5 배포 유연성과 하드웨어 가속 호환성에서 두각을 나타냅니다. GPU TensorRT 놀라울 정도로 빠른 TensorRT 주목하세요. 이로 인해 YOLOv5 고처리량 영상 분석 및 실시간 추론 파이프라인에 YOLOv5 적합합니다. 또한 Ultralytics 통해 ONNX, CoreML, TensorRT 한 줄의 명령어로 실행할 수 있습니다.

EfficientDet은 우수한 매개변수 효율성을 제공합니다. 주어진 매개변수 수에서 높은 평균 정밀도(mAP)를 추출하는 경우가 많습니다. 그러나 BiFPN 레이어의 복잡한 라우팅으로 인해 이 이론적 효율성이 항상 엣지 GPU에서 더 빠른 실제 추론 시간으로 이어지지는 않습니다. 이는 계산 제한이 아닌 메모리 대역폭 제한을 초래할 수 있기 때문입니다.

에코시스템 및 사용 편의성

Ultralytics 선택의 결정적 이점은 주변 생태계에 있습니다. YOLOv5 방대한 커뮤니티 지원을 받는, 지속적으로 관리되고 활발히 개발되는 저장소의 YOLOv5 .

Ultralytics 도입으로 사용자는 데이터 수집부터 배포까지 원활하게 전환할 수 있습니다. 이 플랫폼은 자동 주석 처리, 클라우드 기반 훈련, 모델 모니터링을 기본적으로 지원합니다. 반면 EfficientDet 훈련은 종종 구형 TensorFlow 탐지 API의 복잡성을 헤쳐나가야 하는데, 이는 신속한 프로토타이핑에 가파른 학습 곡선을 초래할 수 있습니다.

또한 YOLOv5 다용도성은 바운딩 박스를 넘어 확장됩니다. 지속적인 업데이트를 통해 Ultralytics 인스턴스 분할이미지 분류를 기본적으로 지원하며, 다양한 컴퓨터 비전 작업을 위한 통합 API를 제공합니다.

이상적인 사용 사례

  • YOLOv5 선택해야 하는 YOLOv5 : 신속한 프로토타이핑, 원활한 훈련 환경, 고도로 최적화된 에지 배포가 필요할 때입니다. 저지연이 중요한 드론, 소매 분석, 모바일 애플리케이션에 이상적입니다.
  • 다음과 같은 경우 EfficientDet를 선택하십시오: Google TensorFlow 환경 내에서만 운영하며, 엄격한 실시간 지연 시간 제약 없이 매개변수당 최대 정확도가 필요한 경우.

차세대: YOLO26을 받아들이다

YOLOv5 믿음직한 주력 모델이지만, 컴퓨터 비전 분야는 진화해 왔습니다. 2026년 최첨단을 추구하는 개발자들에게 YOLO26은 Ultralytics 새로운 정점을 상징합니다.

선대 모델(예: YOLOv8YOLO11)의 유산을 바탕으로, YOLO26은 획기적인 혁신을 도입합니다:

  • 엔드투엔드 NMS 설계: YOLO26은 기본적으로 비최대 억제(NMS) 후처리 과정이 필요하지 않습니다. 이는 지연 시간 편차를 크게 줄이고 배포 아키텍처를 단순화합니다.
  • 최대 43% 빠른 CPU : 에지 AI에 최적화되어 전용 GPU 없이도 저전력 에지 디바이스와 표준 CPU에 전례 없는 속도를 제공합니다.
  • MuSGD 최적화기: 대규모 언어 모델(LLM) 훈련 기법에서 영감을 받아, SGD 뮤온의 하이브리드 방식으로 매우 안정적인 훈련과 빠른 수렴을 보장합니다.
  • 고급 손실 함수: ProgLoss와 STAL의 통합은 소형 표적 인식 능력을 획기적으로 향상시키며, 이는 고고도 드론 영상 및 로봇 공학에 필수적이다.
  • DFL 제거: 분산 초점 손실(Distribution Focal Loss)을 제거함으로써 모델 내보내기 프로세스가 간소화되어 다양한 하드웨어 가속기 간 호환성이 더욱 향상됩니다.

Ultralytics 내 다른 최신 아키텍처를 탐색하고자 하는 사용자는 다음과 같은 모델도 비교해 볼 수 있습니다. YOLOv10 또는 RT-DETR과 같은 모델을 비교해 볼 수도 있습니다.

이주하기는 쉽습니다

Ultralytics Python 하위 호환성과 상위 호환성을 위해 설계되었습니다. YOLOv5 업그레이드하는 것은 코드에서 모델 가중치 문자열을 변경하는 것만큼 간단합니다!

코드 예시: 훈련 및 추론

Ultralytics 탁월한 사용 편의성을 보여드리기 위해, 최신 YOLO 활용하여 모델을 훈련하고 추론을 실행하는 방법을 소개합니다. 이 코드는 100% 실행 가능하며, 데이터셋 다운로드, 훈련 루프, 검증 과정을 자동으로 처리합니다.

from ultralytics import YOLO

# Load a modern model (Swap 'yolov5s.pt' for 'yolo26n.pt' to test the newest architecture!)
model = YOLO("yolov5s.pt")

# Train the model on the COCO8 example dataset for 20 epochs
results = model.train(data="coco8.yaml", epochs=20, imgsz=640)

# Run inference on an image from the web
inference_results = model("https://ultralytics.com/images/bus.jpg")

# Display the image with bounding boxes
inference_results[0].show()

사용자 경험을 최우선으로 하고, 견고한 생태계를 유지하며, YOLO26과 같은 업데이트를 통해 가능성의 한계를 지속적으로 확장함으로써, Ultralytics 개발자들이 실제 시각적 인텔리전스 과제를 해결하기 위해 항상 최고의 도구를 활용할 수 있도록 Ultralytics .


댓글