Ultralytics YOLO27:

YOLOv5와 EfficientDet#

새로운 컴퓨터 비전 프로젝트를 시작할 때 적절한 신경망 아키텍처를 선택하는 것은 가장 중요한 결정 중 하나입니다. 이 가이드는 Ultralytics YOLOv5와 Google의 EfficientDet을 심층적으로 기술 비교합니다. 두 모델의 아키텍처, 성능 지표, 학습 생태계를 분석하여 개발자와 연구자가 각자의 배포 환경에 가장 적합한 객체 감지 모델을 식별할 수 있도록 지원합니다.

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

Ultralytics YOLOv5: 접근성을 위한 업계 표준#

2020년 여름에 출시된 YOLOv5는 YOLO 계보의 중요한 전환점이 되었습니다. C 기반 Darknet 프레임워크에서 네이티브 PyTorch로 전환하면서, 모델을 신속하게 구축하고 학습하며 배포하려는 개발자들이 가장 먼저 선택하는 아키텍처가 되었습니다.

아키텍처 혁신#

YOLOv5는 원활한 머신 러닝 수명 주기를 우선시하는 고도로 최적화된 아키텍처로 널리 알려져 있습니다. 수정된 CSPDarknet53 백본과 Path Aggregation Network(PANet) 넥을 결합하여 여러 공간 스케일에 걸친 특징 전파를 크게 향상합니다.

주요 발전 사항은 다음과 같습니다:

  • Mosaic 데이터 증강: 이 학습 기법은 서로 다른 4개의 학습 이미지를 하나의 모자이크로 결합합니다. 이를 통해 모델은 복잡한 공간적 맥락에서 객체를 식별하는 방법을 학습하며, 작은 대상에 대한 감지 성능을 크게 향상합니다.
  • 자동 학습 앵커 박스: 학습이 시작되기 전에 YOLOv5는 사용자의 맞춤 학습 데이터를 분석하고 k-means 클러스터링을 사용하여 최적의 앵커 박스 크기를 자동으로 계산합니다.
  • 메모리 효율성: 무거운 Transformer 기반 모델과 비교할 때 YOLOv5는 학습과 추론 모두에서 메모리 사용량을 크게 낮게 유지하므로, 소비자용 하드웨어에서도 원활하게 실행할 수 있습니다.

EfficientDet: 확장 가능한 객체 감지#

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

아키텍처 혁신#

EfficientDet의 핵심 제안은 스케일링과 특징 집계에 대한 체계적인 접근 방식에 있습니다:

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

EfficientDet에 대해 자세히 알아보기

프레임워크 차이

EfficientDet은 TensorFlow 생태계와 AutoML 라이브러리에 크게 의존하는 반면, YOLOv5는 PyTorch 내에서 네이티브로 작동하여 많은 개발자가 더 직관적이고 Python다운 디버깅 가능한 워크플로라고 평가하는 환경을 제공합니다.

성능 및 지표 비교#

이러한 모델을 비교할 때 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
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

균형 잡힌 분석#

YOLOv5는 배포 유연성과 하드웨어 가속 호환성에서 뛰어납니다. T4 GPU에서 TensorRT를 사용할 때의 매우 빠른 속도에 주목하시기 바랍니다. 따라서 YOLOv5는 높은 처리량이 필요한 비디오 분석 및 실시간 추론 파이프라인에 매우 적합합니다. 또한 Ultralytics 생태계에서는 ONNX, CoreML, TensorRT와 같은 형식으로 내보내는 작업을 한 줄의 명령으로 수행할 수 있습니다.

EfficientDet은 탁월한 파라미터 효율성을 제공합니다. 동일한 파라미터 수에서 높은 평균 정밀도(mAP)를 얻는 경우가 많습니다. 그러나 BiFPN 레이어의 복잡한 라우팅으로 인해 이러한 이론적 효율성이 엣지 GPU에서 더 빠른 실제 추론 시간으로 항상 이어지는 것은 아닙니다. 이 레이어는 연산량보다 메모리 대역폭의 제약을 받을 수 있기 때문입니다.

생태계 및 사용 편의성#

Ultralytics 모델을 선택할 때의 결정적인 장점은 이를 뒷받침하는 생태계에 있습니다. YOLOv5는 대규모 커뮤니티의 지원을 받으며 지속적으로 유지 관리되고 활발히 개발되는 저장소의 일부입니다.

Ultralytics Platform이 도입되면서 사용자는 데이터 수집부터 배포까지 원활하게 전환할 수 있습니다. 이 플랫폼은 자동 어노테이션, 클라우드 학습, 모델 모니터링을 기본으로 지원합니다. 반면 EfficientDet을 학습하려면 오래된 TensorFlow 객체 감지 API의 복잡성을 다뤄야 하는 경우가 많아, 신속한 프로토타이핑에 필요한 학습 곡선이 가파를 수 있습니다.

또한 YOLOv5의 다용도성은 바운딩 박스를 넘어 확장됩니다. Ultralytics 프레임워크는 지속적인 업데이트를 통해 인스턴스 세그멘테이션이미지 분류를 네이티브로 지원하며, 여러 컴퓨터 비전 작업을 위한 통합 API를 제공합니다.

이상적인 사용 사례#

  • YOLOv5를 선택해야 하는 경우: 신속한 프로토타이핑, 마찰 없는 학습 경험, 고도로 최적화된 엣지 배포가 필요한 경우입니다. 낮은 지연 시간이 중요한 드론, 리테일 분석, 모바일 애플리케이션에 적합합니다.
  • EfficientDet을 선택해야 하는 경우: Google Cloud/TensorFlow AutoML 환경 내에서만 운영하며 엄격한 실시간 지연 시간 제약 없이 파라미터당 최고 정확도가 필요한 경우입니다.

차세대 모델: YOLO26 도입#

YOLOv5가 여전히 신뢰할 수 있는 실무형 모델이지만, 컴퓨터 비전 분야는 발전해 왔습니다. 2026년에 최고 수준의 기술을 추구하는 개발자에게 YOLO26은 Ultralytics 제품군의 새로운 정점입니다.

이전 모델(YOLOv8YOLO11 등)의 유산을 바탕으로 YOLO26은 획기적인 혁신을 도입합니다:

  • 엔드투엔드 NMS 없는 설계: YOLO26은 비최대 억제 후처리의 필요성을 네이티브로 제거합니다. 이를 통해 지연 시간 변동을 크게 줄이고 배포 아키텍처를 간소화합니다.
  • 최대 43% 더 빠른 CPU 추론: 엣지 AI에 맞게 고도로 최적화되어 전용 GPU가 없는 저전력 엣지 디바이스와 일반 CPU에서 전례 없는 속도를 제공합니다.
  • MuSGD 옵티마이저: 대규모 언어 모델(LLM) 학습 기법에서 영감을 받은 SGD와 Muon의 하이브리드 방식으로, 매우 안정적인 학습과 빠른 수렴을 보장합니다.
  • 고급 손실 함수: ProgLoss와 STAL을 통합하여 작은 대상의 인식 성능을 크게 향상합니다. 이는 고고도 드론 이미지와 로보틱스에 매우 중요합니다.
  • DFL 제거: Distribution Focal Loss를 제거하여 모델 내보내기 프로세스를 간소화하고 다양한 하드웨어 가속기와의 호환성을 더욱 향상합니다.

Ultralytics 생태계의 다른 최신 아키텍처를 살펴보려는 사용자는 YOLOv10 또는 RT-DETR과 같은 모델도 비교할 수 있습니다.

간편한 마이그레이션

Ultralytics Python API는 이전 버전 및 이후 버전과의 호환성을 고려하여 설계되었습니다. YOLOv5에서 YOLO26으로 업그레이드하는 작업은 코드에서 모델 weight 문자열을 변경하는 것만큼 간단합니다!

코드 예제: 학습 및 추론#

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()

Ultralytics는 사용자 경험을 우선시하고 견고한 생태계를 유지하며 YOLO26과 같은 업데이트를 통해 가능한 것의 한계를 지속적으로 확장함으로써, 개발자가 실제 시각 지능 문제를 해결하는 데 필요한 최고의 도구를 항상 사용할 수 있도록 보장합니다.

댓글