computer vision: hoe leer ik een computer zien?michael/technasium.pdf · onderzoeksgericht: gebruik...
TRANSCRIPT
Computer Vision: Hoe Leer ik een Computer Zien?
Michael H.F. Wilkinson
Instituut voor Wiskunde en InformaticaRijksuniversiteit 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 programmeerik 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 kanleren 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-Dbeeld van de wereld om hem heen moeten kunnen reconstrueren.
Een belangrijk onderscheid met beeldbewerking is het onderzoek er niet direct opis 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 videoarchieven.
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 beperkingenvan 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 beschouwenals 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, ofstukken achtergrond omzetten in voorgrond.
De kern-operaties gebruiken allemaal een kleine verzameling, het structurerendelement (S.E.).
Bij ieder toepassing van een filter wordt het S.E. geschoven naar ieder positie inhet beeld, en wordt bekeken hoe goed het “past” bij de locale beeld-inhoud
Door geschikte combinaties van basis-operatoren te gebruiken kunnen zeercomplexe 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 Xte 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 structurerendeelementen die geheel binnen het beeld passen.
Een opening is de vereniging van al die verschoven structurende elementen diebinnen 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 diekleiner zijn dan een drempelwaarde λ
→↓ ••
• • • •• • •• • •
→↓
• • •• • •• • •
beeld X Γ4(X)
Oppervlakte sluitingen Ψλ verwijderen alle samenhangende achtergrondcomponenten (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 verwijderengebaseerd 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 ca7 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 een of andere referentievorm 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 dereferentie 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. verkeersbordenherkennen.
Meerdere verschillende typen borden kunnen in pricipe worden gedetecteerd in eenfilter 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 reeksfilters 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 ontstaateen 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 veranderdis 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 een set filters te nemen is het ook mogelijk om vorm- en grootte-gevoelige 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