Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a...

43
Visi´ on por Computadora 2 C 2018 Ransac Ransac

Transcript of Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a...

Page 1: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Vision por Computadora

2 C 2018

Ransac

Ransac

Page 2: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Problema: hallar un modelo de ajuste para datos de un conjuntodado

Supongamos que queremos hallar una transformacion afınunidimensional, HA, entre un conjunto de puntos correspondientes{x→ x′} que estan sobre dos lıneas.

x′=HAx =

(m n0 1

)(x1

)=

(mx + n

1

),

entoncesx ′ = mx + n con x ∈ R.

Ransac

Page 3: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Dado un conjunto de puntos

Ransac

Page 4: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Queremos hallar la recta que mejor los ajuste

Ransac

Page 5: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Con 2 puntos cualesquiera

Ransac

Page 6: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Queda determinada una recta

Ransac

Page 7: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

hallar una recta que minimice la suma de las distanciasortogonales al cuadrado, d2

⊥ sujeto a la condicion de que nohaya ningun punto que se desvie de la recta buscada mas allade una cierta distancia umbral t

la eleccion de t dependera del ruido de medicion

clasificar los puntos como inliers y outliers

Ransac

Page 8: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

El soporte de un conjunto S es igual a la cantidad de puntosque caen en una franja de la recta r :

soporte S = {p : p ∈ (r − t, r + t)}

Ransac

Page 9: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Se eligen aleatoriamente 2 puntos y se genera un conjunto S deconsenso

Ransac

Page 10: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Para cada eleccion 2 puntos se genera otro conjunto S de consenso

Ransac

Page 11: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Para cada eleccion 2 puntos se genera otro conjunto S de consenso

Ransac

Page 12: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Se propone un estimador robusto para elegir los puntoshomologos:

Estimador robusto RANdom SAmple Consensus(RANSAC).

Se usa cuando la proporcion de outliers es muy grande.

Ransac

Page 13: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

El algoritmo consiste en:

1 Se seleccionan aleatoriamente 2 puntos. Estos definen unarecta r .

2 A partir de un umbral t

3 Se calcula el soporte del conjunto S con respecto a la recta rcomo los puntos que caen dentro de la banda definida por lasrectas r1 y r2, paralelas a r y que estan a distancia t de r .

4 Se repite esta seleccion aleatoria (pasos 1 a 3) un numero Nde veces.

5 La recta r correspondiente al conjunto S con mayor soporte esla recta elegida.

Nota: al conjunto S ası definido se lo denomina conjunto deconsenso.

Ransac

Page 14: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Notar que

si los puntos que caen dentro del soporte son inliers entonces elsoporte sera mayor que si algun punto dentro del soporte fueraoutlier.

Ransac

Page 15: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Puede ocurrir que:

dos conjuntos de consenso tengan solamente inliers

Elegimos el de soporte mayor porque la recta ajusta a unamayor cantidad de datos.

Ransac

Page 16: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Objetivo general

Ajustar un modelo a los datos de un conjunto S que contieneoutliers

Ransac

Page 17: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Modelos 1D y 2D

En 1D: ajustar un modelo (en este caso una recta).

La muestra aleatoria suficiente para determinar el modeloconsiste en un subconjunto minimal de 2 puntos.

En 2D: para estimar una homografıa.

Se debe ajustar un modelo (en este caso una homografıaplanar).

La muestra aleatoria consiste en un subconjunto minimal de4 pares de puntos de correspondencia.

Ransac

Page 18: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Algoritmo

Objetivo: ajuste robusto de un modelo a un conjunto de datos Sque contiene datos outliers.

seleccionar aleatoriamente una muestra de s puntos delconjunto S, e iniciar el modelo para este subconjunto.

determinar el conjunto de puntos Si que consiste en lospuntos que estan dentro del modelo a una distancia fija t.

El conjunto Si es el conjunto de consenso de la muestra ydefine los inliers de S.

Si #Si > T , para un cierto T , reestimar el modelo usandotodos los puntos de Si y terminar.

Si #Si < T , entonces seleccionar un nuevo conjunto yrepetir lo anterior.

Despues de N ensayos, seleccionar el mayor conjunto Si yreestimar el modelo usando todos los puntos del conjuntoSi .

Ransac

Page 19: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Definicion de parametros

1 t: umbral de distancia de puntos que estan dentro del modelo.

2 T : cantidad de puntos dentro del conjunto S .

3 N: numero de ensayos.

Ransac

Page 20: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

El parametro t

Se elige t tal quePr (x es inlier) = α

para x un punto del conjunto, y un valor dado α ∈ [0, 1] .

Supongamos que los errores de medicion, ε, siguen unadistribucion normal con media 0 y varianza σ2, es decir,ε ∼ N

(0, σ2

),

entonces se puede calcular t, a partir de ε.

Ransac

Page 21: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

El parametro t. (Cont.)

El cuadrado de la distancia puntual, d2⊥, es la suma de

variables aleatorias gaussianas:

d2⊥ ∼ χ2

n

χ2n es la distribucion Chi-cuadrado con n grados de libertad.

Ransac

Page 22: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

El parametro t. (Cont.)

Entonces, como:

Pr(χ2n ≤ k2

)= Fn

(k2)

=

k2∫0

χ2n (ζ) dζ = α

tomamost2 = F−1n (α)σ2.

Consideramos, entonces, que el punto se clasifica como:{inlier si d2

⊥ < t2

outlier si d2⊥ ≥ t2

Ransac

Page 23: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Por ejemplo, si eligimos α = 0,95, quiere decir quela Pr (x es inlier) = 0,95esto significa que la probabilidad de rechazar un punto que esinlier es 0,05.

En el siguiente cuadro se muestran los valores del umbral t2

para α = 0,95, para cada valor de n y dependiendo del errorde medicion σ.

n modelo umbral t2

1 recta, F 3,84σ2

2 homografıa, camara 5,99σ2

3 tensor 7,81σ2

Ransac

Page 24: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Definicion de T

Para determinar un tamano valido para el conjunto de consenso S ,se puede pensar que deberıa ser similar al numero de inliers que secree que hay en los datos.

Entonces, dados:

ε: una proporcion de outliers

n: cantidad de datos

definimos T de la siguiente manera:

T = (1− ε) n

Ransac

Page 25: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Definicion de N

Como no se puede usar todas las posibles muestras, se elige elnumero N de muestras suficientemente alto,

para asegurar, con probabilidad p, que al menos unamuestra aleatoria de s puntos esta libre de outliers.

Ransac

Page 26: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Definicion de N . (Cont.)

Definimos

ω = Pr (el punto seleccionado es inlier) ,

entonces

ε = 1− ω = Pr (el punto seleccionado es outlier)

ωs = Pr (los s puntos sean inliers)

Ransac

Page 27: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Definicion de N . (Cont.)

1− ωs = Pr (haya uno o mas outliers entre los s puntos) .

Luego, en N selecciones se tiene:

(1− ωs)N = Pr(que en N selecciones de s puntos hayaoutliers en todas ellas)

Ransac

Page 28: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Definicion de N . (Cont.)

p = Pr(que en N selecciones de s puntos al menos una notenga outliers)

entonces1− p = Pr (en N selecciones de s puntos todas tenganoutliers)

entonces se tiene que:

1− p = (1− ωs)N .

Tomando logaritmos:

log (1− p) = N log (1− ωs) ,

Ransac

Page 29: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Definicion de N . (Cont.)

N =log (1− p)

log (1− ωs)=

log (1− p)

log (1− (1− ε)s).

N es el numero de selecciones que se require para asegurar,con probabilidad p, que al menos una muestra no tieneoutliers para un dado tamano de muestra s y una dadaproporcion de outliers ε.

Ransac

Page 30: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Ejemplo en 1D

s : tamano de la muestrap = 0,99ε :proporcion de outliers

N es el numero de muestras que se require para asegurar, conprobabilidad 0,99, que al menos una muestra no tiene outliers paraun dado tamano de muestra y una dada proporcion de outliers.

En la siguiente tabla se puede buscar el valor de N.

Ransac

Page 31: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

tam. de la muestra proporcion de outliers ε

s 5 % 10 % 20 % 25 % 30 % 40 % 50 %

2 2 3 5 6 7 11 17

3 3 4 7 9 11 19 35

4 3 5 9 13 17 34 72

5 4 6 12 17 26 57 146

6 4 7 16 24 37 97 293

7 4 8 20 33 54 163 588

8 5 9 26 44 78 272 1177

Ransac

Page 32: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Determinacion adaptativa del numero de selecciones oensayos N, para ε es desconocido

Este algoritmo resuelve el numero de muestras y el criterio deparada.Se puede iniciar el algoritmo con ε = 0,5, de donde el valor de Nes N =∞.Para ε = 0,5 se determina

N =log (1− p)

log (1− (1− ε)s)

tomar N =∞, contador = 0, fijado el valor de pwhile N > contador repeat

elegir una muestra y contar el n de inliersε = 1− n

total de puntoscalcular el valor correspondiente de N usando p y ε.contador = contador + 1

terminar

Ransac

Page 33: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Homografıa planar 2D

En una homografıa las preguntas que hay que responder son:

1 que es la distancia?

2 como se seleccionan las muestras?

Para contestarlas veamos lo que sigue.

Ransac

Page 34: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Estimacion robusta por maxima verosililitud

para estimar el error de una correspondencia de puntoshomologos {x→ x} en una homografıa H, se puede usar el errorde transformacion simetrico:

d2tranf = d2

(x,H−1x

)+ d2 (x,Hx) ,

se compara con t2 = F−1m (α)σ2.{inlier si d2

tranf < t2

outlier si d2tranf ≥ t2

Ransac

Page 35: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Para seleccionar las muestras se tiene que tener en cuentaque pueden ser muestras degeneradas (3 puntos alineados) ypor lo tanto hay que eliminarlas.

Las muestras tienen que tener una buena distribucion espacialen la imagen.

obtener un estimador mejorado de H usando todos los inliersy no solamente 4 puntos

obtener mas correspondencias entre inliers, ya que H estamejorada

Ransac

Page 36: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Funcion de costo robusta

En vez de minimizar la funcion de costo C =∑

i d2⊥i sobre los

inliers se minimiza una funcion de costo robusta que incluye atodos los datos.Esta funcion de costo viene dada por:

D =∑i

γ (d⊥i )

donde

γ (d) =

{d2 si d2 < t2

t2 si d2 ≥ t2

Ransac

Page 37: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Algoritmo para calcular una homografıa planar H

Calcular los puntos de interes en cada imagen

Calcular un conjunto de puntos de correspondencia de interes.Esta correspondencia esta basada en la proximidad espacial yla similaridad de niveles de gris en un vecindario.

Estimacion robusta RANSAC.

Reestimar H usando todas correspondencias clasificadas comoinliers, minimizando una funcion de costo por maximaverosimilitud.

Se pueden estimar mas correspondencias entre puntos deinteres usando la H estimada en el paso 4 para definir unaregion de busqueda alrededor de los puntos hallados.

Ransac

Page 38: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Estimacion robusta RANSAC

Para N selecciones (utilizando el algoritmo de determinacionadaptativa de N) repetir:

1 seleccionar una muestra aleatoria de 4 puntos decorrespondencia y calcular H

2 calcular la distancia d⊥ para cada muestra de puntos decorrespondencia

3 calcular el numero de inliers, consistentes con H, como lacantidad de correspondencias para las cualesd⊥ < t =

√5,99σ pixels

4 Elegir H tal que tenga la mayor cantidad de inliers

Ransac

Page 39: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Encontrar la transformacion H

Ransac

Page 40: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Puntos homologos

Ransac

Page 41: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Ransac varias iteraciones

En cada imagen se muestra el movimiento de cada punto, encada iteracion

Notar los outliers

Ransac

Page 42: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

Luego de N iteraciones

Ransac

Page 43: Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a planar). La muestra aleatoria consiste en un subconjunto minimal de 4 pares de puntos

The RANSAC song

http://danielwedge.com/ransac/

Ransac