Ultralytics YOLO27:

YOLOv7 vs YOLOv5#

최신 컴퓨터 비전 파이프라인을 구축할 때는 정확도, 추론 속도, 리소스 활용률 간의 균형을 맞추기 위해 적절한 객체 감지 아키텍처를 선택하는 것이 매우 중요합니다. 이 종합 비교에서는 컴퓨터 비전 분야에서 큰 영향력을 발휘한 두 모델인 YOLOv7과 Ultralytics YOLOv5를 살펴봅니다.

아키텍처 차이, 성능 지표, 이상적인 배포 시나리오를 분석하여 개발자와 연구자가 각자의 요구 사항에 가장 적합한 모델을 선택할 수 있도록 돕고자 합니다.

모델 배경 및 기원#

이러한 모델의 기원을 이해하면 설계 철학과 대상 사용 사례를 파악하는 데 도움이 됩니다.

YOLOv5#

2020년 6월 26일 Glenn Jocher와 Ultralytics 팀이 출시한 YOLOv5는 성능을 저하하지 않으면서 사용성을 우선시한 네이티브 PyTorch 구현을 제공하여 해당 분야를 혁신했습니다. 매우 간소화된 생태계와 안정적인 학습 동작 덕분에 빠르게 업계 표준이 되었습니다. YOLOv5 GitHub 저장소에서 소스 코드를 살펴보거나 Ultralytics Platform을 통해 모델에 직접 액세스할 수 있습니다.

YOLOv7#

대만 아카데미아 시니카(Academia Sinica) 정보과학연구소의 첸야오 왕(Chien-Yao Wang), 알렉세이 보치콥스키(Alexey Bochkovskiy), 홍위안 마크 랴오(Hong-Yuan Mark Liao)가 2022년 7월 6일에 소개한 YOLOv7은 정확도의 최고 수준(state-of-the-art)을 끌어올리기 위해 확장 효율적 레이어 집약 네트워크(E-ELAN) 및 학습 가능한 "bag-of-freebies"와 같은 아키텍처 혁신에 크게 집중했습니다. 자세한 내용은 공식 Arxiv 논문YOLOv7 GitHub 저장소에서 확인할 수 있습니다. 원활한 통합을 위해 Ultralytics YOLOv7 문서를 확인해 보세요.

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

원활한 실험

두 모델 모두 Ultralytics Python 패키지에 완전히 통합되어 있으므로 코드에서 모델 문자열만 변경하면 간단히 서로 전환할 수 있습니다!

아키텍처 혁신#

Ultralytics YOLOv5 설계#

YOLOv5는 Path Aggregation Network(PANet) neck과 결합된 수정된 CSPDarknet53 backbone을 사용합니다. 이 설계는 신속한 특징 추출과 메모리 효율성에 맞게 고도로 최적화되어 있습니다. 이전 아키텍처나 대형 Transformer 모델과 달리 YOLOv5는 학습 중 훨씬 적은 CUDA 메모리를 사용하므로 일반 소비자용 GPU에서 더 큰 배치 크기를 사용할 수 있습니다. 또한 Ultralytics 프레임워크는 표준 BBox를 넘어 이미지 분할이미지 분류를 비롯한 다양한 작업을 기본적으로 지원합니다.

YOLOv7 설계#

YOLOv7은 여러 구조적 재매개변수화와 E-ELAN 아키텍처를 도입하여 원래의 gradient path를 손상하지 않고 네트워크가 더욱 다양한 특징을 학습할 수 있도록 했습니다. 또한 학습 중 중간 감독을 위한 보조 head를 구현합니다. 이러한 발전은 높은 평균 정밀도(mAP)를 제공하지만, 대개 복잡한 tensor 구조를 도입하므로 Ultralytics 모델에 기본 제공되는 간소화된 export에 비해 ONNXTensorRT 같은 edge 형식으로 export하기가 다소 어려울 수 있습니다.

성능 분석#

이러한 모델을 비교할 때 개발자는 mAPval, 추론 속도, 계산 복잡도(FLOPs) 간의 균형을 맞춰야 합니다. 아래 표는 COCO 데이터셋에서 평가한 두 아키텍처의 성능을 보여줍니다.

모델크기
(픽셀)
mAPval
50-95
속도
CPU ONNX
(ms)
속도
T4 TensorRT10
(ms)
파라미터
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
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

핵심 요점#

  • 정확도 상한: YOLOv7x는 53.1 mAPval이라는 인상적인 수치로 전반적인 정확도가 가장 높아, 감지 성능 극대화가 주요 목표인 시나리오에서 매우 경쟁력 있는 선택입니다.
  • 속도 및 효율성: Ultralytics YOLOv5n은 탁월한 효율성을 자랑합니다. 매우 작은 메모리 공간만 차지하는 260만 개의 파라미터로 초고속 추론 지연 시간(T4 TensorRT에서 1.12ms)을 제공하며, 리소스가 매우 제한된 edge 배포에 독보적인 선택지입니다.
  • 성능 균형: YOLOv5 시리즈는 탁월한 모델 선택 폭을 제공합니다. YOLOv5l은 훌륭한 중간 지점으로, 정확도는 YOLOv7l보다 약간 낮지만 매우 성숙한 배포 파이프라인을 제공합니다.

Ultralytics 생태계의 이점#

모델 아키텍처는 전체 방정식의 절반에 불과하며, 모델을 둘러싼 생태계가 실제 활용 가능성을 좌우합니다. 바로 이 부분에서 Ultralytics 모델이 진정한 강점을 발휘합니다.

사용 편의성: Ultralytics는 통합되고 매우 직관적인 Python API를 제공합니다. 광범위한 공식 문서를 기반으로 최소한의 보일러플레이트만으로 모델을 학습, 검증, 배포할 수 있습니다. 잘 유지 관리되는 생태계: 활발한 개발을 통해 지속적인 업데이트와 버그 수정이 이루어지며, Weights & Biases 같은 최신 추적 도구와 원활하게 통합됩니다. 학습 효율성: 최적화된 데이터 로더와 스마트 캐싱을 활용하여 YOLOv5는 학습 시간을 크게 단축합니다. 또한 바로 사용할 수 있는 사전 학습 가중치가 다양한 도메인에서의 전이 학습을 가속합니다.

코드 예제: 간소화된 학습#

Ultralytics 패키지를 사용하면 선택한 아키텍처와 관계없이 학습 실행을 시작하는 방법이 거의 동일합니다.

from ultralytics import YOLO

# Load a pre-trained YOLOv5 model (can easily swap to "yolov7.pt")
model = YOLO("yolov5s.pt")

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

# Export the trained model to ONNX format for deployment
success = model.export(format="onnx")

이상적인 사용 사례#

YOLOv7을 선택해야 하는 경우#

  • 학술 벤치마킹: 잘 문서화된 2022년 기준선과 새로운 기법을 비교해야 하는 연구자에게 적합합니다.
  • 고성능 GPU 클라우드 처리: 강력한 서버 하드웨어에 배포하며 export의 간편함보다 복잡한 장면에서 절대적으로 높은 mAP 달성이 더 중요한 경우에 적합합니다.

YOLOv5를 선택해야 하는 경우#

  • 프로덕션 배포: 높은 안정성, 간편한 모델 배포 옵션, 폭넓은 크로스 플랫폼 호환성이 필요한 상용 애플리케이션에 적합합니다.
  • Edge 디바이스: 더 작은 변형 모델(YOLOv5n 및 YOLOv5s)은 휴대폰과 임베디드 시스템에서 탁월한 성능을 발휘합니다.
  • 다중 작업 요구 사항: 통합 프레임워크를 사용하여 프로젝트를 단순한 감지에서 포즈 추정 또는 분할로 확장해야 하는 경우에 적합합니다.
다른 아키텍처 살펴보기

더 최신 버전을 찾고 계십니까? Anchor-free 감지와 다중 작업 학습 기능의 추가 발전을 위해 Ultralytics YOLOv8 또는 Ultralytics YOLO11을 살펴보십시오.

차세대 모델: Ultralytics YOLO26#

YOLOv5와 YOLOv7은 비전 AI의 역사에서 중요한 위치를 차지하지만, 관련 기술 환경은 끊임없이 발전하고 있습니다. 2026년 1월에 출시된 Ultralytics YOLO26은 객체 감지 기술의 최첨단을 대표하며 모든 지표에서 이전 세대를 능가합니다.

YOLO26은 패러다임을 바꾸는 여러 기능을 도입합니다.

  • End-to-End NMS-Free 설계: 이전 버전에서 개척된 개념을 기반으로 YOLO26은 기본적으로 end-to-end 방식으로 동작합니다. 이를 통해 Non-Maximum Suppression(NMS) 후처리를 완전히 제거하여 latency 병목을 줄이고 배포 로직을 크게 단순화합니다.
  • MuSGD Optimizer: Moonshot AI의 Kimi K2에서 영감을 받은 이 혁신적인 optimizer는 표준 SGD의 안정성과 Muon의 가속된 momentum을 결합하여 고급 LLM 학습 혁신을 컴퓨터 비전에 직접 적용합니다.
  • 향상된 CPU 속도: Distribution Focal Loss(DFL)를 전략적으로 제거함으로써 YOLO26은 CPU 추론을 최대 43% 더 빠르게 수행하여 edge 및 저전력 IoT 디바이스 배포에서 독보적인 성능을 제공합니다.
  • ProgLoss + STAL: 이러한 고급 loss function은 작은 객체 인식 성능을 크게 향상하며, 이는 항공 이미지와 정밀 로보틱스에 매우 중요합니다.
  • 작업별 개선: mask 생성을 위한 Semantic segmentation loss, Pose tracking을 위한 Residual Log-Likelihood Estimation(RLE), 까다로운 Oriented Bounding Box(OBB) 경계 문제를 해결하기 위한 특수 angle loss를 제공합니다.

결론#

YOLOv5와 YOLOv7은 모두 실시간 객체 감지를 위한 강력한 솔루션을 제공합니다. YOLOv7은 고성능 하드웨어에서 순수 정확도를 중시할 때 여전히 강력한 선택지이며, YOLOv5는 속도, 효율성, 세계적 수준의 생태계를 탁월하게 조화한 개발자 친화적인 도구로 돋보입니다.

그러나 파이프라인의 미래 경쟁력을 확보하고 속도, 단순성, 최첨단 정확도를 궁극적으로 결합하려는 개발자에게는 Ultralytics YOLO26으로의 마이그레이션을 적극 권장합니다. Ultralytics 플랫폼의 전설적인 사용 편의성을 유지하면서 획기적인 아키텍처 혁신을 제공합니다.

댓글