YOLO-NAS er toppen av objektdeteksjonsmodeller i YOLO-serien. Men hvorfor anses det som det beste?
Etter YOLOv8 er det enda en ny og bedre toppmoderne objektdeteksjonsmodell, YOLO-NAS. Det er en objektdeteksjonsalgoritme utviklet av Deci AI for å takle begrensningene til de tidligere YOLO-modellene (You Only Look Once).
Modellen er bygget fra AutoNAC, en Neural Architecture Search Engine. Den overgår hastigheten og ytelsen til SOTA-modeller, som gir et stort sprang i objektdeteksjon ved å forbedre nøyaktighet-latensen og kvantiseringsstøtten.
Denne artikkelen vil diskutere styrken og funksjonene til YOLO-NAS, og utforske hvorfor det er den beste objektdeteksjonsmodellen i YOLO-serien.
Forstå hvordan YOLO-NAS fungerer
Decis AutoNAC (Automated Neural Architecture Construction) genererer YOLO-NAS sin arkitektur. AutoNAC er en sømløs prosess som gir et ytelsesløft til eksisterende dype nevrale nettverk.
AutoNAC-rørledningen tar et brukertrent dypt nevralt nettverk som en inngang, et datasett og tilgang til et slutningssystem. Det brukertrente dype nevrale nettverket gjennomgår deretter redesign ved hjelp av rørledningen. En optimalisert arkitektur med lavere ventetid oppnås da uten at det går på bekostning av nøyaktigheten.
YOLO-NAS bruker RepVGG. RepVGG gjør det tilgjengelig for optimalisering etter trening ved re-parameterisering eller ettertrening kvantisering. Det er en type nevrale nettverksarkitektur basert på VGG. Den bruker regulariseringsteknikker designet for å forbedre dyplæringsmodellers generaliseringsevne.
Arkitekturens design er mer effektiv i hastighet og minne. RepVGG gjennomgår opplæring ved å bruke en multi-branch-arkitektur for å oppnå en raskere slutning. Den konverteres deretter til en enkelt gren ved hjelp av re-parameterisering.
Denne funksjonen gjør YOLO-NAS svært nyttig for produksjonsdistribusjon. Dette er fordi det er mulig å trene og optimalisere modellen med full presisjon for inferenshastighet og minnebruk.
Nøkkelfunksjoner til YOLO-NAS
YOLO-NAS sine nøkkelfunksjoner inkluderer følgende:
- Kvantiseringsbevisst opplæring: Modellen bruker QSP og QCI (kvantiseringsbevisste moduler) for å redusere nøyaktighetstapet under post-treningskvantisering ved å kombinere re-parametriseringen av 8-bits kvantisering.
- Automatisk arkitekturdesign: AutoNAC, Decis proprietære NAS-teknologi søker etter en optimal modellarkitektur som integrerer de grunnleggende YOLO-modellarkitekturene for å komme opp med en optimalisert modell.
- Hybrid kvantiseringsteknikk: Standard kvantiseringsmetode påvirker hele modellen. I motsetning til dette kvantiserer hybridkvantiseringsteknikken en del av en modell for å balansere latensen og nøyaktigheten til modellen.
- Bruk unike tilnærminger for å forberede modellen for trening ved å bruke automatisk merkede data. Modellen lærer deretter av sine spådommer og får tilgang til store mengder data.
Sammenlignende analyse: YOLO-NAS vs andre YOLO-modeller
Nedenfor er en sammenligning mellom ulike YOLO-seriemodeller.
YOLO-NAS er bedre enn eksisterende objektdeteksjonsmodeller, men det kommer med sine ulemper. Her er en liste over fordelene og ulempene ved YOLO-NAS:
Fordeler
- Det er åpen kildekode.
- Den er 10-20 % raskere enn de eksisterende YOLO-modellene.
- Den er mer nøyaktig sammenlignet med de eksisterende YOLO-modellene.
- Den bruker en bedre arkitektur, AutoNAC. Dette setter en ny rekord i objektdeteksjon, og gir den beste nøyaktigheten og avveiningsytelsen.
- Sømløs støtte for inferensmotorer som NVIDIA. Denne funksjonen gjør den til en produksjonsklar modell.
- Den har bedre minneeffektivitet og økte inferenshastigheter.
Ulemper
- Den er ennå ikke stabil siden teknologien fortsatt er ny og ikke har blitt brukt vilt i produksjonen.
Implementering av YOLO-NAS
Du vil bruke Google Colab å skrive og kjøre kodene i denne implementeringen. Et alternativ for Google Colab ville være å lage et virtuelt miljø og bruk en IDE på din lokale maskin.
Modellen er svært ressurskrevende. Sørg for at du har minst 8 GB RAM før du kjører den på maskinen din. Jo større videostørrelsen er, jo mer minne bruker den.
Installere avhengigheter
Installer YOLO-NAS-avhengigheten, supergradienter ved å bruke kommandoen nedenfor:
pip installer super-gradienter==3.1.2
Etter en vellykket installasjon vil du nå kunne trene YOLO-NAS-modellen.
Modellopplæring
For å trene modellen, kjør kodeblokken nedenfor:
fra super_gradienter.trening import modeller
yolo_nas_l = models.get("yolo_nas_l", forhåndstrente_vekter="coco")
Du importerer treningsmodellen fra det installerte SuperGradients-biblioteket i denne koden. Du bruker da de forhåndstrente modellvektene fra COCO-datasettet.
Modellinferens
Modellslutningen har potensielle anvendelser for bildedeteksjon, klassifisering og segmenteringsoppgaver.
I dette tilfellet vil du fokusere på objektdeteksjonsoppgave for videoer og bilder. For å oppdage et objekt i et bilde, kjør kodeblokken nedenfor:
url = "img_path"
yolo_nas_l.predict (url, conf=0.25).forestilling()
Pass på at du bruker den nøyaktige banen til bildet ditt. I dette tilfellet laster du opp bildet til Google Colab-miljøet, og kopierer deretter banen til bildet.
Forventet utgang:
For å oppdage objekter i en video, kjør kodeblokken nedenfor:
import lommelykt
input_video_path = "bane_til_video"
output_video_path = "oppdaget.mp4"
enhet = 'cuda'hvis torch.cuda.is_available() ellers"prosessor"
yolo_nas_l.to (device).predict (input_video_path).save (output_video_path)
Som bildedataene, last opp videoen du vil at objektene skal oppdages til Google Colab-miljøet og kopier banen til videovariabelen. Den forutsagte videoen vil være tilgjengelig fra Google Colab-miljøet ved å bruke navnet oppdaget.mp4. Last ned videoen til din lokale maskin før du avslutter økten.
Forventet utgang:
YOLO-NAS støtter også modellfinjustering og trening på tilpassede data. Dokumentasjonen er tilgjengelig på Decis finjustering startnotisbok.
Real-World-applikasjoner av YOLO-NAS
YOLO-NAS sin kildekode er tilgjengelig under Apache License 2.0, som er tilgjengelig for ikke-kommersiell bruk. For kommersiell bruk bør modellen gjennomgå omskolering fra bunnen av for å få tilpassede vekter.
Det er en allsidig modell hvis anvendelse er mulig på flere felt, for eksempel:
Autonome kjøretøy og robotikk
YOLO-NAS kan forbedre persepsjonsevnen til autonome kjøretøy, slik at de kan oppdage og spore objekter raskere og mer nøyaktig i sanntid. Denne evnen bidrar til å sikre trafikksikkerhet og en jevn kjøreopplevelse.
Overvåkings- og sikkerhetssystemer
Modellen kan gi rask, nøyaktig og sanntids objektdeteksjon for overvåking og sikkerhet systemer, som hjelper til med å identifisere potensielle trusler eller mistenkelige aktiviteter, noe som resulterer i bedre sikkerhet systemer
Detaljhandel og lagerstyring
Modellen kan gi raske og nøyaktige objektdeteksjonsfunksjoner som tillater effektiv og sanntids automatisert lagerstyring, lagersporing og hylleoptimalisering. Denne modellen bidrar til å redusere driftskostnadene og øke fortjenesten.
Helsetjenester og medisinsk bildediagnostikk
Innen helsevesenet er YOLO-NAS i stand til å hjelpe til med effektiv oppdagelse og analyse av sykdomsavvik eller spesifikke interesseområder. Modellen kan hjelpe leger med å nøyaktig diagnostisere sykdommer og overvåke pasienter, og dermed forbedre helsesektoren.
YOLO-NAS Takeaway
YOLO-NAS er en ny objektdeteksjonsmodell som er banebrytende for en ny måte å utføre objektdeteksjon på. Den er bedre enn SOTA-modellene. Ytelsen på objektdeteksjon er et stort sprang for datasynsprosjekter.