욜록스와 YOLO: 물체 감지 진화에 대한 심층 분석
물체 감지의 환경은 연구자들이 정확도, 추론 속도, 아키텍처 효율성의 경계를 끊임없이 넓혀가면서 끊임없이 진화하고 있습니다. 이 분야에서 주목할 만한 두 가지 공헌은 YOLOX와 YOLO. YOLOX는 앵커가 필요 없는 메커니즘을 도입하여 YOLO 제품군에 활력을 불어넣었고, YOLO 신경망 아키텍처 검색(NAS)을 활용하여 산업 애플리케이션에 특화된 성능을 최적화했습니다.
이 가이드는 개발자와 연구자가 각 모델의 뉘앙스, 이상적인 사용 사례, 그리고 다음과 같은 최신 솔루션과의 비교를 이해하는 데 도움이 되는 포괄적인 기술 비교를 제공합니다. Ultralytics YOLO11.
욜록스: 닻을 내리지 않는 선구자
Megvii가 개발한 욜록스는 2021년에 출시되었을 때 YOLO 계보에 큰 변화를 가져왔습니다. 앵커가 없는 디자인으로 전환함으로써 훈련 프로세스를 간소화하고 YOLOv4 및 YOLOv5 같은 이전 버전의 필수 요소였던 복잡한 앵커 박스 계산의 필요성을 없앴습니다.
기술 세부 사항:
- 작성자: 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/
주요 아키텍처 기능
YOLOX는 성능을 달성하기 위해 몇 가지 고급 기술을 통합합니다:
- 앵커 프리 메커니즘: 객체 중심을 직접 예측함으로써 YOLOX는 앵커 기반 방식과 관련된 설계 파라미터와 휴리스틱 튜닝 단계의 수를 줄입니다.
- 디커플링 헤드: 분류와 회귀를 함께 처리하는 커플링 헤드와 달리, YOLOX는 이러한 작업을 분리합니다. 이 디커플링은 수렴 속도와 전반적인 정확도를 향상시킵니다.
- SimOTA: SimOTA(단순화된 최적 전송 할당)라는 고급 라벨 할당 전략은 양성 샘플을 기준 진실에 동적으로 할당하여 정적 매칭보다 훈련 목표를 더 효과적으로 최적화합니다.
왜 앵커 프리인가요?
앵커 프리 감지기는 특정 데이터 세트에 대해 앵커 박스 하이퍼파라미터(예: 크기 및 종횡비)를 수동으로 조정할 필요가 없어 모델 설계를 간소화합니다. 이는 종종 다양한 개체 형태에 걸쳐 더 나은 일반화로 이어집니다.
YOLO: 신경 구조 검색 최적화
2022년 말 알리바바 그룹에서 출시한 YOLO 고성능과 저지연 사이의 간극을 메우는 데 중점을 두고 있습니다. 자동화된 머신 러닝 기술을 사용하여 효율적인 네트워크 구조를 발견하므로 실시간 처리가 필요한 산업용 애플리케이션에 강력한 경쟁자가 될 것입니다.
기술 세부 사항:
- 작성자: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, Xiuyu Sun
- 조직:조직: 알리바바 그룹
- 날짜: 2022-11-23
- Arxiv:https://arxiv.org/abs/2211.15444v2
- GitHub:https://github.com/tinyvision/DAMO-YOLO
- Docs:https://github.com/tinyvision/DAMO-YOLO/blob/master/README.md
주요 아키텍처 기능
YOLO YOLO 생태계에 몇 가지 '새로운 기술'을 도입합니다:
- MAE-NAS 백본: 이 모델은 평균 절대 오류(MAE) 메트릭을 기반으로 신경망 아키텍처 검색(NAS) 을 통해 생성된 백본을 사용합니다. 이를 통해 특징 추출기가 탐지 작업에 완벽하게 맞춤화됩니다.
- RepGFPN: 재파라미터화를 사용하여 추론 대기 시간을 낮게 유지하면서 특징 융합 효율성을 극대화하는 일반화된 특징 피라미드 네트워크(GFPN)를 기반으로 하는 헤비넥 설계입니다.
- 제로헤드: 예측의 정확성을 유지하면서 계산 오버헤드를 줄여주는 간소화된 탐지 헤드입니다.
- AlignedOTA: 분류 점수를 회귀 정확도와 더 잘 일치시켜 고품질 예측의 우선순위를 보장하는 라벨 할당의 진화 버전입니다.
성능 분석
이 두 모델을 비교할 때는 정확도mAP)와 추론 속도(지연 시간) 간의 상충 관계를 살펴보는 것이 중요합니다. 아래 표는 YOLOX가 여전히 경쟁력이 있는 반면, YOLO 최신 아키텍처가 일반적으로 비슷한 정확도 수준에서 GPU 하드웨어에서 더 뛰어난 속도를 제공한다는 점을 강조합니다.
| 모델 | 크기 (픽셀) | 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 |
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
주요 비교 포인트
- 속도 대 정확도: YOLO(DAMO-YOLOt)는 더 빠르게 실행(2.32ms 대 2.56ms)되고 더 적은 FLOP을 사용하면서 YOLOX-Small(40.5)보다 더 높은 mAP (42.0)을 달성합니다. 이는 NAS에 최적화된 백본의 효율성을 보여줍니다.
- 파라미터 효율성: YOLOX-Nano는 매우 가볍기 때문에(0.91M 파라미터) 모든 바이트가 중요한 리소스 제약이 극심한 엣지 디바이스에 적합한 옵션이지만, YOLO 해당 특정 규모에서 직접적인 경쟁자를 제공하지 않습니다.
- 최고급 성능: YOLOX-X는 정확도를 51. mAP 끌어올리면서도 방대한 매개변수 수(99.1억 개)로 이를 달성합니다. YOLO 절반 이하의 매개변수(42.1억 개)로 비슷한 50. mAP 도달하여 보다 현대적이고 효율적인 설계가 돋보입니다.
사용 사례 및 응용 분야
YOLOX와 YOLO 중에서 선택하는 것은 특정 배포 환경에 따라 달라집니다.
- YOLOX는 앵커 없이 간단하게 구현해야 하는 연구 환경과 시나리오에 적합합니다. 성숙도가 높기 때문에 많은 커뮤니티 리소스와 튜토리얼을 이용할 수 있습니다. 레거시 호환성이 필요한 범용 객체 감지 작업에 적합한 강력한 후보입니다.
- YOLO GPU 하드웨어의 짧은 지연 시간이 중요한 산업 자동화 및 스마트 시티 애플리케이션에서 탁월한 성능을 발휘합니다. 최적화된 아키텍처로 제조 분야에서 높은 처리량의 비디오 분석과 실시간 결함 감지에 이상적입니다.
Ultralytics YOLO11: 탁월한 대안
YOLOX와 YOLO 강력한 탐지 기능을 제공하지만, 대부분 단일 작업에 국한되어 있고 통합된 지원 에코시스템이 부족합니다. 종합적인 솔루션을 찾는 개발자를 위한 솔루션입니다, Ultralytics YOLO11 는 최첨단 비전 AI를 대표합니다.
Ultralytics 모델은 단순한 아키텍처가 아니라 완전한 개발자 도구로 설계되었습니다.
Ultralytics YOLO11을 선택해야 하는 이유
- 작업 전반에 걸친 다목적성: 주로 바운딩 박스 감지에 중점을 두는 YOLOX 및 YOLO 달리, YOLO11 기본적으로 다양한 컴퓨터 비전 작업을 지원합니다. 여기에는 인스턴스 분할, 포즈 추정, OBB(방향성 물체 감지), 이미지 분류가 포함됩니다.
- 탁월한 사용 편의성: Ultralytics Python API를 사용하면 단 몇 줄의 코드만으로 모델을 훈련, 검증 및 배포할 수 있습니다. 복잡한 리포지토리를 복제하거나 환경 경로를 수동으로 구성할 필요가 없습니다.
- 잘 관리된 에코시스템: Ultralytics 자주 업데이트를 제공하여 최신 버전의 PyTorch 호환성을 보장합니다, ONNX및 TensorRT. 활발한 커뮤니티와 방대한 문서가 있어 지원 없이 어려움을 겪을 일이 없습니다.
- 훈련 효율성과 메모리: YOLO11 효율성을 위해 설계되었습니다. 일반적으로 구형 아키텍처나 무거운 트랜스포머 기반 모델에 비해 트레이닝 시 GPU 메모리가 덜 필요하므로 더 빠른 반복이 가능하고 클라우드 컴퓨팅 비용을 절감할 수 있습니다.
- 성능 균형: YOLO11 이전 YOLO 버전의 레거시를 기반으로 속도와 정확성의 최적의 균형을 제공하므로 NVIDIA Jetson 엣지 디바이스에서 엔터프라이즈급 클라우드 서버에 이르기까지 모든 곳에 배포하기에 적합합니다.
Ultralytics 사용 편의성
YOLO11 모델을 훈련하는 것은 기존 프레임워크에 비해 매우 간단합니다.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt") # load a pretrained model
# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference
results = model("path/to/image.jpg")
결론
욜록스와 YOLO 모두 컴퓨터 비전의 역사에서 중요한 위치를 차지하고 있습니다. YOLOX는 앵커 프리 패러다임을 성공적으로 대중화했고, YOLO 산업용 감지기를 최적화하기 위한 신경망 아키텍처 검색의 힘을 보여주었습니다. 그러나 유연성, 장기적인 지원, 멀티태스크 기능이 필요한 최신 애플리케이션의 경우, 이 두 가지를 모두 충족해야 합니다, Ultralytics YOLO11 이 최고의 선택입니다. 강력한 에코시스템에 통합되어 최첨단 성능과 최소한의 메모리 사용 공간을 제공하므로 개발자는 확장 가능하고 효율적인 AI 솔루션을 쉽게 구축할 수 있습니다.
다른 모델 살펴보기
이러한 모델이 다른 최신 아키텍처와 어떻게 비교되는지 보다 폭넓은 관점에서 살펴보려면 자세한 비교 페이지를 참조하세요:
- YOLO11 대 DAMO-YOLO
- YOLOv8 vs. YOLOX
- RT-DETR vs. DAMO-YOLO
- YOLOv10 대 YOLOv10
- EfficientDet 대 YOLOX
- PP-YOLOE vs DAMO-YOLO