Je werpt een blik op een foto en weet meteen dat er een hond op het strand staat. Voor een computer is diezelfde afbeelding niets meer dan een enorm raster van getallen. Computer vision is de tak van AI die machines leert om betekenis uit die getallen te halen - en het hervormt nu al de industrieën om je heen.
Wanneer je naar een foto kijkt, herkent je brein onmiddellijk vormen, kleuren en diepte. Een computer heeft niets van die intuïtie. In plaats daarvan werkt hij met ruwe getallen.
Een digitale afbeelding is een raster van pixels. Elke pixel slaat kleurwaarden op - doorgaans drie kanalen: rood, groen en blauw (RGB). Een 1920 × 1080 HD-afbeelding bevat meer dan twee miljoen pixels, elk met drie waarden variërend van 0 tot 255. Vermenigvuldig die allemaal en zelfs één enkel beeld bevat miljoenen getallen.
Resolutie bepaalt hoeveel detail het raster vastlegt. Een hogere resolutie betekent meer pixels en rijker detail - maar ook veel meer data voor de AI om te verwerken. Een 4K-afbeelding heeft vier keer zoveel pixels als HD, wat vier keer zoveel rekenkracht kost.
Grijswaardenafbeeldingen hebben slechts één kanaal (helderheid), terwijl sommige gespecialiseerde formaten - zoals satellietbeelden of medische scans - tientallen kanalen kunnen hebben die golflengten vastleggen die onzichtbaar zijn voor het menselijk oog.
Het menselijk oog kan ongeveer 10 miljoen kleuren onderscheiden. Een standaard 8-bit RGB-afbeelding kan meer dan 16,7 miljoen unieke kleurcombinaties weergeven - meer dan we daadwerkelijk kunnen waarnemen!
Vroege pogingen tot computer vision berustten op handgemaakte regels - "zoek hier naar randen, vergelijk daar met dit sjabloon." Deze kwetsbare aanpakken faalden zodra de scène veranderde. Moderne systemen gebruiken convolutionele neurale netwerken (CNNs), die hun eigen regels leren uit duizenden gelabelde voorbeelden.
Stel je een CNN voor als een lopende band van patroondetectors, waarbij elke laag voortbouwt op de vorige:
Sign in to join the discussion
Het mooie is dat niemand deze filters met de hand programmeert. Het netwerk leert ze tijdens de training, beginnend met willekeurige ruis en geleidelijk scherper wordend tot bruikbare detectoren.
Wanneer je leert het gezicht van een vriend te herkennen, onthoud je niet elke pixel - je pikt belangrijke kenmerken op zoals de oogvorm, het kapsel en de gezichtsuitdrukking. CNNs doen iets opmerkelijk vergelijkbaars. Welke kenmerken denk je dat een CNN als eerste zou leren?
Computer vision pakt drie steeds moeilijkere taken aan:
| Taak | Welke vraag beantwoordt het | Voorbeeld | |------|-------------------|---------| | Beeldclassificatie | Wat staat er op deze afbeelding? | "Deze röntgenfoto toont longontsteking." | | Objectdetectie | Wat staat er op deze afbeelding en waar? | Kaders tekenen rond elke voetganger in een straatscène. | | Semantische segmentatie | Welke pixels horen bij welk object? | Elke pixel van de weg, het trottoir, de auto en de lucht in een andere kleur inkleuren. |
Zelfrijdende auto's hebben alle drie tegelijkertijd nodig - objecten classificeren, ze nauwkeurig lokaliseren en de volledige scène pixel voor pixel begrijpen.
Elke taak vereist geleidelijk meer rekenkracht en trainingsdata. Classificatie was grotendeels opgelost tegen 2015; realtime segmentatie op video blijft vandaag de dag een actief onderzoeksgebied.
Welke computer vision-taak kent een label toe aan elke individuele pixel in een afbeelding?
Computer vision is al ingebed in industrieën die je misschien niet verwacht:
Google's DeepMind ontwikkelde een AI die meer dan 50 oogziekten kan detecteren op retinascans met dezelfde nauwkeurigheid als 's werelds beste oogartsen - in seconden in plaats van weken.
Computer vision is krachtig, maar roept serieuze vragen op waar de samenleving nog mee worstelt:
Stel je voor dat een school gezichtsherkennningscamera's installeert om automatisch de aanwezigheid bij te houden. Wat zijn de voordelen? Wat zou er mis kunnen gaan? Zou je je op je gemak voelen met dit systeem?
Waarom presteren sommige gezichtsherkenningssystemen slechter bij bepaalde demografische groepen?
Wat is in een CNN het doel van pooling-lagen?