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 ↓→
•
• • •
•
S.E. ↓→
• • •
•
Opening
•
• • •
• • •
•
•
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 λ ↓→
• • • •
Les voor technasium, 5 februari 2008
•
•
• • •
• • • beeld X
• • •
↓→
• • • •
• • • •
• • • • • • • Ψ4(X)
• • •
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
Les voor technasium, 5 februari 2008
Moeren
Bouten
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/Volume5/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 ´e´en 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 ´e´en 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 ´e´en 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