Computer Vision: Hoe Leer ik een Computer Zien? Michael H.F. Wilkinson Instituut voor Wiskunde en Informatica Rijksuniversiteit Groningen Les voor technasium, 5 februari 2008
Informatica aan de RUG Informatica aan de RUG kent drie belangrijke hoofdlijnen: Distributed Systems & Software Engineering Praktijkgericht: Hoe ontwerp ik grote software systemen goed? Intelligent Systems Onderzoeksgericht: Hoe leer een computer zien, horen, begrijpen? Computational Science & Visualization Onderzoeksgericht: Gebruik van computers voor simulatie en visualisatie? Andere opties: De Beleid en Bedrijf variant. De Educatie en Communicatie variant. Als basis krijg je eerst een hoeveelheid fundamentele informatica: hoe programmeer ik bewijsbaar goed. Les voor technasium, 5 februari 2008 1 of 21
Wat is Computer Vision? 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. Les voor technasium, 5 februari 2008 2 of 21
Wat zijn practische toepassingen? 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. Les voor technasium, 5 februari 2008 3 of 21
Hoe modelleer je zien? 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. Les voor technasium, 5 februari 2008 4 of 21
Morfologie: Beeld = Verzameling 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. Les voor technasium, 5 februari 2008 5 of 21
Morfologie: Dilatie en Erosie Links beeld X. Midden: S.E.A. Rechts: dilatie X A van X met A. Links beeld X. Midden: S.E.A. Rechts: erosie X A van X met A. Les voor technasium, 5 februari 2008 6 of 21
Dilatie: Let op! Het S.E. hoeft de oorsprong niet te bevatten, en de dilatie X A hoeft niet met X te overlappen. Links: beeld X. Midden: S.E. A. Rechts: dilatie van X met A. Les voor technasium, 5 februari 2008 7 of 21
Opening & Sluiting: de basis filters Beeld Opening S.E. Sluiting Een opening is een erosie gevolgd door een dilatie: X A = (X A) A Een sluiting is een dilatie gevolgd door een erosie X A = (X A) A. Les voor technasium, 5 februari 2008 8 of 21
Interpretatie Erosie en Opening Een erosie is de verzameling van de centra van die verschoven structurerende elementen die geheel binnen het beeld passen. Een opening is de vereniging van al die verschoven structurende elementen die binnen de verzameling passen. Les voor technasium, 5 februari 2008 9 of 21
Grijswaarde beelden Links: Lenna, de beroemdste vrouw in computer vision. Rechts: links boven: dilatie; rechts boven: erosie; links onder: opening; rechts onder: closing. Les voor technasium, 5 februari 2008 10 of 21
Oppervlakte Filters 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) Les voor technasium, 5 februari 2008 11 of 21
Oppervlakte opening en sluiting binair Oppervlakte openingen Γ λ verwijderen alle samenhangende componenten die kleiner zijn dan een drempelwaarde λ beeld X Γ 4 (X) Oppervlakte sluitingen Ψ λ verwijderen alle samenhangende achtergrond componenten (gaten) die kleiner zijn dan een drempelwaarde λ beeld X Ψ 4 (X) Les voor technasium, 5 februari 2008 12 of 21
Attribuut Filters Attribute filters generalizeren het idee van oppervlakte filters Het is daardoor ook mogelijk objecten of structuren in beeld te verwijderen gebaseerd op vorm in plaats van grootte. Beeld X Moeren Bouten Les voor technasium, 5 februari 2008 13 of 21
Bloedvat herkenning met attribuut filters angiogram gefilterd met λ = 2.0 segmentatie van origineel segmentatie van gefilterde set In angiografie proberen artsen bloedvaten zichtbaar te maken Door een non-compactheids-attribuut te nemen is een 3-D dataset (16 MB) in ca 7 s te filteren op een PC. Les voor technasium, 5 februari 2008 14 of 21
Attributen in 3-D Attributen gevoelig voor grootte: Volume Lengte in x-richting Lengte in y-richting Lengte in z-richting Attributen gevoelig voor vorm: Non-compactheid (Traagheidsmoment/Volume 5/3 ) Platheid (Flatness) Langgerektheid (Elongation) IJlheid (Sparseness) Les voor technasium, 5 februari 2008 15 of 21
Vector-attribuut filters 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. Les voor technasium, 5 februari 2008 16 of 21
Herkenning verkeersborden 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. Les voor technasium, 5 februari 2008 17 of 21
Morfologische Spectra 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. Les voor technasium, 5 februari 2008 18 of 21
Gezichts-detectie 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. Les voor technasium, 5 februari 2008 19 of 21
2D-spectra 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 Les voor technasium, 5 februari 2008 20 of 21
Vragen? Les voor technasium, 5 februari 2008