Ultralytics YOLO27:
Get Started

YOLO-NAS#

중요 업데이트

YOLO-NAS의 원 개발사인 Deci가 NVIDIA에 인수되었음을 알려드립니다. 이에 따라 Deci는 더 이상 이 모델을 적극적으로 유지 관리하지 않습니다. Ultralytics는 계속해서 이 모델의 사용을 지원하지만, 원 개발팀의 추가 업데이트는 제공되지 않을 예정입니다.

개요#

Deci AI가 개발한 YOLO-NAS는 획기적인 객체 탐지 기반 모델입니다. 고도화된 신경망 아키텍처 탐색 기술을 적용해 이전 YOLO 모델의 한계를 해결하도록 세심하게 설계되었습니다. 양자화 지원과 정확도-지연 시간 간 트레이드오프를 크게 개선한 YOLO-NAS는 객체 탐지 분야의 중대한 도약을 나타냅니다.

COCO 벤치마크에서의 YOLO-NAS 모델 정확도 비교 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 S47.53.21
YOLO-NAS M51.555.85
YOLO-NAS L52.227.87
YOLO-NAS S INT-847.032.36
YOLO-NAS M INT-851.03.78
YOLO-NAS L INT-852.14.78

각 모델 변형은 평균 정밀도(mAP)와 지연 시간 간의 균형을 제공하도록 설계되어, 성능과 속도 측면에서 객체 탐지 작업을 최적화하는 데 도움이 됩니다.

사용 예시#

Ultralytics는 ultralytics Python 패키지를 통해 Python 애플리케이션에 YOLO-NAS 모델을 쉽게 통합할 수 있도록 했습니다. 이 패키지는 사용하기 쉬운 Python API를 제공하여 절차를 간소화합니다.

다음 예제에서는 추론과 검증에 ultralytics 패키지를 사용하여 YOLO-NAS 모델을 사용하는 방법을 보여줍니다:

추론 및 검증 예제#

이 예제에서는 COCO8 데이터셋에서 YOLO-NAS-s를 검증합니다.

예제

이 예제에서는 YOLO-NAS의 간단한 추론 및 검증 코드를 제공합니다. 추론 결과를 처리하는 방법은 Predict 모드를 참조하세요. YOLO-NAS를 다른 모드에서 사용하려면 Val 및 Export를 참조하세요. ultralytics 패키지의 YOLO-NAS는 학습을 지원하지 않습니다.

PyTorch 사전 학습 *.pt 모델 파일을 NAS() 클래스에 전달하여 Python에서 모델 인스턴스를 생성할 수 있습니다:

from ultralytics import NAS

# COCO로 사전 학습된 YOLO-NAS-s 모델 로드
model = NAS("yolo_nas_s.pt")

# 모델 정보 표시(선택 사항)
model.info()

# COCO8 예제 데이터셋에서 모델 검증
results = model.val(data="coco8.yaml")

# 'bus.jpg' 이미지에서 YOLO-NAS-s 모델로 추론 실행
results = model("path/to/bus.jpg")

지원 작업 및 모드#

YOLO-NAS 모델은 Small(s), Medium(m), Large(l)의 세 가지 변형으로 제공됩니다. 각 변형은 서로 다른 계산 및 성능 요구 사항을 충족하도록 설계되었습니다:

  • YOLO-NAS-s: 계산 리소스가 제한적이지만 효율성이 중요한 환경에 최적화되어 있습니다.
  • YOLO-NAS-m: 균형 잡힌 접근 방식을 제공하며, 더 높은 정확도의 범용 객체 탐지에 적합합니다.
  • YOLO-NAS-l: 계산 리소스가 큰 제약이 되지 않는 환경에서 최고 수준의 정확도가 필요한 시나리오에 맞춰 설계되었습니다.

아래에서는 각 모델의 사전 학습 가중치 링크, 지원 작업, 다양한 작동 모드와의 호환성을 자세히 살펴봅니다.

모델 유형사전 학습 가중치지원 작업학습검증추론내보내기
YOLO-NAS-syolo_nas_s.pt객체 탐지❌✅✅✅
YOLO-NAS-myolo_nas_m.pt객체 탐지❌✅✅✅
YOLO-NAS-lyolo_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가 개발자와 연구자 모두에게 핵심 도구가 될 것으로 기대합니다.

자주 묻는 질문#

  • Deci AI가 개발한 YOLO-NAS는 고급 신경망 아키텍처 탐색(NAS) 기술을 활용하는 최첨단 객체 탐지 모델입니다. 양자화 친화적 기본 블록과 정교한 학습 방식 등의 기능을 도입하여 이전 YOLO 모델의 한계를 해결합니다. 그 결과, 특히 계산 리소스가 제한된 환경에서 성능이 크게 향상됩니다. 또한 YOLO-NAS는 양자화를 지원하며 INT8 버전으로 변환한 후에도 높은 정확도를 유지하므로 프로덕션 환경에 더욱 적합합니다. 자세한 내용은 개요 섹션을 참조하세요.

  • ultralytics 패키지를 사용하면 YOLO-NAS 모델을 Python 애플리케이션에 쉽게 통합할 수 있습니다. 다음은 사전 학습된 YOLO-NAS 모델을 로드하고 추론을 수행하는 간단한 예제입니다:

    from ultralytics import NAS
    
    # COCO로 사전 학습된 YOLO-NAS-s 모델 로드
    model = NAS("yolo_nas_s.pt")
    
    # COCO8 예제 데이터셋에서 모델 검증
    results = model.val(data="coco8.yaml")
    
    # 'bus.jpg' 이미지에서 YOLO-NAS-s 모델로 추론 실행
    results = model("path/to/bus.jpg")

    자세한 내용은 추론 및 검증 예제를 참조하세요.

  • YOLO-NAS는 객체 탐지 작업에 적합한 우수한 선택지가 되도록 여러 주요 기능을 제공합니다:

    • 양자화 친화적 기본 블록: 양자화 후 정밀도 저하를 최소화하면서 모델 성능을 향상하는 강화된 아키텍처입니다.
    • 정교한 학습 및 양자화: 고급 학습 방식과 학습 후 양자화 기법을 활용합니다.
    • AutoNAC 최적화 및 사전 학습: AutoNAC 최적화를 활용하고 COCO, Objects365, Roboflow 100과 같은 주요 데이터셋으로 사전 학습됩니다.

    이러한 기능은 높은 정확도와 효율적인 성능을 제공하고 프로덕션 환경에 배포하기에 적합하도록 합니다. 자세한 내용은 주요 기능 섹션을 참조하세요.

  • YOLO-NAS 모델은 추론, 검증, 내보내기와 같은 다양한 객체 탐지 작업과 모드를 지원합니다. 학습은 지원하지 않습니다. 지원 모델에는 YOLO-NAS-s, YOLO-NAS-m, YOLO-NAS-l이 포함되며, 각 모델은 서로 다른 연산 성능과 성능 요구 사항에 맞게 설계되었습니다. 자세한 내용은 지원되는 작업 및 모드 섹션을 참조하세요.

  • 예, Ultralytics는 바로 이용할 수 있는 사전 학습된 YOLO-NAS 모델을 제공합니다. 이 모델은 COCO와 같은 데이터셋으로 사전 학습되어 속도와 정확도 모두에서 높은 성능을 보장합니다. 사전 학습된 모델 섹션에 제공된 링크를 사용해 이러한 모델을 다운로드할 수 있습니다. 다음은 몇 가지 예입니다.

댓글