Vous êtes sur la page 1sur 20

UNIVERSIDAD POLITCNICA SALESIANA

SEDE QUITO

CARRERA:
INGENIERA DE SISTEMAS

Trabajo de titulacin previo a la obtencin del ttulo de:


Ingeniera e Ingeniero de Sistemas

TEMA:
RECONOCIMIENTO AUTOMTICO DE CARTAS DE BARAJA UBICADAS
SOBRE UNA MESA

AUTORES:
SORAYA KARINA CISNEROS NAVARRETE.
LEONARDO PATRICIO MEDINA ENCALADA.

TUTOR:
HOLGER RAUL ORTEGA MARTINEZ

Quito, agosto de 2017

DECLARATORIA DE COAUTORA DEL DOCENTE TUTOR


Yo, declaro que bajo mi direccin y asesora fue desarrollado el Articulo Acadmico, con
el tema: RECONOCIMIENTO AUTOMTICO DE CARTAS DE BARAJA
UBICADAS SOBRE UNA MESA realizado por Soraya Karina Cisneros Navarrete y
Leonardo Patricio Medina Encalada, obteniendo un producto que cumple con todos los
requisitos estipulados por la Universidad Politcnica Salesiana para ser considerados
como trabajo final de titulacin.

Quito, agosto de 2017.

..
HOLGER RAUL ORTEGA MARTINEZ
C.I: 1708182728
CESIN DE DERECHOS DE AUTOR

Nosotros, Soraya Karina Cisneros Navarrete con documento de identificacin N


1721864161 y Leonardo Patricio Medina Encalada con documento de identificacin N
1724084247, manifestamos nuestra voluntad y cedemos a la Universidad Politcnica
Salesiana la titularidad sobre los derechos patrimoniales en virtud de que somos autores
del trabajo: RECONOCIMIENTO AUTOMTICO DE CARTAS DE BARAJA
UBICADAS SOBRE UNA MESA, mismo que ha sido desarrollado para optar por
el ttulo de: INGENIERA E INGENIERO DE SISTEMAS en la Universidad
Politcnica Salesiana, quedando la Universidad facultada para ejercer plenamente los
derechos cedidos anteriormente.
En aplicacin a lo determinado en la Ley de Propiedad Intelectual, en nuestra condicin
de autores nos reservamos los derechos morales de la obra antes citada. En
concordancia, suscribimos este documento en el momento que hacemos entrega del
trabajo final en formato impreso y digital a la Biblioteca de la Universidad Politcnica
Salesiana.

............................................. .............................................
SORAYA KARINA LEONARDO PATRICIO
CISNEROS NAVARRETE MEDINA ENCALADA

CI: 1721864161 CI: 1724084247

Fecha: agosto de 2017.


AGRADECIMIENTO

Agradecemos a la Universidad Politcnica Salesiana que ha contribuido en nuestra


formacin acadmica, profesional y personal, a nuestros tutores Fsico Holger Ortega, e
Ingeniera Paulina Morrillo, por la motivacin y apoyo que nos brindaron en el desarrollo
de nuestro trabajo.

Soraya Karina Cisneros Navarrete


Leonardo Patricio Medina Encalada
NDICE
1. INTRODUCCIN .................................................................................................... 2
2. FUNDAMENTACIN TERICA ......................................................................... 3
2.1. Procesamiento digital de una Imagen ................................................................. 3
Captura ............................................................................................................. 3
Pre-procesamiento ........................................................................................... 3
Segmentacin ................................................................................................... 4
2.2. Deteccin y Reconocimiento ................................................................................. 5
3. DESARROLLO ........................................................................................................ 7
3.1. Captura .................................................................................................................. 7
3.2. Pre-procesamiento................................................................................................. 7
3.3. Segmentacin ......................................................................................................... 8
3.4. Deteccin ................................................................................................................ 8
3.5. Reconocimiento ................................................................................................... 10
4. RESULTADOS ....................................................................................................... 10
5. CONCLUSIONES .................................................................................................. 12
6. REFERENCIAS ...................................................................................................... 12
NDICE DE FIGURAS
Figura 1. Etapas del Procesamiento Digital ....................................................................... 3
Figura 2 a) Imagen en escala de Gris. b) Imagen binarizada ............................................. 3
Figura 3: a) Vecindad N4. b) Vecindad N8 [13] ................................................................ 4
Figura 4: Imagen Binarizada .............................................................................................. 5
Figura 5 Etiquetado de imagen en el primer barrido ......................................................... 5
Figura 6 Etiquetado de imagen en el segundo barrido ....................................................... 5
Figura 7: Imagen con Etiquetado de Imagen ..................................................................... 5
Figura 8. Neurona Humana [14] ....................................................................................... 6
Figura 9. Neurona Biolgica vs Neurona Artificial ........................................................... 6
Figura 10 : Imagen real capturada por la cmara web ....................................................... 7
Figura 11: Imagen en escala de grises................................................................................ 8
Figura 12 Imagen Binarizada, aplicando umbralizacin adaptativa, erosin, dilatacin y
morfologas opening y closing ........................................................................................... 8
Figura 13 Representacin de Componentes Conectados por color .................................... 8
Figura 14: Resultado de la extraccin de componentes conectados, se extrajo 24
ejemplos al azar .................................................................................................................. 8
Figura 15 : Curva de Aprendizaje Red Neuronal de deteccin de caracteres .................. 10
Figura 16: Error vs Weight Decay ................................................................................... 11
Figura 17: Matriz de confusin red de deteccin caracter - no caracter .......................... 11
Figura 18: Error vs Nmero de neuronas en la capa oculta de la red de reconocimiento 11
Figura 19: Curva de aprendizaje de la Red de reconocimiento para la variacin del peso
.......................................................................................................................................... 11
Figura 20: Matriz de Confusin de la red neuronal para el reconocimiento de cartas..... 12
Resumen
En este trabajo se presenta el reconocimiento de cartas de baraja sobre una mesa, como
parte de un proyecto de mayor dimensin cuyo objetivo es asistir a personas no videntes
en juegos con cartas de baraja, especficamente el juego ecuatoriano llamado Cuarenta.
En la investigacin se hizo uso de MATLAB para establecer los algoritmos a usarse en el
reconocimiento de las imgenes, concluyendo que una solucin viable es la aplicacin de
Redes Neuronales Artificiales. Se elabor un prototipo funcional sobre la plataforma
GNU/LINUX bajo el Lenguaje de Programacin Python, haciendo uso de las libreras
Open CV y Pybrain. La solucin planteada en el prototipo toma en cuenta las reglas
especficas del juego del Cuarenta; es decir, reconoce el nmero de las 40 barajas en
juego (se descarta el smbolo, color y las cartas con nmero 8, 9 y 10). Adems, resuelve
dificultades que podran presentar aspectos ambientales como iluminacin, perspectiva,
etc.
El desarrollo del prototipo se bas en el procedimiento estndar para el procesamiento
digital de imagen, de tal forma, para el pre procesamiento se usaron mtodos de
mejoramiento de imgenes como: Binarizacin, Umbralizacin Adaptativa, Dilatacin y
Erosin. Para la Segmentacin de imagen se aplic el mtodo de Etiquetado de
Componentes Conectados y finalmente para la deteccin y reconocimiento de imagen, se
trabaj con el algoritmo de Retropropagacin de Redes neuronales Artificiales.
En la fase de deteccin se obtiene un 98% de precisin, mientras que para la fase de
reconocimiento la precisin es de un 99%.
1

Reconocimiento automtico de cartas de baraja ubicadas sobre una


mesa
Soraya Cisneros Navarrete 1, Leonardo Medina Encalada2, Holger Ortega Martnez3, Paulina Morillo
Alcvar4

Resumen Abstract
En este trabajo se presenta el reconocimiento de This work presents the recognition of playing cards
cartas de baraja sobre una mesa, como parte de un on a table as part of a larger project wich purpose is
proyecto de mayor dimensin cuyo objetivo es asistir to assist blind people in playing card games,
a personas no videntes en juegos con cartas de baraja, specifically the Ecuadorian game called "Cuarenta".
especficamente el juego ecuatoriano llamado The solution proposed in the prototype takes into
Cuarenta. La solucin planteada en el prototipo account the specific rules of the "Cuarenta" game;
toma en cuenta las reglas especficas del juego del that is to say, it recognizes the number of the 40
Cuarenta; es decir, reconoce el nmero de las 40 decks in play (the symbol, color and the cards with
barajas en juego (se descarta el smbolo, color y las numbers 8, 9 and 10 are discarded). In addition, it
cartas con nmero 8, 9 y 10). Adems, resuelve solves difficulties that could present environmental
dificultades que podran presentar aspectos aspects like perspective illumination, etc.
ambientales como iluminacin, perspectiva, etc. The development of the prototype was based on the
El desarrollo del prototipo se bas en el standard procedure for the digital image processing,
procedimiento estndar para el procesamiento digital so for the pre-processing, image enhancement
de imagen, de tal forma, para el pre procesamiento methods such as: Binarization, Adaptive
se usaron mtodos de mejoramiento de imgenes Umbralizacin, Dilation and Erosion were used. For
como: Binarizacin, Umbralizacin Adaptativa, Image Segmentation, the Connected Component
Dilatacin y Erosin. Para la Segmentacin de Tagging method was applied and finally for image
imagen se aplic el mtodo de Etiquetado de detection and recognition, we worked with the
Componentes Conectados y finalmente para la algorithm of Backpropagation of Artificial Neural
deteccin y reconocimiento de imagen, se trabaj Networks.
con el algoritmo de Retropropagacin de Redes In the detection phase 98% accuracy is obtained,
neuronales Artificiales. while for the recognition phase the accuracy is 99%
En la fase de deteccin se obtiene un 98% de Keywords: Algorithm, detection, recognition,
precisin, mientras que para la fase de artificial neural network
reconocimiento la precisin es de un 99%.
Palabras Clave: algoritmo, deteccin,
reconocimiento, red neuronal artificial.

1
Ingeniera de Sistemas, Estudiante de Ingeniera de Sistemas Docente para correspondencia: hortega@ups.edu.ec
4
Universidad Politcnica Salesiana sede Quito. Master Universitario en Gestin de la Informacin, Ingeniera
Autor para correspondencia: scisnerosn@est.ups.edu.ec en Electrnica y Telecomunicaciones, Docente Universidad
2
Ingeniero en Sistemas, Estudiante de Ingeniera de Sistemas Politcnica Salesiana - sede Quito
- Universidad Politcnica Salesiana - sede Quito. Docente para correspondencia: pmorillo@ups.edu.ec
Autor para correspondencia: lmedinae@est.ups.edu.ec
3
Master of Science in Machine Learning, Fsico, Docente
Universidad Politcnica Salesiana - sede Quito
2

1. Introduccin en evitar las prdidas de juego para casinos debido a


errores o estrategias irregulares, y para la adquisicin
El ser humano adquiere informacin del medio de datos estadsticos. En dicho trabajo se propone un
ambiente a travs de los sentidos, siendo uno de los mtodo para la deteccin y reconocimiento del grupo
ms importantes el sentido de la vista. El deterioro o de cartas sobre la mesa, teniendo en cuenta la
ausencia de este sentido genera una desventaja del oclusin parcial y la rotacin. El mtodo propuesto
individuo en su desenvolvimiento diario. Segn la utiliza tcnicas de comparacin para el
Direccin de Gestin Tcnica del Consejo Nacional reconocimiento de naipes, tales como: Probabilistic
para la Igualdad de Discapacidades (CONADIS) Rigid Method, que crea mapas de probabilidad para
para febrero del 2017 el Ecuador registra 49.344 cada clase, basado en las caractersticas de borde que
personas con discapacidad visual [1]. se extraen de un conjunto de imgenes de
En Ecuador uno de los juegos ms populares entrenamiento. Deformable Probabilistic Model,
practicados por personas de todas las edades es el parecido al mtodo anterior, con la variante de que,
Cuarenta [2]. Por las caractersticas del juego, este previo a la extraccin de caractersticas se definen
no puede ser practicado por personas no videntes, puntos de referencia en una rejilla regular, y despus
generando un problema de exclusin. Este trabajo es de la extraccin de caractersticas de las imgenes de
la tercera parte de un proyecto de cuatro fases cuyo entrenamiento, se calcula el promedio de las reas de
objetivo es generar un dispositivo que ayude al no mapa de caractersticas correspondientes a cada
vidente a participar del juego del Cuarenta. clase. Template Matching, donde cada rango o
seccin del naipe detectado se compara con una
La primera fase [3], se basa en el plantilla de cada clase, usando un criterio de
entrenamiento de redes neuronales artificiales correlacin cruzada.
multicapa para el reconocimiento automtico de cada
carta. La segunda fase [4], reconoce Otros investigadores [7],usan tres estrategias
automticamente una carta de baraja sobre una mesa para organizar un esquema robusto de
utilizando como clasificador el algoritmo k-vecinos reconocimiento de cartas en el juego de pquer: la
ms cercanos (kNN) para reconocer el nmero de la primera estrategia es usar la transformacin de
baraja. Hotelling [7] para colocar la imagen del objeto en la
posicin correcta en la etapa de pick-up de pquer
La presente tercera fase representa un avance (que consiste en la recoleccin del dinero en efectivo
con respecto a la fase anterior, puesto que ahora se por parte de la casa del dealer despus de que un
trata con varias cartas sobre una mesa. El trabajo jugador compra las fichas). La segunda estrategia
toma en cuenta las reglas especficas del juego de 40, propone, utilizar la energa compacta ponderada
es decir, reconoce el nmero de las 40 barajas en (WCE) de la imagen como la primera caracterstica
juego (se descarta el smbolo y las cartas con nmero en el uso de DWT (Transformada Discreta de
8, 9 y 10), y resolviendo las dificultades que podran Wavelet) y DCT (Transformada Discreta de
presentar aspectos ambientales como iluminacin, Coseno). Finalmente, la tercera estrategia, calcula
perspectiva, etc. cuatro valores de longitud de ejecucin de
Los algoritmos de reconocimiento se han conectividad de orientacin (FOCRLV) para
usado en algunos trabajos sobre reconocimiento de distinguir diferentes imgenes de carta de pquer.
cartas. Por ejemplo, en [5], presenta un acercamiento Los trabajos mencionados no estn relacionados
a la identificacin de los naipes y el conteo de fichas con el problema de las personas no videntes y su
en un entorno de juego de pquer, utilizando inclusin en juegos de mesa con naipes. Este trabajo
metodologas de visin por computadora. Para la busca abordar la problemtica de este grupo y ofrecer
identificacin de los naipes hace uso de Template una solucin para la misma.
Matching, que es un patrn de reconocimiento que
permite detectar la presencia de un objeto especfico
en una imagen. Por otra parte, el trabajo [6] se enfoca
3

2. Fundamentacin Terica Azul, respectivamente. La forma ms general de


representar una imagen a color es usando la
2.1. Procesamiento digital de una Imagen denominacin RGB (Red, Green, Blue), donde cada
El procesamiento digital de imgenes son mtodos pixel puede ser uno de los ms de 16,7 millones de
de manipulacin de imgenes por computadora. El colores disponibles [10].
procesamiento digital de una imagen se basa en la
descomposicin de la imagen en un arreglo (matriz)
de elementos, estos elementos se denominan pixeles,
a cada pixel se le asigna un valor numrico basado
en la luminosidad promedio, siendo este valor
numrico con su respectiva coordenada la definicin
de la imagen [8]. As pues, una imagen digital es una Figura 2. a) Imagen En Escala De Gris. b) Imagen Binarizada
funcin (, ) que representa la intensidad o nivel
de gris en el punto (x, y) [8]. El procesamiento digital Pre-procesamiento
de una imagen consta de 3 etapas que son: En esta etapa, se utilizan mtodos de realce y filtrado,
para mejorar la calidad de la imagen o a su vez
Captura
prepararla para obtener informacin de la misma.
Preprocesamiento Entre los algoritmos de pre-procesamiento ms
comunes tenemos:
Segmentacin
a) Transformacin a escala de intensidades o
Escala de Grises.
Figura 1. Etapas Del Procesamiento Digital

Captura Es la transformacin de una imagen en color a escala


de grises, en donde cada color en la imagen es
Se refiere a los medios para obtener una imagen equivalente a la luminancia de la misma. La
digital. Los ms usados son los scanners de cama ecuacin de la luminancia es la expresin
plana, y las cmaras digitales [9]. La imagen digital matemtica de este fenmeno y los factores de
capturada puede tomar varios formatos tales como: ponderacin de cada componente de color indican la
tiff, jpeg, gif, bmp, png, xwd, jpg [10]. sensibilidad del ojo humano a las frecuencias del
Existen tres tipos de imgenes digitales: espectro cercanas al rojo, verde y azul [11] .
binarias, en escala de gris y en color. = ( 0.3) + ( 0.59) + ( 0.11) (1)

Las imgenes binaras representan la forma


ms simple, debido a que cada pixel puede tomar b) Binarizacin de una imagen.
nicamente dos valores: 0 (negro) o 1 (blanco). La binarizacin de una imagen consiste en obtener
Las imgenes en escala de gris, contienen una imagen a blanco y negro en donde el negro es
informacin solo de intensidad (no de color). Cada representado por un 0 y el blanco por un 1. La
pixel de una imagen en escala de gris toma el valor asignacin del valor 0 o 1 a cada pixel de la imagen
de uno de los 256 valores distintos de gris, que van implica comparar de los niveles de gris de la imagen
desde el negro (0) al blanco (255). con un valor (umbral) predeterminado. Si el nivel de
gris de la imagen es menor que el umbral, se le asigna
Las imgenes en color se forman a partir de 3 al pxel el valor 0 (negro), y si es mayor, se le asigna
imgenes en escala de gris, cada una relacionada con un 1 (blanco). Con frecuencia se utiliza un umbral
una banda espectral correspondiente a Rojo, Verde y
4

de 128 si se trabaja con 255 niveles de gris, pero en pixel es mayor que un valor umbral, se le asigna el
algunas aplicaciones se requiere de otro umbral [10]. valor 1, caso contrario se le asigna valor 0.
La umbralizacin adaptativa genera un valor de
c) Erosin
umbral variable, como una funcin de las
La erosin se refiere a la reduccin de los lmites de caractersticas locales de la imagen. Esto es til
los objetos presentes en la imagen, es decir, un pxel cuando los pixeles de un objeto tienen caractersticas
de la imagen original (1 o 0) tomar el valor 1 slo si diferenciadas debido, por ejemplo, a condiciones de
todos los pxeles vecinos o a su alrededor son 1, de iluminacin.[10]
lo contrario se erosiona (toma el valor 0) [10], Segmentacin
matemticamente la erosin se define como:
La segmentacin es la etapa en la que la imagen es
(2)
() = {| } dividida en regiones segn sus caractersticas de
forma o color. Una de las tcnicas para distinguir las
d) Dilatacin regiones existentes en la imagen, es el etiquetado de
La dilatacin es la operacin contraria a la erosin. componentes conectados en imgenes binarias. Esta
En este caso, el pxel toma el valor 1 si al menos un tcnica asigna una etiqueta nica a cada subconjunto
pxel vecino tiene el valor 1. De tal forma que de puntos.
aumenta la regin blanca en la imagen [10]. Conectividad de pxeles.
Matemticamente la dilatacin de define como:
Un pxel p en la coordenada (x, y) tiene cuatro
vecinos directos, N4 (p) y cuatro vecinos diagonales,
() = {| 0} (3)
ND (P). Los ocho vecinos, N8 (p) del pxel p
e) Filtro gaussiano de suavizado consisten en la unin de N4 (p) y ND (P) [12] .

Es un filtro que remueve o elimina ruido de la


imagen. Este filtro es un operador de convolucin.
La convolucin de imgenes permite multiplicar dos
imgenes de diferentes tamaos para generar una
imagen del mismo tamao. La funcin de
convolucin se aproxima a la discretizacin de una Figura 3. a) Vecindad N4. b) Vecindad N8 [13]
gaussiana de media cero y desviacin estndar , Sea q, un pixel diferente a p. Para establecer la
esto es: conectividad entre pxeles de 1s en una imagen
2 + 2 (4) binaria, se pueden considerar tres tipos de

(, ) = 22
conectividad para los pxeles:
Donde (, ) es la funcin para calcular los pesos 1. Conectividad 4: si q est en N4 (P);
de la mscara de convolucin del filtro, y "u", v 2. Conectividad 8: si q est en N8 (p);
son las posiciones dentro de la misma. [10] 3. Conectividad m: si q est en N4 (P), o si q est
f) Umbralizacin Adaptativa en ND (P) y N4 (p) N4 (q)
La umbralizacin es el proceso que permite que una
Algoritmo de etiquetado de componentes
imagen se convierta en una imagen binaria, de modo
conectados
que los pixeles objetos de inters se etiqueten con un
valor distinto de los pixeles del fondo. Si el valor de
5

Este algoritmo tiene como objetivo que los pixeles


que compartan una regin en comn puedan tener
una misma etiqueta que los represente.
Dada una imagen binarizada, donde el 1
simboliza los pixeles de color blanco y el 0 los
pixeles de color negro.
Figura 6. Etiquetado De Imagen En El Segundo Barrido

Finalmente a cada etiqueta se le asigna un


valor numrico y el resultado es algo similar a lo que
se presenta en la Figura N 7

Figura 4. Imagen Binarizada

Se realiza un barrido en la imagen de


izquierda a derecha y de arriba hacia abajo, cuando
un pixel con valor 1 tiene uno o ms vecinos
Figura 7. Imagen con Etiquetado de Imagen
(conectividad 4) con valor 1, se asigna una etiqueta
1 al pixel y a sus vecinos (con valor 1) 2.2. Deteccin y Reconocimiento
respectivamente, si al seguir con el barrido se Esta parte del proceso se refiere a la deteccin y
encuentra con un pixel ya etiquetado y este a su vez reconocimiento de los segmentos de la imagen, para
tiene vecinos sin etiqueta, se le asigna la etiqueta 2 ello se hace uso de algoritmos de reconocimiento y
a los pixeles vecinos (con valor 1) sin etiqueta y se clasificacin tales como, en el caso del presente
almacena la equivalencia (Guarda equivalencia trabajo, las Redes Neuronales Artificiales.
1 = 2) y as sucesivamente hasta terminar el
barrido tal como lo muestra la Figura N5 Las Redes Neuronales Artificiales (RNA) se
basan en la biologa humana, es decir, hacen uso de
elementos que se comportan de manera similar a las
neuronas humanas tal como lo muestra la Figura N
9.

Figura 5. Etiquetado De Imagen En El Primer Barrido

Se realiza en segundo barrido en donde se


actualizan las equivalencias guardas, por lo tanto la
etiqueta 2 se remplaza por 1 y as sucesivamente
con todas las equivalencias. Vase la Figura N6
6

de la neurona. La forma tradicional para calcular el


valor de entrada es sumando cada valor de entrada
multiplicado con su respectivo peso [15]. La entrada
del j-simo nodo se escribe:
(5)
=

Al igual que las neuronas biolgicas, las


neuronas artificiales pueden tener diferentes estados
de activacin, es decir, pueden estar activas
Figura 8. Neurona Humana [14]
(excitadas) o inactivas (no excitada), pero existen
casos en los que pueden tomar cualquier valor dentro
de un conjunto determinado.
Para calcular el estado de activacin de la
neurona se usa una funcin activacin que
transforma la entrada global en un valor o estado de
activacin, cuyo rango normalmente se encuentra
entre 0 y 1 o entre 1 y 1. Esto es as, porque una
neurona puede estar totalmente inactiva (0 o 1) o
activa (1). [16]
Figura 9. Neurona Biolgica vs Neurona Artificial
Sea la suma:
Una red neuronal artificial se define como un
(6)
conjunto de elementos llamados neuronas, que se = +
conectan entre s por varios enlaces de =1

comunicacin, con el propsito de recibir seales de


entrada, procesarlas y emitir seales de salida. Cada Las funciones de activacin comnmente utilizadas
enlace de comunicacin est asociado a un peso, que son
simbolizan la informacin que manejan las neuronas.
La informacin de las entradas de una neurona puede Funcin de activacin Lineal:
originarse desde fuentes externas o de otras neuronas 1, >0 (7)
() = {
en la red. De la misma manera, la informacin de la 1, 0, 0
salida de una neurona es enviada a otras neuronas o Funcin de activacin sigmoidea:
al entorno [15].
1 (8)
En la Figura N 9 Se compara las neuronas () =
1 +
artificiales con las neuronas biolgicas, de tal forma,
(x1, xi, xn) son los vectores de caractersticas Funcin de activacin Softmax:
que contienen la informacin de entrada para la (9)
neurona j que provienen de las neuronas (1...2, n). ( ) =
=1
Los pesos (w1, w2, wn) representan el potencial
excitador o inhibidor de las conexiones sinpticas
Dnde: es la activacin en la j-sima
respectivas. Cada elemento procesado adquiere un
neurona de la capa de salida, tal que j = 1, 2,..., K
valor de entrada que se basa en todas las conexiones
7

Finalmente, la neurona usa una funcin para caracteres, fue el primero. Todos los mtodos y
obtener la salida de la neurona j (outj); esta funcin algoritmos que usados en la investigacin fueron
determina qu valores se transmiten a las neuronas migrados al lenguaje Python en la versin 2.7,
vinculadas. Si la funcin de activacin est por haciendo uso de las libreras OpenCV y PyBrain. A
debajo de un umbral preestablecido, ninguna salida continuacin, se detallan los mtodos usados en cada
se pasa a la neurona subsiguiente. [16] etapa del proceso.
Para el entrenamiento de las redes neuronales 3.1. Captura
una alternativa es el uso del llamado algoritmo de En este primer paso se usa una cmara web para
retropropagacin (backpropagation), que toma ese obtener la escena de las cartas e ingresar al pre-
nombre por la forma en que el error es propagado procesamiento en el ordenador.
hacia atrs a travs de la red neuronal, es decir, el
error se propaga desde la capa de salida, hacia la capa Caractersticas Cmara:
de entrada. Esto permite que los pesos de las Resolucin: 8 megapxeles (3264 x 2448)
neuronas ubicadas en la capa oculta cambien durante Conexin: Cable USB
el entrenamiento. Compatibilidad: Windows y Linux
La variacin de los pesos en las conexiones de las Para la captura de la imagen se usa el mtodo
neuronas, influye en toda la estructura de la red cv2.VideoCapture.
neuronal, por esta razn, se debe poner atencin a las
variaciones de la funcin activacin, ya que se
modifica el valor de los pesos. Esto se conoce como
sensibilidad de la funcin activacin.[16]

3. Desarrollo
En este trabajo se realiz una etapa preliminar de
investigacin utilizando MATLAB, en donde se
prob el etiquetado de componentes conectados para Figura 10 . Imagen Real Capturada Por La Cmara Web
la segmentacin de imgenes y redes neuronales
artificiales para la deteccin y reconocimiento de 3.2. Pre-procesamiento
caracteres. El entrenamiento de la red neuronal se En esta etapa se adeca la imagen para la
realiz usando 3 tipos de datos: el primero un vector segmentacin. Se hacen uso de los siguientes
de caractersticas de dimensin 1 donde n es el algoritmos:
nmero de pixeles en una imagen binaria, el segundo
Escala de grises
grupo de datos es un vector de caractersticas 1
donde m es el nmero de caractersticas obtenidas Dado que el objetivo de este trabajo no es reconocer
por el algoritmo de HOG en una imagen binaria. el color, la imagen de entrada en representacin RGB
Finalmente el tercer tipo de datos son vectores de (Red, Green, Blue) es transformada al formato escala
caractersticas1 donde r con caractersticas de grises usando la ecuacin ( 1 ) por medio del
proporcionadas por las regiones basadas en mtodo: cv2.COLOR_BGR2GRAY
propiedades geomtricas bsicas como por ejemplo:
Aspect ratio, Eccentricity, Euler number,
Extent, Solidity. El tipo de dato que mejor resultado
obtuvo en la detencin y reconocimiento de
8

pixeles de tal forma que se pueda descartar los que


sean muy grandes o muy pequeos, se puede definir
que 2 (, ) = 0 equivale a fondo o color negro y
2 (, ) = 255 equivale a caracteres y no caracteres
o color blanco. Para ello se usa el mtodo de
etiquetado de componentes conectados. En la Figura
N 13 se puede apreciar que todos los puntos de un
carcter quedan agrupados.

Figura 11. Imagen En Escala De Grises

Binarizacin
Luego de transformar la imagen a escala de grises, se
aplica la umbralizacin con el fin de obtener una
imagen binarizada. Debido a las condiciones de
captura de la imagen se tiene iluminacin variable,
por tal razn se utiliza umbralizacin adaptativa con
filtro gaussiano.
Para obtener una mayor nitidez en la imagen Figura 13. Representacin De Componentes Conectados Por Color
binaria se aplican los filtros en el siguiente orden:
1) Erosin
2) Morfologa Opening (elimina el ruido blanco
sobre las zonas negras. Es la erosin seguido de
dilatacin)
3) Morfologa Closing (elimina ruido negro en las
reas blancas. Es la Dilatacin seguido de
Erosin)
4) Dilatacin

Figura 14. Resultado De La Extraccin De Componentes


Conectados, Se Extrajo 24 Ejemplos Al Azar

3.4. Deteccin
En este trabajo se aplican Redes Neuronales
Artificiales para la deteccin de caracteres y su
posterior reconocimiento. Se hace uso de la librera
PyBrain que proporciona el mtodo de
Figura 12. Imagen Binarizada, Aplicando Umbralizacin Adaptativa, Backpropagation, para el aprendizaje de la red.
Erosin, Dilatacin Y Morfologas Opening Y Closing
Para la deteccin de caracteres el objetivo es
3.3. Segmentacin poder determinar si una imagen corresponde o no a
un carcter. Es decir, el problema de deteccin es su
Para conocer en que parte de la imagen se encuentra
vez un problema de clasificacin con clases: carcter,
las imgenes de inters es necesario agrupar los
no caracter.
9

El conjunto de entrenamiento para esta etapa Un bucle for aade los vectores de
se gener a partir de aproximadamente 200 imgenes caractersticas del conjunto de entrenamiento con sus
de cartas al azar que simulan las posiciones que respectivas etiquetas.
pueden tener las cartas durante el juego de 40, tal Aleatoriamente se divide el conjunto de datos
como se muestra en la figura N 10. Dichas imgenes de entrenamiento en el 70%, el 15% de conjuntos de
se sometieron al pre-procesamiento y segmentacin datos de prueba y el 15% para el conjunto de datos
de imagen. Los resultados de la segmentacin son de validacin.
guardados en imgenes binarias de tamao 40 40,
como lo muestra la Figura N 14 y guardados en una Para la clasificacin en la red neuronal, es
carpeta para su clasificacin manual, en donde se le recomendable codificar clases con una neurona de
asigna el nombre de archivo de la imagen de la salida por clase. Para ello se usa una funcin que
siguiente manera: transforme a las etiquetas en un vector de dimensin
1 donde c es el nmero de clases existentes por
0_n_m.jpg, para Imgenes que NO ejemplo para este caso la clase 0 tendr la
representen un no caracter. representacin [1, 0] y la clase 1 se representar
1_n_m.jpg, para Imgenes que s como [0,1].
representen un caracter. Para construir la red neuronal se establecen
El nmero total de imgenes en el conjunto los siguientes parmetros: tamao de la capa de
de entrenamiento para la clasificacin caracter no entrada, tamao de la capa salida y el nmero de
caracter es de 32000, divididos en 16000 imgenes neuronas en la capa oculta. El tamao de la capa de
no caracteres y 16000 caracteres. Cabe mencionar entrada debe coincidir con el nmero de ejemplos en
que para obtener una mejor clasificacin es el conjunto de entrenamiento y el tamao de la capa
recomendable tener clases balanceadas, es decir que de salida debe coincidir con el nmero clases. La
el nmero de ejemplos de cada clase debe ser mismo. capa intermedia y la capa de salida utilizan la funcin
Por ello, para llegar a los nmeros mencionados se de activacin Sofmax para la clasificacin.
descartaron y aumentaron imgenes hasta obtener la Para el entrenamiento de la red neuronal, se
cantidad de ejemplos indicados. usa el algoritmo de retropropagacin.
Una vez hecha la clasificacin manual se El entrenamiento se realiza por iteraciones o
procede a crear y entrenar la red neuronal. etapas (epochs). El tiempo que tarde en entrenarse la
Para obtener las neuronas en la capa entrada red depende del nmero de neuronas en la capa
Xtrain, se transforma a las imgenes del conjunto de oculta y el nmero de iteraciones. Dado a que el
entrenamiento en un vector de caractersticas de tiempo de entrenamiento suele ser relativamente
tamao (1x1600) y para las etiquetas Ytrain se toma largo, la red es creada y entrenada una sola vez. Este
el primer dgito del nombre de archivo de la imagen modelo de entrenamiento es guardado de forma logar
(0 para No caracter y 1 para caracter). para su posterior uso. El formado de archivo que
guarda este modelo vara segn el lenguaje de
Se configura los parmetros para la
programacin que se use, en este caso se usa el
construccin de la red neuronal, donde:
formato .xml
1600 es el tamao del vector de caractersticas
que va a ingresar a red. Para realizar las predicciones de hace uso del modelo
n_clases, define el nmero de clases para la red de entrenamiento guardado de manera local.
en este caso 2 clases.
10

Se somete a la imagen de prueba al pre entrenamiento: el primero con 18860 imgenes, el


procesamiento y segmentacin de imagen con esto segundo con 26524 y el tercero con 32000. Se dividi
obtenemos el vector de caractersticas x_test el conjunto de entrenamiento en un 70% para el
entrenamiento, 15% para la validacin y 15% para el
Como en el entrenamiento, se configuran los
test. Se construyeron varias redes neuronales
parmetros de la red neuronal,
variando el nmero de neuronas en la capa oculta y
Para este caso la prediccin hace uso de la funcin
con los datos de validacin se obtuvieron los
activateOnDataset, esta funcin da como salida un
resultados mostrados en la Figura N 15
valor decimal que indica el porcentaje de
correspondencia a la clase, el cual deber ser A partir de estos resultados se estableci que
transformado en la clase que corresponda, para ello entre mayor sea el nmero de ejemplos en el
se usa la funcin argmax conjunto de entrenamiento se reduce el error. Sin
embargo, como se puede observar an no se logra el
3.5. Reconocimiento
Para el reconocimiento se sigue el mismo proceso
que en la deteccin con la variante de que para el
conjunto de entrenamiento usamos 17400 imgenes
repartidos en 1740 imgenes por nmero o letra de
carta, es decir, 1740 imgenes de As, 1740 de 2 y as
sucesivamente. Para el nombre de archivo de imagen
se usa el formato:
1_1_1.jpg, para imgenes de un As.
1_2_2.jpg, para imgenes de un 2.

1_8_8.jpg, para imgenes de un J. Figura 15. Curva De Aprendizaje Red Neuronal De Deteccin De
1_9_9.jpg, para imgenes de un Q. Caracteres

1_0_0.jpg, para imgenes de un K. error mnimo establecido que es del 5%. Para reducir
Para el mtodo ClassificationDataSet se el error que se obtiene de las pruebas anteriores, se
configura la red neuronal con los siguientes vara el valor del parmetro weight decay. Este
parmetros: parmetro permite optimizar el entrenamiento,
generalmente, toma un valor muy pequeo (0,01 o menos)
1600 es el tamao del vector de caractersticas
tiende a 0, sin embargo si toma el valor de 0 se tendr un
que va a ingresar a red. sobre entrenamiento de la red[17] y si toma un valor
nb_classes, define el nmero de clases para la red mayor a 1 o negativo el error crecer. Los resultados
en este caso 10 clases. obtenidos se muestran en la Figura N16.
El entrenamiento y prediccin se los realiza
de la misma forma que en la deteccin.

4. Resultados
Para obtener el nmero ptimo de imgenes en el
conjunto de entrenamiento para la deteccin carcter
no carcter se realizaron pruebas en 3 conjuntos de
11

conjunto de entrenamiento obteniendo la siguiente


curva de aprendizaje.

Figura 16. Error vs Weight Decay

Como se observa en la Figura N16 el error Figura 18. Error Vs Nmero De Neuronas En La Capa Oculta De La
se redujo considerablemente, y se obtienen valores Red De Reconocimiento
menores al error mnimo establecido del 5%, por lo De igual manera se realiza la evaluacin de la
que se procede al clculo del error de clasificacin y variacin de weight decay y se obtiene el siguiente
matriz de confusin para el conjunto de test, se resultado:
obtuvieron los siguientes resultados.
Error de clasificacin: 1.83 %

Figura 19. Curva De Aprendizaje De La Red De Reconocimiento


Para La Variacin Del Peso

En el entrenamiento de esta red se obtuvieron


los siguientes resultados:
Error de clasificacin: 0.96 %
Figura 17. Matriz De Confusin Red De Deteccin Caracter - No
Caracter

Para la red de reconocimiento, se realizaron


pruebas en 2 conjuntos de entrenamiento, el primero
con 16000 y el segundo con 17400 imgenes en el
12

Para llegar al error lmite de 5%, se modific


el valor del parmetro weight decay a 0.001, con
los resultados se observ que el error promedio en el
conjunto de 360000 elementos baja a 3.33%,
determinando as que el valor de este parmetro
optimiza la red neuronal.
La prediccin mejora mientras ms grande es
el nmero de elementos en el conjunto de
entrenamiento, es decir, mejora la curva de
entrenamiento, sin embargo, en este trabajo, no se
establece un punto de estabilizacin en la curva de
aprendizaje ya que se logr el porcentaje de error
lmite (5% o menos).
El comportamiento de la red para la deteccin
Figura 20. Matriz De Confusin De La Red Neuronal Para El de caracter no caracter es muy similar al
Reconocimiento De Cartas
comportamiento de la red para el reconocimiento de
cartas, obteniendo los siguientes resultados: para el
primer entrenamiento con 16000 imgenes en el
5. Conclusiones conjunto de entrenamiento el error de clasificacin
es de 12.74 %, para el segundo conjunto de
La inteligencia artificial por medio del uso de redes entrenamiento con 17400 imgenes el error se reduce
neuronales artificiales, contribuye al desarrollo de a 6.17% y finalmente variando el parmetro weight
proyectos que buscan dar soluciones a problemticas decay a 0.001 se lleg al 2.95% en el error de
sociales causadas por el deterioro o carencia de clasificacin.
alguna facultad fsica en el ser humano, tal como se
demuestra en este trabajo, permite que personas no Las redes neuronales artificiales fortalecen la
videntes participen en juegos de mesa. deteccin y reconocimiento de patrones, su
implementacin se facilit gracias a la librera
El uso de MATLAB en la investigacin PyBrain, sin embargo, es necesario tener los
previa, marc un avance significativo en el desarrollo conocimientos bsicos del funcionamiento de las
del proyecto, ya que se pudieron establecer los redes neuronales para poder configurar las funciones
mtodos que proporcionaron los resultados deseables que brinda PyBrain.
para el reconocimiento de las cartas.
Con los resultados obtenidos se comprob 6. Referencias
que: el nmero de elementos en el conjunto de
[1] Direccin de Gestin Tcnica del Consejo
entrenamiento influye en la precisin de la
Nacional para la Igualdad de Discapacidades
prediccin, as pues, con el conjunto de 18860
(CONADIS), Personas con Discapacidad
elementos se obtuvo un error promedio de 12.09%
Registrada: Por Tipo de Discapacidad, 2017.
para la deteccin de carcter no carcter, mientras
[Online]. Available:
que el conjunto de 360000 elementos el error
http://www.consejodiscapacidades.gob.ec/estadistic
promedio obtenido es de 10.61%. Sin embargo, el
a/index.html.
error obtenido an no logra el error lmite del 5%.
13

[2] J. F. Parra Buestan, El rescate de los juegos forestales . Captulo 2: Procesamiento Digital de
populares ecuatorianos y su aplicacin en la Imgenes, Universidad de las Amricas Puebla,
animacin turstica, Universidad De Cuenca, 2010. 2010.
[3] R. F. Gualli Ushia and O. S. Angamarca [12] J. Park, C. G. Looney, and H. Chen, Fast
Pupiales, Study of Procedures and Algorithms for Connected Component Labeling Algorithm Using A
the Automatic Recognition of the Cards of a Blind Divide and Conquer Technique, 15th Int. Conf.
Player of 40, Universidad Politcnica Salesiana, Comput. their Appl., vol. 4, pp. 47, 2000.
2017. [13] A. Carcedo y Franco, Programa de
[4] J. D. Estvez, H. Ortega, and R. Tufio, segmentacin de regiones en imgenes mdicas en
Automatic identification of a playing card through MATLAB. Captulo 1 TEORA DE
kNN using a Raspberry Pi 3, Int. Conf. Inf. Syst. PROCESAMIENTO DE IMGENES.,
Comput. Sci., pp. 239245, 2016. Universidad de las Amricas Puebla, 2004.
[5] P. Martins, L. P. Reis, and L. Tefilo, Poker [14] Potencial biolctrico y sinapsis. [Online].
vision: Playing cards and chips identification based Available:
on image processing, Pattern Recognit. Image Anal. http://www.profesorenlinea.cl/Ciencias/Sinapsis_po
IbPRIA 2011. Lect. Notes Comput. Sci., vol. 6669, tencial_biolectrico.html. [Accessed: 10-Jul-2017].
pp. 436443, 2011. [15] P. Vega, H., Cortez, A., Huayna, A., Loayza,
[6] J. Pimentel, Machine Vision in Casino L. y Naupari, Reconocimiento de patrones mediante
Game Monitoring, Universidad Tcnica de Lisboa, redes neuronales artificiales, Rev. Ing. Sist. e
2010. Informtica, vol. 6, no. 2, pp. 1726, 2009.
[7] W. Y. Chen and C. H. Chung, Robust poker [16] D. J. Matich, Redes Neuronales: Conceptos
image recognition scheme in playing card machine Bsicos y Aplicaciones., Historia Santiago., p. 55,
using Hotelling transform, DCT and run-length 2001.
techniques, Digit. Signal Process. A Rev. J., vol. 20, [17] ALGLIB, Redes neuronales: mejorar la
no. 3, pp. 769779, 2010. generalizacin - ALGLIB. [Online]. Available:
[8] S. M. Rodriguez Paredes, Mecanismo de http://www.alglib.net/dataanalysis/improvinggenera
autenticacin de personas basado eb la geometra de lization.php#header3. [Accessed: 10-Jul-2017].
la mano, Universidad Catltiva de Santa Mara,
2013.
[9] R. C. . Gonzalez and R. E. Woods, Digital
image processing, Nueva Jersey. p. 976, 2008.
[10] M. del P. Chiriboga Maldonado and E. A.
Salcedo Eches, IMPLEMENTACION DE
ALGORITMOS PARA PREPROCESAMIENTO,
DETECCIN DE BORDES Y SEGMENTACIN
DE IMGENES DIGITALES A COLOR
UTILIZANDO MATLAB, Escuela Politcnica
Nacional, 2003.
[11] R. A. Gonzlez Gonzlez, Algoritmo basado
en Wavelets aplicado a la deteccion de incendios

Vous aimerez peut-être aussi