Bildetransformer Lars Aurdal



Like dokumenter
Introduksjon. «Diskret» sinus/cosinus i 1D. Funksjonen sin(θ) INF april 2010 Fourier -- En annen vinkling på stoffet i kapittel 4

INF mars 2017 Fourier I -- En litt annen vinkling på stoffet i kapittel 4

sin(2 ui/n) starter på 0 og repeteres u ganger per N samples. cos(2 ui/n) starter på 1 og repeteres u ganger per N samples

Dagens mål. Det matematiske fundamentet til den diskrete Fourier-transformen Supplement til forelesning 8 INF Digital bildebehandling

( x+ π 2) Bakgrunn: Sinus og cosinus. Bakgrunn: Samplet sinus i 1D. Bakgrunn: Samplet sinus i 2D. Bakgrunn: Sinus i 2D. sin( x)=cos.

Generell informasjon om faget er tilgjengelig fra It s learning.

f(t) F( ) f(t) F( ) f(t) F( )

Uke 9: Diskret Fourier Transform, I

TMA4123/TMA4125 Matematikk 4M/4N Vår 2013

Dagens temaer. Endelig lengde data. Tema. Time 11: Diskret Fourier Transform, del 2. Spektral glatting pga endelig lengde data.

Lineærtransformasjoner

Oppgave 3c Konvolusjonsteoremet: f Λ g, F G og f g, F Λ G F rste del sier at konvolusjon i det romlige domenet (f Λ g) er det samme som pixelvis multi

Forelesning, 23.februar INF2400 Sampling II. Øyvind Ryan. Februar 2006

Repetisjon: LTI-systemer

Forelesning, 17.februar INF2400 Sampling II. Øyvind Ryan. Februar 2005

Introduksjon/motivasjon I. FOURIER-TRANSFORM I Ole Marius Hoel Rindal, foiler av Andreas Kleppe. Introduksjon/motivasjon II. Bakgrunn: Frekvens

Eksamen i TMA4123/TMA4125 Matematikk 4M/N

SPEKTALANALYSATORER. Fig. 1 Illustrasjon av sammenhengen tidsfunksjon - frekvensspektrum

HØGSKOLEN - I - STAVANGER. Institutt for elektroteknikk og databehandling

Sampling av bilder. Romlig oppløsning, eksempler. INF Ukens temaer. Hovedsakelig fra kap. 2.4 i DIP

13.1 Fourierrekker-Oppsummering

Basisbilder - cosinus v Bildene

Fourier-Transformasjoner IV

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

Bedømmelse: Ved bedømmelse vektlegges oppgavene I, II og III likt.

TMA4120 Matematikk 4K Høst 2015

Bruk av tidsvindu. Diskret Fourier-transform. Repetisjon: Fourier-transformene. Forelesning 6. mai 2004

9 Lineærtransformasjoner TMA4110 høsten 2018

EKSAMEN I EMNE TDT4195 BILDETEKNIKK ONSDAG 3. JUNI 2009 KL

UNIVERSITETET I OSLO

Forelesning Matematikk 4N

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

STE6146 Signalbehandling =-WUDQVIRUPHQ

Modell: en binær symmetrisk kanal. binær: sendes kun 0 eller 1

Temaer i dag. Mer om romlig oppløsning. Optisk avbildning. INF 2310 Digital bildebehandling

Fourier-Transformasjoner

LØSNINGSFORSLAG for KONTINUASJONSEKSAMEN I FAG SIE2010 Informasjons- og signalteori, 29. juli y(n) = ay(n 1) + x(n k),

Løsningsforslag øving 6

Repetisjon: Spektrum for en sum av sinusoider

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

Matriseoperasjoner. E.Malinnikova, NTNU, Institutt for matematiske fag. September 22, 2009

STE 6146 Digital signalbehandling. Løsningsforslag til eksamen avholdt

EKSAMEN STE 6219 Digital signalbehandling

INF 2310 Digital bildebehandling

MAT1030 Diskret Matematikk

Forelesning 29: Kompleksitetsteori

Utkast med løsningshint inkludert UNIVERSITETET I OSLO

Lineære ligningssystemer. Forelesning, TMA4110 Torsdag 17/9. Lineære ligningssystemer (forts.) Eksempler

Komplekse tall og komplekse funksjoner

TMA Matlab Oppgavesett 2

Repetisjon: Sampling. Repetisjon: Diskretisering. Repetisjon: Diskret vs kontinuerlig. Forelesning, 12.februar 2004

Fourier-Transformasjoner II

TMA Matematikk 4D Fredag 19. desember 2003 løsningsforslag

Viktige Fourier-transform par. Konvolusjons-teoremet. 2-D Diskret Fourier-Transform (DFT) INF 2310 Digital bildebehandling

Lineære likningssystemer og matriser

LØSNINGSFORSLAG TIL EKSAMEN STE 6219 Digital signalbehandling

Hjelpemidler/hjelpemiddel: D - "Ingen trykte eller håndskrevne hjelpemidler tillatt. Enkel kalkulator tillatt."

Forelesning Matematikk 4N

Uke 10: Diskret Fourier Transform, II

Gauss-Jordan eliminasjon; redusert echelonform. Forelesning, TMA4110 Fredag 18/9. Reduserte echelonmatriser. Reduserte echelonmatriser (forts.

En (reell) funksjon f fra en (reell) mengde D er en regel som til hvert element x D tilordner en unik verdi y = f (x).

Grublegruppe 19. sept. 2011: Algebra I

5.5 Komplekse egenverdier

TMA Kræsjkurs i Matlab. Oppgavesett 3 Versjon 1.2

Idag. Hvis bildet f(x,y) er reelt og symmetrisk, vil Fourier transformen bestå av reelle koeffisienter korresponderende til cosinus leddene.

Emne 6. Lineære transformasjoner. Del 1

MAT Grublegruppen Notat 6

Diagonalisering. Kapittel 10

Logaritmer og eksponentialfunksjoner

Eksamen i emnet M117 - Matematiske metodar Onsdag 7. september 2001, kl Løysingsforslag:

Konvolusjon og filtrering og frevensanalyse av signaler

Matriser. Kapittel 4. Definisjoner og notasjon

Repetisjon: Standardbasis

4.1 Vektorrom og underrom

INF2310 Digital bildebehandling FORELESNING 9 FOURIER-TRANFORM II. Andreas Kleppe

2 Fourierrekker TMA4125 våren 2019

LØSNINGSFORSLAG EKSAMEN I MATEMATIKK 4N/D (TMA4125 TMA4130 TMA4135) Norges teknisk naturvitenskapelige universitet Institutt for matematiske fag

TMA4122/TMA4130 Matematikk 4M/4N Høsten 2010

UNIVERSITETET I BERGEN

0.1 Kort introduksjon til komplekse tall

Repetisjon: Eksempel. Repetisjon: Aliasing. Oversikt, 26.februar Gitt. Alle signaler. Ettersom. vil alle kontinuerlig-tid signaler.

MAT1120 Repetisjon Kap. 1

Transkript:

Bildetransformer Lars Aurdal FORSVARETS FORSKNINGSINSTITUTT

Lars Aurdal. Forsvarets forskningsinstitutt (FFI), Kjeller. 5 ansatte. Ca. 3 forskere og ingeniører. Tverrfaglig institutt med vekt på arbeide rundt militære problemstillinger. Jobber med bildebehandling i forbindelse med NSM. Førsteamanuensis II ved IDI. lau@ffi.no

Siste gang... Innføring i grunnleggende teori om Fourier-transformen. Innføring i den diskret Fourier-transformen (D og 2D). Egenskaper (konvolusjon) til Fourier-transformen.

Plan Rask repetisjon av forrige kurs. Noen flere egenskaper ved Fourier-transformen. Punktprøving (sampling). Hurtig algoritme for Fourier-transformen (the Fast Fourier Transform, FFT). Et annet synspunkt på transformer. Innledning. Hadamard-transformen.

Repetisjon Fourier transformpar. F{ } F [ 2π ] f( x) = F( u) = f( x)exp j ux dx { F( )} ( ) ( )exp[ 2π ] u = f x = F u j uxdu Fourier-transformen av den kontinuerlige funksjonen f(x), F(u), gir midlere frekvensinnhold i funksjonen f(x). F(u) er generelt en kompleks funksjon. Kan lett utvides til å gjelde funksjoner f(.) av to variable, f(x,y).

Jean-Baptiste Joseph Fourier Fransk fysiker og matematiker. Levde i Paris (768-83). Deltok i Napoleons felttog i Egypt. Brukte Fourier-rekker første gang i verket Théorie analytique de la chaleur.

Repetisjon Fourier transformpar. N Fu N fx j2πux ( ) = ( )exp[ ] N x= N j2πux fx ( ) = Fu ( )exp[ ] N u= Fourier-transformen av den diskret funksjonen f(x), F(u), gir midlere frekvensinnhold i funksjonen f(x). F(u) er generelt en kompleks funksjon. Kan lett utvides til å gjelde funksjoner f(.) av to variable, f(x,y).

Repetisjon M N ux vy Fu (, v) = fxy (, )exp[ j2π( + )] MN M N x= y= M N ux vy fx (, y) = Fuv (, )exp[ j2π( + )] M N u= v= Fourier transformpar. Fourier-transformen av den diskret funksjonen f(x,y), F(u,v), gir midlere frekvensinnhold i funksjonen f(x,y). F(u,v) er generelt en kompleks funksjon.

C-implementering (konsept) M N ux vy Fuv (, ) = fxy (, )exp[ j2π( + )] MN M N x= y=... for(u=;u<m;u++) { for(v=;v<n;v++) { FRe[u][v]=; FIm[u][v]=; for(x=;x<m;x++) { for(y=;y<n;y++) { FRe[u][v]=FRe[u][v]+f[x][y]*cos(2*PI*(u*x/M+v*y/N)); FIm[u][v]=FIm[u][v]-f[x][y]*sin(2*PI*(u*x/M+v*y/N)); } } } }...?

Eksempel Original Fourier-transform

Eksempel Original Fourier-transform

Plan Rask repetisjon av forrige kurs. Noen flere egenskaper ved Fourier-transformen. Punktprøving (sampling). Hurtig algoritme for Fourier-transformen (the Fast Fourier Transform, FFT). Et annet synspunkt på transformer. Innledning. Hadamard-transformen.

Dynamikk Dynamikken i det transformerte bildet er ofte stor. Dersom det transformerte bildet skal plottes eller på annen måte vises lønner det seg å plotte: Dynamikken reduseres. Null-gjennomgangene bevares. Duv (, ) = log ( + Fuv (, ))

Dynamikk F(u,v) D(u,v)=log (+ F(u,v) )

Dynamikk F(u,v)

Dynamikk D(u,v)=log (+ F(u,v) )

Dersom en generell transform: Separabilitet kan omskrives: M N Fuv (, ) = f(, xykxyuv )(,,, ) x= y= M N 2 x= y= Fuv (, ) = f( xyk, ) ( xuk, ) ( yv, ) sies transformen å ha en separabel kjerne

Separabilitet Den diskret 2D Fourier-transformen har separabel kjerne: M N ux vy Fuv (, ) = fxy (, )exp[ j2π( + )] MN M N x= y= kxyuv (,,, ) = exp[ j2π( ux vy + ] MN M N ) k(,) x u = exp M ux vy j2π M k2( y, v) = exp[ j2π )] N N

Separabilitet Den praktiske konsekvensen av dette er primært at transformen kan utføres i to trinn, radvis og så kolonnevis. M N ux vy Fuv (, ) = fxy (, )exp[ j2π( + )] MN M N x= y= Transformer hver kolonne separat M Fuv M Fxv j ux (, ) = (, )exp[ 2π ] M x=

Separabilitet Reduserer også beregningskompleksitet: Rett-fram-etter-nesen : O(N 4 ). Utfør transformen radvis og så kolonnevis: O(N 3 ).

Periodisitet Den diskret Fourier-transformen og dens inverse er periodiske med periode N. F(, u v) = F( u+ N, v) = F(, u v+ N) = F( u+ N, v+ N) Merk: Bare en periode av transformen F(u,v) er nødvendig for å spesifisere f(x,y) på bakgrunn av F(u,v). Er f(x,y) reell gjelder også: og: * Fuv (, ) = F( u, v) Fuv (, ) = F( u, v)

Translasjon fxy (, )exp[ jπ ( ux+ vy)/ N] Fu ( u, v v) 2 fx ( x, y y) Fuv (, )exp[ j2π( ux + vy)/ N] Flyttes origo for f(x,y) endres ikke modulen F(u,v). Merk også at med u =v =N/2 gjelder: og: exp[ j2π( u x+ v y) / N] = exp[ jπ( x+ y)] = ( ) fxy Fu N x y N (, )( ) + (, v ) 2 2 x+ y

Translasjon

Translasjon

Rotasjon Bruk polare koordinater: x = rcos θ, y = rsin θ, u= ω cos φ, v = ω sinφ Da gjelder: fr (, θ + θ ) F( ω, φ + θ ) Roteres f(x,y) med en gitt vinkel roteres F(u,v) med den samme vinkelen

Rotasjon

Plan Rask repetisjon av forrige kurs. Noen flere egenskaper ved Fourier-transformen. Punktprøving (sampling). Hurtig algoritme for Fourier-transformen (the Fast Fourier Transform, FFT). Et annet synspunkt på transformer. Innledning Hadamard-transformen.

Punktprøving (sampling) f[v] t[s] Merk: f er kontinuerlig både i tid og amplitude

Punktprøving (sampling) Punktprøvingsintervall: t f[v] f d [V] t[s] t[s] Merk: f d er diskret i tid og kontinuerlig i amplitude

Punktprøving (sampling) Kvantisering: Benytt et endelig antall diskret nivåer for å beskrive amplituden til hver punktprøve, dette gir pulstoget f dq. f d [V] f dq [V] t[s] t[s] 8 bits kvantisering: 256 nivåer, hver punktprøve representeres ved 8 bit (en byte). Dette innfører kvantiseringsstøy.

Punktprøving (sampling) Anta at f(t) løper fra t=- til t=. Anta at F(u) (Fourier-transformen av f(t)) er null for alle u utenfor intervallet [-W,W]. f(t) sies å være båndbegrenset (band limited). f(t) F(u) t -W W u

Punktprøving (sampling) Det går an å vise at dersom: t 2W kan det båndbegrensede signalet f(t) gjenskapes fullstendig på bakgrunn av punktprøvene. Dette kalles Whittaker-Shannons punktprøvingsteorem. Punktprøvingsraten 2W kalles Nyquist-raten.

Plan Rask repetisjon av forrige kurs. Noen flere egenskaper ved Fourier-transformen. Punktprøving (sampling). Hurtig algoritme for Fourier-transformen (the Fast Fourier Transform, FFT). Et annet synspunkt på transformer. Innledning. Hadamard-transformen.

FFT Hvor lang tid tar det å utføre en diskret D Fouriertransform: O(N 2 ) Den tilsvarende 2D transformen: N Fu N fx j2πux ( ) = ( )exp[ ] N x= er O(N 4 ). N N ux vy Fuv (, ) = fxy (, )exp[ j2π( + )] 2 N N N x= y=

FFT For et 256*256 bilde må vi utføre 256 4 = 4294967296 operasjoner (mer enn 4 milliarder operasjoner). Benyttes metoden der transformen utføres radvis og så kolonnevis er kompleksiteten (N 3 ). Dette gir 256 3 = 677726 operasjoner (mer enn 6 millioner operasjoner). Vi skal se at det finnes en algoritme (FFT) som kan beregne den samme transformen med kompleksitet O(N 2 logn). Gevinsten for et 256*256 bilde er at beregningen går mer enn 8 ganger så fort i forhold til O(N 4 ) algoritmen.

FFT Illustrerer med D transformen (husk en 2D transform kan utføres som D transformer over radene og så kolonnene). Definer: N Fu N fx j2πux ( ) = ( )exp[ ] N W x= N = j2π exp[ ] N slik at F(u) kan skrives: N Fu ( ) = N fxw ( ) N x= ux

FFT Anta N=2 n slik at N=2M (M et positivt heltall). Vi har nå at: N 2M Fu N fxw ux ( ) = ( ) M fxw N = ( ) 2 x= x= ux 2M M M 2 = 2 2 + 2 + 2 M f x W u x ( ) = M f x W M ( ) x x= ( ) u( 2x+ ) 2M der vi altså har brutt den opprinnelige summen ned i to delsummer (over like og odde indekserte elementer).

Observer at: W Derfor kan vi nå omskrive: M M = 2 + 2 + 2 M f x W ux = M f x W ux ( ) W M ( ) M x x= Definer nå: F Da gjelder: FFT π jm ux j2π exp[ 2 ] = exp[ 2 M ux ] = W 2 2 ux 2M = M M Fu M f x W u 2x ( ) = ( 2 ) M f x W 2M + ( 2 + ) 2 x= x= like M ( u) = M f ( 2 x ) W x= ux M u { like odde 2M} Fu ( ) = F ( u) + F ( uw ) 2 ux M ( ) u( 2x+ ) 2M u 2M M og F u M f x W ux odde( ) = ( 2 + ) M for u,,,..., M x= for u= 2,,,..., M = 2

FFT Observer til slutt at: slik at: W W u+ M M 2π jm u 2π jm M j2π = exp[ ]exp[ ] = exp[ ] = M 2π jm u 2π jm M j2π = exp[ ]exp[ ] = exp[ 2 2 2M u ] W u M = W u+ M u 2M 2M Fu ( + M) = F ( u) F ( uw ) 2 { u } like odde 2M

FFT, oppsummering En N-punkts transform kan beregnes ved å dele det opprinnelige uttrykket for F(u) i to deler. Den første delen er: Fu { u ( ) = F u F uw } like( ) + odde( ) 2M, u= 2,,,..., M 2 Beregning av den første delen krever at vi beregner 2 N/2 punkts transformer, F like (u) og F odde (u). Beregning av den andre delen skjer deretter slik: Fu M { u ( + ) = F u F uw } like( ) odde( ) 2M, u= 2,,,..., M 2

FFT, oppsummering Denne splittingen kan vi fortsette rekursivt inntil vi i siste instans bare beregner 2-punkts transformer. Disse settes så systematisk sammen for å bygge opp det endelige resultatet for N-punkts transformen. Dette er en Fast Fourier Transform (FFT). Det kan lett vises at beregning av en D Fourier-transform med denne algoritmen er O(NlogN).

Plan Rask repetisjon av forrige kurs. Noen flere egenskaper ved Fourier-transformen. Punktprøving (sampling). Hurtig algoritme for Fourier-transformen (the Fast Fourier Transform, FFT). Et annet synspunkt på transformer. Innledning. Hadamard-transformen.

Et annet synspunkt på transformer D Diskret Fourier-transformen er definert ved: N Fu N fx j2πux ( ) = ( )exp[ ] N x= Legg merke til at sammenhengen mellom F(u) og f(x) er lineær, det vil si at den samme transformen kan uttrykkes som en matrisemultiplikasjon: F = Af

Et annet synspunkt på transformer Eksempel: N=4, f()=, f()=,f(2)=2 og f(3)=3. F = Af F( ) F() F( 2) F() 3 = 4 j j 2 j j 3 5. j = 5. + 5. 5. 5. 5. j

Et annet synspunkt på transformer Helt tilsvarende har vi at den inverse transformen kan uttrykkes ved: f A F = Fourier-transformen tilhører klassen unitære transformer, det vil si transformer der transform-matrise A har egenskapen: A * = A T

Et annet synspunkt på transformer Eksempel: N=4, f()=, f()=,f(2)=2 og f(3)=3. F Af F F F F j j j j j j = = = + ( ) () ( ) ()...... 2 3 4 2 3 5 5 5 5 5 5 f A F A F f f f f j j j j j j T = = = + = 2 3 4 5 5 5 5 5 5 2 3 * ( ) () ( ) ()......

Et annet synspunkt på transformer 2D Diskret Fourier-transformen er definert ved: N N ux vy Fuv (, ) = fxy (, )exp[ j2π( + )] 2 N N N x= Legg merke til at også nå er sammenhengen mellom F(u,v) og f(x,y) lineær, det vil si at den samme transformen kan uttrykkes som en matrisemultiplikasjon: F y= N N ux vy = exp[ j2π ] fxy (, )exp[ j2π ] 2 N N N x= = AfA T y=

Et annet synspunkt på transformer Dette er et generelt resultat, for 2D-transformer med separabel kjerne (og der de to leddene i den separerte kjernen har samme funksjonelle form), gjelder: F = AfA T

a k *...og enda et synspunkt... La være kolonne k i matrisen. * * * T Definer A = a a. kl, k l A * T La indreproduktet av to N*N matriser være definert ved: N N * PQ, = pxyq (, ) ( xy, ) x= y= Vi får da en rekkeutvikling for bildet f(x,y) gitt ved: f = N N * F(, u v) A uv, u= v= der * Fuv (, ) =,, fa kl

...og enda et synspunkt... Bildet f(x,y) kan altså skrives som en vektet sum av N*N matriser. Disse matrisene kalles basisbilder. Vektene er ganske enkelt projeksjonen av bildet f(x,y) ned på hvert basisbilde. f = N N * F(, u v) A uv, u= v= der * Fuv (, ) =,, fa kl

...og enda et synspunkt... Basisbilder for Fourier-transformen Reell del Imaginær del

Sidesprang Vi vil sende dette bildet over en lavrate datakanal. Bildet er 256*256 pixler stort, hver pixel er representert ved 8 bit, altså må vi sende 65536 byte over kanalen. På en 64kbit/s kanal vil dette ta ca. 8 s. Kan vi gjøre noe for å øke overføringsraten?

Sidesprang Hva om sender og mottaker seg imellom avtaler et sett byggeklossbilder. Senderen overfører instruksjoner for hvordan disse byggeklossbildene skal settes sammen for å gjenskape det bildet sender egentlig ønsker å sende. Kan instruksjonene sendes på mindre tid enn selve bildet?

Sidesprang Hva med byggeklosser av denne typen: Det vil si byggeklosser av typen B x,y som er av samme størrelse som bildet vi vil sende og som er null overalt unntatt pixel (x,y) som settes lik.

Genial ide... Regelen for rekonstruksjon av det sendte bildet er: N N fxy (, ) = α ij, B, i= j= ij α ij Problem: Koeffisientene, er nødvendigvis lik (grå-)verdien til pixel i,j. Vi må sende like mange koeffisienter som der er pixler. Problem: Byggeklossbildene fanger ikke opp globale egenskaper ved bildet.

Sidesprang Kan dette gjøres bedre? Hva med disse byggeklossbildene:

Vi prøver med et 8*8 bilde: Sidesprang

Sidesprang Vi bruker følgende 9 koeffisienter: 8. 38 77. 38 88. 734. 69. 64. 53. 3. 78.

Hadamard-transformen Disse byggeklossbildene er selvfølgelig ikke tilfeldig valgt. De er basisbildene assosiert med den såkalte Hadamardtransformen. Kjernen i denne transformen er gitt ved: b x b u i kxyuv (,,, ) = ( ) + = N [ ( ) ( ) b ( y) b ( v)] i i i i der b i (x) er i-te bit i den binære representasjonenav x. Med i=3 og x=6 ( in binary) er b (x)=, b (x)= og b 2 (x)=. N

Hadamard-transformen Med N=8 er basisbildene:

Tilbake til Fourier-transformen Vi bruker følgende 9 koeffisienter: 84.. j. 544 26. + j. 23. + j45. 9. j3. 24. + j5. 2. + j9. 5. j7.. + j7. Re Im

Hadamard vs. Fourier (første 9 av 64 koeff.) Hadamard Fourier