škrbina YOLOv9: Skok u detekciji objekata u stvarnom vremenu - Unite.AI
Povežite se s nama

Umjetna inteligencija

YOLOv9: Skok u detekciji objekata u stvarnom vremenu

mm

Objavljeno

 on

Otkrivanje predmeta doživio je brzi napredak posljednjih godina zahvaljujući duboko učenje algoritmi poput YOLO (You Only Look Once). Najnovija iteracija, YOLOv9, donosi velika poboljšanja u točnosti, učinkovitosti i primjenjivosti u odnosu na prethodne verzije. U ovom ćemo postu zaroniti u inovacije koje YOLOv9 čine novim stanjem umjetnosti za otkrivanje objekata u stvarnom vremenu.

Kratki uvod o otkrivanju objekata

Prije nego što uđemo u novosti s YOLOv9, pogledajmo ukratko kako funkcionira otkrivanje objekata. Cilj otkrivanja objekata je identificirati i locirati objekte unutar slike, poput automobila, ljudi ili životinja. To je ključna mogućnost za aplikacije kao što su samovozeći automobili, sustavi nadzora i pretraživanje slika.

Detektor uzima sliku kao ulaz i šalje granične okvire oko otkrivenih objekata, svaki s pridruženom oznakom klase. Popularni skupovi podataka kao što je MS COCO pružaju tisuće označenih slika za obuku i procjenu ovih modela.

Postoje dva glavna pristupa otkrivanju objekata:

  • Dvostupanjski detektori poput Faster R-CNN prvo generira prijedloge regija, zatim klasificira i pročišćava granice svake regije. Obično su točniji, ali sporiji.
  • Jednostupanjski detektori poput YOLO-a nanesite model izravno preko slike u jednom prolazu. Zamjenjuju određenu točnost za vrlo brza vremena zaključivanja.

YOLO je bio pionir jednostupanjskog pristupa. Pogledajmo kako se razvio u više verzija kako bi se poboljšala točnost i učinkovitost.

Pregled prethodnih YOLO verzija

Obitelj modela YOLO (You Only Look Once) prednjači u brzom otkrivanju objekata otkako je izvorna verzija objavljena 2016. Evo kratkog pregleda kako je YOLO napredovao tijekom višestrukih iteracija:

  • YOLOv1 predložio je objedinjeni model za predviđanje graničnih okvira i vjerojatnosti klasa izravno iz punih slika u jednom prolazu. To ga je učinilo iznimno brzim u usporedbi s prethodnim dvostupanjskim modelima.
  • YOLOv2 poboljšan u odnosu na izvornik upotrebom skupne normalizacije za bolju stabilnost, sidrenjem okvira u različitim mjerilima i omjerima širine i visine za otkrivanje višestrukih veličina i nizom drugih optimizacija.
  • YOLOv3 dodao je novi ekstraktor značajki pod nazivom Darknet-53 s više slojeva i prečaca između njih, dodatno poboljšavajući točnost.
  • YOLOv4 kombinirao ideje iz drugih detektora objekata i modele segmentacije kako bi povećao točnost još više, a istovremeno zadržao brzo zaključivanje.
  • YOLOv5 u potpunosti je prepisao YOLOv4 u PyTorchu i dodao novu okosnicu ekstrakcije značajki nazvanu CSPDarknet zajedno s nekoliko drugih poboljšanja.
  • YOLOv6 nastavio optimizirati arhitekturu i proces obuke, s modelima unaprijed obučenim na velikim vanjskim skupovima podataka kako bi se dodatno poboljšala izvedba.

Dakle, ukratko, prethodne verzije YOLO-a postigle su veću točnost kroz poboljšanja arhitekture modela, tehnika obuke i prethodne obuke. Ali kako modeli postaju sve veći i složeniji, brzina i učinkovitost počinju patiti.

Potreba za boljom učinkovitošću

Mnoge aplikacije zahtijevaju otkrivanje objekata za rad u stvarnom vremenu na uređajima s ograničenim računalnim resursima. Kako modeli postaju sve veći i računalno intenzivniji, postaju nepraktični za implementaciju.

Na primjer, samovozeći automobil treba detektirati objekte pri visokoj brzini kadrova pomoću procesora unutar vozila. Sigurnosna kamera treba pokrenuti otkrivanje objekata na svom video feedu unutar vlastitog ugrađenog hardvera. Telefoni i drugi potrošački uređaji imaju vrlo stroga ograničenja napajanja i topline.

Najnovije verzije YOLO-a postižu visoku točnost s velikim brojem parametara i operacijama množenja i zbrajanja (FLOP). Ali to dolazi po cijenu brzine, veličine i energetske učinkovitosti.

Na primjer, YOLOv5-L zahtijeva više od 100 milijardi FLOP-ova za obradu jedne 1280×1280 slike. Ovo je presporo za mnoge slučajeve upotrebe u stvarnom vremenu. Trend sve većih modela također povećava rizik od prekomjernog opremanja i otežava generaliziranje.

Dakle, kako bismo proširili primjenjivost otkrivanja objekata, potrebni su nam načini za poboljšanje učinkovitosti - postizanje veće točnosti s manje parametara i izračuna. Pogledajmo tehnike korištene u YOLOv9 za rješavanje ovog izazova.

YOLOv9 – Bolja točnost s manje resursa

Istraživači koji stoje iza YOLOv9 usredotočili su se na poboljšanje učinkovitosti kako bi se postigla izvedba u stvarnom vremenu na širem rasponu uređaja. Uveli su dvije ključne inovacije:

  1. Novi model arhitekture tzv Opća učinkovita mreža agregacije slojeva (GELAN) koji maksimizira točnost dok minimizira parametre i FLOP-ove.
  2. Tehnika treninga tzv Informacije o programabilnom gradijentu (PGI) koji pruža pouzdanije gradijente učenja, posebno za manje modele.

Pogledajmo kako svako od ovih poboljšanja pomaže u poboljšanju učinkovitosti.

Učinkovitija arhitektura s GELAN-om

Sama arhitektura modela ključna je za balansiranje točnosti i brzine i korištenja resursa tijekom zaključivanja. Neuronska mreža treba dovoljno dubine i širine da uhvati relevantne značajke iz ulaznih slika. Ali previše slojeva ili filtera dovodi do sporih i napuhanih modela.

Autori su dizajnirali GELAN posebno kako bi istisnuli maksimalnu točnost iz najmanje moguće arhitekture.

GELAN koristi dva glavna građevna bloka složena zajedno:

  • Učinkoviti blokovi agregacije slojeva – Ove agregirane transformacije u više grana mreže za učinkovito hvatanje značajki više razmjera.
  • Računalni blokovi – CSPNet blokovi pomažu u širenju informacija preko slojeva. Bilo koji blok može se zamijeniti na temelju računskih ograničenja.

Pažljivim balansiranjem i kombiniranjem ovih blokova, GELAN postiže najbolju točku između performansi, parametara i brzine. Ista modularna arhitektura može se povećati ili smanjiti na različitim veličinama modela i hardvera.

Eksperimenti su pokazali da GELAN ima više performansi u manjim modelima u usporedbi s prijašnjim YOLO arhitekturama. Na primjer, GELAN-Small sa 7M parametrima nadmašio je 11M parametar YOLOv7-Nano. I GELAN-Medium s 20M parametara u rangu s YOLOv7 srednjim modelima koji zahtijevaju 35-40M parametara.

Dizajniranjem parametrizirane arhitekture posebno optimizirane za učinkovitost, GELAN omogućuje brži rad modela i na uređajima s ograničenijim resursima. Zatim ćemo vidjeti kako im PGI pomaže da bolje treniraju.

Bolja obuka s informacijama o programabilnom gradijentu (PGI)

Obuka modela jednako je važna za maksimiziranje točnosti s ograničenim resursima. Autori YOLOv9 identificirali su probleme u obuci manjih modela uzrokovane nepouzdanim informacijama o gradijentu.

gradijenti odrediti koliko se težine modela ažuriraju tijekom treninga. Šumni ili pogrešni gradijenti dovode do loše konvergencije. Ovaj problem postaje izraženiji za manje mreže.

Tehnika duboki nadzor rješava to uvođenjem dodatnih bočnih grana s gubicima za širenje boljeg gradijentnog signala kroz mrežu. Ali ima tendenciju da se pokvari i uzrokuje odstupanje za manje lagane modele.

YOLOv9: Učenje onoga što želite naučiti pomoću programabilnih informacija o gradijentu

YOLOv9: Učenje onoga što želite naučiti pomoću programabilnih informacija o gradijentu https://arxiv.org/abs/2402.13616

Kako bi prevladao ovo ograničenje, YOLOv9 uvodi Informacije o programabilnom gradijentu (PGI). PGI ima dvije glavne komponente:

  • Pomoćne reverzibilne grane – Oni pružaju čistije gradijente održavajući reverzibilne veze s ulazom pomoću blokova poput RevCols.
  • Integracija gradijenta na više razina – Time se izbjegava odstupanje od miješanja različitih bočnih grana. Kombinira gradijente iz svih grana prije vraćanja na glavni model.

Generirajući pouzdanije gradijente, PGI pomaže manjim modelima da treniraju jednako učinkovito kao i veći:

Eksperimenti su pokazali da je PGI poboljšao točnost u svim veličinama modela, posebno u manjim konfiguracijama. Na primjer, povećao je AP rezultate YOLOv9-Small za 0.1-0.4% u odnosu na osnovni GELAN-Small. Dobici su bili još značajniji za dublje modele poput YOLOv9-E na 55.6% mAP.

Dakle, PGI omogućuje manjim, učinkovitijim modelima da se uvježbaju na više razine točnosti koje su prije bile moguće postići samo prekoparametriziranim modelima.

YOLOv9 postavlja novo stanje umjetnosti za učinkovitost

Kombinirajući arhitektonski napredak GELAN-a s poboljšanjima obuke iz PGI-a, YOLOv9 postiže neviđenu učinkovitost i performanse:

  • U usporedbi s prethodnim YOLO verzijama, YOLOv9 dobiva bolja točnost s 10-15% manje parametara i 25% manje izračuna. Ovo donosi velika poboljšanja u brzini i mogućnostima u svim veličinama modela.
  • YOLOv9 nadmašuje druge detektore u stvarnom vremenu poput YOLO-MS i RT-DETR u smislu parametarska učinkovitost i FLOP-ovi. Za postizanje zadane razine performansi potrebno je mnogo manje resursa.
  • Manji YOLOv9 modeli čak su bolji od većih prethodno obučenih modela poput RT-DETR-X. Unatoč korištenju 36% manje parametara, YOLOv9-E postiže bolji 55.6% AP kroz učinkovitije arhitekture.

Dakle, baveći se učinkovitošću na razini arhitekture i obuke, YOLOv9 postavlja novo stanje umjetnosti za maksimiziranje performansi unutar ograničenih resursa.

GELAN – Optimizirana arhitektura za učinkovitost

YOLOv9 predstavlja novu arhitekturu nazvanu General Efficient Layer Aggregation Network (GELAN) koja maksimizira točnost unutar minimalnog proračuna parametara. Nadovezuje se na prethodne YOLO modele, ali optimizira različite komponente posebno za učinkovitost.

https://arxiv.org/abs/2402.13616

YOLOv9: Učenje onoga što želite naučiti pomoću programabilnih informacija o gradijentu
https://arxiv.org/abs/2402.13616

Pozadina na CSPNet i ELAN

Najnovije YOLO verzije od v5 koriste okosnice temeljene na Cross-Stage Parcijalnoj mreži (CSPNet) za poboljšanu učinkovitost. CSPNet omogućuje agregiranje mapa značajki preko paralelnih mrežnih grana uz dodavanje minimalnog opterećenja:

Ovo je učinkovitije nego samo serijsko slaganje slojeva, što često dovodi do suvišnog izračunavanja i prevelike parametrizacije.

YOLOv7 je nadogradio CSPNet na Efficient Layer Aggregation Network (ELAN), što je pojednostavilo strukturu blokova:

ELAN je uklonio veze prečaca između slojeva u korist agregacijskog čvora na izlazu. Ovo je dodatno poboljšalo učinkovitost parametara i FLOP-a.

Generaliziranje ELAN-a za fleksibilnu učinkovitost

Autori su još više generalizirali ELAN za stvaranje GELAN, okosnica koja se koristi u YOLOv9. GELAN je izvršio ključne izmjene kako bi poboljšao fleksibilnost i učinkovitost:

  • Izmjenjivi računski blokovi – Prethodni ELAN imao je fiksne konvolucijske slojeve. GELAN omogućuje zamjenu bilo kojeg računalnog bloka kao što su ResNets ili CSPNet, pružajući više arhitektonskih opcija.
  • Dubinska parametrizacija – Odvojene dubine blokova za glavnu granu u odnosu na agregatorsku granu pojednostavljuje fino podešavanje korištenja resursa.
  • Stabilne performanse u svim konfiguracijama – GELAN održava točnost s različitim vrstama blokova i dubinama, omogućujući fleksibilno skaliranje.

Ove promjene čine GELAN snažnom, ali konfigurabilnom okosnicom za maksimiziranje učinkovitosti:

U eksperimentima su GELAN modeli dosljedno nadmašivali prethodne YOLO arhitekture u točnosti po parametru:

  • GELAN-Small sa 7M parametara nadmašio je YOLOv7-Nano parametre od 11M
  • GELAN-Medium je odgovarao težim YOLOv7 srednjim modelima

Dakle, GELAN pruža optimiziranu okosnicu za skaliranje YOLO-a kroz različite ciljeve učinkovitosti. Zatim ćemo vidjeti kako im PGI pomaže da bolje treniraju.

PGI – Poboljšana obuka za sve veličine modela

Dok izbori arhitekture utječu na učinkovitost u vremenu zaključivanja, proces obuke također utječe na korištenje resursa modela. YOLOv9 koristi novu tehniku ​​pod nazivom Programmable Gradient Information (PGI) za poboljšanje obuke u različitim veličinama i složenosti modela.

Problem nepouzdanih gradijenata

Tijekom obuke, funkcija gubitka uspoređuje izlaze modela s oznakama temeljne istine i izračunava gradijent pogreške za ažuriranje parametara. Bučni ili obmanjujući gradijenti dovesti do slabe konvergencije i učinkovitosti.

Vrlo duboke mreže to pogoršavaju kroz informacijsko usko grlo – gradijenti iz dubokih slojeva su oštećeni izgubljenim ili komprimiranim signalima.

Duboki nadzor pomaže uvođenjem pomoćnih bočnih grana s gubicima kako bi se osigurali čišći gradijenti. Ali često raspada se za manje modele, uzrokujući smetnje i razilaženja između različitih grana.

Dakle, trebamo način da osiguramo pouzdane gradijente koji funkcioniraju na svim veličinama modela, posebno na manjim.

Predstavljamo programabilne informacije o gradijentu (PGI)

Za rješavanje problema s nepouzdanim gradijentima, YOLOv9 predlaže Programmable Gradient Information (PGI). PGI ima dvije glavne komponente dizajnirane za poboljšanje kvalitete gradijenta:

1. Pomoćne reverzibilne grane

Dodatne grane pružaju reverzibilne veze natrag na ulaz pomoću blokova poput RevCols. Time se održavaju čisti gradijenti izbjegavajući informacijsko usko grlo.

2. Integracija gradijenta na više razina

Fuzijski blok agregira gradijente iz svih grana prije vraćanja u glavni model. To sprječava odstupanje između grana.

Generiranjem pouzdanijih gradijenata, PGI poboljšava konvergenciju i učinkovitost treninga u svim veličinama modela:

  • Lagani modeli imati koristi od dubokog nadzora koji prije nisu mogli koristiti
  • Veći modeli dobiti čistije gradijente koji omogućuju bolju generalizaciju

Eksperimenti su pokazali PGI povećanu točnost za male i velike YOLOv9 konfiguracije u odnosu na osnovni GELAN:

  • +0.1-0.4% AP za YOLOv9-Small
  • +0.5-0.6% AP za veće YOLOv9 modele

Dakle, PGI-jevi programabilni gradijenti omogućuju učinkovitije treniranje velikih i malih modela.

YOLOv9 postavlja novu najsuvremeniju točnost

Kombinirajući arhitektonska poboljšanja iz GELAN-a i poboljšanja obuke iz PGI-a, YOLOv9 postiže nove vrhunske rezultate za detekciju objekata u stvarnom vremenu.

Eksperimenti na skupu podataka COCO pokazuju da YOLOv9 nadmašuje prethodne verzije YOLO-a, kao i druge detektore u stvarnom vremenu poput YOLO-MS, u točnosti i učinkovitosti:

Neki ključni naglasci:

  • YOLOv9-Small nadmašuje YOLO-MS-Small s 10% manje parametara i izračuna
  • YOLOv9-Medium odgovara težim YOLOv7 modelima koristeći manje od pola resursa
  • YOLOv9-Large nadmašuje YOLOv8-X s 15% manje parametara i 25% manje FLOP-ova

Nevjerojatno, manji YOLOv9 modeli čak nadmašuju teže modele drugih detektora koji koriste prethodnu obuku kao što je RT-DETR-X. Unatoč 4x manje parametara, YOLOv9-E nadmašuje RT-DETR-X u točnosti.

Ovi rezultati pokazuju superiornu učinkovitost YOLOv9. Poboljšanja omogućuju visokoprecizno otkrivanje objekata u više slučajeva korištenja u stvarnom svijetu.

Ključni zaključci o nadogradnji YOLOv9

Ukratko rezimiramo neke od ključnih nadogradnji i inovacija koje omogućuju novu najsuvremeniju izvedbu YOLOv9:

  • GELAN optimizirana arhitektura – Poboljšava učinkovitost parametara kroz fleksibilne blokove agregacije. Omogućuje skaliranje modela za različite ciljeve.
  • Informacije o programabilnom gradijentu – Pruža pouzdane gradijente kroz reverzibilne veze i fuziju. Poboljšava obuku u svim veličinama modela.
  • Veća točnost uz manje resursa – Smanjuje parametre i proračune za 10-15% u odnosu na YOLOv8 uz bolju točnost. Omogućuje učinkovitije zaključivanje.
  • Vrhunski rezultati u svim veličinama modela – Postavlja novo stanje umjetnosti za konfiguracije lakih, srednjih i velikih modela. Nadmašuje uvelike unaprijed obučene modele.
  • Proširena primjenjivost – Veća učinkovitost proširuje održive slučajeve upotrebe, poput otkrivanja u stvarnom vremenu na rubnim uređajima.

Izravnim obraćanjem točnosti, učinkovitosti i primjenjivosti, YOLOv9 pomiče detekciju objekata naprijed kako bi zadovoljio različite potrebe stvarnog svijeta. Nadogradnje pružaju čvrst temelj za buduće inovacije u ovoj kritičnoj sposobnosti računalnog vida.

Proteklih pet godina proveo sam uranjajući u fascinantan svijet strojnog i dubokog učenja. Moja strast i stručnost naveli su me da pridonesem više od 50 različitih projekata softverskog inženjeringa, s posebnim fokusom na AI/ML. Moja stalna znatiželja također me povukla prema obradi prirodnog jezika, polju koje jedva čekam dalje istraživati.