YOLOX와 YOLOv10: 기술 비교
물체 감지 분야는 높은 정확도와 실시간 추론 속도의 균형을 맞추는 모델의 필요성에 따라 빠르게 발전하고 있습니다. YOLOX와 YOLOv10 은 이 타임라인에서 중요한 두 가지 이정표입니다. 2021년에 출시된 YOLO 앵커 프리 아키텍처를 도입하여 YOLO 제품군에 활력을 불어넣었고, 2024년에 출시된 YOLOv10 비최대 억제NMS의 필요성을 제거하여 추론 지연 시간을 크게 단축함으로써 새로운 표준을 제시했습니다.
이 포괄적인 분석에서는 두 모델의 아키텍처 혁신, 성능 메트릭, 이상적인 사용 사례를 살펴보고 개발자와 연구자가 컴퓨터 비전 애플리케이션에 가장 적합한 도구를 선택할 수 있도록 도와줍니다.
욜록스: 닻을 내리지 않는 선구자
Megvii가 2021년에 출시한 YOLO 이전 YOLO 버전을 지배했던 앵커 기반 설계에서 벗어난 제품입니다. 앵커가 없는 메커니즘을 채택하고 디커플링 헤드 및 SimOTA와 같은 고급 기술을 통합함으로써 YOLOX는 경쟁력 있는 성능을 달성하고 연구 프레임워크와 산업 애플리케이션 간의 간극을 좁혔습니다.
기술 세부 정보:
저자: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, Jian Sun
조직:Megvii
날짜: 2021-07-18
Arxiv:https://arxiv.org/abs/2107.08430
GitHub:https://github.com/Megvii-BaseDetection/YOLOX
Docs:https://yolox.readthedocs.io/en/latest/
아키텍처 및 주요 기능
욜록스는 이전 버전인 욜록스4와 욜록스5의 YOLOv5 와 같이 일반화를 개선하고 훈련 파이프라인을 간소화하도록 설계된 몇 가지 주요 아키텍처 변경 사항을 구현함으로써 이전 모델과 차별화되었습니다.
- 앵커 프리 메커니즘: 사전 정의된 앵커 박스를 제거하여 수동으로 앵커를 조정할 필요가 없으므로 다양한 물체 모양에 대해 모델을 더욱 견고하게 만들고 디자인 파라미터의 수를 줄일 수 있습니다.
- 디커플링 헤드: 분류 및 로컬라이제이션 기능을 공유하는 커플링 헤드와 달리, YOLOX는 디커플링 헤드를 사용합니다. 이러한 분리를 통해 각 작업은 독립적으로 매개변수를 최적화할 수 있으므로 더 빠른 수렴과 전반적인 정확도가 향상됩니다.
- SimOTA 라벨 할당: YOLOX는 할당 문제를 최적의 전송 작업으로 처리하는 동적 라벨 할당 전략인 SimOTA(Simplified Optimal Transport Assignment)를 도입했습니다. 이 방법은 다양한 물체 규모에 효과적으로 적응하고 훈련 안정성을 향상시킵니다.
- 강력한 증강: 교육 파이프라인에는 출시 당시 최첨단 결과를 달성하는 데 중요한 역할을 했던 MixUp 및 Mosaic 데이터 증강 기능이 통합되어 있습니다.
강점과 약점
강점:
- 높은 정확도: YOLOX는 COCO 데이터 세트에서 강력한 mAP 점수를 제공하며, 특히 YOLOX-x와 같은 더 큰 변종에서는 더욱 그렇습니다.
- 간소화된 설계: 앵커가 없는 접근 방식은 휴리스틱 하이퍼파라미터를 줄여 모델 구성을 간소화합니다.
- 레거시 지원: 이미 확립된 모델로서 다양한 학술 및 산업 환경에서 널리 테스트되었습니다.
약점:
- 더 높은 지연 시간: 최신 디텍터에 비해 YOLOX는 초저지연 애플리케이션의 경우 병목 현상이 발생할 수 있는 NMS 후처리에 의존합니다.
- 계산 비용: 일반적으로 비슷한 정확도를 달성하기 위해 최신 모델보다 더 많은 플롭과 파라미터가 필요합니다.
- 통합: 오픈 소스이기는 하지만, Ultralytics 에코시스템에서 볼 수 있는 원활한 통합이 부족하여 배포 파이프라인에 더 많은 노력이 필요할 수 있습니다.
YOLOv10: 실시간 엔드투엔드 탐지
칭화대학교 연구진이 2024년 5월에 출시한 YOLOv10 실시간 물체 감지의 패러다임 전환을 의미합니다. 비최대 억제NMS의 필요성을 없애고 효율성을 위해 모델 구성 요소를 최적화함으로써 YOLOv10 계산 오버헤드를 크게 줄이면서 뛰어난 속도와 정확도를 달성합니다.
기술 세부 정보:
저자: 왕 아오, 후이 첸, 리하오 리우 외.
조직: 칭화대학교
날짜: 2024-05-23
아카이브:https://arxiv.org/abs/2405.14458
깃허브:https://github.com/THU-MIG/yolov10
문서ultralytics
아키텍처 및 혁신
YOLOv10 아키텍처와 후처리 파이프라인을 모두 다루는 총체적인 효율성-정확성 중심의 모델 설계에 중점을 둡니다.
- NMS 교육: 가장 획기적인 기능은 일관된 이중 할당을 사용하는 것입니다. 이 전략을 사용하면 추론 중에 일대일 매칭을 가능하게 하면서 풍부한 감독 신호로 모델을 훈련할 수 있습니다. 따라서 배포의 일반적인 지연 시간 병목 현상인 NMS 필요하지 않습니다.
- 전체론적 모델 설계: YOLOv10 경량 분류 헤드, 공간 채널 분리형 다운샘플링, 순위 가이드 블록 설계를 채택하고 있습니다. 이러한 최적화를 통해 성능 저하 없이 계산 중복과 메모리 사용량을 줄일 수 있습니다.
- 대형 커널 컨볼루션: 이 아키텍처는 대형 커널 깊이별 컨볼루션을 선택적으로 사용하여 수신 필드를 확장하여 작은 물체의 감지를 향상시킵니다.
강점 및 이점
강점:
- 최첨단 효율성: YOLOv10 속도와 정확성 사이에서 타의 추종을 불허하는 절충안을 제공합니다. NMS 사용하지 않는 설계로 엔드투엔드 지연 시간을 크게 줄였습니다.
- 파라미터 효율성: 이전 세대에 비해 더 적은 수의 파라미터로 더 높은 정확도를 달성하므로 라즈베리 파이와 같은 엣지 AI 디바이스에 이상적입니다.
- Ultralytics 통합: Ultralytics 에코시스템의 일부가 되면 사용하기 쉽고, 잘 문서화되어 있으며, 다음과 같은 다양한 내보내기 형식을 지원할 수 있습니다. ONNX 및 TensorRT.
성능 분석
다음 표는 COCO 벤치마크 데이터 세트에서 YOLOX와 YOLOv10 성능을 비교한 것입니다. 이 메트릭은 최신 모델의 효율성이 크게 개선되었음을 강조합니다.
| 모델 | 크기 (픽셀) | mAPval 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
분석: 데이터는 YOLOv10 효율성 우위를 명확하게 보여줍니다. 예를 들어, YOLOv10 더 적은 매개변수(7.2M 대 9.0M)를 사용하면서도 46.7%라는 훨씬 더 높은 mAP 달성하여 YOLOX-s (40.5%)에 비해 월등히 높습니다. 특히, 정확도(54.4% 대 51.1%)는 YOLOv10 YOLOX-x를 능가하는 반면(12.2ms 대 16.1ms) 훨씬 더 빠르고(56.9M 대 99.1M) 매개 변수는 거의 절반에 불과합니다(7.2M 대 9.0M). 이러한 효율성 덕분에 실시간 시스템에는 YOLOv10 훨씬 더 나은 선택입니다.
효율성 인사이트
자율 주행 차량이나 산업용 로봇과 같이 안전이 중요한 애플리케이션에서 중요한 요소인 추론 시간이 더 안정적이고 예측 가능해진다는 것은 YOLOv10 NMS 후처리 제거를 의미합니다.
학습 방법론 및 생태계
YOLOX는 이제 표준이 된 고급 증강 기술을 도입했지만, YOLOv10 성숙하고 사용자 친화적인 Ultralytics 교육 파이프라인의 이점을 활용합니다.
- 사용의 용이성: Ultralytics 모델은 간소화된 Python API로 유명합니다. YOLOv10 모델을 학습하는 데는 몇 줄의 코드만 있으면 되지만, YOLOX를 활용하려면 더 복잡한 구성 파일과 종속성 관리가 필요한 경우가 많습니다.
- 잘 관리된 에코시스템: YOLOv10 Ultralytics 프레임워크에 완전히 통합되어 있습니다. 따라서 사용자는 자동 하이퍼파라미터 튜닝, Ultralytics Explorer를 통한 원활한 데이터 세트 관리, 다양한 배포 옵션과 같은 기능에 액세스할 수 있습니다.
- 메모리 효율성: Ultralytics 최적화를 통해 YOLOv10 같은 모델은 구형 아키텍처나 무거운 트랜스포머 모델에 비해 트레이닝 중에 CUDA 메모리를 덜 사용하므로 소비자 GPU에서 더 큰 배치 크기를 구현할 수 있습니다.
코드 예시: YOLOv10 사용
다음 예는 개발자가 Ultralytics 라이브러리를 사용하여 사전 학습된 YOLOv10 모델을 로드하고 이미지에서 추론을 실행하는 방법을 보여 줍니다.
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Run inference on a local image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
이상적인 사용 사례
두 모델 모두 각자의 자리를 차지하고 있지만, YOLOv10 현대적인 아키텍처는 더 광범위한 현대적 애플리케이션에 적합합니다.
- 엣지 AI 및 IoT: YOLOv10 매개변수 수가 적고 속도가 빠르기 때문에 NVIDIA Jetson이나 스마트 카메라와 같이 컴퓨팅 성능이 제한된 디바이스에 배포하기에 적합합니다.
- 고속 제조: 컨베이어 벨트가 빠르게 움직이는 산업 검사에서 YOLOv10 NMS 추론은 병목 현상 없이 물체 감지가 생산 라인과 보조를 맞출 수 있도록 해줍니다.
- 감시 및 보안: 여러 비디오 스트림을 동시에 분석하는 경우, YOLOv10 계산 효율성으로 인해 YOLOX에 비해 서버당 더 높은 밀도의 스트림을 처리할 수 있습니다.
- 연구 기준선: 앵커 프리 디텍터의 발전과 최적의 전송 할당 방법을 연구하는 연구자들에게 YOLOX는 여전히 중요한 기준이 되고 있습니다.
결론
욜록스는 앵커 없는 탐지를 대중화하는 데 중추적인 역할을 했습니다, YOLOv10 은 최신 개발을 위한 탁월한 선택으로 돋보입니다. 혁신적인 NMS 아키텍처와 포괄적인 Ultralytics 에코시스템이 결합되어 더 빠르고 정확한 강력한 솔루션을 제공합니다.
최고의 성능 균형, 사용 편의성, 장기적인 지원을 원하는 개발자에게는 YOLOv10 적극 권장합니다. 또한 포즈 추정이나 인스턴스 세분화와 같은 작업에서 훨씬 더 다양한 기능을 필요로 하는 개발자에게는 견고한 YOLO11 모델은 동일한 사용자 친화적인 프레임워크 내에서 훌륭한 대안이 될 수 있습니다.
Ultralytics 모델을 선택하면 최첨단 연구, 활발한 커뮤니티 지원, 프로덕션에 바로 사용할 수 있는 안정성을 기반으로 프로젝트를 구축할 수 있습니다.