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.

FAQ

Wat is YOLO-NAS en hoe is het beter dan de vorige YOLO modellen?

YOLO-NAS, ontwikkeld door Deci AI, is een geavanceerd objectdetectiemodel dat gebruik maakt van geavanceerde NAS-technologie (Neural Architecture Search). Het pakt de beperkingen van eerdere YOLO modellen aan door functies als kwantisatievriendelijke basisblokken en geavanceerde trainingsschema's te introduceren. Dit resulteert in significante prestatieverbeteringen, vooral in omgevingen met beperkte rekenkracht. YOLO-NAS ondersteunt ook kwantisatie en behoudt een hoge nauwkeurigheid, zelfs als het geconverteerd wordt naar de INT8 versie, waardoor het beter geschikt is voor productieomgevingen. Voor meer details, zie de sectie Overzicht.

Hoe kan ik YOLO-NAS modellen integreren in mijn Python applicatie?

Je kunt YOLO-NAS modellen eenvoudig integreren in je Python applicatie met behulp van de ultralytics pakket. Hier is een eenvoudig voorbeeld van het laden van een voorgetraind YOLO-NAS model en het uitvoeren van inferentie:

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

Raadpleeg de Voorbeelden voor inferentie en validatie voor meer informatie.

Wat zijn de belangrijkste functies van YOLO-NAS en waarom zou ik het overwegen?

YOLO-NAS introduceert een aantal belangrijke functies die het een superieure keuze maken voor objectdetectietaken:

  • Kwantisatievriendelijk basisblok: Verbeterde architectuur die de modelprestaties verbetert met minimale precisiedaling na kwantisatie.
  • Geavanceerde training en kwantisering: Maakt gebruik van geavanceerde trainingsschema's en kwantisatietechnieken na de training.
  • AutoNAC optimalisatie en voortraining: Maakt gebruik van AutoNAC optimalisatie en is voorgetraind op prominente datasets zoals COCO, Objects365 en Roboflow 100. Deze eigenschappen dragen bij aan de hoge nauwkeurigheid, efficiënte prestaties en geschiktheid voor inzet in productieomgevingen. Lees meer in de sectie Key Features.

Welke taken en modi worden ondersteund door YOLO-NAS modellen?

YOLO-NAS-modellen ondersteunen verschillende objectdetectietaken en -modi zoals inferentie, validatie en export. Ze ondersteunen geen training. De ondersteunde modellen zijn YOLO-NAS-s, YOLO-NAS-m, en YOLO-NAS-l, elk afgestemd op verschillende rekencapaciteiten en prestatiebehoeften. Raadpleeg de sectie Ondersteunde taken en modi voor een gedetailleerd overzicht.

Zijn er voorgetrainde YOLO-NAS modellen beschikbaar en hoe krijg ik daar toegang toe?

Ja, Ultralytics biedt voorgetrainde YOLO-NAS modellen die je direct kunt gebruiken. Deze modellen zijn voorgetraind op datasets zoals COCO, waardoor ze hoge prestaties leveren in termen van snelheid en nauwkeurigheid. Je kunt deze modellen downloaden via de links in de sectie Voorgetrainde modellen. Hier zijn enkele voorbeelden:



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

Reacties