Overslaan naar inhoud

YOLOv9: een sprong voorwaarts in objectdetectietechnologie

YOLOv9 betekent een aanzienlijke vooruitgang in realtime objectdetectie en introduceert baanbrekende technieken zoals Programmable Gradient Information (PGI) en het Generalized Efficient Layer Aggregation Network (GELAN). Dit model laat opmerkelijke verbeteringen zien in efficiëntie, nauwkeurigheid en aanpassingsvermogen en zet nieuwe maatstaven op de MS COCO dataset. Het YOLOv9 project is ontwikkeld door een apart open-source team, maar bouwt voort op de robuuste codebase van Ultralytics YOLOv5en laat de samenwerkingsgeest van de AI-onderzoeksgemeenschap zien.



Kijken: YOLOv9-training op aangepaste gegevens met Ultralytics | Dataset industriële pakketten

Vergelijking van YOLOv9-prestaties

Inleiding tot YOLOv9

In de zoektocht naar optimale realtime objectdetectie onderscheidt YOLOv9 zich met zijn innovatieve benadering van het overwinnen van informatieverlies dat inherent is aan diepe neurale netwerken. Door de integratie van PGI en de veelzijdige GELAN architectuur verbetert YOLOv9 niet alleen de leercapaciteit van het model, maar zorgt het ook voor het behoud van cruciale informatie tijdens het detectieproces, waardoor uitzonderlijke nauwkeurigheid en prestaties worden bereikt.

Kerninnovaties van YOLOv9

De vooruitgang van YOLOv9 is diep geworteld in het aanpakken van de uitdagingen die gepaard gaan met informatieverlies in diepe neurale netwerken. Het principe van de informatieknelpunten en het innovatieve gebruik van omkeerbare functies staan centraal in het ontwerp, waardoor YOLOv9 een hoge efficiëntie en nauwkeurigheid behoudt.

Het principe van de informatieknelpunten

Het principe van de informatieknelpunten onthult een fundamentele uitdaging bij diep leren: naarmate gegevens door opeenvolgende lagen van een netwerk gaan, neemt de kans op informatieverlies toe. Dit fenomeen wordt wiskundig weergegeven als:

I(X, X) >= I(X, f_theta(X)) >= I(X, g_phi(f_theta(X)))

waarbij I staat voor wederzijdse informatie, en f en g transformatiefuncties voorstellen met parameters theta en phirespectievelijk. YOLOv9 gaat deze uitdaging aan door programmeerbare gradiëntinformatie (Programmable Gradient Information, PGI) te implementeren, die helpt bij het behouden van essentiële gegevens in de diepte van het netwerk, waardoor een betrouwbaardere gradiëntgeneratie wordt gegarandeerd en dus een betere modelconvergentie en -prestatie.

Omkeerbare functies

Het concept van omkeerbare functies is een andere hoeksteen van het ontwerp van YOLOv9. Een functie wordt als omkeerbaar beschouwd als deze kan worden omgekeerd zonder verlies van informatie, zoals wordt uitgedrukt door:

X = v_zeta(r_psi(X))

met psi en zeta als parameters voor respectievelijk de omkeerbare en de inverse functie. Deze eigenschap is cruciaal voor deep learning-architecturen, omdat het netwerk hierdoor een volledige informatiestroom kan behouden, waardoor nauwkeuriger updates van de parameters van het model mogelijk zijn. YOLOv9 bevat omkeerbare functies in zijn architectuur om het risico van informatiedegradatie te beperken, vooral in diepere lagen, en zorgt zo voor het behoud van kritieke gegevens voor objectdetectietaken.

Invloed op lichtgewicht modellen

Het aanpakken van informatieverlies is vooral van vitaal belang voor lichtgewicht modellen, die vaak te weinig parameters hebben en gevoelig zijn voor het verliezen van belangrijke informatie tijdens het feedforward proces. De architectuur van YOLOv9 zorgt er door het gebruik van PGI en omkeerbare functies voor dat zelfs bij een gestroomlijnd model de essentiële informatie die nodig is voor nauwkeurige objectdetectie behouden blijft en effectief wordt gebruikt.

Programmeerbare gradiëntinformatie (PGI)

PGI is een nieuw concept dat in YOLOv9 is geïntroduceerd om het probleem van de informatiebottleneck tegen te gaan, door ervoor te zorgen dat essentiële gegevens in diepe netwerklagen bewaard blijven. Hierdoor kunnen betrouwbare gradiënten worden gegenereerd, wat nauwkeurige modelupdates mogelijk maakt en de algehele detectieprestaties verbetert.

GELAN (Generalized Efficient Layer Aggregation Network)

GELAN vertegenwoordigt een strategische architectonische vooruitgang, waardoor YOLOv9 een superieur parametergebruik en rekenefficiëntie kan bereiken. Het ontwerp maakt flexibele integratie van verschillende rekenblokken mogelijk, waardoor YOLOv9 kan worden aangepast aan een breed scala aan toepassingen zonder in te leveren op snelheid of nauwkeurigheid.

Vergelijking YOLOv9-architectuur

YOLOv9-benchmarks

Benchmarken in YOLOv9 met behulp van Ultralytics omvat het evalueren van de prestaties van je getrainde en gevalideerde model in scenario's uit de echte wereld. Dit proces omvat:

  • Prestatie-evaluatie: De snelheid en nauwkeurigheid van het model beoordelen.
  • Exportformaten: Testen van het model in verschillende exportformaten om er zeker van te zijn dat het voldoet aan de noodzakelijke standaarden en goed presteert in verschillende omgevingen.
  • Kaderondersteuning: Het bieden van een uitgebreid raamwerk binnen Ultralytics YOLOv8 om deze beoordelingen te vergemakkelijken en consistente en betrouwbare resultaten te garanderen.

Door te benchmarken kun je ervoor zorgen dat je model niet alleen goed presteert in gecontroleerde testomgevingen, maar ook goed blijft presteren in praktische, echte toepassingen.



Kijken: Hoe het YOLOv9-model te benchmarken met het Ultralytics Python pakket

Prestaties op MS COCO Dataset

De prestaties van YOLOv9 op de COCO dataset illustreren de significante vooruitgang in realtime objectdetectie, waarbij nieuwe benchmarks worden gezet voor verschillende modelgroottes. Tabel 1 geeft een uitgebreide vergelijking van de nieuwste realtime objectdetectoren en illustreert de superieure efficiëntie en nauwkeurigheid van YOLOv9.

Tabel 1. Vergelijking van geavanceerde realtime objectdetectoren

Prestaties

Model grootte
(pixels)
mAPval
50-95
mAPval
50
params
(M)
FLOP's
(B)
YOLOv9t 640 38.3 53.1 2.0 7.7
YOLOv9s 640 46.8 63.4 7.2 26.7
YOLOv9m 640 51.4 68.1 20.1 76.8
YOLOv9c 640 53.0 70.2 25.5 102.8
YOLOv9e 640 55.6 72.8 58.1 192.5
Model grootte
(pixels)
mAPbox
50-95
mAPmask
50-95
params
(M)
FLOP's
(B)
YOLOv9c-seg 640 52.4 42.2 27.9 159.4
YOLOv9e-seg 640 55.1 44.3 60.5 248.4

YOLOv9's iteraties, variërend van de kleine t variant op de uitgebreide e model, laten niet alleen verbeteringen zien in nauwkeurigheid (mAP-metriek), maar ook in efficiëntie met een lager aantal parameters en minder rekenkracht (FLOP's). Deze tabel onderstreept het vermogen van YOLOv9 om een hoge nauwkeurigheid te leveren met behoud of vermindering van de rekenoverhead in vergelijking met eerdere versies en concurrerende modellen.

YOLOv9 laat daarentegen opmerkelijke verbeteringen zien:

  • Lichtgewicht modellen: YOLOv9s overtreft de YOLO MS-S in parameterefficiëntie en rekenbelasting, terwijl het een verbetering van 0,4∼0,6% in AP bereikt.
  • Middelgrote tot grote modellen: YOLOv9m en YOLOv9e laten een opmerkelijke vooruitgang zien in het vinden van een balans tussen modelcomplexiteit en detectieprestaties en bieden aanzienlijke reducties in parameters en berekeningen tegen de achtergrond van verbeterde nauwkeurigheid.

Vooral het YOLOv9c model laat de effectiviteit van de optimalisaties van de architectuur zien. Het werkt met 42% minder parameters en 21% minder rekenkracht dan YOLOv7 AF, maar bereikt toch een vergelijkbare nauwkeurigheid, wat de significante efficiëntieverbeteringen van YOLOv9 aantoont. Bovendien zet het YOLOv9e model een nieuwe standaard voor grote modellen, met 15% minder parameters en 25% minder rekenwerk dan het YOLOv9e model. YOLOv8xnaast een incrementele verbetering van 1,7% in AP.

Deze resultaten tonen de strategische vooruitgang van YOLOv9 in het modelontwerp, waarbij de verbeterde efficiëntie wordt benadrukt zonder afbreuk te doen aan de precisie die essentieel is voor realtime objectdetectietaken. Het model verlegt niet alleen de grenzen van prestatiemetingen, maar benadrukt ook het belang van computerefficiëntie, waardoor het een cruciale ontwikkeling is op het gebied van computervisie.

Conclusie

YOLOv9 vertegenwoordigt een cruciale ontwikkeling in realtime objectdetectie en biedt aanzienlijke verbeteringen op het gebied van efficiëntie, nauwkeurigheid en aanpasbaarheid. Door kritieke uitdagingen aan te pakken met innovatieve oplossingen zoals PGI en GELAN, schept YOLOv9 een nieuw precedent voor toekomstig onderzoek en toepassingen op dit gebied. Terwijl de AI-gemeenschap zich blijft ontwikkelen, is YOLOv9 een bewijs van de kracht van samenwerking en innovatie bij het stimuleren van technologische vooruitgang.

Voorbeelden

Dit voorbeeld geeft eenvoudige YOLOv9 training en inferentie voorbeelden. Voor volledige documentatie over deze en andere modi zie de Predict, Train, Val en Export docs pagina's.

Voorbeeld

PyTorch voorgetraind *.pt modellen en configuratie *.yaml bestanden kunnen worden doorgegeven aan de YOLO() klasse om een instantie van een model te maken in python:

from ultralytics import YOLO

# Build a YOLOv9c model from scratch
model = YOLO("yolov9c.yaml")

# Build a YOLOv9c model from pretrained weight
model = YOLO("yolov9c.pt")

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLOv9c model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

CLI commando's zijn beschikbaar om de modellen direct uit te voeren:

# Build a YOLOv9c model from scratch and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov9c.yaml data=coco8.yaml epochs=100 imgsz=640

# Build a YOLOv9c model from scratch and run inference on the 'bus.jpg' image
yolo predict model=yolov9c.yaml source=path/to/bus.jpg

Ondersteunde taken en modi

De YOLOv9 serie biedt een reeks modellen, elk geoptimaliseerd voor objectdetectie met hoge prestaties. Deze modellen voldoen aan verschillende rekenbehoeften en nauwkeurigheidseisen, waardoor ze veelzijdig zijn voor een breed scala aan toepassingen.

Model Bestandsnamen Taken Inferentie Validatie Training Exporteer
YOLOv9 yolov9t yolov9s yolov9m yolov9c.pt yolov9e.pt Objectdetectie ✅ ✅ ✅ ✅
YOLOv9-seg yolov9c-seg.pt yolov9e-seg.pt Instance segmentatie ✅ ✅ ✅ ✅

Deze tabel geeft een gedetailleerd overzicht van de YOLOv9 modelvarianten, waarbij hun mogelijkheden in objectdetectietaken en hun compatibiliteit met verschillende operationele modi zoals Inferentie, Validatie, Training en Export worden benadrukt. Deze uitgebreide ondersteuning zorgt ervoor dat gebruikers volledig gebruik kunnen maken van de mogelijkheden van YOLOv9-modellen in een breed scala aan objectdetectiescenario's.

Opmerking

Het trainen van YOLOv9-modellen zal meer middelen vereisen en langer duren dan het model van gelijke grootte YOLOv8 .

Citaten en Erkenningen

We willen de auteurs van YOLOv9 bedanken voor hun belangrijke bijdragen op het gebied van real-time objectdetectie:

@article{wang2024yolov9,
  title={{YOLOv9}: Learning What You Want to Learn Using Programmable Gradient Information},
  author={Wang, Chien-Yao  and Liao, Hong-Yuan Mark},
  booktitle={arXiv preprint arXiv:2402.13616},
  year={2024}
}

Het originele YOLOv9 artikel is te vinden op arXiv. De auteurs hebben hun werk openbaar gemaakt en de codebase is toegankelijk op GitHub. We waarderen hun inspanningen om het veld vooruit te helpen en hun werk toegankelijk te maken voor de bredere gemeenschap.

FAQ

Welke innovaties introduceert YOLOv9 voor realtime objectdetectie?

YOLOv9 introduceert baanbrekende technieken zoals Programmable Gradient Information (PGI) en het Generalized Efficient Layer Aggregation Network (GELAN). Deze innovaties pakken informatieverlies in diepe neurale netwerken aan en zorgen voor een hoge efficiëntie, nauwkeurigheid en aanpassingsvermogen. PGI behoudt essentiële gegevens over netwerklagen heen, terwijl GELAN het gebruik van parameters en de rekenefficiëntie optimaliseert. Lees meer over de kerninnovaties van YOLOv9 die nieuwe benchmarks zetten op de MS COCO dataset.

Hoe presteert YOLOv9 op de MS COCO dataset in vergelijking met andere modellen?

YOLOv9 presteert beter dan geavanceerde realtime objectdetectoren door een hogere nauwkeurigheid en efficiëntie te bereiken. Op de COCO dataset laten YOLOv9-modellen superieure mAP-scores zien over verschillende groottes met behoud of vermindering van rekenoverhead. YOLOv9c bereikt bijvoorbeeld een vergelijkbare nauwkeurigheid met 42% minder parameters en 21% minder rekenwerk dan YOLOv7 AF. Bekijk de prestatievergelijkingen voor gedetailleerde statistieken.

Hoe kan ik een YOLOv9-model trainen met Python en CLI?

Je kunt een YOLOv9-model trainen met de commando's Python en CLI . Voor Python moet je een model instantiëren met de YOLO klasse en roep de train methode:

from ultralytics import YOLO

# Build a YOLOv9c model from pretrained weights and train
model = YOLO("yolov9c.pt")
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

Voor CLI training, uitvoeren:

yolo train model=yolov9c.yaml data=coco8.yaml epochs=100 imgsz=640

Meer informatie over gebruiksvoorbeelden voor training en inferentie.

Wat zijn de voordelen van het gebruik van Ultralytics YOLOv9 voor lichtgewicht modellen?

YOLOv9 is ontworpen om informatieverlies te beperken, wat vooral belangrijk is voor lichtgewicht modellen die vaak belangrijke informatie verliezen. Door programmeerbare gradiëntinformatie (PGI) en omkeerbare functies te integreren, zorgt YOLOv9 ervoor dat essentiële gegevens behouden blijven, waardoor de nauwkeurigheid en efficiëntie van het model worden verbeterd. Hierdoor is het zeer geschikt voor toepassingen die compacte modellen met hoge prestaties vereisen. Ga voor meer informatie naar het gedeelte over de invloed van YOLOv9 op lichtgewicht modellen.

Welke taken en modi ondersteunt YOLOv9?

YOLOv9 ondersteunt verschillende taken, waaronder objectdetectie en segmentatie van instanties. Het is compatibel met meerdere operationele modi zoals inferentie, validatie, training en export. Deze veelzijdigheid maakt YOLOv9 geschikt voor diverse realtime computervisietoepassingen. Raadpleeg de sectie met ondersteunde taken en modi voor meer informatie.



Gemaakt op 2024-02-26, Bijgewerkt op 2024-07-20
Auteurs: RizwanMunawar (2), glenn-jocher (9), ambitious-octopus (1), Burhan-Q (3), Laughing-q (2)

Reacties