Ga naar hoofdinhoud

Kijken als een machine: een beginnersgids voor beeldanalyse in machine learning

Ontdek hoe computers beelden ‘zien’ en interpreteren, technieken om afbeeldingen te bewerken, en hoe machine learning alles heeft veranderd.
Bijgewerkt 2 okt 2026  · 15 min lezen

Verken met AI

ChatGPTClaudePerplexity

Beelden en video’s zijn overal. Als mensen vertrouwen we op ons zicht voor allerlei taken, zoals autorijden, onze vrienden herkennen en problemen diagnosticeren. Nu computers steeds meer betrokken raken bij onze dagelijkse taken, is het des te belangrijker dat zij ook met beelden kunnen werken. Beeldanalyse is de manier waarop computers kunnen “zien” en een afbeelding begrijpen. Wanneer beeldanalyse wordt aangestuurd door machine learning, noemen we het computer vision.

Deze tutorial loodst je door hoe computers afbeeldingen “zien”, behandelt de basis van beeldbewerking en bespreekt tot slot hoe machine learning en generatieve AI op afbeeldingen kunnen worden toegepast. Laten we beginnen!

Als je meer wilt leren over beeldclassificatie, bekijk dan onze code-along over Image Classification with Hugging Face. 

Wat is Computer Vision?

Computer Vision is een deelgebied van kunstmatige intelligentie waarmee computers en systemen betekenisvolle informatie kunnen halen uit digitale afbeeldingen, video’s en andere visuele input. Het is de wetenschap en technologie van machines die kunnen zien. Als wetenschappelijke discipline probeert computer vision zijn theorieën en modellen toe te passen op de bouw van computersystemen die kunnen zien.

In de kern draait computer vision om het interpreteren van visuele data. Het omvat het vastleggen, verwerken, analyseren en begrijpen van digitale beelden om uit de echte wereld hoog-dimensionale data te extraheren en die om te zetten in numerieke of symbolische informatie die door een machine gebruikt kan worden. Het maakt gebruik van methoden en technieken uit uiteenlopende disciplines, zoals natuurkunde, wiskunde, elektrotechniek en informatica.

Introductie tot beeldanalyse

Op het laagste niveau werken computers met enen en nullen. Dat is bij afbeeldingen niet anders. Computers kunnen een afbeelding weergeven als een matrix van enen en nullen. Wanneer een computer een afbeelding toont, verschijnt er een raster van pixels, elk gevuld met één kleur. Neem een heel eenvoudige vorm, zoals de zwarte driehoek hieronder.

Figuur 2: Zwarte driehoek met elke pixel omlijnd.

Figuur 1: Een eenvoudige driehoek met lage resolutie, opgebouwd uit 28 pixels.

Deze vorm bestaat uit 28 pixels: 16 zwarte pixels en 12 witte pixels. Je kunt in de onderstaande afbeelding de omlijning van elke pixel zien.

Figuur 2: Zwarte driehoek met elke pixel omlijnd.

Maar deze afbeelding is slechts een weergave van de matrix met getallen die door de computer wordt opgeslagen.

Figuur 3: Een demonstratie van de enen en nullen in de matrix waaruit de driehoeksafbeelding is opgebouwd.

Figuur 3: Een demonstratie van de enen en nullen in de matrix waaruit de driehoeksafbeelding is opgebouwd.

Dit is vrij eenvoudig voor afbeeldingen met slechts twee kleuren: zwart en wit. Als je afbeelding grijstinten heeft, heb je meer nuance nodig. Dan kom je bijvoorbeeld uit op getallen als 0,015 in de vakjes. Dit getal vertelt de computer in feite welke luminantie elke pixel op het scherm moet krijgen. Het definieert een waarde tussen zwart (1) en wit (0).

Kleurenafbeeldingen analyseren

Maar afbeeldingen zijn zelden zo saai. Wat doen computers met kleurrijke beelden? Laten we deze driehoek groen maken!

Figuur 4: Dezelfde driehoek van 28 pixels als eerder, maar met een vleugje kleur!

Figuur 4: Dezelfde driehoek van 28 pixels als eerder, maar met een vleugje kleur!

In dit geval kun je geen getal tussen nul en één gebruiken om deze kleur te beschrijven. Er zijn te veel kleuren om ze elk praktisch één enkel, intuïtief getal toe te wijzen.

In plaats daarvan zijn er een paar systemen ontwikkeld die de afzonderlijke componenten van een kleur ontleden en aan elk onderdeel een getal toewijzen.

Je hebt bijvoorbeeld misschien gehoord van RGB. Dit is een kleurmodel dat elke kleur opdeelt in de hoeveelheid rood, groen en blauw die samen de gewenste kleur vormen.

Het RGB-model komt voort uit het gebruik van schermen met rode, groene en blauwe pixels, zoals televisies. Dit model ondersteunt de additieve kleurmenging die licht in deze apparaten gebruikt.

In dit systeem worden rood, blauw en groen “kanalen” genoemd. Voor een 8-bits afbeelding krijgt elk kanaal een waarde tussen 0 en 255 (de maximale waarde van een binair getal met 8 cijfers).

Laten we bekijken wat dit betekent voor onze simpele groene driehoek.

De RGB-waarden voor deze tint groen zijn respectievelijk 154, 205 en 50. Merk op dat als dit puur groen was, de rode en blauwe kanalen elk 0 zouden zijn. Deze RGB-weergave laat zien dat er best wat rood en een beetje blauw in het groen zijn gemengd om deze tint te maken. Elke pixel heeft drie kanaalwaarden die hem beschrijven. Elke groene pixel wordt weergegeven door 154, 205, 50, en elke witte pixel door 0, 0, 0.

Dat betekent dat deze eenvoudige groene driehoek van 28 pixels wordt weergegeven door drie 7x4-matrices.

Je kunt je voorstellen dat deze drie matrices op elkaar stapelen om deze afbeelding te vormen.

Figuur 5

Figuur 5: Bij deze eenvoudige groene driehoek bevat elk kleurkanaal in het RGB-systeem een matrix met pixelwaarden die de afbeelding weergeven. Samen vormen deze drie matrices één afbeelding!

Je ziet hoe afbeeldingen snel veel ruimte kunnen innemen op een computer als elke pixel drie getallen nodig heeft. Sta even stil bij hoeveel getallen een afbeelding met hoge resolutie bevat, bijvoorbeeld een 4K-afbeelding (met 4.000 pixels).

RGB is niet het enige systeem om kleuren aan afbeeldingen toe te wijzen. Je hebt misschien gehoord van CYMK, dat vier getallen gebruikt om elke kleur te beschrijven. Dit model gebruikt vier kleuren: cyaan, magenta, geel en zwart. Dit is handig in situaties waarin je een subtractief kleurmodel nodig hebt, bijvoorbeeld bij drukwerk.

Elk kleursysteem heeft voor- en nadelen, en het kan de moeite waard zijn er een paar te onderzoeken als je tijdens de analyse tegen geheugengrenzen aanloopt. Voor deze tutorial houden we het bij RGB.

Wat kun je dan doen met deze matrices van pixelwaarden?

Handmatige technieken voor beeldanalyse

Objecten isoleren met thresholding

Hoe bepaalt een computer welke pixels een gezicht of ander object voorstellen? Tegenwoordig wordt veel van dat identificatiewerk gedaan met machine learning-modellen. Maar om die te begrijpen, is het handig eerst te weten hoe je handmatig een figuur in een afbeelding isoleert.

Stel, je hebt een video van twee hagedissen tegen een lichte achtergrond. Voor de eenvoud maak je de video grijswaarden, zodat er maar één kanaal is om rekening mee te houden. Je wilt de beweging van de hagedis in de video volgen.

Een video is gewoon een reeks foto’s (of frames) achter elkaar. Dus het eerste wat je moet doen, is die stapel uit elkaar halen en elke foto apart nemen. Nu je één grijswaarde-afbeelding hebt, moet je de computer laten zien welk deel van de foto een hagedis is en welk deel niet.

In theorie zou je met je muis naar elke pixel kunnen wijzen die de hagedis vormt en hem labelen als “hagedis.” Maar gezien de resolutie van de meeste foto’s en het feit dat je veel foto’s hebt die samen je video vormen, is dat onrealistisch.

In plaats daarvan kun je een regel bedenken die de computer vertelt wat wel en niet bij de hagedis hoort. De eenvoudigste manier om dit te doen is met thresholding.

Figuur 6: Om het eenvoudig te houden, werken we met deze foto in grijstinten.

Figuur 6: Om het eenvoudig te houden, werken we met deze foto in grijstinten.

Wat is thresholding?

Thresholding is het segmenteren van een afbeelding op basis van de numerieke waarde die aan elke pixel is toegekend. Kijk nog eens naar de grijswaarde-afbeelding van de hagedissen. Merk op dat de hagedissen donkerder lijken dan de achtergrond. In veel beelden is er een verschil in luminantie tussen het object dat we willen isoleren en de achtergrond.

Thresholding is het proces waarbij je de rand van het object — in dit geval de hagedissen — vindt aan de hand van dat luminantieverschil. Deze techniek probeert een drempelluminantie te definiëren die lichte en donkere pixels scheidt.

Een binaire afbeelding maken

Stel je de matrix met getallen voor die deze grijswaarde-afbeelding definieert. Elke pixel wordt gedefinieerd door een getal tussen 0 en 255.

Met thresholding kun je een regel definiëren dat alles wat voldoende donker is, een hagedis is. Je zou bijvoorbeeld kunnen zeggen dat elke pixel met een waarde van 130 of hoger een hagedis is, en alles lager dan 130 geen hagedis is.

Technisch zet je alles met onze drempelwaarde of hoger op 255 en al het andere op 0. Dit levert een binaire afbeelding op met zwarte en witte pixels. Als je een goede drempelwaarde kiest, zijn de hagedissen zwart tegen een witte achtergrond.

Figuur 7: Binaire afbeelding gegenereerd met een drempelwaarde van 130.

Figuur 7: Binaire afbeelding gegenereerd met een drempelwaarde van 130.

In dit voorbeeld kozen we willekeurig het getal 130 als drempel. Maar om onze hagedissen nauwkeurig te isoleren, wil je een getal kiezen dat het overgrote deel van de hagedissen dekt en tegelijk zo min mogelijk pixels meeneemt die er niet bij horen.

Dit proces, waarbij je één drempelwaarde kiest voor de hele afbeelding, heet globale thresholding. Het is een ruwe manier om je doel te isoleren en is vaak verre van perfect. Als je een perfect gesilhouetteerde hagedis op een perfect witte achtergrond hebt, werkt globale thresholding uitstekend. Maar zoals je in dit voorbeeld ziet, zijn echte beelden zelden zo makkelijk. Je hebt waarschijnlijk een complexere methode nodig.

Zo’n methode heet lokale thresholding. Hierbij kies je verschillende drempelwaarden voor verschillende delen van je afbeelding. Dit is vooral nuttig als je een lichtgradiënt in de achtergrond hebt. Er zijn veel andere optimalisatiemethoden met uiteenlopende complexiteit, en de keuze hangt af van je situatie.

Het is ook mogelijk om kleurenafbeeldingen te thresholden. Dat is echter veel complexer en valt buiten de scope van deze tutorial.

Morfologische analyse

Hoewel thresholding je een heel eind kan brengen met het isoleren van de hagedissen, is het niet perfect. Je kunt nog steeds delen van de achtergrond als hagedis definiëren of delen van de hagedis missen. Je hebt een extra hulpmiddel nodig om de dieren verder te isoleren. Met thresholding definieerde je een regel op basis van kleur of luminantie. Nu definieer je een regel op basis van vorm, met morfologische operaties.

Een vorm definiëren met structuurelementen

Morfologische operaties gebruiken structuurelementen om de randen van vormen te bepalen. Een structuurelement is een kleine matrix met een specifieke vorm, meestal een vierkant, cirkel of kruis. Je kunt ook de grootte van het structuurelement aanpassen voor verschillende effecten.

Tijdens een morfologische operatie wordt elke pixel vergeleken met zijn buren binnen die vorm. Er zijn twee basale morfologische operaties die je kunt gebruiken om de vorm van ons beoogde object te definiëren: dilatatie (uitdijen) en erosie.

Dilatatie

Bij dilatatie geldt: als een van de naburige pixels binnen de grenzen van het structuurelement donker is (in dit geval 1), dan wordt de doelpixel ook een 1.

Stel je voor dat je over een raster met getallen gaat met een vierkante vergrootglasvorm. Je zet één van de getallen in het midden van het vierkant en kijkt naar de andere getallen binnen dat vierkant. Als er een 1 tussen zit, label je het getal in het midden als 1, ongeacht de oorspronkelijke waarde.

Op deze manier kan dilatatie de grenzen van objecten uitbreiden of gaten opvullen.

Erosie

Erosie werkt hetzelfde als dilatatie, maar met het omgekeerde effect. Bij erosie geldt: als een van de buren van een pixel 0 is, dan wordt die pixel opnieuw gedefinieerd als 0. Dit kan objecten scheiden, ruis verminderen en randen verfijnen.

Figuur 8

Figuur 8: Visueel voorbeeld van dilatatie en erosie met een kruisvormig structuurelement. In dit voorbeeld voerden we de morfologische operatie alleen uit op de tweede rij van de matrix. In een echte afbeelding zou dit op elke pixel worden toegepast. Maar zelfs met dit eenvoudige voorbeeld zie je hoe erosie de randen van de lijn scheidde, terwijl dilatatie de lijn verdikte.

Je ziet hoe dilatatie en erosie de binaire hagedisafbeelding aanpassen.

Figuur 9: Voorbeeld van erosie en dilatatie toegepast op de hagedisfoto. Het gebruikte structuurelement was een vierkant van 6x6.

Dilatatie en erosie combineren

Dilatatie en erosie kunnen iteratief of sequentieel worden gebruikt om het eindresultaat te beïnvloeden. Het is gebruikelijk om beide te gebruiken om je geïsoleerde afbeelding verder te verfijnen.

Wanneer erosie wordt gevolgd door dilatatie, worden kleine uitsteeksels en ruis verwijderd en wordt de overgebleven omtrek versterkt. Deze techniek heet openen.

Wanneer dilatatie wordt gevolgd door erosie, worden kleine gaatjes en kieren opgevuld en worden randen netter. Deze techniek heet sluiten.

Figuur 10: Demonstratie van open- en sluitbewerkingen met een 6x6 vierkant structuurelement op de hagedisfoto.

Figuur 10: Demonstratie van open- en sluitbewerkingen met een 6x6 vierkant structuurelement op de hagedisfoto.

Je ziet dat geen van deze afbeeldingen onze hagedissen perfect van de achtergrond isoleert. Maar met elke aanpassing en iteratie kom je dichterbij.

Bij de volgende iteratie kun je de computer laten negeren wat buiten een bepaalde maat valt. Dit verwijdert de meeste spikkels en laat de hagedissen intact. Leer dit zelf in de Image Processing in Python Course op DataCamp!

Voor elke afbeelding of reeks afbeeldingen kun je een set regels opstellen om de computer te vertellen hoe je doelwit eruitziet. Vervolgens kan de computer die informatie gebruiken om beslissingen te nemen.

Die beslissingen beïnvloeden alles, van het identificeren van sterrenstelsels tot het vinden van ziek weefsel. Maar voor elke foto afzonderlijk een reeks regels maken is tijdrovend en saai. Daar komt machine learning om de hoek kijken.

Toezicht houdende (supervised) machine learning voor beeldanalyse

Een supervised ML-model trainen

Zoals je zag, kan handmatig beelden analyseren veeleisend zijn, omdat er enorm veel variabelen meespelen. Gelukkig kan machine learning (ML) helpen dit proces te automatiseren. Voor een diepgaande blik op machine learning kun je kijken naar Machine Learning Scientist with Python of Supervised Machine Learning. Deze tutorial behandelt alleen kort de ML-aspecten die nuttig zijn om beeldverwerking te begrijpen.

Er zijn grofweg twee categorieën ML: supervised ML en unsupervised ML.

Bij supervised ML geef je de computer in feite een groot aantal afbeeldingen die je vooraf labelt. Het lijkt een beetje op een baby leren hoe dieren eruitzien door naar ze te wijzen en te zeggen: “Dit is een olifant.” Het is aan de baby om een patroon te ontdekken voor de dingen die wij olifant noemen en de dingen die wij vis noemen.

Bij supervised ML doet de computer iets soortgelijks als die baby.

Figuur 11

Figuur 11: Door DALL-E gegenereerde afbeelding van een moeder die naar speelgoeddieren wijst om een baby te laten zien hoe ze eruitzien. Supervised learning werkt op een vergelijkbare manier, waarbij voorbeelden met het juiste antwoord worden gegeven.

Annotatie en feature-extractie

Stel, je wilt een machine learning-model trainen om objecten te identificeren in een afbeelding die het nog nooit heeft gezien. De eerste stap bij het trainen van dit supervised model is het annoteren en labelen van een verzameling afbeeldingen, de trainingsdataset. Annoteren houdt in dat je handmatig de interessante gebieden in een afbeelding identificeert en markeert.

Als we bijvoorbeeld een model willen trainen om verschillende soorten dieren te classificeren, zouden we elke afbeelding annoteren door de aanwezige dieren te omkaderen en ze het bijbehorende klasselabel te geven, ‘koe’, ‘kat’, enzovoort. Deze geannoteerde dataset vormt de basis voor het trainen van het model. Er zijn ook al veel publiek beschikbare gelabelde datasets om mee te werken.

Zodra je de gelabelde trainingsdataset hebt, moet je relevante features uit de afbeeldingen extraheren. Feature-extractie houdt in dat je belangrijke kenmerken of patronen identificeert en vastlegt die de ene klasse van de andere onderscheiden.

In ons dierenvoorbeeld kun je bijvoorbeeld definiëren dat een belangrijk kenmerk van koeien vier poten en vlekken zijn.

Convolutionele neurale netwerken

Er zijn diverse technieken beschikbaar voor feature-extractie bij beeldverwerking, variërend van eenvoudige methoden zoals kleurhistogrammen en textuurdescriptors tot geavanceerdere benaderingen zoals convolutionele neurale netwerken (CNN’s).

CNN’s zijn een populair supervised leeralgoritme dat tijdens het trainen automatisch belangrijke kenmerken en patronen leert uit gelabelde afbeeldingen. Ze bestaan uit lagen, waarbij elke laag specifieke bewerkingen uitvoert op de beelddata.

Convolutionele lagen passen filters toe om lokale patronen vast te leggen, terwijl pooling-lagen de ruimtelijke dimensies verkleinen. Volledig verbonden lagen combineren informatie uit de voorgaande lagen. Via deze sequentiële bewerkingen extraheert en combineert het netwerk features om nauwkeurige voorspellingen te doen over wat er in de afbeelding staat.

Een architectuur kiezen

Het trainingsproces van een supervised ML-model, zoals een CNN, omvat verschillende stappen. Eerst moeten de gegevens worden voorbewerkt om consistentie en kwaliteit te waarborgen. Dit kan inhouden: het formaat wijzigen van de afbeeldingen, pixelwaarden normaliseren en de dataset vergroten door transformaties zoals rotaties of flips toe te passen om de diversiteit te verhogen.

Vervolgens ontwerp je de architectuur van het CNN-model. In wezen is de architectuur het aantal en type lagen dat je gebruikt en de configuraties waarin je ze inzet. De architectuur moet zorgvuldig worden gekozen om complexiteit en eenvoud in balans te brengen, zodat het model de essentiële features kan vastleggen en overfitting kan vermijden. Het kan nuttig zijn om met een gevestigde architectuur te beginnen en die aan te passen aan jouw behoeften. Je vindt een handige lijst met architecturen in een externe bron.

Figuur 12: Eenvoudige voorbeeldarchitecturen van CNN's.

Figuur 12: Eenvoudige voorbeeldarchitecturen van CNN’s.

Overfitting

Overfitting is wanneer de computer heel goed wordt in het labelen van de afbeeldingen in de trainingsdataset, maar vervolgens nieuwe afbeeldingen buiten die set niet accuraat kan identificeren.

Deze overfitting treedt meestal op omdat de computer een bias heeft opgepikt die wij mensen per ongeluk in de trainingsset hebben geïntroduceerd en die niet representatief is voor de werkelijkheid (bijvoorbeeld dat de meeste kattenfoto’s een blauwe achtergrond hebben). Er zijn veel technieken om te voorkomen dat het model de trainingsdata uit het hoofd leert, en het in plaats daarvan algemene patronen laat leren.

Een supervised ML-model trainen

Zodra de modelarchitectuur is gedefinieerd, moet je de parameters van het model initialiseren en het trainingsproces starten.

Tijdens het trainen past het model zijn parameters iteratief aan met optimalisatietechnieken zoals gradient descent, om het verschil te minimaliseren tussen zijn voorspellingen en de ground truth-labels die je eerder hebt gedefinieerd.

Dit proces omvat het berekenen van de verliesfunctie, die de voorspellingsfout van het model kwantificeert, en het bijwerken van de parameters op basis daarvan.

Een supervised ML-model trainen voor beeldanalyse is een iteratief proces. Je traint het model met de gelabelde dataset, evalueert de prestaties op een validatieset en voert aanpassingen door om de nauwkeurigheid te verbeteren. Deze iteratieve lus gaat door totdat het model bevredigende resultaten behaalt.

Toepassingen van supervised ML-modellen bij beeldanalyse

Zodra het supervised ML-model is getraind op gelabelde beelddata, kan het worden toegepast op verschillende taken binnen beeldanalyse. Hieronder staan enkele veelvoorkomende toepassingen die de effectiviteit van supervised ML-modellen bij beeldverwerking illustreren.

Beeldclassificatie

Beeldclassificatie is een basistaak waarbij het doel is om een label of klasse toe te kennen aan een invoerafbeelding.

Zo kan een supervised ML-model worden getraind om afbeeldingen van dieren in te delen in categorieën zoals ‘vis’, ‘hagedis’ of ‘kever’.

Figuur 13: Een voorbeeld van beeldclassificatie. Deze afbeelding is geclassificeerd als “Dinner.”

Figuur 13: Een voorbeeld van beeldclassificatie. Deze afbeelding is geclassificeerd als “Dinner.”

Door te leren van een diverse dataset met gelabelde voorbeelden kan het model generaliseren en afbeeldingen met hoge nauwkeurigheid classificeren. Deze techniek kan worden gebruikt voor taken zoals het identificeren van ziekten in medische beelden, het herkennen van objecten in satellietbeelden en zelfs het classificeren van emoties op basis van gezichtsuitdrukkingen. Bekijk dit DataCamp-webinar voor meer details.

Objectdetectie

Objectdetectie is een andere belangrijke toepassing van supervised ML-modellen in beeldanalyse. In tegenstelling tot beeldclassificatie houdt objectdetectie niet alleen in dat de aanwezige objecten in een afbeelding worden herkend, maar ook dat hun locatie wordt bepaald door er begrenzingsvakken omheen te tekenen.

Dit stelt het model in staat om meerdere objecten van belang binnen één afbeelding te identificeren.

Figuur 14: Een voorbeeld van objectdetectie. Diverse objecten in deze afbeelding zijn geïdentificeerd.

Figuur 14: Een voorbeeld van objectdetectie. Diverse objecten in deze afbeelding zijn geïdentificeerd.

Toepassingen van objectdetectie zijn onder meer autonoom rijden, waarbij modellen voetgangers, voertuigen en verkeersborden kunnen detecteren en volgen, evenals bewakingssystemen om personen of objecten van belang te identificeren en te volgen. Facebook en Instagram gebruiken deze methode ook wanneer ze je gezicht in foto’s herkennen.

Uitdagingen van supervised ML-modellen

Hoewel de mogelijkheden van supervised ML-modellen bij beeldanalyse indrukwekkend zijn, zijn er beperkingen en uitdagingen om rekening mee te houden.

Een grote uitdaging is de noodzaak van grote hoeveelheden gelabelde trainingsdata. Het annoteren en labelen van afbeeldingen kan tijdrovend en arbeidsintensief zijn.

Supervised ML-modellen zijn ook gevoelig voor biases in de trainingsdata, wat kan leiden tot bevooroordeelde voorspellingen of oneerlijke uitkomsten. Het aanpassen van modellen aan nieuwe domeinen of nieuwe beeldcategorieën kan extra training of fine-tuning vereisen.

En het interpreteren van de geleerde representaties en besluitvormingsprocessen van complexe modellen zoals CNN’s kan lastig zijn, waardoor het moeilijker wordt te begrijpen waarom een model een bepaalde voorspelling deed.

Ondanks deze uitdagingen blijven supervised ML-modellen de grenzen van beeldanalyse verleggen, wat leidt tot opmerkelijke vooruitgang in sectoren als gezondheidszorg, landbouw en veiligheid.

Naarmate onderzoek en ontwikkeling in het veld vorderen, zal het aanpakken van deze uitdagingen en het verfijnen van de modellen de weg vrijmaken voor nog nauwkeurigere en betrouwbaardere oplossingen voor beeldverwerking.

Onbegeleid (unsupervised) machine learning voor beeldanalyse

Unsupervised learning gebruiken

Een alternatief voor supervised learning is unsupervised machine learning. In tegenstelling tot supervised learning is unsupervised learning niet afhankelijk van gelabelde data, maar probeert het verborgen patronen, structuren of relaties in de data zelf te ontdekken.

Het doel van unsupervised learning in beeldanalyse is om betekenisvolle structuren en inzichten uit ongelabelde beelddata te halen. Door unsupervised technieken te gebruiken, kun je waardevolle informatie extraheren en een dieper begrip krijgen van de onderliggende kenmerken van afbeeldingen.

Unsupervised learning kan helpen bij het identificeren van clusters van vergelijkbare afbeeldingen, het ontdekken van patronen of texturen die kenmerkend zijn voor bepaalde beeldklassen, en het detecteren van anomalieën of uitschieters in de data.

Hoe unsupervised learning verschilt

Als supervised learning lijkt op een baby vertellen wat een koe is en wat een vis is, dan is unsupervised learning een baby een hoop dieren geven en hem laten sorteren zoals hij wil. Ze sorteren de dieren misschien op grootte, aantal poten, textuur of kleur.

Het eindresultaat kan lijken op wat je had gekregen door ze op soort te scheiden, of juist heel anders! Maar het onderzoeken van de kenmerken van de uiteindelijke categorieën kan je alsnog nuttige informatie geven.

Figuur 15: Door DALL-E gegenereerde afbeelding van een baby die dierenspeelgoed sorteert in een unsupervised leeromgeving.

Figuur 15: Door DALL-E gegenereerde afbeelding van een baby die dierenspeelgoed sorteert in een unsupervised leeromgeving.

Beeldanalyse met unsupervised ML-modellen

Unsupervised machine learning-modellen bieden spannende mogelijkheden voor beeldanalyse door afbeeldingen in bakken of categorieën te sorteren zonder gelabelde data nodig te hebben.

Stel je voor dat je een enorme verzameling afbeeldingen hebt en die wilt indelen in betekenisvolle groepen. Unsupervised ML-modellen kunnen de visuele kenmerken van de afbeeldingen analyseren en ze groeperen op basis van gedeelde eigenschappen, zoals kleur of vorm. Dit levert waardevolle inzichten op en vereenvoudigt beeldanalysetaken.

Clustering-algoritmen

Clustering-algoritmen groeperen vergelijkbare afbeeldingen op basis van gedeelde kenmerken. Een veelgebruikt clustering-algoritme is k-means clustering, dat de data verdeelt in een vooraf bepaald aantal clusters door iteratief de wiskundige afstand tussen elke afbeelding in een set te minimaliseren.

Hiërarchische clustering is een andere aanpak die een hiërarchische structuur van afbeeldingsets maakt door sets recursief samen te voegen of te splitsen op basis van hun overeenkomst. Met deze clustering-algoritmen ontdekken we natuurlijke groeperingen binnen ongelabelde beelddatasets, wat inzicht geeft in beeldgelijkenis en -diversiteit.

Beeldsegmentatie

Unsupervised learning is vooral waardevol bij beeldsegmentatie, waarbij een afbeelding wordt opgedeeld in betekenisvolle regio’s of objecten.

Door clusteringtechnieken of andere unsupervised methoden toe te passen, kun je een afbeelding scheiden in verschillende regio’s op basis van kleur, textuur of andere kenmerken.

Deze techniek is nuttig in medische beeldvorming voor het vinden van tumoren, in satellietbeelden voor landbedekkingsclassificatie, of in computergrafiek voor het extraheren van voor- en achtergrond.

Patroonherkenning

Patroonherkenning is nog een gebied waarin unsupervised learning uitblinkt.

Unsupervised algoritmen kunnen representaties of features leren die de onderliggende patronen of structuren in de data vastleggen. Door deze geleerde features te extraheren, kunnen afbeeldingen worden geclassificeerd of gegroepeerd op basis van gedeelde patronen of visuele gelijkenissen. Dit maakt taken zoals image retrieval of het synthetiseren van beelden mogelijk.

Anomaliedetectie

Unsupervised learning wordt ook gebruikt voor het detecteren van anomalieën. Door de normale patronen of kenmerken van een dataset te leren, kunnen unsupervised algoritmen afbeeldingen of regio’s identificeren die afwijken van de rest. Dit is vooral nuttig in bijvoorbeeld surveillance, waar het detecteren van ongebruikelijke of verdachte activiteiten kan helpen bij beveiligingsmonitoring.

Uitdagingen van unsupervised ML-modellen

Unsupervised learning kent zijn eigen uitdagingen. Een belangrijke uitdaging is het begrijpen van de resultaten, omdat er geen ground truth of gelabelde data is om mee te vergelijken.

Terug naar het voorbeeld van het sorteren van dieren: je kunt eindigen met een categorie met een paard, kever en octopus die allemaal bruin zijn, terwijl een andere categorie een wit paard, een konijn en een bloem bevat. Omdat je niet hebt aangegeven hoe je de dieren moet sorteren, kun je groepen krijgen die niet zo betekenisvol zijn.

Het kan lastig zijn om de kwaliteit en nauwkeurigheid te beoordelen van de clusters of patronen die het unsupervised model oplevert.

Voordelen van unsupervised ML-modellen

Unsupervised ML-modellen bieden verschillende voordelen bij beeldverwerking. Het belangrijkste is dat ze de noodzaak van uitgebreide handmatige labeling wegnemen, wat het werken met grootschalige beelddatasets makkelijker en kostenefficiënter maakt.

Stel je voor dat je handmatig elke afbeelding op Instagram moet doorlopen en labelen. Unsupervised machine learning-modellen nemen die lange, arbeidsintensieve klus weg.

Unsupervised ML-modellen kunnen ook verborgen patronen en structuren in de data onthullen, waardoor mensen nieuwe inzichten kunnen opdoen en visuele relaties kunnen ontdekken die niet meteen zichtbaar zijn.

Deze verkennende aard van unsupervised learning opent nieuwe wegen voor beeldanalyse en kan leiden tot doorbraken in uiteenlopende domeinen, waaronder ruimteonderzoek, robotica en geneeskunde.

 

Supervised ML

Unsupervised ML

Taken

  • Beeldclassificatie
  • Objectdetectie
  • Patroonherkenning
  • Anomaliedetectie

Voordelen

  • Voorspelbaardere, betekenisvolle resultaten
  • Kan met kleinere datasets werken
  • Minder arbeidsintensief
  • Kan verborgen patronen en nieuwe inzichten onthullen

Nadelen

  • Arbeidsintensiever
  • Gevoelig voor biases in trainingsdata
  • Resulterende groepen kunnen minder betekenisvol zijn
  • Resultaten kunnen onverwacht zijn

Figuur 16: Vergelijking van supervised en unsupervised machine learning in beeldverwerking.

Nieuwe afbeeldingen genereren met generatieve AI

Zodra een model heeft bepaald welke kenmerken verschillende objecten in afbeeldingen definiëren, kan het die informatie gebruiken om nieuwe afbeeldingen te maken.

DALL-E en Midjourney zijn opvallende voorbeelden van unsupervised ML-modellen die de kracht van generatieve modellering benutten om nieuwe beelden te genereren. Door training op enorme datasets hebben deze modellen de componenten geleerd die nodig zijn om afbeeldingen met bepaalde classificaties te maken.

Als je DALL-E dus vraagt om een afbeelding van een robotpanda te maken, raadpleegt het model zijn interne definitie van wat robots en panda’s vormen en zet het die stukken bij elkaar om de gevraagde afbeelding te maken.

Zo kan het bepalen dat robots van metaal en tandwielen zijn, terwijl panda’s zwart-wit zijn. Het gebruikt die informatie om voor jou een metalen, zwart-witte pandarobot met tandwielen te maken.

Figuur 17: Door DALL-E gegenereerde afbeelding met de prompt 'Panda Robot'.

Figuur 17: Door DALL-E gegenereerde afbeelding met de prompt 'Panda Robot'.

Conclusie

Deze tutorial is een verkenning op hoog niveau van beeldanalyse, met als doel het beter begrijpen van de rol ervan in machine learning. Je zou nu beter moeten aanvoelen hoe computers afbeeldingen ‘zien’ en manipuleren en een basisbegrip hebben van belangrijke ML-concepten zoals preprocessing, feature-extractie en classificatie-algoritmen.

Beeldverwerking speelt een enorme rol in ons leven, van sociale media tot medische beeldvorming, van ruimteonderzoek tot surveillance. Als je dieper in dit fascinerende onderwerp wilt duiken, bekijk dan Image Processing with Python , Image Processing with Keras in Python, en Deep Learning for Images with PyTorch op DataCamp.


Amberle McKee's photo
Author
Amberle McKee
LinkedIn

Ik ben gepromoveerd en heb 13 jaar ervaring met het werken met data in een biologische onderzoeksomgeving. Ik maak software in verschillende programmeertalen, waaronder Python, MATLAB en R. Ik deel met plezier mijn liefde voor leren met de wereld.

Onderwerpen
Machine Learning
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer BekijkenMeer Bekijken