Beeldverwerking Prof. dr. ir. W. Philips Didactisch materiaal bij de cursus Academiejaar Tel: 09/ Fax: 09/
© W. Philips, Universiteit Gent, versie: 20/10/ c. 2 Copyright notice This powerpoint presentation was developed as an educational aid to the renewed course “Image processing” (Beeldverwerking), taught at the University of Gent, Belgium as of This presentation may be used, modified and copied free of charge for non-commercial purposes by individuals and non-for-profit organisations and distributed free of charge by individuals and non-for-profit organisations to individuals and non-for-profit organisations, either in electronic form on a physical storage medium such as a CD-rom, provided that the following conditions are observed: 1.If you use this presentation as a whole or in part either in original or modified form, you should include the copyright notice “© W. Philips, Universiteit Gent, ” in a font size of at least 10 point on each slide; 2.You should include this slide (with the copyright conditions) once in each document (by which is meant either a computer file or a reproduction derived from such a file); 3. If you modify the presentation, you should clearly state so in the presentation; 4.You may not charge a fee for presenting or distributing the presentation, except to cover your costs pertaining to distribution. In other words, you or your organisation should not intend to make or make a profit from the activity for which you use or distribute the presentation; 5. You may not distribute the presentations electronically through a network (e.g., an HTTP or FTP server) without express permission by the author. In case the presentation is modified these requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the presentation, and can be reasonably considered independent and separate works in themselves, then these requirements do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the presentation, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. In particular note that condition 4 also applies to the modified work (i.e., you may not charge for it). “Using and distributing the presentation” means using it for any purpose, including but not limited to viewing it, presenting it to an audience in a lecture, distributing it to students or employees for self-teaching purposes,... Use, modification, copying and distribution for commercial purposes or by commercial organisations is not covered by this licence and is not permitted without the author’s consent. A fee may be charged for such use. Disclaimer: Note that no warrantee is offered, neither for the correctness of the contents of this presentation, nor to the safety of its use. Electronic documents such as this one are inherently unsafe because they may become infected by macro viruses. The programs used to view and modify this software are also inherently unsafe and may contain bugs that might corrupt the data or the operating system on your computer. If you use this presentation, I would appreciate being notified of this by . I would also like to be informed of any errors or omissions that you discover. Finally, if you have developed similar presentations I would be grateful if you allow me to use these in my course lectures. Prof. dr. ir. W. Philips Department of Telecommunications and Information ProcessingFax: University of GentTel: St.-Pietersnieuwstraat 41, B9000 Gent, Belgium
Lineaire filters
© W. Philips, Universiteit Gent, versie: 20/10/ c. 4 Inleiding Wat is filteren? filteren = de waarde van een pixel vervangen door een nieuwe waarde die afhangt van de waarden van de pixel en pixels in zijn omgeving Waarom filteren? Om beelden waziger te maken (commerciële doeleinden) Om wazige beelden wat scherper (proberen) te maken Om ruis te verwijderen Opmerkingen: we beperken ons tot technieken voor grijswaardenbeelden men kan deze technieken ook toepassen op elke component (R, G en B of Y, U en V) van kleurenbeelden Wat is lineair filteren? lineair de nieuwe waarde is een lineaire combinatie van de pixel en zijn buurpixels
© W. Philips, Universiteit Gent, versie: 20/10/ c. 5 Overzicht Implementatie via filtermaskers Scheidbare filters De discrete fouriertransformatie (DFT) Studie en implementatie van filters in het DFT-domein Reactie van een filter op ruis Enkele voorbeelden van lineaire filters
© W. Philips, Universiteit Gent, versie: 20/10/ c Lineair filteren ingangsbeelduitgangsbeeld x y 2 # bewerkingen per pixel! Correlatie!: De indexverzameling is de drager (“support”) van m ( x,y ) “Filter masker” x=-101 y= 0 1 hier: bevat meestal (0,0) maar dit hoeft niet!
© W. Philips, Universiteit Gent, versie: 20/10/ c ingangsbeelduitgangsbeeld “Filtermasker” of impulsrepons x y Opmerkingen... Aan de randen moet men het beeld b ( x,y ) “uitbreiden” tot b u ( x,y ) ofwel met nullen ofwel door spiegeling t.o.v. de beeldrand artificiële daling in grijswaarde aan de rand in dit vb. geen artificiële daling in grijswaarde aan de rand, maar ook niet perfect
© W. Philips, Universiteit Gent, versie: 20/10/ c. 8 Gevolg: Scheidbare filters... Een filterwordt bepaald door m ( x,y ) en Een filter is scheidbaar als de filterformule kan geschreven worden als Voorwaarden: m ( x,y ) =m x ( x ) m y ( y ) en = x y met x en y onafhankelijk van x en y (d.w.z. de sommatiegrenzen zijn onafhankelijk van x en y ) Interpretatie: b ( x,y ) rijfilter b 2 ( x,y ) kolomfilter b’ ( x,y ) met
© W. Philips, Universiteit Gent, versie: 20/10/ c. 9 sneller: voor een vierkant n n masker 4 n- 2 i.p.v. 2 n bewerkingen...Scheidbare filters x y = x y met b ( x,y ) rijfilter b 2 ( x,y ) kolomfilter b ’( x,y ) Bewerkingen per pixel: (in het voorbeeld: 10 bewerkingen i.p.v. 17) i.p.v. bij een rechtstreekse implementatie
© W. Philips, Universiteit Gent, versie: 20/10/ c kolomfilterrijfilter ….Scheidbare filters... Bij een scheidbaar filter filtert men dus eerst alle rijen en dan alle kolommen… Het kan ook omgekeerd! De volgorde van toepassen van het rij- en kolomfilter speelt geen rol Belangrijke opmerking: de volgorde van toepassen van om het even welke lineaire filters speelt nooit een rol: (Bewijs dit zelf) met
© W. Philips, Universiteit Gent, versie: 20/10/ c. 11 ….Scheidbare filters: voorbeelden x y niet-scheidbaar 5 x y niet-scheidbaar x y x y x y scheidbaar met m x ( x ’ ) en m y ( y ’ ) zoals hier niet-scheidbaar
© W. Philips, Universiteit Gent, versie: 20/10/ c. 12 Opmerkingen De drager ligt niet uniek vast: men kan steeds een punt ( a,b ) toevoegen aan op voorwaarde dat men m ( a,b ) = 0 stelt De voorwaarde voor scheidbaarheid spreekt over “kan geschreven worden als” Om de voorwaarde voor scheidbaarheid te testen breid je dus eerst de drager uit tot een rechthoekig gebied (een gebied met onafhankelijke sommatiegrenzen voor x en y ) en controleer je dan of m ( x,y ) kan geschreven worden als m ( x,y ) =m x ( x ) m y ( y ) voor alle ( x,y ) in de drager
© W. Philips, Universiteit Gent, versie: 20/10/ c. 13 Correlatie versus convolutie De 2D-correlatie met m ( x,y ) is equivalent met een 2D-convolutie met m ( -x,-y ) 2D discrete convolutie (per definitie) x= y= 0 1 Definitie: de drager van h ( x,y ) is de spiegeling van t.o.v. de oorsprong omdat m ( x ’, y ’ ) = 0 als ( x ’, y ’ ) met
© W. Philips, Universiteit Gent, versie: 20/10/ c. 14 Lineaire filters: te bestuderen Beeld met ruis: b ( x,y ) +n ( x,y ) Beeld na filtering: b ’( x,y ) +n ’( x,y ) met Belangrijke vragen: hoe beïnvloedt het filter het beeld hoe beïnvloedt het filter de ruis studie van correlatie/convolutie; gemakkelijkst in het fourierdomein studie in het fourierdomein of in eenvoudige gevallen (witte ruis) in het plaatsdomein Wegens de lineariteit is de gefilterde versie van een som van twee beelden gelijk aan de som van de gefilterde beelden
© W. Philips, Universiteit Gent, versie: 20/10/ c. 15 Voorbeeld: gemiddeldewaardefilter Origineel gemiddelde over 5x5 omgeving Het filter onderdrukt gedeeltelijk de ruis maar maakt het beeld ook waziger Opmerking: dit filter is scheidbaar
© W. Philips, Universiteit Gent, versie: 20/10/ c. 16 Overzicht Implementatie via filtermaskers Scheidbare filters De discrete fouriertransformatie (DFT) Studie en implementatie van filters in het DFT-domein Reactie van een filter op ruis Enkele voorbeelden van lineaire filters
Lineaire filtertechnieken Studie en implementatie in het fourierdomein
© W. Philips, Universiteit Gent, versie: 20/10/ c. 18 De discrete fouriertransformatie (DFT)... Met de inverse 2D-DFT vindt men het beeld terug uit de fouriercoëfficiënten: De 2D-DFT B kl van een beeld wordt gedefinieerd als: binnen het beeld, d.w.z. voor 0 x < M en 0 y < N en gehele x, y geldt: men vindt dan:voor alle gehele m en n de inverse 2D-DFT definieert een periodieke uitbreiding van het beeld Gevolg: als men veronderstelt dat b ( x,y ) zich buiten het beeld periodiek herhaalt dan geldt formule voor de inverse 2D-DFT overal (zowel binnen als buiten het beeld) Opmerking: in het algemeen geldt enkel “binnen het beeld” Men kanechter ook uitrekenen voor andere (en niet gehele) x en y
© W. Philips, Universiteit Gent, versie: 20/10/ c. 19 basisbeelden...De discrete fouriertransformatie (DFT) voor gehele x : Interpretatie: het beeld wordt uitgedrukt als een lineaire combinatie van complex-sinusoïdale basisbeelden, die elk corresponderen met een specifiek stel spatiale frequenties f x =k /M, f y =l /N en in de reconstructieformule kan men even goed over andere spatiale frequenties sommeren: met dezelfde basisfunctie corresponderen meerdere spatiale frequenties mits conventie
© W. Philips, Universiteit Gent, versie: 20/10/ c. 20 basisbeelden...De discrete fouriertransformatie (DFT) voor gehele x : met dezelfde basisfunctie corresponderen meerdere spatiale frequenties Interpretatie: het beeld wordt uitgedrukt als een lineaire combinatie van complex-sinusoïdale basisbeelden, die elk corresponderen met een specifiek stel spatiale frequenties f x =k /M, f y =l /N De “echte” spatiale frequenties zijn dus k= 0 k= 1 …k=M / …k=M / 2 k=M- 1 f x = 0 f x = 1 / M … f x 1 / 2 …f x =- 1 / 2 f x =- 1 / M 0 Door de manier waarop beelden worden gereproduceerd en door de karakte- ristieken van het menselijk oog men we steeds de laagste frequentie waar, d.w.z. de frequenties waarvoor |k-k ’ M| en |l-l ’ N| zo klein mogelijk zijn deze corresponderen met -M / 2 k-k ’ M < M / 2 en -N / 2 l-l ’ N < N / 2
© W. Philips, Universiteit Gent, versie: 20/10/ c. 21 Verband tussen spectrum en 2D-DFT k=k’ mod M l=l’ mod N met k=k’ mod M l=l’ mod N l k
© W. Philips, Universiteit Gent, versie: 20/10/ c. 22 Voor een beeld bandbeperkt tot | f x |<1/2 en | f y |<1/2 en voor Verband met de continue fouriertransformatie Definitie: “ideaal” bemonsterd beeld als distributie Fouriergetransformeerde: Als bovendien b(x,y)= 0 voor alle gehele x, y behalve 0 x < M en 0 y < n andere naam voor sommatie-index De DFT-coëfficiënten zijn monsterwaarden van het fourierspectrum (onder de gegeven voorwaarden!)
© W. Philips, Universiteit Gent, versie: 20/10/ c. 23 Parseval Definitie: de energie van een beeld: We kunnen dusinterpreteren als de beeldenergie bij de “frequentie” ( k,l ) De energie van een beeld is de som van de energieën van alle beeldpixels Stelling van Parseval (belangrijk): Op een schaalfactor na is de energie van een beeld gelijk aan de som van de energieën van alle fouriercoëfficiënten B kl
© W. Philips, Universiteit Gent, versie: 20/10/ c. 24 Voorbeeld Spectrum van de Y-componentLenna k= 0 k=M/ k=-M/ 2 l=N/ l= 0 l=-N/ 2 De beeldenergie is blijkbaar grotendeels geconcentreerd in de lage frequenties van het spectrum, d.w.z. bij kleine |k| en |l|
© W. Philips, Universiteit Gent, versie: 20/10/ c. 25 Lineaire filters en de 2D-DFT... Beschouw een van de basisbeelden van de 2D-DFT en zijn gefilterde versie: Besluit: een basisbeeld wordt door het filter enkel geschaald, maar blijft verder ongewijzigd dergelijke beelden zijn dus eigenbeelden (cfr. eigenvectoren) Let op: de sommen gaan van - tot + bij het filteren van de basisbeelden mag men de pixelwaarden “buiten het beeld” hier niet nul veronderstellen! (convolutie!) Opmerking:is een complex getal een filter schaalt de amplitude van het eigenbeeld, maar veroorzaakt ook een fasedraaiing:
© W. Philips, Universiteit Gent, versie: 20/10/ c. 26 de gefilterde versie van...Lineaire filters en de 2D-DFT... Beschouw nu een willekeurig beeld b ( x,y ) en zijn gefilterde versie b ’( x,y ) De filters zijn lineair Besluit: in het 2D-DFT domein is de filterwerking bijzonder eenvoudig: elke fouriercoëfficiënt wordt vermenigvuldigd met een schaalfactor Vermenigvuldiging is veel eenvoudiger dan convolutie! Toepassingen: bestuderen van het gedrag van gegeven filters ontwerp van filtermaskers met bepaalde gunstige eigenschappen Inverse 2D-DFT: (voor alle x,y !) nieuwe manier om lineaire filters te implementeren: bereken de 2D-DFT B kl, vermenigvuldig met en bereken de inverse 2D-DFT gefilterde versie van en niet van van
© W. Philips, Universiteit Gent, versie: 20/10/ c. 27 is de frequentiekarakteristiek van het filter Het discreet spectrum van het gefilterd beeld b ’ ( x,y ) is De frequentiekarakteristiek van een filter met waarbij telkens k=k’ mod M l=l’ mod N De frequentiekarakteristiek geeft aan hoe de spectrale componenten van het ingangsbeeld bij spatiale frequenties f x =k ’ /M en f y =l ’ /N in amplitude wordt verminderd en in fase gedraaid
© W. Philips, Universiteit Gent, versie: 20/10/ c Lineaire filters en de 2D-DFT Hoe berekent men de schaalfactoren Stel b.v. dat de drager h binnen de rechthoek | x | a, | y | b ligt, met 2 a < M en 2 b < N voor elke x en y is ten hoogste één van de termen h ( x+kM, y+lN ) verschillend van nul met wegens de periodiciteit van de basisfuncties (verifieer) Voor 0 x < M en 0 y < N geldt er dan:met (verifieer) en 2D-DFT van
© W. Philips, Universiteit Gent, versie: 20/10/ c Periodieke uitbreiding 9 Filterimplementatie in het fourierdomein Masker x=-101 y= Convolutiekern x=-101 y= 0 1 Beeld x=012 … y= DFT b ( x,y ) DFT
© W. Philips, Universiteit Gent, versie: 20/10/ c Filterimplementatie in het fourierdomein 2D-DFT van masker 2D-DFT van beeld 2D-DFT van gefilterd beeld inverse DFT
© W. Philips, Universiteit Gent, versie: 20/10/ c. 31 Vergelijking van het aantal berekeningen Filteren van een N N beeld met een n n masker: Via convolutie/correlatie: scheidbaar filter: 4 n- 2 bewerkingen/pixel niet-scheidbaar filter: 2 n bewerkingen/pixel Voorwaartse en inverse DFT (via FFT) Vermenigvuldiging in frequentiedomein bewerkingen/pixel Via de DFT (als we de DFT van het masker al kennen): De DFT-implementatie is voordeliger voor grote maskers Break-even punt (niet-scheidbaar): (b.v. N= 256 n= 4)
© W. Philips, Universiteit Gent, versie: 20/10/ c. 32 “randgebied” Randeffecten Bij het afleiden van de 2D-DFT filterformules hebben we eigenlijk gefilterd i.p.v. b(x,y), d.w.z. we hebben verondersteld dat b(x,y) zich periodiek herhaalt buiten het beeld; bij rechtstreekse implementatie veronderstellen we daarentegen b(x,y)= 0 buiten het beeld Aan de randen verschilt het rechtstreeks gefilterd beeld daarom van het via de 2D-DFT gefilterde beeld Hoe groter de drager van het masker, hoe groter het “randgebied” b(x,y) uitbreiden buiten het beeld (b.v. b u (x,y)= 0) Implementatie in plaatsdomein Implementatie in fourierdomein
© W. Philips, Universiteit Gent, versie: 20/10/ c. 33 Filter in het fourierdomein: voorbeeld reconstructie met 25% van de coëfficiënten reconstructie met 6.25% van de coëfficiënten Invloed op het beeld: “Ringing” (rimpels) “Blurring” (wazig maken) Filter: binnen het blauw vierkant en 0 erbuiten Dit komt erop neer de fouriercoëfficiënten bij hoge spatiale frequenties nul te maken laagdoorlaatfilter
© W. Philips, Universiteit Gent, versie: 20/10/ c. 34 Gibbs-effect Gibbs-effect: in de omgeving van beeldranden ontstaan oscillaties na laag- doorlaatfiltering (en dit niet alleen bij filters in het fourierdomein!) fxfx 01 Dit effect treedt des te sterker op naarmate de filterkarakteristiek“steiler” afneemt (-) of de filterkarakteristiek discontinuïteiten vertoont (--) of de afgeleiden van de filterkarakteristiek discontinuïteiten vertonen (-) en naarmate de afsnijfrequentie lager is Gibbs-effect
© W. Philips, Universiteit Gent, versie: 20/10/ c. 35 Overzicht Implementatie via filtermaskers Scheidbare filters De discrete fouriertransformatie (DFT) Studie en implementatie van filters in het DFT-domein Reactie van een filter op ruis Enkele voorbeelden van lineaire filters
Lineaire filters Ruisonderdrukking
© W. Philips, Universiteit Gent, versie: 20/10/ c. 37 Ruissignalen en beelden Eerste-orde statistiek: b.v. ( t ) =E ( s ( t )): de te verwachten waarde (uitgemiddeld over alle exemplaren) op ogenblik t b.v. p s ( a;t ) : p s ( a;t ) da is de kans dat s(t) [a, a+da ] (uitgemiddeld over alle exemplaren) op ogenblik t exemplaar 1 exemplaar 2 exemplaar 3 exemplaar 4 exemplaar 5 ( t )=0.1 ( t )=0.5
© W. Philips, Universiteit Gent, versie: 20/10/ c. 38 Eigenschappen die meestal gelden in de praktijk: Verwachtingswaarde is nul: E ( n ( x,y ) ) = 0 Enkele eigenschappen van typische ruis De ruis n ( x,y ) kennen we niet, maar meestal kennen we wel enkele statistische eigenschappen van n ( x,y ) Beeld met ruis: b ( x, y ) +n ( x, y ) De ruiseigenschappen zijn plaatsonafhankelijk: stationaire ruis E ( n 2 ( x,y ) ) = 2 en E ( n ( x,y ) n ( x’,y’ ) ) =f ( x-x’, y-y’ ) Men kent dikwijls het verwachte ruisenergiespectrum, d.w.z. niet noodzakelijk onafhankelijk van k en l ! Opmerking Voor stationaire ruis kan het verwachte ruisspectrum worden berekend uit de correlatiefunctie f ( x,y ) en omgekeerd:
© W. Philips, Universiteit Gent, versie: 20/10/ c. 39 Ruisenergiespectrum vs. correlatiefunctie… zinloos te spreken over het gemiddelde ruisspectrum Maar: we kunnen wel iets zeggen over de variantie van het ruisspectrum: Variantie van ruisfouriercomponent=verwachte energie van die component: complex-toegevoegd Indien f ( x-x ’,y-y ’) periodiek is in x-x ’ en y-y ’ met periode M en N
© W. Philips, Universiteit Gent, versie: 20/10/ c. 40 …Ruisenergiespectrum vs. correlatiefunctie Opmerking: in de praktijk is f ( x-x ’,y-y ’) nooit periodiek in x-x ’ en y-y ’ de voorwaarde is het gevolg van het feit dat de DFT alle ingangsfuncties (en dus ook de ruis) periodiek veronderstelt de benadering wordt beter naarmate de drager van f ( x,y ) klein is t.o.v. het beeldgebied [0, M- 1]x[0, N- 1] Echt ruisspectrumSpectrum van de periodiek uitgebreide ruis door de niet-periodiciteit worden randeffecten verkeerd in rekening gebracht en is de formule maar een benadering
© W. Philips, Universiteit Gent, versie: 20/10/ c. 41 Equivalente voorwaarde Belangrijk bijzonder geval: witte ruis Witte ruis De ruis op verschillende pixels is ongecorreleerd: E( n ( x,y ) n ( x’,y’ ) )= 0 als x x ’ of y y ’ De ruisstatistiek is stationair: E( n 2 ( x,y ) )= 2 (plaatsonafhankelijke constante) E( n ( x,y ) n ( x’,y’ ) )=f ( x-x’, y-y ’) (functie van x-x ’ en y-y ’ i.p.v. algemene functie van x, x ’, y en y ’) Wit (frequentieonafhankelijk) ruisenergiespectrum: In het frequentiedomein: “Wit” omdat het spectrum onafhankelijk is van de spatiale frequenties, d.w.z. van k en l
© W. Philips, Universiteit Gent, versie: 20/10/ c. 42 Reactie van een filter op ruis … In het frequentiedomein: Een filter transformeert witte ruis in “gekleurde” (niet-witte) ruis filter h ( x,y ) n ( x,y ) n ’( x,y ) n ( x, y ) wit: niet frequentie-onafhankelijk (d.w.z. niet onafhankelijk van k, l ) en dus niet wit