YOLO-NAS er toppen af ​​objektdetekteringsmodeller i YOLO-serien. Men hvorfor anses det for at være det bedste?

Efter YOLOv8 er der endnu en ny og bedre state-of-the-art objektdetektionsmodel, YOLO-NAS. Det er en objektdetektionsalgoritme udviklet af Deci AI til at tackle begrænsningerne ved de tidligere YOLO (You Only Look Once) modeller.

Modellen er bygget ud fra AutoNAC, en Neural Architecture Search Engine. Det overgår hastigheden og ydeevnen af ​​SOTA-modeller, hvilket giver et stort spring inden for objektdetektion ved at forbedre nøjagtigheden-latens og kvantiseringsstøtten.

Denne artikel vil diskutere styrkerne og funktionerne ved YOLO-NAS og udforske, hvorfor det er den bedste objektdetekteringsmodel i YOLO-serien.

Forstå hvordan YOLO-NAS virker

Deci’s AutoNAC (Automated Neural Architecture Construction) genererer YOLO-NAS’ arkitektur. AutoNAC er en problemfri proces, der giver et ydelsesboost til eksisterende dybe neurale netværk.

AutoNAC-pipelinen tager et brugertrænet dybt neuralt netværk som input, et datasæt og adgang til et inferenssystem. Det brugertrænede dybe neurale netværk gennemgår derefter redesign ved hjælp af pipeline. Derved opnås en optimeret arkitektur med lavere latency uden at gå på kompromis med nøjagtigheden.

instagram viewer

YOLO-NAS bruger RepVGG. RepVGG gør det tilgængeligt for optimering efter træning ved re-parameterisering eller post-træning kvantisering. Det er en type neural netværksarkitektur baseret på VGG. Den bruger regulariseringsteknikker designet til at forbedre deep learning-modellers generaliseringsevne.

Arkitekturens design er mere effektivt i hastighed og hukommelse. RepVGG gennemgår træning ved hjælp af en multi-branch-arkitektur for at opnå en hurtigere slutning. Den konverteres derefter til en enkelt gren ved hjælp af re-parameterisering.

Denne funktion gør YOLO-NAS meget nyttig til produktionsinstallation. Det er nemlig muligt at træne og optimere modellen med fuld præcision for inferenshastighed og hukommelsesforbrug.

Nøglefunktioner ved YOLO-NAS

YOLO-NAS's nøglefunktioner inkluderer følgende:

  • Kvantiseringsbevidst træning: Modellen bruger QSP og QCI (kvantiseringsbevidste moduler) til at reducere nøjagtighedstabet under eftertræningskvantisering ved at kombinere genparameteriseringen af ​​8-bit kvantisering.
  • Automatisk arkitekturdesign: AutoNAC, Decis proprietære NAS-teknologi søger efter en optimal modelarkitektur, der integrerer de grundlæggende YOLO-modellers arkitekturer for at komme frem til en optimeret model.
  • Hybrid kvantiseringsteknik: Standardkvantiseringsmetoden påvirker hele modellen. I modsætning hertil kvantiserer hybridkvantiseringsteknikken en sektion af en model for at afbalancere modellens latens og nøjagtighed.
  • Brug unikke tilgange til at forberede modellen til træning ved at bruge automatisk mærkede data. Modellen lærer derefter af sine forudsigelser og får adgang til store mængder data.

Sammenlignende analyse: YOLO-NAS vs andre YOLO-modeller

Nedenfor er en sammenligning mellem forskellige modeller i YOLO-serien.

YOLO-NAS er bedre end allerede eksisterende objektdetekteringsmodeller, men det kommer med sine ulemper. Her er en liste over fordele og ulemper ved YOLO-NAS:

Fordele

  • Det er open source.
  • Den er 10-20 % hurtigere end de allerede eksisterende YOLO-modeller.
  • Den er mere nøjagtig sammenlignet med de allerede eksisterende YOLO-modeller.
  • Den bruger en bedre arkitektur, AutoNAC. Dette sætter en ny rekord i objektdetektering, hvilket giver den bedste nøjagtighed og latency-afvejningsydelse.
  • Problemfri understøttelse af inferensmotorer som NVIDIA. Denne funktion gør den til en produktionsklar model.
  • Det har bedre hukommelseseffektivitet og øgede inferenshastigheder.

Ulemper

  • Den er endnu ikke stabil, da teknologien stadig er ny og ikke har været vildt brugt i produktionen.

Implementering af YOLO-NAS

Du vil bruge Google Colab at skrive og køre koderne i denne implementering. Et alternativ til Google Colab ville være at skabe et virtuelt miljø og brug en IDE på din lokale maskine.

Modellen er meget ressourcekrævende. Sørg for, at du har mindst 8 GB RAM, før du kører det på din maskine. Jo større videostørrelsen er, jo mere hukommelse bruger den.

Installation af afhængigheder

Installer YOLO-NAS-afhængigheden, super-gradienter ved hjælp af kommandoen nedenfor:

pip installer super-gradienter==3.1.2

Efter en vellykket installation vil du nu være i stand til at træne YOLO-NAS-modellen.

Model træning

For at træne modellen skal du køre kodeblokken nedenfor:

fra super_gradienter.træning importere modeller
yolo_nas_l = models.get("yolo_nas_l", fortrænede_vægte="coco")

Du importerer træningsmodellen fra det installerede SuperGradients-bibliotek i denne kode. Du bruger derefter de fortrænede modelvægte fra COCO-datasættet.

Modelslutning

Modelslutningen har potentielle anvendelser til billeddetektering, klassificering og segmenteringsopgaver.

I dette tilfælde vil du fokusere på objektdetektionsopgave til videoer og billeder. For at registrere et objekt i et billede skal du køre kodeblokken nedenfor:

url = "img_sti"
yolo_nas_l.predict (url, conf=0.25).at vise()

Sørg for at bruge den nøjagtige vej til dit billede. I dette tilfælde skal du uploade billedet til Google Colab-miljøet, og derefter kopiere stien til billedet.

Forventet output:

For at opdage objekter i en video skal du køre kodeblokken nedenfor:

importere fakkel

input_video_path = "sti_til_video"
output_video_path = "opdaget.mp4"
enhed = 'cuda'hvis torch.cuda.is_available() andet"cpu"
yolo_nas_l.to (device).predict (input_video_path).save (output_video_path)

Ligesom billeddataene skal du uploade den video, du ønsker, at dens objekter skal registreres til Google Colab-miljøet og kopiere stien til videovariablen. Den forudsagte video vil være tilgængelig fra Google Colab-miljøet ved hjælp af navnet opdaget.mp4. Download videoen til din lokale maskine, før du afslutter din session.

Forventet output:

YOLO-NAS understøtter også modelfinjustering og træning på brugerdefinerede data. Dokumentationen er tilgængelig på Deci’er finjustering af starter notesbog.

Real-World-applikationer af YOLO-NAS

YOLO-NAS’ kildekode er tilgængelig under Apache License 2.0, som er tilgængelig til ikke-kommerciel brug. Til kommerciel brug bør modellen gennemgå omskoling fra bunden for at få tilpassede vægte.

Det er en alsidig model, hvis anvendelse er mulig på flere områder, såsom:

Autonome køretøjer og robotter

YOLO-NAS kan forbedre opfattelsesevnerne for autonome køretøjer, hvilket gør dem i stand til at opdage og spore objekter hurtigere og mere præcist i realtid. Denne evne er med til at sikre trafiksikkerhed og en jævn køreoplevelse.

Overvågnings- og sikkerhedssystemer

Modellen kan give hurtig, præcis og real-time objektdetektion til overvågning og sikkerhed systemer, som hjælper med at identificere potentielle trusler eller mistænkelige aktiviteter, hvilket resulterer i bedre sikkerhed systemer

Detail- og lagerstyring

Modellen kan give hurtige og præcise objektdetekteringsfunktioner, der tillader effektiv og automatiseret lagerstyring i realtid, lagersporing og hyldeoptimering. Denne model hjælper med at reducere driftsomkostningerne og øge fortjenesten.

Sundhedspleje og medicinsk billeddannelse

Inden for sundhedsvæsenet er YOLO-NAS i stand til at hjælpe med effektiv påvisning og analyse af sygdomsanomalier eller specifikke interesseområder. Modellen kan hjælpe læger til præcist at diagnosticere sygdomme og overvåge patienter og dermed forbedre sundhedssektoren.

YOLO-NAS Takeaway

YOLO-NAS er en ny objektdetektionsmodel, der er banebrydende for en ny måde at udføre objektdetektion på. Det er bedre end SOTA-modellerne. Dens ydeevne på objektdetektion er et stort spring for computervisionsprojekter.