X
Ultralytics YOLOv8.2 LoslatenUltralytics YOLOv8.2 LoslatenUltralytics YOLOv8.2 Pijl loslaten
Groene cheque
Link gekopieerd naar klembord

Aan de slag met YOLO-World

Leer meer over YOLO-World, een innovatief objectdetectiemodel dat objecten kan identificeren via tekstaanwijzingen. Ontdek hoe YOLO-World werkt en zijn toepassingen, en ga aan de slag met een snel codevoorbeeld.

Facebook-logoTwitter-logoLinkedIn logoSymbool voor kopiëren-linken

Bij computervisieprojecten wordt vaak veel tijd besteed aan het annoteren van gegevens en het trainen van objectdetectiemodellen. Maar dat is binnenkort misschien verleden tijd. Tencent's AI Lab heeft op 31 januari 2024 YOLO-World uitgebracht, een realtime, open woordenschat objectdetectiemodel. YOLO-World is een zero-shot model, wat betekent dat je objectdetectie-inferenties kunt uitvoeren op afbeeldingen zonder dat je het hoeft te trainen.

Zero-shot modellen hebben de potentie om de manier waarop we computer vision toepassingen benaderen te veranderen. In deze blog verkennen we hoe YOLO-World werkt en wat de toepassingsmogelijkheden zijn en delen we een praktisch codevoorbeeld om je op weg te helpen.

Een kijkje in YOLO-Wereld

Je kunt een afbeelding en een tekst die beschrijft naar welke objecten je op zoek bent doorgeven aan het YOLO-World model. Als je bijvoorbeeld geïnteresseerd bent in het vinden van "een persoon met een rood shirt" in een foto, dan neemt YOLO-World deze invoer en gaat aan de slag.

De unieke architectuur van het model combineert drie hoofdelementen:

  • Een detector gebaseerd op het Ultralytics YOLOv8 objectdetectiemodel, om de visuele inhoud van het beeld te analyseren
  • Een tekstcoder die vooraf is getraind door OpenAI's CLIP, speciaal ontworpen om je tekstprompt te begrijpen. 
  • Een netwerk, het Vision-Language Path Aggregation Network (RepVL-PAN), dat de verwerkte beeldgegevens integreert met de tekstgegevens.

De YOLO detector scant je invoerafbeelding om potentiële objecten te identificeren. De tekstcoder zet je beschrijving om in een formaat dat het model kan begrijpen. Deze twee informatiestromen worden vervolgens samengevoegd door de RepVL-PAN met behulp van multi-level cross-modality fusie. Hiermee kan YOLO-World de objecten die in je vraag worden beschreven nauwkeurig detecteren en lokaliseren binnen het beeld.

Een voorbeeld van resultaten van YOLO-World.

Voordelen van het kiezen van YOLO-World

Een van de grootste voordelen van het gebruik van YOLO-World is dat je het model niet hoeft te trainen voor een specifieke klasse. Het heeft al geleerd van paren afbeeldingen en teksten, dus het weet hoe objecten te vinden op basis van beschrijvingen. Je hoeft geen uren te besteden aan het verzamelen van gegevens, het annoteren van gegevens, het trainen op dure GPU's, enzovoort.

Hier zijn enkele andere voordelen van het gebruik van YOLO-World:

  • Real-time prestaties - YOLO-World ondersteunt real-time prestaties, net als de oorspronkelijke YOLO architectuur. Het is ideaal voor toepassingen die onmiddellijke objectdetectie vereisen, zoals autonome voertuigen en bewakingssystemen.
  • Instance Segmentation - YOLO-World kan objecten in afbeeldingen netjes omlijnen en scheiden, zelfs als die objecten niet specifiek tijdens de training zijn aangeleerd.
  • Efficiëntie - YOLO-World combineert hoge nauwkeurigheid met computerefficiëntie, waardoor het praktisch is voor echte toepassingen. De gestroomlijnde architectuur maakt snelle objectdetectie mogelijk zonder al te veel rekenkracht te vragen.

De toepassingen van YOLO-Wereld

YOLO-Wereldmodellen kunnen voor veel verschillende toepassingen worden gebruikt. Laten we er een paar verkennen.

Kwaliteitscontrole in productie

Producten die aan een lopende band worden gemaakt, worden visueel gecontroleerd op defecten voordat ze worden verpakt. Het opsporen van defecten gebeurt vaak met de hand, wat tijd kost en tot fouten kan leiden. Deze fouten kunnen problemen veroorzaken zoals hoge kosten en de noodzaak voor reparaties of terugroepacties. Om hierbij te helpen zijn er speciale machine vision camera's en AI-systemen gemaakt om deze controles uit te voeren. 

YOLO-Wereldmodellen zijn een grote vooruitgang op dit gebied. Ze kunnen defecten in producten vinden, zelfs als ze niet getraind zijn voor dat specifieke probleem, door gebruik te maken van hun zero-shot vaardigheden. Een fabriek die bijvoorbeeld waterflessen produceert, kan met behulp van YOLO-World eenvoudig onderscheid maken tussen een fles die goed is afgesloten met een dop en een fles waar een dop is weggelaten of defect is.

Een voorbeeld van flessendopinspectie.

Robotica

YOLO-wereldmodellen stellen robots in staat om te communiceren met onbekende omgevingen. Zonder getraind te zijn op specifieke objecten die zich in een kamer kunnen bevinden, kunnen ze toch identificeren welke objecten aanwezig zijn. Dus stel dat een robot een kamer binnengaat waar hij nog nooit eerder is geweest. Met een YOLO-wereldmodel kan hij nog steeds objecten zoals stoelen, tafels of lampen herkennen en identificeren, ook al is hij niet specifiek op deze objecten getraind.

Naast objectdetectie kan YOLO-World ook de omstandigheden van die objecten bepalen, dankzij de functie 'prompt-then-detect'. In de landbouwrobotica kan het bijvoorbeeld worden gebruikt om rijp fruit te identificeren versus niet rijp fruit door de robot te programmeren om ze te detecteren.

AI in de auto-industrie

De auto-industrie kent veel bewegende delen en YOLO-World kan worden gebruikt voor verschillende autotoepassingen. Als het bijvoorbeeld gaat om auto-onderhoud, is het vermogen van YOLO-World om een grote verscheidenheid aan objecten te herkennen zonder handmatige tagging of uitgebreide training vooraf uiterst nuttig. YOLO-World kan worden gebruikt om auto-onderdelen te identificeren die vervangen moeten worden. Het zou zelfs taken kunnen automatiseren zoals kwaliteitscontroles, het opsporen van defecten of ontbrekende onderdelen in nieuwe auto's.

Een andere toepassing is zero-shot objectdetectie in zelfrijdende auto's. YOLO De zero-shot detectiecapaciteiten van -World kunnen het vermogen van een autonoom voertuig verbeteren om objecten op de weg, zoals voetgangers, verkeersborden en andere voertuigen, in realtime te detecteren en te classificeren. Hierdoor kan het helpen obstakels te detecteren en ongelukken te voorkomen voor een veiligere reis. 

Een voorbeeld van het detecteren van objecten op een weg.

Voorraadbeheer voor winkels

Het identificeren van voorwerpen op schappen in winkels is een belangrijk onderdeel van het bijhouden van voorraden, het bijhouden van voorraden en het automatiseren van processen. Ultralytics YOLO-Het vermogen van -World om een grote verscheidenheid aan objecten te herkennen zonder handmatige tagging of uitgebreide training vooraf is uiterst nuttig voor voorraadbeheer. 

Bij voorraadbeheer bijvoorbeeld kan YOLO-World items op een schap, zoals verschillende merken energiedrankjes, snel herkennen en categoriseren. Winkels kunnen een nauwkeurige inventaris bijhouden, de voorraadniveaus efficiënt beheren en de bevoorradingsketen soepel laten verlopen. 

Alle toepassingen zijn uniek en laten zien hoe uitgebreid YOLO-World gebruikt kan worden. Laten we vervolgens aan de slag gaan met YOLO-World en een coderingsvoorbeeld bekijken.

Een code wandeling door

Zoals we al eerder zeiden, kan YOLO-World worden gebruikt om verschillende onderdelen van een auto te detecteren voor onderhoud. Een computervisietoepassing die reparaties opspoort die nodig zijn, zou bestaan uit het maken van een foto van de auto, het identificeren van auto-onderdelen, het onderzoeken van elk onderdeel van de auto op schade en het aanbevelen van reparaties. Elk onderdeel van dit systeem zou verschillende AI technieken en benaderingen gebruiken. Laten we ons in het kader van deze code-doorloop richten op het gedeelte waarin auto-onderdelen worden gedetecteerd.

Met YOLO-World kun je in minder dan 5 minuten verschillende auto-onderdelen in een afbeelding identificeren. Je kunt deze code ook uitbreiden om verschillende toepassingen uit te proberen met YOLO-World! Om te beginnen moeten we het pakketUltralytics pip installeren, zoals hieronder te zien is.

# Install ultralytics package
pip install ultralytics

Kijk voor meer instructies en best practices met betrekking tot het installatieproces in onze Ultralytics Installatiegids. Als je tijdens het installeren van de benodigde pakketten voor YOLOv8 problemen tegenkomt, kijk dan in onze gids Veelgestelde problemen voor oplossingen en tips.

Zodra je het benodigde pakket hebt geïnstalleerd, kunnen we een afbeelding downloaden van het internet om onze inferenties op uit te voeren. We gaan de afbeelding hieronder gebruiken.

Onze invoerafbeelding.

Vervolgens importeren we het benodigde pakket, initialiseren we ons model en stellen we de klassen in die we zoeken in onze invoerafbeelding. Hier zijn we geïnteresseerd in de volgende klassen: auto, wiel, autodeur, autospiegel en kentekenplaat.

# Import YOLOWorld class from ultralytics module
from ultralytics import YOLOWorld

# Initialize the model with pre-trained weights
model = YOLOWorld('yolov8s-world')

# Set the classes you'd like to find in your image
model.set_classes(["car", "wheel", "car door", "car mirror", "license plate"])

We gebruiken dan de predict methode, waarbij we het pad van de afbeelding opgeven samen met parameters voor het maximale aantal detecties en drempelwaarden voor intersectie over unie (IoU) en vertrouwen (conf) om een gevolgtrekking op de afbeelding uit te voeren. Tot slot worden de gedetecteerde objecten opgeslagen in een bestand met de naam 'result.jpg.

# Run object detection for your custom classes on your image
results = model.predict('path_to_your_image.jpg', max_det=100, iou=0.01, conf=0.01)

# Save the results
results[0].save(filename='result.jpg')

De volgende uitvoerafbeelding wordt opgeslagen in je bestanden.

Onze uitvoerafbeelding.

Als je liever wilt zien wat YOLO-World kan doen zonder te coderen, kun je naar de YOLO-World Demo pagina gaan, een afbeelding uploaden en de aangepaste klassen invoeren. 

Lees onze docs pagina op YOLO -World om te leren hoe je het model met de aangepaste klassen kunt opslaan zodat het later direct gebruikt kan worden zonder steeds opnieuw aangepaste klassen in te voeren.

Is het je opgevallen dat de autodeuren niet werden gedetecteerd?

Als je nog eens naar de uitvoerafbeelding kijkt, zul je zien dat de aangepaste klasse "autodeur" niet is gedetecteerd. Ondanks de grote prestaties heeft YOLO-World bepaalde beperkingen. Om deze beperkingen te bestrijden en het YOLO-World model effectief te gebruiken, is het belangrijk om de juiste soorten tekstuele prompts te gebruiken. 

Hier is wat inzicht in:

  • YOLO-Wereld heeft misschien geen hoge betrouwbaarheidsniveaus nodig voor nauwkeurige voorspellingen, dus het verlagen van betrouwbaarheidsdrempels kan de detectiepercentages verbeteren.
  • Voeg klassen toe waarin je niet geïnteresseerd bent. Het zal helpen om de detectie van primaire objecten te verbeteren door vals-positieven voor secundaire objecten te verminderen.
  • Door eerst grotere objecten te detecteren voordat je je richt op kleinere details, kun je de detectienauwkeurigheid verbeteren.
  • Vermeld kleuren in je lessen om objecten te detecteren op basis van kleuraanwijzingen.
  • Het beschrijven van objectgroottes in aanwijzingen kan YOLO-World ook helpen om specifieke objecten nauwkeuriger te identificeren.
  • Methoden voor nabewerking, zoals het filteren van voorspellingen op grootte of het aanpassen van betrouwbaarheidsniveaus per klasse, kunnen de resultaten voor objectdetectie verder verbeteren.

De grenzen zijn eindeloos

Over het geheel genomen kan YOLO-World modellen tot een krachtig hulpmiddel worden gemaakt met hun geavanceerde mogelijkheden voor objectdetectie. Het biedt een grote efficiëntie en nauwkeurigheid en helpt bij het automatiseren van verschillende taken in verschillende toepassingen, zoals het voorbeeld van het identificeren van auto-onderdelen dat we praktisch hebben besproken.

Voel je vrij om onze GitHub repository te verkennen voor meer informatie over onze bijdragen aan computer vision en AI. Als je nieuwsgierig bent naar hoe AI sectoren zoals de gezondheidszorg opnieuw vormgeeft, bekijk dan onze oplossingenpagina's. De mogelijkheden met innovaties als YOLO-World lijken eindeloos!

Laten we samen bouwen aan de toekomst
van AI!

Begin je reis met de toekomst van machine learning

Lees meer in deze categorie