Академический Документы
Профессиональный Документы
Культура Документы
Autmatas de aprendizaje
Erik Cuevas, Fernando Wario, Daniel Zaldivar y Marco Prez-Cisneros
Departamento de Ciencias Computacionales
Universidad de Guadalajara, CUCEI
Av. Revolucin 1500, Guadalajara, Jal, Mxico
{erik.cuevas, fernando.wario, daniel.zaldivar, marco.perez}cucei.udg.mx
Resumen
La deteccin de crculos en imgenes digitales ha recibido una atencin considerable en los
ltimos aos en el rea de visin por computadora. Por otra parte los Autmatas de
Aprendizaje (LA por su nombre en ingls Learning Automata) son un mtodo heurstico que
puede ser utilizado para encontrar la solucin a complejos problemas de optimizacin. LA es
una tcnica para la adaptacin de parmetros en optimizacin, donde la bsqueda se lleva a
cabo en el espacio probabilstico en lugar del espacio de parmetros como sucede en otros
algoritmos de optimizacin tradicionales. En este trabajo, se presenta un detector de crculos
basado en LA en el cual el proceso de deteccin es abordado de manera similar a un proceso
de optimizacin. El algoritmo utiliza la combinacin de tres puntos que forman parte de un
borde como los parmetros de crculos candidatos (x, y, r), mientras que una funcin objetivo
determina si estos crculos candidatos se encuentran en realidad presentes en la imagen. De
esta manera el esquema de parmetros reduce el espacio de bsqueda evitando probar con
crculos que resultan poco probables o imposibles. El algoritmo resultante permite detectar
crculos a alta velocidad con precisin a nivel sub-pixel, incluso en condiciones complicadas.
1. Introduccin.
El problema de deteccin de crculos se presenta en diferentes reas del procesamiento de
imgenes y es de particular importancia en aplicaciones de tipo industrial como la inspeccin
automtica de productos manufacturados, vectorizacin asistida de dibujos, deteccin de
objetivos, etc. Los problemas de deteccin de objetos son resueltos principalmente por dos
tipos de tcnicas: Las primeras son tcnicas determinsticas, incluyendo aquellos mtodos
basados en la transformada de Hough y tcnicas de ajuste de modelos. Por otro lado estn las
tcnicas estocsticas, incluyendo tcnicas de muestreo aleatorio y algoritmos genticos (GA
por su nombre en ingls: Genetic Algorithms).
Tradicionalmente, la deteccin de crculos en imgenes digitales se lleva a cabo con el mtodo
de la transformada circular de Hough [1]. Un mtodo tpico basada en la transformada de
Hough comienza obteniendo el mapa de bordes de la imagen, la informacin obtenida se utiliza
para deducir la ubicacin de los centros (x, y) y los valores de los radios (r), por ltimo se lleva
a cabo la deteccin de mximos. La desventaja de este mtodo es la alta demanda de recursos
computacionales. La exactitud en los parmetros obtenidos por esta clase de sistemas es
pobre, particularmente en presencia de ruido y debido a la alta demanda de recursos
computacionales esta opcin es totalmente inadecuada para procesamientos en tiempo real.
Con la intencin de evitar estos problemas, algunos investigadores han propuesto nuevas
variaciones a la transformada de Hough, entre ellas la probabilistic Hough transform [2].
Como una alternativa a las tcnicas basadas en la transformada de Hough, el problema de
deteccin de formas en el rea visin por computadora ha sido tambin abordado con mtodos
de bsqueda estocsticos. En particular GA, los cuales han sido utilizados recientemente en
importantes tareas de reconocimiento de formas e.g. Roth y Levine propusieron el uso de GA
en la extraccin de primitivas en imgenes [3]. Yao et al propusieron un GA multi-poblacin
para detectar elipses [4]. Ayala-Ramirez et al presentaron un detector de crculos basado en
GA [5]. Su propuesta es capaz de detectar mltiples crculos en imgenes reales, pero falla
frecuentemente en la deteccin de crculos imperfectos. El inters de utilizar los algoritmos de
LA surge del hecho de que en ellos la bsqueda del valor ptimo se realiza en un espacio de
probabilidades en lugar de un espacio de parmetros como sucede en otros algoritmos de
optimizacin. Cabe destacar que los algoritmos de LA han sido utilizados para resolver
diferentes problemas de ingeniera [6]. Recientemente, se han propuesto algunos algoritmos
basados en LA que resultan efectivos para la optimizacin de complejas funciones con
mltiples mnimos (vea [7]). Adems, se ha demostrado experimentalmente que el desempeo
de estos algoritmos de optimizacin es comparable o mejor que el de los algoritmos genticos
en [7].
2. Autmatas de Aprendizaje
En la figura 1 se muestra la arquitectura tpica de un sistema LA. El autmata selecciona de
manera probabilstica una accin (X). Dicha accin es aplicada al ambiente, y la funcin de
evaluacin del desempeo provee una seal de refuerzo . Esta seal es utilizada para
actualizar la distribucin de probabilidades interna del autmata, de forma tal que aquellas
acciones que obtienen un desempeo favorable son recompensadas incrementando su
probabilidad, mientras que aquellas con un desempeo no favorable son penalizadas o su
probabilidad permanece sin cambios, dependiendo del mtodo de aprendizaje empleado. Con
el tiempo, el desempeo promedio del sistema se ver mejorado hasta llegar a un lmite. En
trminos de optimizacin, la accin que resulte con la mayor probabilidad representara el
mnimo global.
Ambiente
aleatorio
Conjunto de
acciones
X
Costo
J
Evaluacin
desempeo
Automata
De
aprendizaje
Existen una gran cantidad de algoritmos para el aprendizaje en los LA, uno de los ms
utilizados es el de linear reward/inaction ( LRI ) scheme, del cual ha sido demostrada su
convergencia [7]. En respuesta a la accin xi seleccionada en el instante n, las probabilidades
son actualizadas de la siguiente manera:
pi (n + 1) = pi (n ) + (n ) (1 pi ( n ))
(1)
p j (n + 1) = p j (n ) (n ) p j (n ) , si i j
Donde es un parmetro de aprendizaje y 0 < < 1 y [0,1] es la seal de refuerzo; si
= 1 significa que se obtuvo la mejor respuesta del ambiente, de manera contraria = 0 es
una respuesta nula. Eventualmente la probabilidad de acciones exitosas se incrementar hasta
aproximarse a la unidad. En caso de que una sola accin resulte exitosa durante mucho
tiempo, se considera que el autmata ha convergido.
3. Deteccin de crculos con LA
La primera tarea del algoritmo consiste en obtener el mapa de bordes por medio del algoritmo
de Canny, los puntos obtenidos son los nicos candidatos potenciales para la definicin de
crculos. Con el objetivo de mejorar la velocidad del algoritmo se eligen de manera aleatoria un
porcentaje representativo de los puntos-borde (alrededor del 5%) de la imagen, las
} con
N p como el
nmero de puntos-borde tomados. Con el fin de construir cada crculo candidato (accin en el
caso del enfoque para LA), se generan todas las combinatorias posibles de 3 elementos de los
puntos-borde, as se asume que el contorno del crculo (accin) pasa por los puntos elegidos
pi , p j y pk , las acciones generadas hasta el momento son codificadas en las coordenadas del
centro x0 , y0 y radio r del crculo que pasa por los tres puntos, estos parmetros pueden ser
calculados con las siguientes ecuaciones:
x0 =
det( A )
det(B)
, y0 =
,
4(( x j xi )( y k y i ) ( xk xi )( y j y i ))
4(( x j xi )( y k y i ) ( xk xi )( y j y i ))
(2)
r = ( x0 xd )2 + ( y 0 y d )2 ,
(3)
donde
x 2 + y 2j ( x 2j + y i2 ) 2 ( y j y i )
2 ( x j xi ) x 2j + y 2j ( xi2 + y i2 )
(4)
,
A = 2j
B
=
2
2
2
2
2
2
2
xk + y k ( xi + y i ) 2 ( y k y i )
2 ( xk xi ) xk + y k ( xi + y i )
det() es la operacin determinante y d {i, j , k} . La figura 2 muestra los parmetros definidos
por las ecuaciones (2) y (3).
pi
pj
( x0 , y0 )
pk
El conjunto de acciones resultante se filtra para eliminar aquellos crculos con un radio fuera de
los limites de inters (eliminando crculos pequeos que generalmente son ruido), adems, el
algoritmo comprueba que todos los crculos considerados como acciones sean distintos, de
esta manera se reduce la cantidad de acciones y por consiguiente el tiempo de ejecucin del
algoritmo, pues se evita que dos acciones con los mismos parmetros compitan entre ellas. La
solucin del LA al problema de deteccin es encontrada mediante la evolucin de las
probabilidades asociadas a cada circulo (accin), las cuales son modificadas de acuerdo a la
seal de refuerzo (C ) obtenida. Para calcular (C ) se generan las coordenadas de los
puntos de la circunferencia correspondiente a la accin elegida. Las coordenadas son
generadas por el midpoint circle algorithm (MCA) [8] y se colocan en el vector
S = {s1 , s2 , , s Ns } , con N s como el nmero de puntos que forman la circunferencia. Despus se
revisa si los puntos del vector S coinciden con puntos en el mapa de bordes y se evala la
siguiente formula:
Ns
E(x , y )
i
(C ) =
i =1
Ns
(5)
(a)
(b)
(c)
Fig. 3. Deteccin de un crculo y la evolucin de los parmetros de densidad de probabilidad. (a) Imagen original, (b) el
crculo detectado se muestra en rojo, (c) Evolucin de las densidades de probabilidad.
(a)
(b)
Fig. 4. Deteccin de crculos en condiciones complejas. (a) Deteccin de crculos ocluidos y (b) crculos dibujados a
mano.
5. Conclusiones
En este artculo hemos presentado un nuevo mtodo para deteccin de crculos basado en LA.
El mtodo es capaz de detectar crculos con precisin a nivel sub-pixel tanto en imgenes
reales como artificiales. El detector de crculos es capaz de detectar de manera confiable
figuras circulares inclusive si estas se encuentran significativamente ocluidas, tambin figuras
circulares dibujadas a mano y arcos. La principal debilidad de nuestro sistema surge con la
bsqueda de crculos pequeos. Este problema se debe a la capacidad de nuestro sistema de
trabajar con crculos imperfectos, es decir, cuando un pequeo sector circular pueda ser
inscrito, ser detectado como un imperfecto pero probable crculo. El comportamiento de
nuestro sistema con respecto a pequeos crculos puede ser ajustado al contexto de trabajo.
Referencias
[1] Muammar, H., Nixon, M., 1989. Approaches to extending the Hough transform. In: Proc. Int.
Conf. on Acoustics, Speech and Signal Processing ICASSP_89, vol. 3, pp. 15561559.
[2] Shaked, D., Yaron, O., Kiryati, N., 1996. Deriving stopping rules for the probabilistic Hough
transform by sequential analysis. Comput. Vision Image Understanding 63, 512526.
[3] Roth, G. and Levine, M. D.: Geometric primitive extraction using a genetic algorithm. IEEE
Trans.Pattern Anal. Machine Intell. 16 (9), 901905, 1994.
[4] Yao, J., Kharma, N., and Grogono, P.: Fast robust GA-based ellipse detection. In: Proc. 17
Int. Conf. on Pattern Recognition ICPR-04, vol. 2, Cambridge, UK, pp. 859862, 2004.
th
[5] Ayala-Ramirez, V., Garcia-Capulin, C. H., Perez-Garcia, A., and Sanchez-Yanez, R. E.:
Circle detection on images using genetic algorithms, Pattern Recognition Letters, 27, 652657,
2006.
[6] Seyed-Hamid Z., 2008. Learning automata based classifier, Pattern Recognition Letters.
[7] Najim, K., Poznyak, A.S., 1994. Learning Automata - Theory and Applications. Pergamon
Press, Oxford.
[8] J.E. Bresenham: A Linear Algorithm for Incremental Digital Display of Circular Arcs.
Communications of the ACM 20, 100-106. (1987).