YOLO-NAS yra YOLO serijos objektų aptikimo modelių viršūnė. Bet kodėl jis laikomas geriausiu?

Po YOLOv8 yra dar naujas ir geresnis moderniausias objektų aptikimo modelis YOLO-NAS. Tai objektų aptikimo algoritmas, kurį sukūrė Deci AI, kad pašalintų ankstesnių YOLO (You Only Look Once) modelių apribojimus.

Modelis sukurtas iš AutoNAC, neuroninės architektūros paieškos variklio. Jis pranoksta SOTA modelių greitį ir našumą, o tai rodo didelį objektų aptikimo šuolį, nes pagerina tikslumo, delsos ir kvantavimo palaikymo kompromisus.

Šiame straipsnyje bus aptariamos YOLO-NAS stipriosios pusės ir savybės, aiškinantis, kodėl tai yra geriausias YOLO serijos objektų aptikimo modelis.

Supratimas, kaip veikia YOLO-NAS

Deci AutoNAC (automatizuota neuroninės architektūros konstrukcija) generuoja YOLO-NAS architektūrą. AutoNAC yra vientisas procesas, kuris padidina esamų giluminių neuroninių tinklų našumą.

AutoNAC dujotiekis naudoja vartotojo parengtą giluminį neuroninį tinklą kaip įvestį, duomenų rinkinį ir prieigą prie išvadų sistemos. Tada naudotojo parengtas gilusis neuroninis tinklas perprojektuojamas naudojant dujotiekį. Tada pasiekiama optimizuota architektūra su mažesne delsa nepakenkiant tikslumui.

instagram viewer

YOLO-NAS naudoja RepVGG. „RepVGG“ suteikia galimybę optimizuoti po treniruotės perparametrus arba kvantavimą po treniruotės. Tai neuroninio tinklo architektūros tipas, pagrįstas VGG. Jame naudojami reguliarumo metodai, skirti sustiprinti gilaus mokymosi modelių apibendrinimo galimybes.

Architektūros dizainas yra efektyvesnis greičio ir atminties atžvilgiu. RepVGG mokomas naudojant kelių šakų architektūrą, kad būtų galima greičiau padaryti išvadas. Tada jis konvertuojamas į vieną šaką naudojant pakartotinį parametravimą.

Dėl šios funkcijos YOLO-NAS labai naudingas diegiant gamybą. Taip yra todėl, kad modelį galima treniruoti ir optimizuoti visiškai tiksliai, kad būtų galima daryti išvadų greitį ir naudoti atmintį.

Pagrindinės YOLO-NAS savybės

Pagrindinės YOLO-NAS funkcijos yra šios:

  • Kvantifikacinis mokymas: Modelis naudoja QSP ir QCI (quantization-aware moduls), kad sumažintų tikslumo praradimą atliekant kvantavimą po treniruotės, derinant 8 bitų kvantavimo pakartotinį parametravimą.
  • Automatinis architektūros projektavimas: AutoNAC, Deci patentuota NAS technologija, ieško optimalios modelio architektūros, integruojančios pagrindines YOLO modelių architektūras, kad būtų sukurtas optimizuotas modelis.
  • Hibridinė kvantavimo technika: standartinis kvantavimo metodas veikia visą modelį. Priešingai, hibridinė kvantavimo technika kvantuoja modelio dalį, kad subalansuotų modelio delsą ir tikslumą.
  • Naudokite unikalius metodus, kad paruoštumėte modelį mokymui, naudodami automatiškai pažymėtus duomenis. Tada modelis mokosi iš savo prognozių ir pasiekia didelius duomenų kiekius.

Lyginamoji analizė: YOLO-NAS ir kiti YOLO modeliai

Žemiau pateikiamas įvairių YOLO serijos modelių palyginimas.

YOLO-NAS yra geresnis nei jau egzistuojantys objektų aptikimo modeliai, tačiau jis turi savo trūkumų. Čia yra YOLO-NAS pranašumų ir trūkumų sąrašas:

Argumentai "už"

  • Tai atvirojo kodo.
  • Jis yra 10-20% greitesnis nei jau egzistuojantys YOLO modeliai.
  • Jis yra tikslesnis, palyginti su jau egzistuojančiais YOLO modeliais.
  • Jis naudoja geresnę architektūrą „AutoNAC“. Tai nustato naują objektų aptikimo rekordą, užtikrinantį geriausią tikslumo ir delsos kompromisą.
  • Sklandus išvadų variklių, tokių kaip NVIDIA, palaikymas. Dėl šios savybės jis yra paruoštas gamybai.
  • Jis turi didesnį atminties efektyvumą ir didesnį išvadų greitį.

Minusai

  • Ji dar nėra stabili, nes technologija vis dar nauja ir nebuvo plačiai naudojama gamyboje.

YOLO-NAS įgyvendinimas

Jūs naudosite „Google Colab“. rašyti ir paleisti kodus šiame įgyvendinime. „Google Colab“ alternatyva būtų sukurti virtualią aplinką ir naudokite IDE savo vietiniame kompiuteryje.

Modelis reikalauja daug išteklių. Prieš paleisdami savo kompiuteryje įsitikinkite, kad turite bent 8 GB RAM. Kuo didesnis vaizdo įrašo dydis, tuo daugiau atminties jis naudoja.

Priklausomybių diegimas

Įdiekite YOLO-NAS priklausomybę, super gradientai naudojant žemiau esančią komandą:

pip įdiegti super-gradientai==3.1.2

Po sėkmingo įdiegimo dabar galėsite apmokyti YOLO-NAS modelį.

Modelių mokymas

Norėdami išmokyti modelį, paleiskite kodo bloką žemiau:

 super_gradientai.treniruotės importuoti modeliai
yolo_nas_l = models.get("yolo_nas_l", iš anksto treniruoti_svoriai="koko")

Šiame kode importuojate mokymo modelį iš įdiegtos „SuperGradients“ bibliotekos. Tada naudojate iš anksto paruoštus modelio svorius iš COCO duomenų rinkinio.

Modelio išvada

Modelio išvada gali būti pritaikyta vaizdų aptikimo, klasifikavimo ir segmentavimo užduotims.

Tokiu atveju sutelksite dėmesį į objekto aptikimo užduotis vaizdo įrašams ir vaizdams. Norėdami aptikti objektą vaizde, paleiskite toliau pateiktą kodo bloką:

url = "img_path"
yolo_nas_l.predict (url, conf=0.25).Rodyti()

Įsitikinkite, kad naudojate tikslų kelią į savo vaizdą. Tokiu atveju įkelkite vaizdą į „Google Colab“ aplinką, tada nukopijuokite vaizdo kelią.

Numatoma produkcija:

Norėdami aptikti objektus vaizdo įraše, paleiskite toliau pateiktą kodo bloką:

importuoti deglas

input_video_path = "kelias_į_vaizdo įrašą"
output_video_path = "aptikta.mp4"
prietaisas = 'cuda'jeigu torch.cuda.is_available() Kitas"cpu"
yolo_nas_l.to (device).prodict (input_video_path).save (output_video_path)

Kaip ir vaizdo duomenis, įkelkite vaizdo įrašą, kurį norite, kad jo objektai būtų aptikti, į „Google Colab“ aplinką ir nukopijuokite kelią į vaizdo įrašo kintamąjį. Numatytas vaizdo įrašas bus pasiekiamas iš „Google Colab“ aplinkos naudojant pavadinimą aptikta.mp4. Prieš baigdami seansą, atsisiųskite vaizdo įrašą į vietinį įrenginį.

Numatoma produkcija:

YOLO-NAS taip pat palaiko modelio koregavimą ir pritaikytų duomenų mokymą. Dokumentus rasite adresu Deci koreguojamas starteris užrašų knygelė.

Realaus pasaulio YOLO-NAS programos

YOLO-NAS šaltinio kodas pasiekiamas pagal Apache licenciją 2.0, kuri yra prieinama nekomerciniam naudojimui. Komerciniam naudojimui modelis turėtų būti perkvalifikuotas nuo nulio, kad gautų pasirinktinius svorius.

Tai universalus modelis, kurį galima pritaikyti keliose srityse, pavyzdžiui:

Autonominės transporto priemonės ir robotai

YOLO-NAS gali pagerinti autonominių transporto priemonių suvokimo galimybes, leidžiančias jiems greičiau ir tiksliau aptikti ir sekti objektus realiuoju laiku. Ši savybė padeda užtikrinti saugumą kelyje ir sklandų vairavimo patirtį.

Stebėjimo ir apsaugos sistemos

Modelis gali užtikrinti greitą, tikslų ir realiu laiku stebėjimo ir saugumo objektų aptikimą sistemas, kurios padeda nustatyti galimas grėsmes ar įtartiną veiklą, o tai užtikrina didesnį saugumą sistemos

Mažmeninė prekyba ir atsargų valdymas

Modelis gali suteikti greitas ir tikslias objektų aptikimo galimybes, kurios leidžia efektyviai ir realiu laiku automatizuoti atsargų valdymą, sekti atsargas ir optimizuoti lentynas. Šis modelis padeda sumažinti veiklos sąnaudas ir padidinti pelną.

Sveikatos priežiūra ir medicininis vaizdavimas

Sveikatos priežiūros srityje YOLO-NAS gali padėti efektyviai aptikti ir analizuoti ligų anomalijas arba konkrečias dominančias sritis. Modelis gali padėti gydytojams tiksliai diagnozuoti ligas ir stebėti pacientus, taip gerinant sveikatos priežiūros sektorių.

YOLO-NAS išsinešimui

YOLO-NAS yra naujas objektų aptikimo modelis, sukuriantis naują objektų aptikimo būdą. Tai geriau nei SOTA modeliai. Jo našumas objektų aptikimo srityje yra didelis šuolis kompiuterinės vizijos projektams.