Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

2011.02.01INF23101 / 26 ● Geometriske operasjoner ● Lineære / affine transformer ● Resampling og interpolasjon ● Samregistrering av bilder INF2310 – 1.

Liknende presentasjoner


Presentasjon om: "2011.02.01INF23101 / 26 ● Geometriske operasjoner ● Lineære / affine transformer ● Resampling og interpolasjon ● Samregistrering av bilder INF2310 – 1."— Utskrift av presentasjonen:

1 INF23101 / 26 ● Geometriske operasjoner ● Lineære / affine transformer ● Resampling og interpolasjon ● Samregistrering av bilder INF2310 – 1. februar 2011 – Ukens temaer (Kap og i DIP)

2 INF23102 / 26 Geometriske operasjoner ● Endrer på pikslenes posisjoner ● Transformerer pikselkoordinatene (x,y) til (x’,y’): x’ = T x (x,y) y’ = T y (x,y) ● T x og T y ofte gitt som polynomer Merk: Her er det ikke pikselverdiene, men piksel-koordinatene x og y som endres.

3 INF23103 / 26 Anvendelser ● Forstørre deler av bilder for visuell inspeksjon («zoome») ● Rette opp geometriske feil som oppstår under avbildningen − Rotasjon − Fiskeøyelinse − Radaravbildning av terreng − Medisinsk ultralyd −... ● Samregistrere bilder fra ulike sensorer eller bilder tatt på ulike tidspunkt − Eks ansiktsgjenkjenning: Finne ansiktene i et bilde og transformere bildet slik at ansiktene i bildet blir på samme sted, orientering og i samme størrelse som i referansebildene − Samregistrere bilder med kart i en bestemt kartprojeksjon ● Generere bilder fra andre kameravinkler ● Spesialeffekter

4 INF23104 / 26 Affine transformer ● Transformerer pikselkoordinatene (x,y) til (x’,y’): x’ = T x (x,y) y’ = T y (x,y) ● Affine transformer beskrives ved: x’ = a 0 x+a 1 y+a 2 y’ = b 0 x+b 1 y+b 2 ● På matriseform: eller

5 INF23105 / 26 Egenskaper ved affine transformer ● Rette linjer bevares ● Parallelle linjer forblir parallelle ● Utrykkes ved enkel matrisemultiplikasjon ● Eksempler på affine transformasjoner: − Translasjon − Rotasjon − ”Shearing” − Skalering − Kombinasjoner av disse (!)

6 INF23106 / 26 Eksempler på enkle transformer

7 INF23107 / 26 Sammenslåing av affine transformer (etc.)

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

9 INF23109 / 26 Transformer med høyere ordens polynomer ● Bilineære transformer beskrives ved: x’ = a 0 x+a 1 y+a 2 +a 3 xy y’ = b 0 x+b 1 y+b 2 +b 3 xy Kvadratiske transformer: x’ = a 0 x+a 1 y+a 2 +a 3 xy+a 4 x 2 +a 5y y 2 y’ = b 0 x+b 1 y+b 2 +b 3 xy+b 4 x 2 +b 5y y 2 ● Polynomer av høyere orden gir muligheter for å korrigere for mer «komplekse» avbildningsfeil

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

11 INF / 26 Forlengs-mapping for all x',y' do g(x',y')=0 a 0 = cos θ a 1 = -sin θ b 0 = sin θ b 1 = cos θ for all x,y do x’ = round(a 0 x+a 1 y) y’ = round(b 0 x+b 1 y) if (x’,y’) inside g g(x’,y’) = f(x,y) end Eksempel: Enkel rotasjon ved transformen: Flytter de posisjonstransformerte pikslene til nærmeste piksel i utbildet.

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

13 INF / 26 Baklengs-mapping a 0 = cos (- θ ) a 1 = -sin (- θ ) b 0 = sin (- θ ) b 1 = cos (- θ ) for alle x’,y’ do x = round(a 0 x’+a 1 y’) y = round(b 0 x’+b 1 y’) if (x,y) inside f g(x’,y’) = f(x,y) else g(x’,y’)=0 end Resample bildet. Her; for hvert utbilde-piksel, invers-transformér, og velg nærmeste piksel fra innbildet. Samme eksempel som ved forlengs-mappingen. Husk: Hvis (x,y) roteres med θ og gir (x', y'), tilsvarer det at hvis (x', y') roteres med -θ får vi (x,y).

14 INF / 26 Baklengs-mapping, forts.

15 INF / 26 Interpolasjon – hvilke intensitetsverdier har bildet mellom sample-punktene? Baklengs-mapping y’ x’ y x Nullte-ordens interpolasjon eller nærmeste nabo-interpolasjon g(x’,y’) = f( round(x), round(y) ) Intensiteten til g blir en av verdiene til f

16 INF / 26 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 x- og y-intervallene mellom 0 og 1: Praktisk algoritme: x 0 = floor(x), y 0 = floor(y) x 1 = ceil(x), y 1 = ceil(y) Δx = x - x 0 Δy = y - y 0 p = f(x 0,y 0 )+[f(x 1,y 0 )-f(x 0,y 0 )] Δx q = f(x 0,y 1 )+[f(x 1,y 1 )-f(x 0,y 1 )] Δx f(x’,y’)=p+(q-p)Δy

17 INF / 26 Bilineær interpolasjon, eksempel

18 INF / 26 Høyere-ordens interpolasjon ● Kubisk interpolasjon benytter et naboskap på 4  4 piksler ● Interpolasjon kan sees på som (kontinuerlig) konvolusjon med bestemte filtre (1D-varianter av nærmeste nabo, lineær og kubisk interpolasjonskjerne)

19 INF / 26 Interpolasjonsfunksjoner i praksis Nærmeste nabo: Taggete kanter og større totalfeil. Hver ut-piksel har en verdi fra inn-bildet: Ingen rekvantisering nødvendig, og en fordel hvis man vil bevare visse statistiske egenskaper i bildet (eller hvis bildet er segmenert i ulike klasser) Bilineær interpolasjon og høyere-ordens interpolasjon er mer regnekrevende Kubisk interpolasjon gir skarpere bilder og har kontinuerlige deriverte, men er (mye) mer regnekrevende enn bilineær interpolasjon, og kan gi opphav til ”kant-glorie-effekter”

20 INF / 26 ”Kant-glorie-effekter” / ”ringing” ved kubisk interpolasjon Negative lobe-verdier

21 INF / 26 Bruk av geometriske transformer: Samregistrering av bilder Original Transformert Ønsket bilde å samregistrere med

22 INF / 26 Samregistrering II ● Om bildenes kartkoordinater er kjent, kan disse benyttes 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 1,a 2,b 0,b 1,b 2 ), bilineære med 4 punktpar (kvadratiske med 6,...) − I praksis velges ofte mange flere punkter for å få en god transformasjon (se neste side)

23 INF / 26 Samregistrering III ● Ved flere kontrollpunkter enn nødvendig for å bestemme transformkoeffisientene, benyttes ofte kvadratfeilen som minimeringskriterium ● Gitt M kontrollpunkter (x i,y i ),(x i r,y i r ) («r» indikerer referansebildet) og anta mappingen (x i,y i ) --> (x’ i,y’ i ) ● Polynomkoeffisientene settes til de som minimerer kvadratfeilen mellom kontrollpunktets sanne koordinater (x i r,y i r ) og de transformerte koordinatene (x i ’,y i ’): ● ”Enkel” lineæralgebra benyttes til å finne eksakt løsning på ligningen over

24 INF / 26 dG a Samregistrering IV (Minimere kvadratfeilen) Kursorisk pensum Vi er på jakt etter koeffisientene i denne a-vektoren Én enkelt matrise G og a er her basert på en affin transform

25 INF / 26 Stykkevise transformer ● Forskjellige transformer for ulike deler av bildet ● Ofte bestemmes et kontrollgrid som styrer hvordan de ulike delene skal endres ● Bilineær transformasjon benyttes ofte: − x’=a 0 xy+a 1 x+a 2 y+a 3 − y’=b 0 xy+b 1 x+b 2 y+b 3 Hver firkants fire hjørnepunkter bestemmer entydig den bilineære transformen

26 INF / 26 Oppsummering ● Transform/endring av pikslenes posisjoner (x-,y-koordinater) − Affine transformer ● Resampling − Forlengs- og baklengsmapping − Interpolasjonsmetoder Nærmeste nabo-interpolasjon Bilineær interpolasjon Høyere-ordens interpolasjoner ● Bruk av geometriske operasjoner til å samregistrere bilder − Kontrollpunkter


Laste ned ppt "2011.02.01INF23101 / 26 ● Geometriske operasjoner ● Lineære / affine transformer ● Resampling og interpolasjon ● Samregistrering av bilder INF2310 – 1."

Liknende presentasjoner


Annonser fra Google