Estimación de homografías

Estimaci´on de homograf´ıas Visi´on en Rob´otica 1er cuatrimestre de 2013 1. Introducci´ on del problema Una homograf´ıa es una transformaci´on pro

19 downloads 99 Views 241KB Size

Recommend Stories


CAUSA DE CANONIZACIÓN DE LA SIERVA DE DIOS. (29 de Marzo de de Agosto de 2004)
CAUSA DE CANONIZACIÓN DE LA SIERVA DE DIOS MADRE MERCEDES DE JESÚS EGIDO IZQUIERDO IMPULSORA DE LA VUELTA A LAS FUENTES DE LA ORDEN DE LA INMACULADA

1999, de 23 de marzo, de ORDEN de 23 de marzo de 1999 por la que
13502 Sábado 10 abril 1999 CAPÍTULO 10 Instalaciones eléctricas 20. En el párrafo 10.2.3.4.2, segunda oración, se sustituye «a juicio de la Administ

PROYECTO DE ORDEN DE. DE
CONSEJERÍA DE JUSTICIA E INTERIOR Dirección General de Interior, Emergencias y Protección Civil PROYECTO DE ORDEN DE …. DE ........ DE 2016, POR LA Q

CALIFICACION DE LABORATORIOS DE CONTROL DE CALIDAD DE LA OMS
REUNION TECNICA DE CONTROL DE CALIDAD DE PRODUCTOS FARMACEUTICOS, DISPOSITIVOS MEDICOS Y PRODUCTOS SANITARIOS CALIFICACION DE LABORATORIOS DE CONTROL

Story Transcript

Estimaci´on de homograf´ıas Visi´on en Rob´otica 1er cuatrimestre de 2013

1.

Introducci´ on del problema

Una homograf´ıa es una transformaci´on proyectiva que determina una correspondencia entre puntos. El problema que se plantea resolver es el siguiente: dado un conjunto de puntos xi ∈ Pn y su conjunto de puntos correspondientes x0i ∈ Pn , calcular la transformaci´on proyectiva que lleva xi a x0i . Es decir, calcular h : Pn → Pn tal que h (x) = x´ = Hx. El objetivo es estimar la matriz H.

2.

Algoritmo de transformaci´ on lineal directa (DLT) Este m´etodo sirve para estimar la matriz H antes mencionada.

Algoritmo 1 Dados un conjunto de n puntos de correspondencia (n ≥ 4), {xi ↔ x´i }, determinar H (homograf´ıa) tal que x´i = Hxi 1. Para cada correspondencia xi ↔ x´i , calcular la matriz Ai de dimensi´on 2×9  Ai =

−wi0 xTi 0T

0T wi0 xTi

yi0 xTi −x0i xTi



donde xi = (xi , yi , wi ) y 0T = (0, 0, 0) 2. Generar una matriz A, de dimensi´on 2n × 9, con las matrices Ai 3. Descomponer A seg´ un el SVD: A = U DV t ,

1

4. Luego, la matriz H que estamos buscando es la siguiente:   h1 h2 h3 H =  h4 h5 h6  h7 h8 h9 donde h es la u ´ltima columna de V . Notar que h es un vector de 9 elementos. Ver la demostraci´on correspondiente en el ap´endice A.

3.

DLT con normalizaci´ on de datos

Se hace una traslaci´ on y un escalamiento de tal manera que el algoritmo queda invariante con respecto a la elecci´on arbitraria de la escala y del origen de coordenadas. Se elige una sistema de coordenadas can´onico donde el algoritmo DLT es invariante a las transformaciones por similaridad. Algoritmo 2 DLT con normalizaci´ on de los datos Dado un conjunto {xi → x0i } de n puntos de correspondencia, calcular las e yH e 0 que consisten en una traslaci´ transformaciones de similaridad H on y un escalamiento. 1. Traslaci´ on de las coordenadas en cada imagen: para los datos xi y x0i , se ¯ yx calculan el centroide x ¯0 de cada conjunto de puntos correspondiente, seg´ un: n

¯= x

1X xi n i=1

¯0 = x

1X 0 x n i=1 i

n

2. El centroide ser´ a el nuevo origen de coordenadas en cadacaso. Es decir, se genera un nuevo conjunto de puntos de correspondencia xei → xei 0 donde ei = s (xi − x ¯) y x e0i = s0 (x0i − x ¯0) x con s y s0 escalares que se obtienen como se describe a continuaci´ on. ei y de los x e0i . Hallamos un escalar 3. Calculamos la norma media de los x 0 s y s tal que al multiplicar √ cada uno por la norma media de los puntos trasladados, el resultado sea 2, es decir: Si

n

1X ¯ )k d¯ = k(xi − x n i=1 2

queremos que sd¯ =



2

entonces √

2 s= ¯ d En forma an´ aloga se define: √ 2 s0 = ¯0 d 4. Finalmente, los dos conjuntos de puntos hom´ ologos son: √



2 ¯) , ei = ¯ (xi − x x d

e0i x

2 ¯ 0 ) con i = 1, ..., n = ¯0 (x0i − x d

e yH e 0 de simiPara aplicar dichas transformaciones se pueden plantear las H laridad correspondientes. De esta forma, los nuevos puntos quedar´ıan definidos seg´ un

e i x ei = Hx e 0 x0i x e0i = H

(1) (2)

Luego de aplicar estas transformaciones, se utiliza el algoritmo DLT sin e0i }. alteraciones para los nuevos conjuntos de n puntos hom´ ologos: {e xi → x Sin embaro, el resultado del algoritmo DLT ser´ a en realidad una transformacion H˙ tal que: x e0i = H˙ x ei

(3)

mientras que lo que se buscaba en realidad es una transformaci´ on H tal que x0i = Hxi

(4)

Asi que, para obtener H aplicaremos las definiciones (1) y (2) de x ei y x e0i en la ecuaci´ on (3) obtieniendo: e 0 x0i = H˙ Hx e i H e 0−1 obtenemos que y multiplicando a ambos lados por H e 0−1 e 0 0 e 0−1 ˙ e |H {z H} xi = H H Hxi I n×n

3

por lo que, utilizando (4), queda que: e 0−1 H˙ H e H=H que era lo que buscabamos.

4.

RANSAC

Si nos restringimos a P1 , el problema de correspondencia ser´ıa el siguiente. Supongamos que queremos hallar una transformaci´on af´ın unidimensional, Ha , entre un conjunto de puntos correspondientes {xi → x0i } que est´an sobre dos l´ıneas.      a b xi axi + b 0 xi = Ha xi = = , 0 1 1 1 entonces xi = axi + b con xi ∈ R.

(5)

El objetivo entonces es hallar una recta que minimice la suma de las distancias ortogonales al cuadrado, d2⊥i , sujeto a la condici´on de que no haya ning´ un punto que se desv´ıe de la recta buscada m´as all´a de una cierta distancia umbral t, que depender´ a del ruido de medici´on. Entonces, dado un conjunto de puntos hom´ ologos debemos 1. estimar una recta de ajuste, y 2. clasificar los puntos como inliers y outliers (seg´ un t). Se propone un estimador robusto para elegir los puntos hom´ologos, denominado RANSAC (por RANdom SAmple Consensus), que puede usarse cuando la proporci´ on de outliers es muy grande.

4.1.

Idea general del algoritmo (en P1 )

1. Se seleccionan aleatoriamente 2 puntos, con los que se calcula una recta r que pasa por ellos. Esta recta es el modelo de ajuste de los puntos (ecuaci´on (5)). 2. Se calcula el soporte de r, definido este como el conjunto de puntos que se encuentran a una cierta distancia del modelo. En esta caso, esa distancia ser´ a la distancia ortogonal de los puntos a la recta. 3. Se repite esta selecci´ on aleatoria (pasos 1 y 2) un n´ umero N de veces. 4. La recta de ajuste con mayor soporte es la recta (o modelo) de ajuste elegida. Los puntos que caen dentro del soporte ser´an los inliers del modelo y definen el conjunto de consenso S (fig. 1). 4

c

b

a d

Figura 1: Dos conjuntos de consenso (demarcadas mediante l´ıneas punteadas) con diferentes soportes. El conjunto de consenso asociado a la recta que pasa por los puntos a,b tiene soporte igual a 10.

4.2.

Algoritmo general (en P2 )

Retornando ahora a P2 , volvemos ahora a la formulaci´on original del problema de correspondencia, planteado al principio de este apunte. En este caso, el modelo ya no ser´ a una recta sino una homograf´ıa planar. Como se mencion´ o previamente, el algoritmo tiene una forma iterativa, con un umbral N en la cantidad de iteraciones. Sin embargo, como se ver´a a continuaci´ on, N ser´ a estimado en forma adaptativa, en base a la proporci´on de outliers obtenidos hasta el momento (inicialmente, en base a un  dado). Algoritmo 3 RANSAC 1. Definir un  ∈ [0, 1] que representa la proporci´ on estimada de outliers asociados al modelo 2. Elegir s pares de correspondencias de puntos no-colineales y estimar la homograf´ıa entre dichos pares (por ejemplo, utilizando DLT). En P 2 , alcanza con s = 4 para fijar los grados de libertad necesarios de H. 3. Para cada par de puntos, calcular la distancia entre estos y los puntos transformados con H. Si bien en P1 esto se hac´ıa directamente con la distancia ortogonal, en P2 la medida de distancia debe ser redefinida. Por ello, se define d2i de la siguiente forma: d2i = d(xi , H −1 xi 0 )2 + d(xi 0 , Hxi )2 donde d(·, ·) corresponde a la distancia eucl´ıdea.

5

4. Clasificar todos los pares de puntos xi → x0i como outliers o inliers en base a un umbral t, definiendo as´ı el conjunto de consenso S para la iteraci´ on actual, que contendr´ a a los inliers. Es decir:  S = xi → x0i / d2i < t2 El umbral t est´ a definido de antemano y se encuentra tabulado. Para el caso de P2 , t2 = 5,99σ 2 (donde se puede tomar σ = 1). 5. Repetir el proceso N veces, qued´ andonos siempre con la H que maximiza la cantidad de inliers (es decir, que maximiza el cardinal del conjunto de consenso S asociado a la H actual). Cada vez que se obtenga un H mejor a la anterior, se debe reestimar  y N , seg´ un: #S n log(1 − p) N← log(1 − (1 − )s ) ←1−

donde p se define de antemano y corresponde a la probabilidad de que al menos una selecci´ on de puntos est´e libre de outliers. En general se toma p = 0,99. 6. Una vez terminado el ciclo, solo se debe re-estimar la H encontrada (nuevamente, puede utilizarse DLT), esta vez usando los puntos pertenecientes al mejor conjunto de consenso S encontrado.

6

A.

Descomposici´ on en valores singulares (SVD)

Sean A una matriz de dimensi´on m × n, con m ≥ n. Entonces se puede descomponer de la forma: A = U DV t donde U es matriz ortogonal de dimensi´on m × n, D es una matriz diagonal de n×n y V es una matriz ortogonal de n×n. Como U tiene columnas ortogonales, entonces U t U = In×n . Adem´as U preserva la norma, es decir, se cumple que kU xk = kxk ∀x pues, kU xk =

q

t



(U x) (U x) =

xt U t U x =



xt Ix = kxk

Los valores singulares de la matriz A son los valores de la diagonal D (son no negativos), que son las ra´ıces cuadradas de los valores propios (tambi´en llamados autovalores) de la matriz At A. Para ver esto observemos que si: A = U DV t entonces: At A = U DV t

t

 t U DV t = V DU U DV t = V D2 V t = V D2 V −1 |{z} In×n

pues, como V t V = In×n entonces V −1 = V t . Luego se tiene que: At A = V D2 V −1 Ahora, si llamamos H = At A, y multiplicamos a izquierda de ambos miembros por V , tenemos que: HV = V D2 . Llamando

   vi =   

v1i v2i . . vni

     

a cada columna de la matriz V , podemos escribir: Hvi = d2i vi ,

7

es decir,  (Hv1

  Hv2 ...Hvn ) =   

v11 . . . vn1

v12 v22 . . vn2

.

.

v1n . . . . vnn

.

= d21 v1 , ..., d2n vn

     

d21 0 . . 0

0 d22

. 0 .

.

.

. . . 0

0 0 . . d2n

   =  



con d21 ≥ d22 ≥ ... ≥ d2n . Estas ecuaciones definen los valores propios de At A, que son los elementos de la diagonal D2 , y vienen dados por d2i con i = 1, .., n. Las columnas de V son los vectores propios (o autovectores) de At A, luego los valores singulares de A son las ra´ıces cuadradas de los valores propios de At A. Como At A es una matriz sim´etrica y definida positiva entonces los valores propios son reales y positivos, y entonces los valores singulares tambi´en son reales y positivos. As´ı escrito tenemos que la u ´ltima columna de la matriz V corresponde al valor singular menor de la matriz A. Proposici´ on 1 Dada la matriz A de m × n, tal que m ≥ n, hallar x, de dimensi´ on n, tal que minimice kAxk sujeto a la condici´ on kxk = 1. La soluci´ on es la u ´ltima columna de la matriz V , donde A = U DV t es la descomposici´ on SVD de la matriz A. Desmostraci´ on: Sea A de m × n, podemos realizamos la descomposici´on SVD, entonces A = U DV t . Luego queremos minimizar: kAxk = kU DV t xk Se tiene que:



U DV t x = DV t x pues U es ortogonal y preserva la norma, luego queremos minimizar kDV t xk bajo la condici´ on kV t xk = 1, esto es cierto pues se cumple que: kV t xk = t (V t x) (V t x) = kxk = 1. Sea y = V t x, hay que minimizarkDyk bajo la condici´on kyk = 1, donde la matriz diagonal   d1 0 . . 0  0 d2 0 . 0    . .  D=  .   . . .  0 . . 0 dn es tal que d1 ≥ d2 ≥ ... ≥ dn , o sea,  d1 0 . . 0  0 d2 0 . 0   . . .   . . . 0 . . 0 dn

     

8

y1 y2 . . yn





    =    

d1 y1 d2 y2 . . dn yn

     

tal que q

y12 + ... + yn2 = 1.   0  0  n X   2  Como kDyk = d2i yi2 ⇒ y =   .  es el vector que minimiza la norma  .  i=1 1 kDyk, entonces      v1n 0 v11 v12 . . v1n      . v22 .   0   .        . . .  .  =  .  x = V y = .   . . . .  .   .  vnn 1 vn1 vn2 vnn que es la u ´ltima columna de la matriz V.

B.

RANSAC

El algoritmo de RANSAC incluye los siguientes t´erminos: : proporci´ on de outliers que se estima existien en el modelo (este par´ametro luego se ir´ a re-estimando en forma adaptativa). t: umbral de clasificaci´on de puntos como inliers o outliers T : tama˜ no del conjunto de consenso, es decir T = #S N : n´ umero de iteraciones o muestras aleatorias para ensayar el modelo.

B.1.

Par´ ametro t

Si definimos α como la probabilidad de que un punto dado sea inlier, es decir: P (x es inlier) = α lo que se busca es encontrar un t tal que satisfaga esta ecuaci´ on. Supongamos que los errores de medici´on, e, siguen una distribuci´on normal  con media 0 y varianza σ 2 , es decir e ∼ N 0, σ 2 , entonces se puede calcular t, a partir de e. Con estas consideracioes, el cuadrado de la distancia ortogonal, d2⊥ , es la suma de variables aleatorias gaussianas, y por lo tanto, d2⊥ ∼ χ2n donde χ2n es la distribuci´ on Chi-cuadrado con n grados de libertad, y n es la codimensi´ on del modelo (en una homograf´ıa planar es n = 2). Para una l´ınea la codimensi´ on es 1 (s´ olo es considerada la distancia ortogonal a la l´ınea).

9

Entonces, como: P χ2n ≤ k

 2

= Fn k

 2

Zk

2

=

χ2n (ζ) dζ = α

0

tomamos t2 = Fn−1 (α) σ 2 En resumen, consideramos que un par de puntos correspondientes se clasifica como:  inlier si d2⊥ < t2 outlier si d2⊥ ≥ t2 En general se pide α = 0,95, o lo que es lo mismo P (x es inlier) = 0,95; es decir que la probabilidad de rechazar un punto que es inlier sea 0,05. En el caso de la estimaci´ on de una recta de ajuste la codimensi´on ser´a n = 1, mientras que en el caso de la homograf´ıa la codimensi´on ser´a n = 2. En el siguiente cuadro se muestran los valores del umbral t2 para α = 0,95, para cada valor de n, dependiendo del error de medici´on σ. n 1 2 3

B.2.

modelo recta, F homograf´ıa, c´amara tensor

umbral t2 3,84σ 2 5,99σ 2 7,81σ 2

Par´ ametro T

Para determinar un tama˜ no v´alido para el conjunto de consenso S, se puede pensar que deber´ıa ser similar al n´ umero de inliers que se cree hay inicialmente en los datos. Entonces, si  es la proporci´on de outliers y n es la cantidad total de datos, definimos T de la siguiente manera: T = (1 − )N

B.3.

Par´ ametro N

Para asegurar, con probabilidad p, que al menos una muestra aleatoria de s puntos est´ a libre de outliers, se debe obtener un N que sea la cantidad de muestras aleatorias a tomar, por lo ranto, la cantidad de iteraciones del algoritmo. Vamos a obtener N de la siguiente forma: Definimos α = P (el punto seleccionado es inlier) , entonces  = 1 − α = P (el punto seleccionado es outlier) αs = P (los s puntos sean inliers) 10

Recordemos que s es 2 en el caso de que el modelo sea una recta y 4 en el caso de una homograf´ıa planar. Luego 1 − αs = P (haya uno o m´as outliers entre los s puntos) . Con en N selecciones se tiene: N

(1 − αs )

= P (en N selecciones de s puntos haya outliers en todas ellas) .

Si p = P (en N selecciones de s puntos, al menos una no tenga outliers) entonces 1 − p = P (en N selecciones de s puntos, todas tengan outliers) entonces se tiene que: N

1 − p = (1 − αs ) . Tomando logaritmos: log (1 − p) = N log (1 − αs ) , luego N=

log (1 − p) log (1 − p) = s s log (1 − α ) log (1 − (1 − ) )

(6)

En resumen, N es el n´ umero de selecciones que se require para asegurar, con probabilidad p, que al menos una muestra no tiene outliers para un dado tama˜ no de muestra s y una dada proporci´on de outliers . B.3.1.

Determinaci´ on adaptativa del par´ ametro N

Si asumimos ahora  desconocido, para determinar N se puede proceder de la siguiente forma. Algoritmo 4 Algoritmo adaptativo para determinar N 1. Iniciar  = 0,5 y N = ∞. 2. Iniciar un contador de iteraciones (o muestras) i = 0. 3. Repetir, mientras i < N : a) Tomar una muestra aleatoria y contar la cantidad outliers k. b) Asignar  =

k N.

c) Calcular N usando p y , en base a la ecuaci´ on (6). d) Incrementar i. 11

B.3.2.

Funci´ on de costo robusta

P En vez de minimizar la funci´on de costo C = i d2⊥i sobre los inliers otra posibilidad ser´ıa minimizar una funci´on de costo robusta que incluya a todos los datos. Esta funci´ on de costo viene dada por: X D= γ (d⊥i ) i

donde

 γ (d) =

d2 t2

12

si si

d2 < t2 d2 ≥ t2

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.