YOLO-NAS is het toppunt van objectdetectiemodellen in de YOLO-serie. Maar waarom wordt het als het beste beschouwd?

Na YOLOv8 is er nog een nieuw en beter state-of-the-art objectdetectiemodel, YOLO-NAS. Het is een algoritme voor objectdetectie dat is ontwikkeld door Deci AI om de beperkingen van de vorige YOLO-modellen (You Only Look Once) aan te pakken.

Het model is opgebouwd uit AutoNAC, een Neural Architecture Search Engine. Het overtreft de snelheid en prestaties van SOTA-modellen, wat een grote sprong voorwaarts betekent in objectdetectie door de afwegingen tussen nauwkeurigheid, latentie en kwantiseringsondersteuning te verbeteren.

Dit artikel bespreekt de sterke punten en kenmerken van YOLO-NAS en onderzoekt waarom dit het beste objectdetectiemodel in de YOLO-serie is.

Begrijpen hoe YOLO-NAS werkt

Deci's AutoNAC (Automated Neural Architecture Construction) genereert de architectuur van YOLO-NAS. AutoNAC is een naadloos proces dat een prestatieverbetering geeft aan bestaande diepe neurale netwerken.

instagram viewer

De AutoNAC-pijplijn gebruikt een door de gebruiker getraind diep neuraal netwerk als input, een dataset en toegang tot een inferentiesysteem. Het door de gebruiker getrainde diepe neurale netwerk ondergaat vervolgens een herontwerp met behulp van de pijplijn. Een geoptimaliseerde architectuur met lagere latentie wordt dan bereikt zonder aan nauwkeurigheid in te boeten.

YOLO-NAS gebruikt RepVGG. RepVGG maakt het beschikbaar voor optimalisatie na de training door herparameterisering of kwantisatie na de training. Het is een soort neurale netwerkarchitectuur gebaseerd op VGG. Het maakt gebruik van regularisatietechnieken die zijn ontworpen om het generalisatievermogen van deep learning-modellen te verbeteren.

Het ontwerp van de architectuur is efficiënter in snelheid en geheugen. RepVGG ondergaat training met behulp van een multi-branch-architectuur om een ​​snellere gevolgtrekking te bereiken. Het wordt vervolgens geconverteerd naar een enkele tak met behulp van herparameterisering.

Deze functie maakt YOLO-NAS erg handig voor productie-implementatie. Dit komt omdat het mogelijk is om het model met volledige precisie te trainen en te optimaliseren voor inferentiesnelheid en geheugengebruik.

Belangrijkste kenmerken van YOLO-NAS

De belangrijkste kenmerken van YOLO-NAS zijn onder meer:

  • Quantization-Aware training: Het model maakt gebruik van QSP en QCI (quantization-aware modules) om het nauwkeurigheidsverlies tijdens kwantisering na de training te verminderen door de herparametrering van 8-bits kwantisering te combineren.
  • Automatisch architectuurontwerp: AutoNAC, Deci's eigen NAS-technologie zoekt naar een optimale modelarchitectuur die de fundamentele YOLO-modelarchitecturen integreert om tot een geoptimaliseerd model te komen.
  • Hybride kwantiseringstechniek: De standaard kwantiseringsmethode is van invloed op het gehele model. De hybride kwantiseringstechniek daarentegen kwantiseert een deel van een model om de latentie en nauwkeurigheid van het model in evenwicht te brengen.
  • Gebruik unieke benaderingen om het model voor te bereiden op training door automatisch gelabelde gegevens te gebruiken. Het model leert vervolgens van zijn voorspellingen en heeft toegang tot grote hoeveelheden gegevens.

Vergelijkende analyse: YOLO-NAS versus andere YOLO-modellen

Hieronder vindt u een vergelijking tussen verschillende modellen uit de YOLO-serie.

YOLO-NAS is beter dan reeds bestaande modellen voor objectdetectie, maar heeft zijn nadelen. Hier is een lijst met de voor- en nadelen van YOLO-NAS:

Voordelen

  • Het is open-source.
  • Het is 10-20% sneller dan de reeds bestaande YOLO-modellen.
  • Het is nauwkeuriger in vergelijking met de reeds bestaande YOLO-modellen.
  • Het gebruikt een betere architectuur, AutoNAC. Dit vestigt een nieuw record op het gebied van objectdetectie en biedt de beste afweging tussen nauwkeurigheid en latentie.
  • Naadloze ondersteuning voor inferentie-engines zoals NVIDIA. Deze functie maakt het een productieklaar model.
  • Het heeft een betere geheugenefficiëntie en hogere inferentiesnelheden.

nadelen

  • Het is nog niet stabiel omdat de technologie nog nieuw is en nog niet wild is gebruikt in de productie.

Implementatie van YOLO-NAS

Je zult gebruiken Google Colab om de codes in deze implementatie te schrijven en uit te voeren. Een alternatief voor Google Colab zou zijn om creëer een virtuele omgeving En gebruik een IDE op uw lokale computer.

Het model is zeer arbeidsintensief. Zorg ervoor dat u ten minste 8 GB RAM hebt voordat u het op uw computer uitvoert. Hoe groter het videoformaat, hoe meer geheugen het gebruikt.

Afhankelijkheden installeren

Installeer de YOLO-NAS-afhankelijkheid, supergradiënten met behulp van de onderstaande opdracht:

pip installeer supergradiënten==3.1.2

Na een succesvolle installatie kunt u nu het YOLO-NAS-model trainen.

Modeltraining

Voer het onderstaande codeblok uit om het model te trainen:

van super_gradients.training importeren modellen
yolo_nas_l = modellen.get("yolo_nas_l", pretrained_weights="kokos")

U importeert het trainingsmodel uit de geïnstalleerde SuperGradients-bibliotheek in deze code. U gebruikt dan de vooraf getrainde modelgewichten uit de COCO-dataset.

Model gevolgtrekking

De modelinferentie heeft potentiële toepassingen voor beelddetectie, classificatie en segmentatietaken.

In dit geval richt u zich op de object detectie taak voor video's en afbeeldingen. Voer het onderstaande codeblok uit om een ​​object in een afbeelding te detecteren:

URL = "img_pad"
yolo_nas_l.predict (url, conf=0.25).show()

Zorg ervoor dat u het juiste pad naar uw afbeelding gebruikt. Upload in dit geval de afbeelding in de Google Colab-omgeving en kopieer vervolgens het pad van de afbeelding.

Verwachte resultaten:

Voer het onderstaande codeblok uit om objecten in een video te detecteren:

importeren fakkel

invoer_video_pad = "pad_naar_video"
uitvoer_video_pad = "gedetecteerd.mp4"
apparaat = 'cuda'als fakkel.cuda.is_available() anders"CPU"
yolo_nas_l.to (apparaat).predict (input_video_path).save (output_video_path)

Net als de afbeeldingsgegevens, uploadt u de video waarvan u de objecten wilt laten detecteren naar de Google Colab-omgeving en kopieert u het pad naar de videovariabele. De voorspelde video is via de naam toegankelijk vanuit de Google Colab-omgeving gedetecteerd.mp4. Download de video naar uw lokale computer voordat u uw sessie beëindigt.

Verwachte resultaten:

YOLO-NAS ondersteunt ook modelafstemming en training op aangepaste gegevens. De documentatie is beschikbaar op Deci's fine-tuning starter notebook.

Echte toepassingen van YOLO-NAS

De broncode van YOLO-NAS is toegankelijk onder Apache-licentie 2.0, die toegankelijk is voor niet-commercieel gebruik. Voor commercieel gebruik moet het model helemaal opnieuw worden getraind om aangepaste gewichten te krijgen.

Het is een veelzijdig model waarvan de toepassing op meerdere gebieden mogelijk is, zoals:

Autonome voertuigen en robotica

YOLO-NAS kan de waarnemingsmogelijkheden van autonome voertuigen verbeteren, waardoor ze objecten sneller en nauwkeuriger in realtime kunnen detecteren en volgen. Dit vermogen draagt ​​bij aan de verkeersveiligheid en een soepele rijervaring.

Bewakings- en beveiligingssystemen

Het model kan snelle, nauwkeurige en real-time objectdetectie bieden voor bewaking en beveiliging systemen, die helpen bij het identificeren van potentiële bedreigingen of verdachte activiteiten, wat resulteert in een betere beveiliging systemen

Detailhandel en voorraadbeheer

Het model kan snelle en nauwkeurige objectdetectiemogelijkheden bieden die efficiënt en realtime geautomatiseerd voorraadbeheer, voorraadbeheer en schapoptimalisatie mogelijk maken. Dit model helpt de bedrijfskosten te verlagen en de winst te verhogen.

Gezondheidszorg en medische beeldvorming

In de gezondheidszorg kan YOLO-NAS helpen bij het efficiënt opsporen en analyseren van ziekteafwijkingen of specifieke interessegebieden. Het model kan artsen helpen om ziekten nauwkeurig te diagnosticeren en patiënten te monitoren, waardoor de zorgsector verbetert.

YOLO-NAS afhaalmaaltijden

YOLO-NAS is een nieuw objectdetectiemodel dat baanbrekend is voor een nieuwe manier om objectdetectie uit te voeren. Het is beter dan de SOTA-modellen. De prestaties op het gebied van objectdetectie zijn een grote sprong voorwaarts voor computervisieprojecten.