Sunday, April 21, 2024

YOLOv9: Un salt în detectarea obiectelor în timp real

Acțiune

Detectarea obiectelor a uzual o evoluție rapidă în ultimii ani datorită algoritmilor de învățare profundă bunaoara YOLO (You Only Look Once). Cea mai recentă iterație, YOLOv9, a crea îmbunătățiri majore în rigoare, eficiență și aplicabilitate față de versiunile anterioare. În această postare, ne vom afunda în inovațiile oricare fac din YOLOv9 un nou etapa de ultimă generație pentru detectarea obiectelor în curs obiectiv.

Un instructaj imediat din-spre detectarea obiectelor

Înainte de a a patrunde în noutățile cu YOLOv9, să analizăm pe limitat valoare absoluta în oricare funcționează detectarea obiectelor. Scopul detectării obiectelor este de a recunoaste și a prelucra obiecte într-o icoana, cum ar fi mașini, oameni sau animale. Este o posibilitate intinzator pentru aplicații bunaoara mașinile cu guvernare autonomă, sistemele de paza și căutarea de imagini.

Detectorul preia o icoana ca alee și intocmi casete de marcare în jurul obiectelor detectate, fitece având o etichetă de clasă asociată. Seturi de date impoporare bunaoara MS COCO oferă mii de imagini etichetate pentru a a certa și a a calcula aceste modele.

Există două abordări principale pentru detectarea obiectelor:

  • Detectoare cu două trepte bunaoara Faster R-CNN generează mai întâi propuneri de latura, atunci clasifică și rafinează granițele fiecărei regiuni. Ele tind să fie mai precise, dar mai lente.
  • Detectoare cu o singură treaptă ca și YOLO aplicați un calapod drept asupra icoana într-o singură tra-versare. Ei schimbă o anumită rigoare pentru timpi de inferență tare rapidi.

YOLO a fost pionier în abordarea într-o singură etapă. Să ne uităm la valoare absoluta în oricare a perfectionat pe mai multe versiuni pentru a îmbunătăți acuratețea și eficiența.

Revizuirea versiunilor anterioare YOLO

Familia de modele YOLO (You Only Look Once) a fost în fruntea detectării rapide a obiectelor de când versiunea originală a fost publicată în 2016. Iată o scurtă recomandatie generală a modului în oricare YOLO a progresat în mai multe iterații:

  • YOLOv1 a socoteala un calapod unit pentru a a proroci casetele de marcare și probabilitățile de clasă drept din imagini complete într-o singură tra-versare. Cest treaba l-a făcut terminal de imediat în comparație cu modelele anterioare în două etape.
  • YOLOv2 îmbunătățit față de inedit prin utilizarea normalizării loturilor pentru o mai bună consecventa, ancorarea cutiilor la diferite scale și rapoarte de chip pentru a detecta mai multe dimensiuni și o specie de alte optimizări.
  • YOLOv3 a adăugat un nou extractor de caracteristici faimos Darknet-53 cu mai multe straturi și comenzi rapide între ele, îmbunătățind și mai indelung precizia.
  • YOLOv4 a compus idei de la alte detectoare de obiecte și modele de segmentatie pentru a împinge precizia și mai indelung, menținând totuși o inferență rapidă.
  • YOLOv5 a rescris intreg YOLOv4 în PyTorch și a adăugat o nouă coloană de extracție a caracteristicilor numită CSPDarknet, împreună cu alte câteva îmbunătățiri.
  • YOLOv6 a continuat să optimizeze arhitectonie și procesul de pregatire, cu modele pregătite în anticipat pe seturi impauna de date externe pentru a crește și mai indelung performanța.

Asadar, în sinteza, versiunile anterioare YOLO au obținut o rigoare mai potop prin îmbunătățiri aduse arhitecturii modelului, tehnicilor de antrenament și pre-antrenament. Dar pe măsură ce modelele devin mai impauna și mai complexe, velocitate și eficiența încep să sufere.

Demon de eficiență mai bună

Multe aplicații necesită detectarea obiectelor pentru a a tecarui în curs obiectiv pe dispozitive cu resurse de socotinta limitate. Pe măsură ce modelele devin mai impauna și mai intensive din exact de vedeala computațional, ele devin impracticabile de implementat.

De paradigma, o mașină oricare se a domni insumi musai să detecteze obiecte la rate de cadre ridicate folosind procesoare din interiorul vehiculului. O cameră de siguranta musai să ruleze detectarea obiectelor pe fluxul său terminal în cadrul propriului hardware încorporat. Telefoanele și alte dispozitive de cheltuiala au constrângeri de energie și termice tare stricte.

Versiunile recente YOLO obțin o rigoare ridicată cu un număr potop de parametri și operații de multiplicare-adăugare (FLOP). Dar iest treaba vine cu prețul vitezei, dimensiunii și eficienței energetice.

De paradigma, YOLOv5-L necesită asupra 100 de miliarde de FLOP-uri pentru a procesa o singură icoana de 1280×1280. Cest treaba este exagerat incet pentru multe cazuri de aplicare în curs obiectiv. Tendința modelelor din ce în ce mai impauna crește, de asemanator, riscul de supraadaptare și îngreunează generalizarea.

Asadar, pentru a a ridica aplicabilitatea detectării obiectelor, avem dare de modalități de îmbunătățire a eficienței – obținerea unei precizii mai bune cu mai puțini parametri și calcule. Să ne uităm la tehnicile folosite în YOLOv9 pentru a a fauri față acestei provocări.

YOLOv9 – O mai bună acuratețe cu mai puține resurse

Cercetătorii din spatele YOLOv9 s-au prescurtat pe îmbunătățirea eficienței pentru a obține performanță în curs obiectiv pe o gamă mai largă de dispozitive. Au introdus două inovații intinzator:

  1. Un nou calapod de arhitectură faimos Rețea generală eficientă de agregare a straturilor (GELAN) oricare maximizează acuratețea minimizând parametrii și FLOP-urile.
  2. O tehnică de antrenament numită Informații programabile de gradient (PGI) oricare oferă gradiente de învățare mai fiabile, în specialist pentru modelele mai a se scurta.

Să vedem cum fitece dintre aceste progrese ajută la îmbunătățirea eficienței.

Arhitectură mai eficientă cu GELAN

Arhitectonie modelului în sine este critică pentru echilibrarea acurateței cu velocitate și utilizarea resurselor în timpul inferenței. Rețeaua neuronală are dare de suficientă adâncime și lățime pentru a receptiona caracteristicile relevante din imaginile de alee. Dar exagerat multe straturi sau filtre duc la modele lente și umflate.

Autorii au planuit GELAN specialist pentru a a scoate precizia maximă din cea mai mică arhitectură posibilă.

GELAN utilizează două blocuri principale stivuite împreună:

  • Blocuri eficiente de agregare a straturilor – Aceste transformări agregate în mai multe ramifica de rețea pentru a receptiona în mod eficace funcțiile multi-scale.
  • Blocuri de socotinta – Blocurile CSPNet ajută la propagarea informațiilor asupra straturi. Fiecare blocada pesemne fi înlocuit pe a conta constrângerilor de socotinta.

Echilibrând și combinând cu atenție aceste blocuri, GELAN impresiona un exact priitor între performanță, parametri și viteză. Aceeași arhitectură modulară pesemne crește sau scade pe diferite dimensiuni de modele și hardware.

Experimentele au arătat că GELAN încadrează mai multă performanță în modele mai a se scurta în comparație cu arhitecturile YOLO anterioare. De paradigma, GELAN-Small cu parametri de 7M a depășit parametrul de 11M YOLOv7-Nano. Și GELAN-Medium cu 20M parametri executați la paritate cu modelele medii YOLOv7 oricare necesită 35-40M parametri.

Așadar, prin proiectarea unei arhitecturi parametrizate optimizată specialist pentru eficiență, GELAN a ingadui modelelor să ruleze mai imediat și pe dispozitive cu mai multe resurse limitate. În urmare, vom a gini cum PGI îi ajută și pe aceștia să se antreneze mai placut.

Antrenament mai bun cu informații din-spre gradient programabil (PGI)

Antrenamentul modelului este la fel de memorabil pentru a maximaliza acuratețea cu resurse limitate. Autorii YOLOv9 au recunoscut probleme de mobilizare a modelelor mai a se scurta cauzate de informații nesigure din-spre gradient.

Gradiente determinați cât de indelung sunt actualizate greutățile unui calapod în timpul antrenamentului. Gradienții zgomotoși sau înșelător conduc la o convergență slabă. Această problemă devine mai pronunțată pentru rețelele mai a se scurta.

Tehnica de paza profundă abordează iest treaba prin introducerea de ramifica laterale suplimentare cu pierderi pentru a a lati un signal de gradient mai bun prin rețea. Dar intinde să se defecteze și să provoace divergențe pentru modelele mai a se scurta și ușoare.

YOLOv9: Învățați ceea ce doriți să învățați folosind informații din-spre gradient programabil https://arxiv.org/abs/2402.13616

Pentru a depăși această restrangere, YOLOv9 a baga Informații programabile de gradient (PGI). IGP are două componente principale:

  • Ramifica reversibile auxiliare – Acestea oferă gradienți mai curați prin menținerea conexiunilor reversibile la alee folosind blocuri bunaoara RevCols.
  • Inglobare cu gradient pe mai multe niveluri – Cest treaba evită interferența divergenței de la diferite ramifica laterale. Combină gradienții din toate ramurile înainte de a se reîntoarce la modelul central.

Prin generarea de gradienți mai fiabili, PGI ajută modelele mai a se scurta să se antreneze la fel de eficace ca și cele mai impauna:

Experimentele au arătat o rigoare îmbunătățită a PGI pentru toate dimensiunile de calapod, în specialist pentru configurațiile mai a se scurta. De paradigma, a extins scorurile AP ale YOLOv9-Small cu 0,1-0,4% față de valoarea inițială GELAN-Small. Câștigurile au fost și mai semnificative pentru modelele mai profunde bunaoara YOLOv9-E la 55,6% mAP.

Așadar, PGI a ingadui modelelor mai a se scurta și eficiente să se antreneze la niveluri de rigoare mai înalte, atinse precezator conj prin modele supraparametrate.

YOLOv9 stabilește o nouă ultimă generație pentru eficiență

Combinând progresele arhitecturale ale GELAN cu îmbunătățirile de antrenament de la PGI, YOLOv9 impresiona eficiență și performanță fără precedenta:

  • În comparație cu versiunile anterioare YOLO, YOLOv9 obține o rigoare mai bună cu 10-15% mai puțini parametri și cu 25% mai puține calcule. Cest treaba a crea îmbunătățiri majore în ceea ce privește velocitate și capacitatea pe toate dimensiunile modelului.
  • YOLOv9 depășește alți detectoare în curs obiectiv, cum ar fi YOLO-MS și RT-DETR în ceea ce privește eficiența parametrilor și FLOP-urile. Este dare de indelung mai puține resurse pentru a impresiona un determinat standing de performanță.
  • Modelele mai a se scurta YOLOv9 bat asasi și modelele mai impauna pre-antrenate, cum ar fi RT-DETR-X. În invidie folosirii Cu 36% mai puțini parametriYOLOv9-E realizează mai placut 55,6% AP prin arhitecturi mai eficiente.

Asadar, abordând eficiența la niveluri de arhitectură și creare, YOLOv9 stabilește o nouă ultimă generație pentru maximizarea performanței în cadrul resurselor limitate.

GELAN – Arhitectură optimizată pentru eficiență

YOLOv9 a baga o nouă arhitectură numită Unanim Efficient Layer Aggregation Network (GELAN) oricare maximizează precizia într-un buget strict de parametri. Se bazează pe modelele anterioare YOLO, dar optimizează diferitele componente specialist pentru eficiență.

https://arxiv.org/abs/2402.13616

YOLOv9: Învățați ceea ce doriți să învățați folosind informații programabile cu gradient
https://arxiv.org/abs/2402.13616

Conditie din-spre CSPNet și ELAN

Versiunile recente YOLO de la v5 au vechi backbone bazate pe Cross-Stage Partinitor Network (CSNPet) pentru o eficiență îmbunătățită. CSPNet a ingadui ca hărțile de caracteristici să fie agregate în ramifica de rețea paralele, adăugând în același curs un hrana strict:

Cest treaba este mai eficace decât conj stivuirea în numar a straturilor, ceea ce carmui deseori la calcule redundante și la supraparametrizare.

YOLOv7 a actualizat CSPNet la ELAN (Eficace Layer Aggregation Network), ceea ce a schematic grupare blocurilor:

ELAN a anulat conexiunile de scurtătură între straturi în favoarea unui nod de agregare la ieșire. Cest treaba a îmbunătățit și mai indelung eficiența parametrilor și a FLOP-urilor.

Generalizarea ELAN pentru eficiență flexibilă

Autorii au generalizat ELAN și mai indelung pentru a inventa ÎN CAMERA, convoi vertebrală folosită în YOLOv9. GELAN a făcut modificări intinzator pentru a îmbunătăți flexibilitatea și eficiența:

  • Blocuri de socotinta interschimbabile – ELAN anterioară contine straturi convoluționale fixe. GELAN a ingadui înlocuirea oricărui blocada de socotinta bunaoara ResNets sau CSPNet, oferind mai multe opțiuni arhitecturale.
  • Parametrizare în adancime – Adâncimile de blocada separate pentru raza principală față de raza agregatorului simplifică optimizarea utilizării resurselor.
  • Performanță stabilă în toate configurațiile – GELAN menține precizia cu diferite tipuri de blocuri și adâncimi, permițând scalarea flexibilă.

Aceste modificări fac din GELAN o coloană vertebrală puternică, dar configurabilă pentru maximizarea eficienței:

În experimente, modelele GELAN au depășit în mod per-manent arhitecturile YOLO anterioare în ceea ce privește precizia pe parametru:

  • GELAN-Small cu 7M parametri depășește cei 11M parametri ai lui YOLOv7-Nano
  • GELAN-Medium se potrivește cu modelele medii YOLOv7 mai grele

Așadar, GELAN oferă o coloană vertebrală optimizată pentru a debarcader YOLO pe diferite obiective de eficiență. În urmare, vom a gini cum PGI îi ajută să se antreneze mai placut.

PGI – Antrenament îmbunătățit pentru toate dimensiunile de calapod

În curs ce alegerile de arhitectură influențează eficiența la momentul deducerii, procesul de pregatire afectează și utilizarea resurselor modelului. YOLOv9 folosește o nouă tehnică numită Programable Gradient Information (PGI) pentru a îmbunătăți antrenamentul în diferite dimensiuni și complexități ale modelului.

Propunere gradienților nesiguri

În timpul antrenamentului, o funcție de iro-sire compară ieșirile modelului cu etichetele de adevăr de la sol și calculează un gradient de vina pentru a actualiza parametrii. Gradiente zgomotoase sau înșelătoare carmui la o convergență și eficiență slabe.

Rețelele tare profunde exacerbează iest treaba prin intermediul blocaj informațional – gradienții din straturile adânci sunt corupți de semnale pierdute sau comprimate.

Paza profundă ajută prin introducerea de ramifica laterale auxiliare cu pierderi pentru a a infatisa pante mai curate. Dar adeseori se defectează pentru modelele mai a se scurtaprovocând interferențe și divergențe între diferite ramifica.

Așadar, avem dare de o regim de a a infatisa gradienți de încredere oricare funcționează pe toate dimensiunile de calapod, în specialist pe cele mai a se scurta.

Prezentarea informațiilor programabile de gradient (PGI)

Pentru a a trata gradienții nesiguri, YOLOv9 preda informații programabile de gradient (PGI). PGI are două componente principale concepute pentru a îmbunătăți calitatea gradientului:

1. Ramifica reversibile auxiliare

Sucursalele suplimentare oferă conexiuni reversibile înapoi la alee folosind blocuri bunaoara RevCols. Cest treaba menține gradienții curați evitând blocajul informațiilor.

2. Inglobare cu gradient pe mai multe niveluri

Un blocada de fuzionare agregează gradienții din toate ramurile înainte de a se reîntoarce la modelul central. Cest treaba previne divergențele între ramifica.

Prin generarea de gradienți mai fiabili, PGI îmbunătățește convergența și eficiența antrenamentului pentru toate dimensiunile de calapod:

  • Modele ușoare beneficiază de o paza profundă pe oricare nu le puteau a intrebuinta înainte
  • Modele mai impauna obțineți gradiente mai curate, permițând o mai bună generalizare

Experimentele au arătat o rigoare sporită PGI pentru configurațiile a se scurta și impauna YOLOv9 față de GELAN de bază:

  • +0,1-0,4% AP pentru YOLOv9-Small
  • +0,5-0,6% AP pentru modelele YOLOv9 mai impauna

Asadar, gradienții programabili PGI permit modelelor impauna și a se scurta să se antreneze mai eficace.

YOLOv9 stabilește o nouă acuratețe de ultimă generație

Combinând îmbunătățirile arhitecturale de la GELAN și îmbunătățirile de antrenament de la PGI, YOLOv9 obține rezultate noi de ultimă generație pentru detectarea obiectelor în curs obiectiv.

Experimentele pe setul de date COCO arată că YOLOv9 depășește versiunile anterioare YOLO, bunaoara și alți detectoare în curs obiectiv bunaoara YOLO-MS, în acuratețe și eficiență:

Câteva aspecte intinzator:

  • YOLOv9-Small depășește YOLO-MS-Small cu 10% mai puțini parametri și calcule
  • YOLOv9-Medium se potrivește cu modelele YOLOv7 mai grele folosind mai puțin de jumătate din resurse
  • YOLOv9-Large depășește YOLOv8-X cu 15% mai puțini parametri și 25% mai puțini FLOP-uri

În mod deosebit, modelele mai a se scurta YOLOv9 depășesc asasi și modelele mai grele de la alte detectoare oricare folosesc pre-antrenament bunaoara RT-DETR-X. În invidie parametrilor de 4 ori mai puțini, YOLOv9-E depășește RT-DETR-X în ceea ce privește precizia.

Aceste rezultate demonstrează eficiența superioară a lui YOLOv9. Îmbunătățirile permit detectarea obiectelor de potop rigoare în mai multe cazuri de aplicare din lumea reală.

Recomandări intinzator privind upgrade-urile YOLOv9

Să recapitulăm imediat câteva dintre actualizările și inovațiile intinzator oricare permit nouar performanță de ultimă generație a lui YOLOv9:

  • Arhitectură optimizată GELAN – Îmbunătățește eficiența parametrilor prin blocuri de agregare flexibile. Astepta scalarea modelelor pentru diferite ținte.
  • Informații de gradient programabile – Oferă gradienți fiabili prin conexiuni reversibile și fuzionare. Îmbunătățește antrenamentul pe toate dimensiunile modelului.
  • Acuratete mai potop cu mai puține resurse – Scurta parametrii și calculele cu 10-15% față de YOLOv8 cu o rigoare mai bună. Astepta o inferență mai eficientă.
  • Rezultate superioare pe toate dimensiunile modelului – Setează o nouă ultimă generație pentru configurații de modele ușoare, medii și impauna. Depășește modelele proeminent antrenate.
  • Aplicabilitate extinsă – Eficiența mai potop a ridica cazurile de aplicare viabile, cum ar fi detectarea în curs obiectiv pe dispozitivele de vârf.

Abordând drept acuratețea, eficiența și aplicabilitatea, YOLOv9 avansează detectarea obiectelor pentru a indeplini diverse a forta din lumea reală. Actualizările oferă o bază solidă pentru viitoare inovații în această posibilitate critică de conceptie computerizată.

Citeşte mai mult

Stiri în tendințe