Bildeanalyse IN 384, H2001 EGENSKAPS-UTTREKKING

advertisement
$
'
$
'
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
%
Download