Ik ben vandaag begonnen met het vak “Computer Vision”. Zoals de naam doet vermoeden gaat het over of/hoe we de computer zouden kunnen laten “zien”. Computers zien een plaatje normaal gesproken als een enorme collectie pixels (in plaats van het object of de objecten wat het plaatje “betekent” of waar het een afbeelding “van” is). Om daar verandering in te brengen is best lastig. Een simpel voorbeeld:
Hierboven zie je een cilinder op een gevlakt oppervlak. Dat ziet iedereen meteen vanwege de schaduwen, het perspectief van de vlakjes, enzovoorts. Stel, we willen de computer in ieder geval onderscheid laten maken tussen de lichte en donkere vlakjes. Dat is niet zo moeilijk, want al die pixels hebben gewoon een hoge of lage numerieke waarde voor de computer, afhankelijk van of ze licht of donker zijn. Dat valt best tegen: klik maar eens op het plaatje. Die streep die je ziet heeft de kleur (‘donkerte’) van het lichte vlak in de schaduw van de cilinder, en ook de kleur van het donkere vlak bovenaan! Klik nog maar eens als je niet gelooft dat het hetzelfde plaatje is. 🙂
Waarom zien onze ogen dat verschil wel zo duidelijk? Nu, we zijn gewend aan het compenseren van schaduwen, diepte en andere lichtverschillen. Dit is ook de oorzaak van allerlei andere ‘foutjes’ die mensen maken als ze naar bepaalde ‘getructe’ plaatjes kijken.