AI-modeller og plattformer
YOLOv9: Et sprang i sanntidsobjektdeteksjon
Objektdeteksjon har sett rask fremgang i de siste årene takket være dypt læring-algoritmer som YOLO (You Only Look Once). Den siste iterasjonen, YOLOv9, bringer store forbedringer i nøyaktighet, effisiens og anvendelighet sammenlignet med tidligere versjoner. I denne artikkelen vil vi dykke ned i innovasjonene som gjør YOLOv9 til en ny standard for sanntidsobjektdeteksjon.
En rask introduksjon til objektdeteksjon
Før vi går inn på hva som er nytt med YOLOv9, la oss først se på hvordan objektdeteksjon fungerer. Målet med objektdeteksjon er å identifisere og lokalisere objekter innenfor et bilde, som biler, mennesker eller dyr. Dette er en nøkkelkapabilitet for applikasjoner som selvkjørende biler, overvåkningssystemer og bilde søk.
Detektoren tar et bilde som innputt og utputt avgrensende bokser rundt detekterte objekter, hver med en tilhørende klasse-etikett. Populære datasamlinger som MS COCO gir tusenvis av merket bilder for å trene og evaluere disse modellene.
Det finnes to hovedtilnærminger til objektdeteksjon:
- To-trinnsdetektorer som Faster R-CNN genererer først region-forslag, deretter klassifiserer og finjusterer grensene for hver region. De tenderer å være mer nøyaktige, men langsommere.
- Enkelttrinnsdetektorer som YOLO anvender en modell direkte over bildet i ett enkelt pass. De bygger av en del nøyaktighet for meget rask inferens-tid.
YOLO var en pionér innen enkelttrinns-tilnærmingen. La oss se på hvordan den har utviklet seg over flere versjoner for å forbedre nøyaktighet og effisiens.
Gjennomgang av tidligere YOLO-versjoner
YOLO (You Only Look Once)-familien av modeller har vært i forkant av rask objektdeteksjon siden den originale versjonen ble publisert i 2016. Her er en rask oversikt over hvordan YOLO har progredert over flere iterasjoner:
- YOLOv1 foreslo en samlet modell for å forutsi avgrensende bokser og klasse-sannsynligheter direkte fra fullstendige bilder i ett enkelt pass. Dette gjorde den ekstremt rask sammenlignet med tidligere to-trinnsmodeller.
- YOLOv2 forbedret den originale ved å bruke batch-normalisering for bedre stabilitet, ankrene bokser på forskjellige skalaer og aspektforhold for å detektere flere størrelser, og en rekke andre optimaliseringer.
- YOLOv3 la til en ny funksjon-ekstraktor kalt Darknet-53 med flere lag og kortere mellom dem, og ytterligere forbedret nøyaktigheten.
- YOLOv4 kombinerte ideer fra andre objektdetektorer og segmenteringsmodeller for å skyve nøyaktigheten enda høyere mens den fortsatt opprettholdt rask inferens.
- YOLOv5 omskrev fullstendig YOLOv4 i PyTorch og la til en ny funksjon-ekstraktor kalt CSPDarknet sammen med flere andre forbedringer.
- YOLOv6 fortsatte å optimalisere arkitekturen og treningsprosessen, med modeller forhåndstrengt på store eksterne datasamlinger for å øke ytelsen ytterligere.
Så for å sammenfatte, tidligere YOLO-versjoner oppnådde høyere nøyaktighet gjennom forbedringer av modell-arkitektur, trenings-teknikker og forhåndstreningsprosesser. Men når modellene blir større og mer komplekse, begynner hastighet og effisiens å lide.
Behovet for bedre effisiens
Mange applikasjoner krever objektdeteksjon som kjører i sanntid på enheter med begrensede beregningsressurser. Når modellene blir større og mer beregningsintensive, blir de upraktiske å distribuere.
For eksempel, en selvkjørende bil må detektere objekter med høye rammerater ved hjelp av prosessorer inne i kjøretøyet. Et sikkerhetskamera må kjøre objektdeteksjon på sin videostrøm innenfor dens egen innbygde hardware. Mobiltelefoner og andre forbrukerenheter har meget stramme kraft- og termiske begrensninger.
Senere YOLO-versjoner oppnår høy nøyaktighet med store antall parametre og multiplikasjon-addisjons-operasjoner (FLOPs). Men dette skjer på bekostning av hastighet, størrelse og kraft-effisiens.
For eksempel, YOLOv5-L krever over 100 milliarder FLOPs for å prosessere ett enkelt 1280×1280-bilde. Dette er for langsomt for mange sanntidsbrukstilfeller. Trenden med stadig større modeller øker også risikoen for overfitting og gjør det vanskeligere å generalisere.
Så for å utvide anvendeligheten av objektdeteksjon, trenger vi måter å forbedre effisiensen – å oppnå bedre nøyaktighet med færre parametre og beregninger. La oss se på teknikken som brukes i YOLOv9 for å møte denne utfordringen.
YOLOv9 – Bedre nøyaktighet med færre ressurser
Forskerne bak YOLOv9 konsentrerte seg om å forbedre effisiensen for å oppnå sanntids-ytelse på en bredere rekke enheter. De innførte to nøkkel-innovasjoner:
- En ny modell-arkitektur kalt General Efficient Layer Aggregation Network (GELAN) som maksimerer nøyaktighet mens den minimerer parametre og FLOPs.
- En trenings-teknikk kalt Programmable Gradient Information (PGI) som gir mer pålitelige lærings-gradier, spesielt for mindre modeller.
La oss se på hvordan hver av disse fremgangene hjelper med å forbedre effisiensen.
Mer effektiv arkitektur med GELAN
Modell-arkitekturen selv er kritisk for å balansere nøyaktighet mot hastighet og ressursbruk under inferens. Nevralt nettverk trenger nok dybde og bredde for å fange relevante funksjoner fra innputt-bildene. Men for mange lag eller filter fører til langsomme og oppblåste modeller.
Forfatterne designet GELAN spesifikt for å presses maksimal nøyaktighet ut av den minste mulige arkitekturen.
GELAN bruker to hoved-byggeklosser stablet sammen:
- Effektive lag-aggregasjons-blokker – Disse aggregere transformeringsacross multiple nettverks-grener for å fange multi-skala-funksjoner effektivt.
- Beregning-blokker – CSPNet-blokker hjelper med å propagere informasjon over lag. Hvert blokk kan erstattes basert på beregnings-begrensninger.
Ved å balansere og kombinere disse blokkene, treffer GELAN et søt punkt mellom ytelse, parametre og hastighet. Den samme modulære arkitekturen kan skaleres opp eller ned over forskjellige modell-størrelser og hardware.
Eksperimenter viste at GELAN passer mer ytelse inn i mindre modeller sammenlignet med tidligere YOLO-arkitekturer. For eksempel, GELAN-Small med 7M parametre overgikk YOLOv7-Nano med 11M parametre. Og GELAN-Medium med 20M parametre ytet like godt som YOLOv7 medium-modeller som krever 35-40M parametre.
Så ved å designe en parameterisert arkitektur spesifikt optimert for effisiens, lar GELAN modellene kjøre raskere og på mer ressurs-begrensete enheter. Neste skal vi se hvordan PGI hjelper dem å trene bedre også.
Bedre trening med Programmable Gradient Information (PGI)
Modell-trening er like viktig for å maksimere nøyaktighet med begrensede ressurser. YOLOv9-forfatterne identifiserte problemer med å trene mindre modeller forårsaket av upålitelige gradient-informasjon.
Gradier bestemmer hvor mye en modells vekter oppdateres under trening. Støyelige eller misvisende grader fører til dårlig konvergens. Dette problemet blir mer uttalt for mindre nettverk.
Teknikken med dypt tilsyn adresserer dette ved å innføre ekstra side-grener med tap for å propagere bedre gradient-signal gjennom nettverket. Men den tenderer å bryte sammen og forårsake divergens for mindre lettvekt-modeller.
For å overvinne denne begrensningen, innfører YOLOv9 Programmable Gradient Information (PGI). PGI har to hoved-komponenter:
- Hjelpe-reversible grener – Disse gir rene grader ved å opprettholde reversible forbindelser tilbake til innputt ved hjelp av blokker som RevCols.
- Flernivås gradient-integrasjon – En fusjons-blokk aggregere grader fra alle grener før den returnerer til hoved-modellen.
Ved å generere mer pålitelige grader, hjelper PGI med å forbedre trenings-konvergens og effisiens over alle modell-størrelser:
Eksperimenter viste PGI forbedret nøyaktighet over alle modell-konfigurasjoner over baseline GELAN:
- +0,1-0,4% AP for YOLOv9-Small
- +0,5-0,6% AP for større YOLOv9-modeller
Så PGI sine programmerbare grader lar modellene trene mer effektivt.
YOLOv9 setter ny standard for effisiens
Ved å kombinere arkitektoniske forbedringer fra GELAN og trenings-forbedringer fra PGI, oppnår YOLOv9 en ny standard for sanntids-objektdeteksjon:
- Sammenlignet med tidligere YOLO-versjoner, oppnår YOLOv9 bedre nøyaktighet med 10-15% færre parametre og 25% færre beregninger. Dette bringer store forbedringer i hastighet og evne over modell-størrelser.
- YOLOv9 overgår andre sanntids-detektorer som YOLO-MS og RT-DETR i parameter-effisiens og FLOPs. Den krever langt færre ressurser for å nå en gitt ytelsesnivå.
- Mindre YOLOv9-modeller slår sogar større forhåndstrengte modeller som RT-DETR-X. Til tross for å bruke 36% færre parametre, oppnår YOLOv9-E bedre 55,6% AP gjennom mer effektive arkitekturer.
Så ved å adresse effisiens på både arkitektur- og trenings-nivå, setter YOLOv9 en ny standard for å maksimere ytelse innen begrensede ressurser.
GELAN – Optimert arkitektur for effisiens
YOLOv9 innfører en ny arkitektur kalt General Efficient Layer Aggregation Network (GELAN) som maksimerer nøyaktighet innen en minimums-parameter-budsjett. Den bygger på tidligere YOLO-modeller, men optimaliserer de forskjellige komponentene spesifikt for effisiens.
Bakgrunn på CSPNet og ELAN
Senere YOLO-versjoner siden v5 har brukt ryggmarg-basert på Cross-Stage Partial Network (CSPNet) for å forbedre effisiens. CSPNet lar funksjons-kart bli aggregert over parallele nettverks-grener mens det legger til minimalt overhead:
Dette er mer effektivt enn å stable lag på hverandre serielt, som ofte fører til redundant beregning og over-parameterisering.
YOLOv7 oppgraderte CSPNet til Efficient Layer Aggregation Network (ELAN), som forenklet blok-strukturen:
ELAN fjernet kort-til-kort-forbindelser mellom lag i favør av en aggregasjons-nøkkel på utgangen. Dette forbedret ytterligere parameter- og FLOPs-effisiens.
Generalisering av ELAN for fleksibel effisiens
Forfatterne generaliserte ELAN videre for å skape GELAN, ryggraden brukt i YOLOv9. GELAN gjorde nøkkel-endringer for å forbedre fleksibilitet og effisiens:
- Byttable beregnings-blokker – Tidligere ELAN hadde faste konvolusjons-lag. GELAN lar erstatte hver beregnings-blokk som ResNets eller CSPNet, og gir flere arkitektoniske alternativer.
- Dybde-parametrisering – Separate blokk-dybder for hoved-grener versus aggregasjons-grener forenkler ressurs-bruk.
- Stabil ytelse over konfigurasjoner – GELAN opprettholder nøyaktighet med forskjellige blokk-typer og dybder, og lar til fleksibel skalerings-mulighet.
Disse endringene gjør GELAN til en sterk, men konfigurerbar ryggmarg for å maksimere effisiens:
I eksperimenter, overgikk GELAN-modeller konsekvent tidligere YOLO-arkitekturer i nøyaktighet per parameter:
- GELAN-Small med 7M parametre slo YOLOv7-Nano med 11M parametre
- GELAN-Medium matchet tyngre YOLOv7 medium-modeller
Så GELAN gir en optimalisert ryggmarg for å skalerer YOLO over forskjellige effisiens-mål. Neste skal vi se hvordan PGI hjelper dem å trene bedre.
PGI – Forbedret trening for alle modell-størrelser
Mens arkitektur-valg påvirker effisiens under inferens-tid, påvirker også trenings-prosessen modell-ressurs-bruk. YOLOv9 bruker en ny teknikk kalt Programmable Gradient Information (PGI) for å forbedre trenings-prosessen over forskjellige modell-størrelser og kompleksiteter.
Problemet med upålitelige grader
Under trening, sammenligner en tap-funksjon modell-utgang med grunn-sannhets-etiketter og beregner en feil-gradient for å oppdatere parametre. Støyelige eller misvisende grader fører til dårlig konvergens og effisiens.
Veldig dype nettverk forverrer dette gjennom informasjons-flaskehalsen – grader fra dype lag blir korrupte av tapte eller komprimerte signaler.
Dypt tilsyn hjelper ved å innføre hjelpe-side-grener med tap for å gi renere grader. Men det bryter ofte sammen og forårsaker interferens og divergens mellom forskjellige grener for mindre modeller.
Så vi trenger en måte å gi pålitelige grader som fungerer over alle modell-størrelser, spesielt mindre modeller.
Introduksjon til Programmable Gradient Information (PGI)
For å adresse upålitelige grader, foreslår YOLOv9 Programmable Gradient Information (PGI). PGI har to hoved-komponenter designet for å forbedre gradient-kvalitet:
1. Hjelpe-reversible grener
Ekstra grener gir reversible forbindelser tilbake til innputt ved hjelp av blokker som RevCols. Dette opprettholder rene grader og unngår informasjons-flaskehalsen.
2. Flernivås gradient-integrasjon
En fusjons-blokk aggregere grader fra alle grener før den returnerer til hoved-modellen. Dette forhindrer divergens over grener.
Ved å generere mer pålitelige grader, forbedrer PGI trenings-konvergens og effisiens over alle modell-størrelser:
- Lettvekt-modeller drar nytte av dypt tilsyn de ikke kunne bruke før
- Større modeller får renere grader som muliggjør bedre generalisering
Eksperimenter viste PGI forbedret nøyaktighet for både små og store YOLOv9-konfigurasjoner over baseline GELAN:
- +0,1-0,4% AP for YOLOv9-Small
- +0,5-0,6% AP for større YOLOv9-modeller
Så PGI sine programmerbare grader lar både små og store modeller trene mer effektivt.
YOLOv9 setter ny standard for nøyaktighet
Ved å kombinere arkitektoniske forbedringer fra GELAN og trenings-forbedringer fra PGI, oppnår YOLOv9 en ny standard for sanntids-objektdeteksjon.
Eksperimenter på COCO-datasamlingen viser YOLOv9 overgår tidligere YOLO-versjoner, samt andre sanntids-detektorer som YOLO-MS, i både nøyaktighet og effisiens:
Noen nøkkel-høydepunkter:
- YOLOv9-Small overgår YOLO-MS-Small med 10% færre parametre og beregninger
- YOLOv9-Medium matcher tyngre YOLOv7-modeller med mindre enn halvparten av ressursene
- YOLOv9-Large overgår YOLOv8-X med 15% færre parametre og 25% færre FLOPs
Merkelig nok, overgår små YOLOv9-modeller sogar tyngre modeller fra andre detektorer som bruker forhåndstrenings-teknikker som RT-DETR-X. Til tross for å bruke 4 ganger færre parametre, overgår YOLOv9-E RT-DETR-X i nøyaktighet.
Disse resultater demonstrerer YOLOv9 sine overlegne effisiens. Forbedringene muliggjør høy-nøyaktig objektdeteksjon i flere sanntids-brukstilfeller.
Nøkkel-punkter om YOLOv9-opgraderinger
La oss raskt gjennomgå noen av de nøkkel-opgraderingene og innovasjonene som muliggjør YOLOv9 sine nye standarder for ytelse:
- GELAN-optimert arkitektur – Forbedrer parameter-effisiens gjennom fleksible aggregasjons-blokker. Lar modellene skaleres for forskjellige mål.
- Programmable Gradient Information – Gir pålitelige grader gjennom reversible forbindelser og fusjon. Forbedrer trenings-prosessen over modell-størrelser.
- Bedre nøyaktighet med færre ressurser – Reduserer parametre og beregninger med 10-15% sammenlignet med YOLOv8, med bedre nøyaktighet. Muliggjør mer effektiv inferens.
- Overlegen resultater over modell-størrelser – Setter ny standard for lettvekt-, medium- og stor-modell-konfigurasjoner. Overgår tungt forhåndstrengte modeller.
- Utvidet anvendelighet – Høyere effisiens utvider bruksområdet, som sanntids-deteksjon på kant-enheter.
Ved å adresse nøyaktighet, effisiens og anvendelighet direkte, flytter YOLOv9 objektdeteksjon fremover for å møte diverse sanntids-behov. Opgraderingene gir en sterk basis for fremtidig innovasjon i denne kritiske computer-vision-evnen.














