İçeriğe geç

YOLO-NAS

Genel Bakış

Deci AI tarafından geliştirilen YOLO-NAS, çığır açan bir nesne algılama temel modelidir. Önceki YOLO modellerinin sınırlamalarını gidermek için titizlikle tasarlanmış gelişmiş Sinirsel Mimari Arama teknolojisinin ürünüdür. Niceleme desteği ve doğruluk-gecikme ödünleşimlerindeki önemli gelişmelerle YOLO-NAS, nesne algılamada büyük bir sıçramayı temsil eder.

Örnek model görüntüsü YOLO-NAS'a genel bakış. YOLO-NAS, optimum performans için kuantizasyona duyarlı bloklar ve seçici kuantizasyon kullanır. Model, INT8 kuantize versiyonuna dönüştürüldüğünde, diğer modellere göre önemli bir gelişme olan minimum hassasiyet düşüşü yaşar. Bu gelişmeler, benzeri görülmemiş nesne algılama yeteneklerine ve olağanüstü performansa sahip üstün bir mimari ile sonuçlanmaktadır.

Temel Özellikler

  • Niceleme Dostu Temel Blok: YOLO-NAS, niceleme dostu yeni bir temel blok sunarak önceki YOLO modellerinin önemli sınırlamalarından birini ele alıyor.
  • Sofistike Eğitim ve Niceleme: YOLO-NAS, performansı artırmak için gelişmiş eğitim şemalarından ve eğitim sonrası nicelemeden yararlanır.
  • AutoNAC Optimizasyonu ve Ön Eğitim: YOLO-NAS, AutoNAC optimizasyonunu kullanır ve COCO, Objects365 ve Roboflow 100 gibi önde gelen veri kümeleri üzerinde önceden eğitilmiştir. Bu ön eğitim, onu üretim ortamlarındaki aşağı akış nesne algılama görevleri için son derece uygun hale getirir.

Önceden Eğitilmiş Modeller

Ultralytics tarafından sağlanan önceden eğitilmiş YOLO-NAS modelleri ile yeni nesil nesne tespitinin gücünü deneyimleyin. Bu modeller hem hız hem de doğruluk açısından birinci sınıf performans sunmak üzere tasarlanmıştır. Özel ihtiyaçlarınıza göre uyarlanmış çeşitli seçenekler arasından seçim yapın:

Model mAP Gecikme Süresi (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

Her model çeşidi, Ortalama Ortalama Hassasiyet (mAP) ve gecikme süresi arasında bir denge sunacak şekilde tasarlanmıştır ve nesne algılama görevlerinizi hem performans hem de hız açısından optimize etmenize yardımcı olur.

Kullanım Örnekleri

Ultralytics YOLO-NAS modellerini uygulamalarınıza entegre etmeyi kolaylaştırdı. Python ultralytics python paketi. Paket, süreci kolaylaştırmak için kullanıcı dostu bir Python API sağlar.

Aşağıdaki örnekler YOLO-NAS modellerinin aşağıdakilerle birlikte nasıl kullanılacağını göstermektedir ultralytics çıkarım ve doğrulama için paket:

Çıkarım ve Doğrulama Örnekleri

Bu örnekte YOLO-NAS-s adresini COCO8 veri kümesi üzerinde doğruluyoruz.

Örnek

Bu örnek, YOLO-NAS için basit çıkarım ve doğrulama kodu sağlar. Çıkarım sonuçlarını işlemek için bkz. Tahmin Et modu. YOLO -NAS'ı ek modlarla kullanmak için bkz. Val ve İhracat. YOLO-NAS üzerinde ultralytics paketi eğitimi desteklememektedir.

PyTorch ön eğitimli *.pt model dosyaları şu dosyalara aktarılabilir NAS() sınıfında bir model örneği oluşturmak için 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 komutları modelleri doğrudan çalıştırmak için kullanılabilir:

# Load a COCO-pretrained YOLO-NAS-s model and validate it's performance on the COCO8 example dataset
yolo val model=yolo_nas_s.pt data=coco8.yaml

# Load a COCO-pretrained YOLO-NAS-s model and run inference on the 'bus.jpg' image
yolo predict model=yolo_nas_s.pt source=path/to/bus.jpg

Desteklenen Görevler ve Modlar

YOLO-NAS modellerinin üç çeşidini sunuyoruz: Küçük (s), Orta (m) ve Büyük (l). Her bir varyant farklı hesaplama ve performans ihtiyaçlarını karşılamak üzere tasarlanmıştır:

  • YOLO-NAS-s: Hesaplama kaynaklarının sınırlı olduğu ancak verimliliğin önemli olduğu ortamlar için optimize edilmiştir.
  • YOLO-NAS-m: Daha yüksek doğrulukla genel amaçlı nesne tespiti için uygun, dengeli bir yaklaşım sunar.
  • YOLO-NAS-l: Hesaplama kaynaklarının daha az kısıtlayıcı olduğu, en yüksek doğruluk gerektiren senaryolar için uyarlanmıştır.

Aşağıda, önceden eğitilmiş ağırlıklarına bağlantılar, destekledikleri görevler ve farklı çalışma modlarıyla uyumlulukları da dahil olmak üzere her modele ayrıntılı bir genel bakış yer almaktadır.

Model Tipi Önceden Eğitilmiş Ağırlıklar Desteklenen Görevler Çıkarım Doğrulama Eğitim İhracat
YOLO-NAS-s yolo_nas_s.pt Nesne Algılama
YOLO-NAS-m yolo_nas_m.pt Nesne Algılama
YOLO-NAS-l yolo_nas_l.pt Nesne Algılama

Atıflar ve Teşekkür

Araştırma veya geliştirme çalışmalarınızda YOLO-NAS kullanıyorsanız, lütfen SuperGradients'e atıfta bulunun:

@misc{supergradients,
      doi = {10.5281/ZENODO.7789328},
      url = {https://zenodo.org/record/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},
}

Bilgisayarla görme topluluğu için bu değerli kaynağı oluşturma ve sürdürme çabalarından dolayı Deci AI'un SuperGradients ekibine şükranlarımızı sunarız. Yenilikçi mimarisi ve üstün nesne algılama yetenekleriyle YOLO-NAS'ın hem geliştiriciler hem de araştırmacılar için kritik bir araç olacağına inanıyoruz.

Anahtar Kelimeler: YOLO NAS, Deci AI, nesne algılama, derin öğrenme, nöral mimari arama, Ultralytics Python API, YOLO modeli, SuperGradients, önceden eğitilmiş modeller, niceleme dostu temel blok, gelişmiş eğitim şemaları, eğitim sonrası niceleme, AutoNAC optimizasyonu, COCO, Objects365, Roboflow 100



Oluşturma 2023-11-12, Güncelleme 2024-04-17
Yazarlar: glenn-jocher (8)

Yorumlar