INF 2310 Digital bildebehandling

Like dokumenter
INF 2310 Digital bildebehandling

INF 2310 Digital bildebehandling

INF 2310 Digital bildebehandling

Geometriske operasjoner

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

INF 2310 Digital bildebehandling FORELESNING 5. Fritz Albregtsen. Pensum: Hovedsakelig 3.3 i DIP HISTOGRAM-TRANSFORMASJONER

a. Hva er de inverse transformasjonene avfølgende tre transformasjoner T, R og S: θ θ sin( ) cos( ) Fasit: 1 s x cos( θ) sin( θ) 0 0 y y z

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

Forelesningsnotater SIF8039/ Grafisk databehandling

INF Stikkord over pensum til midtveis 2017 Kristine Baluka Hein

UNIVERSITETET I OSLO

INF 2310 Digital bildebehandling

TDT4195 Bildeteknikk

Utkast med løsningshint inkludert UNIVERSITETET I OSLO

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

Midtveiseksamen Løsningsforslag

Obligatorisk oppgave 1

UNIVERSITETET I OSLO

Temaer i dag. Repetisjon av histogrammer I. Gjennomgang av eksempler. INF2310 Digital bildebehandling. Forelesning 5. Pensum: Hovedsakelig 3.

Gråtonehistogrammer. Histogrammer. Hvordan endre kontrasten i et bilde? INF Hovedsakelig fra kap. 6.3 til 6.6

Repetisjon av histogrammer. Repetisjon av histogrammer II. Repetisjon av gråtonetransform. Tommelfingerløsning

UNIVERSITETET I OSLO. Dette er et løsningsforslag

UNIVERSITETET I OSLO

Repetisjon av histogrammer

SEGMENTERING IN 106, V-2001 BILDE-SEGMENTERING DEL I 26/ Fritz Albregtsen SEGMENTERING SEGMENTERING

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

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

UNIVERSITETET I OSLO

Morfologiske operasjoner på binære bilder

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

UNIVERSITETET I OSLO

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

Løsningsforslag øving 7

Midtveiseksamen. INF Digital Bildebehandling

Hensikt: INF Metode: Naboskaps-operasjoner Hvorfor: Hvor:

INF 1040 løsningsforslag til kapittel 17

UNIVERSITETET I OSLO. Dette er et løsningsforslag

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

5.5.1 Bruk matriseregning til å vise at en rotasjon er produktet av to speilinger. Løsningsforslag + + = =

Motivasjon. Litt sett-teori. Eksempel. INF Kap. 11 i Efford Morfologiske operasjoner. Basis-begreper

Morfologiske operasjoner på binære bilder

Oppgave 1 (25 %) - Flervalgsoppgaver

Lokale operasjoner. Omgivelser/naboskap/vindu. Bruksområder - filtrering. INF 2310 Digital bildebehandling FILTRERING I BILDE-DOMÈNET I

UNIVERSITETET I OSLO

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

Løsningsforslag, Ukeoppgaver 9 INF2310, våren kompresjon og koding del I

2D Transformasjoner (s. 51 i VTK boken) Translasjon. Del 2 Grafisk databehandling forts. Rotasjon. Skalering. y x = x + d x, y = y + d y.

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

Bildetransformer Lars Aurdal

INF1040 Digital representasjon

Løsningsforslag, Ukeoppgaver 9 INF2310, våren kompresjon og koding del I

Oppgaver MAT2500. Fredrik Meyer. 29. august 2014

TMA4100 Matematikk1 Høst 2008

Grunnleggende Matematiske Operasjoner

INF{3 4}320 - Obligatorisk oppgave 3

UNIVERSITETET I OSLO

Emne 6. Lineære transformasjoner. Del 1

RF5100 Lineær algebra Løsningsforslag til prøveeksamen

Transkript:

INF 230 Digital bildebehandling Forelesning 3 Geometriske operasjoner Fritz Albregtsen 05.02.203 INF230

Temaer i dag Geometriske operasjoner Lineære / affine transformer Resampling og interpolasjon Samregistrering i av bilder Pensum: Kap. 244 2.4.4 og 2.6.5 265iDIP 05.02.203 INF230 2

Geometriske operasjoner Endrer på pikslenes posisjoner Første steg i denne prosessen: Transformer pikselkoordinatene (,) til (, ): = T (,) = T (,) T og T er ofte gitt som polnomer. Siden pikselkoordinatene må være heltall, må vi deretter bruke interpolasjon til å finne pikselverdien (gråtonen) id den ne posisjonen. 05.02.203 INF230 3

Anvendelser Forstørre deler av bilder for visuell inspeksjon («zoome») Rette opp geometriske feil som oppstår under avbildningen Rotasjon i bildeplanet Fiskeøelinse Radaravbildning av terreng Medisinsk ultrald Samregistrere bilder Samregistrere bilder fra ulike sensorer (CT, MR, US) Samregistrere bilder tatt tt på ulike tidspunkt. Samregistrere bilder med kart i en bestemt kartprojeksjon. Eksempel: Ansiktsgjenkjenning: Finne alle ansiktene i et bilde, klipp ut ansiktene, transformer del-bildene slik at ansiktene i bildet blir på samme sted, har samme orientering og samme størrelse som i referansebildene. Generere bilder fra andre kameravinkler Spesialeffekter 05.02.203 INF230 4

Affine transformer Transformerer pikselkoordinatene (,) til( (, ): = T (,) = T (,) Affine transformer beskrives ved: På matriseform: = a 0 + a + a 2 =b+b+b 0 b + b 2 eller 05.02.203 INF230 5

Egenskaper ved affine transformer Rette linjer bevares (se ukeoppgave) Parallelle linjer forblir parallelle Utrkkes ved enkel matrisemultiplikasjon lik Eksempler på affine transformasjoner: Translasjon Rotasjon Shearing Skalering Kombinasjoner av disse (!) 05.02.203 INF230 6

Litt om rotasjon Hørehånds koordinatsstem, rotasjon positiv med urviseren: = cosθ - sinθ; = sinθ + cosθ Venstrehånds koordinatsstem, rotasjon positiv med urviseren: = cosθ + sinθ; = -sinθ + cosθ θ P 05.02.203 INF230 7 θ P

Eksempler på enkle transformer - I Transformasjon a 0 a a 2 b 0 b b 2 Uttrkk Identitet 0 0 0 0 = = Skalering s 0 0 0 s 2 0 = s = s 2 Rotasjon cosθ -sinθ 0 sinθ cosθ 0 =cosθ-sinθ =sinθ+cosθ F F 05.02.203 INF230 8

Eksempler på enkle transformer - II Transformasjon a 0 a a 2 b 0 b b 2 Uttrkk Translasjon 0 0 = + = + = Horisontal shear s 0 0 0 +s med faktor s = Vertikal shear med dfaktor s 2 0 0 s2 0 = = s 2 + F 05.02.203 INF230 9

Sammenslåing av affine transformer (etc.) 05.02.203 INF230 0

Alternativ måte å finne transformkoeffisientene ffi i t En affin transform kan bestemmes ved å spesifisere tre punkter før og etter avbildningen inn-bildet resultat-bildet Med disse tre punktparene p kan vi finne de 6 koeffisientene; a 0, a, a 2, b 0, b, b 2 Med flere enn 3 punktpar velger man den transformasjonen som minimerer (kvadrat-)feilen summert over alle punktene (mer om dette senere) 05.02.203 INF230

Transformer med høere ordens polnomer Bilineære transformer beskrives ved: = a 0 + a + a 2 + a 3 = b 0 + b + b 2 + b 3 Kvadratiske transformer: = a 0 + a + a 2 + a 3 + a 4 2 + a 5 2 = b +b+b +b +b 0 + b 2 3 + b 4 2 5 2 Polnomer av høere orden gir muligheter for å korrigere for mer «komplekse» k avbildningsfeil. i 05.02.203 INF230 2

Resampling I illustrasjonen: Har kun sample/piksel- l Vil gjerne ha bildet samplet verdier på et rektangulært grid der linjene krsser -> resample Ikke glem at sammenhengen mellom romlig oppløsning og samplingsrate (samplingsteoremet) fortsatt gjelder! 05.02.203 INF230 3

Forlengs-mapping for all ',' do g(',') = 0 a 0 = cos θ a = -sin θ b 0 = sin θ b =cosθ θ for all, do = round(a 0 +a ) = round(b 0 +b ) if (, ) inside g g(, ) = f(,) end Eksempel: Enkel rotasjon ved transformen: Fltter de posisjonstransformerte pikselposisjonene til nærmeste pikselposisjon i utbildet. Skriver innbildets f(,) inn i g(, ) 05.02.203 INF230 4

Forlengs-mapping, forts. Problemer: Ikke alle utpiksler får verdi (hullene i bildet) Unødig beregning av pikselkoordinater som allikevel ikke blir snlige (ender utenfor utbildet) Samme utbilde-piksel kan bli satt flere ganger 05.02.203 INF230 5

Baklengs-mapping a 0 = cos (-θ) a = -sin (-θ) b 0 = sin (-θ) b = cos (-θ) for alle, do = round(a 0 +a ) = round(b 0 +b ) if (,) inside f g(, ) = f(,) else g(, )=0 end Samme eksempel som ved forlengs-mappingen. NB: (,) rotert t med θ ga (, ) ) (, ) rotert med -θ gir (,) Resample bildet. Her; for hvert utbilde-piksel, invers-transformér, og velg nærmeste piksel fra innbildet. For hver pikselposisjon i ut-bildet: Hent pikselverdi fra innbildet. 05.02.203 INF230 6

Baklengs-mapping, forts. 05.02.203 INF230 7

Interpolasjon : Hvilken intensitetsverdi it t skal pikselen få? Baklengs-mapping Nullte-ordens interpolasjon eller nærmeste nabo-interpolasjon g(, ) = f( round(), round() ) => Intensiteten til g(, ) g(,) blir en av verdiene fra f 05.02.203 INF230 8

Bilineær interpolasjon - I p j Anta at vi kjenner gråtoneverdien i fire nabo-punkter Ønsker å estimere gråtonen i et mellomliggende punkt. Gjør to lineære interpolasjoner i én retning først, f.eks i -retning: ), ( ), ( ), ( 2 2 2 2 og f f f 2 Så é i t l j i t l t i ), ( ), ( ), ( 2 2 2 2 2 2 2 f f f Så én interpolasjon i ortogonal retning: ), ( ), ( ), ( 2 2 2 2 f f f 2 Resultatet er uavhengig av rekkefølgen. Den interpolerte flaten er kvadratisk (krum) 2 2 05.02.203 INF230 Den interpolerte flaten er kvadratisk (krum), men lineær langs linjer parallelle med aksene. 9

Bilineær interpolasjon - II Bilineær interpolasjon når f er kjent i (0,0), (0,), (,0) og (,): f (,0) f (,) f (, ) der f (,0) og ( ) f (0,0) f (,0) f (,) ( ) f (0,) f (,) f (, ) ( ) ( ) f (0,0) 0) ( ) f (,0) ( ) f (0,) f (,) ) Eller i matrisenotasjon: f (, ) f (0,0) f (0,) f (,0) f (,) ( ) ( ) 05.02.203 INF230 20

Første-ordens interpolasjon/ bilineær interpolasjon Intensiteten blir en kombinasjon av pikselverdiene i de fire pikslene som omgir punktet Bidragene fra hver av disse vektes med avstanden Interpolere i - og -intervallene mellom 0 og : Praktisk algoritme: 0 = floor(), 0 = floor() = ceil(), = ceil() Δ = - 0 Δ = - 0 p = f( 0, 0 )+[f(, 0 )-f( 0, 0 )] Δ q = f( 0, )+[f(, )-f( 0, )] Δ f( f(, ) )=p+(q-p)δ p)δ 05.02.203 INF230 2

Bilineær interpolasjon, eksempel 05.02.203 INF230 22

Trilineær interpolasjon Utvidelsen fra 2D til 3D kalles trilineær interpolasjon, og er en lineær interpolasjon mellom resultatene av to bilineære interpolasjoner. Resultatet er igjen uavhengig av rekkefølgen. 05.02.203 INF230 23

Høere-ordens interpolasjon Bi-kubisk interpolasjon bentter et naboskap på 44 piksler Interpolasjon kan sees på som (kontinuerlig) konvolusjon med bestemte filtre. (D-varianter av nærmeste nabo, lineær og kubisk interpolasjonskjerne) 05.02.203 INF230 24

Interpolasjonsfunksjoner i praksis Nærmeste nabo: Taggete kanter og større totalfeil. Hver ut-piksel har en verdi fra inn-bildet: Ingen rekvantisering er nødvendig: d en fordel hvis man vil bevare visse statistiske egenskaper i bildet (eller hvis bildet er segmenert i ulike klasser) Bilineær interpolasjon og høere-ordens interpolasjon: er mer regnekrevende Bi-kubisk interpolasjon: gir skarpere bilder og har kontinuerlige deriverte Men er (me) mer regnekrevende enn bilineær interpolasjon, og kan gi opphav til kant-glorie-effekter 05.02.203 INF230 25

Kant-glorie-effekter effekter / ringing ved kubisk interpolasjon Negative lobe-verdier 05.02.203 INF230 26

Interpolasjon en sammenligning Nærmeste nabo gir 2D trappefunksjon, med diskontinuitet midt mellom punktene. Bi-lineær interpolasjon bruker 22=4 2 piksler. Derivert er ikke kontinuerlig over flaten. Bi-kubisk interpolasjon gir glattere flater enn bilineær, men er mer regnekrevende; bruker 44=6 piksler. 05.02.203 INF230 27

Bruk av geometriske transformer: Samregistrering av bld bilder Original Transformert Ønsket bilde å samregistrere med 05.02.203 INF230 28

Samregistrering II Hvis bildenes kartkoordinater er kjent, benttes til å finne transformkoeffisientene. Hvis ikke, brukes gjerne kontrollpunkter: Kontrollpunkter plukkes ut manuelt lett identifiserbare punkter (landemerker) i begge bildene. Affine transformer er unikt spesifisert med 3 punktpar (bestemmer a 0, a, a 2, b 0, b, b 2 ) Bi-lineære med 4 punktpar Bi-kvadratiske med 6 punktpar Bi-kubiske med 6 punktpar, I praksis velges ofte mange flere punkter for å få en god transformasjon (se neste side) 05.02.203 INF230 29

Samregistrering III Ved flere kontrollpunkter enn nødvendig for å bestemme transformkoeffisientene, benttes ofte kvadratfeilen som minimeringskriterium. Gitt M kontrollpunkter ( i, i ),( ir, ir ) («r» indikerer referansebildet) og anta mappingen ( i, i ) --> ( i, i ) Polnomkoeffisientene settes til de som minimerer kvadratfeilen mellom kontrollpunktets sanne koordinater ( ir, ir ) og de transformerte koordinatene ( i, i ): Enkel lineæralgebra benttes til å finne eksakt løsning. 05.02.203 INF230 30

Kursorisk pensum Samregistrering IV (Minimere kvadratfeilen) G og a er her basert på en affin transform d G a Vi er på jakt etter koeffisienten e i denne a- vektoren 05.02.203 INF230 Én enkelt matrise 3

Stkkevise transformer Resampling:Forskjellige transformer for ulike deler av bildet Ofte bestemmes et kontrollgrid som strer hvordan de ulike delene skal endres Bilineær transformasjon benttes ofte: =a 0 + a +a 2 +a 3 = b 0 + b + b 2 + b 3 Hver firkants fire hjørnepunkter bestemmer entdig den bilineære transformen 05.02.203 INF230 32

Oppsummering Transform/endring av pikslenes posisjoner (-,-koordinater) Affine transformer Resampling: Forlengs- og baklengsmapping Interpolasjonsmetoder for å bestemme gråtonene til de geometrisk transformerte pikslene: Nærmeste nabo-interpolasjon Bilineær interpolasjon Høere-ordens interpolasjoner Bruk av geometriske operasjoner til å samregistrere bilder Kontrollpunkter Løs ligningssett i som minimerer i kvadratfeil 05.02.203 INF230 33