YOLO YOLOv10: 실시간 객체 탐지의 진화 탐색
실시간 객체 탐지 기술은 끊임없는 지연 시간 단축과 정확도 향상을 추구하며 급속히 진화해 왔습니다. 이 과정에서 두 가지 중요한 이정표는 알리바바 그룹이 개발한 YOLOYOLOv10입니다.YOLO 이 분야에 첨단 신경망 아키텍처 검색(NAS) 기술을YOLO 반면, YOLOv10 비최대 억제(NMS)를 제거함으로써 배포 파이프라인에 YOLOv10 . 본 포괄적 비교 분석은 두 모델의 기술적 아키텍처와 성능 지표를 살펴보고, YOLO26과 같은 최신 Ultralytics 실제 운영 환경에서 이러한 발전의 정점을 이루는 이유를 탐구합니다.
성과 지표 비교
다음 표는 주요 성능 지표의 직접 비교를 제공합니다. 특히 NMS 설계가 더 낮은 지연 시간에 기여하는 부분에서 추론 속도의 차이를 주목하십시오.
| 모델 | 크기 (픽셀) | mAPval 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
YOLO: 아키텍처와 방법론
YOLO 2022년 11월 알리바바 그룹 연구진에 의해 제안되었다. 이는 최첨단 기술을 통합된 검출기 프레임워크에 통합함으로써 성능의 한계를 뛰어넘는 것을 목표로 했다.
- 작성자: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, Xiuyu Sun
- Organization: Alibaba Group
- 날짜:23
- 논문:arXiv:2211.15444
- GitHub:YOLO
주요 아키텍처 기능
YOLO 신경망 구조 탐색(NAS)을 활용한다는 점에서YOLO . 수동으로 설계된 백본을 사용하는 모델과 달리,YOLO 방법 인식 효율적 NAS(MAE-NAS)YOLO 특정 제약 조건 하에서 최적의 네트워크 구조를 발견합니다. 이를 통해 특정 하드웨어에 맞춰 고도로 효율적인 백본을 구현합니다.
또한, 효율적인 특징 융합을 위한 RepGFPN(재매개변수화 일반화 특징 피라미드 네트워크)과 "ZeroHead"로 알려진 경량 헤드를 통합합니다. 훈련 전략의 핵심 구성 요소는 분류 및 회귀 작업 간의 정렬을 개선하는 동적 레이블 할당 메커니즘인 AlignedOTA입니다. 그러나YOLO 최고 성능을 달성하려면 복잡한 증류 과정이 필요한YOLO , 훈련 중 무거운 교사 모델이 필요해 "bag-of-freebies" 접근법을 사용하는 경우에 비해 계산 부담이 크게 증가할 수 있습니다. YOLOv8에 비해 계산 부담을 크게 증가시킬 수 있습니다.
훈련 복잡성
YOLO 훈련 파이프라인은 강력하지만 자원이 많이 소모될YOLO 있습니다. 증류 단계에서는 종종 더 큰 교사 모델을 먼저 훈련해야 하므로, 사용자 정의 데이터셋에서 빠른 반복 작업이 필요한 개발자에게는 워크플로우가 복잡해집니다.
YOLOv10: 종단간(End-to-End)의 돌파구
2024년 5월 칭화대학교에서 공개된 YOLOv10 은 객체 탐지에서 가장 오래된 병목 현상 중 하나인 비최대 억제(NMS)를 해결함으로써 패러다임 전환을 이루었습니다.
- 저자: Ao Wang, Hui Chen, Lihao Liu 외
- 조직: 칭화대학교
- 날짜:23
- 논문:arXiv:2405.14458
- GitHub:THU-MIG/yolov10
아키텍처 혁신
YOLOv10 핵심 특징은 엔드투엔드 NMS ( End-to-End NMS ) YOLOv10 . 기존 탐지기는 중복 경계 상자를 생성하며, 이는 NMS 후처리 단계를 통해 필터링해야 합니다. 이 과정은 지연 시간을 발생시키고 배포를 복잡하게 만듭니다. YOLOv10 훈련 과정에서 일관된 이중 할당(Consistent Dual Assignments )을 YOLOv10 . 즉, 풍부한 감독을 위한 일대다(one-to-many) 매칭과 엔드투엔드 추론을 위한 일대일(one-to-one) 매칭을 동시에 사용합니다. 이를 통해 모델은 개체당 단일 최적 박스를 직접 예측할 수 있어 NMS 필요하지 않습니다.
또한 YOLOv10 효율성과 정확도를 종합적으로 고려한 모델 설계를 YOLOv10 . 여기에는 경량 분류 헤드, 공간-채널 분리 다운샘플링, 순위 기반 블록 설계가 포함되어, 기존 모델들(예: YOLOv9 보다 더 작고 빠르면서도 경쟁력 있는 정확도를 유지하는 모델을 구현합니다.
Ultralytics : 왜 YOLO26을 선택해야 할까요?
YOLO YOLOv10 학문적으로 중요한 기여를 YOLOv10 반면, Ultralytics 최첨단 연구와 실용적이고 신뢰할 수 있는 생산용 소프트웨어 사이의 가교 역할을 합니다. 새로 출시된 YOLOv26은 YOLOv10 NMS 혁신을 기반으로 YOLOv10 이를 견고한 엔터프라이즈급 프레임워크에 통합합니다.
탁월한 성능과 효율성
YOLO26은 신규 프로젝트에 권장되는 선택지로서,YOLO 순수 YOLOv10 대비 다음과 같은 뚜렷한 장점을 제공합니다:
- 엔드투엔드 NMS 프리: YOLOv10 마찬가지로 YOLOv26은 기본적으로 엔드투엔드 방식입니다. 이는 NMS 단계를 제거하여 배포 파이프라인을 단순화하고 지연 시간 변동성을 크게 줄입니다.
- 향상된 훈련 안정성: YOLO26은 대규모 언어 모델(LLM) 훈련에서 영감을 받은 SGD )의 하이브리드인 MuSGD 최적화기를 활용합니다. 이 혁신은 훈련 중 더 빠른 수렴과 높은 안정성을 보장하며, 트랜스포머 중심 아키텍처 대비 필요한 GPU 줄입니다.
- 에지 최적화: YOLO26은 분포 초점 손실(DFL)을 제거함으로써 출력 계층을 간소화하여 CPU 시 최대 43% 더 빠른 성능을 제공합니다. 이는 GPU 없는 에지 디바이스에서 매우 중요합니다.
YOLO26 기술적 도약
YOLO26은 단순한 버전 업그레이드가 아닌 포괄적인 개선입니다.
사용 편의성 및 에코시스템
YOLO 같은 연구 저장소의 주요 과제 중 하나는 설정 및 유지 관리의YOLO . Ultralytics Python 이를 Ultralytics . YOLO11, YOLOv10, YOLO26 중 어떤 모델을 사용하든 워크플로는 일관되고 간단하게 유지됩니다.
Ultralytics (구 HUB)은 데이터셋 관리, 자동 주석 처리, TensorRT, ONNX, CoreML 등의 형식으로의 원클릭 내보내기 기능을 제공함으로써 개발 속도를 더욱 가속화합니다.
이상적인 사용 사례
적합한 모델 선택은 특정 제약 조건에 따라 달라집니다:
- YOLO 선택하십시오: 신경망 구조 탐색(NAS) 연구를 수행 중이거나, 표준 CSP/ELAN 백본으로는 부족한 특수 하드웨어 제약 조건에 맞는 맞춤형 백본 구조가 필요한 경우.
- YOLOv10 선택하십시오: 학술적 벤치마킹을 위해 특정 NMS 탐지기가 필요하거나, 원본 칭화대 논문에서 제안된 특정 아키텍처에 대한 기존 요구 사항이 있는 경우.
- 다음과 같은 경우 Ultralytics 선택하십시오: 생산 환경에 바로 적용 가능한 최첨단 솔루션이 필요합니다. NMS 설계에 MuSGD 훈련 안정성과 최적화된 CPU 결합되어 최고의 만능 솔루션입니다. 특히 제조, 소매 분석, 자율 시스템 분야의 실시간 애플리케이션에 탁월하며, 이곳에서는 배포 용이성과 장기 지원이 매우 중요합니다.
코드 예시: YOLOv10 YOLOv2 실행
Ultralytics 이러한 아키텍처 간 전환을 매우 쉽게 Ultralytics . Ultralytics 내에서 YOLOv10 , 최소한의 코드 변경만으로 두 모델을 모두 테스트할 수 있습니다.
YOLOv10 실행
from ultralytics import YOLO
# Load a pre-trained YOLOv10 model
model = YOLO("yolov10n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Show results
results[0].show()
YOLO26 훈련
MuSGD 최적화기 및 ProgLoss와 같은 YOLO26의 최신 발전을 활용하기 위해 사용자 정의 데이터셋으로 훈련하는 것은 간단합니다:
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Train on a custom dataset using the new optimizer settings (auto-configured)
model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Export to ONNX for simplified edge deployment
model.export(format="onnx")
결론
YOLO YOLOv10 각각 효율적인 NAS(YOLO 아키텍처YOLO )와 선구적인 NMS(네트워크 다중 NMS) 제거를 YOLOv10 분야를 YOLOv10 . 그러나 2026년에 견고하고 미래에도 대응 가능한 애플리케이션을 구축하려는 개발자에게는 Ultralytics 결정적인 이점을 제공합니다. YOLOv10 NMS YOLOv10 우수한 훈련 역학, 더 빠른 CPU , 그리고 Ultralytics 탁월한 지원을 결합함으로써, YOLO26은 컴퓨터 비전 전문가들을 위한 최고의 선택으로 자리매김합니다.
이전 안정 버전을 살펴보고 싶은 분들을 위해, YOLO11 은 여전히 완전히 지원되며 매우 뛰어난 성능을 가진 대안으로 남아 있습니다.