YOLOv5 vs YOLOX: 기술 비교
정확도, 속도 및 배포 복잡성 간의 균형을 맞추는 올바른 객체 감지 모델을 선택하는 것은 매우 중요한 결정입니다. 이 페이지에서는 Ultralytics YOLOv5와 YOLOX라는 YOLO 제품군의 두 가지 영향력 있는 모델 간의 자세한 기술 비교를 제공합니다. 두 모델 모두 실시간 성능을 제공하지만 근본적으로 다른 설계 철학을 기반으로 구축되었습니다. YOLOv5는 탁월한 사용 용이성과 효율성으로 알려진 고도로 최적화된 앵커 기반 모델인 반면, YOLOX는 정확도의 경계를 넓히기 위해 앵커 프리 접근 방식을 도입했습니다. 프로젝트 요구 사항에 가장 적합한 모델을 결정하는 데 도움이 되도록 아키텍처, 성능 지표 및 이상적인 사용 사례를 자세히 살펴보겠습니다.
Ultralytics YOLOv5: 확고한 산업 표준
기술 세부 사항:
- 작성자: Glenn Jocher
- 조직: Ultralytics
- 날짜: 2020-06-26
- GitHub: https://github.com/ultralytics/yolov5
- 문서: https://docs.ultralytics.com/models/yolov5/
아키텍처 및 주요 기능
Ultralytics YOLOv5는 속도, 정확성 및 사용자 친화성의 놀라운 조합으로 인해 업계 벤치마크가 되었습니다. PyTorch로 완전히 구축된 YOLOv5는 CSPDarknet53 백본, 특징 집계를 위한 PANet 넥, 효율적인 앵커 기반 감지 헤드를 갖춘 강력한 아키텍처를 특징으로 합니다. 주요 강점 중 하나는 소형의 빠른 YOLOv5n부터 대형의 정확한 YOLOv5x까지 다양한 모델을 제공하는 확장성입니다. 이러한 유연성을 통해 개발자는 특정 계산 및 성능 요구 사항에 맞는 완벽한 모델을 선택할 수 있습니다.
강점
- 탁월한 속도 및 효율성: YOLOv5는 빠른 추론에 매우 최적화되어 있어 CPU에서 GPU 및 에지 장치에 이르기까지 다양한 하드웨어에서 실시간 시스템을 위한 최고의 선택입니다.
- 사용 편의성: 간소화된 사용자 경험으로 유명한 YOLOv5는 광범위한 문서와 수많은 튜토리얼로 보완된 간단한 Python API 및 CLI를 제공합니다.
- 잘 관리되는 에코시스템: Ultralytics 모델로서, YOLOv5는 성숙하고 활발한 에코시스템의 이점을 누릴 수 있습니다. 여기에는 지속적인 개발, 크고 지원적인 커뮤니티, 잦은 업데이트, 그리고 노코드 학습 및 배포를 위한 Ultralytics HUB와 같은 도구와의 원활한 통합이 포함됩니다.
- 학습 효율성: 이 모델은 COCO와 같은 데이터 세트에 대해 즉시 사용 가능한 사전 학습된 가중치를 통해 효율적인 학습 프로세스를 제공하여 학습 시간과 계산 비용을 크게 줄입니다.
- 다양성: YOLOv5는 객체 탐지에만 국한되지 않고 인스턴스 분할 및 이미지 분류도 지원하므로 다양한 컴퓨터 비전 작업을 위한 다용도 도구입니다.
- 낮은 메모리 사용량: 더 복잡한 아키텍처와 비교했을 때, YOLOv5는 일반적으로 훈련 및 추론 모두에 더 적은 메모리를 필요로 하므로 제한된 하드웨어 리소스를 가진 사용자가 더 쉽게 접근할 수 있습니다.
약점
- Anchor-Based Detection: 사전 정의된 앵커 박스에 대한 의존성으로 인해 앵커 프리 검출기와 비교했을 때, 비정상적인 모양 또는 크기로 조정된 객체를 가진 데이터 세트에서 최적의 성능을 얻으려면 세심한 튜닝이 필요한 경우가 있습니다.
- 정확도 절충: 균형은 매우 훌륭하지만, 더 작은 YOLOv5 모델은 속도를 우선시하므로 YOLOX 또는 YOLOv9와 같이 더 새롭고 복잡한 아키텍처에 비해 정확도가 약간 낮을 수 있습니다.
사용 사례
YOLOv5는 속도와 효율성이 중요한 애플리케이션에서 뛰어납니다.
- 실시간 보안: 도난 방지 및 이상 감지를 가능하게 합니다.
- Edge Computing: Raspberry Pi 및 NVIDIA Jetson과 같이 리소스가 제한된 장치에 효율적으로 배포할 수 있습니다.
- 산업 자동화: 제조 분야의 품질 관리 개선(예: 재활용 효율성 향상).
YOLOX: 앵커 프리 및 고성능 대안
기술 세부 사항:
- 작성자: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, Jian Sun
- Organization: Megvii
- 날짜: 2021-07-18
- Arxiv: https://arxiv.org/abs/2107.08430
- GitHub: https://github.com/Megvii-BaseDetection/YOLOX
- 문서: https://yolox.readthedocs.io/en/latest/
아키텍처 및 주요 기능
2021년 Megvii의 연구진이 소개한 YOLOX는 객체 감지에 대한 앵커 프리(anchor-free) 접근 방식을 제시합니다. 이러한 설계 선택은 미리 정의된 앵커 박스의 필요성을 없애 감지 파이프라인을 단순화하고 일반화 성능을 향상시키는 것을 목표로 합니다. 주요 아키텍처 혁신으로는 분류 및 위치 파악 작업을 서로 다른 분기로 분리하는 분리된 헤드와 모델이 더 나은 표현을 학습하는 데 도움이 되는 동적 레이블 할당 기술인 SimOTA와 같은 고급 훈련 전략의 사용이 있습니다.
강점
- Anchor-Free 감지: 앵커 박스와 관련된 복잡성과 사전 가정을 제거하여 감지 파이프라인을 간소화하여 다양한 종횡비를 가진 객체에서 더 나은 성능을 잠재적으로 이끌어냅니다.
- 높은 정확도: 특히 더 큰 모델에서 경쟁력 있는 정확도를 달성합니다. 분리된 헤드와 고급 SimOTA 레이블 할당 전략은 강력한 mAP 점수에 크게 기여합니다.
약점
- 복잡성: 앵커 프리 설계 방식이 한 가지 측면을 단순화하지만, 분리된 헤드(decoupled head)와 SimOTA와 같은 고급 전략을 도입하면 구현 복잡성이 증가하고 훈련 과정이 덜 직관적으로 느껴질 수 있습니다.
- External Ecosystem: YOLOX는 Ultralytics 제품군의 일부가 아니므로 Ultralytics HUB와 같은 강력한 도구와의 원활한 통합이 부족합니다. 따라서 학습 곡선이 더 가파르고 학습, 배포 및 MLOps에 더 많은 수동 작업이 필요할 수 있습니다.
- CPU 속도: CPU에서의 추론 속도는 특히 더 큰 YOLOX 변형의 경우 YOLOv5와 같이 고도로 최적화된 모델에 비해 뒤쳐질 수 있으므로 특정 실시간 CPU 바운드 애플리케이션에는 적합하지 않습니다.
사용 사례
YOLOX는 정확도 극대화가 최우선인 애플리케이션에 적합합니다.
- 자율 주행: 높은 정밀도가 안전에 중요한 자율 주행 차량의 인식 작업에 적합합니다.
- 고급 로봇 공학: 로봇이 탐색 및 상호 작용을 위해 정밀한 객체 감지가 필요한 복잡한 환경에 이상적입니다.
- 연구: 객체 감지 연구에서 앵커 프리 방법론과 고급 훈련 기법을 탐구하기 위한 강력한 기준 역할을 합니다.
성능 및 속도 비교
YOLOv5와 YOLOX를 비교할 때 속도, 정확도 및 모델 크기 간의 절충점이 분명해집니다. YOLOv5는 뛰어난 효율성을 위해 설계되어 특히 CPU에서 그리고 TensorRT와 같은 최적화된 형식으로 내보낼 때 매우 빠른 추론 속도를 제공합니다. 따라서 광범위한 하드웨어에서 실시간 성능이 필요한 애플리케이션에 적합한 선택입니다. 반면에 YOLOX는 더 높은 정확도를 추구하며 가장 큰 모델인 YOLOX-x는 YOLOv5x보다 약간 더 높은 mAP를 달성합니다. 그러나 이러한 정확도 향상은 종종 계산 비용 증가와 더 느린 추론 시간으로 이어집니다.
아래 표는 COCO val2017 데이터 세트에서 벤치마크된 YOLOv5와 YOLOX의 다양한 모델 크기를 정량적으로 비교한 것입니다.
모델 | 크기 (픽셀) |
mAPval 50-95 |
속도 CPU ONNX (ms) |
속도 T4 TensorRT10 (ms) |
파라미터 (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
결론 및 권장 사항
YOLOv5와 YOLOX는 모두 강력한 객체 감지 모델이지만, 서로 다른 우선순위를 충족합니다.
Ultralytics YOLOv5는 대다수의 실제 애플리케이션에서 여전히 최고의 선택입니다. 주요 장점은 비교할 수 없는 사용 편의성, 뛰어난 추론 속도, 그리고 강력하고 잘 관리되는 생태계입니다. 개념에서 프로덕션으로 빠르고 효율적으로 이동하려는 개발자 및 팀에게 YOLOv5의 간소화된 워크플로, 광범위한 문서, 그리고 Ultralytics HUB와 같은 도구와의 통합은 매우 중요합니다. 고급 클라우드 서버에서 리소스가 제한된 엣지 장치에 이르기까지 모든 것에 배포하는 데 이상적인 속도와 정확성의 훌륭한 균형을 제공합니다.
YOLOX는 앵커 프리 아키텍처의 잠재력을 보여주는 강력한 학문 및 연구 모델입니다. 절대적으로 가장 높은 mAP를 달성하는 것이 주요 목표이고 개발 팀이 통합된 생태계의 복잡성 증가와 부족을 처리할 준비가 된 프로젝트에 적합한 선택입니다.
대부분의 개발자, 연구원 및 기업의 경우 Ultralytics 모델로 시작하는 것이 좋습니다. 여러 작업(감지, 분할, 포즈 등)을 지원하고 YOLOv8 및 YOLO11과 같은 최신 모델로의 명확한 업그레이드 경로를 제공하는 통합되고 적극적으로 개발된 프레임워크의 이점은 장기적으로 상당한 이점을 제공합니다. Ultralytics 생태계는 개발을 가속화하고 성공에 필요한 지원과 도구를 제공하도록 설계되었습니다.
기타 모델 비교
이러한 모델과 YOLO 제품군 및 그 외 다른 모델과의 비교에 관심이 있다면 다음 페이지를 확인해 보세요.