Computer Vision: Hoe Leer ik een Computer Zien?michael/technasium.pdf · Onderzoeksgericht: Gebruik...

22
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

Transcript of Computer Vision: Hoe Leer ik een Computer Zien?michael/technasium.pdf · Onderzoeksgericht: Gebruik...

Page 1: Computer Vision: Hoe Leer ik een Computer Zien?michael/technasium.pdf · Onderzoeksgericht: Gebruik van computers voor simulatie en visualisatie? Andere opties: De Beleid en Bedrijf

Computer Vision: Hoe Leer ik een Computer Zien?

Michael H.F. Wilkinson

Instituut voor Wiskunde en InformaticaRijksuniversiteit Groningen

Les voor technasium, 5 februari 2008

Page 2: Computer Vision: Hoe Leer ik een Computer Zien?michael/technasium.pdf · Onderzoeksgericht: Gebruik van computers voor simulatie en visualisatie? Andere opties: De Beleid en Bedrijf

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

Page 3: Computer Vision: Hoe Leer ik een Computer Zien?michael/technasium.pdf · Onderzoeksgericht: Gebruik van computers voor simulatie en visualisatie? Andere opties: De Beleid en Bedrijf

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

Page 4: Computer Vision: Hoe Leer ik een Computer Zien?michael/technasium.pdf · Onderzoeksgericht: Gebruik van computers voor simulatie en visualisatie? Andere opties: De Beleid en Bedrijf

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

Page 5: Computer Vision: Hoe Leer ik een Computer Zien?michael/technasium.pdf · Onderzoeksgericht: Gebruik van computers voor simulatie en visualisatie? Andere opties: De Beleid en Bedrijf

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

Page 6: Computer Vision: Hoe Leer ik een Computer Zien?michael/technasium.pdf · Onderzoeksgericht: Gebruik van computers voor simulatie en visualisatie? Andere opties: De Beleid en Bedrijf

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

Page 7: Computer Vision: Hoe Leer ik een Computer Zien?michael/technasium.pdf · Onderzoeksgericht: Gebruik van computers voor simulatie en visualisatie? Andere opties: De Beleid en Bedrijf

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

Page 8: Computer Vision: Hoe Leer ik een Computer Zien?michael/technasium.pdf · Onderzoeksgericht: Gebruik van computers voor simulatie en visualisatie? Andere opties: De Beleid en Bedrijf

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

Page 9: Computer Vision: Hoe Leer ik een Computer Zien?michael/technasium.pdf · Onderzoeksgericht: Gebruik van computers voor simulatie en visualisatie? Andere opties: De Beleid en Bedrijf

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

Page 10: Computer Vision: Hoe Leer ik een Computer Zien?michael/technasium.pdf · Onderzoeksgericht: Gebruik van computers voor simulatie en visualisatie? Andere opties: De Beleid en Bedrijf

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

Page 11: Computer Vision: Hoe Leer ik een Computer Zien?michael/technasium.pdf · Onderzoeksgericht: Gebruik van computers voor simulatie en visualisatie? Andere opties: De Beleid en Bedrijf

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

Page 12: Computer Vision: Hoe Leer ik een Computer Zien?michael/technasium.pdf · Onderzoeksgericht: Gebruik van computers voor simulatie en visualisatie? Andere opties: De Beleid en Bedrijf

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

Page 13: Computer Vision: Hoe Leer ik een Computer Zien?michael/technasium.pdf · Onderzoeksgericht: Gebruik van computers voor simulatie en visualisatie? Andere opties: De Beleid en Bedrijf

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

Page 14: Computer Vision: Hoe Leer ik een Computer Zien?michael/technasium.pdf · Onderzoeksgericht: Gebruik van computers voor simulatie en visualisatie? Andere opties: De Beleid en Bedrijf

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

Page 15: Computer Vision: Hoe Leer ik een Computer Zien?michael/technasium.pdf · Onderzoeksgericht: Gebruik van computers voor simulatie en visualisatie? Andere opties: De Beleid en Bedrijf

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

Page 16: Computer Vision: Hoe Leer ik een Computer Zien?michael/technasium.pdf · Onderzoeksgericht: Gebruik van computers voor simulatie en visualisatie? Andere opties: De Beleid en Bedrijf

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

Page 17: Computer Vision: Hoe Leer ik een Computer Zien?michael/technasium.pdf · Onderzoeksgericht: Gebruik van computers voor simulatie en visualisatie? Andere opties: De Beleid en Bedrijf

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

Page 18: Computer Vision: Hoe Leer ik een Computer Zien?michael/technasium.pdf · Onderzoeksgericht: Gebruik van computers voor simulatie en visualisatie? Andere opties: De Beleid en Bedrijf

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

Page 19: Computer Vision: Hoe Leer ik een Computer Zien?michael/technasium.pdf · Onderzoeksgericht: Gebruik van computers voor simulatie en visualisatie? Andere opties: De Beleid en Bedrijf

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

Page 20: Computer Vision: Hoe Leer ik een Computer Zien?michael/technasium.pdf · Onderzoeksgericht: Gebruik van computers voor simulatie en visualisatie? Andere opties: De Beleid en Bedrijf

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

Page 21: Computer Vision: Hoe Leer ik een Computer Zien?michael/technasium.pdf · Onderzoeksgericht: Gebruik van computers voor simulatie en visualisatie? Andere opties: De Beleid en Bedrijf

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

Page 22: Computer Vision: Hoe Leer ik een Computer Zien?michael/technasium.pdf · Onderzoeksgericht: Gebruik van computers voor simulatie en visualisatie? Andere opties: De Beleid en Bedrijf

Vragen

?Les voor technasium, 5 februari 2008