Localizzazione Template deformabilibias.csr.unibo.it/VR/DispensePDF/10_Localizzazione... · Ransac:...

Post on 14-Oct-2020

4 views 0 download

Transcript of Localizzazione Template deformabilibias.csr.unibo.it/VR/DispensePDF/10_Localizzazione... · Ransac:...

Localizzazione

Template deformabili

1

Annalisa Franco

annalisa.franco@unibo.it

http://bias.csr.unibo.it/VR/

Template deformabili

• Un template deformabile è attivo, è in grado di modificarsi per

adattarsi al meglio ai dati in input. Le categorie principali:

▫ Free-Form deformable: il template non è vincolato a forme precise

(anche se generalmente si impongono criteri di regolarità). Si fa uso

di un potential field, cioè di una funzione di energia prodotta dalle

feature salienti dell’immagine, per guidare il processo verso le

deformazioni maggiormente significative.

2

Snakes [Kass88]

Active Region [Cox96]

Snakes

▫ Uno snake è definito come una funzione energia. La ricerca del migliore

allineamento tra lo snake e la forma di un oggetto si basa sulla

minimizzazione della seguente funzione:

dove:

▫ Lo snake è definito in modo parametrico come 𝑣 𝑖 = 𝑥 𝑖 , 𝑦(𝑖) ;

Eint è l’energia interna che controlla la regolarità e l’elasticità dello snake;

Eimage è l’energia dell’immagine che indica quanto la forma dell’oggetto si adatta

all’immagine sottostante (bordi, gradiente, ...);

Eext è l’energia esterna determinata da altri eventuali vincoli esterni.

3

1

0

dssvEsvEsvEE extimageintsnake

Analytic-form based

• Analytic-Form based (Parametric deformable): si tratta di

template parametrici (polilinee, archi, curve spline, o

combinazione dei precedenti) regolate da un numero limitato di

parametri agendo sui quali si ottengono deformazioni controllate.

4

Yuille’s eye [Yuil92]

Profilo esterno dell’occhio e

pupilla modellati con 9

parametri

Prototype-based

• Prototype based (Parametric deformable): viene definito un

template master e una serie di trasformazioni parametriche che

ne producono versioni deformate.

5

Grenader [Gren93]

Shape learning (1)

• Shape learning (Apprendimento della forma da esempi):

spesso risulta complicato fornire espressioni analitiche di un

template e altrettanto difficile definire precisamente le

trasformazioni che mappano un oggetto nelle sue possibili

deformazioni.

• I metodi di Shape learning hanno come obiettivo

l’apprendimento della forma di un oggetto e delle sue possibili

variazioni a partire da un insieme di esempi.

• Nel metodo di Cootes [Coot00] il template viene modellato da

poligonali; durante l’addestramento gli esempi nel training set

sono allineati (manualmente) sulla base di punti notevoli. I

molteplici gradi di libertà dati dalla mobilità spaziale di punti

corrispondenti nei diversi pattern di esempio vengono fortemente

ridotti (trasformata KL) per ottenere un modello parametrico con

pochi gradi di libertà.

6

Shape learning (2)

7

Convergenza del modello

a partire da una soluzione

iniziale “molto imprecisa”

Training set (a

sinistra)

e modello

parametrico

appreso (a destra)

Esempi (1)

Forma della Mano: 18 immagini di mani etichettate con una

poligonale facendo attenzione a marcare i punti “corrispondenti”

sempre nello stesso ordine.

I 5 “modi di variazione principale” determinati con KL transform

gestiscono molto bene buona parte delle possibili variazioni.

8

...

Esempi (2)

Caratteristiche interne del volto: 200 immagini di volti

etichettate con più poligonali facendo attenzione a marcare i

punti “corrispondenti” sempre nello stesso ordine.

anche in questo caso i 5 “modi di variazione principale”

determinati con KL transform gestiscono molto bene buona parte

delle possibili variazioni.

9

...

Approcci transformation-based

10

Es. Registrazione di immagini con keypoint e descrittori locali

?

Approcci transformation-based

1. Rilevare i keypoint e calcolarne i descrittori

SIFT, SURF, BRIEF, ecc…

1. Determinare un set di presunti match

Ricerca esaustiva o utilizzo di strutture dati

1. Sulla base dei migliori match determinare la

trasformazione ottimale.

Ransac

11

Feature matching: possibili approcci

• Come confrontare due set di punti con

descrittori locali?

Ricerca esaustiva: confronto di ogni

feature in un’immagine con tutte le

feature dell’altra;

Per limitare la complessità

computazionale è necessario restringere il

numero di confronti da effettuare:

Hashing: applicazione di una funzione

hash per organizzare i descrittori in

bucket contenenti oggetti «simili»;

Index-based Nearest neighbor search:

es. KD-Tree

Problema: presenza di outliers.

12

Hashing

KD-Tree

Come selezionare i match presunti?

• Per ciascun keypoint, il suo nearest neighbor è il keypoint che ha

distanza euclidea minima;

• Molte feature non avranno un match corretto (background,

rumore, occlusioni, ecc…)…

• Soglia globale sulla distanza tra

descrittori?

𝑆𝑆𝐷 𝑝𝑎𝑡𝑐ℎ1, 𝑝𝑎𝑡𝑐ℎ2 < 𝑡ℎ𝑟

13

Come fissare la soglia?

Come selezionare i match presunti?

• L’adozione di una soglia globale non dà buoni risultati;

• È possibile scartare alcuni match errati osservando la distanza

dal nearest neighbor (1-NN) in rapporto alla distanza dal

secondo keypoint più simile (2-NN)

14

La trasformazione ottimale

• Come possiamo calcolare la trasformazione ottimale a

partire dai match presunti?

▫ Problema: presenza di outlier

Ransac: algoritmo generale

L’algoritmo RAndom SAmple Consensus (RANSAC) è un metodo

iterativo che permette di stimare un modello (es. parametri di

trasformazione) a partire da un insieme di osservazioni in presenza di

outliers.

L’idea alla base del metodo è che i dati si dividono in inliers, ovvero dati

la cui distribuzione è compatibile con i parametri del modello, e outliers

che non sono rappresentati correttamente dal modello.

16

Insieme di punti (con outlier) Rette individuata con RANSAC

In generale, dati N

punti 𝑥𝑖(osservazioni),

assumendo che essi

siano generati da un

modello con

parametri Θ,

l’algoritmo cerca di

stimare Θ.

Ransac: algoritmo generale

Ripeti K volte:

1. Scegli n campioni casuali;

2. Adatta i parametri Θ agli n campioni;

3. Per ciascuno dei restanti N-n punti, calcola la

distanza dal modello e conta in numero c di inliers

L’output è il modello Θ con c più elevato.

17

Ransac: esempio

18

Ransac: algoritmo generale

Ripeti K volte:

1. Scegli n campioni casuali;

2. Adatta i parametri Θ agli n campioni;

3. Per ciascuno dei restanti N-n punti, calcola la

distanza dal modello e conta in numero c di inliers

L’output è il modello Θ con c più elevato.

19

Quante volte?

Quanti?

Come definirli?

Ransac: modello generico

• Ogni tipo di modello ha un minimal set, ovvero un numero

minimo di esempi che consentono di calcolare il modello stesso

(es. linea 2 punti).

• Le possibili trasformazioni di un’immagine sono modelli. In

questo caso il minimal set è costituito da s coppie punti

(matches).

• Per l’applicazione relativa all’allineamento di due immagini a

partire da un insieme di keypoint l’obiettivo è quello di stimare la

migliore matrice di trasformazione (traslazione, rotazione e

scala):

𝑇 =𝑠 ∙ 𝑐𝑜𝑠𝜃 −𝑠 ∙ 𝑠𝑖𝑛𝜃 𝑑𝑥𝑠 ∙ 𝑠𝑖𝑛𝜃 𝑠 ∙ 𝑐𝑜𝑠𝜃 𝑑𝑦

0 0 1

20

Ransac e keypoints: parametri

• Numero iniziale di punti nel minimal set s

▫ Tipicamente il numero di esempi necessari per calcolare

il modello.

• La soglia di distanza t che consente di definire un punto

come inlier.

• Il numero di iterazioni K necessarie per ottenere un

modello affidabile (in presenza di outliers).

21

Ransac: distanza

• Supponiamo che il rumore nellaposizione dei pattern segua unadistribuzione Gaussiana(deviazione standard 𝜎);

• La distanza segue dunque unadistribuzione con g gradi di libertà(pari alla dimensionalità dellaGaussiana);

• Dato un modello di distanza èsemplice fissare un appropriatovalore di soglia t; se fissiamo

𝑡2 = 3.84 𝜎2

con una probabilità del 95% tuttigli inlier avranno una distanza

𝑑 < 𝑡

22

𝑓 𝑑 =2𝑒

−𝑑2

2𝜎2

𝜋𝜎, 𝑑 ≥ 0

Ransac: numero di sample set K

• Vogliamo scegliere un valore di K (numero di sample set, di

iterazioni) tale che, con probabilità p, almeno un sample set non

contenga nessun outlier (es. p=0.99).

• e: ipotetica percentuale di outliers → 1 − 𝑒 inliers.

• s: numero di punti per il calcolo del modello

• p: probabilità di successo

• 𝑃 𝑠 𝑠𝑎𝑚𝑝𝑙𝑒 𝑡𝑢𝑡𝑡𝑖 𝑖𝑛𝑙𝑖𝑒𝑟𝑠 = 1 − 𝑒 𝑠

• 𝑃 𝑠 𝑠𝑎𝑚𝑝𝑙𝑒 𝑎𝑙𝑚𝑒𝑛𝑜 𝑢𝑛 𝑜𝑢𝑡𝑙𝑖𝑒𝑟 = 1 − 1 − 𝑒 𝑠

• 𝑃 𝐾 𝑠𝑎𝑚𝑝𝑙𝑒 𝑠𝑒𝑡 𝑐𝑜𝑛 𝑎𝑙𝑚𝑒𝑛𝑜 𝑢𝑛 𝑜𝑢𝑡𝑙𝑖𝑒𝑟 = 1 − 1 − 𝑒 𝑠 𝐾

Vogliamo che questo valore sia piccolo…

1 − 1 − 𝑒 𝑠 𝐾 < 1 − 𝑝

𝐾 >log(1 − 𝑝)

log 1 − 1 − 𝑒 𝑠

23

N.B. il numero K non

dipende dal numero

totale di punti

Ransac: numero di samples K

24

𝐾 >log(1 − 𝑝)

log 1 − 1 − 𝑒 𝑠

s e

0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40 0.45 0.50

2 2 3 4 5 6 7 9 11 13 17

3 3 4 5 7 9 11 15 19 26 35

4 3 5 7 9 13 17 24 34 48 72

5 4 6 8 12 17 26 38 57 90 146

6 4 7 10 16 24 37 59 97 165 293

7 4 8 12 20 33 54 92 163 301 588

8 5 9 15 26 44 78 143 272 548 1177

25

Ransac e keypoints (1)

26

Ransac e keypoints (2)

• L’obiettivo è quello di stimare la migliore matrice di trasformazione(traslazione, rotazione e scala):

𝑇 =𝑠 ∙ 𝑐𝑜𝑠𝜃 −𝑠 ∙ 𝑠𝑖𝑛𝜃 𝑑𝑥𝑠 ∙ 𝑠𝑖𝑛𝜃 𝑠 ∙ 𝑐𝑜𝑠𝜃 𝑑𝑦

0 0 1

27

Ripeti N volte:

1. Seleziona 4 coppie di punti;

2. Calcola a partire da questi la matrice T;

3. Calcola il numero di inlier per i quali

𝑆𝑆𝐷 𝑝𝑖′, 𝑇 𝑝𝑖 < 𝜖

dove 𝑝𝑖′ è il presunto match di 𝑝𝑖.

4. Seleziona la trasformazione T con il massimo numero di inlier

(eventualmente ricalcola a partire da tutti gli inlier per una stima

robusta)

Ransac: conclusioni

• Vantaggi:

▫ Semplice e generale;

▫ Robusto anche in presenza di un elevato numero di outlier;

▫ Più facilmente applicabile a problemi con un elevato numero

di parametri rispetto alla trasformata di Hough.

• Svantaggi:

▫ La complessità computazionale aumenta comunque in modo

significativo all’aumentare del numero di parametri del

modello da stimare;

▫ Non ottimale per ottenere modelli multipli;

▫ Non ottimale per modelli approssimati.

28

Bibliografia

[Kass88] M. Kass, A. Witkin e D. Terzopoulos, “Snakes: Active contour

models”, Int. J. Comput. Vision, 1(4), 321-331.

[Cox96] I. Cox, S. Rao e Y. Zhong, “Ratio regions, a tecnique for image

segmentation”, in Proc. 13th Int. Conf. on Pattern Recognition

(ICPR), pages 557-564, Vienna, Austria.

[Yuil92] A. Yuille, P. Hallinan e D. Cohen, “Feature extraction from faces

using deformable templates”, Int. J. Comput. Vision, 8(2),133-

144, 1992.

[Gren93] U. Grenander e D. Keenan, “Towards automated image

understanding”, in K.V. Mardia and G.K.Kanji, editors,

Advances in Applied Statistics: Statistics and Image (1), chapter

6, pages 89-103, Carfax Publishing Company, 1993.

[Coot00] T. Cootes e C. Taylor, “Statistical Models of Appearance for

Computer Vision”, Internal report Manchester University,

Dec.2000.

29