Computer Vision: Hoe Leer ik een Computer Zien? Michael H.F. Wilkinson Instituut voot Wiskunde en Informatica Rijksuniversiteit Groningen 27 April 2006
Overzicht 1 of 19 Wat is Computer Vision? Wat zijn practische toepassingen? Hoe modelleer je zien? Eén interpretatie: een beeld is een verzameling Filters: hoe verander ik een beeld? Soorten filters Voorbeelden Spectra: wat zit er in het beeld? Hoe reken ze dat uit? Wat kun je er mee? Conclusie
Wat is Computer Vision? 2 of 19 Computer Vision (= Machine Vision) houdt zich bezig met hoe een computer kan leren zien. Het doel is hier: hoe kan een computer beelden inhoudelijk interpreteren. Bijkomend doel is het van de mens overnemen van saaie of moeilijke visuele taken. Uiteindelijke zou een computer uitgerust met camera (b.v. webcam) zelf een 3-D beeld van de wereld om hem heen moeten kunnen reconstrueren. Een belangrijk onderscheid met beeldbewerking is het onderzoek er niet direct op is gericht om beelden fraaier te maken. Beeldbewerking is wel vaak nodig om de de ruwe data beter te kunnen verwerken.
Wat zijn practische toepassingen? 3 of 19 Robotica: robots (Aibo) kunnen nu al (beperkt) zien Bewaking: intelligente camera s slaan alleen alarm in de centrale als er iets raars gebeurt. Medische wetenschap: Screening (kanker)cellen op afwijkingen Screening voor TBC en borstkanker 3D scans (MRI en CT)... Multimedia: Content-Based Image Retrieval : vinden van plaatjes op basis van inhoud, niet tekst Video analyse en annotatie: vinden van scenes (doelpunten) in grote video archieven. Kwaliteitscontrole aan lopende band.
Hoe modelleer je zien? 4 of 19 Computer Vision begint altijd met een wiskundig model Modellen van menselijke waarneming worden gebruikt: Bepaalde cellen in de hersenen reageren als filters voor bepaalde informatie. Deze kunnen nagebootst worden door bepaalde wiskundige filters op beelden. Een ander belangrijk aspect is het modelleren van de natuurkundige beperkingen van een lens: Geen enkele lens is oneindig scherp Ieder systeem levert ruis. Lenzen projecteren de 3-D wereld met perspectief op een 2-D vlak Tot slot is er een model dat goed is in het modelleren van objecten: (mathematische) morfologie.
Morfologie: Beeld = Verzameling 5 of 19 Het kern-idee is dat ieder beeld, maar ook ieder object in beeld, is te beschouwen als een verzameling (beeld) punten. bij binaire (zwart/wit) beelden is het model het simpelst alle witte (voorgrond) pixels zijn lid van de verzameling, de zwarte (achtergrond) niet. Operaties op het beeld (filters) kunnen stukken van de voorgrond verwijderen, of stukken achtergrond omzetten in voorgrond. De kern-operaties gebruiken allemaal een kleine verzameling, het structurerend element (S.E.). Bij ieder toepassing van een filter wordt het S.E. geschoven naar ieder positie in het beeld, en wordt bekeken hoe goed het past bij de locale beeld-inhoud Door geschikte combinaties van basis-operatoren te gebruiken kunnen zeer complexe vision taken worden volbracht.
Dilatie en Erosie 6 of 19 Links beeld X. Midden: S.E.A. Rechts: dilatie van X met A. Links beeld X. Midden: S.E.A. Rechts: erosie van X met A.
Opening & Sluiting: de basis filters 7 of 19 Beeld Opening S.E. Sluiting Een opening is een erosie gevolgd door een dilatie Een sluiting is een dilatie gevolgd door een erosie.
Grijswaarde beelden 8 of 19 Links: Lenna, de beroemdste vrouw in computer vision. Rechts: links boven: dilatie; rechts boven: erosie; links onder: opening; rechts onder: closing.
Oppervlakte Filters 9 of 19 Gewone openingen of sluitingen met S.E. s verstoren de randen van structuren Een ander type opening (of sluiting) kijkt naar complete lichte (of donkere) structuren in beeld, en verwijdert ze als ze te klein zijn. Lenna met ruis (links) gewone opening sluiting met vierkant S.E. (midden) opervlakte opening sluiting (rechts)
Attribuut Filters 10 of 19 Attribute filters generalizeren het idee van oppervlakte filters Dit gebeurd b.v. door andere eigenschappen (attributen) van objecten te gebruiken in de beslissing wat verwijderd danwel versterkt moet worden. Voor beelden zijn omtrek, langgerektheid, of aantal gaten. Het is daardoor ook mogelijk objecten of structuren in beeld te verwijderen gebaseerd op vorm in plaats van grootte. Beeld X Moeren Bouten
Bloedvat herkenning met attribuut filters 11 of 19 angiogram gefilterd met λ = 2.0 segmentatie van origineel segmentatie van gefilterde set In angiografie proberen artsen bloedvaten zichtbaar te maken Door een elongatie-attribuut te nemen is een 3-D dataset (16 MB) in ca 7 s te filteren op een PC.
Vector-attribuut filters 12 of 19 Verwijderen of versterken van objecten die voldoende op één of andere referentie vorm lijken Voorbeeld: verwijder objecten die genoeg (ɛ) op de letter A lijken. Origineel ɛ = 0.01 ɛ = 0.10 ɛ = 0.15 Als de tolerantie-waarde ɛ = 0 betekend dat dat alleen objecten identiek aan de referentie worden gefilterd.
Herkenning verkeersborden 13 of 19 Door middel van schaal en rotatie invariante filtering kun je b.v. verkeersborden herkennen. Meerdere verschillende typen borden kunnen in pricipe worden gedetecteerd in één filter operatie.
Morfologische Spectra 14 of 19 Een spectrum karakteriseerd een beeld in een (vaak relatief klein) aantal getallen. In de morfologie kunnen z.g. patroon-spectra worden uitgerekend door een reeks filters los te laten op een beeld. Ieder filter verwijdert details tot en met een bepaalde maat. Door bij te houden wat hoeveel inhoud wordt verwijderd bij iedere stap ontstaat een histogram hoeveel details van verschillende grootte er in het beeld zitten. Het is ook mogelijk dit te doen met vorm-gevoelige filters In dat geval gebruik je b.v. het aantal gaten of de mate van langgerektheid (elongatie) als variabele parameter.
Gezichts-detectie 15 of 19 Een grijswaarde voorbeeld van het berekenen van een patroon-spectrum Er wordt een reeks openingen met cirkelvormige S.E. s gebruikt Door te kijken hoe als functie van de straal van het S.E. de beeldinhoud veranderd is het mogelijk de locatie van gezichten te bepalen in een beeld.
Letter-patroon spectrum 16 of 19 Hierbij een voorbeeld van een spectrum dat gebruik maakt van filters die ieder de eerste n letters van het alfabet uit een beeld verwijderen. Amount of detail removed 9 x 105 8 7 6 5 4 3 2 1 Number of objects removed 10 8 6 4 2 0 0 1 2 3 4 5 1 2 3 4 5 Number of letters in F Number of letters in F Beeld Patroon spectrum Vorm histogram stap 1 stap 2 stap 3 stap 4 stap 5
2D-spectra 17 of 19 In plaats van één set filters te nemen is het ook mogelijk om vorm- en groottegevoelige filters te combineren Zo onstaat een 2-D vorm-grootte histogram van de beeldinhoud. Diatomee-herkenning kan dan met > 95% betrouwbaarheid
Conclusies 18 of 19 Beeldanalyse en Computer Vision zijn vakgebieden die nog volop in ontwikkeling zijn. Desondanks kunnen we nu al veel nuttige dingen er mee doen Vaak drijft de practische vraag de ontwikkeling van nieuwe theorie Het leert je een hoop respect voor het menselijk visueel systeem In Groningen wordt o.a. onderzoek gedaan naar: Ruimtelijk gevoelige patroon-spectra Andere manieren om vorm te karakterizeren Ander manieren om objecten te karakteriseren Medische toepassingen En nog veel meer
Vragen?