YOLOv10 YOLO: 실시간 객체 탐지 아키텍처의 진화
컴퓨터 비전 분야의 급속한 발전 속에서 지연 시간과 정확도 사이의 최적 균형을 추구하는 노력은 지속적인 혁신을 이끌어내고 있습니다. 이 여정에서 두 가지 중요한 이정표는 YOLOv10로, 획기적인 NMS 없는 훈련으로 유명하며, YOLO 신경망 구조 탐색(NAS)을 활용해 효율성의 한계를 뛰어넘었습니다. 본 비교 분석은 두 모델의 구조적 차이점, 성능 지표, 그리고 현대 AI 애플리케이션에 대한 적합성을 탐구합니다.
성능 지표 분석
다음 표는 주요 성능 지표에 대한 상세한 비교를 제시합니다. YOLOv10 현대 GPU에서, 특히 더 큰 모델 변형에서 매개변수 활용 및 추론 속도 면에서 우수한 효율성을 보여줍니다.
| 모델 | 크기 (픽셀) | mAPval 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
YOLOv10: 엔드투엔드 선구자
2024년 5월 칭화대학교 연구진에 의해 공개된 YOLOv10 은 비최대 억제(NMS)의 필요성을 제거함으로써 패러다임 전환을 가져왔습니다. 이 아키텍처는 기존 탐지기의 후처리 단계에서 흔히 발생하는 지연 시간 변동을 해결합니다.
주요 아키텍처 기능
- NMS 훈련: NMS 훈련을 위해 일관된 이중 할당을 활용하여 모델이 객체당 단일 바운딩 박스를 직접 예측할 수 있도록 합니다. 이는 자율주행 차량이나 산업용 로봇과 같이 예측 가능한 지연 시간이 필요한 애플리케이션에 매우 중요합니다.
- 전체적 효율성-정확도 설계: 저자 왕아오(Ao Wang) 등은 백본과 헤드를 포함한 다양한 구성 요소를 최적화하여 계산적 중복성을 줄였다.
- 경량 분류 헤드: 앵커 프리 탐지기에서 흔히 병목 현상을 일으키는 분류 분기의 오버헤드를 줄입니다.
Ultralytics Python 통해 YOLOv10 실행할 수 있으며, 표준화된 인터페이스의 이점을 누릴 수 있습니다.
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Train the model on a custom dataset
model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
results[0].show()
YOLO: 대규모 신경망 구조 탐색
알리바바 그룹이 개발하여 2022년 11월에 공개한 YOLO 효율적인 아키텍처의 자동화된 발견에 중점을 둡니다. 신경망 아키텍처 검색(NAS)을 활용함으로써, 연구팀은 엄격한 계산 예산 하에서 탐지 백본의 최적 깊이와 너비를 찾는 것을 목표로 했습니다.
주요 아키텍처 기능
- MAE-NAS 백본: 다중 목표 진화적 탐색을 사용하여 탐지 정확도와 추론 속도의 균형을 이루는 백본을 찾습니다.
- 효율적인 RepGFPN: 다양한 규모(예: 항공 이미지 분석)의 객체 탐지에 중요한 특징 융합을 개선하는 헤비넥(heavy-neck) 설계.
- 제로헤드: 최종 예측 계층의 복잡성을 줄여주는 간소화된 탐지 헤드입니다.
YOLO 강력한 성능을YOLO , 복잡한 NAS 프로세스에 의존하기 때문에 일반 개발자가 사용자 친화적인 Ultralytics 구성에 비해 맞춤형 데이터셋을 위해 아키텍처를 재훈련하거나 수정하기 어려울 수 있습니다.
Ultralytics의 강점: YOLO26의 등장
YOLOv10 YOLO 상당한 진전을YOLO , 해당 분야는 계속 발전해 왔습니다. Ultralytics YOLOv10 NMS 유산을 기반으로 YOLOv10 이를 보다 견고하고 실전 적용이 가능한 생태계에 통합합니다.
왜 Ultralytics 선택해야 할까요?
Ultralytics 잘 관리된 생태계를 Ultralytics 모델이 현재 작동할 뿐만 아니라 하드웨어 및 소프트웨어 라이브러리가 발전함에 따라 지속적으로 기능하도록 보장합니다. 많은 학술 저장소와 달리 Ultralytics 일관된 업데이트, 방대한 문서, 그리고 TensorRT , OpenVINO 같은 배포 도구와의 원활한 통합을 제공합니다.
YOLO26 혁신
최고의 속도와 정확도를 추구하는 개발자들을 위해, YOLO26은 이전 버전 대비 다음과 같은 핵심적인 개선 사항을 도입합니다:
- 엔드투엔드 NMS 프리: YOLOv10 마찬가지로 YOLO26은 기본적으로 엔드투엔드 구조를 가집니다. 그러나 분포 초점 손실(DFL)을 제거함으로써 이를 더욱 정교화하여 모델 그래프를 단순화함으로써 에지 디바이스 및 저전력 칩과의 호환성을 향상시켰습니다.
- MuSGD 최적화기: 대규모 언어 모델(LLM) 훈련 분야의 혁신(특히 Moonshot AI의 Kimi K2)에서 영감을 받아, YOLO26은 MuSGD 최적화기를 활용합니다. SGD Muon의 하이브리드인 이 최적화기는 훈련에 전례 없는 안정성을 제공하여 더 빠른 수렴과 GPU 단축을 가능하게 합니다.
- CPU : YOLO26은 에지 컴퓨팅에 특화되어 최적화되었으며, CPU에서 최대 43% 더 빠른 추론을 제공합니다. 이는 GPU를 사용할 수 없는 IoT 애플리케이션에 이상적인 선택입니다.
- 강화된 손실 함수: ProgLoss 및 STAL (Self-Taught Anchor Learning)의 도입으로 소형 물체 및 까다로운 배경에서의 성능이 크게 향상되었습니다.
비교 사용 사례
적합한 모델 선택은 특정 배포 제약 조건과 워크플로 요구 사항에 크게 좌우됩니다.
YOLO 언제 사용해야 하는가
YOLO 신경망 구조 탐색(NAS) 관련 연구 시나리오에 적합한 강력한 후보YOLO . 자동화된 탐색 전략이 특징 추출에 미치는 영향을 조사해야 하는 프로젝트나 알리바바 생태계에 깊이 통합된 경우, 이 모델은 귀중한 통찰력을 제공합니다. 또한 RepGFPN 모듈은 특징 융합 연구를 위한 탁월한 참고 자료입니다.
YOLOv10 언제 사용해야 하는가
YOLOv10 낮은 지연 시간 편차가 중요한 응용 분야에 YOLOv10 . NMS 필요 없는 설계로 인해 탐지된 객체 수와 무관하게 추론 시간이 안정적으로 유지되며, 이는 실시간 안전 시스템에 필수적입니다.
- 실시간 감시: 혼잡한 장면에서도 일관된 프레임 속도 유지.
- 로봇공학: 제어 루프의 예측 가능한 타이밍.
YOLO26이 더 나은 선택인 이유
대다수의 개발자와 상용 애플리케이션에 있어 Ultralytics 가장 매력적인 패키지를 제공합니다. 이는 YOLOv10 ( NMS 모듈러 YOLOv10 ) NMS 얻을 수 있는 YOLOv10 우수한 훈련 효율성 YOLOv10 광범위한 하드웨어 지원을 YOLOv10 .
- 사용 편의성: 단일 Python 로 훈련, 검증 및 배포를 수행합니다.
- 다용도성:YOLO 달리 YOLO26은 인스턴스 분할, 자세 추정, 분류, 방향성 바운딩 박스(OBB)를 포함한 전체 작업 세트를 지원합니다.
- 메모리 효율성: YOLO26은 트랜스포머 하이브리드 모델에 비해 훈련 중 CUDA 사용량이 현저히 적어, 소비자용 GPU에서도 훈련이 가능합니다.
- 플랫폼 통합: 원활하게 내보내기 ONNX, CoreML 및 TFLite Ultralytics 프로토타입에서 생산 환경으로의 전환을 간소화합니다.
코드 예시: YOLO26 워크플로
Ultralytics 사용하면 최신 기술로의 전환이 손쉽게 이루어집니다. 다음 코드 스니펫은 최첨단 YOLO26 모델을 로드하고, 추론을 실행하며, 배포를 위해 내보내는 방법을 보여줍니다.
from ultralytics import YOLO
# Load the YOLO26s model (Small version)
model = YOLO("yolo26s.pt")
# Train on COCO8 dataset
model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX for simplified deployment
model.export(format="onnx", opset=13)
결론
YOLOv10 YOLO 모두 컴퓨터 비전 분야에 가치 있는 혁신을YOLO . YOLOv10 는 NMS(Neighborhood Multi-Scale) NMS 탐지가 가능함을 입증했으며, YOLO NAS(Neural Architecture Search)의 힘을 보여주었습니다. 그러나 Ultralytics 이러한 발전들을 종합하여 포괄적이고 사용자 친화적이며 고성능의 도구로 탄생시켰습니다. 뛰어난 속도, 다양한 작업 수행 능력, 그리고 강력한 생태계의 지원을 바탕으로, YOLO26은 차세대 AI 애플리케이션을 구축하는 개발자들에게 권장되는 솔루션으로 자리매김하고 있습니다.
추가적인 탐구를 위해 YOLO11 또는 트랜스포머 기반 RT-DETR 를 검토하여 다른 아키텍처 접근법을 살펴보시기 바랍니다.