YOLO-NAS
개요
Deci AI 개발한 YOLO 획기적인 물체 감지 기반 모델입니다. 이 모델은 고급 신경 구조 검색 기술의 산물로, 이전 YOLO 모델의 한계를 해결하기 위해 세심하게 설계되었습니다. 정량화 지원과 정확도-지연 시간 트레이드오프가 크게 개선된 YOLO 물체 감지에 있어 큰 도약을 이뤘습니다.
YOLO-NAS 개요. YOLO-NAS는 최적의 성능을 위해 양자화 인식 블록과 선택적 양자화를 사용합니다. 이 모델을 INT8 양자화 버전으로 변환하면 정밀도 저하가 최소화되어 다른 모델에 비해 크게 향상됩니다. 이러한 발전은 전례 없는 물체 감지 기능과 뛰어난 성능을 갖춘 우수한 아키텍처로 정점을 찍습니다.
주요 기능
- 양자화 친화적 기본 블록: YOLO-NAS는 양자화에 친화적인 새로운 기본 블록을 도입하여 이전 YOLO 모델의 중요한 한계 중 하나를 해결합니다.
- 정교한 훈련 및 정량화: YOLO-NAS는 고급 훈련 체계와 훈련 후 정량화를 활용하여 성능을 향상시킵니다.
- AutoNAC 최적화 및 사전 교육: YOLO-NAS는 AutoNAC 최적화를 활용하며 COCO, Objects365, Roboflow 100과 같은 주요 데이터 세트에 대해 사전 교육을 받습니다. 이러한 사전 학습을 통해 프로덕션 환경의 다운스트림 오브젝트 탐지 작업에 매우 적합합니다.
사전 학습된 모델
Ultralytics 에서 제공하는 사전 학습된 YOLO-NAS 모델을 통해 차세대 객체 감지의 강력한 성능을 경험하세요. 이 모델은 속도와 정확도 측면에서 최고의 성능을 제공하도록 설계되었습니다. 특정 요구사항에 맞는 다양한 옵션 중에서 선택하세요:
성능
모델 | mAP | 지연 시간(ms) |
---|---|---|
YOLO-NAS S | 47.5 | 3.21 |
YOLO-NAS M | 51.55 | 5.85 |
YOLO-NAS L | 52.22 | 7.87 |
YOLO-NAS S INT-8 | 47.03 | 2.36 |
YOLO-NAS M INT-8 | 51.0 | 3.78 |
YOLO-NAS L INT-8 | 52.1 | 4.78 |
각 모델 변형은 평균 평균 정밀도 (mAP)와 지연 시간 간의 균형을 제공하도록 설계되어 성능과 속도 모두에서 물체 감지 작업을 최적화할 수 있습니다.
사용 예
Ultralytics 를 통해 Python 애플리케이션에 쉽게 통합할 수 있는 YOLO-NAS 모델을 만들었습니다. ultralytics
python 패키지를 사용하세요. 이 패키지는 사용자 친화적인 Python API를 제공하여 프로세스를 간소화합니다.
다음 예는 YOLO-NAS 모델을 사용하는 방법을 보여줍니다. ultralytics
패키지를 사용하여 추론 및 유효성 검사를 수행합니다:
추론 및 유효성 검사 예제
이 예에서는 COCO8 데이터 세트에서 YOLO-NAS-s의 유효성을 검사합니다.
예
이 예는 YOLO-NAS에 대한 간단한 추론 및 유효성 검사 코드를 제공합니다. 추론 결과 처리에 대해서는 예측 모드로 설정합니다. 추가 모드와 함께 YOLO-NAS를 사용하려면 다음을 참조하세요. Val 그리고 내보내기. YOLO-NAS의 ultralytics
패키지는 교육을 지원하지 않습니다.
PyTorch 사전 교육 *.pt
모델 파일을 NAS()
클래스를 사용하여 python 에서 모델 인스턴스를 생성합니다:
from ultralytics import NAS
# Load a COCO-pretrained YOLO-NAS-s model
model = NAS("yolo_nas_s.pt")
# Display model information (optional)
model.info()
# Validate the model on the COCO8 example dataset
results = model.val(data="coco8.yaml")
# Run inference with the YOLO-NAS-s model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
CLI 명령을 사용하여 모델을 직접 실행할 수 있습니다:
지원되는 작업 및 모드
YOLO-NAS 모델에는 세 가지 변형이 있습니다: 소형(s), 중형(m), 대형(l). 각 모델은 서로 다른 계산 및 성능 요구 사항을 충족하도록 설계되었습니다:
- YOLO-NAS-s: 컴퓨팅 리소스는 제한되어 있지만 효율성이 중요한 환경에 최적화되어 있습니다.
- YOLO-NAS-m: 더 높은 정확도로 범용 물체 감지에 적합한 균형 잡힌 접근 방식을 제공합니다.
- YOLO-NAS-l: 계산 리소스의 제약이 적은 최고 정확도가 필요한 시나리오에 맞게 조정되었습니다.
아래는 사전 학습된 가중치, 지원되는 작업, 다양한 운영 모드와의 호환성 링크를 포함하여 각 모델에 대한 자세한 개요입니다.
모델 유형 | 사전 학습된 가중치 | 지원되는 작업 | 추론 | 유효성 검사 | 교육 | 내보내기 |
---|---|---|---|---|---|---|
YOLO-NAS-s | yolo_nas_s.pt | 물체 감지 | ✅ | ✅ | ❌ | ✅ |
YOLO-NAS-m | yolo_nas_m.pt | 물체 감지 | ✅ | ✅ | ❌ | ✅ |
YOLO-NAS-l | yolo_nas_l.pt | 물체 감지 | ✅ | ✅ | ❌ | ✅ |
인용 및 감사
연구 또는 개발 작업에 YOLO-NAS를 사용하는 경우 SuperGradients를 인용해 주세요:
@misc{supergradients,
doi = {10.5281/ZENODO.7789328},
url = {https://zenodo.org/records/7789328},
author = {Aharon, Shay and {Louis-Dupont} and {Ofri Masad} and Yurkova, Kate and {Lotem Fridman} and {Lkdci} and Khvedchenya, Eugene and Rubin, Ran and Bagrov, Natan and Tymchenko, Borys and Keren, Tomer and Zhilko, Alexander and {Eran-Deci}},
title = {Super-Gradients},
publisher = {GitHub},
journal = {GitHub repository},
year = {2021},
}
컴퓨터 비전 커뮤니티를 위해 이 귀중한 리소스를 만들고 유지하는 데 힘써주신 Deci AI 의 SuperGradients 팀에 감사를 표합니다. 혁신적인 아키텍처와 뛰어난 물체 감지 기능을 갖춘 YOLO-NAS는 개발자와 연구자 모두에게 중요한 도구가 될 것이라고 믿습니다.
자주 묻는 질문
YOLO-NAS란 무엇이며 이전 YOLO 모델보다 어떻게 개선되나요?
YOLO- Deci AI 에서 개발한 NAS는 고급 신경 구조 검색(NAS) 기술을 활용한 최첨단 객체 감지 모델입니다. 양자화 친화적인 기본 블록과 정교한 훈련 체계와 같은 기능을 도입하여 이전 YOLO 모델의 한계를 해결합니다. 그 결과 특히 컴퓨팅 리소스가 제한된 환경에서 성능이 크게 향상됩니다. YOLO-NAS는 또한 양자화를 지원하여 INT8 버전으로 변환한 경우에도 높은 정확도를 유지하므로 프로덕션 환경에 대한 적합성이 향상됩니다. 자세한 내용은 개요 섹션을 참조하세요.
Python 애플리케이션에 YOLO-NAS 모델을 통합하려면 어떻게 해야 하나요?
YOLO-NAS 모델을 Python 애플리케이션에 쉽게 통합할 수 있습니다. ultralytics
패키지를 사용하세요. 다음은 사전 학습된 YOLO-NAS 모델을 로드하고 추론을 수행하는 간단한 예제입니다:
from ultralytics import NAS
# Load a COCO-pretrained YOLO-NAS-s model
model = NAS("yolo_nas_s.pt")
# Validate the model on the COCO8 example dataset
results = model.val(data="coco8.yaml")
# Run inference with the YOLO-NAS-s model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
자세한 내용은 추론 및 유효성 검사 예시를 참조하세요.
YOLO-NAS의 주요 기능은 무엇이며 왜 사용을 고려해야 하나요?
YOLO-NAS는 물체 감지 작업에 탁월한 몇 가지 주요 기능을 소개합니다:
- 양자화 친화적인 기본 블록: 양자화 후 정밀도 저하를 최소화하면서 모델 성능을 개선하는 향상된 아키텍처입니다.
- 정교한 훈련 및 정량화: 고급 훈련 체계와 훈련 후 정량화 기법을 사용합니다.
- AutoNAC 최적화 및 사전 학습: AutoNAC 최적화를 활용하고 COCO, Objects365, Roboflow 100과 같은 유명 데이터 세트에 대해 사전 학습합니다.
이러한 기능은 높은 정확도, 효율적인 성능, 프로덕션 환경에서의 배포 적합성에 기여합니다. 주요 기능 섹션에서 자세히 알아보세요.
YOLO-NAS 모델에서 지원되는 작업 및 모드는 무엇인가요?
YOLO-NAS 모델은 추론, 유효성 검사, 내보내기 등 다양한 개체 감지 작업과 모드를 지원합니다. 트레이닝은 지원하지 않습니다. 지원되는 모델에는 YOLO-NAS-s, YOLO-NAS-m 및 YOLO-NAS-l이 있으며, 각각 다른 계산 용량 및 성능 요구 사항에 맞게 조정됩니다. 자세한 개요는 지원되는 작업 및 모드 섹션을 참조하세요.
사전 교육된 YOLO-NAS 모델을 사용할 수 있으며 어떻게 액세스할 수 있나요?
예, Ultralytics 에서 직접 액세스할 수 있는 사전 학습된 YOLO-NAS 모델을 제공합니다. 이러한 모델은 COCO와 같은 데이터 세트에 대해 사전 학습되어 속도와 정확도 측면에서 모두 높은 성능을 보장합니다. 사전 학습된 모델 섹션에 제공된 링크를 사용하여 이러한 모델을 다운로드할 수 있습니다. 다음은 몇 가지 예입니다: