Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a...
Transcript of Ransac...En 2D: para estimar una homograf a. Se debe ajustar un modelo (en este caso una homograf a...
Vision por Computadora
2 C 2018
Ransac
Ransac
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
Dado un conjunto de puntos
Ransac
Queremos hallar la recta que mejor los ajuste
Ransac
Con 2 puntos cualesquiera
Ransac
Queda determinada una recta
Ransac
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
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
Se eligen aleatoriamente 2 puntos y se genera un conjunto S deconsenso
Ransac
Para cada eleccion 2 puntos se genera otro conjunto S de consenso
Ransac
Para cada eleccion 2 puntos se genera otro conjunto S de consenso
Ransac
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
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
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
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
Objetivo general
Ajustar un modelo a los datos de un conjunto S que contieneoutliers
Ransac
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Encontrar la transformacion H
Ransac
Puntos homologos
Ransac
Ransac varias iteraciones
En cada imagen se muestra el movimiento de cada punto, encada iteracion
Notar los outliers
Ransac
Luego de N iteraciones
Ransac
The RANSAC song
http://danielwedge.com/ransac/
Ransac