Geometrske operasjoner INF 23 29..28 Kap. 2.4.4 og 2.6.5 DIP Geometrske operasjoner Affne transformer Interpolasjon Samregstrerng av blder Endrer på pkslenes possjoner ransformerer pkselkoordnatene (x,) tl (x, ): x x (x,) (x,) x og ofte gtt som polnomer erk: Her er det kke pkselverdene, men pksel-koordnatene x og som endres. 29..28 INF23 29..28 INF23 2 Anvendelser Rette opp geometrske fel som oppstår under avbldnngen Fskeøelnse Radaravbldnng av terreng edsnsk ultrald... Samregstrere blder fra ulke sensorer eller blder tatt på ulke tdspunkt Eks ansktsgjenkjennng: Fnne ansktene et blde og transformere bldet slk at ansktene bldet blr på samme sted, orenterng og samme størrelse som referansebldene Samregstrere blder med kart en bestemt kartprojeksjon Generere blder fra andre kameravnkler Spesaleffekter 29..28 INF23 3 Affne transformer ransformerer pkselkoordnatene (x,) tl (x, ): x x (x,) (x,) Affne transformer beskrves ved: x a x+a +a 2 b x+b +b 2 På matrseform: x' a a a2 ' b b b2 eller x' a ' b 29..28 INF23 4 a a2 + b b2
Egenskaper ved affne transformer Eksempler på enkle transformer Rette lnjer bevares Parallelle lnjer forblr parallelle Utrkkes ved enkel matrsemultplkasjon ransformasjon ranslasjon med Δx og Δ a a a 2 Δx b b b 2 Δ Uttrkk x x+δx +Δ Eksempler på affne transformasjoner: ranslasjon Rotasjon Shearng Skalerng Kombnasjoner av dsse Skalerng med faktor s Rotasjon med θ Horsontal shear faktor s s cosθ s -snθ snθ cosθ s x' a ' b a a2 b b2 x sx s x cosθx-snθ snθ+ cosθ x x+s 29..28 INF23 5 29..28 INF23 6 Sammenslång av affne transformer Alternatve måter å fnne transformkoeffsentene x' transl. ' rot x' x'' ' '' En affn transform kan bestemmes ved å spesfsere tre punkter før og etter avbldnngen x'' rot transl. '' x'' transl. & rot ' ' nn-bldet resultat-bldet ed dsse tre punktparene kan v fnne de 6 koeffsentene; a,a,a 2,b,b,b 2 ed flere enn 3 punktpar velger man den transformasjonen som mnmerer kvadratfelen summert over alle punktene (mer om dette senere) 29..28 INF23 7 29..28 INF23 8 2
ransformer med høere ordens polnomer Blneære transformer beskrves ved: x a x+a +a 2 +a 3 x b x+b +b 2 +b 3 x Kvadratske transformer: x a x+a +a 2 +a 3 x+a 4 x 2 +a 5 2 b x+b +b 2 +b 3 x+b 4 x 2 +b 5 2 Også enda høere ordens polnomer kan benttes ulgheter for å korrgere for mer komplekse avbldnngsfel ransformalgortmer prakss Eksempel: cosθ snθ snθ cosθ Hva om x og kke er heltall? Hva skjer når x og kommer utenfor bldet? Hvor stort skal resultatbldet være? Hva med skalerng -- hva om flere punkter mappes tl samme heltall etter transformasjonen? Kan v tllate at ne pkselverder blr ntrodusert? 29..28 INF23 9 29..28 INF23 Algortme: Forlengs-mappng Rotere et blde med dmensjon N: Lag ntt blde, g, med dmensjon N for all x, do g(x,) a cos θ b sn θ a -b b a for all x, do x round(a x+a ) round(b x+b ) f (x, ) nsde g then g(x, ) f(x,) end Eksempel: Forlengs-mappng Problemer: Hull appng beregnes for pksler utenfor bldet g Et output-pksel kan bl beregnet flere ganger (flertdghet) 29..28 INF23 29..28 INF23 2 3
Algortme: Baklengs-mappng Eksempel: Baklengs-mappng Rotasjon av nputbldet f med dmensjon N: Lag ntt blde, g, med dmensjon N a cos θ a sn θ b -a b a for alle x, do x round(a x +a ) round(b x +b ) f (x,) nsde f then g(x, ) f(x,) else g(x, ) Husk: Hvs (x,) roteres med θ og gr (x, ), tlsvarer det at hvs (x, ) roteres med -θ får v (x,) end 29..28 INF23 3 29..28 INF23 4 x Interpolasjon - hvlken gråtoneverd skal pkselen få? Baklengs-mappng Nullte-ordens nterpolasjon eller nærmeste nabo-nterpolasjon g(x, ) f( round(x), round() ) x Første-ordens nterpolasjon/ blneær nterpolasjon Intensteten tl g blr en kombnasjon av pkselverdene de fre pkslene som omgr punktet Bdragene fra hver av dsse vektes med avstanden Algortme: Δx x -x Δ - p f(x, )+[f(x, )-f(x, )] Δx q f(x, )+[f(x, )-f(x, )] Δx f(x, )p+(q-p)δ Intensteten tl g blr en av verdene tl f 29..28 INF23 5 29..28 INF23 6 4
Høere-ordens nterpolasjon Kubsk nterpolasjon: Naboskap på 4 4 pksler brukes Interpolasjon kan sees på som (kontnuerlg) konvolusjon med bestemte fltre Vurderng av nterpolasjonsfunksjoner Nærmeste nabo: aggete kanter og større totalfel. Hver ut-pksel har en verd fra nn-bldet: Fordel hvs man vl bevare statstske egenskaper for bldet (eller hvs bldet er segmenert ulke klasser) Blneær nterpolasjon og høere-ordens nterpolasjon er mer regnekrevende (D-varanter av nærmeste nabo, lneær og kubsk nterpolasjonskjerne) 29..28 INF23 7 Kubsk nterpolasjon gr skarpere blder og har kontnuerlge derverte, men er (me) mer regnekrevende enn blneær nterpolasjon, og kan g opphav tl kant-glore-effekter 29..28 INF23 8 Kant-glore-effekter / rngng ved kubsk nterpolasjon Bruk av geometrske transformer: Samregstrerng av blder Orgnal ransformert Negatve lobe-verder Ønsket blde å samregstrere med 29..28 INF23 9 29..28 INF23 2 5
Samregstrerng II Hvs bldenes kartkoordnater er kjent, brukes dsse (evt. må man transformere tl felles kartprojeksjon) Hvs bldenes kartkoordnater kke er kjent, brukes gjerne kontrollpunkter: Kontrollpunkter plukkes ut manuelt - lett dentfserbare punkter (landemerker) begge bldene Affne transformer er eksakt spesfsert med 3 punktpar (bestemmer a,a,a 2,b,b,b 2 eksakt) Blneære transformer er eksakt spesfsert med 4 punkter, (kvadratske med 6 punkter,..) Ofte mange flere punkter for å få en god transformasjon Samregstrerng III Kvadratfelen brukes tl å vurdere hvor god en samregstrerng er Gtt kontrollpunkter (x, ),(x r, r ) ( r er referansebldet) (x, ) --> (x, ) >>3 for affne transformer og >>6 for kvadratske Polnomkoeffsentene bestemmes som de som passer best mht. kontrollpunktene, dvs. de som mnmerer kvadratfelen mellom kontrollpunktets sanne koordnater (x r, r ) og de transformerte koordnatene (x, ) J r 2 ( x ' x ) + ( ' ) Enkel lneæralgebra benttes tl å fnne eksakte løsnnger på lgnngen over 29..28 INF23 2 29..28 INF23 22 Samregstrerng IV (nmere kvadratfelen) J ( x ' x ) + ( ' ) Jx + r x r x2 r' xn x x2 J d G a 2 xn n a a a2 Jx Kursorsk pensum ( x ' x ) Stkkevse transformer Forskjellge transformer for ulke deler av bldet Ofte bestemmes et kontrollgrd som strer hvordan de ulke delene skal endres Blneær transformasjon benttes ofte: x a x+a x+a 2 +a 3 b x+b x+b 2 +b 3 Hver frkants fre punkter bestemmer entdg den blneære transformen Jx ( d Ga) ( d Ga) d d + a G Ga 2a G d δj δa x 2G Ga 2G d a ( G G) G d 29..28 INF23 23 29..28 INF23 24 6
orphng eknkk for å transformere et blde tl et annet en trnnvs prosess Hvordan lages en gradvs overgang mellom to blder? Ofte basert på stkkevse transformer Krever vanlgvs spesfkasjon av kontrollpunkter Anvendelser: grafkk/flm/spesaleffekter generere ansktsuttrkk (f.eks. smulere munnbevegelser tl tale) Oppsummerng Polnomtransformer for å mappe x,-koordnatene Affne transformer Forlengs- og baklengsmappng Interpolasjonsmetoder for å bestemme gråtonene tl den transformerte pkselen Nærmeste nabo-nterpolasjon Blneær nterpolasjon Kubsk nterpolasjon Bruk av geometrske operasjoner tl å samregstrere blder Kontrollpunkter 29..28 INF23 25 29..28 INF23 26 7