stubbur YOLOv9: A Leap in Real-Time Object Detection - Unite.AI
Tengja við okkur

Artificial Intelligence

YOLOv9: Stökk í rauntíma hlutgreiningu

mm

Útgefið

 on

Hlutagreining hefur tekið hröðum framförum á undanförnum árum þökk sé djúpt nám reiknirit eins og YOLO (You Only Look Once). Nýjasta endurtekningin, YOLOv9, færir miklar endurbætur á nákvæmni, skilvirkni og notagildi yfir fyrri útgáfur. Í þessari færslu munum við kafa ofan í nýjungarnar sem gera YOLOv9 að nýju nýjustu tækni fyrir rauntíma hlutgreiningu.

Fljótur grunnur á hlutgreiningu

Áður en farið er inn í það sem er nýtt með YOLOv9 skulum við rifja upp stuttlega hvernig hlutgreining virkar. Markmið hlutgreiningar er að bera kennsl á og staðsetja hluti í mynd, eins og bíla, fólk eða dýr. Það er lykilmöguleiki fyrir forrit eins og sjálfkeyrandi bíla, eftirlitskerfi og myndaleit.

Skynjarinn tekur mynd sem inntak og gefur út afmarkandi reiti utan um greinda hluti, hver með tilheyrandi flokksmerki. Vinsæl gagnasöfn eins og MS COCO veita þúsundir merktra mynda til að þjálfa og meta þessi líkön.

Það eru tvær meginaðferðir til að greina hluti:

  • Tveggja þrepa skynjarar eins og Faster R-CNN búa fyrst til svæðistillögur, flokka síðan og betrumbæta mörk hvers svæðis. Þeir hafa tilhneigingu til að vera nákvæmari en hægari.
  • Eins þrepa skynjarar eins og YOLO notaðu líkan beint yfir myndina í einni umferð. Þeir skipta út einhverri nákvæmni fyrir mjög hraðan ályktunartíma.

YOLO var brautryðjandi eins þrepa nálgunarinnar. Við skulum skoða hvernig það hefur þróast yfir margar útgáfur til að bæta nákvæmni og skilvirkni.

Yfirlit yfir fyrri YOLO útgáfur

YOLO (You Only Look Once) fyrirsætafjölskyldan hefur verið í fararbroddi í hraðri hlutgreiningu síðan upprunalega útgáfan var gefin út árið 2016. Hér er fljótlegt yfirlit yfir hvernig YOLO hefur þróast yfir margar endurtekningar:

  • YOLOv1 lagði til sameinað líkan til að spá fyrir um afmörkunarkassa og flokkslíkur beint úr heildarmyndum í einni umferð. Þetta gerði það mjög hratt miðað við fyrri tveggja þrepa gerðir.
  • YOLOv2 endurbætt upprunalega með því að nota batch normalization fyrir betri stöðugleika, festa kassa á ýmsum mælikvarða og stærðarhlutföllum til að greina margar stærðir og margs konar aðrar fínstillingar.
  • YOLOv3 bætti við nýjum eiginleikum sem kallast Darknet-53 með fleiri lögum og flýtileiðum á milli þeirra, sem eykur nákvæmni enn frekar.
  • YOLOv4 sameinuð hugmyndir frá öðrum hlutskynjarum og skiptingarlíkönum til að ýta nákvæmni enn meiri en samt sem áður viðhalda hraðri ályktun.
  • YOLOv5 endurskrifaði YOLOv4 að fullu í PyTorch og bætti við nýjum eiginleika útdráttarstoð sem kallast CSPDarknet ásamt nokkrum öðrum endurbótum.
  • YOLOv6 hélt áfram að fínstilla arkitektúrinn og þjálfunarferlið, með líkönum sem voru forþjálfuð á stórum ytri gagnasöfnum til að auka árangur enn frekar.

Svo í stuttu máli náðu fyrri YOLO útgáfur meiri nákvæmni með endurbótum á líkanaarkitektúr, þjálfunartækni og forþjálfun. En eftir því sem módelin verða stærri og flóknari fara hraðinn og skilvirknin að þjást.

Þörfin fyrir betri skilvirkni

Mörg forrit krefjast hlutgreiningar til að keyra í rauntíma á tækjum með takmarkaða tölvuauðlindir. Eftir því sem líkön verða stærri og reikningsfrekari verða þau óhagkvæm í notkun.

Til dæmis þarf sjálfkeyrandi bíll að greina hluti á háum rammahraða með því að nota örgjörva inni í farartækinu. Öryggismyndavél þarf að keyra hlutgreiningu á myndstraumi sínu innan eigin innbyggða vélbúnaðar. Símar og önnur neytendatæki hafa mjög þéttar afl- og hitaþvinganir.

Nýlegar YOLO útgáfur fá mikla nákvæmni með miklum fjölda breytum og margföldunaraðgerðum (FLOPs). En þetta kemur á kostnað hraða, stærðar og orkunýtingar.

Til dæmis þarf YOLOv5-L yfir 100 milljarða FLOP til að vinna úr einni 1280×1280 mynd. Þetta er of hægt fyrir mörg rauntíma notkunartilvik. Þróun sífellt stærri módel eykur einnig hættuna á offitun og gerir það erfiðara að alhæfa.

Svo til að auka notagildi hlutgreiningar þurfum við leiðir til að bæta skilvirkni - fá betri nákvæmni með færri breytum og útreikningum. Við skulum skoða tæknina sem notuð er í YOLOv9 til að takast á við þessa áskorun.

YOLOv9 – Betri nákvæmni með minna fjármagni

Rannsakendurnir á bak við YOLOv9 einbeittu sér að því að bæta skilvirkni til að ná rauntíma frammistöðu á fjölbreyttara úrvali tækja. Þeir kynntu tvær lykil nýjungar:

  1. Ný módelarkitektúr sem heitir General Efficient Layer Aggregation Network (GELAN) sem hámarkar nákvæmni en lágmarkar færibreytur og FLOPs.
  2. Þjálfunartækni sem kallast Forritanlegar hallaupplýsingar (PGI) sem veitir áreiðanlegri námshalla, sérstaklega fyrir smærri gerðir.

Við skulum skoða hvernig hver af þessum framförum hjálpar til við að bæta skilvirkni.

Skilvirkari arkitektúr með GELAN

Líkanið sjálft er mikilvægt til að jafna nákvæmni á móti hraða og auðlindanotkun meðan á ályktun stendur. Tauganetið þarf nægilega dýpt og breidd til að fanga viðeigandi eiginleika úr inntaksmyndunum. En of mörg lög eða síur leiða til hægra og uppblásinna líkana.

Höfundarnir hönnuðu GELAN sérstaklega til að kreista hámarks nákvæmni úr minnsta mögulega arkitektúr.

GELAN notar tvær aðalbyggingareiningar sem eru staflaðar saman:

  • Duglegar lagsöfnunarblokkir - Þessar samanlagðar umbreytingar yfir margar netgreinar til að fanga fjölskala eiginleika á skilvirkan hátt.
  • Reikniblokkir - CSPNet blokkir hjálpa til við að dreifa upplýsingum á milli laga. Hægt er að skipta út hvaða blokk sem er á grundvelli reiknitakmarkana.

Með því að stilla vandlega jafnvægi og sameina þessar blokkir nær GELAN sætinu á milli frammistöðu, breytu og hraða. Sami einingaarkitektúrinn getur skalast upp eða niður í mismunandi stærðum gerða og vélbúnaðar.

Tilraunir sýndu að GELAN passar meiri frammistöðu í smærri gerðir samanborið við fyrri YOLO arkitektúr. Til dæmis, GELAN-Small með 7M færibreytur stóð sig betur en 11M færibreytan YOLOv7-Nano. Og GELAN-Medium með 20M færibreytum framkvæmt á pari við YOLOv7 meðalstór gerðir sem þurfa 35-40M færibreytur.

Þannig að með því að hanna breytusniðinn arkitektúr sem er sérstaklega fínstilltur fyrir skilvirkni, gerir GELAN módel kleift að keyra hraðar og á tækjum sem eru takmarkaðar af auðlindum. Næst munum við sjá hvernig PGI hjálpar þeim að æfa betur líka.

Betri þjálfun með forritanlegum hallaupplýsingum (PGI)

Líkanþjálfun er jafn mikilvæg til að hámarka nákvæmni með takmörkuðu fjármagni. YOLOv9 höfundarnir bentu á vandamál sem þjálfa smærri gerðir af völdum óáreiðanlegra hallaupplýsinga.

Yfirlit ákvarða hversu mikið þyngd líkans er uppfærð meðan á þjálfun stendur. Hávær eða villandi halli leiðir til lélegrar samleitni. Þetta vandamál verður meira áberandi fyrir smærri net.

Tækni djúpt eftirlit tekur á þessu með því að kynna fleiri hliðargreinar með tapi til að dreifa betra hallamerki í gegnum netið. En það hefur tilhneigingu til að brjóta niður og valda mismunun fyrir smærri léttar gerðir.

YOLOv9: Lærðu það sem þú vilt læra með því að nota forritanlegar hallaupplýsingar

YOLOv9: Lærðu það sem þú vilt læra með því að nota forritanlegar hallaupplýsingar https://arxiv.org/abs/2402.13616

Til að sigrast á þessari takmörkun kynnir YOLOv9 Forritanlegar hallaupplýsingar (PGI). PGI hefur tvo meginþætti:

  • Afturkræfar hjálpargreinar - Þetta veita hreinni halla með því að viðhalda afturkræfum tengingum við inntakið með því að nota kubba eins og RevCols.
  • Multi-level halli samþætting – Þetta kemur í veg fyrir frávik frá mismunandi hliðargreinum sem truflar. Það sameinar halla frá öllum greinum áður en það fer aftur í aðallíkanið.

Með því að búa til áreiðanlegri halla, hjálpar PGI smærri gerðum að þjálfa sig á jafn áhrifaríkan hátt og stærri:

Tilraunir sýndu PGI bætta nákvæmni í öllum gerðum, sérstaklega smærri stillingum. Til dæmis hækkaði það AP stig YOLOv9-Small um 0.1-0.4% yfir grunnlínu GELAN-Small. Hagnaðurinn var enn mikilvægari fyrir dýpri gerðir eins og YOLOv9-E við 55.6% mAP.

Þannig að PGI gerir smærri, skilvirkum líkönum kleift að þjálfa sig upp í meiri nákvæmni sem áður var aðeins hægt að ná með líkönum sem voru of breytilegar.

YOLOv9 setur nýja nýjustu tækni fyrir skilvirkni

Með því að sameina byggingarfræðilegar framfarir GELAN og þjálfunarbæturnar frá PGI, nær YOLOv9 áður óþekktri skilvirkni og frammistöðu:

  • Í samanburði við fyrri YOLO útgáfur fær YOLOv9 betri nákvæmni með 10-15% færri breytum og 25% færri útreikningum. Þetta hefur í för með sér miklar endurbætur á hraða og getu í tegundastærðum.
  • YOLOv9 fer fram úr öðrum rauntímaskynjara eins og YOLO-MS og RT-DETR hvað varðar skilvirkni breytu og FLOPs. Það þarf mun færri fjármagn til að ná tilteknu frammistöðustigi.
  • Minni YOLOv9 gerðir slá meira að segja út stærri forþjálfaðar gerðir eins og RT-DETR-X. Þrátt fyrir að nota 36% færri breytur, YOLOv9-E nær betri 55.6% AP með skilvirkari arkitektúr.

Þannig að með því að takast á við skilvirkni á arkitektúr og þjálfunarstigum, setur YOLOv9 nýja nýjustu tækni til að hámarka frammistöðu innan takmarkaðs fjármagns.

GELAN – Bjartsýni arkitektúr fyrir skilvirkni

YOLOv9 kynnir nýjan arkitektúr sem kallast General Efficient Layer Aggregation Network (GELAN) sem hámarkar nákvæmni innan lágmarks breytu fjárhagsáætlunar. Það byggir ofan á fyrri YOLO módel en fínstillir hina ýmsu íhluti sérstaklega fyrir skilvirkni.

https://arxiv.org/abs/2402.13616

YOLOv9: Lærðu það sem þú vilt læra með því að nota forritanlegar hallaupplýsingar
https://arxiv.org/abs/2402.13616

Bakgrunnur á CSPNet og ELAN

Nýlegar YOLO útgáfur síðan v5 hafa notað burðarás byggt á Cross-Stage Partial Network (CSPNet) til að bæta skilvirkni. CSPNet gerir kleift að safna saman eiginleikum yfir samhliða netútibú á meðan lágmarkskostnaður er bætt við:

Þetta er skilvirkara en bara að stafla lögum í röð, sem oft leiðir til óþarfa útreikninga og ofstillingar.

YOLOv7 uppfærði CSPNet í Efficient Layer Aggregation Network (ELAN), sem einfaldaði blokkarbygginguna:

ELAN fjarlægði flýtileiðartengingar á milli laga í þágu samsöfnunarhnút við úttakið. Þetta bætti breytu og skilvirkni FLOPs enn frekar.

Alhæfing ELAN fyrir sveigjanlega skilvirkni

Höfundarnir alhæfðu ELAN enn frekar til að búa til GELAN, burðarásin sem notuð er í YOLOv9. GELAN gerði helstu breytingar til að bæta sveigjanleika og skilvirkni:

  • Skiptanlegir reiknikubbar – Fyrra ELAN var með föstum snúningslögum. GELAN gerir kleift að skipta út hvaða reikniblokk sem er eins og ResNets eða CSPNet, sem gefur fleiri byggingarvalkosti.
  • Dýptarvísun breytu – Aðskilin blokkadýpt fyrir aðalútibú vs safngrein einfaldar fínstillingu auðlindanotkunar.
  • Stöðug frammistaða yfir stillingar - GELAN viðheldur nákvæmni með mismunandi gerðum blokka og dýpt, sem gerir sveigjanlegan mælikvarða kleift.

Þessar breytingar gera GELAN að sterkum en stillanlegum burðarás til að hámarka skilvirkni:

Í tilraunum voru GELAN líkön stöðugt betri en fyrri YOLO arkitektúr hvað varðar nákvæmni á hverja færibreytu:

  • GELAN-Lítið með 7M færibreytur slá 7M færibreytur YOLOv11-Nano
  • GELAN-Medium passaði við þyngri YOLOv7 meðalstór gerðir

Þannig að GELAN veitir hámarks stoð til að skala YOLO yfir mismunandi skilvirknimarkmið. Næst munum við sjá hvernig PGI hjálpar þeim að æfa betur.

PGI – Bætt þjálfun fyrir allar módelstærðir

Þó að arkitektúrval hafi áhrif á skilvirkni á ályktunartíma, hefur þjálfunarferlið einnig áhrif á auðlindanotkun líkana. YOLOv9 notar nýja tækni sem kallast Programmable Gradient Information (PGI) til að bæta þjálfun í mismunandi gerðum og margbreytileika.

Vandamálið með óáreiðanlegum halla

Meðan á þjálfun stendur, ber tapfallaúttak líkansins saman við sannleiksmerki og reiknar út villuhalla til að uppfæra færibreytur. Hávær eða villandi halli leiða til lélegrar samleitni og skilvirkni.

Mjög djúp net eykur þetta í gegnum upplýsinga flöskuháls – hallar frá djúpum lögum eru skemmdar af týndum eða þjöppuðum merkjum.

Djúpt eftirlit hjálpar með því að kynna auka hliðargreinar með tapi til að veita hreinni halla. En það oft bilar fyrir smærri gerðir, sem veldur truflunum og mismun milli mismunandi greina.

Þannig að við þurfum leið til að bjóða upp á áreiðanlega halla sem virka í öllum gerðum, sérstaklega minni.

Við kynnum forritanlegar hallaupplýsingar (PGI)

Til að takast á við óáreiðanlega halla, leggur YOLOv9 til forritanlegar hallaupplýsingar (PGI). PGI hefur tvo meginþætti sem eru hannaðir til að bæta halla gæði:

1. Afturkræfar hjálpargreinar

Fleiri útibú veita afturkræfar tengingar aftur í inntakið með því að nota kubba eins og RevCols. Þetta viðheldur hreinum halla og forðast flöskuháls upplýsinga.

2. Multi-level halli sameining

Samrunablokk safnar saman halla frá öllum greinum áður en hún fer aftur í aðallíkanið. Þetta kemur í veg fyrir mismun milli útibúa.

Með því að búa til áreiðanlegri halla, bætir PGI samruna þjálfunar og skilvirkni í öllum gerðum:

  • Léttar gerðir njóta góðs af djúpu eftirliti sem þeir gátu ekki notað áður
  • Stærri gerðir fá hreinni halla sem gerir betri alhæfingu

Tilraunir sýndu PGI aukna nákvæmni fyrir litlar og stórar YOLOv9 stillingar yfir grunnlínu GELAN:

  • +0.1-0.4% AP fyrir YOLOv9-Small
  • +0.5-0.6% AP fyrir stærri YOLOv9 gerðir

Þannig að forritanlegir hallar PGI gera stórum og smáum gerðum kleift að þjálfa á skilvirkari hátt.

YOLOv9 setur nýja háþróaða nákvæmni

Með því að sameina endurbætur á byggingarlist frá GELAN og þjálfunarauka frá PGI, nær YOLOv9 nýjum nýjustu niðurstöðum fyrir rauntíma hlutgreiningu.

Tilraunir á COCO gagnapakkanum sýna að YOLOv9 fer fram úr fyrri YOLO útgáfum, sem og öðrum rauntíma skynjara eins og YOLO-MS, í nákvæmni og skilvirkni:

Nokkrir helstu hápunktar:

  • YOLOv9-Small fer yfir YOLO-MS-Small með 10% færri breytum og útreikningum
  • YOLOv9-Medium passar við þyngri YOLOv7 gerðir sem nota minna en helming auðlindanna
  • YOLOv9-Large er betri en YOLOv8-X með 15% færri breytur og 25% færri FLOPs

Merkilegt nokk eru smærri YOLOv9 gerðir jafnvel betri en þyngri gerðir frá öðrum skynjara sem nota forþjálfun eins og RT-DETR-X. Þrátt fyrir 4x færri færibreytur er YOLOv9-E betri en RT-DETR-X í nákvæmni.

Þessar niðurstöður sýna yfirburða skilvirkni YOLOv9. Endurbæturnar gera kleift að greina hluti með mikilli nákvæmni í raunverulegri notkunartilvikum.

Lykilatriði í YOLOv9 uppfærslum

Við skulum rifja upp í fljótu bragði nokkrar af helstu uppfærslum og nýjungum sem gera nýjan háþróaða frammistöðu YOLOv9 kleift:

  • GELAN bjartsýni arkitektúr – Bætir skilvirkni breytu með sveigjanlegum samsöfnunarblokkum. Leyfir stærðarlíkön fyrir mismunandi markmið.
  • Forritanlegar hallaupplýsingar - Veitir áreiðanlega halla með afturkræfum tengingum og samruna. Bætir þjálfun í tegundarstærðum.
  • Meiri nákvæmni með færri auðlindum - Minnkar færibreytur og útreikninga um 10-15% yfir YOLOv8 með betri nákvæmni. Gerir skilvirkari ályktun.
  • Frábær árangur í tegundastærðum - Setur nýjar nýjustu gerðir fyrir léttar, meðalstórar og stórar gerðir. Framkvæmir mjög fyrirfram þjálfaðar gerðir.
  • Aukið notagildi - Meiri skilvirkni eykur raunhæf notkunartilvik, eins og rauntímaskynjun á brúntækjum.

Með því að fjalla beint um nákvæmni, skilvirkni og notagildi færir YOLOv9 hlutgreiningu fram til að mæta fjölbreyttum raunverulegum þörfum. Uppfærslurnar leggja sterkan grunn fyrir framtíðarnýsköpun í þessari mikilvægu tölvusjónargetu.

Ég hef eytt síðustu fimm árum í að sökkva mér niður í heillandi heim vélanáms og djúpnáms. Ástríða mín og sérfræðiþekking hefur leitt mig til að leggja mitt af mörkum til yfir 50 fjölbreyttra hugbúnaðarverkefna, með sérstakri áherslu á gervigreind/ML. Áframhaldandi forvitni mín hefur einnig dregið mig að náttúrulegri málvinnslu, svið sem ég er fús til að kanna frekar.