Wat’s New in YOLOv11: Object Detection Opnieuw Veranderen Deel 1

Inleiding

Tijdens het YOLO Vision 2024 evenement heeft Ultralytics een nieuw lid aan de YOLO-reeks aangekondigd, genaamd YOLOv11. In dit artikel zal een overzicht worden gegeven van het nieuwe model, instructies worden gegeven over hoe inference uit te voeren met YOLOv11, en de belangrijkste vooruitgang en highlights van het model worden vergeleken met die van zijn voorganger. Het YOLOv11-model is ontworpen om snel, nauwkeurig en gemakkelijk te zijn voor taken zoals object detectie, afbeeldingssegmentatie, afbeeldingsclassificatie, pose-estimatie en realtime objectvolging.
Het nieuwe state-of-the-art (SOTA) model heeft sneller inference snelheid en verbeterde nauwkeurigheid behaald vergeleken met de vorige YOLO-modellen. voordat we beginnen, laten we eens kijken naar de meetresultaten geleverd door Ultralytics. In de meetplot is het YOLOv11-model vergeleken met YOLOv5, v6, v7, v8, v9 en v10.

De gemarkeerde blauwe grafiek geeft de prestaties weer van YOLOv11. Zoals we kunnen zien, heeft het bijna alle YOLO-modellen of de reeksen op gemiddelde precisie op het COCO-dataset en de inferentiesnelheid, weergegeven aan de x-as, overschreden.

Taken die worden ondersteund door YOLOv11

  • Objecten detectie:- Objecten in een afbeelding of video lokaliseren door middel van lijnvormige vellen bij te geven met de confidencescores. Handig voor toepassingen zoals autonoom rijden, camera’s voor beveiliging of tolkassettes.
  • Instantie segmentatie:- Objecten of individuen in een afbeelding identificeren en segmenteren. Handig voor medische beeldvorming, fabricage en meer.
  • Positie bepalen:- Belangrijke punten in een afbeelding of videoframe identificeren om lichaamsoefeningen of gestichten te monitoren, waardoor het handig is voor toepassingen als virtuele werkelijkheid, danstrainen en fysiotherapie.
  • Oriënteerde objectdetectie (OBB):- Objecten met een oriëntatie-hoek detecteren, waardoor de lokalisatie van gekromd of gedraaid materiaal exacter wordt. Deze functie is vooral handig voor toepassingen als autonoom rijden, industriële inspectie en het analyseren van beelden van drones of satellieten.
Model Tasks
YOLO11 Detectie (COCO)
YOLO11-seg Segmentatie (COCO)
YOLO11-pose Positie/Knoppen (COCO)
YOLO11-obb Oriënteerde Detectie (DOTAv1)
YOLO11-cls Classificatie (ImageNet)

YOLOv11 biedt voorgedefinieerde detectie, segmentatie en pose modellen voor de COCO-dataset, evenals classificatie modellen voor de ImageNet-dataset. Ook is een trackmodus beschikbaar voor alle detectie, segmentatie en pose modellen. Voor meer informatie over de modellen en hun versies, raadpleeg de officiële GitHub repository. We hebben een directe koppeling opgenomen in onze bronnen sectie voor de gemakken.

Vereisten

Hier zijn de vereisten voor het uitvoeren van YOLO-modellen:

  • Python-omgeving: Installeer Python 3.8 of nieuwer.
  • CUDA & cuDNN: Een CUDA-compatibele GPU (NVIDIA) met geïnstalleerde CUDA en cuDNN voor snellere trainings- en inferentieprocessen.
  • PyTorch: Installeer PyTorch die past bij uw CUDA-versie.
  • YOLO-raamwerk: Installeer het specifieke YOLO-versiepakket van Ultralytics.
  • Dataset: Gekende dataset in YOLO-formaat (afbeeldingen en annotatiebestanden).
  • Hardwarevereisten: Minimaal 16 GB RAM en een GPU met 4+ GB VRAM voor een vlotte trainings- en inferentieprocessen.

Belangrijkste kenmerken van het nieuwe model

YOLOv11 brengt verschillende verbeteringen met zich mee die het een sterke keuze maken voor computervisuele taken. Het heeft een betere backbonedesign en nekdesign, die helpt om objecten beter te detecteren en complexe taken gemakkelijker op te lossen. Het model is geoptimaliseerd voor snelheid, biedende snellere verwerkingstijden terwijl het nog steeds een goed evenwicht tussen nauwkeurigheid en prestatie behoudt. Zelfs met 22% minder parameters dan YOLOv8m, behaalt deze lichtgewichtmodellijn hogere nauwkeurigheid, waardoor het zowel efficiënt als effectief is. YOLOv11 heeft ook inference-tijd 2% sneller dan YOLOv10, waardoor het zeer aanpasbaar is en goed werkt op verschillende platforms zoals randapparaten, cloudsystemen, en NVIDIA GPU’s. Bovendien ondersteunt het een breed scala aan taken, inclusief objectdetectie, afbeeldingsclassificatie, poseschatting, en meer.
YOLOv11 is ontworpen om gemakkelijk te integreren met verschillende systemen en platformen. Door de ondersteuning van YOLOv8 uit te breiden, werkt het goed in verschillende omgevingen voor training, testen en implementatie. Of u NVIDIA GPU’s, randapparaten of cloudplatformen gebruikt, past YOLOv11 gemakkelijk in uw werk流程.
Deze kenmerken maken YOLOv11 aanpasbaar voor verschillende industrieën.

YOLOv11 Demo

Bij het uitvoeren van YOLOv11 op een GPU Droplet van DigitalOcean wordt de inference snelheid tot 5 tot 6 ms per afbeelding behaald, waardoor het een ideale keuze is voor real-time toepassingen die snel en efficiënt verwerking vereisen.
We beginnen met het installeren van het ultralytics pakket of het bijwerken van het pakket.

!pip install ultralytics --upgrade

Het trainen van het YOLOv11 model voor object detectie kan zowel met Python als met CLI commando’s worden uitgevoerd.

from ultralytics import YOLO  
# Laad een COCO-geprepareerd YOLO11n model  
model = YOLO("yolo11n.pt")  
# Train het model op de COCO8 voorbeeldgegevensset voor 100 epochs  
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Laad een COCO-geprepareerd YOLO11n model en train het op de COCO8 voorbeeldgegevensset voor 100 epochs  
yolo train model=yolo11n.pt data=coco8.yaml epochs=100 imgsz=640

We hebben code geleverd om het model te gebruiken voor het detecteren van objecten in een video.

# Laad een COCO-geprepareerd YOLO11n model  
model = YOLO("yolo11n.pt")  
results = model("data/video.mp4", save=True, show=True)

Volgend zal we proberen om het model objecten in een afbeelding te detecteren.

# Laad een COCO-geprepareerd YOLO11n model  
model = YOLO("yolo11n.pt")  
results = model("/folder_path/image_det.jpeg")  
results[0].show()

Om het model te gebruiken voor segmentatie, moeten we het YOLO11 model downloaden, want het testen van het model direct kan een fout veroorzaken.

#segmentatie  
from ultralytics import YOLO  
model = YOLO('yolo11n-seg.pt')  
results = model("/folder_path/image_seg.jpeg")  
results[0].show()

Evenzoveel moeten we het YOLO11 model downloaden voor het uitvoeren van taken als pose-estimatie en classificatie, en dan het model testen op een afbeelding.

#pose-estimation  
from ultralytics import YOLO  
model = YOLO('yolo11n-pose.pt')  
results = model("/folder_path/image_pose.jpeg")  
results[0].show()

#image-classification  
from ultralytics import YOLO  
model = YOLO('yolo11n-cls.pt')  
results = model("/folder_path/image_class.jpeg")  
results[0].show()

Nu is het raadzaam om een high-end GPU te gebruiken om YOLOv11 te draaien of te trainen, anders zal het trainen of de inference mogelijk langzaam en inefficient zijn. Bij het draaien of trainen van YOLOv11, kies u voor een GPU boven een CPU om significant de prestaties en efficiency te verbeteren. YOLOv11, met zijn verbeterde feature extraction en verbetering van nauwkeurigheid, vereist een hoge rekenkracht, vooral voor het trainen op grote datasets. GPU’s zijn speciaal ontworpen voor parallelle verwerking, wat hen in staat stelt de complexe matrixoperaties die nodig zijn voor diep leren veel sneller te behandelen dan CPU’s. DigitalOcean GPU Droplets zijn geoptimaliseerd voor AI/ML workloads, en bieden toegang tot krachtige GPU’s zoals de H100, die speciaal ontworpen zijn voor geavanceerd performerende en zwaar verwerken.

Conclusies

We hebben gezien dat het model met afbeeldingen en video’s koele dingen kan doen. YOLOv11 is een krachtig en veelzijdig model voor computerwaardestukken. Door zijn verbeterde kenmerken, hoge snelheid en nauwkeurigheid, is het een significante verbetering ten opzichte van zijn voorgangers.
In conclusie, YOLOv11 is een grote stap vooruit in objectdetectie en computerwaardestukken. Door zijn betere architectuurdesign, hogere snelheden en verbeterde nauwkeurigheid, is het ideaal voor diverse toepassingen – realtime detectie op kleine apparaten of meer gedetailleerde analyse in de cloud. Het gemakkelijke samenwerken met bestaande systemen betekend dat bedrijven het gemakkelijk kunnen integreren in hun dagelijkse operaties, ofwel in de landbouw, veiligheid of robotica. Het gemengde flexibiliteit en performantie van YOLOv11 maakt het een krachtige tool voor wie zich aan computerwaardestukken-uitdagingen stelt.
Het is echter deel 1 van de handleiding en in deel 2 zullen we leren hoe we het model kunnen afstemmen en trainen voor objectdetectie op een aangepaste dataset.

Referenties

Source:
https://www.digitalocean.com/community/tutorials/what-is-new-with-yolo