SISTEMA DE RECONOCIMIENTO DE FICHAS DE AJEDREZ

June 29, 2017 | Autor: C. Maldonado García | Categoría: Artificial Intelligence, Tratamiento de Señales e imagenes, Ajedrez
Share Embed


Descripción

SISTEMA DE RECONOCIMIENTO DE FICHAS DE AJEDREZ

CAMILO ANDRÉS MALDONADO GARCÍA

UNIVERSIDAD SANTO TOMÁS DIVISIÓN DE INGENIERÍAS Y ARQUITECTURA FACULTAD DE INGENIERÍA MECATRÓNICA BUCARAMANGA 2015

SISTEMA DE RECONOCIMIENTO DE FICHAS DE AJEDREZ

CAMILO ANDRÉS MALDONADO GARCÍA

PRESENTADO A ING. DEISY CAROLINA PÁEZ CASAS

UNIVERSIDAD SANTO TOMÁS DIVISIÓN DE INGENIERÍAS Y ARQUITECTURA FACULTAD DE INGENIERÍA MECATRÓNICA BUCARAMANGA 2015

CONTENIDO TABLA DE ILUSTRACIONES ........................................................................................................ 4 TABLA DE ILUSTRACIONES DE ANEXOS ................................................................................ 5 OBJETIVOS ...................................................................................................................................... 6 Objetivo general ............................................................................................................................ 6 Objetivos específicos ................................................................................................................... 6 CAPÍTULO 1: CONOCIMIENTOS PREVIOS .............................................................................. 6 1.

2.

3.

Procesamiento básico de imágenes.................................................................................. 6 1.1

Imágenes ....................................................................................................................... 6

1.2

Formatos de archivo de imagen ................................................................................. 8

Clasificación .......................................................................................................................... 9 2.1

Diseño de sistemas de clasificación ........................................................................ 10

2.2

Técnicas de clasificación de patrones estadísticos .............................................. 11

APLICACIONES ................................................................................................................. 13 3.1

Procesamiento de imágenes .................................................................................... 13

3.2

Control .......................................................................................................................... 17

CAPÍTULO 2: MATLAB PARA ADQUISICIÓN DE IMÁGENES ............................................. 19 4.

Secuencia programa .......................................................................................................... 19

5.

Descripción .......................................................................................................................... 21

6.

Funciones destacadas ....................................................................................................... 22

BIBLIOGRAFÍA ............................................................................................................................... 23 ANEXOS .......................................................................................................................................... 25

TABLA DE ILUSTRACIONES

Ilustración 1: Imagen binaria ........................................................................................................... 7 Ilustración 2: Imagen en escala de grises .................................................................................... 7 Ilustración 3: Imagen a color ........................................................................................................... 8 Ilustración 4: Clasificación por distancia mínima ....................................................................... 11 Ilustración 5: Clasificación por K-vecino más cercano ............................................................. 12 Ilustración 6: Sistema completo de juego de ajedrez por medio de un brazo robótico ....... 13 Ilustración 7: Diagrama de flujo para el reconocimiento del tablero de juego ...................... 14 Ilustración 8: Simulación del tablero de ajedrez ........................................................................ 16 Ilustración 9: Sistema de asistencia remota del juego de ajedrez .......................................... 16 Ilustración 10: Características de extracción ............................................................................. 17 Ilustración 11: Reconocimiento de patrones .............................................................................. 18 Ilustración 12: Diseño de interfaz ................................................................................................. 19 Ilustración 13: Entrada del programa .......................................................................................... 19 Ilustración 14: Activación de cámara y foto tomada ................................................................. 20 Ilustración 15: Error de toma de foto ........................................................................................... 20 Ilustración 16: Ventana emergente de salida ............................................................................. 21

4

TABLA DE ILUSTRACIONES DE ANEXOS Ilustración anexo 1: Tipo de datos en matlab ............................................................................ 25 Ilustración anexo 2: Operadores en matlab ............................................................................... 26 Ilustración anexo 3: Operadores lógicos en matlab .................................................................. 27 Ilustración anexo 4: Etiquetado de imágenes en matlab ......................................................... 28

5

OBJETIVOS Objetivo general Reconocer los componentes del juego de ajedrez mediante técnicas de clasificación o agrupación de patrones para contar las fichas en el tablero de juego.

Objetivos específicos  Diseñar una interfaz gráfica para interactuar con los usuarios mediante el software Matlab.  Enlazar la cámara con el software Matlab para tomar la foto a identificar por medio de la función videoinput.  Determinar el algoritmo que permita reconocer patrones que identifican a cada una de las fichas para hacer el conteo de la misma por medio de inteligencia artificial.

CAPÍTULO 1: CONOCIMIENTOS PREVIOS 1. Procesamiento básico de imágenes 1.1 Imágenes  Imágenes binarias (1bit) Las imágenes binarias se codifican como una matriz 2D que por lo general son de 1 bit por píxel, donde un 0 significa negro y un 1 significa blanco. La principal ventaja es que tiene un tamaño muy pequeño y son adecuadas para imágenes que contienen gráficos simples, texto o imágenes de líneas. En MATLAB las imágenes binarias se representan utilizando una matriz lógica de 0 y 1, también existe otro método el cual consiste en utilizar una matriz uint8 restringiendo los valores de la matriz para ser solo 0 ó 1.

6

Ilustración 1: Imagen binaria

 Imágenes en escala de grises (8 bits) Las imágenes en escala de grises se codifican como una matriz 2D que por lo general son de 8 bits por pixel donde un 0 significa negro, un valor de pixel de 255 significa blanco y un valor intermedio a estos dos significa las diferentes tonalidades de gris. En MATLAB las imágenes en escala de grises se representan utilizando enteros uint8 y uint16 en donde cada pixel tiene un valor entre 0-255 y 065535 respectivamente. Las imágenes en escala de gris de clase doble tienen valores de pixel entre 0,0-1.

Ilustración 2: Imagen en escala de grises

 Imágenes en color La representación de imágenes en color es más compleja, existen dos maneras para esta representación: la primera se da por un número de 24 bits el cual contiene la cantidad de rojo (Red), verde (Green) y azul (Blue) RGB y la segunda es una representación indexada 2D que contiene índices de una paleta de colores. 7

Imágenes de color RGB (24 bits): estas imágenes pueden ser representadas mediante tres arreglos 2D de igual tamaño y se utiliza un canal para cada color (R, G y B). Cada arreglo se conforma por 8 bits que indican la cantidad de color en un punto de rango 0-255, la combinación de los tres valores de estos 8 bits en un numero de 24 bits permiten 224 combinaciones de colores. Existe otra representación que utiliza 32 bits por pixel, cuenta con un canal extra (alfa) que brinda transparencia para cada pixel. Es muy utilizada en la edición de imágenes. Presentan un problema de compatibilidad con el hardware antiguo pues este no es capaz de mostrar todas las combinaciones de colores simultáneamente, presentando así una falla o un ralentizado del computador. Imágenes de color indexadas: estas imágenes indexadas surgen como solución a las imágenes de color de 24 bits. Consisten en una representación indexada en la que un arreglo en 2D del mismo tamaño que la imagen contiene punteros a un mapa de color (paleta de colores), el cual debe tener una tamaño máximo fijo que generalmente es de 256 colores.

Ilustración 3: Imagen a color

1.2 Formatos de archivo de imagen Los formatos de archivos de imagen que se utilizan para representar las imágenes de mapa de bits están formados por un encabezado de archivo seguido de los datos de los pixeles. Éste encabezado es el que almacena la información de la imagen (numero bits, alto y ancho de imagen, tipo de archivo, tipo de compresión, entre otros).

Formato de archivos simples 8

 BIN: los usuarios deben conocer las características de la imagen pues éste solo tiene los datos de pixeles en bruto dejando a un lado los encabezados.  PPM (PBM imagen binaria, PGM imagen en escala de grises, PPM imagen a color, PNM cualquiera): los encabezados de imagen incluyen una firma de 2 bytes la cual identifica el tipo de archivo, ancho, alto e intensidad; son los más utilizados en la investigación de procesamiento de imágenes.  BMP: formato de mapa de bits Microsoft Windows, está conformado por un encabezado seguido de datos de pixeles, también es muy utilizado.  JPEG: este formato es el más utilizado para la representación de imágenes de calidad fotográfica, puede llegar a un alto grado de compresión sin perder mucha calidad en la imagen  GIF: graphics interchange format, utiliza una representación indexada para imágenes en color con un máximo de 256 colores.  TIFF: tagged image file format, este formato tiene más opciones entre las cuales la mas representativa es la de representar un color verdadero (24bpp) y cuenta con 5 esquemas de compresión.  PNG: portable network graphics  XCG  RAW 2. Clasificación Prácticamente en todo momento, los seres humanos se encuentran en la capacidad de hacer la selección y clasificación de objetos que hacen parte del diario vivir, ubicados en diferentes grupos ya sea por forma, color, olor, textura, entre otros. Si se habla explícitamente del reconocimiento de imágenes, el objetivo de la clasificación radica en identificar rasgos característicos a los que definiremos como patrones. Los humanos somos capaces de hacer clasificaciones muy precisas, ¿Por qué entonces debemos tratar de construir sistemas de clasificación automática? La respuesta a este interrogante se da a que en tareas de clasificación, se deben procesar una cantidad de datos muy elevada y repetitiva, lo cual trabaja a favor de un ente más rentable. A pesar de esto, la intervención humana y los clasificadores automatizados son invariables en dos aspectos: o Especificación de tareas: se necesita definir clases y variables a ser consideradas dentro del problema a clasificar. o Etiquetado de clase: un maestro necesita enseñar a la máquina valores iniciales para el proceso. 9

De manera general, se pueden considerar dos grandes tipos de técnicas de clasificación: supervisadas y no supervisadas.  CLASIFICACIÓN SUPERVISADA En esta clasificación se cuenta con conocimientos previos, puesto que las tareas de clasificación de objetos en diferentes categorías han de tener modelos ya clasificados. Identificando dos fases: en primer lugar etapa de entrenamiento para consolidar una regla general de clasificación y en segundo lugar, el proceso de clasificar en los diferentes grupos. Entre las técnicas dentro del grupo de clasificación algoritmos de clasificación por vecindad.

supervisada están los

 CLASIFICACIÓN NO SUPERVISADA En esta clasificación no se cuenta con conocimientos previos, también conocida como clustering. En este tipo de clasificación se cuenta con muestras con características similares de las que no se sabe a qué grupo pertenece, con el fin de hallar estos grupos cuyas características permitan dividir en diferentes clases.

2.1 Diseño de sistemas de clasificación  Definición de clase: En primer lugar, en cualquier sistema de clasificación se necesita identificar y definir las clases que se presenten en un problema específico.  Exploración de datos: El diseñador necesita hacer una examinación exhaustiva acerca de los posibles atributos que permitirán la discriminación entre las clases, no se trata de una receta de cocina, a manera de seguir unos pasos, puesto que en muchas ocasiones se basa en el sentido común.  Selección y extracción de características: Dentro de los múltiples atributos disponibles en la clasificación de algún objeto se necesita seleccionar los más discriminantes para así limitar el espacio de características, también se usa el término de características compactas para abarcar mayores similitudes entre los grupos de datos. Asimismo se asume que el procedimiento de procesamiento de imágenes fiables para realizar la extracción correspondiente.  Construir el clasificador utilizando datos de entrenamiento: La primera etapa de entrenamiento nos lleva a contar con muestras de cada clase seleccionada. Suponiendo que se cuenta con la cantidad de características que permitan hacer la discriminación y luego, la clasificación de objetos. Si la función ha sido exitosa, los vectores de características formarán grupos de puntos en el espacio de características.

10

 Prueba del clasificador: El clasificador ha de ser sometido a pruebas para así afirmar la funcionabilidad de cada una de las clases que se habían definido. De darse un caso contrario el diseñador necesitará replantear sus ideas en cuanto a la selección de clases y atributos a tener en cuenta de las mismas. [1] 2.2 Técnicas de clasificación de patrones estadísticos Existen diversas alternativas para la construcción de un reconocimiento de patrones visuales, para la clasificación de esta categoría se toman las propiedades que tienen los objetos en las cuales se dice que pueden ser representados utilizando vectores de características que se proyecten en un espacio de concordancia. Si éstas características son elegidas de la mejor manera los puntos resultantes en el espacio de características se distribuirán de manera que se correlaciona la proximidad en el espacio con la similitud de objetos reales, es decir, los vectores de características asociadas con los objetos de la misma clase aparecerán todos agrupados.



Distancia mínima: también se conoce como la clase más cercana de clasificación media, funciona bien para algunas clases compactas, pero no maneja casos más complejos yse realiza mediante el cálculo de una métrica de distancia entre un vector de características desconocidas y los centroides de cada clase ( ) donde es una métrica de distancia (entre la clase j y la función desconocida vector x) y es el vector medio para la clase j.

Ilustración 4: Clasificación por distancia mínima 11



K-vecinos más cercanos: funciona mediante el cálculo de la distancia entre la muestra desconocidadel vector de características X y los Npuntos más cercanos a él en el espacio de características para luego asignar el patrón desconocido a la clase a la que la mayoría de los Npuntos muestreados pertenecen. Las principales ventajas de este clasificador son su simplicidad y versatilidad y su principal desventaja es el coste computacional implicado en el cálculo de distancias entre la muestra desconocida y muchos puntos almacenados en el espacio de características.

Ilustración 5: Clasificación por K-vecino más cercano

 Bayesiano: se fundamenta en la decisión de clasificación que puede hacerse sobre la base de las distribuciones de probabilidad de las muestras para cada clase es decir, un objeto desconocido se asigna a la clase a la que más probablemente pertenece sobre la base de las características observadas. Los cálculos matemáticos realizados por un clasificador bayesiano requieren tres distribuciones de probabilidad: a priori de cada probabilidad para cada clase, la distribución del vector de características que representa el patrón medido X y la distribución condicional de clase. [2]

12

3. APLICACIONES 3.1 Procesamiento de imágenes 

“Simple computer vision system for chess playing robot manipulator as a project- based learning example” [3]

En este trabajo se presenta un ejemplo de aprendizaje basado en proyectos (PBL) en un curso de pregrado en el procesamiento de imágenes. Se discute el diseño de un sistema de visión por computador simple de bajo costo para la implementación de un robot capaz ajedrecista. El sistema se basa en una cámara CCD estándar y un ordenador personal. Se propone un algoritmo que detecta movimientos de ajedrez, se comparan dos o más fotogramas capturados antes, durante y después de un movimiento de ajedrez jugado, y encuentra diferencias entre ellos las cuales son utilizadas para definir un movimiento de ajedrez jugado. Además de procesamiento de imágenes, se requiere eliminar los falsos positivos, reconocer la dirección de movimientos de ajedrez y eliminar la distorsión de imagen. Muchos problemas de procesamiento de imagen y soluciones pueden introducir a los estudiantes, a través del algoritmo propuesto. Los resultados son alentadores - estudiantes sin ningún conocimiento previo en el procesamiento de imágenes y temas avanzados, como la inteligencia artificial (redes neuronales, etc.), puede alcanzar una tasa de éxito del reconocimiento de movimiento de ajedrez superior al 95%, en ambientes de luz controlada.

Ilustración 6: Sistema completo de juego de ajedrez por medio de un brazo robótico

13



“A pattern recognition system based on computer vision — The method of Chinese chess recognition” [4]

Se presenta un sistema de reconocimiento de patrones pieza de ajedrez chino. En primer lugar, se introduce la estructura del sistema y se discute sobre la pieza de ajedrez y a continuación se analizan principalmente los algoritmos de reconocimiento de pieza de ajedrez. Este trabajo presenta dos tipos de algoritmos de reconocimiento de pieza de ajedrez - RC y algoritmo círculo concéntrico para la extracción de características. 

“Chessboard recognition system using signature, principal component analysis and color information” [5]

Este trabajo tiene como objetivo implementar una técnica de visión por computador para traducir una imagen en una descripción que se puede leer por programas de computadora para tomar decisiones. El sistema propuesto se aplica al tablero de ajedrez con un conjunto de objetos y emite los nombres de piezas, lugares, además de los colores de las piezas. La característica de la firma se ha utilizado para distinguir los tipos de piezas. El sistema propuesto fue entrenado y probado usando Matlab, basado en un conjunto de muestras recogidas a partir de imágenes de tablero de ajedrez. Los resultados de simulación muestran la eficacia del método propuesto para reconocer las piezas sus ubicaciones, tipos y sus colores.

Ilustración 7: Diagrama de flujo para el reconocimiento del tablero de juego 14



“Chinese chess recognition algorithm based on computer vision”[6]

En este trabajo se presenta el algoritmo de reconocimiento de ajedrez chino basado en visión por computador y procesamiento de imágenes. Las etapas de preprocesamiento incluyen la transformación de imágenes en color a gris, imágenes de filtrado con filtro de media o mediana de filtro y la binarización de las imágenes grises. Los bordes del tablero de ajedrez y piezas de ajedrez son capaces de ser extraídos de las imágenes binarizadas por segmentación de la imagen. A continuación, la ubicación del centro de la pieza de ajedrez y el borde de círculo de pieza de ajedrez pueden ser calculados con una transformación Hough avanzada, que puede determinar la ubicación de pieza de ajedrez en el tablero y el tamaño de cada pieza. Según las características de las imágenes de ajedrez, el método principal de reconocimiento para analizar los datos estadísticos de píxeles de las piezas de ajedrez es con morfología matemática. Debido a que los valores de la coordinación de píxeles en cualquier ángulo de la pieza de ajedrez pueden seguir iguales y estables, el algoritmo de reconocimiento debe tener una buena tasa de reconocimiento de los resultados experimentales. El algoritmo de reconocimiento avanzado y modificado se prueba que es práctico y aplicativo para la experimentación de un sistema de visión por computador en los juegos de ajedrez chino previstos en este artículo. 

“implementation of the chess game artificial intelligent using mobile robots”[7]

El artículo desarrolla las reglas de decisión para ganar cada juego de la partida de ajedrez chino usando el algoritmo inteligente y evaluación artificial. La inteligencia artificial se aplica a menudo en el juego de ajedrez de ordenador y los programas del método de movimiento para ganar cada juego para los jugadores. Jugamos el juego de ajedrez chino con el ratón de acuerdo con las reglas del juego en la interfaz de usuario. El equipo supervisado controla robots móviles de acuerdo a las rutas de movimiento programadas del ajedrez en movimiento en la plataforma a través de la interfaz inalámbrica de radiofrecuencia (RF), y se selecciona el ajedrez que se moverá a la mejor posición para ganar el set utilizando el algoritmo de evaluación y el método de inteligencia artificial. Luego usamos el método de simulación para mostrar las rutas de movimiento. El equipo supervisado implementa los resultados de la simulación en la plataforma del tablero de ajedrez con robots móviles. Los robots móviles se mueven en la plataforma del tablero de ajedrez para ser guiadosy moverse en la línea central del pasillo, evitando los obstáculos y detectando el punto de cruce de la plataforma a través de tres módulos infrarrojos reflectantes (IR).

15

Ilustración 8: Simulación del tablero de ajedrez 

“pieces identification in the chess system of dual-robot coordination based on vision”[8]

Con la investigación y el desarrollo de robot de ajedrez y visión artificial, el robot de ajedrez con la función visual ha recibido recientemente un interés creciente en la comunidad. Este documento presenta un sistema de ajedrez de coordinación de un doble robot basado en la visión y el proceso de la estructura del sistema visual que da la traducción de coordenadas de la computadora y la imagen en coordenadas reales. El proceso de identificación de piezas da el método y la formación de segmentación de caracteres basados en redes neuronales BP y a continuación identifica las piezas. Todo el trabajo contribuye al sistema de ajedrez de la coordinación de un doble robot basado en la visión.

Ilustración 9: Sistema de asistencia remota del juego de ajedrez

16

3.2 Control 

“Assessing the positional values of chess pieces by tuning neural network's weights with an evolutionary algorithm”[9]

Encontrar un método que puede configurar automáticamente los pesos de la función de evaluación de un motor de ajedrez es un tema de investigación importante, ya que el uso de los ajustes manuales requiere una cantidad significativa de tiempo y experiencia, que no siempre están disponibles. La literatura especializada reporta varias obras en las que los pesos de los valores de posición de las piezas de ajedrez están evolucionando en función de los valores almacenados en las tablas. Aquí, sin embargo, nos proponemos utilizar una arquitectura de red neuronal para obtener los valores de posición de las piezas de ajedrez sobre la base de las características específicas de cada puesto. Las redes neuronales que adoptamos para esta causa son relativamente pequeñas y que argumentan que constituyen una forma robusta de la obtención de los valores de posición de las piezas de ajedrez. El ajuste de los pesos de dichas redes neuronales se llevó a cabo mediante el uso de un algoritmo evolutivo, produciendo un aumento de 433 puntos de la clasificación de nuestro motor de ajedrez (1745-2178 puntos, alcanzando un valor cercano al de un chessmaster).

Ilustración 10: Características de extracción

17



“A combinatorial game mathematical checkmate control procedure for a class of chess endgames” [10]

En este trabajo se da un procedimiento de control de jaque mate para una clase de los finales de ajedrez. La clase de los finales de ajedrez considerarse son los juegos de ajedrez que se construyen alrededor de un trebuchet, sólo están formados por peones y, cuya configuración se puede descomponer como suma de subjuegos independientes restringido a pertenecer a uno de los siguientes casos: i) cero o difusa juegos, y ii) los juegos positivos o negativos en el que el ganador tiene la posibilidad de conducir el juego para el caso (i). Además se permite a algunos tempos. La principal contribución consiste en responder a la pregunta de cómo un jugador de ajedrez jaque mate a sabiendas de que él está en una posición ganadora usando juego combinatorio herramientas matemáticas. Por una posición ganadora en un juego se entiende una posición en uno de los jugadores hace que el último movimiento en ese partido y en consecuencia obliga a su oponente para empezar a jugar en el próximo partido y así sucesivamente, hasta que al final juega por primera vez en la trebuchet y pierde la partida de ajedrez.

Ilustración 11: Reconocimiento de patrones



“Algorithm of location of chess-robot system based on computer vision” [11]

En este trabajo se demuestra el principio del sistema de ajedrez robot basado en visión por computador. Según mejorado transformada de Hough, se propuso un nuevo método de reconocimiento de imágenes para resolver el problema de la ubicación en el sistema de ajedrez robot. Resultados de la aplicación demostrar que este método tiene los altos rendimientos en la robustez, la velocidad y la precisión.

18

CAPÍTULO 2: MATLAB PARA ADQUISICIÓN DE IMÁGENES 4. Secuencia programa Dentro de la interfaz creada para el reconocimiento de fichas de ajedrez, se plantea la siguiente forma básica para la distribución de espacios en la GUI de Matlab.

Ilustración 12: Diseño de interfaz El usuario se encontrará con una pantalla que le reciba mientras espera la orden: activar cámara, para luego poder tomar la foto.

Ilustración 13: Entrada del programa 19

Por ahora, se toma la foto y se muestra en una pantalla diferente para ser almacenada en una carpeta previamente establecida.

Ilustración 14: Activación de cámara y foto tomada

Si en algún instante del proceso de reconocimiento se trata de tomar la foto sin haber activado la cámara se presenta un “error” porque el usuario no podrá situar la ficha adecuadamente ante la cámara.

Ilustración 15: Error de toma de foto 20

La interfaz también cuenta con un botón de salida para abandonar el programa, allí aparecerá una ventana para confirmar la salida.

Ilustración 16: Ventana emergente de salida

5. Descripción 1. 2. 3. 4. 5.

Investigar acerca del procesamiento de imágenes. Buscar funciones de Matlab que permitan la conexión de la cámara. Hacer el diseño de la interfaz, refiriéndose a la ubicación de los elementos. Ingresar al callback de los botones para hacer la programación. Dentro del programa, realizar la activación del preview para poder ubicar la pieza ante la cámara. 6. En el callback del botón Foto, introducir el código para tomar el pantallazo del preview y guardar la foto. 7. Mostrar la foto tomada en una nueva ventana. 8. En el callback del botón Salir, Introducir el código para crear una ventana emergente de confirmación y abandonar el programa. 9. Presentar una ventana emergente con un mensaje de error, cuando se tome una foto sin activar la cámara. 10. Investigar acerca de técnicas de clasificación de patrones estadísticos. En el archivo Reconocimiento_FichasAjedrez.m está el código utilizado en la toma de fotos del programa y en Reconocimiento_FichasAjedrez.fig está la aplicación para tomar la foto y guardarla. Anexados al documento. 21

6. Funciones destacadas    

Videoinput () Función utilizada para tomar la entrada de video proveniente de la cámara. Preview () Función utilizada para visualizar la imagen que muestra la cámara. Getsnapshot () Función utilizada para tomar el pantallazo. Imshow () Función utilizada para mostrar la imagen que se almacenó en la objeto de video.

22

BIBLIOGRAFÍA [1] Solomon, C., Gibson, S., & Breckon, T. (2010). Fundamentals of Digital Image Processing: A Practical Approach Using Matlab. Hoboken, NJ, USA: John Wiley & Sons.

[2] Marques, O. (2011). Practical Image and Video Processing Using MATLAB. Somerset, NJ, USA: Wiley-IEEE.

[3] Sokic, E.; Ahic-Djokic, M., "Simple Computer Vision System for Chess Playing Robot Manipulator as a Project-based Learning Example," Signal Processing and Information Technology, 2008. ISSPIT 2008. IEEE International Symposiumon, vol., no., pp.75, 79, 16-19 Dec. 2008

[4] Huasheng Zhu; Jiner Lei; Xiumei Tian, "A pattern recognition system based on

computer vision — The method of Chinese chess recognition," Granular Computing, 2008. GrC 2008. IEEE International Conference on, vol., no., pp.865, 868, 26-28 Aug. 2008

[5] Khater, I.M.; Ghorab, A.S.; Aljarrah, I.A., "Chessboard recognition system using signature, principal component analysis and color information," Digital Information Processing and Communications (ICDIPC), 2012 Second International Conference on , vol., no., pp.141,145, 10-12 July 2012

[6] Wu Gui; Tao Jun, "Chinese chess recognition algorithm based on computer vision," Control and Decision Conference (2014 CCDC), The 26th Chinese, vol., no., pp.3375, 3379, May 31 2014-June 2 2014

[7] Su, Kuo-Lan; Li, Bo-Yi; Guo, Jr-Hung; Hsia, Kuo-Hsien, "Implementation of the chess game artificial intelligent using mobile robots," Soft Computing and Intelligent Systems (SCIS), 2014 Joint 7th International Conference on and

23

Advanced Intelligent Systems (ISIS), 15th International Symposium on , vol., no., pp.169,174, 3-6 Dec. 2014

[8] Jia Yubo; Duan Yuntao; Wang Dianjun; Xue Long; Liu Zhanmin; Wang Wei, "Pieces Identification in the Chess System of Dual-Robot Coordination Based on Vision," Web Information Systems and Mining (WISM), 2010 International Conference on , vol.2, no., pp.248,251, 23-24 Oct. 2010

[9] Vazquez-Fernandez, Eduardo; Coello Coello, Carlos A.; Sagols Troncoso, Feliu D., "Assessing the positional values of chess pieces by tuning neural networks' weights with an evolutionary algorithm," World Automation Congress (WAC), 2012 , vol., no., pp.1,6, 24-28 June 2012

[10] Konigsberg, Z.R., "A combinatorial game mathematical checkmate control procedure for a class of chess endgames," Control and Decision Conference, 2008. CCDC 2008. Chinese, vol., no., pp.5301, 5307, 2-4 July 2008

[11] Shuying Zhao; Chao Chen; Chunjiang Liu; Meng Liu, "Algorithm of location of chess-robot system based on computer vision," Control and Decision Conference, 2008. CCDC 2008. Chinese, vol., no., pp.5215, 5218, 2-4 July 2008

24

ANEXOS A. ELEMENTOS BÁSICOS EN MATLAB 1. ENTORNO DE TRABAJO 

 

Escritorio (desktop): contiene la ventana de comando, navegador de espacio de trabajo, ventana de directorio, historial de comandos y la ventana de guide. Editor: se utiliza para crear y editar archivos .m Sistema de ayuda: ventana de ayuda de comandos, contiene las opciones de búsqueda y visualización.

Tipo de datos

Ilustración anexo 1: Tipo de datos en matlab

Clases numéricas: uint8, uint16, uint32, int8, int16, int32 y single Clase doble: double Matrices estándar       

Zeros (m, n) crea una matriz de m × n de ceros. Ones (m, n) crea una matriz de m × n de unos. True (m, n) crea una matriz de m × n de unos lógicos. False (m, n) crea un m × n matriz de ceros lógicos. Eye (n) devuelve una matriz n × n de identidad. Rand (m, n) crea una matriz m × n cuyas entradas son números pseudoaleatorios uniformemente distribuidos. Randn (m, n) crea una matriz m × n cuyas entradas son números pseudoaleatorios que siguen una distribución normal es decir, Gaussiana. 25

Operaciones de línea de comandos Una operación de línea de comandos es equivalente a ejecutar una línea de código, si la línea no incluye una variable a la que se le debe asignar el resultado, se le asigna a un sistema por defecto “ans”. La interfaz que MATLAB proporciona sobre la línea de comandos es la manera más efectiva para acceder a las funciones sin necesidad de recurres a los menús.

2. HERRAMIENTAS DE PROGRAMACIÓN M-Files En MATLAB los “M-Files” pueden ser secuencias de comandos que simplemente ejecutan una serie de comandos o declaraciones o también pueden ser funciones que aceptan argumentos y producir uno o más valores de salida. En MATLAB la “M-Extension” es la manera fácil de llamar desde la línea de comandos un “M-File”. Operadores Los operadores aritméticos: realizar cálculos numéricos en matrices. Operadores relacionales: comparar operandos. Operadores lógicos: realizar funciones lógicas estándar.

Ilustración anexo 2: Operadores en matlab

26

Ilustración anexo 3: Operadores lógicos en matlab

Número Representación MATLAB puede representar números en notación decimal convencional (punto decimal), notación científica (letra “e” para especificar un exponente de potencias de 10) y números complejos (letra “i” como sufijo para la parte imaginaria). Control de flujo      

If Elseif Switch For While Break

Optimización de código MATLAB utiliza un lenguaje vectorizado el cual puede realizar muchas operaciones en los números agrupados como vectores o matrices sin sentencias de bucle, este código vectorizado es más eficiente.

B. TERMINOLOGÍA





Topología de imagen: investigación de las propiedades fundamentales de la imagen, normalmente se hacen en imágenes binarias con ayuda de operadores morfológicos. Barrio: es la matriz más pequeña que contiene al pixel de referencia, es decir los pixeles que rodean a un pixel dado. Los “square arrays” (arreglos cuadrados) son los barrios más utilizados en los algoritmos de procesamiento de imágenes, tienen un número impar de pixeles. En la topología de imágenes los conceptos cambian un poco, pues vecindad es el

27

conjunto de pixeles situados encima, debajo, derecha e izquierda del pixel de referencia y el barrio es el conjunto de todos los vecinos. 

Adyacencia: en la topología de imágenes, dos pixeles X y Z son 4adyacentes si son 4-vecinos el uno con el otro y 8-adyacentes si son 8vecinos el uno con el otro. La adyacencia mixta o m-adyacencia se utiliza para eliminar las rutas redundantes que surjan cuando se utiliza la 8adyacencia.



Caminos: en la topología de imágenes, un camino de 4 entre dos pixeles X y Z es una secuencia de pixeles que comienzan con X y terminan con Z siempre y cuando cada pixel de la secuencia sea 4-adyacente a su predecesor.



Conectividad: ruta de 4 entre pixeles X y Z (4-conectados) y ruta de 8 entre X y Z (8-conectados).



Componentes: son los conjuntos de pixeles que están conectados el uno con el otro; 4-conectados es a 4-componente. Se etiquetan de tal manera que resulta una imagen etiquetada C(x, y) en donde x e y son símbolos de un alfabeto elegido.

En MATLAB existe una función para el etiquetado de los componentes conectados en imágenes binarias (bwlabel). Otra función ayuda a visualizar los resultados que se obtienen coloreando cada región con diferentes colores (label2rgb). La distancia entre dos píxeles depende sólo de sus coordenadas y no sus valores.

Ilustración anexo 4: Etiquetado de imágenes en matlab

28

Lihat lebih banyak...

Comentarios

Copyright © 2017 DATOSPDF Inc.