$ ' $ ' Bildeanalyse • Bildeanalyse er ikke det samme som bildebehandling. IN 384, H2001 • Resultatet av bildebehandling er oftest et bilde, eller en koeffisient-matrise som svarer til et bilde. – Eksempler: bildeforbedring og -restaurering bildekompresjon og -koding EGENSKAPS-UTTREKKING • Bildeanalyse går ut på å trekke ut informasjon, dvs. kvantitative målinger, fra bildet. DEL I • Bildeanalyse skiller seg fra mønstergjenkjenning – er ikke begrenset til klassifikasjon inn i et a priori gitt antall klasser 7/11 2001 – skal kunne beskrive en kompleks scene Fritz Albregtsen • Kjært barn har mange navn – image data extraction – scene analysis – image understanding – computer vision FA-in384-feat1-1 & % $ ' FA-in384-feat1-2 & ' % $ Egenskaps-uttrekking Elementer i bildeanalyse • Lokale egenskaper (features) benyttes for å kunne isolere regioner som har noe til felles innenfor et bilde (segmentering), og for eventuell senere identifikasjon av regionene (klassifikasjon) og endelig objekt-beskrivelse. • (Pre-prosessering / bildebehandling) • Egenskaps-uttrekking • Lokale 1. ordens statistiske egenskaper • Piksel-klassifikasjon – Middelverdi • Segmentering µ= • Post-prosessering PG−1 i=0 ip(i) PG−1 i=0 p(i) – Varians σ2 = • Objekt-deteksjon = PG−1 i=0 ip(i) n = G−1 X iP (i) i=0 G−1 X (i − µ)2P (i) i=0 – Tredje ordens moment (skewness) • Objekt-beskrivelse • Utsagn / beslutning m3 = G−1 X (i − µ)3P (i) i=0 – Fjerde ordens moment (kurtosis) m4 = G−1 X (i − µ)4P (i) i=0 – Første ordens entropi H =− G−1 X P (i)log2P (i) i=0 – Energi E= G−1 X [P (i)]2 i=0 & FA-in384-feat1-3 % & FA-in384-feat1-4 % $ ' Varians Anvendelse av varians • Fra bilde-intensitetene v(x,y) • Et mål på “ruhet” er varians, σ 2 1X µ= v(x, y) n x,y • Et mål på “glatthet” er 1X (v(x, y) − µ)2 σ2 = n x,y 2 1 X 1 X σ 2 = (v(x, y))2 − v(x, y) n x,y n x,y R=1− – R går mot 1 når σ 2 øker • Anta tilnærmet normatfordeling i histogrammet 1 G−1 X µ= ip(i) n i=0 p(i) = √ 1 G−1 X p(i)(i − µ)2 n i=0 p(i) n G−1 X P (i) = 1 i=0 G−1 X µ= (i−µi )2 1 − e 2σ2 2πσ • Et estimat av standard-avvik fra histogrammet er da n 1 σ̂ = √ × 2π h der n = antall piksler under lokal topp h = høyde av lokal topp i histogram • Fra normalisert histogram P (i) = 1 1 + σ2 – R er nær null for homogene områder • Fra histogram σ2 = $ ' iP (i) i=0 σ2 = G−1 X i=0 σ2 = G−1 X i=0 P (i)(i − µ)2 i2P (i) − G−1 X 2 iP (i) i=0 FA-in384-feat1-5 & ' % & $ ' FA-in384-feat1-6 % $ “Skewness” og “Kurtosis” “Power-to-mean ratio” • Momentene til gråtone-histogrammet til et bilde eller en region gir en enkel 1. ordens beskrivelse av tekstur. • Også kalt “Coefficient of variation” σw (x, y) µw (x, y) c= • n’te ordens moment er gitt ved mn = der σw og µw finnes over et vindu w sentrert i (x, y). • c er invariant for skalering G−1 X i=0 (i − µ)nP (i) • “Skewness” 0 i = Ai γ3 = men ikke for flytting av nullpunktet 1 G−1 m3 X (i − µ)3P (i) = 3 σ 3 i=0 σ måler om “outliers” finnes mest på den ene siden av fordelingen. 0 i =i+B • “Kurtosis” • Alternativ: – Median istedenfor middelverdi γ4 = – Interpercentil-avstand istedenfor standard-avvik 1 G−1 m4 X (i − µ)4P (i) − 3 = 4 − 3 σ 4 i=0 σ – måler “flathet” – er invariant for 0 i = Ai + B – γ4 = 0.0 for normal-fordelinger med µ = 0.0 & FA-in384-feat1-7 % & FA-in384-feat1-8 % $ ' Entropi og energi Problemer med 1. ordens statistikk • Entropi (1. ordens) H=− G−1 X i=0 • 1. ordens statistiske egenskaper skiller lett mellom to objekter hvis f.eks. µ1 = µ2 og σ12 6= σ22. P (i)log2P (i) – Måler uniformitet i histogrammet – Vi ser at 0 ≤ H ≤ log G • Vi finner egenskapene til et piksel (x, y) og dets omegn vha. et lokalt vindu. – H er en nedre grense for midlere kode-ord lengde (i bits/piksel) i taps-fri (eksakt), ikkekontekstuell kompresjon. • Energi E=− G−1 X • Problemer: • Kanter rundt objekter forsterkes Løsning: Bildestyrte (adaptive) vinduer 2 [P (i)] i=0 • 1. ordens statistikk sier intet om geometri eller om kontekst. Løsning: – Måler non-uniformitet i histogrammet. – Hvis alle P (i) er like, har vi E = G $ ' 1 2 = G−1 G – Beregn 1. ordens egenskaper med forskjellig geometrisk oppløsning. Dette gir indirekte informasjon om 2. og høyere ordens statistikk. F.eks. suksessiv lavpass-filtrering og sub-sampling. – Hvis bare én gråtone finnes, har vi E = (G − 1) × 02 + 1 × 12 = 1 – Vi ser altså at G−1 ≤ E ≤ 1 – Bruk 2. ordens statistikk FA-in384-feat1-9 & ' % & $ ' FA-in384-feat1-10 $ TEKSTUR Hva er tekstur ? • TEKSTUREN varierer ofte fra region til region i et bilde. • En vagt definert egenskap som kan måles ved – glatthet • TEKSTUR er én av flere egenskaper som kan estimeres i et bilde. – ruhet – regularitet • TEKSTUR finnes både i gråtone- og fargebilder. – orientering – ... • TEKSTUR har stor betydning for visuell tolkning og bilde-analyse • “En sammenstilling av deler som utgjør et hele” • % “Visual textures are spatially extended visual patterns of more or less – klassifikasjon accurate repetitions of some basic texture elements, called texels. In digital images, each texel usually contains several pixels, and its char- – segmentering acteristics and placement can be periodic, quasi-periodic or random. – objekt-deteksjon Thus, textures may have statistical properties, structural properties, or – “shape from texture” both. – kompresjon • Teksturen er hverken lokal eller global – syntetisering/visualisering – ... – lokalt lik et kant/linje-segment – globalt nokså uinteressant for segmentering – regionalt kan man avgjøre om ensemblet av kanter/linjer (objekter/teksler) danner en tekstur. & FA-in384-feat1-11 % & FA-in384-feat1-12 % $ ' $ ' TEKSTUR-KANTER Usikkerhets-relasjonen • Dette er overganger fra én tekstur til en annen type tekstur. • Egenskaps-estimatoren bør være så lokal som mulig • Vi vil gjerne ha høy nøyaktighet i posisjonen til tekstur-kanten, for segmentering og parametrisering av regioner/objekter i bildet. • Dette gjelder også for tekstur-estimering. • Stort vindu ⇒ – nøyaktig estimering • Det finnes ingen a priori strategi. – unøyaktig posisjonering • Prosedyren avhenger av kontekst. • Lite vindu ⇒ – “romlig adaptivitet” – “data-styrt program” – unøyaktig estimering – “system med læring” – nøyaktig posisjonering • Ønsker samtidig estimat av orientering, posisjon (x), og lokal frekvens (ω). – ... • Analogi til Heisenberg’s usikkerhetsrelasjon ∆x · ∆ω ≥ 1 2 • Løsningen er Gabor-filtre f.eks. Gauss, Gauss ⊕ sin, Gauss ⊕ cos • Størrelsen på filtret bør styres av bildets lokale innhold. FA-in384-feat1-13 & ' % & $ ' Algoritmer og data FA-in384-feat1-14 % $ Adaptivitet ved geometriske sub-vindu • To separate mengder: • Finn homogent sub-rektangel om senter-piksel. – algoritme / program – data • Basis for konvensjonelle maskiner – kommunikasjon på én kanal – laveste program-nivå snakker med høyeste data-nivå • MaxH-filter • Programmet gir hele konteksten for operasjonene på dataene. En “non-adaptiv” analyse. – Del opp vinduet i sub-vinduer som alle inneholder senter-pikslet. – Finn det mest homogene sub-vindu, dvs. lavest varians (“max homogeneity”) • Program kan også være data (e.g. kompilatorer) 2 karakterisere teksturen – La f.eks. σmin i senterpikslets naboskap. – mulighet for multippel kontekst – intet klart skille mellom program og data • For å bearbeide et data-punkt må vi kjenne den strukturen som det er en del av. • Vi kan ikke identifisere strukturene utenå bearbeide data. & FA-in384-feat1-15 % & FA-in384-feat1-16 % $ ' $ ' LIT-SNN Adaptivitet ved piksel-sortering • Local Information Transform (LIT) • K- Nearest Neighbour (KNN) – Teller antall piksler som har omtrent samme gråtone som senter-pikslet. – For et gitt vindu med N piksler, velg de K pikslene som ligger nærmest senter-pikslet i gråtone-verdi. • Symmetric Nearest Neighbour (SNN) • K- Nearest Connected Neighbour (KNCN) – For hvert piksel-par symmetrisk om senterpikslet, velg det pikslet som ligger nærmest senter-pikslet i gråtone-verdi – En variant av KNN, men uten fast vindu. • Symmetric Nearest Neighbour (SNN) • LIT-SNN – For hvert piksel-par symmetrisk om senterpikslet, velg det pikslet som ligger nærmest senter-pikslet i gråtone-verdi – Er en tekstur-estimator basert på enkel, adaptiv telling. – SNN-komponenten reduserer problemet med kanter og konturer. • For alle piksel-sorterende strategier beregnes 1. ordens statististiske egenskaper (f.eks. varians) over de utvalgte pikslene. – Kan brukes på flere vindus-størrelser Hvis vi f.eks. bruker 7 × 7 og 21 × 21 og dividerer resultat-bildene. Områder med finstruktur få da høy verdi. Områder med store struktur få lav verdi. • Problemet med forsterkning av kanter rundt objekter minimeres. FA-in384-feat1-17 & ' % & $ ' FA-in384-feat1-18 $ GLCM Gray Level Cooccurrence Matrices • Matrisens størrelse = antall grånivåer i bildet. (GLCM) • Matrise-element P (m, n) gir 2. ordens statistisk sannsynlighet for å gå fra gråtone m til n når man beveger seg en avstand d i retning θ i bildet (eller i et bilde-utsnitt). 0 0 0 1 2 • Gitt et M × N bilde med G grå-nivåer, og la f (m, n) være intensiteten. Da er W = N−∆y X M−∆x X n=1 Cooccurrence Matrix j=0 1 2 3 i= 0 1/20 2/20 1/20 0 1 0 1/20 3/20 0 2 0 0 3/20 5/20 3 0 0 2/20 2/20 – Man kan bruke et relativt stort vindu. (Feil og usikkerhet ved variasjon i tekstur.) A m=1 og – 16 gråtoner er ofte nok. A= – Vinduet bør være 30 × 30 − 50 × 50 piksler. 1 hvis f (m, n) = i og f (m + ∆x, n + ∆y) = j 0 ellers • Man gjør ofte histogram-transformasjon. • Alternativ notasjon, gitt avstand og retning (d, theta) P (i, j | d, θ) & 3 3 3 2 2 – Man kan redusere antall gråtoner. (Man kan tape nøyaktighet ved lav kontrast.) 1 (M − ∆x)(N − ∆y) Q(i, j | ∆x, ∆y) = Image 1 1 2 0 2 3 1 2 2 2 3 2 2 3 3 • Matrisen må ha en “average occupancy level” som er stor nok. P (i, j | ∆x, ∆y) = W Q(i, j | ∆x, ∆y) der % FA-in384-feat1-19 – Gauss-tilpasning – Skalering til samme µ og σ – Histogram-utjevning % & FA-in384-feat1-20 % GLCM Symmetrisk GLCM • Man begrenser gjerne antall (d, θ)-verdier. • Hvis vi slår sammen GLCM fra to motsatte retninger, får vi en symmetrisk matrise: • Enkle sammenhenger mellom par av P (d, θ). P (d, 00) = P t(d, 1800) 0 t 0 P (d, 90 ) = P (d, 270 ) P (d, 450) = P t(d, 2250) 0 t 1 [P (d, θ) + P (d, θ + π)] 2 • Slike matriser kan defineres ved Ps(θ, d) = 0 P (d, 135 ) = P (d, 315 ) • Isotrop matrise ved midling av P (θ), θ ∈ {0o, 45o, 90o, 135o} Ps(0, d) = [p0(i, j | d)] , i, j ∈ {0, ..., G − 1} • Det finnes en rekke skalare tekstur-mål T (d, θ). | xi − xj |= d, yi = yj • Middelverdi (MT (d)), range (RT (d)), og varians (VT2(d)) kan brukes som egenskaper π Ps( , d) = p π4 (i, j | d) , i, j ∈ {0, ..., G − 1} 4 ((xi−xj = d)∧(yi−yj = −d))∨((xi−xj = −d)∧(yi−yj = d)) 1 X MT (d) = T (d, θ). Nθ θ RT (d) = max [T (d, θ)] − min [T (d, θ)] θ π Ps( , d) = p π2 (i, j | d) , i, j ∈ {0, ..., G − 1} 2 xi = xj , | yi − yj |= d θ 1 X [T (d, θ) − MT (d)]2 VT2(d) = Nθ θ " # 3π , d) = p 3π (i, j | d) , i, j ∈ {0, ..., G − 1} 4 4 ((xi−xj = d)∧(yi−yj = d))∨((xi−xj = −d)∧(yi−yj = −d)) Ps ( der termen pθ (i, j | d) gir 2. ordens statistisk sannsynlighet for å gå fra gråtone i til j når man beveger seg en avstand d i retning θ i bildet (eller i et bilde-utsnitt). $ ' $ ' GLCM Features Tekstur-egenskaper fra GLCM • Homogeneity, Angular Second Moment (ASM) : • En rekke egenskaper kan ekstraheres fra GLCM. • Haralick et al. angir 14 (+ varians). ASM = G−1 X G−1 X i=0 j=0 • Conners et al. gir noen ekstra. {P (i, j)}2 ASM is a measure of homogeneity of an image. A homogeneous scene will contain only a few gray levels, giving a GLCM with only a few but relatively high values of P (i, j). Thus, the sum of squares will be high. • Egenskapene er ofte korrelerte. • Oftest kan bare 4-5 egenskaper brukes samtidig. • Flere avstander (d) må undersøkes. • Optimalt sett av egenskaper er problem-avhengig. • Entropy : EN T ROP Y = − • Sammenlignende studier viser at GLCM er blant de beste metodene for tekstur-analyse. G−1 X G−1 X i=0 j=0 P (i, j) × log(P (i, j)) Inhomogeneous scenes have low first order entropy, while a homogeneous scene has a high entropy. • Correlation : CORR = G−1 X G−1 X i=0 j=0 (i − µx)(j − µy )P (i, j) σ x × σy Correlation is a measure of gray level linear dependence between the pixels at the specified positions relative to each other. & FA-in384-feat1-22 % & FA-in384-feat1-23 % $ ' GLCM Features GLCM Features • Contrast : • Sum Average : CON T RAST = G−1 X n=0 n2 { G G X X P (i, j)}, i=1 j=1 | i−j |= n AV ER = i=0 j=0 SEN T = − DEN T = − i=0 j=0 IN ERT IA = i=0 Px+y (i)log(Px+y (i)) G−1 X G−1 X G−1 X G−1 X i=0 j=0 (i − µ)2P (i, j) {i − j}2 × P (i, j) {i + j − µx − µy }3 × P (i, j) • Cluster Prominence : P ROM = G−1 X G−1 X i=0 j=0 % {i + j − µx − µy }4 × P (i, j) FA-in384-feat1-25 & $ ' Gray Level Run Length GLRLM - et eksempel • Et “run” = en mengde sammenhengende (8-naboskap), ko-lineære piksler med samme gråtone-verdi. 1 1 3 4 • “Run length” = antall piksler i et “run”. • “Run length value” = antall ganger et “run” finnes i et (sub)bilde. • Hvert element p(i, j | θ) i en “Gray Level Run Length Matrix” (GLRLM) angir antall ganger et (sub)bilde inneholder et “run” med gråtone i, av lengde j, i en gittt retning θ. • La P (i, j | θ) være elementer i den normaliserte GLRLM, dvs. P (i, j | θ) = p(i, j | θ) p(i, j | θ) = p(i, j | θ) S i=1 j=1 PG PR der S er det totale antall runs i bildet. & G−1 X • Cluster Shade : SHADE = FA-in384-feat1-24 Px+y (i)log(Px+y (i)) i=0 j=0 This feature puts relatively high weights on the elements that differ from the average value of P (i, j). & i=0 • Inertia : • Sum of Squares, Variance : G−1 X G−1 X 2G−2 X • Difference Entropy : 1 P (i, j) 1 + (i − j)2 IDM is also influenced by the homogeneity of the image. Because of the weighting factor (1 + (i − j)2)−1 IDM will get small contributions from inhomogeneous areas (i 6= j). The result is a low IDM value for inhomogeneous images, and a relatively higher value for homogeneous images. V ARIAN CE = iPx+y (i) • Sum Entropy : • Inverse Difference Moment (IDM) : G−1 X G−1 X 2G−2 X i=0 This measure of contrast or local intensity variation will favour contributions from P (i, j) away from the diagonal, i.e. i 6= j. IDM = $ ' FA-in384-feat1-27 % Image 2 3 3 4 2 2 1 4 4 4 2 1 gray level i 1 2 3 4 run length 1 2 3 4 0 0 1 0 1 3 0 0 3 1 0 (j) 4 0 0 0 0 gray level i 1 2 3 4 run length 1 2 3 4 0 0 4 0 0 0 0 1 3 0 0 (j) 4 0 0 0 0 Figure 1: Et bildeutsnitt (øverst) og dets Gray Level Run Length Matrix p(i, j | θ = 0o ) (midten) og p(i, j | θ = 45o ) (nederst). % $ ' $ ' GLRLM - oppskrift GLRLM - skalare egenskaper • Histogram-normalisering • Short Runs Emphasis : • Antall gråtoner reduseres. Man må ofte forsøke med flere verdier av G for å finne det beste resultatet. R G X X SRE = i=1 j=1 P (i, j | θ) j2 Ved å dividere hvert element i P (i, j) med kvadratet av dets lengde (j), legger vi størst vekt på de korte runs. • La P (i, j | θ) = element i GLRLM – G = antall gråtoner i bildet • Long Runs Emphasis : – R = det lengste “run” i bildet – N = antall piksler i bildet LRE = R G X X i=1 j=1 • Vi kan finne en rekke skalare egenskaper fra vår G × R GLRL matrise. j 2P (i, j | θ) Her multipliserer vi hver “run length value” med kvadratet av lengden av vedkommende run, for å gi mest vekt til lange runs. • Best diskriminering ved – forskjellige egenskaper i samme retning – samme egenskap i flere retninger – forskjellige egenskaper anvendt på isotrop GLRLM – logaritmisk partisjonering av “run length”, dvs. 1, 2-3, 4-7, 8-15, 16 -31, osv. FA-in384-feat1-29 & ' % & $ ' GLRLM - skalare egenskaper, GLN = G R X X i=1 j=1 • Low Gray level Runs Emphasis : P (i, j | θ) LGRE = G X j=1 i=1 R G X X i=1 j=1 P (i, j | θ) i2 • High Gray level Runs Emphasis : HGRE = R G X X i=1 j=1 • Run Length Non-uniformity : R X $ 2 Høye run length verdier vil her bidra mest. GLN har lavest verdi hvis vi har en jevn fordeling over alle gråtoner. (1/G ≤ GLN ≤ 1) RLN = % GLRLM - skalare egenskaper • Gray Level Non-uniformity : FA-in384-feat1-30 i2P (i, j | θ) Low Gray Level Emphasis (LGRE) og High Gray Level Emphasis (HGRE) er introdusert for å skille mellom teksturer som har like SRE eller LRE egenskaper, men som skiller seg i gråtonefordelingen av runs. 2 P (i, j | θ) RLN har lavest verdi hvis vi har en jevn fordeling over alle verdier av run length. (1/R ≤ RLN ≤ 1) • Run Percentage : RP = 1 N R G X X i=1 j=1 P (i, j | θ) = S N Dette er forholdet mellom det totale antall observerte runs i bildet og antall piksler i bildet. (1/N ≤ RP ≤ 1) & FA-in384-feat1-31 % & FA-in384-feat1-32 % $ ' Forenkling av GLRLM Forenkling av GLRLM • Uttrykkene for GLRLM egenskapene blir da: • La r(j | θ) = G X i=1 SRE = p(i, j | θ) representere antall runs av lengde j, mens g(i | θ) = R X j=1 p(i, j | θ) er antall runs med gråtone i. R G X X i=1 j=1 p(i, j | θ) = gray level i 1 2 3 4 r(j | θ) G X i=1 g(i | θ) = R X j=1 LRE = R G X R 1 X 1 X j 2p(i, j | θ) = r(j | θ)j 2 S i=1 j=1 S j=1 GLN = G R G 1 X 1 X X = p(i, j | θ) [g(i | θ)]2 S i=1 j=1 S i=1 2 2 R G R 1 X 1 X X p(i, j | θ) = [r(j | θ)]2 S j=1 i=1 S j=1 R G X R 1 X 1 X RP = p(i, j | θ) = r(j | θ) n i=1 j=1 n j=1 R p(i, j | θ) G X G g(i | θ) 1 X 1 X LGRE = = S i=1 j=1 i2 S i=1 i2 R G X G 1 X 1 X HGRE = i2p(i, j | θ) = i2g(i | θ) S i=1 j=1 S i=1 RLN = • La S være det totale antall runs i bildet: S= R p(i, j | θ) G X R r(j | θ) 1 X 1 X = S i=1 j=1 j2 S j=1 j 2 r(j | θ) run length, j 1 2 3 4 g(i | θ) 4 0 0 0 4 1 0 1 0 2 3 0 0 0 3 3 1 0 0 4 11 1 1 0 S=13 • Merk at alle egenskapene kan beregnes uten at vi har en 2-D GLRL matrise. & FA-in384-feat1-34 %