sisteme de vedere artificial ă - rovislab.comrovislab.com/courses/sva/curs_07_sva_2016.pdf ·...

Post on 07-Sep-2019

7 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Sisteme de Vedere Artificială

Reconstrucţia 3D

Sorin M. Grigorescu

Universitatea Transilvania din BraşovLaboratorul de Vedere Artificială Robustă şi Control

2

Cuprins

�Vederea stereo

�Reconstrucţia 3D utilizând camere calibrate paralele

�Geometria epipolară

�Matricea fundamentală

�Puncte de interes (colţuri)

�Calculul corespondenţelor

3

Modelarea camerelor ideale

O cameră, sau un senzor vizual, poate fi descrisă ca un sistem ce

execută o transformare ireversibilă din coordonatele spaţiului 3D real

şi coordonatele 2D ale planului imaginii.

P – punct 3D (real)p – punct 2D (în imagine)

f – distanță focală

Z

Xfx ⋅=

Z

Yfy ⋅=

[ ]TZYXP 1=

[ ]Tyxp 1=

Centru

optic

P

p Punct

principal

Planul

imaginii

x

y

x

y

zf

Matricea de proiecţie a camerei

4

� Intrinseci:

�Centrul optic la (��, ��)

�Pixeli dreptunghiulari

�Cu oblicitate (skew)

�Extrinseci:

�Există rotaţie

�Poziţia la coordonatele ��, �, �

=

=

1100

0

333231

232221

131211

0

0

Z

Y

X

trrr

trrr

trrr

v

us

Z

fY

fX

p

Z

Y

X

β

α

� = � � �

Vederea stereo

5

�Punctul � este vizualizat în camerele stângă �� şi dreaptă ���Poziţia 3D a punctului � poate fi reconstruită prin triangulaţie,

cunoscându-se poziţia şi orientarea camerei (calibrare) şi punctele

corespondente

Camera

stângăCamera

dreaptă

P

pL=QL·PpR=QR·P

CRCL

Imagini stânga şi dreaptaCamera stângă ��

Punctul 3D vizualizat P:

�� şi �� puncte corespondente

Camera dreaptă ��

6

�� = �� · �

�� = �� · �

(i) Geometria corespondenţelor (problema corespondenţelor): Avându-se un punct �� în imaginea stângă, care este corespondenţa �� a lui ��în imaginea dreaptă?

(ii) Geometria camerelor (mişcarea): Având un set de puncte corespondente {���↔ ���}, � = 1,… , �, care sunt parametrii camerelor (matricile de proiecţie) �� şi ��pentru cele două vederi?

(iii) Geometria scenei (structura): Având un set de puncte corespondente {���↔ ���} şi matricile de proiecţie �� şi��, care este poziţia punctului real � în spaţiul 3D?

Problemele geometriei stereo

7

Camere paralele şi calibrate

P

CL CR

Z

b

x

y

x

y

pL pR

IL IR

8

9

Sistem de vedere stereo calibrat

� – coordonatele de referinţă

��, ��– centrele optice ale celor două camere

� = � + � – baseline (distanţa dintre cele două centre optice)

, !, "– variabile ce indică orientarea camerei stereo

Matricile de proiecţie ��, �� sunt cunoscute (camerele sunt calibrate)

10

Disparitatea� Calculul coordonatelor 3D virtuale ale scenei vizualizate

� De-a lungul axei # a imaginii, diferenţa dintre punctul �� vizualizat în $� şi �� vizualizat

în $� se numeşte disparitate:%# = ��& − ��&

� Distanţa cameră obiect: dx

TfZ =

��& ��&

�� ��

11

Disparitatea

��& ��&

�� ��

� Calculul coordonatelor 3D virtuale ale scenei vizualizate

� De-a lungul axei # a imaginii, diferenţa dintre punctul �� vizualizat în $� şi �� vizualizat

în $� se numeşte disparitate:%# = ��& − ��&

� Distanţa cameră obiect: dx

TfZ =

Stabilirea corespondenţelor

12

� Dându-se punctul �� în imaginea stângă, care este punctul corespondent �� din imaginea dreaptă?

� Deoarece camerele sunt paralele, punctul corespondent se va căuta de-a lungul axei #a celor două imagini

pL pR=?

IL IR

Stabilirea corespondenţelorBlock Matching

13

� [dmin, dmax ] = H – horopter

�Horopterul este linia de căutare a punctului corespondent �� în imaginea dreaptă $�

P

CL CR

f

(cx, cy)

xL

yL

xR

yR

Z

b

x

y

x

y

Rază

pri

ncip

ală

pL

pR

dmax dmin

H

IL IR

(x, y)Imagine stânga

� Pentru fiecare punct (x, y) din imaginea stângă se defineşte o fereastră centrată pe (x, y)

Corespondenţe prin corelaţie

14

(x, y)Imaginea dreaptă

� Căutarea punctului corespondent într-o regiune de căutare din imaginea dreaptă

Corespondenţe prin corelaţie

15

(x, y)dx(x´, y´)Imaginea dreaptă

� Disparitatea dx este deplasamentul indicat de corelaţia maximă

Corespondenţe prin corelaţie

16

�Există corelaţie între intensităţiile pixelilor

Corespondenţe prin corelaţie

Intensitate pixeli Intensitate pixeli17

∑ ∑

−−−−

−−−−

=

lk

nm

lk

nm

lk

flnkmfglkg

flnkmfglkg

nmh

,

2

,

,

2

,

,

)],[()],[(

)],[)(],[(

],[

media regiunii din imaginemedia kernelului

Determinarea corelaţiei

�Cross-Corelaţie Normalizată (vezi cursul 2)

18

� Pereche de imagini rectificate

� Intensitatea pixelilor din imaginea disparitate este

proporţională cu distanţa cameră-obiect

Imagine stânga Imagine dreapta Hartă de disparitate

Estimarea distanţelor

%# = �� − ��19

Hartă de disparitate

Z – distanţa (m)T – Linia de referinţă (m)f – Distanţa focală (pixeli)dx – Disparitatea (pixeli)

� Distanţa cameră-obiect Z este invers proporţională cu disparitatea

Reproiectarea distanţelor

dx

TfZ =

20

Camere neparalele

P

CL

CR

pL pR

IL IR

21

Stabilirea corespondenţelor

22

� Dându-se punctul �� în imaginea stângă, care este punctul corespondent �� din imaginea dreaptă

pL pR=?

IL IR

��, �� , ��, �� şi � sunt coplanare

� Având un punct într-o imagine, care este corespondentul acelui punct într-o altă imagine?

� Geometria epipolară reduce căutarea punctului corespondent lacăutarea pe o linie

Geometria epipolară

23

P

pLpR

Planul epipolar π

CRCL

Geometria epipolară

(� (��� ��

�Epipolii (� şi (� reprezintă proiecţia unei camere în cealaltă

�Toate liniile epipolare dintr-o imagine trec prin epipoli

24

� Un punct într-o vedere “generează” o linie epipolară în cealaltă vedere

� Punctul corespondent se află pe linia epipolară

� Dacă poziţiile camerelor ��, �� şi proiecţia �� a lui � sunt cunoscute

Geometria epipolară

25

pL

pL

pL=?

pL=?

eL eR

lR

Linie

Epipolară

pentru pL

CRCL

Geometria epipolară�Corespondenţele potenţiale pentru �� se află pe linia epipolară

corespondentă )��Corespondenţele potenţiale pentru �� se află pe linia epipolară

corespondentă )�

26

Epipolii (�, (�= intersecţia liniei de referinţă cu planele imaginilor= imaginea centrului celeilalte camere (� = � · ��; (� = � · ��

Linii epipolare )�, )�= intersecţia planului epipolar π cu planul imaginii

= imaginea razei prin ��, ��

��

�� ��

Planul epipolar= planul ce conţine linia de referinţă

Geometria epipolară

Linia de referinţă

27

��

)�

(�

)�

(�

� Atunci când poziţia punctului � variază, planele epipolare se rotesc în jurul liniei de referinţă. Această familie de plane poartă numele de creion epipolar.

� Toate liniile epipolare se intersectează la epipoli.

“Creionul” epipolar

Linia de referinţă

28

(� (�

�� ��

Exemple

29

Exemplu: Camere ce converg

Liniile epipolare sunt în general neparalele30

Exemplu: mişcare paralelă cu planul imaginii

(� → ∞ (� → ∞

31

�Cazul camerelor paralele pe axa #

e

e’

Exemplu: mişcarea de înaintare

�Epipolii au aceleaşi coordonate în ambele imagini

�Punctele corespondente se deplasează de-a lungul liniilor ce radiază

din ( (focus of expansion)

32

Matricea fundamentală ,

Planul epipolar

��

�� ��

��

)� )�

�Geometria epipolară dintre două imagini este descrisă de o matrice

de transformare - 3 × 3, intitulată matricea fundamentală

�- mapează (în coordonate omogene) punctele din imaginea stângă în

linii în imaginea dreaptă

�Linia epipolară din imaginea dreaptă $�, ce corespunde punctului ��din imaginea stângă $� este - · ��

�Constrângerea epipolară pentru puncte corespondente este ��0-�� = 0

$� $� 33

Matricea fundamentală

Matricea fundamentală ,Cameră necalibrată

��

�� ��

��

)� )�

$� $�

� – matricea parametriilor intrinseci ai camerei stângi �� � – matricea parametriilor intrinseci ai camerei drepte ��� – rotaţia imaginii drepte $� faţă de camera stângă ��

�� · �0 · � · � × · �

23 · �� = 0

- 34

Produsul vectorial

�Rezultatul produsului vectorial dintre doi vectori este un vector

perpendicular pe vectorii de intrare

� 4 este perpendicular atât pe 5, cât şi pe 4, ceea ce înseamnă ca

produsul lor scalar este 0

56 × � = 4656 · 46 = 0

� · 46 = 0

35

Produsul vectorial ca şi operator algebric�Produsul vectorial cu un vector � poate fi reprezentat printr-o

multiplicare cu o matrice 3 × 3

36

Matricea esenţială

Matricea fundamentală ,Cameră calibrată

��

�7�

��

��

�7�0 · � · � × · �7� = 0

8

��

�0�7�

�7� = �23 · �� – raza ce trece prin �� şi coordonatele camerei stângi ��

�7� = �23 · �� – raza ce trece prin �� şi coordonatele camerei drepte ��

�7�0 · 8 · �7� = 0

37

Proprietăţiile matricei fundamentale

�-�� este linia epipolară asociată lui ��

�-0�� este linia epipolară asociată lui ��

�-(� = 0 şi -0(� = 0

�- are rangul 2

38

Exemplu: 9 pentru camere paralele

39

Rectificarea imaginilor

�Reproiectarea imaginilor într-

un plan comun în care

imaginile sunt paralele de-a

lungul axei #

�După rectificare, mişcarea

pixelilor este orizontală

� 2 matrici de transformare 3 × 3,

câte una pentru fiecare imagine

40

Estimarea matricei ,

�- poate fi estimată prin determinarea punctelor corespondente dintre

imagini, fără a se cunoaşte în prealabil valorile de calibrare ale

camerelor ( �, �, � sau �)

41

Estimarea matricei ,Algoritmul 8-puncte

�Pentru oricare pereche de puncte corespondente �� şi ��, - este

definită de:

�Fie �� = #� :� 1 0, �� = #� :� 1 0 şi - =

;33 ;3< ;3=;<3 ;<< ;<=;=3 ;=< ;==

�Fiecare pereche de puncte corespondente respectă ecuaţia liniară:

��0 · - · �� = 0

#�#�;33 + :�#�;3< + #�;3= + #�:�;<3 + :�:�;<< +

+:�;<= + #�;=3 + :�;=< + ;== = 042

Estimarea matricei ,Algoritmul 8-puncte

#�3#�3 :�3#�3 #�3 #�3:�3 :�3:�3 :�3 #�3 :�3 1#�<#�< :�<#�< #�< #�<:�< :�<:�< :�< #�< :�< 1

⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮#�?#�? :�?#�? #�? #�?:�? :�?:�? :�? #�? :�? 1

;33;3<;3=;<3;<<;<=;=3;=<;==

= 0

�Practic, în locul rezolvării ecuaţiei @; = 0, vom determina ; prin

minimizarea @; , ceea ce corespunde celei mai mici valori proprii a

matricei @0@

43

Estimarea matricei ,Algoritmul 8-puncte

�- trebuie să aibă rangul 2

�Pentru a impune rangul 2 asupra lui -, - va fi înlocuită prin -‘

�-‘ va minimiza ecuaţia - − -′ supusă constrângerii de rang

�Calculul se obţine prin descompunerea în valori singulare (Singular

Value Decomposition – SVD), unde - = DΣF0

�-′ = DΣ′F0 este soluţia ecuaţiei

Σ =G3 0 00 G< 00 0 G=

Σ′ =G3 0 00 G< 00 0 0

44

Stabilirea corespondenţelor

45

Corespondenţe în imagini�Obiectiv: determinarea omografiei dintre cele două imagini

�Punctele corespondente dintre cele două imagini trebuiesc

determinate

46

Corespondenţe locale invarianteDescriptori locali

�Conţinutul imaginii este transformat în coordonate locale de

descriptori invatianţi la translaţie, rotaţie şi scalare

Features Descriptors 47

AfBf

A1

A2 A3

Tffd BA <),(

1. Gasirea unui set de puncte de interes distinctive

2. Definirea unei regiuni în jurul punctului de interes

3. Extragerea şi normalizarea regiunii

4. Calculul unui descriptor local din regiunea normalizată

5. Identificarea (matching) descriptorilor locali

Identificarea corespondenţelorDescriptori locali

Punctele de interes ar trebui să fie repetitive şi distincte 48

Feature detection: obiective�Repetabilitate

� aceleaşi caracteristici trebuiesc regăsite în mai multe imagini, chiar dacă

imaginile au fost supuse la transformări geometrice şi fotometrice

�Descriptori distinctivi� fiecare feature are o descriere (descriptor) distinctiv

�Caracter compact şi eficienţă� features mai puţine decât numărul de pixeli din imagine

�Localizare� un feature ocupă o zonă relativ mică din imagine; robust faţă de

ocluziune şi clutter

49

Detectarea colţurilor

50

Detectarea colţurilor

““““cantăcantăcantăcantă””””::::nicio modificare denicio modificare denicio modificare denicio modificare de----a a a a

lungul canteilungul canteilungul canteilungul cantei

““““colţcolţcolţcolţ””””::::modificări în toate modificări în toate modificări în toate modificări în toate

direcţiiledirecţiiledirecţiiledirecţiile

regiune regiune regiune regiune ““““platăplatăplatăplată””””::::nicio modificare a nicio modificare a nicio modificare a nicio modificare a

intensităţiiintensităţiiintensităţiiintensităţii

�Colţurile ar trebui sa poată fi recunoscute atunci când imaginea este

vizualizată printr-o regiune de interes

�Când vizualizăm un colţ, deplasarea regiunii în oricare direcţie va

indica o schimbare puternică în intensitate

�Dacă în regiune avem un colţ, gradientul imaginii are cel puţin două

direcţii dominante

51

[ ]2

,

( , ) ( , ) ( , ) ( , )x y

E u v w x y I x u y v I x y= + + −∑

I(x, y)E(u, v)

E(3,2)

w(x, y)

Detectarea colţurilor�Modificarea aspectului ferestrei H(#, :) pentru deplasarea [�, �]

52

[ ]2

,

( , ) ( , ) ( , ) ( , )x y

E u v w x y I x u y v I x y= + + −∑

I(x, y)E(u, v)

E(0,0)

w(x, y)

Detectarea colţurilor�Modificarea aspectului ferestrei H(#, :) pentru deplasarea [�, �]

53

[ ]2

,

( , ) ( , ) ( , ) ( , )x y

E u v w x y I x u y v I x y= + + −∑

Intensitatea pixelului

Intensitatea în fereastră

Funcţia fereastră

sauFuncţia fereastrăw(x,y) =

Gaussian1 în fereastră, 0 afară

Detectarea colţurilor�Modificarea aspectului ferestrei H(#, :) pentru deplasarea [�, �]

� 4 deplasări: (u,v) = (1,0), (1,1), (0,1), (-1, 1)

�Caută minimul local al funcţiei E: min{E}54

[ ]2

,

( , ) ( , ) ( , ) ( , )x y

E u v w x y I x u y v I x y= + + −∑

Cum se comportă funcţia 8(�, �) pentru deplasări mici?

E(u, v)

Detectarea colţurilor�Modificarea aspectului ferestrei H(#, :) pentru deplasarea [�, �]

55

[ ]2

,

( , ) ( , ) ( , ) ( , )x y

E u v w x y I x u y v I x y= + + −∑

+

+≈

v

u

EE

EEvu

E

EvuEvuE

vvuv

uvuu

v

u

)0,0()0,0(

)0,0()0,0(][

2

1

)0,0(

)0,0(][)0,0(),(

Detectarea colţurilor�Modificarea aspectului ferestrei H(#, :) pentru deplasarea [�, �]

�Aproximarea pătratică locală a lui 8(�, �) în vecinătatea lui (0,0) poate

fi obţinută prin dezvoltarea în serie Taylor:

56

[ ]2

,

( , ) ( , ) ( , ) ( , )x y

E u v w x y I x u y v I x y= + + −∑

Dezvoltare în serie Taylor a lui 8(�, �) în jurul lui (0,0):

+

+≈

v

u

EE

EEvu

E

EvuEvuE

vvuv

uvuu

v

u

)0,0()0,0(

)0,0()0,0(][

2

1

)0,0(

)0,0(][)0,0(),(

[ ]

[ ]

[ ] ),(),(),(),(2

),(),(),(2),(

),(),(),(),(2

),(),(),(2),(

),(),(),(),(2),(

,

,

,

,

,

vyuxIyxIvyuxIyxw

vyuxIvyuxIyxwvuE

vyuxIyxIvyuxIyxw

vyuxIvyuxIyxwvuE

vyuxIyxIvyuxIyxwvuE

xy

yx

xy

yx

uv

xx

yx

xx

yx

uu

x

yx

u

++−+++

++++=

++−+++

++++=

++−++=

57

),(),(),(2)0,0(

),(),(),(2)0,0(

),(),(),(2)0,0(

0)0,0(

0)0,0(

0)0,0(

,

,

,

yxIyxIyxwE

yxIyxIyxwE

yxIyxIyxwE

E

E

E

yx

yx

uv

yy

yx

vv

xx

yx

uu

v

u

=

=

=

=

=

=

+

+≈

v

u

EE

EEvu

E

EvuEvuE

vvuv

uvuu

v

u

)0,0()0,0(

)0,0()0,0(][

2

1

)0,0(

)0,0(][)0,0(),(

[ ]2

,

( , ) ( , ) ( , ) ( , )x y

E u v w x y I x u y v I x y= + + −∑

Dezvoltare în serie Taylor a lui 8(�, �) în jurul lui (0,0):

58

≈∑∑

∑∑

v

u

yxIyxwyxIyxIyxw

yxIyxIyxwyxIyxw

vuvuE

yx

y

yx

yx

yx

yx

yx

x

,

2

,

,,

2

),(),(),(),(),(

),(),(),(),(),(

][),(

),(),(),(2)0,0(

),(),(),(2)0,0(

),(),(),(2)0,0(

0)0,0(

0)0,0(

0)0,0(

,

,

,

yxIyxIyxwE

yxIyxIyxwE

yxIyxIyxwE

E

E

E

yx

yx

uv

yy

yx

vv

xx

yx

uu

v

u

=

=

=

=

=

=

[ ]2

,

( , ) ( , ) ( , ) ( , )x y

E u v w x y I x u y v I x y= + + −∑

Dezvoltare în serie Taylor a lui 8(�, �) în jurul lui (0,0):

59

2

2,

( , )x x y

x y x y y

I I IM w x y

I I I

=

v

uMvuvuE ][),(

M

Detectarea colţurilor�Aproximarea pătratică se simplifică:

�unde K este o matrice de ordinul doi, calculată din derivatele imaginii:

60

=∑

yyyx

yxxx

IIII

IIIIyxwM ),(

x

II x

∂⇔

y

II y

∂⇔

y

I

x

III yx

∂⇔Notaţii:

Detectarea colţurilor�K este o matrice 2 × 2 ale derivatelor imaginii (cu medie în

vecinătatea unui punct)

61

v

uMvuvuE ][),(

=

yx yyx

yxx

III

IIIyxwM

,2

2

),(

Detectarea colţurilor

�Suprafaţa lui 8(�, �) este aproximată local printr-o formă

pătratică

8(�, �)

62

const][ =

v

uMvu

Detectarea colţurilor�Consideraţi o ”felie” orizontală a lui 8(�, �):

�Aceasta este ecuaţia unei elipse

63

RRM

= −

2

11

0

0

λ

λ

direcţia celei mai încete schimbări

direcţia celei mai rapide schimbări

(λmax)-1/2

(λmin)-1/2

Detectarea colţurilor�Diagonala matricei K:

�Lungimile axelor elipsei sunt determinate de valorile proprii L3şi L<, iar orientarea este determinată de �

64

Detectarea colţurilor

65

Detectarea colţurilor

66

λ1

λ2

“colţ”

λ1 şi λ2 mari,

λ1 ~ λ2;

E creşte în toate

direcţiile

λ1 şi λ2 mici;

E este aproape constant

în toate direcţiile

“cantă”

λ1 >> λ2

“cantă”

λ2 >> λ1

regiune

“plată”

Interpretarea valorilor proprii�Clasificarea punctelor utilizând valorile proprii ale lui K

67

“colţ”

R > 0

“cantă”

R < 0

“cantă”

R < 0

regiune

“plată”

|R| mic

2

2121

2 )()(trace)det( λλαλλα +−=−= MMR

α: constant (0.04 până la 0.06)

Funcţia de răspuns la colţuri

68

Detectorul de colţuri Harris

1. Calculul matricei K pentru fiecare fereastră a imaginii şi

determinarea probabilităţii de a avea un colţ (valoarea �)

2. Găsirea punctelor a căror fereastră are o probabilitate mare

de a fi colţ (; > threshold)

3. Selectarea punctelor cu maxim local; efectuarea de supresie

non-maximă

69

∗=

)()(

)()()(),(

2

2

DyDyx

DyxDx

IDIIII

IIIg

σσ

σσσσσµ

70

1. Derivatele imaginii

2. Pătratele derivatelor

3. Filtru Gaussian N(G$)

Ix Iy

Ix2 Iy

2 IxIy

g(Ix2) g(Iy

2) g(IxIy)

222222)]()([)]([)()( yxyxyx IgIgIIgIgIg +−− α

=−= ])),([trace()],(det[ 2

DIDIhar σσµασσµ

4. Probabilitate colţ – ambele valori proprii sunt mari

har5. Supresie non-maximă

1 2

1 2

det

trace

M

M

λ λ

λ λ

=

= +

(blur opţional)

Detectorul de colţuri Harris

�Matricea de ordinul 2:

Detectorul de colţuri Harris (intrare)

71

Calitatea R a colţurilor

72

Partiţionare pe R

73

Maximele locale ale lui R

74

Detectorul de colţuri Harris

75

Descriptori locali

76

�Pentru a putea stabili corespondenţele, zonele locale din jurul

punctelor de interes (colţuri), trebuiesc reprezentate

0.2

0.2

0.2

0.2

0.1

0.3

0.2

0.3

0.3

0.2

0.7

0.4

0.6

0.8

0.6

Descriptori locali direcţi

�Valorile pixelilor din jurul punctul de interes

77

Descriptori locali fereastră

�Rotirea regiunii în jurul punctului de interes

�Scalarea regiunii în jurul punctului de interes

�Extragerea valorii pixelilor din noua regiune

CSE 576: Computer Vision78

Descriptori locali

Problemele cu descriptorii locali prezentaţi:

�Sensibili la mici translaţii şi rotaţii �Sensibili la modificări fotometrice

79

Descriptori SIFTScale Invariant Feature Transform

�Clasificarea pixelilor prin histograme ce descriu orientarea lor

0 2ππππ

80

Descriptori SIFTScale Invariant Feature Transform

Pentru fiecare punct, magnitudinea şi orientarea gradientului este ponderată

cu o valoarea Gaussiană

Histograme ale orientărilor:suma magnitudinii

gradientului pentru fiecare direcţie

În practică sunt utilizate dimensiuni 4x4 cu histograme de 8 bin, rezultând un număr total de 128 de features pentru un punct de interes

81

Descriptori SIFTScale Invariant Feature Transform

�Tehnică robustă de determinare a corespondenţelor:

�Poate face faţă unor modificări mari a perspectivei (până la

60 de grade de rotaţie a imaginii)

�Poate face faţă modificărilor puternice de iluminare

82

Descriptori SIFTScale Invariant Feature Transform

83

Descriptori SIFTScale Invariant Feature Transform

84

Calculul corespondenţelor

�Obiectiv: producerea unui set de

corespondenţe candidat ce conţin:

�Cât mai multe corespondenţe

corecte

�Cât mai puţine corespondenţe

incorecte

85

Poziţia, scala şiorientarea feature-ului

Calculul corespondenţelor

86

0.20.70.40.60.80.6…

Descriptor

Poziţia, scala şiorientarea feature-ului

Calculul corespondenţelor

87

Spaţiul descriptorului

Calculul corespondenţelor

88

Calculul corespondenţelor

Spaţiul descriptorului

89

Calculul corespondenţelor

Spaţiul descriptorului

90

Cum determinăm corespondenţele?

Calculul corespondenţelor

Spaţiul descriptorului

91

� Metoda 1: crearea de corespondenţe de la fiecare feature Ai la feature-urile Bk din B ce au distanţa minimă %(@�, OP)

Spaţiul descriptorului

@�

%(@�, OQ) este distanţa Euclidianăîn spaţiul descriptorului

Calculul corespondenţelor

92

OP

Calculul corespondenţelor

@�

� Metoda 1: crearea de corespondenţe de la fiecare feature Ai la feature-urile Bk din B ce au distanţa minimă %(@�, OP)

%(@�, OQ) este distanţa Euclidianăîn spaţiul descriptorului

Spaţiul descriptorului

93

@�

OP

Calculul corespondenţelor

� Metoda 1: crearea de corespondenţe de la fiecare feature Ai la feature-urile Bk din B ce au distanţa minimă %(@�, OP)

Spaţiul descriptorului

%(@�, OQ) este distanţa Euclidianăîn spaţiul descriptorului

94

@�

OP

Calculul corespondenţelor

� Metoda 2: crearea de corespondenţe de la fiecare feature Ai la feature-urile Bk din B ce au distanţa minimă %(@�, OP)

dacă % @�, OP < �ST(USV)%

Spaţiul descriptorului

%(@�, OQ) este distanţa Euclidianăîn spaţiul descriptorului

95

@�

OP

Calculul corespondenţelor

� Metoda 2: crearea de corespondenţe de la fiecare feature Ai la feature-urile Bk din B ce au distanţa minimă %(@�, OP)

dacă % @�, OP < �ST(USV)%

Spaţiul descriptorului

%(@�, OQ) este distanţa Euclidianăîn spaţiul descriptorului

96

OP2

OP

Calculul corespondenţelor

� Metoda ponderilor: crearea de corespondenţe de la fiecare featureAi la feature-urile Bk din B ce au distanţa minimă %(@�, OP)

dacă W X�,Y

Z

W X�,Y

Z<

< �ST(USV)%

OP este cel mai apropiat descriptor

OP2 este al doilea cel mai apropiat

descriptor

Spaţiul descriptorului

%(@�, OQ) este distanţa Euclidianăîn spaţiul descriptorului

97

Calculul corespondenţelor

� Metoda apropierii mutuale: crearea de corespondenţe între Ai şi Bk din B doar dacă, dintre toate perechile de feature-uri apropiate, perechea Ai şi Bk este cea mai apropiată mutual

Spaţiul descriptorului

98

A B

Calculul corespondenţelor

� Metoda apropierii mutuale: crearea de corespondenţe între Ai şi Bk

doar dacă sunt apropiate mutual

99

A BC

(A,B) este o corespondenţă eronată

Calculul corespondenţelor

� Metoda apropierii mutuale: crearea de corespondenţe între Ai şi Bk

doar dacă sunt apropiate mutual

100

AB

(A,B) este o corespondenţă bună

Calculul corespondenţelor

� Metoda apropierii mutuale: crearea de corespondenţe între Ai şi Bk

doar dacă sunt apropiate mutual

101

102

top related