Modele și platforme AI

YOLOv7: Cel mai avansat algoritm de detectare a obiectelor?

mm
Adaugă Unite.AI la sursele tale preferate pe Google

Data de 6 iulie 2022 va fi marcată ca o zi de referință în istoria inteligenței artificiale, deoarece în această zi a fost lansat YOLOv7. De la lansarea sa, YOLOv7 a fost subiectul cel mai discutat în comunitatea dezvoltatorilor de viziune computerizată și are toate motivele să fie așa.

La scurt timp după ce a fost publicată lucrarea YOLOv7, a devenit cel mai rapid și mai precis model de detectare a obiectelor în timp real. Dar cum reușește YOLOv7 să își depășească predecesorii? Ce face YOLOv7 atât de eficient în efectuarea sarcinilor de viziune computerizată?

În acest articol, vom încerca să analizăm modelul YOLOv7 și să găsim răspunsul la întrebarea de ce YOLOv7 devine acum standardul în industrie. Dar înainte de a putea răspunde la această întrebare, trebuie să aruncăm o privire asupra istoricului detectării obiectelor.

Ce este detectarea obiectelor?

Detectarea obiectelor este o ramură a viziunii computerizate care identifică și localizează obiecte într-o imagine sau un fișier video. Detectarea obiectelor este blocul de construcție al numeroaselor aplicații, inclusiv mașini autonome, supraveghere monitorizată și chiar robotică.

Un model de detectare a obiectelor poate fi clasificat în două categorii diferite, detectoare cu un singur schot, și detectoare cu mai multe schoturi.

Detectarea obiectelor în timp real

Pentru a înțelege cu adevărat cum funcționează YOLOv7, este esențial să înțelegem obiectivul principal al YOLOv7, și anume “Detectarea obiectelor în timp real” Detectarea obiectelor în timp real este o componentă cheie a viziunii computerizate moderne. Modelele de detectare a obiectelor în timp real încearcă să identifice și să localizeze obiectele de interes în timp real. Modelele de detectare a obiectelor în timp real au făcut ca dezvoltatorii să poată urmări obiectele de interes într-un cadru în mișcare, cum ar fi un videoclip sau o intrare de supraveghere live.

Modelele de detectare a obiectelor în timp real sunt esențialmente un pas înainte față de modelele convenționale de detectare a imaginilor. În timp ce primele sunt utilizate pentru a urmări obiecte în fișiere video, cele din urmă localizează și identifică obiecte într-un cadru staționar, cum ar fi o imagine.

Ca urmare, modelele de detectare a obiectelor în timp real sunt foarte eficiente pentru analiza video, vehicule autonome, numărarea obiectelor, urmărirea multi-obiectelor și multe altele.

Ce este YOLO?

YOLO sau ” Priviți o dată” este o familie de modele de detectare a obiectelor în timp real. Conceptul YOLO a fost introdus pentru prima dată în 2016 de Joseph Redmon și a devenit imediat subiectul discuțiilor, deoarece era mult mai rapid și mai precis decât algoritmii de detectare a obiectelor existenți. Nu a durat mult până când algoritmul YOLO a devenit un standard în industria viziunii computerizate.

Conceptul fundamental pe care îl propune algoritmul YOLO este de a utiliza o rețea neurală de la capăt la capăt, utilizând cutii de delimitare și probabilități de clasă pentru a face predicții în timp real. YOLO a fost diferit de modelul de detectare a obiectelor anterior, deoarece a propus o abordare diferită pentru a efectua detectarea obiectelor, reutilizând clasificatorii.

Schimbarea abordării a funcționat, deoarece YOLO a devenit curând standardul în industrie, iar diferența de performanță între YOLO și alte algoritmi de detectare a obiectelor în timp real a fost semnificativă. Dar ce a fost motivul pentru care YOLO a fost atât de eficient?

Atunci când a fost comparat cu YOLO, algoritmii de detectare a obiectelor din acea perioadă utilizau rețele de propunere de regiuni pentru a detecta regiunile de interes posibile. Procesul de recunoaștere a fost efectuat apoi pe fiecare regiune în parte. Ca urmare, aceste modele au efectuat adesea multiple iterații pe aceeași imagine, iar lipsa de precizie și timpul de execuție mai mare. Pe de altă parte, algoritmul YOLO utilizează un strat complet conectat pentru a face predicția o singură dată.

Cum funcționează YOLO?

Există trei pași care explică cum funcționează un algoritm YOLO.

Reformularea detectării obiectelor ca o problemă de regresie unică

Algoritmul YOLO încearcă să reformuleze detectarea obiectelor ca o problemă de regresie unică, inclusiv pixeli de imagine, probabilități de clasă și coordonate de delimitare a obiectelor. Prin urmare, algoritmul trebuie să vadă imaginea doar o dată pentru a prezice și a localiza obiectele țintă din imagine.

Motivarea imaginii la nivel global

Mai mult, când algoritmul YOLO face predicții, el motivează imaginea la nivel global. Este diferit de tehnicile bazate pe propunerea de regiuni și de tehnica de alunecare, deoarece algoritmul YOLO vede imaginea completă în timpul antrenării și testării pe setul de date și este capabil să encodeze informații contextuale despre clase și despre modul în care acestea apar.

Înainte de YOLO, Fast R-CNN a fost unul dintre cele mai populare algoritmi de detectare a obiectelor, care nu putea să vadă contextul mai larg din imagine, deoarece confunda petele de fundal dintr-o imagine cu un obiect. Când este comparat cu algoritmul Fast R-CNN, YOLO este cu 50% mai precis în ceea ce privește erorile de fundal.

Generalizarea reprezentării obiectelor

În final, algoritmul YOLO încearcă să generalizeze reprezentările obiectelor dintr-o imagine. Ca urmare, atunci când un algoritm YOLO a fost rulat pe un set de date cu imagini naturale și testat pentru rezultate, YOLO a depășit modelele R-CNN existente cu o marjă largă. Este pentru că YOLO este foarte generalizabil, șansele de a se deteriora atunci când este implementat pe intrări neașteptate sau în domenii noi sunt slabe.

YOLOv7: Ce este nou?

Acum că am o înțelegere de bază a ceea ce sunt modelele de detectare a obiectelor în timp real și a ceea ce este algoritmul YOLO, este timpul să discutăm despre algoritmul YOLOv7.

Optimizarea procesului de antrenare

Algoritmul YOLOv7 nu numai că încearcă să optimizeze arhitectura modelului, dar încearcă și să optimizeze procesul de antrenare. Încearcă să utilizeze module și metode de optimizare pentru a îmbunătăți precizia detectării obiectelor, consolidând costul de antrenare, în timp ce menține costul de interferență. Aceste module de optimizare pot fi numite un sac de gratuități antrenabile.

Atribuirea etichetelor de la gros la fin

Algoritmul YOLOv7 planifică să utilizeze o nouă atribuire a etichetelor de la gros la fin, în loc de atribuirea dinamică a etichetelor convenționale. Acest lucru se datorează faptului că, cu atribuirea dinamică a etichetelor, antrenarea unui model cu multiple straturi de ieșire poate cauza unele probleme, cel mai comun fiind modul în care se atribuie ținte dinamice pentru diferite ramuri și ieșiri.

Reparametrizarea modelului

Reparametrizarea modelului este un concept important în detectarea obiectelor și, în general, este urmată de unele probleme în timpul antrenării. Algoritmul YOLOv7 planifică să utilizeze conceptul de cale de propagare a gradientului pentru a analiza politicile de reparametrizare a modelului aplicabile diferitelor straturi din rețea.

Extinderea și scalarea compusă

Algoritmul YOLOv7 introduce, de asemenea, metodele de extindere și scalare compusă pentru a utiliza și a utiliza eficient parametrii și calculele pentru detectarea obiectelor în timp real.

YOLOv7: Lucrări conexe

Detectarea obiectelor în timp real

YOLO este în prezent standardul în industrie, iar majoritatea detectoarelor de obiecte în timp real utilizează algoritmi YOLO și FCOS (detectare complet convoluțională într-un singur stadiu). Un detectator de obiecte în timp real de ultimă generație are, de obicei, următoarele caracteristici

  • Arhitectură de rețea mai puternică și mai rapidă.
  • O metodă eficientă de integrare a caracteristicilor.
  • O metodă precisă de detectare a obiectelor.
  • O funcție de pierdere robustă.
  • O metodă eficientă de atribuire a etichetelor.
  • O metodă eficientă de antrenare.

Algoritmul YOLOv7 nu utilizează metode de învățare auto-supervizată și distilare care, de obicei, necesită cantități mari de date. În schimb, algoritmul YOLOv7 utilizează o metodă de sac de gratuități antrenabile.

Reparametrizarea modelului

Tehnicile de reparametrizare a modelului sunt considerate o tehnică de ansamblu care combină multiple module de calcul într-un stadiu de interferență. Tehnica poate fi împărțită în două categorii, ansamblu la nivel de model și ansamblu la nivel de modul.

Pentru a obține modelul final de interferență, tehnica de reparametrizare a modelului utilizează două practici. Prima practică utilizează date de antrenare diferite pentru a antrena multiple modele identice și apoi mediază greutățile modelelor antrenate. Alternativ, cealaltă practică mediază greutățile modelelor în timpul iterărilor diferite.

Reparametrizarea la nivel de modul este din ce în ce mai populară în ultima vreme, deoarece împarte un modul în ramuri de modul diferite sau ramuri identice în timpul fazei de antrenare și apoi integrează aceste ramuri într-un modul echivalent în timpul interferenței.

Cu toate acestea, tehnicile de reparametrizare nu pot fi aplicate tuturor tipurilor de arhitecturi. De aceea, algoritmul YOLOv7 utilizează tehnici noi de reparametrizare a modelului pentru a proiecta strategii adecvate pentru diferite arhitecturi.

Scalarea modelului

Scalarea modelului este procesul de scalare a unui model existent pentru a se potrivi cu dispozitive de calcul diferite. Scalarea modelului utilizează, de obicei, o varietate de factori, cum ar fi numărul de straturi (adâncime), dimensiunea imaginilor de intrare (rezoluție), numărul de piramide de caracteristici (stadiu) și numărul de canale (lățime). Acești factori joacă un rol crucial în asigurarea unui compromis echilibrat între parametrii rețelei, viteza de interferență, calcul și precizia modelului.

Una dintre metodele de scalare cel mai des utilizate este căutarea arhitecturii rețelei (NAS), care caută automat factori de scalare adecvați din motoarele de căutare, fără reguli complicate. Principalul dezavantaj al utilizării NAS este că este o abordare costisitoare pentru căutarea factorilor de scalare adecvați.

Aproape fiecare model de reparametrizare a modelului analizează factori de scalare individuali și unici în mod independent și, în plus, optimizează acești factori în mod independent. Acest lucru se datorează faptului că arhitectura NAS lucrează cu factori de scalare necorelați.

Este demn de remarcat că modelele bazate pe concatenare, cum ar fi VoVNet sau DenseNet, schimbă lățimea de intrare a unor straturi atunci când adâncimea modelului este scalată. YOLOv7 lucrează pe o arhitectură bazată pe concatenare și, prin urmare, utilizează o metodă de scalare compusă.

Figura de mai sus compară rețelele de agregare eficientă a straturilor (E-ELAN) ale diferitelor modele. Metoda E-ELAN propusă menține calea de transmisie a gradientului a arhitecturii originale, dar își propune să crească cardinalitatea caracteristicilor adăugate utilizând convoluția grupată. Procesul poate îmbunătăți caracteristicile învățate de diferite hărți și poate utiliza mai eficient calculele și parametrii.

Arhitectura YOLOv7

Modelul YOLOv7 utilizează modelele YOLOv4, YOLO-R și YOLOv4 scalate ca bază. YOLOv7 este rezultatul experimentelor efectuate pe aceste modele pentru a îmbunătăți rezultatele și a face modelul mai precis.

Rețeaua de agregare eficientă a straturilor (E-ELAN)

E-ELAN este blocul de construcție fundamental al modelului YOLOv7 și este derivat din modele existente de eficiență a rețelei, în special ELAN.

Principalele considerații la proiectarea unei arhitecturi eficiente sunt numărul de parametri, densitatea calculului și cantitatea de calcul. Alte modele iau în considerare factori precum influența raportului de canal de intrare/ieșire, ramurile din rețeaua de arhitectură, viteza de interferență a rețelei, numărul de elemente din tensorii rețelei convoluționale și multe altele.

Modelul CSPVoNet nu numai că ia în considerare parametrii menționați mai sus, dar analizează și calea gradientului pentru a învăța caracteristici mai diverse, permițând greutăților diferitelor straturi. Abordarea permite interferenței să fie mult mai rapidă și precisă. Arhitectura ELAN își propune să proiecteze o rețea eficientă pentru a controla calea gradientului cel mai scurt, astfel încât rețeaua să poată învăța și converge mai eficient.

ELAN a atins deja un stadiu stabil, indiferent de numărul de blocuri de calcul stivuite și de lungimea căii gradientului. Starea stabilă poate fi distrusă dacă blocurile de calcul sunt stivuite nelimitat, iar rata de utilizare a parametrilor va scădea. Arhitectura propusă E-ELAN poate rezolva problema, deoarece utilizează extinderea, împachetarea și fuziunea cardinalității pentru a continua să îmbunătățească capacitatea de învățare a rețelei, menținând în același timp calea gradientului original.

Mai mult, atunci când se compară arhitectura E-ELAN cu ELAN, singura diferență este în blocul de calcul, în timp ce arhitectura stratului de tranziție rămâne neschimbată.

E-ELAN propune să extindă cardinalitatea blocurilor de calcul și să extindă canalul utilizând convoluția grupată. Harta de caracteristici va fi calculată, apoi împachetată și concatenată în funcție de parametrul de grup, iar numărul de canale din fiecare grup va rămâne același ca în arhitectura originală. În final, grupurile de hărți de caracteristici vor fi adăugate pentru a efectua cardinalitatea.

Scalarea modelului pentru modele bazate pe concatenare

Scalarea modelului ajută la reglarea atributelor modelului care ajută la generarea de modele în funcție de cerințe și la diferite scări pentru a satisface vitezele de interferență diferite.

Figura de mai sus vorbește despre scalarea modelului pentru diferite modele bazate pe concatenare. Așa cum se poate vedea în figurile (a) și (b), lățimea de ieșire a blocului de calcul crește odată cu creșterea adâncimii modelului. Rezultatul este creșterea lățimii de intrare a straturilor de transmisie. Dacă aceste metode sunt implementate pe o arhitectură bazată pe concatenare, procesul de scalare este efectuat în adâncime, așa cum se arată în figura (c).

Prin urmare, se poate concluziona că nu este posibil să se analizeze factorii de scalare în mod independent pentru modelele bazate pe concatenare și că, în schimb, aceștia trebuie luați în considerare împreună. Prin urmare, pentru un model bazat pe concatenare, este adecvat să se utilizeze metoda de scalare compusă corespunzătoare. În plus, atunci când factorul de adâncime este scalat, canalul de ieșire al blocului trebuie să fie scalat și el.

Sacul de gratuități antrenabile

Un sac de gratuități este un termen utilizat de dezvoltatori pentru a descrie un set de metode sau tehnici care pot altera strategia de antrenare sau costul în încercarea de a îmbunătăți precizia modelului. Ce sunt aceste sacuri de gratuități antrenabile în YOLOv7? Să aruncăm o privire.

Convoluția reparametrizată planificată

Algoritmul YOLOv7 utilizează căile de propagare a gradientului pentru a determina cum să combineze ideal o rețea cu convoluția reparametrizată. Abordarea YOLOv7 este o încercare de a contracara algoritmul RepConv, care, deși a performant seren pe modelul VGG, performează slab atunci când este aplicat direct pe modelele DenseNet și ResNet.

Pentru a identifica conexiunile într-un strat convoluțional, algoritmul RepConv combină convoluția 3×3 și convoluția 1×1. Dacă analizăm algoritmul, performanța și arhitectura, vom observa că RepConv distruge concatenarea în DenseNet și reziduurile în ResNet.

Imaginea de mai sus reprezintă un model reparametrizat planificat. Se poate vedea că algoritmul YOLOv7 a constatat că un strat în rețea cu conexiuni de concatenare sau reziduale nu ar trebui să aibă o conexiune de identitate în algoritmul RepConv. Rezultatul este că este acceptabil să se înlocuiască cu RepConvN fără conexiuni de identitate.

Gros pentru auxiliar și fin pentru pierdere de conducere

Supervizarea profundă este o ramură a științei computerului care își găsește adesea utilizarea în procesul de antrenare a rețelelor profunde. Principiul fundamental al supervizării profunde este acela de a adăuga un cap auxiliar suplimentar în straturile medii ale rețelei, împreună cu greutățile rețelei superficiale, cu pierderea asistentului ca ghid. Algoritmul YOLOv7 se referă la capul responsabil de ieșirea finală ca capul de conducere, iar capul auxiliar este capul care asistă în antrenare.

În continuare, YOLOv7 utilizează o metodă diferită pentru atribuirea etichetelor. Convențional, atribuirea etichetelor a fost utilizată pentru a genera etichete prin referire directă la adevărul din spate și pe baza unui set de reguli date. Cu toate acestea, în ultimii ani, distribuția și calitatea intrării de predicție joacă un rol important pentru a genera o etichetă fiabilă. YOLOv7 generează o etichetă moale a obiectului utilizând predicțiile cutiei de delimitare și adevărul din spate.

Mai mult, noua metodă de atribuire a etichetelor a algoritmului YOLOv7 utilizează predicțiile capului de conducere pentru a ghida atât capul de conducere, cât și capul auxiliar. Metoda de atribuire a etichetelor are două strategii propuse.

Atribuirea etichetelor ghidată de capul de conducere

Strategia face calcule pe baza rezultatelor predicției capului de conducere și adevărului din spate și apoi utilizează optimizarea pentru a genera etichete moi. Aceste etichete moi sunt utilizate apoi ca model de antrenare pentru ambele capete, capul de conducere și capul auxiliar.

Strategia funcționează pe baza ipotezei că, deoarece capul de conducere are o capacitate de învățare mai mare, etichetele pe care le generează ar trebui să fie mai reprezentative și să coreleze între sursă și țintă.

Atribuirea etichetelor de la gros la fin, ghidată de capul de conducere

Această strategie face, de asemenea, calcule pe baza rezultatelor predicției capului de conducere și adevărului din spate și apoi utilizează optimizarea pentru a genera etichete moi. Cu toate acestea, există o diferență cheie. În această strategie, există două seturi de etichete moi, etichetă grosieră și etichetă fină.

Eticheta grosieră este generată prin relaxarea constrângerilor procesului de atribuire a mostrelor pozitive

care tratează mai multe grile ca ținte pozitive. Acest lucru se face pentru a evita riscul de a pierde informații din cauza capacității de învățare mai slabe a capului auxiliar.

Figura de mai sus explică utilizarea unui sac de gratuități antrenabile în algoritmul YOLOv7. Reprezintă gros pentru capul auxiliar și fin pentru capul de conducere. Atunci când comparăm un model cu cap auxiliar (b) cu modelul normal (a), vom observa că schema din (b) are un cap auxiliar, în timp ce în (a) nu.

Figura (c) reprezintă un atributor de etichete independent comun, în timp ce figurile (d) și (e) reprezintă, respectiv, atributorul ghidat de capul de conducere și atributorul de la gros la fin ghidat de capul de conducere, utilizate de YOLOv7.

Alte sacuri de gratuități antrenabile

În plus față de cele menționate mai sus, algoritmul YOLOv7 utilizează sacuri de gratuități suplimentare, deși nu au fost propuse inițial de ei. Acestea sunt

  • Normalizarea batch-ului în tehnologia Conv-Bn-Activation: Această strategie este utilizată pentru a conecta direct un strat convoluțional la stratul de normalizare a batch-ului.
  • Cunoașterea implicită în YOLOR: YOLOv7 combină strategia cu harta de caracteristici convoluționale.
  • Modelul EMA: Modelul EMA este utilizat ca model de referință final în YOLOv7, deși utilizarea sa principală este de a fi utilizat în metoda profesorului mediu.

YOLOv7: Experimente

Configurarea experimentală

Algoritmul YOLOv7 utilizează setul de date Microsoft COCO pentru antrenare și validare a modelului de detectare a obiectelor și nu toate aceste experimente utilizează un model preantrenat. Dezvoltatorii au utilizat setul de date de antrenare din 2017 pentru antrenare și au utilizat setul de date de validare din 2017 pentru selectarea hiperparametrilor. În final, rezultatele detectării obiectelor YOLOv7 sunt comparate cu algoritmii de ultimă generație pentru detectarea obiectelor.

Dezvoltatorii au proiectat un model de bază pentru GPU de margine (YOLOv7-tiny), GPU normal (YOLOv7) și GPU de cloud (YOLOv7-W6). În plus, algoritmul YOLOv7 utilizează, de asemenea, un model de bază pentru scalarea modelului în funcție de diferite cerințe de serviciu și obține modele diferite. Pentru algoritmul YOLOv7, scalarea stivuirii se efectuează pe gât, iar compusul propus este utilizat pentru a scala lățimea și adâncimea modelului.

Linii de bază

Algoritmul YOLOv7 utilizează modelele YOLO anterioare și algoritmul de detectare a obiectelor YOLOR ca linii de bază.

Figura de mai sus compară linia de bază a modelului YOLOv7 cu alte modele de detectare a obiectelor, iar rezultatele sunt destul de evidente. Atunci când este comparat cu algoritmul YOLOv4, YOLOv7 utilizează 75% mai puțini parametri, utilizează 15% mai puțină putere de calcul și are o precizie cu 0,4% mai mare.

Compararea cu modelele de detectare a obiectelor de ultimă generație

Figura de mai sus arată rezultatele atunci când YOLOv7 este comparat cu modelele de detectare a obiectelor de ultimă generație pentru GPU-uri mobile și generale. Se poate observa că metoda propusă de YOLOv7 are cel mai bun scor de schimb între viteză și precizie.

Studiu de ablație: Metoda de scalare compusă propusă

Figura de mai sus compară rezultatele utilizării diferitelor strategii pentru scalarea modelului. Strategia de scalare din modelul YOLOv7 scalează adâncimea blocului de calcul cu 1,5 ori și scalează lățimea cu 1,25 ori.

Atunci când este comparat cu un model care scalează doar adâncimea, modelul YOLOv7 performează mai bine cu 0,5%, utilizând mai puțini parametri și putere de calcul. Pe de altă parte, atunci când este comparat cu modele care scalează doar adâncimea, precizia YOLOv7 este îmbunătățită cu 0,2%, dar numărul de parametri trebuie să fie scalat cu 2,9%, iar puterea de calcul cu 1,2%.

Modelul reparametrizat planificat propus

Pentru a verifica generalitatea modelului reparametrizat propus, algoritmul YOLOv7 utilizează acesta pe modele bazate pe reziduuri și pe modele bazate pe concatenare pentru verificare. Pentru procesul de verificare, algoritmul YOLOv7 utilizează 3-strat ELAN pentru modelul bazat pe concatenare și CSPDarknet pentru modelul bazat pe reziduuri.

Pentru modelul bazat pe concatenare, algoritmul înlocuiește straturile de convoluție 3×3 din 3-strat ELAN cu RepConv. Figura de mai jos arată configurația detaliată a RepConv planificat și a 3-strat ELAN.

Mai mult, atunci când se lucrează cu modelul bazat pe reziduuri, algoritmul YOLOv7 utilizează un bloc CSPDarknet inversat, deoarece blocul original CSPDarknet nu are un strat de convoluție 3×3. Figura de mai jos arată arhitectura blocului CSPDarknet inversat, care inversează pozițiile straturilor de convoluție 3×3 și 1×1.

Pierderea asistentului propusă pentru capul auxiliar

Pentru pierderea asistentului pentru capul auxiliar, modelul YOLOv7 compară atribuirea etichetelor independente pentru capul auxiliar și capul de conducere.

Figura de mai sus conține rezultatele studiului asupra capului auxiliar propus. Se poate vedea că performanța generală a modelului crește odată cu creșterea pierderii asistente. În plus, atribuirea etichetelor ghidate de capul de conducere, propusă de YOLOv7, performează mai bine decât strategiile de atribuire a etichetelor independente.

Rezultatele YOLOv7

Pe baza experimentelor de mai sus, iată rezultatul performanței YOLOv7 atunci când este comparat cu alte algoritmi de detectare a obiectelor.

Figura de mai sus compară modelul YOLOv7 cu alte algoritmi de detectare a obiectelor și se poate observa clar că modelul YOLOv7 depășește alte modele de detectare a obiectelor în ceea ce privește precizia medie (AP) vs. interferență batch.

Mai mult, figura de mai jos compară performanța YOLOv7 cu alte algoritmi de detectare a obiectelor în timp real. Din nou, YOLOv7 depășește alte modele în ceea ce privește performanța generală, precizia și eficiența.

Iată câteva observații suplimentare din rezultatele și performanțele YOLOv7.

  1. YOLOv7-Tiny este cel mai mic model din familia YOLO, cu peste 6 milioane de parametri. YOLOv7-Tiny are o precizie medie de 35,2% și depășește modelul YOLOv4-Tiny cu parametri comparabili.
  2. Modelul YOLOv7 are peste 37 de milioane de parametri și depășește modele cu parametri mai mari, cum ar fi YOLov4.
  3. Modelul YOLOv7 are cea mai mare precizie medie și cea mai mare rată de cadre pe secundă (FPS) în intervalul de la 5 la 160 de FPS.

Concluzie

YOLO sau “Priviți o dată” este algoritmul de detectare a obiectelor de ultimă generație în viziunea computerizată modernă. Algoritmul YOLO este cunoscut pentru precizia și eficiența sa ridicată și, ca urmare, găsește aplicații extinse în industria detectării obiectelor în timp real. De la introducerea primului algoritm YOLO în 2016, experimentele au permis dezvoltatorilor să îmbunătățească modelul în mod continuu.

Modelul YOLOv7 este cea mai recentă adăugare în familia YOLO și este cel mai puternic algoritm YOLO până în prezent. În acest articol, am discutat despre fundamentele YOLOv7 și am încercat să explicăm ce face YOLOv7 atât de eficient.

Kunal Kejriwal este un inginer backend specializat în Python, PostgreSQL, Redis și infrastructură cloud pe GCP și AWS. Cu trei ani de experiență în construirea și scalarea sistemelor de producție, el scrie despre infrastructura AI, sistemele distribuite și arhitectura din spatele implementării sarcinilor de învățare automată.