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.
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.
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:
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 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:
YOLO-Wereldmodellen kunnen voor veel verschillende toepassingen worden gebruikt. Laten we er een paar verkennen.
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.
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.
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.
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.
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.
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.
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.
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.
De volgende uitvoerafbeelding wordt opgeslagen in je bestanden.
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.
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:
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!
Begin je reis met de toekomst van machine learning