1
Signaler, information & bilder, föreläsning 14Michael Felsberg
Computer Vision LaboratoryDepartment of Electrical [email protected]
Översikt
• 2D signalbehandling (bildbehandling) forts.
– Faltningskärnor
• Deriverande
• Högpassfiltrerade
– Omsampling
• Generell / translation
• Förstoring (uppsampling)
• Förminskning (nedsampling)
• Rotation
• Teori: Kap. 3.7, 3.8, 3.9, 3.10, 4
• Bygger på Maria Magnussons föreläsningar
Faltningskärna
Filterkärna
Filter
Operator
Kärna
Synonymer
*
Lågpassfiltrering
24
16
16
24
24
24
16
16
36
/256
464
464
6
4
4
6
4
4
1 1
11
Jämför med Fig. 3.13
Lågpassfiltrering i Fourierdomänen
Jmf Fig. 3.13
2
Filtrering via multiplikation i DFT-domänen ger cirkulär faltning
Fig. 3.9
Sker via multipli-kation i fourier-domänen. Ut-bilden blir likastor som inbilden.
kan för-beräknas
1D cirkulär faltning
convolve()signal.fft :Python
de.intressera den för kompendiet i finns Bevis:gäller Det
. cirkulär eller upprepad periodiskt som uppfattas kan dvs operation, modulo
betecknar och faltning cirkulär noterar där
kHkGmhgDFT
nNhnhhN
nmhngmhg
DDDND
DD
D
NN
N
n
NDDDND
59.21
0
Alltså: För att cirkulär faltning ska ge samma resultatsom vanlig linjär faltning kan zero-padding behövas.
*
=
*
=
1D cirkulär faltning Motivering i spatialdomänen attär en deriveringsoperator
2
111
xfxfxf
samma!
1 -1/2
0
22
111
xfxfxg
Från gymnasiet: Faltning, g=d*f:
3
Derivering kan ses som faltningmed en deriveringsoperator
ujx
uFujxfx
uFujx
xf
uFxf
uFxf
2
2
2
dvs ,är avnsformen fouriertraatt Antag
Fouriertransformen av en
deriveringsoperator är en rät linje!
En
faltningskärna
vars fouriertransform
liknar en rät linje i
fourierdomänen kan
användas som
deriverings-
operator!
Motivering i fourierdomänen attär en deriveringsoperator
• Sätta dirac-impulser på varje element i faltningskärnanmed sampelavstånd
• Tag kontinuerlig Fouriertransform
0då2/2sin
2/111 22
uujuj
veeuH ujuj
2/11 yxxxh
Den liknar en rät linje för låga frekvenser. Den beräknar deri-vatan bra för låga frekvenser och dämpar höga frekvenser.
1 -1/2
0
Deriverande (och lågpassfiltrerande) faltningskärna i x-led (u-led)
Fig. 3.17
här1
,/2sin
uj
1 -1/2
0 x
y
uv
centralax-differenser
Deriverande (och lågpassfiltrerande) faltningskärna i y-led (v-led)
Fig. 3.17
här1
,/2sin
vj
uv
centralay-differenser
-1
1
/2
0 x
y
4
Deriverande faltningskärna i x-led (u-led) med lågpass-effekt i båda ledder
Fig. 3.17
här1
,/cos2sin 22
vuj
-11
-2
0 *
=
-1
-1
0
0
2
1
1
0
1
1/4
/2
/82
2
Sobel-x
Deriverande faltningskärna i y-led (v-led) med lågpass-effekt i båda ledder
Fig. 3.17
här1
,/cos2sin 22
uvj
11
0
2 *
=
1
-1
2
-2
0
1
-1
0
1
-1/2
/4
/82
0
Sobel-y
Deriverande faltning
-1/8
-2 -1
0 0 0
1 2 1
x
yxf
,
y
yxf
,
x
y
vit255grå127svart0
:färgtabell-gråskale
röd127vit0blå128-
:färgtabellbipolär
yxf ,
falta med
1
2
1 0
0
0
-1
-2
-1/8
Beloppet av gradienten tar fram kanter i bilden
yxf ,
22
,,
,
y
yxf
x
yxf
yxf
Beloppet av gradientenInbild
y
x
f
f
y
yxfx
yxf
yxf,
,
,
5
Derivering och kantdetekteringoriginal :f 22
yx ff
xfyf
-128=
svart
127=
vitt
0=
svart
255=
vitt
Jmf Fig. 3.18
yxf ,
Färg-tabell:Vit = 0Svart = positivt
värde
Rotationsinvarians
• Det är önskvärt att ett derivata-filter-par är rotationsinvariant. Då kommer “kantstyrkan”, absolutbeloppet av gradienten, inte bero av kantens rotationsläge.
yxf , yxf ,
MedSobel-paret
Medcentraladifferenser
Olika derivata-filter
-11 0 /2
-66 0 /8-1 1
-11 /Ett filtermed centrum mellan pixlarna
Fig. 3.15
Linjär diskret faltning då centrum är mellan pixlarna
1* =-11 1 -11 0
1* =
-11 1
-1
10
/2
/2
/2/
/2/
basfilter (Haar wavelets)
6
Ett idealt Laplace-filter beräknar 2:a-derivatan i x- och y-led
2
2
2
22 ,
yxyx
2222 4, vuyx
led-yoch - xiter högpassfilkraftigt ett är
4, 2222 vuyx
Laplaceoperatorn:
Fouriertransform:
,/sin4/222cos
/2:/1,2,1
222
2222
uv
ee ujuj
Faltningskärna som approximerar det ideala Laplace-filtret
1 =
0
0
1
1
1
0
0
-4
/2
11 -2
/2
1
1
-2
/2
+
222 sinsin4 vu Fig. 3.19
-1 multiplicerat på det approximativa Laplace-filtret ger ett högpassfilter
-1 =
0
0
-1
-1
-1
0
0
4
/2
-1-1 2
/2
-1
-1
2
/2
+
Fig. 3.19
Spatialdomän Fourierdomän
Laplace, negativ
Ex) användning av Laplace, negativ: Erhåll en bild med tydligare detaljer
Fig. 3.20
7
Generell omsampling, princip
Fig. 4.1
Sådana här distorsioner har t ex
– Satellitbilder
– Vissa mikroskop
– Vissa röntgenbildförstärkare
– Vidvinkelkamerabilder
Omsampling består av ...
1) Faltning med en interpolations-funktion på den samplade signalen ger en kontinuerlig signal.
2) Sampling av den kontinuerliga signalen.
I verkligheten beräknas den kontinuerliga funktionen
endast i den omsamplade signalens samplingspunkter.
Fig. 4.2
Ideal uppsamplingBildstorlek: N x N
np.fft.fftshift(
np.fft.fft2(
np.fft.ifftshift(f)))
Bild
sto
rle
k: 2
N x
2N
Nollpadda
np
.fft
.fftsh
ift(
np
.fft
.ifft2
(
np
.fft
.iffts
hift(
f)))
Vilken interpolations-
funktion motsvarar
denna metod?
Up
psa
mp
ling,
id
eal
Fig
. 4.6
8
Fourier transformen av linjära och närmsta
granne interpolationsfunktionerna
Fourier-
transformen
av sinc
Ger
lågpass-
filtering
x u 2sinc
x usinc
Kan ge viknings-
distorsion
efter omsampling
Fourier-
transformen
av sinc
Fig
. 4.7
Interpolationsfunktioner
• Närmsta granne interpolation
• Linjär interpolation
• Trunkerad sinc interpolation
• Sinc interpolation
Men cubic spline interpolation kan vara både
snabbare och bättre än ”trunkerad sinc interpolation”!
snabbare
bättre
(Linjär) Interpolation
• Sätt =1.
• Flytta interpolationsfunktionen till den intressanta positionen.
• Interpolationsfunktioner är jämna => betrakta bara avstånd
•
875.15.125.0275.0
5.175.0225.0värde
Fig. 4.5
eeffeeff
eeffeeff
yxyxfyxyxf
yxyxfyxyxf
yxf
1,111,
1,111,
,
ff yxf ,
1, ff yxf 1,1 ff yxf
yxyx ,
yxf ,
ff yxf ,1
yx
yx, på Basyta
2D bilinjär interpolation
ey
ex
9
2D
uppsam
plin
gen fakto
r 4
Ori-
ginal
Närm-
sta
granne
interpo-
lation
Bi-
linjär
inter-
po-
lation
Bicubic
16
spline
interpo-
lation
Fig.
4.8
Ned
sam
plin
g, i
dea
l
Fig. 4.13
Ne
dsa
mp
ling
+
inte
rpo
latio
nsf.
Fig. 4.14
original
Bicubic interpolation Bilinjär interpolationSnabb
radiell
sinus +
långsam
radiell
sinus
Fig. 4.14-
4.15
original Efter
slarvig ned-
sampling
Nedsam
plin
g m
. olik
a
inte
rpola
tionsfk
n.
10
Nedsampling, k=2, närmsta granne
Bildstorlek: 566x402 Bildstorlek: 283x201
Effekter
av viknings-
distorsion
ekviv
ale
nt m
ed
att
ka
sta
bo
rt v
ara
nn
an
pix
el
4/1214/
1
2
1
16/
121
242
121
Detta är ekvivalent med:
dvs lågpassfiltrering, följt av att
kasta bort varannan pixel
2/1
bredd = 2·k = 4 pixlar
Viknings-
distorsionen
nästan
borta
Bildstorlek: 283x201
Nedsampling, k=2, bilinjär interpolation
Rotation av en bild
xf
xRf
cossin
sincosR
y
xx
Inbild
Utbild
x
y
Fig. 4.10
2 metoder att rotera: Här bara no 2
xfxRf
fxR
fx
:
utbilden i Beräkna
inbilden i allaFör
1.
xRfxf
fxR
fx
1
1
:
inbilden i Beräkna
utbilden i allaFör
2.
inbilden i fram asinterpoler måste värdet xRf 1
utbilden i ut sprids inbilden i värdet xf
Inversemapping
Forwardmapping
11
Rotation enligt metod 2
Fig. 4.11
Observera! Inbildenochutbildenär överlagrade.
yx
Ryx 1
''
Rotation i närbild
xRfxf 1
inbilden i fram asinterpoler
måste värdet 1xRf
Inbild f före rotation Utbild f efter rotation
Rotation med bilinjär
interpolation
Varför blir apan suddi-
gare efter rotationerna?
Rotation
30o
Rotation
-30o
Slutsatser för omsampling samt rotation• Den ideala interpolationsfunktionen är en sinc som motsvarar
en rektangelfunktion i Fourierdomänen.
• Vid uppsampling och rotation ska rektangelfunktionengå till 0 vid bandgränsen.
• Vid nedsampling med k ska rektangel-funktionen gå till 0 vid bandgränsen/k. Den korresponderade interpolations-funktionen blir k gånger bredare.
– Interpolations-funktionen utför lågpassfiltrering annars får man vikningsdistorsion.
• Triangelfunktionen (linjär interpolation): Dess bredd = bredden på sincens huvudlob.
– Uppsampling: bredden på triangelfunktionen 2 pixlar
– Nedsampling: bredden på triangelfunktionen 2·k pixlar