Élek detektálása

Post on 25-Jan-2016

58 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Élek detektálása. Vámossy Zoltán 2004 (Gonzales, Woods, Forsyth, Rehg, Hanson, Trucco, Verri, Thrun, Bradski anyagai alapján). E. Trucco, A. Verri: Introductory techniques for 3-D Computer Vision (Prentice Hall 1998). Vámossy Zoltán (Umeai Egyetem – Finnország) előadásai alapján. - PowerPoint PPT Presentation

TRANSCRIPT

Élek detektálása

Vámossy Zoltán

2004

(Gonzales, Woods, Forsyth, Rehg, Hanson, Trucco, Verri, Thrun, Bradski anyagai alapján)

E. Trucco, A. Verri:Introductory techniques for 3-D Computer Vision (Prentice Hall 1998)

Vámossy Zoltán

(Umeai Egyetem – Finnország)előadásai alapján

3Vámossy Zoltán IAR 2004

2. előadás

4. fejezet (pp. 67-94)– Jellemzők detektálása (Feature detection)

• Élek (Edges)• Sarokpontok (Corners)

5. fejezet (pp. 95-121)– Jellemzők osztályozása (Feature classification)

• Vonalak – szakaszok (Lines)• Görbék (Curves)• Ellipszisek (Ellipses)• Deformálható kontúrok (Deformable contours)

4Vámossy Zoltán IAR 2004

Élek (edges)

Mit értünk él alatt? Élek olyan pixelek, ahol, vagy ami körül a kép

intenzitás-értékei erőteljesen megváltoznak

5Vámossy Zoltán IAR 2004

Általános jellemzők #1: élek (edges)

A: Hirtelen mélységi változás (discontinuity) B: Felület normálisának változása C: Megvilágítás változása: árnyékok, világítás változás D: Visszaverődésben változás: felület tulajdonság, jelek

A

C

B

D

6Vámossy Zoltán IAR 2004

Miért fontosak számunkra az élek?

A legtöbb elem, objektum, vagy azok árnyékai éleket generálnak

Az élek megtalálásával sokszor az objektum alakját és helyét meg tudjuk határozni

7Vámossy Zoltán IAR 2004

Tipikus élprofilok

Ugrás Rámpa Gerinc Tető Vonal

8Vámossy Zoltán IAR 2004

Hogyan találhatunk éleket?

9Vámossy Zoltán IAR 2004

Élkeresés 101

im = imread('bridge.jpg');image(im);figure(2); bw = double(rgb2gray(im));image(bw);gradkernel = [-1 1];dx = abs(conv2(bw, gradkernel, 'same'));image(dx);colorbar;

[dx,dy] = gradient(bw);gradmag = sqrt(dx.^2 + dy.^2);image(gradmag);

colorbarcolormap(gray(255))colormap(default)

10Vámossy Zoltán IAR 2004

Az éldetektálás lépései

Zajcsökkentés (Noise reduction) Élkiemelés (Edge enhancement) Éldetektálás (Edge detection) Éllokalizálás (Edge localisation)

11Vámossy Zoltán IAR 2004

Éldetektálók

Canny éldetektáló* Roberts éldetektáló Sobel éldetektáló* Prewitt éldetektáló Kirsch éldetektáló Laplace éldetektáló és a LoG (Marr-Hildreth) Susan él-, sarokpont detektáló Haralick módszere

*: a könyvben csak ez van

12Vámossy Zoltán IAR 2004

Definiciók

Él-normális = merőleges az élre, a maximális intenzitás-változás iránya, N(i, j) I(i, j)

Él-irány = az él iránya, merőleges a normálisra Él-pozíció = ahol a képen elhelyezkedik az él Él-erősség = megmutatja mennyire „jó” egy él.

Nagy változás -> nagy erősség

13Vámossy Zoltán IAR 2004

Él-irány, él-normális

14Vámossy Zoltán IAR 2004

Változás detektálás

Kép deriváltja

Differenciáló szűrők

Hátrafele differencia

Előrehaladó differencia

Központi differencia

[-1 1]

[1 -1]

[-1 0 1]

15Vámossy Zoltán IAR 2004

Deriváltak, differenciák 2D-ben

Definició

Közelítés

Konvoluciós magok

yxfyxf

y

yxf ,,lim

,0

16Vámossy Zoltán IAR 2004

Kép deriváltak

Image I

17Vámossy Zoltán IAR 2004

Élnormális megjelenítése

figure(5);hold on;image(smooth);colormap(gray(255));[m,n] = size(gradmag);

edges = (gradmag > 0.3 * gmax);inds = find(edges);[posx,posy] = meshgrid(1:n,1:m); posx2=posx(inds); posy2=posy(inds);gm2= gradmag(inds);sintheta = dx(inds) ./ gm2;costheta = - dy(inds) ./ gm2;

quiver(posx2,posy2, gm2 .* sintheta / 10, -gm2 .* costheta / 10,0);hold off;

18Vámossy Zoltán IAR 2004

Prewitt és Sobel éldetektálás

Kevésbé zajérzékeny (3x3 maszk jobban eltünteti a zajokat)

A nagyobb maszkméret miatt a meredek élek több pixel szélesen jelentkeznek

Főbb lépések– Input: Kép és küszöb– Képszűrés– Gradiens nagyság számolása– Küszöbölés

19Vámossy Zoltán IAR 2004

Sobel operátor

-1 -2 -1 0 0 0 1 2 1

-1 0 1-2 0 2 -1 0 1

S1= S2 =

Edge Magnitude =

Edge Direction =

S1 + S22 2

tan-1S1

S2

Él-erősség, él-irány:

20Vámossy Zoltán IAR 2004

Prewitt éldetektor

image blurred élek xátlagolásx irányban

Differenciáló szűrő x irányban

and results

image blurred élek yÁtlagolás y irányban

DifferenciálásY irányban

andresults

21Vámossy Zoltán IAR 2004

Sobel éldetektáló

image blurred Élek xátlagolás

x iránybanDifferenciáló szűrő x irányban

and results

image blurred élek yÁtlagolásY irányban

Differenciáló szűrés y irányban

andresults

22Vámossy Zoltán IAR 2004

Sobel éldetektáló

Image I Threshold Edges

23Vámossy Zoltán IAR 2004

Sobel éldetektáló

24Vámossy Zoltán IAR 2004

Sobel éldetektáló

25Vámossy Zoltán IAR 2004

Sobel maszk: összefoglalás

1 2 1

0 0 0

-1 -2 -1

-1 0 1 -2 0 2

-1 0 1

= 1/4 * [ 1 2 1]

1 0 -1

Sobel maszk szeparálható!

1

-1

-2

1

1

2 Éllel párhuzamos átlagolás

= 1/4 * [-1 0 -1]

1 2 1

26Vámossy Zoltán IAR 2004

Robert keresztoperátor

1 00 -1

0 1-1 0+

vagy

| I(x, y) - I(x+1, y+1) | + | I(x, y+1) - I(x+1, y) |

[ I(x, y) - I(x+1, y+1) ]2 + [ I(x, y+1) - I(x+1, y) ]2S =

S =

27Vámossy Zoltán IAR 2004

Robinson iránytű maszk

-1 0 1-2 0 2 -1 0 1

0 1 2-1 0 1 -2 -1 0

1 2 1 0 0 0 -1 -2 -1

2 1 0 1 0 -1 0 -1 -2

1 0 -1 2 0 -2 1 1 -1

0 -1 -2-1 0 -1 2 1 0

-1 -2 -1 0 0 0 1 2 1

-2 -1 0-1 0 1 0 1 2

28Vámossy Zoltán IAR 2004

További maszkok

1

111

1

-1 -1

Prewitt 1

-2

-1

-3

555

-3

-3 -3 -3

Kirsch

0

0

111

0

-1 -1 -1

Prewitt 2

0 0

121

0

-1 -2 -1

Sobel

0

-1 -1

11

0 0 0

- 2

2

Frei & Chen

29Vámossy Zoltán IAR 2004

Laplace

Ahol a gradiens maximális, ott a második derivált előjelet vált (0)

Elmosódott élek esetén pontosabb lokalizálás Ebben az esetben csak az élek helyét tudjuk

meghatározni, az irányát nem Az operátor nem érzékeny az elforgatásra,

izotrópikus Zajérzékeny -> Simítás előtte

30Vámossy Zoltán IAR 2004

Gauss simítás + Laplace (LoG)

Zajra nagyon érzékeny éldetektálók esetében előbb simítást szoktak alkalmazni

Például Gauss szűrőt

31Vámossy Zoltán IAR 2004

Gauss simítás

A Gauss szűrő paraméterének hatása növekedésével több pixel kerül az átlagolásba növekedésével a kép jobban el lesz mosva növekedésével a zaj jobban el lesz távolítva

32Vámossy Zoltán IAR 2004

Gauss simítás + Laplace (LoG)

Alkalmazhatjuk közvetlenül a Gauss szűrő Laplace-át – második derivált r szerint (Laplacian of Gaussian) – LoG

Mexikói kalap

33Vámossy Zoltán IAR 2004

LoG - Marr Hildreth éldetektáló

Robusztus Simított kép deriváltját közelíti A 0 átmeneteket kell vizsgálni Stabilabb zérushelyek jelölik az éleket, mert nem

meredek éleknél is pontos

34Vámossy Zoltán IAR 2004

Marr Hildreth éldetektor

Gauss simítás

Laplace

• gradiens (derivált)• Laplace

35Vámossy Zoltán IAR 2004

Marr Hildreth éldetektor

(LoG) számítása

36Vámossy Zoltán IAR 2004

LoG Filter

X

Y

37Vámossy Zoltán IAR 2004

Zéró átmenetek detektálása

Négy eset:– {+,-}– {+,0,-}– {-,+}– {-,0,+}

Zéró átmenetek (slope) számítása {a, -b} -> |a+b|. Éldetektálás

– zéróátmenet nagyságának küszöbölése

38Vámossy Zoltán IAR 2004

LoG szeparálhatóság

Hasonlóan a Gauss szűrőhöz– A kétdimenziós Gauss szűrő két egydimenzióssá

alakítható

n2 szorzás

2n szorzás

39Vámossy Zoltán IAR 2004

LoG szeparálhatóság

n2 szorzás

4n szorzás

40Vámossy Zoltán IAR 2004

Szeparálhatóság

Image

gxx(x) g(x)

gyy(y) g(y)

+

Image g(x) g(y) +

Gauss szűrő

LoG szűrő

41Vámossy Zoltán IAR 2004

LoG példa

I

42Vámossy Zoltán IAR 2004

LoG példa

43Vámossy Zoltán IAR 2004

Canny éldetektor

John Canny, “Finding Edges and Lines in Images”, Master’s Thesis, MIT, June 1983.– “Optimális” maszk – Gaussian szűrő– Non-maximum suppression – eltávolítja a maximumra

merőleges élgyanús pontokat– Hysteresis thresholding – hosszabb kontúrok

készítése– Subpixel accuracy (eredetiben nincs) – subpixeles

pontosság

44Vámossy Zoltán IAR 2004

Ideális éldetektáló

Milyen kritériumoknak kell megfelelnie egy ideális éldetektálónak?

Megbízható– mindent valódi élt detektál– nem detektál hibás éleket (zajos kép)

Az éleket pontosan lokalizálja Minden élt pontosan egyszer jelez

45Vámossy Zoltán IAR 2004

Canny éldetektor

Elsősorban lépcsős élekre A kép Gauss-zajjal terhelt

Három lépést tartalmaz

Kiemelés Nonmax_suppression Hysteres._thresh.

Input Image

Output:Kontúrok listái

46Vámossy Zoltán IAR 2004

I. Canny élkiemelő

Az élkiemelő elemei:

1. (Lineáris) konvolúció Gauss szűrővel

2. Gradiens számolás

3. Normális és erősség (nagyság) számítás

47Vámossy Zoltán IAR 2004

I. Canny élkiemelő - megjegyzés

1.lépés: Konvolúció J = I G

– I = eredeti kép (image)– G = Gauss szűrő magja (kernel)– Nagyobb szűrő jobban csökkenti a zajt, lassabb, de

kevésbé lokalizálja jól az éleket!

48Vámossy Zoltán IAR 2004

I. Canny élkiemelő

Minden I(i, j) pixelre kiszámoljuk a parciális deriváltakat

2. lépés: Derivált számítás

Megjegyzés: Konvolúció alkalmazása (A kép és a Gauss fgv. konvolúciójának első deriváltja ekvivalens a kép és a Gauss fv. első deriváltjának konvolúciójával. Zajszűrés és éldetektálás kombinálható.)

49Vámossy Zoltán IAR 2004

Canny éldetektor – Gauss deriváltja

50Vámossy Zoltán IAR 2004

Canny éldetektor – első két lépés

xS

yS

I

51Vámossy Zoltán IAR 2004

I. Canny élkiemelő

3. lépés: Erősség és normális meghatározás

Élerősség számítás (minden pixelre):

Élnormális (orientáció) számítás:

52Vámossy Zoltán IAR 2004

I. Canny élkiemelő - outputja

Es = élerősség (milyen jó az él, a gradiens nagyságával arányos)

Eo = élorientáció (milyen irányba mutat)– A normálist tartalmazza

53Vámossy Zoltán IAR 2004

II. Non-max Suppression

Élek ott vannak, ahol a gradiensnek lokális maximuma van

A Non-maxima suppression (nem maximumok elnyomása) célja:– Fals élpontok eltávolítása, amelyek az élre merőleges

irányban vannak– Egy vastagságú élekké zsugorítás

54Vámossy Zoltán IAR 2004

II. Non-max Suppression-algoritmus

1. Minden (i, j)-re határozzuk meg azt a dk (0, 45, 90, 135) irányt, ami legjobban közelíti az EO(i, j) élnormálist

2. Ha Es(i,j) < legalább egy szomszédjánál a dk irányokban, akkorIN(i,j) = 0 legyen (elnyomás), egyébként IN(i, j) = Es(i,j)

Eredmény: IN(i, j) vékonyított éleket tartalmazó kép a nem maximumok eltávolítása után

55Vámossy Zoltán IAR 2004

III. Canny – harmadik lépés oka

Fig 4.5

Élkiemelő - balról jobbra =3, =2, =1

56Vámossy Zoltán IAR 2004

III. Hysteresis thresholding

Miért szükséges a hysteresis küszöbölés?

Ha a küszöb túl alacsony, akkor fals élpontok maradnak

A küszöb felett, illetve alatt is lehet maximum erősség Ha az élek értéke a küszöb körül ingadozik, akkor sok szakadás lehet

57Vámossy Zoltán IAR 2004

Példa

58Vámossy Zoltán IAR 2004

Canny, alacsony threshold

59Vámossy Zoltán IAR 2004

Canny, magas threshold

60Vámossy Zoltán IAR 2004

Definiáljunk két thresholdot Minden IN(i, j) élpontra

– 1. Keressük meg a következő IN(i, j) élpontot, hogy

– 2. IN(i, j)-től kiindulva kövessük a lokális maximumok láncát az élnormálisokra merőleges irányban mindaddig, amíg

Jelöljünk meg minden maglátogatott pontot (lista) Tehát ha a felső küszöbnél nagyobb, akkor vegyük fel

élnek Ha az alsó küszöb alatt van, akkor nem él Ha a kettő között van, akkor vegyük fel élnek, ha egy

szomszédos pixel élhez tartozik

III. Hysteresis thresholding

61Vámossy Zoltán IAR 2004

III. Hysteresis thresholding

Eredmény: A kapcsolódó élpixelek listái

62Vámossy Zoltán IAR 2004

Canny eredmények

‘Y’ or ‘T’ csatlakozási probléma a Canny operátornál

63Vámossy Zoltán IAR 2004

Canny: Sarok effektus

64Vámossy Zoltán IAR 2004

Marr-Hildreth és Canny éldetektorok– Gauss simítás– Derivált számítás

• x és y irányokban

– Gradiens nagyság meghatározás– Gradiens nagyság küszöbölés

Marr-Hildreth és Canny különbségek– Marr-Hildreth másodrendű deriváltat használ– Marr-Hildreth a zéró átmenetek nagyságát küszöböli

LoG és Canny összehasonlítás

65Vámossy Zoltán IAR 2004

Marr-Hildreth operátor

Image 2g(x)Find

zero-crossingscompute

slopeThreshold

66Vámossy Zoltán IAR 2004

Canny

Image

gx(x,y)Gradiensnagyság

gy(x,y) Gradiensirány

Non-maximumsuppression

Hysteresis thresholding

67Vámossy Zoltán IAR 2004

Élpontosítás más módszerei

68Vámossy Zoltán IAR 2004

Ötlet 1: Bilineáris interpoláció

Használjunk bilineáris interpolációt szubpixeles pontosság érdekébenGradiens csökkenés: olyan pont keresése, ami maximalizálja S-t

69Vámossy Zoltán IAR 2004

Ötlet 2: Élkövetés

Következő pont: Merőleges a gradiensreHasználjunk Hysteresis-t

70Vámossy Zoltán IAR 2004

SUSAN algoritmus

Konturkeresés nem differenciáló operátorral Smith és Brady ötlete

(http://www.fmrib.ox.ac.uk/~steve/susan/susan/node1.html)

71Vámossy Zoltán IAR 2004

SUSAN algoritmus

A maszk közepén levő pont a nucleus (középpont) Az USAN egy rövidítés, jelentése:

univalue segment assimilating nucleus

72Vámossy Zoltán IAR 2004

SUSAN algoritmus

A SUSAN jelentése: smallest univalue segment assimilating nucleus.

73Vámossy Zoltán IAR 2004

SUSAN algoritmus

A nucleus és a maszkban lévő pontok eltérése alapján megjelölés:

A hasonló intenzitásúak száma

A területen levő élek meghatározása az élválasz függvénnyel történik (g geometriai küszöb)

74Vámossy Zoltán IAR 2004

SUSAN algoritmus

Az ugrásszerű átmenet elkerülése, stabilabb eredményt ad (táblázat!)

Haralick felületi modellje

Éldetektálás az intenzitásfelületre illesztett térbeli polinommmal

76Vámossy Zoltán IAR 2004

Felületi modell alkalmazása

Facet model: Felületi modellt tételezünk fel – közelítjük az intenzitás felületet általában térbeli polinommal és ebből határozunk meg éleket

Haralick bi-cubic modellje:

1. Legkisebb négyzetek módszerével illesztünk kétparaméteres polinomot

2. Adott pixel élpont ha:1. Második derivált 0

2. Harmadik derivált negatív

f(x, y)=k1+ k2x+ k3y+ k4x2+ k5xy+ k6y2+ k7x3+ k8x2y+ k9xy2+ k10y3 keressük a felületet ilyen alakban (1)

77Vámossy Zoltán IAR 2004

Haralick éldetektora

Irány menti deriváltak adott θ irányban:

A gradiens szöge a pozitív y tengellyel (0, 0)-ban:

78Vámossy Zoltán IAR 2004

Haralick éldetektora

Változó behelyettesítéssel (1) x = r sinθ, y = r cosθ:

c0 = k1

c1 = k2 sinθ + k3 cosθ

c2 = k4(sinθ)2 + k5sinθcosθ + k6(cosθ)2

c3 = k7(sinθ)3 + k8(sinθ)2cosθ + k9sinθ(cosθ)2 + + k10(cosθ)3

Második derivált 0, harmadik negatív, -> c3 < 0 és |c2 / 3c3| < r0

79Vámossy Zoltán IAR 2004

ki-k számítása maszkkal (Shah könyv)

80Vámossy Zoltán IAR 2004

Haralick algoritmusa

1. Keressük k1 k2 k3 k4 k5 k6 k7 k8 k9 k10 értéket a legkisebb négyzetek módszerével, vagy az előző konvolúciós maszkokkal

2. Kiszámoljuk θ, sinθ, cosθ

3. Kiszámoljuk c2 = k4(sinθ)2 + k5sinθcosθ + k6(cosθ)2

4. Kiszámoljuk c3 = k7(sinθ)3 + k8(sinθ)2cosθ + k9sinθ(cosθ)2 + k10(cosθ)3

5. Ha c3 < 0 és |c2 / 3c3| < r0, akkor élpont

top related