Temaer i dag INF 310 Digital bildebehandling Forelesning 3 Geometriske operasjoner Fritz Albregtsen Geometriske operasjoner Lineære / aine transormer Resampling og interpolasjon Samregistrering i av bilder Pensum: Kap. 44.4.4 og.6.5 65iDIP 1 Geometriske operasjoner Endrer på pikslenes posisjoner Første steg i denne prosessen: Transormer pikselkoordinatene (, til (, : = T (, = T (, T og T er ote gitt som polnomer. Siden pikselkoordinatene må være heltall, må vi deretter bruke interpolasjon til å inne pikselverdien (gråtonen id den ne posisjonen. Anvendelser Forstørre deler av bilder or visuell inspeksjon («zoome» Rette opp geometriske eil som oppstår under avbildningen Rotasjon i bildeplanet Fiskeøelinse Radaravbildning av terreng Medisinsk ultrald Samregistrere bilder Samregistrere bilder ra 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, transormer del-bildene slik at ansiktene i bildet blir på samme sted, har samme orientering og samme størrelse som i reeransebildene. Generere bilder ra andre kameravinkler Spesialeekter 3 4
Aine transormer Transormerer pikselkoordinatene (, til( (, : = T (, = T (, Aine transormer beskrives ved: På matriseorm: = a 0 + a 1 + a =b+b+b 0 b 1 + b eller Egenskaper ved aine transormer Rette linjer bevares (se ukeoppgave Parallelle linjer orblir parallelle Utrkkes ved enkel matrisemultiplikasjon lik Eksempler på aine transormasjoner: Translasjon Rotasjon Shearing Skalering Kombinasjoner av disse (! 5 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 7 θ P Eksempler på enkle transormer - I Transormasjon a 0 a 1 a b 0 b 1 b Uttrkk Identitet 1 0 0 1 0 0 = = Skalering s 1 0 0 0 s 0 = s 1 = s Rotasjon cosθ -sinθ 0 sinθ cosθ 0 =cosθ-sinθ =sinθ+cosθ F F 8
Eksempler på enkle transormer - II Sammenslåing av aine transormer Transormasjon a 0 a 1 a b 0 b 1 b Uttrkk Translasjon 1 0 0 1 = + = + = Horisontal shear 1 s 0 0 1 0 +s 1 med aktor s 1 1 = Vertikal shear med daktor s 1 0 0 s 1 0 = = s + F (etc. 9 10 Alternativ måte å inne transormkoeisientene i i t En ain transorm kan bestemmes ved å spesiisere tre punkter ør og etter avbildningen Transormer med høere ordens polnomer Bilineære transormer beskrives ved: = a 0 + a 1 + a + a 3 = b 0 + b 1 + b + b 3 Kvadratiske transormer: = a 0 + a 1 + a + a 3 + a 4 + a 5 inn-bildet resultat-bildet Med disse tre punktparene p kan vi inne de 6 koeisientene; a 0, a 1, a, b 0, b 1, b Med lere enn 3 punktpar velger man den transormasjonen som minimerer (kvadrat-eilen summert over alle punktene (mer om dette senere 11 = b +b+b +b +b 0 1 + b 3 + b 4 5 Polnomer av høere orden gir muligheter or å korrigere or mer «komplekse» k avbildningseil. i 1
Resampling Forlengs-mapping or all ',' do g(',' = 0 a 0 = cos θ a 1 = -sin θ b 0 = sin θ b 1 =cosθ θ Eksempel: Enkel rotasjon ved transormen: 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 ortsatt gjelder! 13 or all, do = round(a 0 +a 1 = round(b 0 +b 1 i (, inside g g(, = (, end Fltter de posisjonstransormerte pikselposisjonene til nærmeste pikselposisjon i utbildet. Skriver innbildets (, inn i g(, 14 Forlengs-mapping, orts. Baklengs-mapping Problemer: Ikke alle utpiksler år verdi (hullene i bildet Unødig beregning av pikselkoordinater som allikevel ikke blir snlige (ender utenor utbildet Samme utbilde-piksel kan bli satt lere ganger a 0 = cos (-θ a 1 = -sin (-θ b 0 = sin (-θ b 1 = cos (-θ or alle, do = round(a 0 +a 1 = round(b 0 +b 1 i (, inside g(, = (, else g(, =0 end Samme eksempel som ved orlengs-mappingen. NB: (, rotert t med θ ga (, (, rotert med -θ gir (, Resample bildet. Her; or hvert utbilde-piksel, invers-transormér, og velg nærmeste piksel ra innbildet. For hver pikselposisjon i ut-bildet: Hent pikselverdi ra innbildet. 15 16
Baklengs-mapping, orts. Interpolasjon : Hvilken intensitetsverdi it t skal pikselen å? Baklengs-mapping Nullte-ordens interpolasjon eller nærmeste nabo-interpolasjon g(, = ( round(, round( => Intensiteten til g(, g(, blir en av verdiene ra 17 18 Bilineær interpolasjon - I Bilineær interpolasjon - II Anta at vi kjenner gråtoneverdien i ire nabo-punkter Ønsker å estimere gråtonen i et mellomliggende punkt. Gjør to lineære interpolasjoner i én retning ørst,.eks i -retning: 1 (, 1 ( 1, 1 (, 1 1 1 og 1 (, ( 1, (, 1 Så én interpolasjon i ortogonal retning: 1, (, 1 (, ( 1 1 Resultatet er uavhengig av rekkeølgen. Den interpolerte laten er kvadratisk (krum, men lineær langs linjer parallelle med aksene. 1 1 1 19 Bilineær interpolasjon når er kjent i (0,0, (0,1, (1,0 og (1,1: (, 1 (,0 (,1 der (,0 (1 (0,0 (1,0 og (,1 (1 (0,1 (1,1 (, (1 (1 (0,0 0 (1 (1,0 (1 (0,1 (1,1 1 Eller i matrisenotasjon: (, (0,0 (0,1 (1 (1,0 (1,1 (1 0
Første-ordens interpolasjon/ bilineær interpolasjon Bilineær interpolasjon, eksempel Intensiteten blir en kombinasjon av pikselverdiene i de ire pikslene som omgir punktet Bidragene ra hver av disse vektes med avstanden Interpolere i - og -intervallene mellom 0 og 1: Praktisk algoritme: 0 = loor(, 0 = loor( 1 = ceil(, 1 = ceil( Δ = - 0 Δ = - 0 p = ( 0, 0 +[( 1, 0 -( 0, 0 ] Δ q = ( 0, 1 +[( 1, 1 -( 0, 1 ] Δ ( (, =p+(q-pδ pδ 1 Trilineær interpolasjon Høere-ordens interpolasjon Utvidelsen ra D til 3D kalles trilineær interpolasjon, og er en lineær interpolasjon mellom resultatene av to bilineære interpolasjoner. Resultatet er igjen uavhengig av rekkeølgen. Bi-kubisk interpolasjon bentter et naboskap på 44 piksler Interpolasjon kan sees på som (kontinuerlig konvolusjon med bestemte iltre. (1D-varianter av nærmeste nabo, lineær og kubisk interpolasjonskjerne 3 4
The image cannot be displaed. Your computer ma not have enough memor to open the image, or the image ma have been corrupted. Restart our computer, and then open the ile again. I the red still appears, ou ma have to delete the image and then insert it again. Interpolasjonsunksjoner i praksis Nærmeste nabo: Taggete kanter og større totaleil. Hver ut-piksel har en verdi ra inn-bildet: Ingen rekvantisering er nødvendig: d en ordel hvis man vil bevare visse statistiske egenskaper i bildet (eller hvis bildet er segmenert i ulike klasser Kant-glorie-eekter eekter / ringing ved kubisk interpolasjon 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-eekter Negative lobe-verdier 5 6 Interpolasjon en sammenligning Nærmeste nabo gir D trappeunksjon, med diskontinuitet midt mellom punktene. Bi-lineær interpolasjon bruker =4 piksler. Derivert er ikke kontinuerlig over laten. Bi-kubisk interpolasjon gir glattere later enn bilineær, men er mer regnekrevende; bruker 44=16 piksler. 7 Bruk av geometriske transormer: Samregistrering av bld bilder Original Ønsket bilde å samregistrere med Transormert 8
Samregistrering II Hvis bildenes kartkoordinater er kjent, benttes til å inne transormkoeisientene. Hvis ikke, brukes gjerne kontrollpunkter: Kontrollpunkter plukkes ut manuelt lett identiiserbare punkter (landemerker i begge bildene. Aine transormer er unikt spesiisert med 3 punktpar (bestemmer a 0, a 1, a, b 0, b 1, b Bi-lineære med 4 punktpar Bi-kvadratiske med 6 punktpar Bi-kubiske med 16 punktpar, Samregistrering III Ved lere kontrollpunkter enn nødvendig or å bestemme transormkoeisientene, benttes ote kvadrateilen som minimeringskriterium. Gitt M kontrollpunkter ( i, i,( ir, ir («r» indikerer reeransebildet og anta mappingen ( i, i --> ( i, i Polnomkoeisientene settes til de som minimerer kvadrateilen mellom kontrollpunktets sanne koordinater ( ir, ir og de transormerte koordinatene ( i, i : I praksis velges ote mange lere punkter or å å en god transormasjon (se neste side 9 Enkel lineæralgebra benttes til å inne eksakt løsning. 30 Kursorisk pensum Samregistrering IV (Minimere kvadrateilen Stkkevise transormer Resampling:Forskjellige transormer or ulike deler av bildet G og a er her basert på en ain transorm d G a Vi er på jakt etter koeisienten e i denne a- vektoren Ote bestemmes et kontrollgrid som strer hvordandeulikedeleneskalendres de delene endres Bilineær transormasjon benttes ote: =a 0 + a 1 +a +a 3 = b 0 + b 1 + b + b 3 Hver irkants ire hjørnepunkter bestemmer entdig den bilineære transormen Én enkelt matrise 31 3
Oppsummering Transorm/endring av pikslenes posisjoner (-,-koordinater Aine transormer Resampling: Forlengs- og baklengsmapping Interpolasjonsmetoder or å bestemme gråtonene til de geometrisk transormerte 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 kvadrateil 33