YOLO-NAS je vrhunec modelov za zaznavanje predmetov v seriji YOLO. Toda zakaj velja za najboljšega?
Po YOLOv8 je tu še nov in boljši najsodobnejši model zaznavanja predmetov, YOLO-NAS. To je algoritem za zaznavanje predmetov, ki ga je razvil Deci AI za reševanje omejitev prejšnjih modelov YOLO (You Only Look Once).
Model je zgrajen iz AutoNAC, iskalnika nevronske arhitekture. Presega hitrost in zmogljivost modelov SOTA, kar predstavlja velik preskok pri zaznavanju objektov z izboljšanjem kompromisov med natančnostjo in zakasnitvijo ter podporo kvantizaciji.
Ta članek bo razpravljal o prednostih in značilnostih YOLO-NAS ter raziskal, zakaj je to najboljši model za zaznavanje predmetov v seriji YOLO.
Razumevanje delovanja YOLO-NAS
Decijev AutoNAC (Automated Neural Architecture Construction) ustvarja arhitekturo YOLO-NAS. AutoNAC je brezhiben proces, ki zagotavlja povečanje zmogljivosti obstoječih globokih nevronskih mrež.
Cevovod AutoNAC uporablja globoko nevronsko mrežo, ki jo izuri uporabnik, kot vhod, nabor podatkov in dostop do sistema sklepanja. Uporabniško usposobljena globoka nevronska mreža je nato podvržena preoblikovanju s pomočjo cevovoda. Optimizirana arhitektura z nižjo zakasnitvijo je nato dosežena brez ogrožanja natančnosti.
YOLO-NAS uporablja RepVGG. RepVGG omogoča optimizacijo po usposabljanju s ponovno parametrizacijo ali kvantizacijo po usposabljanju. Je vrsta arhitekture nevronske mreže, ki temelji na VGG. Uporablja tehnike regulacije, namenjene izboljšanju sposobnosti posploševanja modelov globokega učenja.
Zasnova arhitekture je učinkovitejša pri hitrosti in pomnilniku. RepVGG se usposablja z uporabo arhitekture z več vejami, da doseže hitrejše sklepanje. Nato se s ponovno parametrizacijo pretvori v eno samo vejo.
Zaradi te funkcije je YOLO-NAS zelo uporaben za uvajanje v proizvodnjo. To je zato, ker je mogoče usposobiti in optimizirati model s popolno natančnostjo za hitrost sklepanja in uporabo pomnilnika.
Ključne značilnosti YOLO-NAS
Ključne funkcije YOLO-NAS vključujejo naslednje:
- Usposabljanje za kvantizacijo: Model uporablja QSP in QCI (module, ki poznajo kvantizacijo) za zmanjšanje izgube natančnosti med kvantizacijo po usposabljanju s kombiniranjem ponovne parametrizacije 8-bitne kvantizacije.
- Samodejno načrtovanje arhitekture: AutoNAC, Decijeva lastniška NAS tehnologija išče optimalno arhitekturo modela, ki integrira temeljne arhitekture modelov YOLO, da bi ustvaril optimiziran model.
- Hibridna kvantizacijska tehnika: Standardna metoda kvantizacije vpliva na celoten model. Nasprotno pa tehnika hibridne kvantizacije kvantizira del modela, da uravnovesi zakasnitev in natančnost modela.
- Uporabite edinstvene pristope za pripravo modela za usposabljanje z uporabo samodejno označenih podatkov. Model se nato uči iz svojih napovedi in dostopa do velike količine podatkov.
Primerjalna analiza: YOLO-NAS v primerjavi z drugimi modeli YOLO
Spodaj je primerjava med različnimi modeli serije YOLO.
YOLO-NAS je boljši od že obstoječih modelov zaznavanja predmetov, vendar ima svoje slabosti. Tukaj je seznam prednosti in slabosti YOLO-NAS:
Prednosti
- Je odprtokoden.
- Je 10-20 % hitrejši od že obstoječih modelov YOLO.
- V primerjavi s predhodno obstoječimi modeli YOLO je natančnejši.
- Uporablja boljšo arhitekturo, AutoNAC. To postavlja nov rekord pri zaznavanju objektov, saj zagotavlja najboljšo natančnost in učinkovitost kompromisa med zakasnitvami.
- Brezhibna podpora za mehanizme sklepanja, kot je NVIDIA. Zaradi te lastnosti je model pripravljen za proizvodnjo.
- Ima boljšo učinkovitost pomnilnika in povečano hitrost sklepanja.
Slabosti
- Ni še stabilen, saj je tehnologija še vedno nova in se v proizvodnji ni divje uporabljala.
Implementacija YOLO-NAS
Uporabili boste Google Colab za pisanje in izvajanje kod v tej izvedbi. Alternativa za Google Colab bi bila ustvarite virtualno okolje in uporabite IDE na vašem lokalnem računalniku.
Model zahteva zelo veliko virov. Prepričajte se, da imate vsaj 8 GB RAM-a, preden ga zaženete na svojem računalniku. Večja kot je velikost videa, več pomnilnika porabi.
Namestitev odvisnosti
Namestite odvisnost YOLO-NAS, super-prelivi z uporabo spodnjega ukaza:
pip namestite super-gradiente==3.1.2
Po uspešni namestitvi boste zdaj lahko usposobili model YOLO-NAS.
Model Usposabljanje
Za usposabljanje modela zaženite spodnji kodni blok:
od super_gradients.usposabljanje uvoz modeli
yolo_nas_l = modeli.get("yolo_nas_l", pretrained_weights="koko")
Uvažate model usposabljanja iz nameščene knjižnice SuperGradients v tej kodi. Nato uporabljate vnaprej pripravljene uteži modela iz nabora podatkov COCO.
Sklepanje modela
Sklepanje modela ima potencialne aplikacije za naloge odkrivanja slik, klasifikacije in segmentacije.
V tem primeru se boste osredotočili na naloga odkrivanja predmetov za video posnetke in slike. Če želite zaznati predmet na sliki, zaženite spodnji blok kode:
url = "img_path"
yolo_nas_l.predict (url, conf=0.25).show()
Prepričajte se, da uporabljate natančno pot do svoje slike. V tem primeru naložite sliko v okolje Google Colab in nato kopirajte pot do slike.
Pričakovani rezultat:
Če želite zaznati predmete v videu, zaženite spodnji blok kode:
uvoz svetilka
input_video_path = "pot_do_video"
izhodna_video_pot = "zaznano.mp4"
naprava = 'cuda'če torch.cuda.is_available() drugače"cpu"
yolo_nas_l.to (naprava).predict (input_video_path).save (output_video_path)
Tako kot slikovne podatke naložite video, za katerega želite, da so njegovi predmeti zaznani, v okolje Google Colab in kopirajte pot do spremenljivke video. Predvideni videoposnetek bo dostopen iz okolja Google Colab z uporabo imena zaznano.mp4. Prenesite video na svoj lokalni računalnik, preden končate sejo.
Pričakovani rezultat:
YOLO-NAS podpira tudi natančno nastavitev modela in usposabljanje na podatkih po meri. Dokumentacija je dostopna na Decijev začetni prenosni računalnik za natančno nastavitev.
Realne aplikacije YOLO-NAS
Izvorna koda YOLO-NAS je dostopna pod licenco Apache 2.0, ki je dostopna za nekomercialno uporabo. Za komercialno uporabo bi bilo treba model ponovno usposobiti od začetka, da bi pridobili uteži po meri.
Gre za vsestranski model, katerega uporaba je možna na več področjih, kot so:
Avtonomna vozila in robotika
YOLO-NAS lahko izboljša zmožnosti zaznavanja avtonomnih vozil in jim omogoči hitrejše in natančnejše zaznavanje in sledenje objektov v realnem času. Ta sposobnost pomaga zagotoviti varnost v cestnem prometu in nemoteno vožnjo.
Nadzorni in varnostni sistemi
Model lahko zagotovi hitro, natančno in sprotno zaznavanje predmetov za nadzor in varnost sistemov, ki pomaga prepoznati morebitne grožnje ali sumljive dejavnosti, kar ima za posledico večjo varnost sistemi
Maloprodaja in upravljanje zalog
Model lahko zagotovi hitre in natančne zmogljivosti zaznavanja predmetov, ki omogočajo učinkovito in avtomatizirano upravljanje zalog v realnem času, sledenje zalogam in optimizacijo polic. Ta model pomaga zmanjšati stroške poslovanja in povečati dobiček.
Zdravstveno varstvo in medicinsko slikanje
V zdravstvu je YOLO-NAS sposoben pomagati pri učinkovitem odkrivanju in analizi anomalij bolezni ali posebnih interesnih področij. Model lahko pomaga zdravnikom pri natančnem diagnosticiranju bolezni in spremljanju bolnikov ter tako izboljša zdravstveni sektor.
YOLO-NAS Za s seboj
YOLO-NAS je nov model zaznavanja objektov, ki pionira nov način izvajanja zaznavanja objektov. Je boljši od modelov SOTA. Njegova zmogljivost pri zaznavanju predmetov je velik preskok za projekte računalniškega vida.