Overslaan naar inhoud

YOLO-NAS

Overzicht

Ontwikkeld door Deci AI, YOLO-NAS is een baanbrekend basismodel voor objectdetectie. Het is het product van geavanceerde Neural Architecture Search technologie, zorgvuldig ontworpen om de beperkingen van eerdere YOLO modellen aan te pakken. Met aanzienlijke verbeteringen in kwantiseringsondersteuning en de afweging tussen nauwkeurigheid en latentie, vertegenwoordigt YOLO-NAS een grote sprong voorwaarts in objectdetectie.

Modelvoorbeeldafbeelding Overzicht van YOLO-NAS. YOLO-NAS maakt gebruik van kwantisatie-bewuste blokken en selectieve kwantisatie voor optimale prestaties. Wanneer het model wordt geconverteerd naar zijn INT8 gequantiseerde versie, ondervindt het een minimale precisiedaling, een aanzienlijke verbetering ten opzichte van andere modellen. Deze verbeteringen resulteren in een superieure architectuur met ongekende objectdetectiemogelijkheden en uitstekende prestaties.

Belangrijkste kenmerken

  • Kwantiseringsvriendelijk basisblok: YOLO-NAS introduceert een nieuw basisblok dat kwantiseringsvriendelijk is, waarmee een van de belangrijke beperkingen van eerdere YOLO modellen wordt aangepakt.
  • Geavanceerde training en kwantificering: YOLO-NAS maakt gebruik van geavanceerde trainingsschema's en kwantificering na de training om de prestaties te verbeteren.
  • AutoNAC optimalisatie en voortraining: YOLO-NAS maakt gebruik van AutoNAC optimalisatie en is voorgetraind op prominente datasets zoals COCO, Objects365 en Roboflow 100. Deze voortraining maakt het systeem uitermate geschikt voor objectdetectietaken in productieomgevingen. Deze voortraining maakt het systeem uitermate geschikt voor downstream objectdetectietaken in productieomgevingen.

Voorgetrainde modellen

Ervaar de kracht van de volgende generatie objectdetectie met de voorgetrainde YOLO-NAS modellen van Ultralytics. Deze modellen zijn ontworpen om topprestaties te leveren op het gebied van snelheid en nauwkeurigheid. Kies uit verschillende opties die zijn afgestemd op jouw specifieke behoeften:

Model mAP Vertraging (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

Elke modelvariant is ontworpen om een balans te bieden tussen gemiddelde precisie (mAP) en latentie, zodat je je objectdetectietaken kunt optimaliseren voor zowel prestaties als snelheid.

Voorbeelden

Ultralytics YOLO-NAS-modellen eenvoudig te integreren in je toepassingen via onze Python ultralytics python pakket. Het pakket biedt een gebruiksvriendelijke Python API om het proces te stroomlijnen.

De volgende voorbeelden laten zien hoe YOLO-NAS modellen gebruikt kunnen worden met de ultralytics pakket voor inferentie en validatie:

Voorbeelden voor gevolgtrekkingen en validatie

In dit voorbeeld valideren we YOLO-NAS-s op de COCO8 dataset.

Voorbeeld

Dit voorbeeld geeft eenvoudige inferentie- en validatiecode voor YOLO-NAS. Voor het afhandelen van inferentieresultaten zie Voorspel modus. Voor het gebruik van YOLO-NAS met aanvullende modi zie Val en Exporteer. YOLO-NAS op de ultralytics pakket ondersteunt geen training.

PyTorch voorgetraind *.pt modelbestanden kunnen worden doorgegeven aan de NAS() klasse om een instantie van een model te maken 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 commando's zijn beschikbaar om de modellen direct uit te voeren:

# 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

Ondersteunde taken en modi

We bieden drie varianten van de YOLO-NAS modellen: Small (s), Medium (m) en Large (l). Elke variant is ontworpen om tegemoet te komen aan verschillende reken- en prestatiebehoeften:

  • YOLO-NAS-s: Geoptimaliseerd voor omgevingen waar rekenkracht beperkt is, maar efficiΓ«ntie essentieel.
  • YOLO-NAS-m: Biedt een gebalanceerde aanpak, geschikt voor algemene objectdetectie met hogere nauwkeurigheid.
  • YOLO-NAS-l: Afgestemd op scenario's die de hoogste nauwkeurigheid vereisen, waarbij rekenkracht minder een beperking is.

Hieronder staat een gedetailleerd overzicht van elk model, inclusief links naar hun voorgetrainde gewichten, de taken die ze ondersteunen en hun compatibiliteit met verschillende bedrijfsmodi.

Type model Voorgetrainde gewichten Ondersteunde taken Inferentie Validatie Training Exporteer
YOLO-NAS-s yolo_nas_s.pt Objectdetectie βœ… βœ… ❌ βœ…
YOLO-NAS-m yolo_nas_m.pt Objectdetectie βœ… βœ… ❌ βœ…
YOLO-NAS-l yolo_nas_l.pt Objectdetectie βœ… βœ… ❌ βœ…

Citaten en Erkenningen

Als je YOLO-NAS gebruikt in je onderzoek of ontwikkeling, citeer dan SuperGradients:

@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},
}

We spreken onze dank uit aan Deci AI's SuperGradients team voor hun inspanningen in het maken en onderhouden van deze waardevolle bron voor de computer vision gemeenschap. Wij geloven dat YOLO-NAS, met zijn innovatieve architectuur en superieure mogelijkheden voor objectdetectie, een essentieel hulpmiddel zal worden voor zowel ontwikkelaars als onderzoekers.

Trefwoorden: YOLO-NAS, Deci AI, objectdetectie, deep learning, neurale architectuur zoeken, Ultralytics Python API, YOLO model, SuperGradients, voorgetrainde modellen, kwantisatievriendelijk basisblok, geavanceerde trainingsschema's, kwantisatie na de training, AutoNAC optimalisatie, COCO, Objects365, Roboflow 100



Gemaakt op 2023-11-12, Bijgewerkt op 2024-04-17
Auteurs: glenn-jocher (8)

Reacties