YOLO Vision 2026:

YOLO-NAS#

중요 업데이트

YOLO-NAS의 원조 개발사인 Deci가 NVIDIA에 인수되었습니다. 결과적으로 이 모델들은 더 이상 Deci에서 적극적으로 유지보수하지 않습니다. Ultralytics는 이러한 모델의 사용을 계속 지원하지만, 원조 팀으로부터의 추가 업데이트는 예상되지 않습니다.

개요#

Deci AI가 개발한 YOLO-NAS는 획기적인 객체 검출 파운데이션 모델입니다. 이 모델은 고급 Neural Architecture Search 기술의 산물이며, 이전 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

각 모델 변형은 Mean Average Precision(mAP)과 지연 시간 사이의 균형을 제공하도록 설계되어, 성능과 속도 모두에 맞게 객체 검출 작업을 최적화하는 데 도움을 줍니다.

사용 예제#

Ultralytics는 ultralytics 파이썬 패키지를 통해 YOLO-NAS 모델을 Python 애플리케이션에 쉽게 통합할 수 있도록 만들었습니다. 이 패키지는 프로세스를 간소화하기 위해 사용자 친화적인 Python API를 제공합니다.

다음 예제들은 추론 및 검증을 위해 ultralytics 패키지와 함께 YOLO-NAS 모델을 사용하는 방법을 보여줍니다.

추론 및 검증 예제#

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

예시

이 예제는 YOLO-NAS를 위한 간단한 추론 및 검증 코드를 제공합니다. 추론 결과 처리에 대해서는 Predict 모드를 참조하세요. 추가 모드와 함께 YOLO-NAS를 사용하는 방법은 ValExport를 참조하세요. ultralytics 패키지의 YOLO-NAS는 학습을 지원하지 않습니다.

PyTorch 사전 학습된 *.pt 모델 파일은 python에서 모델 인스턴스를 생성하기 위해 NAS() 클래스에 전달될 수 있습니다:

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")

지원되는 작업 및 모드#

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

  • YOLO-NAS-s: 계산 자원이 제한적이지만 효율성이 핵심인 환경에 최적화되었습니다.
  • YOLO-NAS-m: 균형 잡힌 접근 방식을 제공하며, 더 높은 정확도로 범용 object detection에 적합합니다.
  • YOLO-NAS-l: 계산 자원 제약이 적고 최고 수준의 정확도가 필요한 시나리오에 맞게 조정되었습니다.

아래는 사전 학습된 가중치 링크, 지원 작업 및 다양한 운영 모드와의 호환성을 포함한 각 모델의 상세 개요입니다.

모델 유형사전 학습된 가중치지원되는 작업학습검증추론내보내기(Export)
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},
}

computer vision 커뮤니티를 위한 이 가치 있는 리소스를 만들고 유지 관리해 주신 Deci AI의 SuperGradients 팀의 노력에 깊은 감사를 드립니다. YOLO-NAS는 혁신적인 아키텍처와 뛰어난 객체 검출 기능을 바탕으로 개발자와 연구자 모두에게 핵심적인 도구가 될 것으로 믿습니다.

FAQ#

  • Deci AI가 개발한 YOLO-NAS는 고급 Neural Architecture Search (NAS) 기술을 활용한 최첨단 객체 검출 모델입니다. 양자화 친화적인 기본 블록 및 정교한 학습 체계와 같은 기능을 도입하여 이전 YOLO 모델의 한계를 해결합니다. 그 결과, 특히 제한된 연산 자원을 가진 환경에서 성능이 크게 향상되었습니다. 또한 YOLO-NAS는 양자화를 지원하여 INT8 버전으로 변환할 때도 높은 정확도를 유지하므로 프로덕션 환경에 더 적합합니다. 자세한 내용은 Overview 섹션을 참조하세요.

  • ultralytics 패키지를 사용하여 Python 애플리케이션에 YOLO-NAS 모델을 쉽게 통합할 수 있습니다. 사전 학습된 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")

    자세한 내용은 Inference and Validation Examples를 참조하세요.

  • YOLO-NAS는 객체 탐지 작업에 탁월한 선택이 될 수 있는 몇 가지 핵심 기능을 도입했습니다:

    • 양자화 친화적 기본 블록: 양자화 후 precision 저하를 최소화하면서 모델 성능을 향상시키는 개선된 아키텍처.
    • 정교한 학습 및 양자화: 고급 학습 체계와 학습 후 양자화 기술을 채택했습니다.
    • AutoNAC 최적화 및 사전 학습: AutoNAC 최적화를 사용하며 COCO, Objects365, Roboflow 100과 같은 주요 데이터셋에서 사전 학습되었습니다.

    이러한 기능들은 높은 정확도, 효율적인 성능, 그리고 프로덕션 환경 배포 적합성에 기여합니다. 자세한 내용은 Key Features 섹션에서 확인하세요.

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

  • 네, Ultralytics는 직접 액세스할 수 있는 사전 학습된 YOLO-NAS 모델을 제공합니다. 이 모델들은 COCO와 같은 데이터셋에 대해 미리 학습되어 있어 속도와 정확도 측면 모두에서 높은 성능을 보장합니다. Pretrained Models 섹션에 제공된 링크를 사용하여 이 모델들을 다운로드할 수 있습니다. 다음은 몇 가지 예제입니다:

댓글