cung YOLOv9: Një kërcim në zbulimin e objekteve në kohë reale - Unite.AI
Lidhu me ne

Inteligjenca artificiale

YOLOv9: Një hap në zbulimin e objekteve në kohë reale

mm

Publikuar

 on

Zbulimi i objekteve ka parë përparim të shpejtë në vitet e fundit falë të mësuarit e thellë algoritme si YOLO (Ju shikoni vetëm një herë). Përsëritja e fundit, YOLOv9, sjell përmirësime të mëdha në saktësi, efikasitet dhe zbatueshmëri krahasuar me versionet e mëparshme. Në këtë postim, ne do të zhytemi në risitë që e bëjnë YOLOv9 një gjendje të re moderne për zbulimin e objekteve në kohë reale.

Një primer i shpejtë për zbulimin e objekteve

Përpara se të futemi në të rejat me YOLOv9, le të shqyrtojmë shkurtimisht se si funksionon zbulimi i objekteve. Qëllimi i zbulimit të objekteve është të identifikojë dhe lokalizojë objektet brenda një imazhi, si makina, njerëz ose kafshë. Është një aftësi kyçe për aplikacione si makinat vetë-drejtuese, sistemet e mbikëqyrjes dhe kërkimi i imazheve.

Detektori merr një imazh si hyrje dhe nxjerr kutitë kufizuese rreth objekteve të zbuluara, secila me një etiketë klase të lidhur. Të dhënat e njohura si MS COCO ofrojnë mijëra imazhe të etiketuara për të trajnuar dhe vlerësuar këto modele.

Ekzistojnë dy mënyra kryesore për zbulimin e objekteve:

  • Detektorë me dy faza si Faster R-CNN së pari gjeneron propozime rajonale, më pas klasifikon dhe përsosi kufijtë e secilit rajon. Ata priren të jenë më të sakta, por më të ngadalta.
  • Detektorë me një fazë si YOLO aplikoni një model direkt mbi imazhin në një kalim të vetëm. Ata shkëmbejnë njëfarë saktësie me kohë përfundimi shumë të shpejta.

YOLO ishte pionier i qasjes me një fazë. Le të shohim se si ka evoluar në versione të shumta për të përmirësuar saktësinë dhe efikasitetin.

Rishikimi i versioneve të mëparshme YOLO

Familja e modeleve YOLO (You Only Look Once) ka qenë në ballë të zbulimit të shpejtë të objekteve që nga publikimi i versionit origjinal në 2016. Këtu është një përmbledhje e shpejtë se si YOLO ka përparuar gjatë përsëritjeve të shumta:

  • YOLOv1 propozoi një model të unifikuar për të parashikuar kutitë kufizuese dhe probabilitetet e klasave drejtpërdrejt nga imazhet e plota në një kalim të vetëm. Kjo e bëri atë jashtëzakonisht të shpejtë në krahasim me modelet e mëparshme me dy faza.
  • YOLOv2 u përmirësua me origjinalin duke përdorur normalizimin e grupit për stabilitet më të mirë, ankorimin e kutive në shkallë të ndryshme dhe raporte të ndryshme për të zbuluar madhësi të shumta dhe një sërë optimizimesh të tjera.
  • YOLOv3 shtoi një nxjerrës të ri funksionesh të quajtur Darknet-53 me më shumë shtresa dhe shkurtore midis tyre, duke përmirësuar më tej saktësinë.
  • YOLOv4 Ide të kombinuara nga detektorë të tjerë të objekteve dhe modele të segmentimit për të rritur saktësinë edhe më të lartë duke ruajtur ende konkluzionet e shpejta.
  • YOLOv5 rishkrua plotësisht YOLOv4 në PyTorch dhe shtoi një shtyllë të re të nxjerrjes së veçorive të quajtur CSPDarknet së bashku me disa përmirësime të tjera.
  • YOLOv6 vazhdoi të optimizonte arkitekturën dhe procesin e trajnimit, me modele të para-trajnuara në grupe të dhënash të mëdha të jashtme për të rritur më tej performancën.

Pra, në përmbledhje, versionet e mëparshme YOLO arritën saktësi më të lartë përmes përmirësimeve në arkitekturën e modelit, teknikat e trajnimit dhe para-trajnimin. Por ndërsa modelet bëhen më të mëdha dhe më komplekse, shpejtësia dhe efikasiteti fillojnë të vuajnë.

Nevoja për efikasitet më të mirë

Shumë aplikacione kërkojnë zbulimin e objekteve për të ekzekutuar në kohë reale në pajisje me burime të kufizuara llogaritëse. Ndërsa modelet bëhen më të mëdha dhe më intensive nga ana llogaritëse, ato bëhen jopraktike për t'u vendosur.

Për shembull, një makinë që drejton vetë duhet të zbulojë objekte me shpejtësi të lartë kornizë duke përdorur procesorë brenda automjetit. Një kamera sigurie duhet të ekzekutojë zbulimin e objekteve në furnizimin e saj të videos brenda harduerit të saj të integruar. Telefonat dhe pajisjet e tjera të konsumit kanë kufizime shumë të forta të energjisë dhe termike.

Versionet e fundit YOLO marrin saktësi të lartë me një numër të madh parametrash dhe operacione të shumëfishimit të shtimit (FLOPs). Por kjo vjen me koston e shpejtësisë, madhësisë dhe efikasitetit të energjisë.

Për shembull, YOLOv5-L kërkon mbi 100 miliardë FLOP për të përpunuar një imazh të vetëm 1280×1280. Kjo është shumë e ngadaltë për shumë raste të përdorimit në kohë reale. Trendi i modeleve gjithnjë e më të mëdha rrit gjithashtu rrezikun e përshtatjes së tepërt dhe e bën më të vështirë përgjithësimin.

Pra, për të zgjeruar zbatueshmërinë e zbulimit të objekteve, ne kemi nevojë për mënyra për të përmirësuar efikasitetin - duke marrë saktësi më të mirë me më pak parametra dhe llogaritje. Le të shohim teknikat e përdorura në YOLOv9 për të trajtuar këtë sfidë.

YOLOv9 – Saktësi më e mirë me më pak burime

Studiuesit pas YOLOv9 u fokusuan në përmirësimin e efikasitetit për të arritur performancën në kohë reale në një gamë më të gjerë pajisjesh. Ata prezantuan dy risi kryesore:

  1. Një model i ri i arkitekturës i quajtur Rrjeti i përgjithshëm efikas i grumbullimit të shtresave (GELAN) që maksimizon saktësinë duke minimizuar parametrat dhe FLOP-et.
  2. Një teknikë stërvitore e quajtur Informacioni i gradientit të programueshëm (PGI) që siguron gradientë mësimi më të besueshëm, veçanërisht për modelet më të vogla.

Le të shohim se si secili prej këtyre përparimeve ndihmon në përmirësimin e efikasitetit.

Arkitekturë më efikase me GELAN

Vetë arkitektura e modelit është kritike për balancimin e saktësisë ndaj shpejtësisë dhe përdorimit të burimeve gjatë përfundimit. Rrjeti nervor ka nevojë për thellësi dhe gjerësi të mjaftueshme për të kapur veçoritë përkatëse nga imazhet hyrëse. Por shumë shtresa ose filtra çojnë në modele të ngadalta dhe të fryra.

Autorët projektuan GELAN posaçërisht për të shtrydhur saktësinë maksimale nga arkitektura më e vogël e mundshme.

GELAN përdor dy blloqe kryesore ndërtimi të grumbulluara së bashku:

  • Blloqe efikase të grumbullimit të shtresave – Këto transformime agregate nëpër degë të shumta të rrjetit për të kapur funksione në shumë shkallë në mënyrë efikase.
  • Blloqe llogaritëse – Blloqet CSPNet ndihmojnë në përhapjen e informacionit nëpër shtresa. Çdo bllok mund të zëvendësohet bazuar në kufizimet llogaritëse.

Duke balancuar dhe kombinuar me kujdes këto blloqe, GELAN arrin një pikë të ëmbël midis performancës, parametrave dhe shpejtësisë. E njëjta arkitekturë modulare mund të shkallëzohet lart ose poshtë në madhësi të ndryshme modelesh dhe pajisjesh.

Eksperimentet treguan se GELAN përshtatet më shumë performancë në modele më të vogla në krahasim me arkitekturat e mëparshme YOLO. Për shembull, GELAN-Small me parametra 7M e tejkaloi parametrin 11M YOLOv7-Nano. Dhe GELAN-Medium me parametra 20M i kryer në të njëjtin nivel me modelet e mesme YOLOv7 që kërkojnë parametra 35-40M.

Pra, duke projektuar një arkitekturë të parametrizuar të optimizuar posaçërisht për efikasitet, GELAN lejon modelet të funksionojnë më shpejt dhe në pajisje me më shumë burime të kufizuara. Më pas do të shohim se si PGI i ndihmon ata të trajnohen më mirë gjithashtu.

Trajnim më i mirë me informacionin e gradientit të programueshëm (PGI)

Trajnimi model është po aq i rëndësishëm për të maksimizuar saktësinë me burime të kufizuara. Autorët e YOLOv9 identifikuan probleme të trajnimit të modeleve më të vogla të shkaktuara nga informacioni i gradientit jo të besueshëm.

gradients përcaktoni se sa janë përditësuar peshat e një modeli gjatë stërvitjes. Gradientet e zhurmshme ose mashtruese çojnë në konvergjencë të dobët. Kjo çështje bëhet më e theksuar për rrjetet më të vogla.

Teknika e mbikëqyrje të thellë e trajton këtë duke futur degë shtesë anësore me humbje për të përhapur sinjalin më të mirë të gradientit nëpër rrjet. Por ka tendencë të prishet dhe të shkaktojë divergjencë për modelet më të vogla me peshë të lehtë.

YOLOv9: Mësoni atë që dëshironi të mësoni duke përdorur informacionin e gradientit të programueshëm

YOLOv9: Mësoni atë që dëshironi të mësoni duke përdorur informacionin e gradientit të programueshëm https://arxiv.org/abs/2402.13616

Për të kapërcyer këtë kufizim, YOLOv9 prezanton Informacioni i gradientit të programueshëm (PGI). PGI ka dy komponentë kryesorë:

  • Degë të kthyeshme ndihmëse – Këto ofrojnë gradientë më të pastër duke mbajtur lidhje të kthyeshme me hyrjen duke përdorur blloqe si RevCols.
  • Integrimi i gradientit me shumë nivele – Kjo shmang divergjencën nga ndërhyrja e degëve të ndryshme anësore. Ai kombinon gradientët nga të gjitha degët përpara se të kthehet në modelin kryesor.

Duke gjeneruar gradientë më të besueshëm, PGI ndihmon modelet më të vogla të trajnohen po aq efektivisht sa ato më të mëdhatë:

Eksperimentet treguan saktësinë e përmirësuar të PGI në të gjitha madhësitë e modeleve, veçanërisht konfigurimet më të vogla. Për shembull, ai rriti rezultatet e AP të YOLOv9-Small me 0.1-0.4% mbi bazën GELAN-Small. Fitimet ishin edhe më të rëndësishme për modelet më të thella si YOLOv9-E me 55.6% mAP.

Pra, PGI mundëson që modelet më të vogla dhe efikase të trajnohen në nivele më të larta saktësie që më parë mund të arriheshin vetëm nga modelet e mbi-parametizuara.

YOLOv9 vendos teknologjinë e re për efikasitet

Duke kombinuar përparimet arkitekturore të GELAN me përmirësimet e trajnimit nga PGI, YOLOv9 arrin efikasitet dhe performancë të paparë:

  • Krahasuar me versionet e mëparshme YOLO, YOLOv9 merr saktësi më e mirë me 10-15% më pak parametra dhe 25% më pak llogaritje. Kjo sjell përmirësime të mëdha në shpejtësi dhe aftësi në të gjitha madhësitë e modeleve.
  • YOLOv9 tejkalon detektorët e tjerë në kohë reale si YOLO-MS dhe RT-DETR për sa i përket efikasiteti i parametrave dhe FLOPs. Kërkon shumë më pak burime për të arritur një nivel të caktuar të performancës.
  • Modelet më të vogla YOLOv9 madje mundin modelet më të mëdha të paratrajnuara si RT-DETR-X. Pavarësisht përdorimit 36% më pak parametra, YOLOv9-E arrin më mirë 55.6% AP përmes arkitekturave më efikase.

Pra, duke adresuar efikasitetin në nivelet e arkitekturës dhe trajnimit, YOLOv9 vendos një gjendje të re moderne për maksimizimin e performancës brenda burimeve të kufizuara.

GELAN – Arkitekturë e optimizuar për efikasitet

YOLOv9 prezanton një arkitekturë të re të quajtur Rrjeti i Përgjithshëm Efiçent i Agregimit të Shtresave (GELAN) që maksimizon saktësinë brenda një buxheti minimal të parametrave. Ai bazohet në modelet e mëparshme YOLO, por optimizon komponentët e ndryshëm posaçërisht për efikasitet.

https://arxiv.org/abs/2402.13616

YOLOv9: Mësoni atë që dëshironi të mësoni duke përdorur informacionin e gradientit të programueshëm
https://arxiv.org/abs/2402.13616

Sfondi në CSPNet dhe ELAN

Versionet e fundit të YOLO që nga v5 kanë përdorur shtylla kurrizore të bazuara në Rrjetin e Pjesshëm Ndër-Stage (CSPNet) për efikasitet të përmirësuar. CSPNet lejon që hartat e veçorive të grumbullohen nëpër degët e rrjetit paralel duke shtuar shpenzime minimale:

Kjo është më efikase sesa thjesht grumbullimi i shtresave në mënyrë serike, gjë që shpesh çon në llogaritje të tepërta dhe mbi-parametrizim.

YOLOv7 përmirësoi CSPNet në Rrjetin e grumbullimit të shtresave efikase (ELAN), i cili thjeshtoi strukturën e bllokut:

ELAN hoqi lidhjet e shkurtoreve midis shtresave në favor të një nyje grumbullimi në dalje. Ky parametër përmirësoi më tej dhe efikasitetin e FLOPs.

Përgjithësimi i ELAN-it për efikasitet fleksibël

Autorët e përgjithësuan ELAN edhe më tej për të krijuar GELAN, shtylla kurrizore e përdorur në YOLOv9. GELAN bëri modifikime kryesore për të përmirësuar fleksibilitetin dhe efikasitetin:

  • Blloqe llogaritëse të këmbyeshme – ELAN-i i mëparshëm kishte shtresa të fiksuara konvolucionale. GELAN lejon zëvendësimin e çdo blloku llogaritës si ResNets ose CSPNet, duke ofruar më shumë opsione arkitekturore.
  • Parametizimi në thellësi – Thellësia e ndara e bllokut për degën kryesore kundrejt degës së grumbulluesit thjeshton përdorimin e saktë të burimeve.
  • Performancë e qëndrueshme në të gjithë konfigurimet – GELAN ruan saktësinë me lloje dhe thellësi të ndryshme blloku, duke lejuar shkallëzim fleksibël.

Këto ndryshime e bëjnë GELAN një shtyllë të fortë por të konfigurueshme për të maksimizuar efikasitetin:

Në eksperimente, modelet GELAN ia kalonin vazhdimisht arkitekturave të mëparshme YOLO në saktësinë për parametër:

  • GELAN-Small me parametra 7M mundi parametrat 7M të YOLOv11-Nano
  • GELAN-Medium përputhen me modelet më të rënda YOLOv7 të mesme

Pra, GELAN ofron një shtyllë të optimizuar për të shkallëzuar YOLO në objektiva të ndryshëm të efikasitetit. Më pas do të shohim se si PGI i ndihmon ata të trajnohen më mirë.

PGI – Trajnim i përmirësuar për të gjitha madhësitë e modeleve

Ndërsa zgjedhjet e arkitekturës ndikojnë në efikasitetin në kohën e përfundimit, procesi i trajnimit gjithashtu ndikon në përdorimin e burimeve të modelit. YOLOv9 përdor një teknikë të re të quajtur Informacioni i Gradientit të Programueshëm (PGI) për të përmirësuar trajnimin në madhësi dhe kompleksitete të ndryshme të modeleve.

Problemi i gradientëve jo të besueshëm

Gjatë trajnimit, një funksion i humbjes krahason rezultatet e modelit me etiketat e vërteta të tokës dhe llogarit një gradient gabimi për të përditësuar parametrat. Gradiente të zhurmshme ose mashtruese çojnë në konvergjencë dhe efikasitet të dobët.

Rrjetet shumë të thella e përkeqësojnë këtë përmes ngushtica e informacionit – gradientët nga shtresat e thella korruptohen nga sinjalet e humbura ose të ngjeshura.

Mbikëqyrje e thellë ndihmon duke futur degë anësore ndihmëse me humbje për të siguruar gradientë më të pastër. Por shpesh prishet për modelet më të vogla, duke shkaktuar interferencë dhe divergjenca midis degëve të ndryshme.

Pra, ne kemi nevojë për një mënyrë për të siguruar gradientë të besueshëm që funksionojnë në të gjitha madhësitë e modeleve, veçanërisht ato më të voglat.

Prezantimi i Informacionit të Gradientit të Programueshëm (PGI)

Për të adresuar gradientët jo të besueshëm, YOLOv9 propozon Informacione të Gradientit të Programueshëm (PGI). PGI ka dy komponentë kryesorë të krijuar për të përmirësuar cilësinë e gradientit:

1. Degë të kthyeshme ndihmëse

Degët shtesë ofrojnë lidhjet e kthyeshme kthehuni në hyrje duke përdorur blloqe si RevCols. Kjo ruan gradientë të pastër duke shmangur pengesën e informacionit.

2. Integrimi i gradientit me shumë nivele

Një bllok shkrirje grumbullon gradient nga të gjitha degët përpara se të kthehet në modelin kryesor. Kjo parandalon divergjencën midis degëve.

Duke gjeneruar gradientë më të besueshëm, PGI përmirëson konvergjencën dhe efikasitetin e trajnimit në të gjitha madhësitë e modeleve:

  • Modele të lehta përfitojnë nga mbikëqyrja e thellë që nuk mund ta përdornin më parë
  • Modele më të mëdha merrni gradientë më të pastër duke mundësuar përgjithësim më të mirë

Eksperimentet treguan saktësi të rritur PGI për konfigurimet e vogla dhe të mëdha YOLOv9 mbi bazën GELAN:

  • +0.1-0.4% AP për YOLOv9-Small
  • +0.5-0.6% AP për modelet më të mëdha YOLOv9

Pra, gradientët e programueshëm të PGI mundësojnë që modelet e mëdha dhe të vogla të trajnohen në mënyrë më efikase.

YOLOv9 vendos saktësi të re më të fundit

Duke kombinuar përmirësimet arkitekturore nga GELAN dhe përmirësimet e trajnimit nga PGI, YOLOv9 arrin rezultate të reja më të avancuara për zbulimin e objekteve në kohë reale.

Eksperimentet në grupin e të dhënave COCO tregojnë se YOLOv9 tejkalon versionet e mëparshme YOLO, si dhe detektorë të tjerë në kohë reale si YOLO-MS, në saktësi dhe efikasitet:

Disa pika kryesore:

  • YOLOv9-Small tejkalon YOLO-MS-Small me 10% më pak parametra dhe llogaritje
  • YOLOv9-Medium përputhet me modelet më të rënda YOLOv7 duke përdorur më pak se gjysmën e burimeve
  • YOLOv9-Large tejkalon YOLOv8-X me 15% më pak parametra dhe 25% më pak FLOP

Çuditërisht, modelet më të vogla YOLOv9 tejkalojnë edhe modelet më të rënda nga detektorë të tjerë që përdorin para-stërvitje si RT-DETR-X. Pavarësisht 4 herë më pak parametra, YOLOv9-E tejkalon RT-DETR-X në saktësi.

Këto rezultate tregojnë efikasitetin më të lartë të YOLOv9. Përmirësimet mundësojnë zbulimin e objekteve me saktësi të lartë në më shumë raste të përdorimit të botës reale.

Marrëdhëniet kryesore në përmirësimet e YOLOv9

Le të përmbledhim shpejt disa nga përmirësimet dhe risitë kryesore që mundësojnë performancën e re më të avancuar të YOLOv9:

  • Arkitektura e optimizuar GELAN – Përmirëson efikasitetin e parametrave përmes blloqeve fleksibël të grumbullimit. Lejon shkallëzimin e modeleve për objektiva të ndryshëm.
  • Informacion i gradientit të programueshëm – Siguron gradientë të besueshëm përmes lidhjeve të kthyeshme dhe shkrirjes. Përmirëson trajnimin në të gjitha madhësitë e modeleve.
  • Saktësi më e madhe me më pak burime – Redukton parametrat dhe llogaritjet me 10-15% mbi YOLOv8 me saktësi më të mirë. Mundëson përfundime më efikase.
  • Rezultate superiore në përmasat e modeleve – Përcakton teknologjinë e re për konfigurimin e modeleve të lehta, të mesme dhe të mëdha. I kalon modelet shumë të trajnuara paraprakisht.
  • Zbatueshmëria e zgjeruar – Efikasiteti më i lartë zgjeron rastet e përdorimit të zbatueshëm, si zbulimi në kohë reale në pajisjet e skajshme.

Duke adresuar drejtpërdrejt saktësinë, efikasitetin dhe zbatueshmërinë, YOLOv9 e çon përpara zbulimin e objekteve për të përmbushur nevojat e ndryshme të botës reale. Përmirësimet ofrojnë një bazë të fortë për inovacionin e ardhshëm në këtë aftësi kritike të vizionit kompjuterik.

Kam kaluar pesë vitet e fundit duke u zhytur në botën magjepsëse të Mësimit të Makinerisë dhe Mësimit të Thellë. Pasioni dhe ekspertiza ime më kanë shtyrë të kontribuoj në mbi 50 projekte të ndryshme inxhinierike softuerike, me një fokus të veçantë në AI/ML. Kurioziteti im i vazhdueshëm më ka tërhequr gjithashtu drejt Përpunimit të Gjuhëve Natyrore, një fushë që mezi pres ta eksploroj më tej.