Вы находитесь на странице: 1из 9

Escuela Polit

ecnica Nacional
Facultad de Ciencias
Ingeniera Matem
atica

Optimizacion
Emparejamiento de Patrones de Puntos (Point-Pattern Matching)

Mateo Larco Alvarez

Quito - Febrero del 2016

1.

Introducci
on

Un problema que surge en el reconocimiento de patrones es el llamado emparejamiento de patrones de puntos. En este problema, un patron tal como un caracter, n
umero, smbolo impreso o
escrito a mano, o incluso el esquema de una pieza fabricada puede ser descrita por un conjunto
de puntos tal como,
P = {p1 , p2 , ..., pn }
(1)
donde

 
p
pi = i1
pi2

es un vector en terminos de las coordenadas del i-esimo punto muestra. Si el n


umero de puntos
en P,n, es suficientemente grande, entonces P en (1) describe el objeto exactamente y se conoce
a P como el patr
on de puntos del objeto. El mismo objeto visto desde una ditancia o angulo
y es interesante examinar
distinto correspondera obviamente a un patron de puntos distinto, P,
si dos patrones dados est
an emparejados dentro de una rotacion escalada o translacion.
En un entorno m
as general, consideremos el siguiente problema de emparejamiento de patrones:
Tenemos una base de datos que contiene N patrones de puntos estandar {P1 , P2 , ..., PN } donde
cada Pi tiene la forma de (1) y necesitamos encontrar un patron de la base de datos que mejor
empareja un patr
on de puntos dado Q = {q1 , q2 , ..., qn }. Para resolver este problema, se deben
solucionar dos problemas. Primero tenemos que establecer una medida para cuantificar el significado de mejor emparejamiento. Segundo, debemos desarrollar un metodo de solucion para
encontrar el patr
on
optimo P dentro de la base de datos que mejor se empareje al patron Q
basado en la medida escojida.

2.

Objetivos
Demostrar el uso de la optimizacion sin restricciones para resolver problemas de la vida
real.
Usar el concepto de similitud para cuantificar el concepto de mejor emparejamiento de
puntos.
Mostrar que el patr
on
optimo de una base de datos que mejor se ajusta a un patron de
puntos dado puede ser obtenido minimizando una funcion cuadratica convexa.
Usar un algoritmo de Newton modificado que se ajuste a la forma de la matriz Hessiana
del problema para resolver el mismo.

3.

Transformaci
on Semejante

Dos patrones de puntos P y P se dicen que son similares si un patron puede obtenerse al
aplicarse una rotaci
on escalada m
as una translacion a la otra. Si el patron P esta dado por (1)
y P = {p1 , p2 , ..., pn } con pi = [
pi1 pi2 ]T .
entonces P y P son similares s y solo s existe un angulo de rotacion , un factor de escala , y
un vector de translaci
on r = [r1 r2 ]T tal que la relacion


 
cos sin
r
pi =
pi + 1
(2)
sin cos
r2
se sigue para i = 1, 2, ...n. Una transformacion que mapea un patron P a un patron Q se
denomina transformaci
on semejante. De (2), podemos ver que una transformacion semejante
esta caracterizada por el vector columna de parametro [ r1 r2 ]T .
2

Notemos que la transformaci


on semejante es una funcion no lineal de parametros y . Esta no
linealidad puede llevar a un incremento considerable de costo computacional para el proceso de
optimizacion. Este problema se puede solucionar aplicando el cambio de variable
a = cos ,

b = sin

aplicando en (2) se obtiene




 
a b
r
pi =
pi + 1
b a
r2

(3)

As, el vector se transforma en x = [a b r1 r2 ]T . Evidentemente, la transformacion semejante


ahora depende linealmente en los par
ametros.

4.

Formulaci
on del Problema

En un problema de la vida real, un perfecto emparejamiento entre un patron de punto dado Q


y un patron de punto en la base de datos es poco probable, y lo mejor que podemos hacer es
identificar el patr
on m
as cercano a Q dentro de una transformacion semejante.
Sea
Q = {q1 , q2 , ..., qn }
un patron dado y asumamos que
P = {p1 , p2 , ..., pn }
es una version transformada del patr
on
P = {p1 , p2 , ..., pn }
Sean estos patrones represantados por las matrices
Q = [q1 q2 ...qn ], P (x) = [p1 p2 ... pn ], y P = [p1 p2 ...pn ]
respectivamente. Un patr
on transformado P que se combina con Q puede ser obtenido mediante
la resolucion del problema de optimizacion sin restricciones.

2


minimizar P Q
(4)
x

donde k.kF denota la norma de Frobenius. La solucion para la minimizacion del problema corresponde a encontrar la mejor transformacion que minimizara las diferencias entre los patrones
P y Q en el sentido de Frobenius. Puesto que
n

2
X


kpi (x) qi k2
P (x) Q =
F

i=1

la mejor transformaci
on obtenida es en el sentido de los mnimos cuadrados.
Ahora, si x es el minimazador del problema en (4), entonces el error



Q) =
e(P,
P (x ) Q
F

(5)

Q) debera ser lo m
Es una medida de disimilitud entre los patrones P y Q. Obviamente e(P,
as
peque
no posible y un valor de cero correspondera a un perfecto emparejamiento.

5.

Soluci
on del problema en la ecuaci
on (4)
n

2
X


kpi (x) qi k2
P (x) Q =
F

i=1
n 
X

2


api1 bpi2 + r1


=
bpi1 + api2 + r2 qi
i=1
2

n 
X

pi1 pi2 1 0


=
pi2 pi1 0 1 x qi
i=1

= xT Hx 2xT b +

(6)

con
n

n
X
X
T
T
Ri Ri
Ri




p
p
i1
i2
i=1
i=1
, Ri =
H=
n
X

pi2 pi1

Ri
nI2

(7a)

i=1

b=

n
X

[Ri I2 ]T qi

(7b)

i=1

n
X

kqi k2

(7c)

i=1

La matriz H es definida positiva y entonces la funcion objetivo en (4) es estrictamente convexa


globalmente, y por tanto, tiene un u
nico minimizador global. Usando (6), el gradiente de la
funcion objetivo puede ser obtenido como
g(x) = 2Hx 2b
El u
nico minimizador global puede conseguirse por
g(x) = 2Hx 2b = 0
y as
x = H1 b

(8)

Puesto que H es una matriz definida positiva de tama


no 4 4, su inversa existe y es facil de
evaluar.

6.

Medida Alternativa de Disimilitud

Comp puede verse en (6), la norma de Frobenius de una matriz se puede relacionar con la norma
L2 de sus vectores columna. Si definimos dos nuevos vectores

q1 (x)
p1 (x)
p2 (x)
q2 (x)

p(x) = . y q = .
.
.
.
.
qn (x)
pn (x)
entonces (6) implica que

2


p(x) qk2
P (x) Q = k
F

Por lo tanto la medidad de disimilitud en (5) puede expresarse como


Q) = k
e(P,
p(x) qk
Una alternativa a la medidad de disimilitud anterior puede definirse en terminos de la norma
L2p
Q) = k
e2p (P,
p(x) qk2p
Q) se acerca a la norma L de p(x) q que es numericamente igual al
Mientras p crece, e2p (P,
maximo de la funci
on. Por consiguiente, resolviendo el problema
Q) = k
minimizar e2p (P,
p(x) qk2p

(9)

Con cantidad suficientemente grandes de p para minimizar el maximo error entre los smbolos
P y Q.Si Tomamos
ri1 = [pi1 pi2 1 0]T
ri2 = [pi2 pi1 0 1]T
 
q
qi = i1
qi2
entonces la funci
on objetivo en (8) se puede expresar como
n
X

e2p (x) =

!1/2
T
T
[(ri1
(x) qi1 )2p + (ri2
(x) qi2 )2p ]

(10)

i=1

El gradiente y Hessiana de e2p (x) pueden evaluarse como


e2p (x) =
2 e2p (x) =

1
e2p1
2p (x)

n
(2p 1 X

e2p1
2p (x)

n
X
T
T
[(ri1
(x) qi1 )2p1 + (ri2
(x) qi2 )2p1 ]

(11a)

i=1

T
T
T
T
[(ri1
(x) qi1 )2p2 ri1 ri1
+ (ri2
(x) qi2 )2p2 ri2 ri2
]

(11b)

i=1

(2p 1
e2p T e2p
e2p (x)

respectivamente. La matriz Hessiana 2 e2p (x) es semidefinida positiva para cualquier x R4 y,


por consiguiente, la funci
on objetivo e2p (x) es globalmente convexa.
Puesto que la Hessiana de e2p (x) es una matriz semidefinida positiva de 4 4, el algoritmo de
Newton con la matriz Hessiana modifica Hk es un algoritmo apropiado para la resolucion del
problema en (9).
Algoritmo de Newton
1. Especificar una suposici
on inicial de la solucion x0 , y especificar una tolerancia de convergencia
2. Para k = 0, 1, ...
Si kf (xk )k < , parar
Calcular una factorizaci
on modificada de la Hessiana Hk y resolver el sistema
Hk pk = f (xk )
para pk .
Utilize b
usqueda de lnea para determinar k y determine
xk+1 = xk + k pk
5

Figura 1: Diez caracteres estandar en la base de datos

La matriz Hk se la puede calcular reemplazandola por la matriz n n identidad In donde quiera


la matriz se convierta en no definida positiva.
Puesto que In es definida positiva, el problema de la no singularidad de Hk es eliminado.
Esto se puede implementar de la siguiente forma:
Hk + In
Hk =
1+
donde se toma grande si Hk no es definida positiva, o un valor peque
no si Hk es definida
positiva.
Si la potencia 2p involucrada en el proceso de optimizacion es una potencia de 2, ed. 2p = 2K .
Entonces el problema primero se puede resolver para el caso p = 1 usando (8). El minimizador
obtenido puede usarse como punto inicial para minimizar la funcion objetivo para p = 2. Este
procedimiento se repite para p = 4, 8, 16, ... hasta que dos iteraciones sucesivas entreguen el
mismo error m
aximo dentro de una tolerancia preescrita.

7.

Reconocimiento de caract
eres escritos a mano

Para propositos ilustrativos hemos considerado el problema de reconocimiento de caracteres escritos a mano usando una base de datos que comprende diez caracteres estandar mostrado en la
Fig. 1 con n = 196, y los patrones para a, c, e, ... puede ser denotada como Pa , Pc , Pe , ... donde el
subndice representa el caracter asociado. La Fig. 2 nos indica un conjunto de puntos de muestra
del patron Pa en la base de datos. El caracter a ser reconocido es trazado en la Figura 3 parece
una e rotada. Es de mayor tama
no en relacion con el caracter correspondiente en la base de
datos, y en gran parte est
a localizada en el tercer cuadrante. Aplicando el metodo discutido, el
caracter en la Fig. 3 est
a representado por un patron de punto Q con n = 196.
Para la construcci
on de la matriz Hessiana se usan las coordenadas de los puntos Pi con
i = 1, ..,10 usando la forma de la matriz en (7a).
La disimilitud entre cada patr
on Pcaracter en la base de datos y el patron Q es medido en terminos de e(Pcaracter , Q) en (5) y e2p (Pcaracter , Q) en (9) con 2p = 128. Notar que la minimizaci
on
de e(Pcaracter , Q) puede ser visto como un caso especial del problema en (9) con p = 1 y su
solucion puede ser obtenida usando (8). Para la minimizacion de e128 (Pcaracter , Q) se usa una
6

Figura 2: Puntos de muestra en el patron Pa

Figura 3: Un caracter a ser reconocido

implementaci
on secuencial para el metodo de Newton para obtener la solucion.
Los resultados se resumen en la Fig. 4 donde x2 y x128 denotan los minimizadores de e2 (Pcaracter , Q)
y e128 (Pcaracter , Q) respectivamente.

Figura 4: Comparacion de medidas de disimilitud

8.

Conclusiones
Por los resultados, es evidente que el caracter en la Fig. 3 es mas similar al caracter e.
Los metodos de descenso nos permiten obtener buenas aproximaciones de los caracteres
de una base de datos para as determinar patrones de puntos.
Usando algoritmos del tipo Branch and Bound se puede obtener una convergencia m
as
rapida.
Los problemas de emparejamiento de patrones de puntos se pueden aplicar a diversos campos como procesamiento de documentos, austronastica, biologa y qumica computacional,
entre otros.
Ademas uno de sus principales usos se da en el registro de imagenes y el reconocimiento
de objetos basado en objetos.

Вам также может понравиться