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.

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

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

Wanneer komen er andere modelschalen beschikbaar?

Ondanks alle metriek die in de tabel hieronder wordt getoond voor de verschillende modelschalen, alleen de configuraties voor YOLOv9c en YOLOv9e zijn gepubliceerd. Het Ultralytics Team zal snel werken om andere configuraties toe te voegen zodra deze beschikbaar zijn, dus zorg ervoor dat je hier regelmatig terugkijkt voor updates.

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 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 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.



Aangemaakt 2024-02-26, Bijgewerkt 2024-04-17
Auteurs: glenn-jocher (4), Burhan-Q (2), Laughing-q (1)

Reacties