YOLOv9 YOLOX: 아키텍처 진화와 기술적 비교
이 상세한 분석은 YOLOv9의 획기적인 프로그래머블 그라디언트 정보(PGI)와 선구적인 앵커 프리 객체 탐지기인 YOLOX를 비교합니다. 컴퓨터 비전 프로젝트에 적합한 모델을 선택하는 데 도움이 되도록 두 모델의 아키텍처 차이점, 성능 지표, 이상적인 배포 시나리오를 탐구합니다.
성능 지표 비교
다음 표는 주요 성능 지표를 벤치마킹합니다. YOLOv9 일반적으로 우수한 정확도-연산 비율을 보여주며, 특히 에지 배포에 중요한 소형 변종에서 두드러집니다.
| 모델 | 크기 (픽셀) | mAPval 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
| 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 |
YOLOv9: 프로그래밍 가능한 그래디언트 정보
YOLOv9, 2024년 2월 중앙연구원(Academia Sinica) 연구진에 의해 발표된 이 모델은 딥 뉴럴 네트워크의 '정보 병목 현상' 문제를 해결하기 위한 중대한 아키텍처 혁신을 도입합니다.
주요 아키텍처 혁신
- 프로그래머블 그라디언트 정보(PGI): PGI는 네트워크 매개변수 업데이트를 위한 신뢰할 수 있는 그라디언트를 생성하는 보조 감독 프레임워크입니다. 이는 데이터가 심층 레이어를 통과할 때 중요한 의미 정보가 손실되지 않도록 보장하며, 이는 경량 모델에서 흔히 발생하는 문제입니다.
- GELAN 아키텍처: 일반화된 효율적 레이어 집계 네트워크(GELAN) 는 CSPNet과 ELAN의 장점을 결합합니다. 이 아키텍처는 매개변수 효율성과 추론 속도를 최우선으로 하여, YOLOv9 이전 모델들에 비해 더 적은 FLOPs로 더 높은 정확도를 YOLOv9 합니다.
- 다용도성: 탐지에만 국한되었던 이전 버전들과 달리, YOLOv9 인스턴스 분할 및 파노프틱 분할을 YOLOv9 지원하여 복잡한 비전 작업에 다용도로 활용할 수 있는 선택지입니다.
저자 및 링크
- 저자: Chien-Yao Wang, Hong-Yuan Mark Liao
- 조직:정보 과학 연구소, 아카데미아 시니카
- 날짜:21
- Arxiv:2402.13616
- GitHub:WongKinYiu/yolov9
Ultralytics를 통한 효율적인 교육
YOLOv9 Ultralytics 완벽하게 YOLOv9 . 최소한의 설정만으로 사용자 지정 데이터로 모델을 훈련할 수 있으며, 자동 혼합 정밀도 및 다중GPU 같은 고급 기능을 활용할 수 있습니다.
from ultralytics import YOLO
# Load a pretrained YOLOv9 model
model = YOLO("yolov9c.pt")
# Train on your custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
욜록스: 닻을 내리지 않는 선구자
메그비(Megvii)가 2021년 발표한 YOLOX는 앵커 프리(anchor-free) 설계로 YOLO 전환시킨 혁신적인 모델이었다. 이 모델은 탐지 헤드를 분리함으로써 훈련 파이프라인을 단순화하고 성능을 향상시켰다.
주요 아키텍처 기능
- 앵커 프리 메커니즘: 사전 정의된 앵커 박스를 제거함으로써 YOLOX는 수동 앵커 조정(클러스터링)의 필요성을 없애고 탐지 헤드의 복잡성을 줄입니다.
- 분리된 헤드: YOLOX는 분류와 회귀 작업을 서로 다른 분기로 분리합니다. 이러한 분리는 두 작업 간의 충돌을 해결하여 더 빠른 수렴과 더 나은 정확도를 이끌어냅니다.
- SimOTA 레이블 할당: YOLOX는 전역 최적화 관점에서 지상 진실 객체를 예측 결과에 자동으로 매칭하는 동적 레이블 할당 전략인 SimOTA (Simplified Optimal Transport Assignment)를 활용합니다.
저자 및 링크
- 저자: 정거, 류송타오, 왕펑, 리쩌밍, 쑨젠
- 조직조직: Megvii
- 날짜:18
- Arxiv:2107.08430
- GitHub:Megvii-BaseDetection/YOLOX
비교 분석
사용 편의성 및 에코시스템
가장 중요한 차별화 요소 중 하나는 생태계입니다. YOLOv9Ultralytics 일환으로 통합되고 사용자 친화적인 경험을 제공합니다. 개발자는 다음과 같은 이점을 누릴 수 있습니다:
- 일관된 API: YOLOv9, YOLO11, YOLO26 중 어떤 모델을 사용하든 훈련, 검증, 추론을 위한 명령어는 동일하게 유지됩니다.
- 포괄적인 문서: Ultralytics 하이퍼파라미터 튜닝, 모델 내보내기 및 배포 전략에 대한 광범위한 가이드를 Ultralytics .
- 적극적인 유지보수: 빈번한 업데이트로 최신 버전과의 호환성 보장 PyTorch 버전 및 CUDA 호환성을 보장합니다.
반면 YOLOX는 일반적으로 저장소 복제 및 특정 종속성 관리와 같은 수동 설정이 필요하며, 이는 신속한 프로토타이핑에 장애물이 될 수 있습니다.
성능 및 효율성
- 정확도: YOLOv9 동등한 모델 mAP YOLOX보다 mAP 측면에서 우수한 성능을 보입니다. 예를 들어, YOLOv9m은 매개변수 수가 더 적음에도 불구하고(2000만 개 vs 2530만 개) YOLOX-m의 46.9%에 비해 51.4% mAP 달성합니다.
- 추론 속도: YOLOX가 2021년 속도 면에서 획기적인 발전을 이루었지만, YOLOv9 GELAN과 같은 최신 아키텍처는 효율성을 한층 더 YOLOv9 . YOLOv9t는 GPU 2.3ms의 속도로 실행되어 실시간 애플리케이션에 매우 적합합니다.
- 메모리 효율성: Ultralytics 훈련 중 GPU 사용량을 줄이도록 최적화되어 있습니다. 이를 통해 연구자들은 기존 아키텍처나 Transformer 기반 모델(예: RT-DETR과 비교하여 소비자용 하드웨어에서도 더 큰 배치 크기나 더 복잡한 모델을 훈련할 수 있게 합니다
사용 사례
- YOLOv9 선택하십시오: 최첨단 정확도가 필요하거나, 세그멘테이션 지원이 필요하거나, Ultralytics 통한 가장 간단한 배포 파이프라인을 원할 때. 산업용 검사 및 자율 시스템 분야에서 탁월한 성능을 발휘합니다.
- 다음과 같은 경우 YOLOX를 선택하십시오: YOLOX 코드베이스를 기반으로 구축된 레거시 시스템을 유지 관리 중이거나, 연구 비교를 위해 앵커 프리 헤드의 특정 동작이 필요한 경우.
앞으로 바라보기: YOLO26의 힘
YOLOv9 탁월한 선택이지만, 컴퓨터 비전 분야는 빠르게 진화하고 있습니다. 새로 출시된 YOLO26은 이전 버전의 강점을 바탕으로 궁극의 에지 우선 솔루션을 제공합니다.
YOLO26은 몇 가지 혁신적인 기능을 도입합니다:
- 엔드투엔드 NMS: 비최대 억제(NMS)를 제거함으로써 YOLOv2는 배포를 단순화하고 지연 변동성을 줄입니다. 이는 YOLOv10에서 선구적으로 제시된 개념입니다.
- MuSGD 최적화기: 대규모 언어 모델(LLM) 훈련에서 영감을 얻은 이 하이브리드 최적화기는 안정적인 수렴을 보장하며 다양한 배치 크기에서도 견고한 성능을 발휘합니다.
- ProgLoss + STAL: 이 고급 손실 함수들은 소형 물체 탐지 성능을 크게 향상시켜 YOLO26을 항공 촬영 및 드론 애플리케이션에 이상적으로 만듭니다.
- 43% 더 빠른 CPU : 분포 초점 손실(DFL) 제거로 YOLO26은 라즈베리 파이와 같은 CPU 에지 디바이스에 특화되어 최적화되었습니다.
Python에서 YOLO26 실행하기
최신 세대의 속도를 단 몇 줄의 코드로 경험하세요:
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
결론
YOLOv9 YOLOX 모두 객체 탐지에 상당한 기여를 했습니다. YOLOX는 앵커 프리 탐지를 대중화하여 향후 모델 설계 공간을 단순화했습니다. 그러나 YOLOv9 는 PGI 및 GELAN과 같은 최신 아키텍처 발전을 활용하여 우수한 정확도와 효율성을 제공합니다.
성능, 사용 편의성, 미래 대비성 사이의 최적의 균형을 추구하는 개발자를 위해, Ultralytics (예: YOLOv9 과 최첨단 YOLO26과 같은 Ultralytics 모델이 권장됩니다. 이들은 의료 영상부터 스마트 시티 모니터링에 이르기까지 다양한 과제를 해결할 수 있는 강력한 플랫폼을 제공합니다.
관련 모델
객체 탐지 아키텍처를 탐구 중이라면 다음 내용에도 관심이 있을 수 있습니다:
- YOLO11: 견고성으로 유명한 YOLO26의 강력한 선행 모델.
- RT-DETR: 높은 정확도를 제공하지만 더 많은 자원을 요구하는 변환기 기반 검출기.
- YOLOv8: 탐지, 분할, 자세 추정 작업을 위한 통합 프레임워크를 도입한 매우 인기 있는 모델입니다.