UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL PROYECTO FIN DE CARRERA APLICACIÓN DE LAS MÁQUINAS DE SOPORTE VECTORIAL PARA EL RECONOCIMIENTO DE MATRÍCULAS AUTOR: ESTHER GUTIÉRREZ ALONSO MADRID, Junio 2007 Autorizada la entrega del proyecto al alumno: Esther Gutiérrez Alonso LOS DIRECTORES DEL PROYECTO Eugenio Sánchez Úbeda Fdo: Fecha: Ana Berzosa Muñoz Fdo: Fecha: Vº Bº del Coordinador de Proyectos Tomás Gómez San Román Fdo: Fecha: RESUMEN DEL PROYECTO iii APLICACIÓN DE LAS MÁQUINAS DE SOPORTE VECTORIAL PARA EL RECONOCIMIENTO DE MATRÍCULAS Autor: Gutiérrez Alonso, Esther. Directores: Sánchez Úbeda, Eugenio; Berzosa Muñoz, Ana. Entidad Colaboradora: ICAI – Universidad Pontificia Comillas. RESUMEN DEL PROYECTO En la actualidad, el reconocimiento automático de matrículas tiene numerosas aplicaciones: identificar vehículos robados, realizar automáticamente el pago en peajes, controlar el acceso en los aparcamientos, etc. Habitualmente, el reconocimiento se basa en técnicas de Inteligencia Artificial, siendo el método más utilizado el de las redes neuronales. Éstas han demostrado tener una buena capacidad para identificar matrículas, pero no resultan fiables al 100%. Como alternativa al empleo de redes neuronales artificiales para realizar el reconocimiento, es posible utilizar otro tipo de técnicas de Inteligencia Artificial. En concreto, las Máquinas de Soporte Vectorial (también conocidas como SVM) han demostrado ser superiores en muchos campos como, por ejemplo, el del reconocimiento facial. Destacan por su gran versatilidad y por sus prestaciones. Son un método de clasificación que se basa en encontrar el mejor hiperplano que separa dos conjuntos de datos pertenecientes a dos clases distintas. Para ello, se maximiza la distancia al punto más cercano de cada clase con el fin de obtener el menor error de generalización. Para hallar la frontera de separación, es necesario resolver un problema de optimización usando técnicas de programación cuadrática. A partir del hiperplano ajustado, se pueden clasificar nuevos datos en una de las dos categorías. Además, la SVM permite la separación de datos no linealmente separables, transformando los datos de entrada a un espacio de mayor dimensión conocido como espacio de características en el que sí pueden ser separados mediante un hiperplano. La transformación se realiza mediante unas funciones denominadas núcleo o kernels. Modificando distintos parámetros de las SVM se pueden obtener diferentes tipos de fronteras de separación. Habitualmente, las SVM se emplean para clasificación binaria. Para implementar las SVM, se ha utilizado una librería de Matlab específicamente desarrollada para trabajar con ellas. RESUMEN DEL PROYECTO iv En el reconocimiento de matrículas se tienen más de dos clases, puesto que cada letra y cada número a reconocer representan una categoría distinta. Para realizar dicha clasificación, es necesario resolver tantos problemas binarios como clases haya que identificar. En cada uno de ellos se considera una clase positiva y el resto negativas. Para ello, se ha desarrollado una aplicación que permite emplear las SVM de clasificación binaria con datos de más de dos clases. Antes de estudiar el comportamiento de las SVM en el reconocimiento de matrículas, se ha partido de un caso sencillo en el que se estudia la clasificación de tres tipos de figuras para poder analizar con mayor facilidad la capacidad de las SVM en la identificación de imágenes. Para ello, se ha realizado un generador de imágenes sintéticas que representan distintos símbolos. Las imágenes se tratan como matrices de números en las que el valor de cada elemento se corresponde con el color de cada píxel. Una de las dificultades del problema del reconocimiento de matrículas reside en encontrar, a partir de dichas matrices, unas variables adecuadas que ayuden a identificar cada carácter. Se ha estudiado el porcentaje de error cometido al clasificar las distintas imágenes utilizando distintos tipos de variables y para diferentes parámetros de la SVM. Para ello, se parte de un conjunto de datos denominado de aprendizaje con los que se obtiene el hiperplano de separación. El error se calcula clasificando otro conjunto de datos (conjunto de test o evaluación) y comparando su clase real con la que determina la SVM. Se ha podido comprobar que la capacidad de reconocimiento de la SVM depende en gran medida del tipo de variables empleadas y de los parámetros que permiten obtener distintos tipos de hiperplanos. Ajustando adecuadamente dichos parámetros, se ha llegado a conseguir un porcentaje de acierto del 100% en el caso de que las imágenes no estén contaminadas con ruido. Con niveles elevados de ruido, se obtienen porcentajes de error inferiores al 15%. Para la clasificación de las matrículas, se ha desarrollado previamente un generador de imágenes sintéticas (en escala de grises) que representan distintos caracteres que pueden aparecer en una matrícula real (letras y números). Para ello se han simulado efectos como que la matrícula pueda estar parcialmente doblada o inclinada, que la imagen capturada por la cámara sea poco nítida o que haya habido errores en el proceso de segmentación de la matrícula y los caracteres aparezcan desplazados. Utilizando el simulador desarrollado, se han generado del orden de 1000 ejemplos de caracteres, estudiándose por separado los números y las letras. Cada imagen tiene un RESUMEN DEL PROYECTO v tamaño de 15x15 píxeles, con 256 tonos de gris para cada píxel. Además de utilizar directamente estos datos como variables de entrada, se han utilizado otras variables derivadas para ayudar a la clasificación, así como preprocesados previos como la transformación de la imagen a blanco y negro puros. Entre las variables derivadas se han considerado las obtenidas al calcular histogramas, diferencias con imágenes patrón, diferentes reescalados, etc. Para el caso de los números, se ha logrado un error mínimo de un 8,6% de las imágenes del conjunto de test, mientras que para las letras se ha alcanzado un 11,3%. Estos porcentajes son reducidos sobre todo considerando el elevado número de clases a reconocer, especialmente en el caso de las letras. Además, gracias a haber utilizado imágenes sintéticas, se ha podido analizar el efecto independiente que tienen las posibles deformaciones de las matrículas en los errores de clasificación, siendo el reconocimiento especialmente sensible a las traslaciones de los caracteres. Imágenes reales Imágenes sintéticas correctamente reconocidas 2 2 2 2 4 4 4 4 6 6 6 6 8 8 8 8 10 10 10 10 12 12 12 12 14 14 14 14 5 10 15 5 10 15 5 10 15 2 2 2 2 4 4 4 4 6 6 6 6 8 8 8 8 10 10 10 10 12 12 12 12 14 14 14 5 10 15 5 10 15 5 10 15 5 10 15 14 5 10 15 RESUMEN DEL PROYECTO vi NUMBER PLATE RECOGNITION USING SUPPORT VECTOR MACHINES Automatic Number Plate Recognition can be applied at present for many purposes: identification of stolen vehicles, automatic toll payments, access control for car parks, etc. Recognition is usually based on Artificial Intelligence techniques, being neuronal networks the method most often used. These networks have shown a good capacity for recognizing number plates, although they are not 100% reliable. Other Artificial Intelligence techniques can be applied as an alternative to artificial neuronal networks for recognition purposes. Specifically, Support Vector Machines (or SVMs) have demonstrated to be superior in many areas such as facial recognition and they stand out due to their high versatility and features. They represent a method of classification based on finding the best hyperplane for separating two sets of data, each of a different class. For this aim, it is necessary to maximize the distance to the nearest point of each class of data, in order to minimize the generalisation error. To obtain the boundary of separation, a problem of optimization has to be solved, applying quadratic programming techniques. With the adjusted hyperplane, it is possible to classify new data within one of the two categories. Moreover, SVMs permit the separation of data that are not linearly separable, transforming input data into a larger space known as feature space which enables it to be separated via the hyperplane. This transformation is done through functions known as kernels. It is possible to obtain different types of separation boundaries by modifying the parameters of the SVM. Support Vector Machines are usually used for binary classification. A Matlab toolbox specially developed to work with SVMs has been employed to implement them. In the number plate recognition, more than two data classes are present, since each letter and number to be recognized represent a different category. For this classification, it is necessary to resolve as many binary problems as there are classes to identify. Within each one, there is one positive class while the rest are negative. With that purpose, an application has been developed to employ binary SVMs classification with more than two classes of data. Prior to studying the behaviour of SVMs for the recognition of number plates, a simple case was presented, studying the classification of three types of figures in order to more RESUMEN DEL PROYECTO vii easily analyse the SVM capacity for the identification of images. To this end, a generator of synthetic images representing different symbols was employed. The images were treated as matrices of numbers in which the value of each element represents the colour of each pixel. One of the difficulties of the problem of number plate recognition lies in finding adequate variables from such matrices that help to identify each character. The percentage of error occurring in the classification of images using different types of variables and for different SVM parameters was studied. For this purpose, a set of data known as training data was used to obtain the hyperplane of separation. The error is calculated by classifying another data set (test data) and comparing its real class versus the one determined by the SVM. It was verified that the SVM’s recognition capacity depends to a great extent on the type of variables employed and the parameters that allow to obtain different types of hyperplanes. Once such parameters are adjusted, a success level of 100% is reached when images are not contaminated with noise. With high noise levels, error percentages under 15% are obtained. For number plates classification, a generator of synthetic images (in a spectrum of greys) representing different real characters of plates (letters and numbers) was developed. For that, different effects were simulated: the number plate could be partially bent or inclined, the image caught by the camera is not sharp or errors appeared in the number plate’s segmentation process and characters are wrongly placed. By using the developed simulator, around 1000 examples of characters were generated, separately studying numbers and letters. Each image has a size of 15x15 pixels, with 256 shades of grey for each pixel. Besides the direct utilization of these data as input variables, other derived ones were used to facilitate the classification, as well as previous images processing such the character transformation into pure black and white. Between the derived variables, some as those obtained when calculating histograms, differences with pattern images or several figure sizes were considered. For numbers, the minimum error reached was 8.6% of the images tested, while that for letters was 11.3%. These percentages are low especially if we consider the high number of data classes to be recognized, particularly in the case of letters. Moreover, the utilization of synthetic images allowed the analysis of the independent effect that number plate deformations could have in classification errors, being the recognition especially sensitive to wrong placed characters. RESUMEN DEL PROYECTO viii Real images Synthetic images correctly recognized 2 2 2 2 4 4 4 4 6 6 6 6 8 8 8 8 10 10 10 10 12 12 12 12 14 14 14 5 10 15 5 10 15 14 5 10 15 2 2 2 2 4 4 4 4 6 6 6 6 8 8 8 8 10 10 10 10 12 12 12 12 14 14 14 5 10 15 5 10 15 5 10 15 5 10 15 14 5 10 15 Índice ix Índice 1 INTRODUCCIÓN .............................................................................................................................. 2 1.1 Reconocimiento automático de matrículas..................................................... 2 1.2 Objetivos del proyecto ....................................................................................... 4 1.3 Metodología ........................................................................................................ 4 2 INTRODUCCIÓN A LAS MÁQUINAS DE SOPORTE VECTORIAL.................................... 6 2.1 Máquinas de soporte vectorial para clasificación binaria ............................ 7 2.1.1 SVM lineal con margen máximo 2.1.2 SVM para la clasificación no lineal 12 2.1.3 SVM lineal con margen blando 14 7 2.2 Máquinas de soporte vectorial para clasificación multiclase..................... 17 2.3 Aplicación de las máquinas de soporte vectorial al reconocimiento de imágenes ............................................................................................................ 17 3 GENERADOR DE IMÁGENES SINTÉTICAS ........................................................................... 21 3.1 Clasificación de imágenes sin ruido .............................................................. 24 3.1.1 Resultados para el conjunto de variables 1 24 3.1.2 Resultados para el conjunto de variables 2 (histogramas horizontal y vertical) 31 3.1.3 Resultados para el conjunto de variables 3 34 3.1.4 Análisis de los resultados de la clasificación de símbolos sin ruido 37 3.2 Clasificación de imágenes con ruido ............................................................. 38 3.2.1 Resultados de la clasificación entrenando la SVM con imágenes del mismo porcentaje de ruido que el estudiado 3.2.1.1 Imágenes con un 5% de ruido ...................................................................................39 3.2.1.2 Imágenes con un 15% de ruido .................................................................................40 3.2.1.3 Imágenes con un 25% de ruido .................................................................................41 3.2.2 Resultados de la clasificación entrenando la SVM con imágenes sin ruido 3.2.3 Comparación de los resultados obtenidos para datos de aprendizaje con ruido y sin 3.2.4 39 42 ruido 43 Resultados de la clasificación conjunta de datos con diversos niveles de ruido 46 3.3 Análisis de los resultados de la clasificación de imágenes generadas sintéticamente ................................................................................................... 46 4 APLICACIÓN DE LAS SVM AL RECONOCIMIENTO DE MATRÍCULAS ...................... 50 4.1 Aplicación de las SVM al reconocimiento de números .............................. 51 Índice x 4.1.1 Clasificación de números centrados en la imagen con distintos niveles de ruido 55 4.1.1.1 Resultados de la clasificación ....................................................................................55 4.1.1.2 Análisis de los resultados de la clasificación de los números centrados en la imagen .......................................................................................................................................61 4.1.2 Clasificación de números deformados 62 4.1.2.1 Tipo de imágenes generadas .....................................................................................62 4.1.2.2 Resultados de la clasificación ....................................................................................64 4.1.2.3 Análisis de los resultados de números deformados...............................................68 4.2 Aplicación de las SVM al reconocimiento de letras .................................... 69 4.2.1 4.2.2 Clasificación de letras con distintos niveles de ruido 69 4.2.1.1 Resultados obtenidos..................................................................................................69 4.2.1.2 Análisis de los resultados de la clasificación de las letras con distintos niveles de ruido .......................................................................................................................................73 Clasificación de letras deformadas 73 4.2.2.1 Resultados de la clasificación de letras deformadas...............................................74 4.2.2.2 Análisis de los resultados de la clasificación de letras deformadas .....................76 4.3 Análisis de los resultados de la clasificación de los caracteres de las matrículas .......................................................................................................... 77 5 CONCLUSIONES............................................................................................................................. 79 5.1 Conclusiones sobre los resultados ................................................................. 79 5.2 Recomendaciones para futuros estudios ...................................................... 80 6 BIBLIOGRAFÍA................................................................................................................................ 82 6.1 Documentos ...................................................................................................... 82 6.2 Direcciones de Internet .................................................................................... 82 A TABLAS DE RESULTADOS DE LA CLASIFICACIÓN DE LAS LETRAS .......................... 85 B MANUAL DE USUARIO................................................................................................................ 94 Índice de Figuras xi Índice de Figuras Figura 1. Imagen de una matrícula borrosa........................................................................................... 2 Figura 2. Imagen de una matrícula mal iluminada. ............................................................................. 2 Figura 3. Localización de la matrícula en la imagen del vehículo. ..................................................... 3 Figura 4. Segmentación de la imagen de una matrícula. ..................................................................... 3 Figura 5. Separación de un conjunto de datos mediante SVM. .......................................................... 7 Figura 6. SVM con margen máximo (en negro están representados los vectores soporte)............. 9 Figura 7. Ejemplo de clasificación con SVM de margen máximo..................................................... 11 Figura 8. Ejemplo de un conjunto de datos no linealmente separables. .......................................... 12 Figura 9. Transformación de los datos de entrada a un espacio de mayor dimensión.................. 12 Figura 10. Fronteras de decisión obtenidas con una función núcleo gaussiana para σ=4 y σ=1.. 14 Figura 11. Clasificación con SVM de margen máximo de un conjunto de datos en el que existe un outlier. ........................................................................................................................... 15 Figura 12. Clasificación con SVM de margen blando......................................................................... 16 Figura 13. Fronteras de decisión para distintos valores de C............................................................ 17 Figura 14. Tratamiento de la fotografía de una matrícula oscura..................................................... 18 Figura 15. Tratamiento de las imágenes y conversión en matrices. ................................................. 18 Figura 16. Imágenes del conjunto de aprendizaje y valores de sus variables................................. 19 Figura 17. Frontera de decisión obtenida en la clasificación de las imágenes. ............................... 19 Figura 18. Representación de distintos símbolos obtenidos con el generador. .............................. 21 Figura 19. Imágenes con distinto nivel de ruido................................................................................. 23 Figura 20. Imágenes no reconocidas por la SVM cuando σ = 10 y cuando σ = 20.......................... 25 Figura 21. Valores de h(x) de las figuras de entrenamiento cuando σ= 1........................................ 28 Figura 22. Valores de h(x) de las figuras que forman el conjunto de validación............................ 29 Figura 23. Valores de h(x) de las figuras de entrenamiento. ............................................................. 30 Figura 24. Valores de h(x) de las figuras que forman el conjunto de validación............................ 30 Figura 25. Valores de h(x) de las figuras que forman el conjunto de aprendizaje para σ = 10. .... 32 Figura 26. Valores de h(x) de las figuras que forman el conjunto de validación σ = 10. ............... 33 Figura 27. Valores de h(x) de las figuras que forman el conjunto de validación para σ = 1. ....... 33 Figura 28. Fronteras de decisión obtenidas para la variable 3 y σ = 3 para símbolos sin ruido. .. 34 Figura 29. Fronteras de decisión obtenidas para la variable 3 y σ = 20 para símbolos sin ruido............................................................................................................................................... 36 Figura 30. Fronteras de decisión obtenidas para la variable 3 y σ = 10 para símbolos sin ruido............................................................................................................................................... 36 Figura 31. Ejemplo de figuras utilizadas para entrenar la SVM. ...................................................... 39 Figura 32. Fronteras de decisión para el conjunto de variables 3 y σ = 2. ...................................... 40 Índice de Figuras xii Figura 33. Imágenes de una circunferencia, de una vertical y de una horizontal con un 15% de ruido. ........................................................................................................................................ 40 Figura 34. Valores de h(x) para cada figura utilizada en el entrenamiento de la SVM. ................ 41 Figura 35. Símbolos con un 25% de ruido............................................................................................ 42 Figura 36. Error cometido en función del ruido para cada conjunto de variables. ........................ 42 Figura 37. Comparación de los resultados para el conjunto de variables 1. ................................... 43 Figura 38. Comparación de los resultados para el conjunto de variables 2. ................................... 44 Figura 39. Comparación de los resultados para el conjunto de variables 3. ................................... 44 Figura 40. Imágenes de una recta vertical y de una circunferencia clasificadas como círculos. . 45 Figura 41. Porcentaje de error en función del ruido para distintos valores de σ............................ 47 Figura 42. Ejemplo de las imágenes de números y letras empleadas en la clasificación............... 50 Figura 43. Fotografías reales de matrículas. ........................................................................................ 50 Figura 44. Imágenes de dos números con distinto número de píxeles. ........................................... 52 Figura 45. Imagen original e imagen modificada con la función imresize...................................... 52 Figura 46. Número antes de realizar un tratamiento de la imagen.................................................. 53 Figura 47. Histograma de los colores de la imagen. ........................................................................... 53 Figura 48. Figura tratada. ....................................................................................................................... 54 Figura 49. Imágenes patrón empleadas en la clasificación de números. ......................................... 54 Figura 50. Ejemplo de dos figuras pertenecientes a la misma clase. ................................................ 55 Figura 51. Imágenes con ruido empleadas en la clasificación........................................................... 55 Figura 52. Imagen de 15x15 píxeles e imagen correspondiente de 3x3............................................ 58 Figura 53. Comparación de los resultados obtenidos para el conjunto nº 4, el nº 5 y la combinación de ambos. ............................................................................................................... 61 Figura 54. Porcentaje de error cometido para cada conjunto de variables en función del ruido............................................................................................................................................... 62 Figura 55. Imagen rotada con la función imrotate e imagen corregida. .......................................... 63 Figura 56. Ejemplos de imágenes desplazadas. .................................................................................. 63 Figura 57. Ejemplo de imágenes dobladas horizontalmente............................................................. 63 Figura 58. Ejemplo de imágenes dobladas verticalmente.................................................................. 64 Figura 59. Ejemplo de imágenes deformadas con ruido.................................................................... 64 Figura 60. Números clasificados incorrectamente cuando se utilizan como variables los histogramas................................................................................................................................... 66 Figura 61. Imágenes que representan el número 6 mal clasificadas. ............................................... 67 Figura 62. Imágenes mal clasificadas.................................................................................................... 67 Figura 63. Porcentaje de error cometido para cada conjunto de variables...................................... 68 Figura 64. Imágenes patrón empleadas en la clasificación de las letras. ......................................... 69 Figura 65. Histograma del porcentaje de imágenes indeterminadas de cada tipo de letra. ......... 70 Figura 66. Histograma del porcentaje de imágenes incorrectamente clasificadas de cada letra.. 70 Índice de Figuras xiii Figura 67. Imágenes con un 20% de ruido mal clasificadas empleando el conjunto de variables nº5.................................................................................................................................. 71 Figura 68. Histograma del porcentaje de imágenes incorrectamente clasificadas de cada letra para el conjunto nº4. .................................................................................................................... 71 Figura 69. Histograma del porcentaje de imágenes incorrectamente clasificadas de cada letra para el conjunto nº5. .................................................................................................................... 72 Figura 70. Comparación del porcentaje de letras incorrectamente clasificadas tomando 500 y 750 imágenes de aprendizaje...................................................................................................... 72 Figura 71. Porcentaje de error cometido para cada conjunto de variables al variar el ruido. ...... 73 Figura 72. Ejemplos de figuras mal clasificadas al utilizar los elementos de la matriz como variables. ....................................................................................................................................... 75 Figura 73. Histograma de las figuras giradas mal clasificadas para los distintos ángulos de giro. ................................................................................................................................................ 76 Figura 74. Número de figuras no reconocidas para cada letra y cada conjunto de variables. ..... 76 Figura 75. Error en función del ruido en la clasificación de las letras y de los números............... 77 Índice de Tablas xiv Índice de Tablas Tabla 1. Resultados de la clasificación utilizando el conjunto de variables 1 para distintos valores de σ y de C....................................................................................................................... 25 Tabla 2. Número de vectores soporte de cada modelo sobre un conjunto de entrenamiento de 90 ejemplos.................................................................................................................................... 26 Tabla 3. Resultados de la clasificación utilizando el conjunto de variables 2 para distintos valores de σ. .................................................................................................................................. 31 Tabla 4. Número de vectores soporte de los tres modelos para el conjunto de variables 2 y C=100000, sobre un conjunto de entrenamiento de 90 ejemplos........................................... 32 Tabla 5. Número de vectores soporte de los tres modelos para el conjunto de variables 3.......... 37 Tabla 6. Comparación de los resultados obtenidos con el conjunto de variables 1 y 3. ............... 38 Tabla 7. Resultados de la clasificación de símbolos con un 5% de ruido. ....................................... 39 Tabla 8. Resultados de la clasificación de símbolos con un 15% de ruido. ..................................... 40 Tabla 9. Resultados de la clasificación de símbolos con un 25% de ruido. ..................................... 42 Tabla 10. Resultados de la clasificación de un conjunto de datos con distintos niveles de ruido............................................................................................................................................... 46 Tabla 11. Resultados de la clasificación de números con un 20% de ruido empleando el conjunto de variables nº 4. .......................................................................................................... 56 Tabla 12. Resultados de la clasificación de números con un 40% de ruido empleando el conjunto de variables nº 2. .......................................................................................................... 57 Tabla 13. Resultados de la clasificación de números con un 40% de ruido empleando el conjunto de variables nº 4. .......................................................................................................... 57 Tabla 14. . Resultados de la clasificación de números con un 40% de ruido empleando el conjunto de variables nº 5. .......................................................................................................... 58 Tabla 15. Resultados de la clasificación de números con un 40% de ruido empleando los elementos de matrices 3x3. ......................................................................................................... 59 Tabla 16. Resultados de la clasificación para números con un 70% de ruido empleando el conjunto de variables nº 2. .......................................................................................................... 59 Tabla 17. Resultados de la clasificación para números con un 70% de ruido empleando el conjunto de variables nº 4. .......................................................................................................... 60 Tabla 18. Resultados de la clasificación para números con un 70% de ruido empleando el conjunto de variables nº 5. .......................................................................................................... 60 Tabla 19. Resultados de la clasificación para números con un 70% de ruido empleando los conjuntos 4 y 5. ............................................................................................................................ 61 Tabla 20. Clasificación realizada por la SVM para cada número. .................................................... 65 Tabla 21. Clasificación realizada por la SVM para cada número. .................................................... 66 Índice de Tablas xv Tabla 22. Imágenes no reconocidas por la SVM para cada tipo de deformación. .......................... 68 Tabla 23. Imágenes no reconocidas por la SVM para cada tipo de deformación. .......................... 74 Tabla 24. Imágenes no reconocidas por la SVM para cada tipo de deformación. .......................... 75 Tabla 25. Resultados de la clasificación de imágenes con un 20% de ruido empleando los histogramas de la matriz en blanco y negro............................................................................. 85 Tabla 26. Resultados de la clasificación de imágenes con un 40% de ruido empleando los elementos de la matriz en blanco y negro. ............................................................................... 86 Tabla 27. Resultados de la clasificación de imágenes con un 40% de ruido empleando los histogramas de la matriz en blanco y negro............................................................................. 87 Tabla 28. Resultados de la clasificación de imágenes con un 40% de ruido empleando el conjunto de variables nº 5. .......................................................................................................... 88 Tabla 29. Resultados de la clasificación de imágenes con un 70% de ruido empleando los elementos de la matriz en blanco y negro. ............................................................................... 89 Tabla 30. Resultados de la clasificación de imágenes con un 70% de ruido empleando los histogramas de la matriz en blanco y negro............................................................................. 90 Tabla 31. Resultados de la clasificación de imágenes con un 70% de ruido empleando el conjunto de variables n º5. .......................................................................................................... 91 Tabla 32. Resultados de la clasificación de imágenes con un 70% de ruido empleando el conjunto de variables nº 5 y un 750 imágenes de aprendizaje............................................... 92 1 Introducción 1 Introducción 1 2 Introducción 1.1 Reconocimiento automático de matrículas Detectar los automóviles que cometen una infracción de tráfico, identificar vehículos robados, realizar automáticamente el pago en peajes o controlar el acceso en los aparcamientos es posible gracias al reconocimiento automático de matrículas. Éste combina la aplicación de técnicas de tratamiento de imágenes con técnicas de reconocimiento de patrones, típicamente basadas en Inteligencia Artificial. En la actualidad, existen distintos métodos para el reconocimiento automático de matrículas (también conocido como ANPR: Automatic Number Plate Recognition). Éstos están basados fundamentalmente en redes neuronales, aunque no resultan fiables al 100%. Los casos en los que suelen fallar en mayor medida se producen cuando: - Los caracteres no son suficientemente nítidos debido a suciedad en la matrícula o porque algún objeto obstaculiza la visión. - La resolución de la fotografía es mala o la imagen está desenfocada y los caracteres aparecen borrosos (Figura 1). Figura 1. Imagen de una matrícula borrosa. - La iluminación no es la adecuada (Figura 2). Figura 2. Imagen de una matrícula mal iluminada. Como alternativa al empleo de redes neuronales artificiales para realizar el reconocimiento, es posible utilizar otro tipo de técnicas de Inteligencia Artificial. En concreto, las máquinas de soporte vectorial (también conocidas como SVM) han demostrado ser superiores en muchos campos, especialmente en el del reconocimiento facial. Una de las ventajas que presentan las SVM frente a las redes neuronales es su capacidad para minimizar el error de generalización (ver el capítulo 2). 1 Introducción 3 Además, resultan mucho más versátiles debido a los parámetros que se pueden ajustar y que permiten optimizar la clasificación. Por estas razones, las SVM podrían ser una buena solución en el reconocimiento de matrículas, incluso en situaciones en las que otros clasificadores presentan un alto porcentaje de error. La primera etapa del reconocimiento de matrículas es realizar una fotografía del vehículo. Una vez capturada la imagen, es necesario localizar la matrícula dentro de dicha imagen y aislarla (Figura 3). Figura 3. Localización de la matrícula en la imagen del vehículo. A continuación, utilizando un segmentador se divide la fotografía de la matrícula en los diferentes caracteres que la forman como se puede observar en la Figura 4. Figura 4. Segmentación de la imagen de una matrícula. Los procesos de localización y segmentación se realizan combinando técnicas estadísticas (basadas en el análisis de histogramas) y de tratamiento de imágenes para obtener una imagen en blanco y negro puros. Una vez segmentada la matrícula, se identifican los diferentes caracteres que la forman, reconociendo cada uno de ellos por separado. Este proceso se realiza normalmente utilizando un modelo de clasificación que, a partir de la información de la imagen, decide el carácter al que corresponde. En el proyecto que nos ocupa, esta clasificación se va a realizar utilizando SVM. 1 Introducción 1.2 4 Objetivos del proyecto Los objetivos de este proyecto son los siguientes: - Estudiar y determinar las ventajas e inconvenientes de las máquinas de soporte vectorial en procesos de clasificación y su aplicación al reconocimiento de imágenes. - Desarrollar un prototipo que permita aplicar las SVM al reconocimiento de matrículas. - Desarrollar un generador automático de imágenes sintéticas para alimentar al reconocedor. - Evaluar los resultados obtenidos tanto en un caso sintético como en un caso real, discutiendo ventajas e inconvenientes del enfoque propuesto. 1.3 Metodología El entorno de programación que se ha utilizada es Matlab. La ventaja que proporciona es que posee una librería destinada a la manipulación y el procesado de imágenes (la Image Processing Toolbox). Las funciones que contiene permiten trabajar fácilmente con el elevado número de fotografías que se han tenido que manejar para la realización de este proyecto. Para implementar las máquinas de soporte vectorial se ha usado una librería de Matlab desarrollada por la Universidad de Southampton disponible en la página Web www.isis.ecs.soton.ac.uk/resources/svminfo/. Se han desarrollado un conjunto de funciones que permiten aplicar esta librería al reconocimiento de imágenes para, posteriormente, poder llevar a cabo las simulaciones necesarias para cumplir con los objetivos del proyecto. En este proyecto primero se ha estudiado la aplicación de las SVM a la identificación de figuras sencillas para analizar su capacidad de reconocer imágenes. Posteriormente, se han empleado para el reconocimiento de los caracteres de las matrículas. 2 Introducción a las Máquinas de Soporte Vectorial 2 Introducción a las máquinas de soporte vectorial 2 6 Introducción a las máquinas de soporte vectorial Las máquinas de soporte vectorial surgieron como un método de clasificación basado en la teoría de minimización del riesgo estructural de Vapnik. En la actualidad, tienen numerosas aplicaciones debido a su versatilidad y a sus prestaciones. Las SVM se han utilizado con éxito en campos como la recuperación de información, la categorización de textos, el reconocimiento de escritura o la clasificación de imágenes. Para poder clasificar con las máquinas de soporte vectorial, se comienza realizando una etapa de aprendizaje. Consiste en encontrar el hiperplano h(x) = 0 que mejor separe un conjunto de datos X ∈ ℜ d según la clase Y ∈ {-1,1} a la que pertenecen. Dicho hiperplano se corresponde con el que maximiza la distancia al punto más próximo de cada clase, por lo tanto, estará a la misma distancia de los ejemplos más cercanos entre ellos de cada categoría. Según la teoría de Vapnik, el separador lineal que maximiza el margen (2 veces la distancia al punto más próximo de cada clase) es el que nos da la mayor capacidad de generalización, es decir, la capacidad de distinguir características comunes de los datos de cada clase que permitan clasificar imágenes que no sean las del conjunto de entrenamiento. Para hallarlo, es necesario resolver un problema de optimización usando técnicas de programación cuadrática. A los datos que se utilizan para hallar la frontera de decisión (el hiperplano), se les conoce como vectores de entrenamiento o de aprendizaje. A partir de unos datos de entrada xi, las SVM nos proporcionarán su clase según la regla de clasificación f(xi) = signo(h(xi)). 2 Introducción a las máquinas de soporte vectorial 7 Hiperplano separador Clase 1 Clase 2 Margen Figura 5. Separación de un conjunto de datos mediante SVM. Tras la fase de aprendizaje, se comprueba el error cometido tomando otra muestra de datos (denominados conjunto de test o validación) y comparando la salida que obtenemos con su clase real. De una muestra de datos se suele tomar habitualmente un 75% como vectores de aprendizaje y el 25% restante se utiliza para poder comprobar la fiabilidad de la frontera de decisión obtenida. 2.1 Máquinas de soporte vectorial para clasificación binaria En los procesos de clasificación binaria sólo existen 2 clases: una es considerada como la positiva (y = 1) y la otra como la negativa (y = -1). Puede ocurrir que los datos no sean linealmente separables o que exista un cierto nivel de ruido. Según esto se pueden emplear distintos tipos de SVM: SVM lineal con margen máximo, SVM para la clasificación no lineal o SVM con margen blando. 2.1.1 SVM lineal con margen máximo Sólo se debe emplear cuando los datos son linealmente separables, es decir, cuando se puede usar como frontera de decisión un hiperplano h(x) tal que: h( x ) = ω T x + b = 0 donde ω y x ∈ ℜ d, siendo d la dimensión del espacio de entrada. 2 Introducción a las máquinas de soporte vectorial 8 Supongamos que se tiene un conjunto de n datos linealmente separables {(x1, y1), (x2,y2),…, (xn, yn)} donde xi ∈ ℜ d e yi ={-1,1}. Entonces, según el lado en el que se encuentren respecto del hiperplano, se cumplirá: ω T x i + b > 0 , para yi = 1, i = 1,…, n ω T x i + b < 0 , para yi = − 1 , i = 1,…, n Estas 2 ecuaciones pueden reducirse a: yi (ω T x i + b) > 0 , i = 1,…, n Para la resolución del problema, se considera que los puntos más cercanos al hiperplano, denominados vectores soporte, cumplen: h( x i ) = 1 , para yi = 1 h(x i ) = −1 , para yi = − 1 Por tanto, como no puede haber datos del conjunto de aprendizaje dentro del margen, la ecuación yi (ω T x i + b) > 0 quedaría: y i (ω T x i + b) ≥ 1 , i = 1,…, n La distancia dist(h,x) de un punto a un hiperplano es: dist (h, x) = h ( x) ω xxxx Como se ha visto, los puntos más cercanos al hiperplano cumplen h( ) = 1 , por lo que su distancia al hiperplano sería: dist (h, x ) = 1 ω Para hallar la frontera de decisión que mejor separa un conjunto de puntos según las SVM (es decir, encontrar los valores de ω y b), se resuelve un problema de 2 Introducción a las máquinas de soporte vectorial 9 optimización que consiste en maximizar la distancia dist(h,x) entre el hiperplano y el punto de entrenamiento más próximo: 1 ω Max Sujeto a: y i (ω T x i + b) ≥ 1 i = 1,…, n h ( x) = 0 y=1 h( x) = 1 1 ω h( x) = −1 y = −1 1 ω Figura 6. SVM con margen máximo (en negro están representados los vectores soporte). Se puede demostrar que al minimizar ω 2 / 2 se obtiene la misma solución que al maximizar 1 / ω . El problema se puede expresar en su formulación dual que es más fácil de resolver. Para ello, se utiliza la ecuación de Lagrange y las condiciones de KarushKuhn-Tucker: L(ω, b, α ) = 1 ω 2 2 n ( ( + ∑ α i 1 − yi ωT x i + b i =1 n ∂L(ω, b, α ) = 0 → ω = ∑ yiα i x i ∂ω i =1 n ∂L(ω, b, α ) = 0 → ∑ yiα i = 0 ∂b i =1 α i (1 − y i (ω T x i + b )) = 0 1≤ i ≤ n )) 2 Introducción a las máquinas de soporte vectorial α i (1 − y i (ω T x i + b )) = 0 1≤ i ≤ n (1 − y (ω 1≤ i ≤ n i T )) xi + b ≤ 0 αi ≥ 0 10 1≤ i ≤ n Las condiciones de Karush-Kuhn-Tucker implican que, sólo en el caso en el que los datos no son vectores soporte, α i = 0 . Sustituyendo en la ecuación de Lagrange, se obtiene la función objetivo de la formulación dual: n L(ω, b,α ) = ∑ α i − i =1 1 n T y i y j α iα j x i x j ∑ 2 i , j =1 n Maximizar ∑α i − i =1 n Sujeto a ∑yα i =1 i i 1 n T y i y jα iα j x i x j ∑ 2 i , j =1 =0 αi ≥ 0 1≤ i ≤ n Al resolverlo, se obtiene la siguiente solución: n ω = ∑ y iα i x i i =1 n h ( x ) = ω T x + b = ∑ y iα i x i x + b T i =1 b=− ( { } { 1 max yi = −1 ω T x j + min yi =1 ω T x j 2 }) En la ecuación del hiperplano se puede observar que éste sólo depende de los vectores soporte ya que el resto de los puntos cumplen α = 0 . Esto significa que si se volviera a calcular la frontera de decisión únicamente con los vectores soporte, se llegaría a la misma solución. 2 Introducción a las máquinas de soporte vectorial 11 Ejemplo: En la Figura 7 se muestra un ejemplo de clasificación con SVM de margen máximo. Los cuadrados simbolizan y = 1 y los círculos y = -1. 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 Figura 7. Ejemplo de clasificación con SVM de margen máximo. Al resolver el problema de optimización con los datos de la figura se obtuvieron los siguientes resultados: b = −7 , α (4 , 2 ) = 1 , α (4 , 4 ) = 0.5 y α (6 , 2 ) = 1 (para el resto de los puntos α vale 0). Con estos valores se obtienen ω y h(x): n ω = ∑ yiα i x i = −1 ⋅1 ⋅ (4,2 ) + 1 ⋅ 0.5 ⋅ (4,4 ) + 1 ⋅ 0.5 ⋅ (6,2) = (1,1) i =1 h( x) = ω1 x1 + ω 2 x2 + b = x1 + x2 − 7 Los vectores soporte son los puntos (4,2), (4,4) y (6,2) puesto que son los únicos para los que α no es nulo. La distancia de estos puntos al hiperplano es: dist (h, x) = h(x ) ω = 1 1 +1 2 2 = 1 2 Para conocer la clase a la que pertenece un vector cualquiera, se aplica la regla f(xi)= signo(h(xi)). Por ejemplo, la clase de un vector xi cuyas coordenadas son (3,2) sería: f (x i ) = signo(h(x i )) = signo(3 + 2 − 7) = −1 → yi = −1 2 Introducción a las máquinas de soporte vectorial 2.1.2 12 SVM para la clasificación no lineal Puede ocurrir que los puntos no sean linealmente separables en el espacio de entrada, como se muestra en el ejemplo de la Figura 8. 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Figura 8. Ejemplo de un conjunto de datos no linealmente separables. Cuando esto sucede, existe la posibilidad de transformar los datos a un espacio ℑ de mayor dimensión (el espacio de características) en el que los puntos sí pueden ser separados por un hiperplano (Figura 9). Para ello, se utiliza una función Φ , tal que: Φ: ℜD → ℑ x → Φ(x) La frontera de decisión resultante en el espacio de entrada ya no será lineal. Espacio de entrada Espacio de características Figura 9. Transformación de los datos de entrada a un espacio de mayor dimensión. Las funciones que se usan para poder realizar esta transformación se llaman funciones núcleo o kernels. Representan el producto vectorial en el espacio de características. 2 Introducción a las máquinas de soporte vectorial Si, por ( ejemplo, 13 tuviéramos una ) transformación de Φ ℜ2 en ℜ3 : Φ( x1 , x2 ) = x1 , 2 x1 x2 , x2 , el producto escalar < Φ ( x), Φ ( x ′) > en el espacio de 2 2 características sería: ( )( < Φ (x), Φ (x ′) >= x1 , 2 x1 x 2 , x 2 ⋅ x1′ , 2 x1′ x 2′ , x 2′ 2 2 2 ) = ((x , x ) ⋅ (x′ , x′ ) ) 2 T T 2 1 2 1 2 =< x, x ′ > 2 Por lo tanto, el producto escalar < Φ ( x), Φ ( x ′) > en el espacio de características se puede calcular como < x, x ′ > 2 , es decir, a partir del producto escalar en el espacio de entrada. En este caso el kernel asociado al espacio de características es K (x, x ′) =< x, x ′ > 2 . La función núcleo permite calcular el producto escalar < Φ (x), Φ (x ′) > sin tener que calcular la transformación Φ. En las SVM de margen máximo, la solución que se obtenía era: n h ( x ) = ∑ y iα i x i x + b T i =1 Para obtener la frontera de decisión para la SVM no lineal, se sustituye el producto T vectorial del espacio de entrada x i x por el del espacio de características que se corresponde con la función núcleo: n h(x ) = ∑ yiα i K (x i , x ) + b i =1 Entre las funciones núcleo más utilizadas destacan: - La polinómica: ( K (x, x ′) = x T ⋅ x ′ + c ) d c ∈ ℜ, d ∈ ℵ - La gaussiana: − x − x′ K (x, x′) = exp 2σ 2 2 σ >0 2 Introducción a las máquinas de soporte vectorial 14 - La sigmoidal: (( ) ) K (x, x ′) = tanh s x T ⋅ x' + r s, r ∈ ℜ Cuando se habla de kernel lineal se hace referencia al producto vectorial en el espacio de entrada que equivale a emplear la SVM de margen máximo: K (x, x ′) = x T ⋅ x Según el tipo de función núcleo y de los valores de sus parámetros, se pueden obtener distintas fronteras de decisión. En la Figura 10 se muestran fronteras obtenidas con una función gaussiana para el mismo conjunto de datos pero con dos valores de σ distintos. σ =4 σ =1 Figura 10. Fronteras de decisión obtenidas con una función núcleo gaussiana para σ=4 y σ=1. A partir de un conjunto de datos no se puede saber de antemano cuál será el mejor kernel y los mejores valores de sus parámetros para hallar el separador óptimo. Para conocer cuáles son los parámetros de la SVM más indicados se resuelve el problema para un conjunto de datos y con otro conjunto de test se analiza el error. La función que se usará para la clasificación será aquella con la que se consiga la menor cantidad de puntos incorrectamente clasificados. Generalmente, la función gaussiana es la que permite conseguir los separadores que mejor se adaptan a los datos. 2.1.3 SVM lineal con margen blando En algunos casos, puede existir ruido debido a errores en la recogida de datos o por la presencia de algún outlier (dato atípico). En este caso no es conveniente que la SVM se ajuste totalmente a los datos. 2 Introducción a las máquinas de soporte vectorial 15 En la Figura 11 se observan dos conjuntos de datos y la frontera de decisión que se obtendría con la SVM de margen máximo. Cada conjunto está agrupado excepto por un punto que se encuentra muy próximo de los de la otra clase. Éste se puede corresponder con un dato atípico o que ha sido clasificado erróneamente. Este punto no debería ser considerado para hallar la frontera de decisión ya que al ser una excepción podría alterar los resultados deseados y nos llevaría a clasificar incorrectamente nuevos datos. Figura 11. Clasificación con SVM de margen máximo de un conjunto de datos en el que existe un outlier. La SVM tiene que ser más robusta para tener una mayor capacidad de generalización. Esto se consigue introduciendo unas variables de holgura ξ en el problema de optimización: Minimizar n 1 T ω ω + C∑ξi 2 i =1 Sujeto a: yi (ω T x i + b) ≥ 1 − ξ i 1≤ i ≤ n ξi ≥ 0 1≤ i ≤ n Siendo la formulación dual del problema la siguiente: n Maximizar ∑α i =1 i − n Sujeto a: ∑yα i =1 i i ( 1 n ∑ y i y jα iα j K x i , x j 2 i , j =1 =0 ) 2 Introducción a las máquinas de soporte vectorial 16 0 ≤ αi ≤ C 1≤ i ≤ n Las variables ξ i permiten que las restricciones no se cumplan de manera estricta: puede haber datos que cumplan yi h( x) < 1 . Si yi h( x) < 0 , significa que x está en el lado incorrecto del hiperplano. h( x ) = 0 0 < y ⋅ h( x) < 1 0 < ξ <1 y ⋅ h( x) < 0 1<ξ h( x) = −1 h( x) = 1 Figura 12. Clasificación con SVM de margen blando. La única diferencia con la SVM de margen máximo está en que α no puede ser mayor que un valor C. Este parámetro permite controlar el número de errores de clasificación permitidos en la etapa de aprendizaje. Cuanto mayor es C menos ejemplos de entrenamiento serán mal clasificados. La SVM de margen máximo se corresponde con el caso en el que C = ∞ . Los datos x para los que y ⋅ h( x) = 1 cumplen α < C , mientras que para los que y ⋅ h(x) < 1 , α = C . Todos ellos son considerados vectores soporte. En la Figura 13 se puede observar un caso real en donde se ha ajustado un SVM con kernel lineal y varios valores de C. Los vectores soporte de este problema son: - Para C = ∞: los vectores 9, 10 y 16. - Para C = 2 y C = 0.2: los vectores 6, 9, 10 y 16. 2 Introducción a las máquinas de soporte vectorial 17 10 5 9 C = 0.2 7 4 8 C=2 C = inf 8 3 7 6 16 6 5 2 4 1 14 15 9 11 13 3 10 2 12 1 0 0 2 4 6 8 10 12 14 16 Figura 13. Fronteras de decisión para distintos valores de C. 2.2 Máquinas de soporte vectorial para clasificación multiclase Las SVM se usan habitualmente para problemas de tipo binario. En la cuestión que se va a intentar solucionar en este proyecto tenemos más de dos clases, puesto que cada letra o número representa una categoría distinta. Una de las soluciones para resolver este problema multiclase es convertirlo en varios binarios. Para ello, existen 2 métodos distintos: - Clasificación 1-v-r (del inglés one-versus-rest): en cada uno de los problemas se considera una clase positiva y las demás negativas, por lo que habrá que hallar tantos hiperplanos como clases existan. - Clasificación 1-v-1 (del inglés one-versus-one): para cada problema se toman 2 clases de las K totales. Se compara cada clase con cada una de las restantes, lo que supone realizar K(K - 1)/2 clasificaciones. El primer enfoque es el más habitual y el que se ha seguido en este trabajo. 2.3 Aplicación de las máquinas de soporte vectorial al reconocimiento de imágenes En el proceso de clasificación de una imagen existen tres fases principales: - Tratamiento de la imagen para mejorar la nitidez (Figura 14). 2 Introducción a las máquinas de soporte vectorial 18 Figura 14. Tratamiento de la fotografía de una matrícula oscura. - Búsqueda de variables representativas a partir de los valores del color de cada pixel. - Selección de los parámetros adecuados de las SVM (función kernel, valor del parámetro C…). El objetivo de estas etapas es facilitar la identificación de las imágenes a las SVM para conseguir minimizar el error al clasificarlas. A continuación se muestra un ejemplo de cómo aplicar las SVM al reconocimiento de la imagen de una línea horizontal y de una línea vertical. Primero se tratan las imágenes y se convierten en matrices (Figura 15). Tratamiento de imagen Conversión en matriz 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 1 1 1 1 1 0 0 1 1 1 1 1 0 0 1 1 1 1 1 0 0 1 1 1 1 1 0 0 1 1 1 1 1 0 0 1 Figura 15. Tratamiento de las imágenes y conversión en matrices. A partir de la información contenida en las matrices es necesario encontrar las variables que permitan que la SVM reconozca fácilmente las figuras. En este caso se podrían usar dos variables (x,y) tal que: - x: nº de columnas en el que al menos uno de sus elementos es 0. 2 Introducción a las máquinas de soporte vectorial 19 - y: nº de filas en el que al menos uno de sus elementos es 0. Las imágenes utilizadas en el entrenamiento de la SVM aparecen en la Figura 16. (6,2) (8,1) (7,3) (3,7) (1,5) (2,7) Figura 16. Imágenes del conjunto de aprendizaje y valores de sus variables. En la Figura 17 se muestran las imágenes en el espacio de entrada. Como se puede observar con las variables empleadas los datos de cada clase aparecen agrupados y son linealmente separables por lo que dichas variables son las adecuadas para la identificación de líneas horizontales y verticales. La SVM puede encontrar fácilmente un hiperplano que separe cada clase. Si se tuviera una imagen desconocida (representada en rojo en la imagen) pero cuyas variables son conocidas, según en qué lado del hiperplano se encuentre se podrá saber qué tipo de figura es. En este caso sería una línea vertical. 8 7 Línea horizontal 6 Línea vertical y 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 x Figura 17. Frontera de decisión obtenida en la clasificación de las imágenes. 3 Generador de imágenes sintéticas 3 Generador de imágenes sintéticas 3 21 Generador de imágenes sintéticas Para comprobar la viabilidad de las máquinas de soporte vectorial en el reconocimiento de caracteres, inicialmente se ha construido un generador de imágenes sintéticas usando el programa Matlab. Éstas se corresponden con matrices de 20x20 de unos y ceros que representan varios símbolos diferentes cuyo grosor y posición son aleatorios. En la Figura 18 se pueden observar algunos símbolos obtenidos con el generador. La representación se ha realizado con el comando pcolor de Matlab. Las casillas rojas simbolizan los elementos de la matriz cuyo valor es 1 y las azules los que tienen por valor 0. Figura 18. Representación de distintos símbolos obtenidos con el generador. Con estos ejemplos de símbolos se alimentará a las SVM y se comprobará el porcentaje de error cometido al intentar identificar el tipo de figura. 3 Generador de imágenes sintéticas 22 Este es un caso de clasificación con más de 2 clases. Para resolver el problema se va emplear el método 1-v-r: al tener 3 clases distintas, hay que hallar 3 hiperplanos distintos, por lo que es necesario ajustar 3 modelos. En cada uno de ellos se considera un tipo de símbolo como clase positiva y el resto como negativo: hay un modelo para determinar si el símbolo es un círculo o no, otro para la recta horizontal y otro para la vertical. Al clasificar finalmente un ejemplo a partir de la estimación realizada por cada uno de estos 3 modelos binarios se pueden dar los siguientes casos: - Figura correctamente clasificada: ha sido clasificada en una sola simulación como clase positiva, y ésta coincide con la real. - Figura mal clasificada: uno de los modelos estima que corresponde a su símbolo (ha sido categorizada como clase positiva), aunque dicha clasificación parcial no es la correcta. - Figura indeterminada. Puede ser debido a 2 razones: • Ha sido clasificada como positiva por más de un modelo binario. • En ningún caso ha sido clasificada como positiva. Para asemejarlo al caso real, en el que los caracteres no son totalmente nítidos, se han simulado imágenes con diferentes niveles de ruido. Se pretende estudiar cómo influye éste a la hora de identificar las distintas figuras. Si una figura tiene un porcentaje p de ruido, significa que un p% de los elementos de la matriz están cambiados (donde debía haber un 1 hay un 0 y viceversa). Se han estudiado símbolos con porcentajes de ruido del 0, 5, 15 y 25% (Figura 19). Para cada caso se generan 240 figuras, excepto para el primero, en el que se trabaja con 120. De cada conjunto de matrices con el mismo nivel de ruido, se toma un 75% para encontrar el hiperplano clasificador (conjunto de aprendizaje). El resto (conjunto de validación) se emplea para calcular el porcentaje de error que comete la SVM al clasificarlo y así poder comprobar si el modelo estudiado es el adecuado. 3 Generador de imágenes sintéticas 23 En la Figura 19 se muestra, a modo de ejemplo, un símbolo original (sin ruido) y cómo queda alterado al añadir diferentes niveles de ruido. Porcentaje ruido = 0% Porcentaje ruido = 5% 20 20 15 15 10 10 5 5 5 10 15 20 5 Porcentaje ruido = 15% 20 15 15 10 10 5 5 10 15 15 20 Porcentaje ruido = 25% 20 5 10 20 5 10 15 20 Figura 19. Imágenes con distinto nivel de ruido. Es necesario escoger las variables que se van a utilizar para caracterizar los ejemplos y que formarán el espacio de entrada para las SVM. Según las variables que se usen podremos facilitar el proceso de decisión. Para este problema, se han empleado tres conjuntos de variables: 1. Los elementos de la matriz. Al tener matrices de 20x20, cada figura estará representada por 400 variables. Esto significa que el espacio de entrada tendrá 400 dimensiones. 2. El histograma vertical de la matriz (suma de cada columna) junto con el histograma horizontal (suma de cada fila): espacio de entrada de dimensión 20+20=40. 3. El número de columnas y el número de filas que no tengan ningún elemento igual a 1: espacio de entrada de dimensión 2. 3 Generador de imágenes sintéticas 24 Para ilustrar estos procedimientos, se toma la siguiente matriz M4x4 de unos y ceros: 1 1 M = 1 1 1 0 0 1 0 0 1 0 0 1 0 0 Las variables de cada conjunto tomarán los siguientes valores para este ejemplo: 1. v = (M 11 , M 12 ,..., M 43 , M 44 ) = (1,1,0,0,1,1,0,0,1,1,0,01,1,0,0 ) 2. 4 4 4 4 v = ∑ M i1 ,..., ∑ M i 4 , ∑ M 1i ,...,∑ M 4i = (4,4,0,0,2,2,2,2 ) i =1 i =1 i =1 i =1 4 3. v = ( nº columnas j tal que ∑ M ij = 0, nº filas i tal que i =1 3.1 4 ∑M j =1 ij = 0) = (2,0 ) Clasificación de imágenes sin ruido Para realizar las distintas simulaciones se toman 90 símbolos sin ruido (30 de cada clase) para hallar los separadores y 30 (10 de cada clase) para realizar la evaluación. Como ya se ha comentado, hay que resolver tres problemas distintos para la clasificación de las figuras: un modelo se emplea para saber si el símbolo es un círculo o no, otro para la recta horizontal y otro para la recta vertical. 3.1.1 Resultados para el conjunto de variables 1 Después de realizar distintas simulaciones, se comprueba que la función kernel con la que el número de figuras mal clasificadas es mínimo es la función gaussiana: − x − x′ K (x, x′) = exp 2σ 2 2 σ >0 3 Generador de imágenes sintéticas 25 En la Tabla 1 se muestra el error de clasificación de los símbolos para valores de σ de 1, 3, 10 y 20 y para C = 100 y C = 100000. Nº de símbolos mal Nº de símbolos Porcentaje de clasificados indeterminados acierto 100 0 0 100 100000 0 0 100 100 0 0 100 100000 0 0 100 100 3 2 83,3 100000 3 2 83,3 100 5 0 83,3 100000 5 0 83,3 σ 1 3 10 20 C Tabla 1. Resultados de la clasificación utilizando el conjunto de variables 1 para distintos valores de σ y de C. Como se puede apreciar, para σ = 1 y σ = 3, se consiguen clasificar correctamente todas las imágenes. Para valores de σ = 10 y σ = 20, clasifica incorrectamente un 16,7% de ellas. También se observa que, para un σ dado, el parámetro C no influye en la cantidad de símbolos bien clasificados, lo que puede significar que la SVM no identifica ningún dato atípico. Las figuras que no son reconocidas por la SVM para σ = 10 y σ = 20 son las mismas y se corresponden con verticales (Figura 20). El clasificador las confunde con horizontales. Figura 20. Imágenes no reconocidas por la SVM cuando σ = 10 y cuando σ = 20. 3 Generador de imágenes sintéticas 26 Estas imágenes no presentan ninguna característica especial por lo que la SVM no debería haber tenido dificultades para clasificarlas. Esto nos lleva a afirmar que los modelos para los que σ = 10 y σ = 20 no son apropiados para realizar la clasificación. En la Tabla 2 se muestra el número de vectores soporte para cada modelo, es decir, el número de figuras que la SVM ha utilizado para calcular cada uno de las tres fronteras de decisión. En el primero realizado se considera como clase positiva el círculo, en el siguiente la recta vertical y en el último la horizontal. σ 1 3 10 20 Nº de vectores Nº de vectores Nº de vectores soporte del 1er soporte del 2º soporte del 3º modelo modelo modelo 100 90 90 90 100000 90 90 90 100 90 90 90 100000 85 88 88 100 39 48 45 100000 38 48 45 100 30 47 42 100000 30 47 42 C Tabla 2. Número de vectores soporte de cada modelo sobre un conjunto de entrenamiento de 90 ejemplos. El número de vectores soporte es similar para los tres modelos. Depende del valor de σ y muy poco de C excepto para σ = 3. Para σ = 1 y para σ = 3 y C = 100.000 el 100% de los datos del conjunto de entrenamiento son vectores soporte. Como ya se vio en la introducción, existen dos tipos de vectores soporte: - Vectores soporte normales: aquellos vectores xi que cumplen h(x i ) = 1 . - Vectores xi tal que -1 < h( x i ) <1. Sólo existen cuando C ≠ ∞. La SVM considera que pueden ser datos atípicos por lo que reduce su influencia para hallar la frontera de decisión. 3 Generador de imágenes sintéticas 27 El espacio de entrada tiene 400 dimensiones para este conjunto de variables. Esto nos impide poder visualizar cómo quedarían los símbolos en dicho espacio. Sin embargo, sí se puede conocer la distancia a la que se encuentra cada imagen del hiperplano separador h(x). Esto puede ayudar a dar una idea aproximada de cómo están distribuidas las imágenes. El hiperplano separador h(x) tiene por ecuación: h( x ) = ω T x + b = 0 , donde ω y x ∈ ℜ d Los parámetros ω y b son conocidos, por lo tanto se puede conocer la distancia de un vector cualquiera x al hiperplano con la siguiente ecuación: dist (h, x) = h ( x) ω En las siguientes figuras se han representado los valores de h(x) de cada punto. Aunque no coincide con la distancia real de cada imagen al hiperplano, considerar este valor es equivalente a realizar un cambio de escala del espacio de entrada de valor ω , por lo que la distribución aproximada de las imágenes no variará. El objetivo de usar este valor y no la distancia real es que nos permite distinguir más fácilmente los vectores soporte. El conocer la distribución ayudará a determinar cuál de los dos modelos con los que se obtiene error nulo en la clasificación (σ = 1 y σ = 3) es el mejor para reconocer los símbolos para el conjunto de variables nº1. En la Figura 21 se puede ver cómo quedarían los puntos de aprendizaje respecto del hiperplano para σ = 1 y C = 100.000. Cada gráfica de la figura representa un modelo distinto. La línea azul simboliza la frontera de decisión y en el eje y se muestran los índices de las imágenes utilizadas. 3 Generador de imágenes sintéticas 28 Clase positiva: vertical Clase positiva: horizontal 100 90 90 90 80 80 80 70 70 70 60 60 60 50 Índice 100 Índice Índice Clase positiva: círculo 100 50 50 40 40 40 30 30 30 20 20 20 10 10 10 0 -2 0 h(x) 2 0 -2 0 h(x) 2 0 -2 Horiz ontal V ertic al Circ unferenc ia 0 h(x) 2 Figura 21. Valores de h(x) de las figuras de entrenamiento cuando σ= 1. El conjunto de datos perteneciente a la clase positiva considerada en cada modelo queda en la zona h(x) > 0. Puesto que todas las figuras quedan a distancia h( x) = 1 del hiperplano, son vectores soporte normales en todos los modelos, lo que significa que todas ellas son necesarias para encontrar la mejor frontera de decisión. Que el total de los símbolos sean vectores soporte implica que la SVM ha tenido dificultades, con las variables con las que han sido representadas las imágenes, para hallar el hiperplano, es decir, para identificar los rasgos comunes de cada clase. Aún así, para σ = 1, el clasificador ha reconocido correctamente las figuras del conjunto de validación. La SVM no detecta ningún outlier puesto que no existen puntos con valores de h(x) comprendidos entre -1 y 1. En la Figura 22, al igual que en la anterior, se representan los valores de h(x) pero de las figuras utilizadas en la etapa de validación. 3 Generador de imágenes sintéticas 29 Clas e positiva: círculo Clas e positiva: vertic al Clase pos itiva: horiz ontal 40 40 35 35 30 30 30 25 25 25 20 Índice 35 Índice Índice 40 20 20 15 15 15 10 10 10 5 5 5 0 -0.5 0 0.5 h(x) 1 1.5 0 -1.5 -1 -0.5 h(x ) 0 0.5 Horizontal Vertical Circunferencia 0 -1.5 -1 -0.5 h(x) 0 0.5 Figura 22. Valores de h(x) de las figuras que forman el conjunto de validación. Los puntos de validación quedan muy próximos de los hiperplanos. Aunque los clasifica adecuadamente, la SVM tiene dificultades para reconocerlos. Se observa también que dos imágenes que representan circunferencias cumplen que, para los tres modelos, h(x i ) = 1 . Esto también se da para todas las circunferencias del conjunto de entrenamiento, lo que implica que esas figuras forman parte de las imágenes de aprendizaje. Para σ = 1 y C = 100 se comprobó que la distribución de los símbolos tanto para el conjunto de aprendizaje como para el de test es la misma que cuando C = 100.000. En la Figura 23 y en la Figura 24, se observa la distribución de las figuras de aprendizaje y la de las imágenes de validación respectivamente para σ = 3 y C = 100.000 . Al igual que con σ = 1, el error obtenido con estos parámetros fue nulo. La única diferencia que se observó con el caso en el que σ = 1 es el número de vectores soporte en cada uno de ellos. 3 Generador de imágenes sintéticas 30 C las e pos itiva: vertic al Clas e pos itiva: horiz ontal 100 90 90 90 80 80 80 70 70 70 60 60 60 50 Índice 100 Índice Índice Clas e pos itiva: c írc ulo 100 50 50 40 40 40 30 30 30 20 20 20 10 10 10 0 -2 0 h(x ) 0 -2 2 0 h(x ) H oriz ontal V ertic al C irc unferenc ia 0 -2 2 0 h(x ) 2 Figura 23. Valores de h(x) de las figuras de entrenamiento. En las simulaciones se comprobó que en los 3 modelos había figuras que no eran vectores soporte. Sin embargo se observa que incluso para ellas la distancia al hiperplano es prácticamente 1, al igual que cuando σ = 1. En este caso, la SVM tampoco ha detectado ningún dato atípico. Clase positiva: vertic al Clas e pos itiva: horiz ontal 40 35 35 35 30 30 30 25 25 25 20 Índice 40 Índice Índice Clas e positiva: círc ulo 40 20 20 15 15 15 10 10 10 5 5 5 0 -2 -1 0 h(x ) 1 2 0 -2 -1 0 h(x) 1 Horizontal V ertical Circ unferencia 0 -2 -1 0 h(x) Figura 24. Valores de h(x) de las figuras que forman el conjunto de validación. 1 3 Generador de imágenes sintéticas 31 La distribución de las imágenes del conjunto de validación es distinta que para σ = 1 . Las figuras de entrenamiento están más alejadas del hiperplano por lo que la SVM las ha clasificado con mayor seguridad que para σ = 1. Por lo tanto, cuando se emplea el conjunto de variables 1, es decir los elementos de la matriz, el modelo de SVM más fiable es el que utiliza la función kernel gaussiana con σ = 3. 3.1.2 Resultados para el conjunto de variables 2 (histogramas horizontal y vertical) Para este caso, sólo se muestran los resultados para distintos valores de σ pero para el mismo C puesto que, al igual que en el caso anterior, se comprobó que el porcentaje de error que se comete no depende de él. Nº de símbolos Nº de símbolos Porcentaje mal clasificados indeterminados de acierto 0.5 0 5 83,3 1 1 0 96,7 10 0 1 96,7 20 1 1 93,3 σ Tabla 3. Resultados de la clasificación utilizando el conjunto de variables 2 para distintos valores de σ. Cuando se representan los símbolos según los histogramas vertical y horizontal no se llega a un porcentaje de acierto del 100%. Para σ = 1 y σ = 10 solamente un símbolo (el de una recta vertical) no es identificado por la SVM. Para σ = 1 esa figura es clasificada incorrectamente por la SVM mientras que para σ = 10 queda indeterminada. 3 Generador de imágenes sintéticas 32 El número de vectores soporte se puede ver en la Tabla 4. σ Nº de vectores soporte del 1er modelo Nº de vectores soporte del 2º modelo Nº de vectores soporte del 3º modelo 0.5 90 90 90 1 90 90 90 10 71 71 73 20 55 49 46 Tabla 4. Número de vectores soporte de los tres modelos para el conjunto de variables 2 y C=100000, sobre un conjunto de entrenamiento de 90 ejemplos. Para σ = 1 se comprobó que los vectores soporte eran del tipo normal. Para σ = 10 se puede observar que el tipo de símbolo para el que la SVM necesita menos vectores soporte para determinar el hiperplano es el círculo (Figura 25). El conjunto de variables nº2 (histogramas) permite identificar con mayor facilidad esta clase pero no resulta tan adecuada para el resto de los símbolos. Clas e pos itiva: vertic al Clas e pos itiva: horiz ontal 100 90 90 90 80 80 80 70 70 70 60 60 60 50 Índice 100 Índice Índice Clas e pos itiva: c írc ulo 100 50 50 40 40 40 30 30 30 20 20 20 10 10 10 0 -2 0 h(x ) 2 0 -2 0 h(x ) 2 0 -2 Horiz ontal V ertic al Circ unferencia Círculo 0 h(x ) 2 Figura 25. Valores de h(x) de las figuras que forman el conjunto de aprendizaje para σ = 10. Para las imágenes de validación también son los círculos los que quedan a la mayor distancia del hiperplano (Figura 26). El símbolo de índice 16 es el que ha sido clasificado incorrectamente pero se puede ver que en todos los modelos queda aproximadamente sobre el hiperplano. 3 Generador de imágenes sintéticas 33 Clas e pos itiva: vertic al Clas e pos itiva: horiz ontal 40 35 35 35 30 30 30 25 25 25 20 Índice 40 Índice Índice Clas e pos itiva: c írc ulo 40 20 20 15 15 15 10 10 10 5 5 5 0 -1 0 1 0 -2 2 -1 h(x ) 0 Horizontal Vertical Circunferencia Círculo 0 -2 1 -1 h(x ) 0 1 h(x ) Figura 26. Valores de h(x) de las figuras que forman el conjunto de validación σ = 10. Con σ = 1 las imágenes clasificadas quedan prácticamente sobre el hiperplano excepto las imágenes de índices 2 y 3 para las que se había llegado a la conclusión de que pertenecían al conjunto de aprendizaje. La imagen 16 es clasificada a la vez como círculo y como vertical. Clas e pos itiva: vertic al Clas e pos itiva: horiz ontal 40 35 35 35 30 30 30 25 25 25 20 Índice 40 Índice Índice Clas e pos itiva: c írc ulo 40 20 20 15 15 15 10 10 10 5 5 5 0 -0.5 0 0.5 h(x ) 1 1.5 0 -1.5 -1 -0.5 h(x ) 0 0.5 Horiz ontal V ertic al Circ unferenc ia Círculo 0 -1.5 -1 -0.5 h(x ) 0 Figura 27. Valores de h(x) de las figuras que forman el conjunto de validación para σ = 1. 0.5 3 Generador de imágenes sintéticas 34 Al obtener una mayor distancia de las imágenes al hiperplano con σ = 10, este valor es el mejor para realizar la clasificación con el segundo tipo de variables. Como para el conjunto de variables 1, cuando se obtiene el mismo porcentaje de acierto para distintos valores de σ, se comprueba que la SVM clasifica mejor cuando se tiene el menor número de vectores soporte. 3.1.3 Resultados para el conjunto de variables 3 Éste es el único conjunto de variables de entre los que se estudian en el que es posible representar los hiperplanos obtenidos ya que el espacio de entrada sólo es de 2 dimensiones. Se comprueba que modificando los distintos parámetros, la SVM es capaz de identificar correctamente todos los datos. Al variar σ los hiperplanos que se obtienen son distintos pero estos no cambian, para un mismo σ, cuando se modifica C. En la Figura 28 se pueden observar las fronteras de decisión obtenidas con la variable 3 y para σ = 3 cuando no existe ruido en las imágenes. El eje horizontal representa el número de filas en el que todos los elementos son 0 y el vertical el de las columnas. Sólo están representados los símbolos que forman el conjunto de aprendizaje. La representación se ha hecho utilizando la función svcplot de la toolbox de SVM utilizada. Modelo 1 Modelo 2 Modelo 3 Figura 28. Fronteras de decisión obtenidas para la variable 3 y σ = 3 para símbolos sin ruido. 3 Generador de imágenes sintéticas 35 Las circunferencias se caracterizan por tener el mismo número de filas y de columnas sin ningún 1 por lo que quedan en la parte central. Las verticales aparecen en la gráfica en la parte de abajo a la derecha puesto que tienen más columnas sin ningún 1 que filas, mientras que para las horizontales es al contrario. Se puede ver claramente que el conjunto de variables que se ha escogido para caracterizar los distintos tipos de símbolos es el adecuado ya que cada clase aparece agrupada en distintas zonas. Esto demuestra que son variables representativas de cada símbolo y se consigue, por lo tanto, que la SVM encuentre sin dificultades un hiperplano que las separe. En los modelos 2 y 3 las clases son linealmente separables. Además se comprueba que muchos de los datos de aprendizaje de una misma clase tienen las mismas variables ya que no se distinguen los 90 símbolos que forman el conjunto de entrenamiento, lo que significa que están superpuestos. En la primera figura se representa la frontera de decisión entre las imágenes de los símbolos de los círculos y las dos otras clases, en la segunda la que separa las verticales del resto y, en la última, la clase positiva se corresponde con las horizontales. Las zonas de color amarillo simbolizan la zona donde la SVM considera que estarían todas las figuras pertenecientes a la clase positiva. Si se superpusieran las tres gráficas veríamos cómo los hiperplanos separadores de cada una de ellas coincidirían. Las zonas de color amarillo no se solapan. Esto significa que no puede haber símbolos que sean clasificados como más de una clase a la vez. Tampoco existirían figuras que no fueran clasificadas como positivas en ninguno de los tres problemas ya que las zonas amarillas, además de no solaparse, cubren todo el espacio de entrada. Por tanto, no existe la posibilidad de que haya figuras indeterminadas. Si se tuvieran circunferencias de menor tamaño en las que el número de filas y de columnas sin ningún cero fuera más elevado la SVM no lo reconocería ya que la zona amarilla del primer modelo se va cerrando al desplazarse hacia arriba y hacia la derecha. Lo mismo sucedería para una raya horizontal o vertical que tuvieran un número de filas y de columnas parecido ya que podría llegar a ser considerado como una circunferencia. 3 Generador de imágenes sintéticas 36 Para σ = 20 las fronteras del modelo 2 y del 3 son lineales (Figura 29). En el modelo 1 el hiperplano se aproxima más a las figuras de la clase positiva que para el valor anterior de σ. Modelo 1 Modelo 2 Modelo 3 Figura 29. Fronteras de decisión obtenidas para la variable 3 y σ = 20 para símbolos sin ruido. Si existiera una imagen con un número alto de filas y columnas sin ningún 1, quedaría indeterminada ya que, como se puede observar, en la zona superior derecha de los gráficos se considera como clase negativa en los tres modelos. Las zonas asociadas a la clase positiva (zona amarilla) se solapan en la parte inferior e izquierda de los gráficos por lo que podría haber puntos que fueran clasificados como más de una clase a la vez. Tomando un valor intermedio de σ entre los dos anteriores (σ = 10) se consiguen los separadores de la Figura 30. Modelo 1 Modelo 2 Modelo 3 Figura 30. Fronteras de decisión obtenidas para la variable 3 y σ = 10 para símbolos sin ruido. En el primer modelo se consigue generalizar mejor que para σ = 20 ya que también considera como circunferencias aquéllas cuyas variables tengan un valor 3 Generador de imágenes sintéticas 37 elevado. Los hiperplanos de los modelos 2 y 3 son más lineales que los conseguidos con σ = 3. Aunque para los tres valores de σ la SVM acierta en todos los casos, el mejor de los 3 es σ = 10 por las fronteras de decisión obtenidas. En la Tabla 5 se puede observar el número de vectores soporte para cada uno de los 3 valores de σ estudiados. Nº de vectores soporte Nº de vectores soporte Nº de vectores soporte del 1er modelo del 2º modelo del 3º modelo 3 26 26 28 10 7 6 6 20 6 3 4 σ Tabla 5. Número de vectores soporte de los tres modelos para el conjunto de variables 3. Para cualquier valor de σ el número de vectores soporte es muy inferior al de los otros conjuntos de variables estudiados. 3.1.4 Análisis de los resultados de la clasificación de símbolos sin ruido Para el conjunto de variables 2, el máximo porcentaje de acierto es del 96,7%, mientras que tanto para el conjunto 1 como para el 3 se puede llegar a un 100% de acierto escogiendo los parámetros adecuados. La mayor diferencia entre los resultados que se obtienen con estas dos últimas variables es el número de vectores soporte necesarios para encontrar el hiperplano separador. Para el primer conjunto de variables es muy elevado. Esto puede significar que la SVM no ha conseguido distinguir los rasgos comunes de cada clase porque las variables empleadas no son las adecuadas y, por lo tanto, se aprende “de memoria” los datos de entrada. El resultado será que sólo se clasifican correctamente aquellas figuras que sean muy parecidas a alguna perteneciente al conjunto de aprendizaje. En este caso, si la variabilidad de los datos fuera mayor, el porcentaje de error aumentaría. Un número elevado de vectores soporte también podría significar que el conjunto de variables sí que puede servir para caracterizar los datos pero que, por la forma en que estén distribuidos, sea más difícil de delimitar una clase de otra y necesite más puntos para poder encontrar el hiperplano. 3 Generador de imágenes sintéticas 38 Para ver qué modelo es más fiable, se repiten las simulaciones para los valores de σ con los que se consiguieron los mejores resultados, pero partiendo de un número inferior de puntos de entrenamiento. El conjunto de datos entrenamiento está formado por 15 símbolos (5 de cada tipo) y el conjunto de test es el mismo que en los apartados anteriores. Nº del conjunto σ C 1 3 100000 3 10 10000 de variables Nº de figuras del conjunto de Porcentaje de entrenamiento acierto 90 100 15 73,3 90 100 15 100 Tabla 6. Comparación de los resultados obtenidos con el conjunto de variables 1 y 3. Al modelo que usa el conjunto de variables 3 no le ha afectado la reducción del número de figuras de aprendizaje puesto que el porcentaje de acierto sigue siendo del 100%. Se demuestra por lo tanto que el modelo con el conjunto de variables 3 resulta mucho más robusto por lo que sería el más indicado para la clasificación de símbolos en los que no hay presencia de ruido. 3.2 Clasificación de imágenes con ruido Se realizan simulaciones para un 5, un 15 y un 25% de ruido a partir de un conjunto de entrenamiento de 180 figuras y comprobando el modelo con otras 60 imágenes. Se estudiará si es mejor partir de un conjunto de datos similares a los que se intentan clasificar o si, por el contrario, es más conveniente entrenar la SVM con figuras nítidas. Al añadir ruido a la imagen se obtiene un conjunto mucho más variado que en el caso anterior. Por esta razón, no se tiene en cuenta el número de vectores soporte a la hora de decidir cuál es el mejor modelo. 3 Generador de imágenes sintéticas 3.2.1 39 Resultados de la clasificación entrenando la SVM con imágenes del mismo porcentaje de ruido que el estudiado A continuación se muestran los mejores resultados para cada porcentaje de ruido y para cada conjunto de variables. 3.2.1.1 Imágenes con un 5% de ruido En la Figura 31 se muestran tres figuras del conjunto de aprendizaje que se ha utilizado. Figura 31. Ejemplo de figuras utilizadas para entrenar la SVM. En la Tabla 7 se muestran los mejores resultados para cada conjunto de variables. Nº de símbolos Nº de símbolos Porcentaje de mal clasificados indeterminados acierto 100000 0 0 100 1 10000 1 0 98,3 2 100000 4 0 93,3 Tipo de var. σ C 1 2 2 3 Tabla 7. Resultados de la clasificación de símbolos con un 5% de ruido. Utilizando como variables los elementos de la matriz el error en la clasificación es nulo. Para clasificar imágenes sin ruido el mejor conjunto de variables era el 3, mientras que en este problema el mejor porcentaje de acierto con él es del 93,3%. Para este conjunto la mejor función kernel no fue la gaussiana, sino una variante de ésta: − x − x′ K (x, x′) = exp 2 2σ σ >0 3 Generador de imágenes sintéticas 40 Los datos de la misma clase con el tercer conjunto de variables ya no aparecen tan agrupados como en el problema de la clasificación de imágenes sin ruido. Modelo 1 Modelo 2 Modelo 3 Figura 32. Fronteras de decisión para el conjunto de variables 3 y σ = 2. En el entrenamiento la SVM no encuentra una frontera de separación que delimite todas las figuras de las clases por lo que considera que hay varias figuras atípicas que deja en el lado incorrecto del hiperplano. 3.2.1.2 Imágenes con un 15% de ruido Con imágenes con un 15% de ruido (Figura 33) se llega a conseguir que el clasificador sólo clasifique mal un 5% de las imágenes (Tabla 8). Figura 33. Imágenes de una circunferencia, de una vertical y de una horizontal con un 15% de ruido. Tipo de Nº de símbolos Nº de símbolos Porcentaje de mal clasificados indeterminados acierto 100000 3 0 95 5 10000 2 1 95 2 100000 7 35 30 σ C 1 1 2 3 variables Tabla 8. Resultados de la clasificación de símbolos con un 15% de ruido. 3 Generador de imágenes sintéticas 41 El número de figuras que la SVM no consigue identificar cuando el conjunto de variables utilizado es el 3, es más de 10 veces mayor que cuando las imágenes tenían un 5% de ruido. No se realiza la etapa de entrenamiento correctamente ya que los datos en el espacio de entrada están entremezclados por lo que la SVM no es capaz de definir un hiperplano de separación (Figura 34). El hecho de que se entremezclen significa que no se puede hallar una característica común a cada clase. Clas e pos itiva: vertic al Clas e positiva: horizontal 200 180 180 180 160 160 160 140 140 140 120 120 120 100 Índice 200 Índice Índice Clas e positiva: c írc ulo 200 100 100 80 80 80 60 60 60 40 40 40 20 20 20 0 -1.5 -1 -0.5 h(x ) 0 0 -2 0 h(x ) 2 0 -5 Horiz ontal Vertic al Circ unferenc ia 0 h(x ) 5 Figura 34. Valores de h(x) para cada figura utilizada en el entrenamiento de la SVM. Los vectores rojos son aquellos que se encuentran en el lado incorrecto del separador. En el primer modelo en el que se tiene que hallar la frontera que separa los círculos del resto de símbolos la SVM no consigue separar ninguna figura de círculo quedando todas ellas al mismo lado del hiperplano. 3.2.1.3 Imágenes con un 25% de ruido Con imágenes de un 25% de ruido (Figura 35) la SVM se equivoca en menos de un 15% de las imágenes con los tipos de variables 1 y 2 mientras que con el conjunto 3 no reconoce prácticamente ninguna imagen (Tabla 9). 3 Generador de imágenes sintéticas 42 Figura 35. Símbolos con un 25% de ruido Tipo de Nº de símbolos Nº de símbolos Porcentaje de mal clasificados indeterminados acierto 10000 7 0 88,3 10 100000 3 8 81,7 10 100000 2 55 5 σ C 1 0.5 2 3 var. Tabla 9. Resultados de la clasificación de símbolos con un 25% de ruido. 3.2.2 Resultados de la clasificación entrenando la SVM con imágenes sin ruido Para cada nivel de ruido se ha realizado el aprendizaje con el mismo conjunto de imágenes sin ruido. El número de figuras de test y de entrenamiento que se han utilizado es el mismo que en el caso anterior. Se realizaron distintas simulaciones para distintos valores de σ. Los mejores resultados conseguidos para cada tipo de variables y para cada porcentaje de ruido se representan en la Figura 36. Variables1 Variables2 Variables3 80 70 60 Error(%) 50 40 30 20 10 0 0 5 10 15 20 25 Ruido(% ) Figura 36. Error cometido en función del ruido para cada conjunto de variables. 3 Generador de imágenes sintéticas 43 Se ha comprobado que el mayor grado de acierto para símbolos con ruido de un 5, 15 y 25% con los conjuntos de variables 1 y 2 se obtiene para σ = 1. El porcentaje de error máximo que se comete es de un 5% (3 figuras) para el mayor nivel de ruido estudiado. En la figura también se muestran los resultados para un porcentaje de ruido nulo. El caso de las imágenes sin ruido ya se había estudiado anteriormente. Se han vuelto a realizar las simulaciones con el mismo conjunto de datos de entrenamiento que el utilizado para los casos con ruido para que los resultados sean coherentes. Al utilizar un mayor número de imágenes de aprendizaje, el porcentaje de acierto cometido ya no es, como se había visto, de un 96,7%, sino del 100% en el caso del conjunto de variables 2. Para el conjunto de variables 3, para cualquier nivel de ruido distinto de 0 y para cualquier valor de σ se obtiene siempre el mismo porcentaje de figuras mal clasificadas: el 66,7%. 3.2.3 Comparación de los resultados obtenidos para datos de aprendizaje con ruido y sin ruido En la Figura 37, en la Figura 38 y en la Figura 39, se comparan los resultados obtenidos cuando la fase de entrenamiento se realiza con imágenes con ruido y sin ruido para cada conjunto de variables 1, 2 y 3 respectivamente. 60 Entrenamiento con imágenes sin ruido Entrenamiento con imágenes con ruido 50 Error(%) 40 30 20 10 0 0 5 10 15 20 25 Ruido(%) Figura 37. Comparación de los resultados para el conjunto de variables 1. 3 Generador de imágenes sintéticas 44 Para los dos tipos de entrenamiento se tiene para un 5% de ruido error nulo cuando el tipo de variables utilizado es el nº1. Los dos crecen al aumentar el ruido pero cuando se entrena el clasificador con imágenes sin ruido crece con una mayor pendiente. Para un 25% de ruido sólo se clasifican mal un 5% de las imágenes. Se consigue un porcentaje de error inferior a la mitad del que se obtiene con la otra forma de entrenamiento. 80 Entrenamiento con imágenes sin ruido Entrenamiento con imágenes con ruido 70 60 Error(%) 50 40 30 20 10 0 0 5 10 15 20 25 Ruido(% ) Figura 38. Comparación de los resultados para el conjunto de variables 2. Para el conjunto de variables 2, al contrario que para el conjunto anterior, el tipo de entrenamiento con el que se obtienen los mejores resultados es el realizado con las imágenes con ruido. Únicamente para un ruido del 5% el error es menor para la otra forma. 100 90 80 70 Error(%) 60 50 40 30 20 Entrenamiento con imágenes sin ruido Entrenamiento con imágenes con ruido 10 0 0 5 10 15 20 25 Ruido(%) Figura 39. Comparación de los resultados para el conjunto de variables 3. Al igual que en los otros casos, el porcentaje de error cometido al realizar el aprendizaje a partir de símbolos con ruido depende del ruido. Sin embargo, para la 3 Generador de imágenes sintéticas 45 otra gráfica, el número de fallos siempre es constante. En todos los casos clasifica todas las verticales y todas las horizontales como círculos, es decir que la SVM ha clasificado todo el conjunto de figuras de validación como dicho símbolo. Esto se debe a que al aumentar el ruido se asemeja mucho el número de filas y el número de columnas sin ningún 1 ya que ambos tienden a ser 0. El hecho de que los valores de estos dos números sean similares es la característica que identifica los círculos en ausencia de ruido. Por esta razón, la SVM identifica tanto las verticales y las horizontales como si pertenecieran a dicha clase. En la Figura 40 se muestran dos ejemplos de símbolos que este modelo no ha sido capaz de reconocer. Como se puede observar para los dos símbolos su conjunto de variables asociadas sería (0,0) puesto que todas las columnas y todas las filas tienen píxeles rojos (valor 1 del elemento de la matriz). Figura 40. Imágenes de una recta vertical y de una circunferencia clasificadas como círculos. Como se demuestra en el caso del conjunto de variables 3 según aumenta el ruido puede que las características que sirven para reconocer imágenes sin ruido no sean las mismas que las que servirían para identificar imágenes con distinto nivel de ruido. Por esta razón, es mejor entrenar la máquina con figuras que tengan semejanzas con las que se pretende clasificar. El hecho de que para el primer conjunto el error entrenando con imágenes similares sea mucho mayor se puede deber a que la SVM tiene dificultades para hallar la frontera de decisión. Tendrá que dejar muchos datos de entrenamiento en el lado del hiperplano que no les corresponde. El no tener en cuenta estas figuras implica que se clasificarán mal las imágenes que tengan unas variables similares a ellas. 3 Generador de imágenes sintéticas 3.2.4 46 Resultados de la clasificación conjunta de datos con diversos niveles de ruido Para realizar el entrenamiento se emplearon 180 imágenes (60 de cada tipo de símbolo) y para la evaluación por 60. Ambos conjuntos de datos están formados por imágenes con distintos niveles de ruido. La SVM también es capaz de distinguir correctamente todas las figuras con el conjunto 1 (Tabla 10). Con la variable 2 el error es siempre inferior al 10%. Tipo de conjunto de variables 1 2 3 σ Nº de figuras mal clasificadas Nº de figuras indeterminadas Porcentaje de acierto 1 0 0 100 5 1 18 68.3 10 8 9 71 1 4 0 93,3 5 4 1 91,7 10 2 3 91,7 1 3 28 48.3 5 2 29 48,3 10 2 29 48,3 Tabla 10. Resultados de la clasificación de un conjunto de datos con distintos niveles de ruido. 3.3 Análisis de los resultados de la clasificación de imágenes generadas sintéticamente En los estudios realizados en este problema se ha comprobado que los mejores resultados se obtienen con la función núcleo gaussiana y que el valor del parámetro C no influye prácticamente en el número de fallos que se comete. En la Figura 41 se representa el porcentaje de error en función del nivel de ruido empleando un núcleo gaussiano para los distintos conjuntos de variables y para distintos valores del parámetro σ del kernel. Se comprueba que ajustando adecuadamente los distintos parámetros (C, función kernel,…) se obtienen unos errores tolerables incluso para un ruido elevado. Además, se ha podido comprobar que la capacidad para reconocer las figuras depende en gran medida de las variables de entrada elegidas. 3 Generador de imágenes sintéticas 47 σ = 10 100 var1 var2 var3 90 80 80 70 60 60 50 50 40 40 30 30 20 20 10 10 0 5 10 15 20 25 σ =1 100 90 0 0 70 60 50 50 40 40 30 30 20 20 10 10 5 15 20 25 σ = 0.1 80 60 0 10 90 70 0 5 100 var=1 var=2 var=3 80 var1 var2 var3 90 70 0 σ =5 100 10 15 20 25 0 var=1 var=2 var=3 0 5 10 15 20 25 Figura 41. Porcentaje de error en función del ruido para distintos valores de σ. Para valores muy bajos de ruido, los conjuntos de variables que mejores resultados dan son el 1 (elementos de la matriz) y el 3 (número de filas y número de columnas que no tengan ningún elemento igual a 1), llegando incluso a clasificar correctamente el 100% de los datos en ausencia de ruido. Pero, para las variables del grupo 3, a medida que éste crece el porcentaje de figuras que no reconoce aumenta muy rápidamente. Habrá que escoger el tipo de variable que minimice el error medio para cualquiera de los casos. En este problema, el conjunto de variables que mejores resultados proporciona es el 1. Con un kernel gaussiano y σ = 1 conseguimos que el error máximo sea de un 14%. Se comprobó que este valor de σ también es el que permite obtener los mejores resultados clasificando a la vez imágenes con distintos niveles de ruido. Para cada uno de los 3 modelos SVM se deberían escoger los mejores parámetros, pero debido al elevado número de variables a determinar (valor de C, tipo de kernel y parámetros de la función, variables de los datos) resulta muy difícil tomar los mejores valores para cada caso. Por esta razón, se consideraron los 3 Generador de imágenes sintéticas 48 mismos parámetros para los 3. Sin embargo se observó en la clasificación de imágenes sin ruido que el número de vectores soporte fue muy similar para cada uno de los 3 modelos para un conjunto de parámetros dado. La SVM tuvo aproximadamente las mismas dificultades en cada uno de ellos para encontrar la mejor frontera de decisión. La SVM ha demostrado ser un método de clasificación robusto para la clasificación de imágenes sintéticas incluso cuando éstas son poco nítidas. A continuación se va a estudiar su aplicación en la clasificación de imágenes de caracteres. Las conclusiones que se sacan de este capítulo servirán para ser aplicadas al reconocimiento de matrículas. 4 Aplicación de las SVM al reconocimiento de matrículas 4 Aplicación de las SVM al reconocimiento de matrículas 4 50 Aplicación de las SVM al reconocimiento de matrículas Se parte de un conjunto de imágenes de todos los números y letras generadas artificialmente similares a los que se obtendrían en la realidad. En la Figura 42 se puede observar una muestra de los datos utilizados en el estudio y en la Figura 43 fotografías reales de matrículas. 2 2 2 2 4 4 4 4 6 6 6 6 8 8 8 8 10 10 10 10 12 12 12 12 14 14 14 2 4 6 8 10 12 14 2 4 6 8 10 12 14 14 2 4 6 8 10 12 14 2 2 2 2 4 4 4 4 6 6 6 6 8 8 8 8 10 10 10 10 12 12 12 12 14 14 14 2 4 6 8 10 12 14 2 4 6 8 10 12 14 2 4 6 8 10 12 14 2 4 6 8 10 12 14 14 2 4 6 8 10 12 14 Figura 42. Ejemplo de las imágenes de números y letras empleadas en la clasificación. Figura 43. Fotografías reales de matrículas. Las diferencias principales con el estudio realizado en el capítulo anterior son el mayor número de clases a reconocer (cada letra y cada número representa un tipo distinto) y que las imágenes no están en blanco y negro, sino en escala de grises (valores de los elementos de la matriz entre 0 y 255). Al ser un problema más complejo se necesitarán más imágenes para entrenar la SVM y así poder facilitar que el clasificador encuentre la mejor frontera de decisión. 4 Aplicación de las SVM al reconocimiento de matrículas 51 En cada una de las imágenes no aparece la matrícula completa. Sólo muestra un carácter puesto que la SVM recibiría las fotografías del segmentador. Éste se encarga de fragmentar la imagen de la matrícula completa en otras en las que sólo aparece un número o una letra. Los problemas de reconocer los números y las letras se resuelven por separado. Esto puede hacerse así ya que normalmente se conocen las posiciones que ocupan los caracteres en la placa de la matrícula, por lo que será conocido a priori el tipo de problema. Las conclusiones que se obtuvieron de la clasificación de las imágenes generadas sintéticamente se van utilizar para la clasificación de los caracteres: - Tanto para la clasificación de los números como para la de las letras se va a utilizar la función kernel gaussiana ya que se comprobó que es la que permite obtener las fronteras de decisión que mejor se adaptan al conjunto de datos. - Se demostró que cuando σ = 1 se obtienen los mejores resultados, por lo que las simulaciones se han realizado con dicho valor. - El valor de C no influyó prácticamente en los resultados ya que no existían datos atípicos, por lo que en este problema se ha tomado el mismo valor para la resolución de todos los problemas (C = 10.000). - El entrenamiento cuando se quieren reconocer imágenes con ruido se hace usando imágenes similares. Por lo tanto, para realizar la clasificación, sólo queda por establecer el tipo de variables con las que identificar las imágenes del conjunto de entrenamiento y del de evaluación. En el estudio que se va a llevar a cabo se valorará el error que se comete con cada uno de ellos y se determinará cuál es el mejor para el reconocimiento de los números y de las letras. 4.1 Aplicación de las SVM al reconocimiento de números El conjunto de imágenes del que se parte es de 3840 figuras (384 de cada número). Debido a los elevados tiempos de simulación para resolver los distintos problemas de optimización cuando se tomaron, como es habitual, el 75% de los datos (2880 imágenes), se redujo el número de imágenes de aprendizaje a 300. Se emplea siempre el mismo conjunto de entrenamiento y de validación para todas las variables. 4 Aplicación de las SVM al reconocimiento de matrículas 52 No todas las imágenes tienen la misma cantidad de píxeles ya que el tamaño de la imagen de cada carácter obtenida por el segmentador dependerá del tamaño de cada número. En la Figura 44 se muestra un ejemplo de la imagen de un número uno de 16x10 píxeles y de la de un ocho de 16x12. 2 2 4 4 6 6 8 8 10 10 12 12 14 14 16 16 2 4 6 8 10 2 4 6 8 10 12 Figura 44. Imágenes de dos números con distinto número de píxeles. Para poder usar como conjunto de variables explicativas los elementos de las matrices es necesario que todas las imágenes tengan el mismo número de píxeles ya que todos los datos deben tener el mismo número de variables para poder ser clasificados por las SVM. Con la función imresize de Matlab se puede conseguir modificar el tamaño de la imagen al valor deseado utilizando distintos métodos de interpolación bidimensional. Para igualar los tamaños se ha utilizado el método de interpolación bicúbica que permite obtener una imagen en la que el valor de cada píxel es una media ponderada de los 4x4 píxeles más próximos en la imagen original. Para este problema se han tomado matrices 15x15 (Figura 45). No se utilizan figuras con una mayor cantidad de píxeles par no ralentizar en exceso el proceso de entrenamiento. 2 2 4 4 6 6 8 8 10 10 12 12 14 14 16 2 4 6 8 10 2 4 6 8 10 12 14 Figura 45. Imagen original e imagen modificada con la función imresize. 4 Aplicación de las SVM al reconocimiento de matrículas 53 Al igual que en el caso de la clasificación de imágenes sintéticas, se realizaron las simulaciones para distintos tipos de variables. Además, también se han estudiado los resultados cuando se realiza un tratamiento de la imagen antes de ser clasificada. El tratamiento utilizado permite pasar la imagen original en escala de grises a otra en blanco y negro para poder reducir el efecto del ruido. Para ello, se calcula la media de los valores de la matriz. Los píxeles de la imagen que tengan un valor inferior al de dicha media pasarán a valer 0 y los de valor superior valdrán 1. A continuación, se muestra el ejemplo de una imagen que se quiere tratar (Figura 46). 2 4 6 8 10 12 14 16 2 4 6 8 10 12 Figura 46. Número antes de realizar un tratamiento de la imagen. En el histograma obtenido con la función imhist se puede ver la cantidad de píxeles con un color determinado. La media está representada con una línea roja y tiene por valor 115. 7 6 5 4 3 2 1 0 0 5 0 1 0 0 1 5 0 2 0 0 2 5 0 Figura 47. Histograma de los colores de la imagen. Los píxeles más oscuros, es decir, por debajo del valor de esa media se considerarán negros y por encima blancos (Figura 48). 4 Aplicación de las SVM al reconocimiento de matrículas 54 2 4 6 8 10 12 14 2 4 6 8 10 12 14 Figura 48. Figura tratada. Los conjuntos de variables que se han estudiado en este problema han sido: 1. Los elementos de la matriz en escala de grises: espacio de entrada de 225 dimensiones. 2. Los elementos de la matriz después de haber realizado el tratamiento para pasarla a blanco y negro (225 dimensiones). 3. Los histogramas vertical y horizontal de las imágenes en escala de grises. El espacio de entrada tiene 30 dimensiones. 4. Los histogramas vertical y horizontal de las imágenes en blanco y negro (30 dimensiones). 5. Número de puntos en común de la imagen con una figura patrón. El espacio de entrada es de 10 dimensiones. Para calcular el conjunto de variables nº 5, primero hay que pasar la imagen a blanco y negro con el tratamiento ya visto para posteriormente compararlas con unas imágenes patrón de cada uno de los números. Esas figuras se muestran en la Figura 49. 5 5 5 5 5 10 10 10 10 10 15 15 5 10 15 15 5 10 15 15 5 10 15 15 5 10 15 5 5 5 5 5 10 10 10 10 10 15 15 5 10 15 15 5 10 15 15 5 10 15 5 10 15 5 10 15 15 5 10 15 Figura 49. Imágenes patrón empleadas en la clasificación de números. 4 Aplicación de las SVM al reconocimiento de matrículas 55 Lo que se quiere conocer es el número de píxeles en los que la figura patrón y la imagen tienen el mismo color. Para obtener la primera variable, se resta el patrón del número cero menos la matriz a clasificar. La primera variable es el número de los elementos de la matriz obtenida que tienen un valor igual a cero. Se realiza la misma operación para el resto de las imágenes patrón con lo que se obtienen 9 variables más. Cuanto más se parezcan dos imágenes mayor será el valor de la variable. 4.1.1 Clasificación de números centrados en la imagen con distintos niveles de ruido Inicialmente, se toman imágenes en las que el carácter aparece siempre en la misma posición. Las imágenes de cada clase se diferencian por los tonos de gris del número (Figura 50). 2 2 4 4 6 6 8 8 10 10 12 12 14 14 2 4 6 8 10 12 2 14 4 6 8 10 12 14 Figura 50. Ejemplo de dos figuras pertenecientes a la misma clase. 4.1.1.1 Resultados de la clasificación Imágenes sin ruido Para los 5 tipos de variables la SVM clasificó correctamente todos los números y todas las imágenes de entrenamiento fueron vectores soporte. Ruido = 20% Ruido = 40% Ruido = 70% 2 2 2 4 4 4 6 6 6 8 8 8 10 10 10 12 12 12 14 14 5 10 15 14 5 10 15 5 Figura 51. Imágenes con ruido empleadas en la clasificación. 10 15 4 Aplicación de las SVM al reconocimiento de matrículas 56 Imágenes con un 20% de ruido: Utilizando los conjuntos de variables nº 1 y 3, el clasificador no reconoce ningún número. Todas las imágenes quedan indeterminadas puesto que la SVM las clasifica como negativas en los 10 modelos distintos. Para el reconocimiento de las imágenes con más porcentaje de ruido no se va a utilizar este conjunto de variables ya que los resultados no mejorarían al ser imágenes aún más difíciles de reconocer. Sin embargo, si se emplean los elementos de la matriz después de realizar el tratamiento de la imagen o el conjunto nº 5, todas las figuras son identificadas correctamente por el clasificador. Empleando los histogramas a partir de las matrices en blanco y negro la SVM se confunde un 0,4% de las veces. El número que más dificultades tiene para clasificar es el 0 que clasifica 3 veces como un 6 y 2 veces como un 9 (Tabla 11). Figura clasificada como: 0 1 2 3 4 5 6 7 8 9 indet. 0 349 0 0 0 0 0 3 0 0 2 0 1 0 354 0 0 0 0 0 0 0 0 0 2 0 0 354 0 0 0 0 0 0 0 0 3 0 0 0 354 0 0 0 0 0 0 0 4 0 0 0 0 354 0 0 0 0 0 0 5 0 0 0 0 0 354 0 0 0 0 0 6 2 0 0 0 0 0 350 0 2 0 0 7 0 0 0 0 0 0 0 354 0 0 0 8 1 0 0 0 0 0 1 0 351 1 0 9 0 0 0 0 0 0 2 0 0 352 0 Tabla 11. Resultados de la clasificación de números con un 20% de ruido empleando el conjunto de variables nº 4. Imágenes con un 40% de ruido: Al clasificar con los elementos de la matriz en blanco y negro se obtienen los resultados de la Tabla 12. Un total de 1287 figuras quedan indeterminadas (el 36,36% del conjunto de test). El número que más veces no ha sido identificado es el 6 (308 veces), mientras que de las figuras que representan el 7, sólo una ha quedado indeterminada. 4 Aplicación de las SVM al reconocimiento de matrículas 57 Figura clasificada como: 0 1 2 3 4 5 6 7 8 9 indet. 0 186 0 0 0 0 0 0 0 0 0 168 1 0 345 0 0 0 0 0 0 0 0 9 2 0 0 309 0 0 0 0 0 0 0 45 3 0 0 0 171 0 0 0 0 0 0 183 4 0 0 0 0 348 0 0 0 0 0 6 5 0 0 0 0 0 251 0 0 0 0 103 6 0 0 0 0 0 0 46 0 0 0 308 7 0 0 0 0 0 0 0 353 0 0 1 8 0 0 0 0 0 0 0 0 138 0 216 9 0 0 0 0 0 0 0 0 0 106 248 Tabla 12. Resultados de la clasificación de números con un 40% de ruido empleando el conjunto de variables nº 2. Con los histogramas de la matriz en blanco y negro, el porcentaje de números mal clasificados es del 8.02% y el de imágenes indeterminadas 4.01% (Tabla 13). El 8 ha sido el número que la SVM ha tenido más dificultades para reconocer. El único número que siempre ha clasificado bien es el 1. Figura clasificada como: 0 1 2 3 4 5 6 7 8 9 indet. 0 298 0 0 0 0 0 13 0 4 15 24 1 0 354 0 0 0 0 0 0 0 0 0 2 0 0 320 23 0 2 0 3 2 1 3 3 3 1 11 320 3 2 2 0 5 1 6 4 0 0 0 1 348 0 1 0 1 0 3 5 7 0 1 3 0 320 8 0 2 5 8 6 33 0 1 0 0 3 256 0 13 8 40 7 0 0 0 3 0 0 0 351 0 0 0 8 9 0 0 2 2 1 20 0 289 7 24 9 28 0 0 0 0 6 18 0 10 258 34 Tabla 13. Resultados de la clasificación de números con un 40% de ruido empleando el conjunto de variables nº 4. Utilizando el conjunto nº 5 el porcentaje de error es del 0,56%. Ninguna figura queda indeterminada, el error se debe a imágenes mal clasificadas (Tabla 14). En este caso es el número 0 el que la SVM tiene más dificultades para distinguir. 4 Aplicación de las SVM al reconocimiento de matrículas 58 Figura clasificada como: 0 1 2 3 4 5 6 7 8 9 indet. 0 345 0 0 0 0 0 4 0 0 5 0 1 0 354 0 0 0 0 0 0 0 0 0 2 0 0 354 0 0 0 0 0 0 0 0 3 0 0 0 354 0 0 0 0 0 0 0 4 0 0 0 0 354 0 0 0 0 0 0 5 0 0 0 0 0 349 5 0 0 0 0 6 1 0 0 0 0 0 353 0 0 0 0 7 0 0 0 0 0 0 0 354 0 0 0 8 0 0 0 0 0 0 1 0 352 1 0 9 3 0 0 0 0 0 0 0 0 351 0 Tabla 14. . Resultados de la clasificación de números con un 40% de ruido empleando el conjunto de variables nº 5. También se estudió el caso de emplear como variables los elementos de una matriz de 3x3 píxeles obtenida a partir de la imagen en blanco y negro de 15x15. De esta forma se analiza si se facilita la clasificación al pasar de 225 variables a 9. En la Figura 52 se puede ver el ejemplo de una figura después de reducir el número de píxeles. 0.5 2 1 4 1.5 6 8 2 10 2.5 12 3 14 5 10 15 3.5 0.5 1 1.5 2 2.5 3 3.5 Figura 52. Imagen de 15x15 píxeles e imagen correspondiente de 3x3. En la Tabla 15 se puede comprobar que no se mejoran los resultados con respecto a los casos anteriores. El porcentaje de error alcanza un 84,07%. Esto significa que al reducir el tamaño de las imágenes se pierde información que sirve a la SVM para reconocer cada número. 4 Aplicación de las SVM al reconocimiento de matrículas 59 Figura clasificada como: 0 1 2 3 4 5 6 7 8 9 indet. 0 59 0 0 0 0 1 5 0 0 1 288 1 0 70 0 0 0 0 0 0 0 0 284 2 0 0 68 0 0 0 0 4 3 1 278 3 1 0 3 63 0 0 0 0 8 1 278 4 0 0 0 0 72 0 0 0 0 0 282 5 1 0 0 1 0 46 1 0 0 4 301 6 6 2 0 0 0 2 41 0 0 0 303 7 0 0 0 0 0 0 0 17 0 0 337 8 1 0 0 6 0 1 0 1 61 3 281 9 2 0 0 0 0 12 1 0 1 67 271 Tabla 15. Resultados de la clasificación de números con un 40% de ruido empleando los elementos de matrices 3x3. Imágenes con un 70% de ruido Para este caso se han utilizado 500 figuras de aprendizaje en vez de las 300 que se han utilizado para los demás porcentajes de ruido. Las figuras son mucho menos nítidas por lo que son necesarias más imágenes para que la SVM pueda entrenarse correctamente. El porcentaje de imágenes a las que la SVM no ha asignado su clase correcta es de un 67,03% cuando el conjunto de variables utilizado es el 2. En el caso del número 0 el error asciende a un 82,03% (Tabla 16): sólo se consiguen identificar 60 de las 334 imágenes totales. Figura clasificada como: 0 1 2 3 4 5 6 7 8 9 indet. 0 60 2 4 2 5 12 22 0 19 39 169 1 4 159 11 6 15 8 3 5 4 6 113 2 3 8 101 22 3 5 2 18 13 7 152 3 1 2 12 107 5 4 6 3 30 4 160 4 6 14 2 8 146 5 8 2 11 6 126 5 11 6 0 15 5 117 18 5 16 11 130 6 30 2 3 8 7 16 86 3 16 8 155 7 2 7 26 11 3 2 2 167 4 5 105 8 15 4 11 25 3 10 16 3 67 12 168 9 22 3 4 7 1 10 20 2 14 91 160 Tabla 16. Resultados de la clasificación para números con un 70% de ruido empleando el conjunto de variables nº 2. 4 Aplicación de las SVM al reconocimiento de matrículas 60 Para el caso de los histogramas vertical y horizontal de las matrices en blanco y negro el porcentaje de error es de un 74,55%: 1304 imágenes mal clasificadas y 1186 indeterminadas (Figura 20). Figura clasificada como: 0 1 2 3 4 5 6 7 8 9 indet. 0 42 1 5 10 14 14 42 2 26 33 145 1 10 122 25 29 23 8 9 4 6 5 93 2 14 5 95 42 6 10 10 14 14 6 118 3 9 9 41 73 5 11 13 19 22 11 121 4 9 16 9 38 117 8 24 5 21 5 82 5 22 6 8 27 6 59 19 5 32 17 133 6 21 2 5 30 10 13 68 7 28 20 130 7 3 15 38 18 3 7 7 127 10 6 100 8 13 4 10 32 4 9 30 1 82 24 125 9 16 0 12 16 7 10 39 2 28 65 139 Tabla 17. Resultados de la clasificación para números con un 70% de ruido empleando el conjunto de variables nº 4. Para el conjunto de variables nº 5 el error es de un 22,55% (Tabla 18). Figura clasificada como: 0 1 2 3 4 5 6 7 8 9 indet. 0 210 1 0 0 1 4 54 1 25 35 3 1 1 300 2 6 12 7 5 0 1 0 0 2 1 0 267 14 5 1 2 29 8 6 1 3 2 3 12 252 5 8 8 4 36 4 0 4 4 9 1 5 309 0 1 2 2 1 0 5 10 2 1 10 1 278 19 0 10 2 1 6 50 2 1 4 1 25 219 0 24 7 1 7 0 3 9 6 1 0 0 313 0 2 0 8 21 3 4 18 3 9 28 4 229 13 2 9 56 2 3 3 2 14 24 0 17 210 3 Tabla 18. Resultados de la clasificación para números con un 70% de ruido empleando el conjunto de variables nº 5. Para intentar mejorar los resultados se utilizaron a la vez las variables del conjunto nº 5 seguido de las del nº 4. No se consiguió reducir el porcentaje de error, incluso es algo mayor que cuando se utilizó únicamente el conjunto nº 5 (23,02%). 4 Aplicación de las SVM al reconocimiento de matrículas 61 Figura clasificada como: 0 1 2 3 4 5 6 7 8 9 indet. 0 211 0 1 0 0 4 54 1 24 38 1 1 2 302 4 7 8 5 4 1 0 0 1 2 0 1 274 13 4 1 2 26 7 5 1 3 4 5 13 241 5 6 8 5 42 4 1 4 5 6 1 7 306 1 2 3 3 0 0 5 10 1 1 12 1 267 28 0 10 2 2 6 50 2 1 5 1 30 218 0 21 3 3 7 0 1 12 8 1 0 0 308 0 4 0 8 21 3 4 23 3 11 25 3 232 7 2 9 58 1 3 2 2 14 19 1 18 212 4 Tabla 19. Resultados de la clasificación para números con un 70% de ruido empleando los conjuntos 4 y 5. En la Figura 53 se comparan los errores cometidos en cada número para los conjuntos 4, 5 y la combinación de ambos. Para los números 3, 5 y 7 el error aumenta empleando el último conjunto. Añadir el histograma no ayuda a mejorar el reconocimiento. 100 90 80 Error (%) 70 60 Conjunto nº 4 50 Conjunto nº 5 40 Conjuntos nº 4 y 5 30 20 10 0 0 1 2 3 4 5 6 7 8 9 Número Figura 53. Comparación de los resultados obtenidos para el conjunto nº 4, el nº 5 y la combinación de ambos. 4.1.1.2 Análisis de los resultados de la clasificación de los números centrados en la imagen Con todos los conjuntos de variables, todas las imágenes sin ruido son reconocidas correctamente (Figura 54). Al empeorar ligeramente la nitidez de los números, con los conjuntos 1 y 3 la SVM ya no es capaz de distinguir ningún número. Un aumento tan elevado puede ser debido a que las imágenes sin ruido fueron clasificadas adecuadamente por ser muy similares a las del conjunto de aprendizaje. Para el resto de variables un ligero incremento del ruido no afecta prácticamente a la clasificación. 4 Aplicación de las SVM al reconocimiento de matrículas 62 El error cometido por el conjunto nº 5 siempre es inferior al del resto de variables. Sólo presenta un incremento significativo del error a partir de un 40% de ruido. 100 Conjunto Conjunto Conjunto Conjunto Conjunto 90 80 70 1 2 3 4 5 Error(%) 60 50 40 30 20 10 0 0 10 20 30 40 Ruido(% ) 50 60 70 80 Figura 54. Porcentaje de error cometido para cada conjunto de variables en función del ruido. 4.1.2 Clasificación de números deformados Puede ocurrir que las matrículas fotografiadas estén torcidas o dobladas. También puede suceder que el segmentador no haya dividido correctamente la imagen y el carácter no aparezca centrado en la imagen, sino desplazado. Mediante distintos tipos de transformaciones se generan imágenes que simulan estos efectos. 4.1.2.1 Tipo de imágenes generadas A partir de las imágenes originales, éstas se deforman. El conjunto de datos está formado por: - Imágenes con ruido: las imágenes tienen un porcentaje p de ruido aleatorio entre 0 y un 20%. Significa que a un porcentaje p de los elementos de la matriz se le asigna un valor al azar entre 0 y 255. - Imágenes giradas: para obtener imágenes rotadas se utiliza la función imrotate. Las figuras tienen un ángulo máximo de giro de 30º. Al rotar el número, en la imagen que se obtiene aparece negro en las esquinas que es necesario eliminar para que la imagen resulte más parecida al caso real (Figura 55). 4 Aplicación de las SVM al reconocimiento de matrículas 63 2 2 4 4 6 6 8 8 10 10 12 12 14 14 2 4 6 8 10 12 2 14 4 6 8 10 12 14 Figura 55. Imagen rotada con la función imrotate e imagen corregida. - Imágenes desplazadas: el carácter no aparece centrado en la figura o aparece más pequeño de lo que debería. No se consideran desplazamientos excesivamente grandes ya que se considera que el segmentador es lo suficientemente fiable. 2 2 4 4 6 6 8 8 10 10 12 12 14 14 2 4 6 8 10 12 2 14 4 6 8 10 12 14 Figura 56. Ejemplos de imágenes desplazadas. - Imágenes dobladas horizontalmente: el efecto de matrículas dobladas se consigue eliminando filas de la matriz aleatoriamente y deformando una parte de la imagen realizando una transformación matemática (Figura 57). 2 2 4 4 6 6 8 8 10 10 12 12 14 14 2 4 6 8 10 12 14 2 4 6 8 10 12 14 Figura 57. Ejemplo de imágenes dobladas horizontalmente. - Imágenes dobladas verticalmente. Se muestra un ejemplo a continuación (Figura 58). 4 Aplicación de las SVM al reconocimiento de matrículas 64 2 2 4 4 6 6 8 8 10 10 12 12 14 14 2 4 6 8 10 12 14 2 4 6 8 10 12 14 Figura 58. Ejemplo de imágenes dobladas verticalmente. Tanto a las imágenes desplazadas como a las giradas y a las dobladas se les añade ruido con un porcentaje aleatorio (Figura 59). Esto nos permite obtener un conjunto más variado para conseguir que los resultados sean más fiables. Si las imágenes fueran demasiado similares la SVM podría identificar correctamente una figura no porque haya demostrado una buena capacidad de generalización, sino porque las imágenes que se quieren reconocer sean muy parecidas a las del conjunto de entrenamiento. 2 2 4 4 6 6 8 8 10 10 12 12 14 14 2 4 6 8 10 12 14 2 4 6 8 10 12 14 Figura 59. Ejemplo de imágenes deformadas con ruido. El conjunto de datos de entrenamiento utilizado está formado por 250 imágenes: 5 imágenes para cada tipo de deformación y para cada número. 4.1.2.2 Resultados de la clasificación Para la clasificación de las imágenes deformadas no tiene sentido utilizar las variables que están relacionadas con los puntos en común con un patrón ya que en este caso las imágenes no aparecen siempre en la misma posición. A continuación se indican los resultados obtenidos según las variables consideradas: Elementos de la matriz: El porcentaje de error que se comete es de 99,4% (497 imágenes) para σ =1, por lo que este conjunto de variables no resulta adecuado para reconocer los números 4 Aplicación de las SVM al reconocimiento de matrículas 65 deformados. Las imágenes que no han sido reconocidas han sido imágenes indeterminadas y no han sido clasificadas como positivas en ninguno de los modelos. Ha clasificado correctamente dos imágenes del número 5 y una de un 8. Las tres eran figuras únicamente con ruido y éste para todas era inferior a un 0,5%. Histogramas vertical y horizontal de la matriz en escala de grises: El porcentaje de error coincide con el del caso anterior. Este conjunto de variables tampoco podría ser usado para identificar los números. Las figuras que reconoce también coinciden con las que no reconoce la SVM cuando el tipo de variables usado son los elementos de la matriz. Esto demuestra que la SVM las clasifica correctamente porque existen unas figuras similares en el conjunto de entrenamiento. Tampoco se puede usar esta variable para la clasificación. Histogramas vertical y horizontal de la matriz en blanco y negro: La SVM no clasifica correctamente un 14,6% de los números (70 figuras mal clasificadas y 3 figuras indeterminadas). Uno de los números en el que mayor error comete al clasificar es el 6 (Tabla 20). Los números que más confunde el clasificador son el 6 y el 0, y el 8 y el 9. De este último caso se puede ver un ejemplo en la Figura 60. Figura clasificada como: 0 1 2 3 4 5 6 7 8 9 indet. 0 41 0 0 1 1 0 4 0 1 2 0 1 0 48 0 1 0 0 0 1 0 0 0 2 0 0 42 2 0 1 1 2 2 0 0 3 0 0 1 44 1 0 0 1 1 0 2 4 0 2 0 1 46 0 1 0 0 0 0 5 1 0 1 2 0 44 2 0 0 0 0 6 6 0 0 1 0 0 34 0 8 1 0 7 0 0 0 2 0 0 0 48 0 0 0 8 0 0 0 0 0 0 3 0 43 4 0 9 3 0 0 1 0 1 2 0 5 37 1 Tabla 20. Clasificación realizada por la SVM para cada número. 4 Aplicación de las SVM al reconocimiento de matrículas 66 2 2 4 4 6 6 8 8 10 10 12 12 14 14 2 4 6 8 10 12 14 2 4 6 8 10 12 14 Figura 60. Números clasificados incorrectamente cuando se utilizan como variables los histogramas. Elementos de la matriz pasada a blanco y negro: Para σ = 1, la SVM ha asignado una clase incorrecta a 34 imágenes (6,8%), menos de la mitad del caso anterior. Nueve figuras han quedado indeterminadas (1,8%), todas ellas fueron clasificadas como clase negativa en todos los modelos, es decir, que la SVM no dudó entre varias clases. Se necesitaron todas las figuras de entrenamiento para calcular la frontera de decisión ya que todas son vectores soporte. También se ha comprobado que esto se da tomando el doble de imágenes de aprendizaje. En la Tabla 21 se muestran más en detalle los resultados de la clasificación para cada número. Figura clasificada como: 0 1 2 3 4 5 6 7 8 9 indet. 0 44 0 0 0 0 0 5 0 0 0 1 1 0 50 0 0 0 0 0 0 0 0 0 2 0 0 43 1 0 0 0 4 0 0 2 3 0 1 0 48 0 0 0 0 0 0 1 4 0 1 0 0 46 0 1 0 1 0 1 5 0 0 0 1 0 45 3 0 1 0 0 6 2 0 0 0 0 1 41 0 3 0 3 7 0 0 0 1 0 0 0 49 0 0 0 8 0 0 0 1 0 0 2 0 47 0 0 9 2 0 0 0 0 1 1 0 1 44 1 Tabla 21. Clasificación realizada por la SVM para cada número. Los números que mejor reconoce son el 1 y el 7. El número que la SVM tiene más dificultades para reconocer es el 6. Comparando la Tabla 20 y la Tabla 21 se puede comprobar que la SVM se equivoca aproximadamente en las mismas figuras aunque para el tipo de variables que se estudia en este apartado el error es menor. Esto puede 4 Aplicación de las SVM al reconocimiento de matrículas 67 ocurrir porque las dos variables estén relacionadas o porque las imágenes estén muy deformadas y sean difíciles de reconocer. En la Figura 61 aparece un ejemplo de dos imágenes del número 6 que la SVM no ha identificado (se muestran las imágenes antes de haber realizado el tratamiento). La primera imagen fue clasificada como un 8 y la segunda como un 0. 2 2 4 4 6 6 8 8 10 10 12 12 14 14 2 4 6 8 10 12 14 2 4 6 8 10 12 14 Figura 61. Imágenes que representan el número 6 mal clasificadas. Se comprueba que incluso para una persona estas imágenes serían complicadas de distinguir. La SVM ha considerado que los caracteres pertenecían al conjunto de los números a los que realmente se parecen las imágenes. Esto demuestra que la SVM ha sido capaz de generalizar correctamente las características de cada clase con las variables utilizadas en este caso, aunque el número de vectores soporte haya sido elevado. También hay imágenes más nítidas que la SVM ha clasificado mal, como las de la Figura 62 que muestra imágenes del número 0 que el clasificador ha identificado como un 6. Aún en este ejemplo que resulta más fácil de distinguir, la imagen guarda cierta similitud en forma con la clase a la que la SVM ha considerado que pertenecía. 2 2 2 4 4 4 6 6 6 8 8 8 10 10 10 12 12 12 14 14 14 2 4 6 8 10 12 14 2 4 6 8 10 12 14 Figura 62. Imágenes mal clasificadas. 2 4 6 8 10 12 14 4 Aplicación de las SVM al reconocimiento de matrículas 68 Tipo de deformación de la imagen: Ruido Girada Desplazada Doblada horizontalmente Doblada verticalmente 0 0 0 6 0 0 1 0 0 0 0 0 2 0 0 5 2 0 3 0 0 2 0 0 4 0 0 4 0 0 5 0 0 4 1 0 6 0 0 5 2 2 7 0 0 1 0 0 8 0 1 1 0 1 9 0 0 5 1 0 Total 0 1 33 6 3 Tabla 22. Imágenes no reconocidas por la SVM para cada tipo de deformación. El tipo de deformaciones que la SVM tiene más problemas para identificar es el de las imágenes desplazadas. Esto significa que la SVM reconoce los diferentes números según su posición. Es la característica que considera común a cada una de las clases. 4.1.2.3 Análisis de los resultados de números deformados Comparando los resultados obtenidos para las distintas variables (Figura 63), se comprueba que con el conjunto nº 2 se consigue el menor error. El segundo tipo con el que mejor se realiza la clasificación es el nº 4. Ambos conjuntos se obtuvieron a partir de las imágenes tratadas. Las variables calculadas a partir de las matrices en escala de grises no permiten reconocer prácticamente ningún número. 100 Error (%) 80 60 40 20 0 Conjunto nº 1 Conjunto nº 2 Conjunto nº 3 Conjunto nº 4 Figura 63. Porcentaje de error cometido para cada conjunto de variables. 4 Aplicación de las SVM al reconocimiento de matrículas 4.2 69 Aplicación de las SVM al reconocimiento de letras La SVM se ha entrenado con todas las letras excepto con la Q y con la Ñ, caracteres que no están presentes en las matrículas, por lo que se tiene un total de 25 clases. 5 10 15 5 5 5 5 10 10 10 10 15 15 15 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 5 5 5 10 10 10 10 15 15 15 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 5 5 5 10 10 10 10 15 15 15 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 5 5 5 10 10 10 10 15 15 15 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 5 5 5 5 10 10 10 10 15 15 15 15 5 10 15 5 10 15 5 10 15 5 10 15 5 10 15 Figura 64. Imágenes patrón empleadas en la clasificación de las letras. 4.2.1 Clasificación de letras con distintos niveles de ruido El entrenamiento de la SVM se realizó con 500 imágenes. Para la evaluación se emplearon 8524 letras. Al tener más clases que en la clasificación de números se necesitan más imágenes. 4.2.1.1 Resultados obtenidos Imágenes sin ruido: Para los elementos de la matriz en escala de grises se consigue un porcentaje de acierto del 74,38%. Todas las imágenes que el clasificador no ha identificado han sido letras indeterminadas y fueron clasificadas como clase negativa en todos los modelos, por lo que la SVM no ha podido decidirse por ninguna clase. Para siete tipos de letras no se ha confundido en ningún caso: la B, la F, la H, la I, la L, la T y la W. Si se utiliza el conjunto nº 5, el porcentaje de error se reduce a un 0,06%, es decir, a 5 letras. La SVM ha confundido una G con una O, tres G con una C y una N con una H. 4 Aplicación de las SVM al reconocimiento de matrículas 70 En el caso de las variables 4 y 3 todas las letras son reconocidas adecuadamente, mientras que para la 2 tan sólo son reconocidas el 47,54% de ellas. Imágenes con un 20% de ruido Para el conjunto nº 1 al igual que para el conjunto nº 3, el 100% de las figuras quedan indeterminadas por lo que no se van a estudiar los casos de imágenes con más ruido para dichas variables. Para el conjunto nº 2 este valor se reduce a un 0,6%, es decir, a 51 figuras. La mayoría de las imágenes indeterminadas se corresponden con imágenes de la B. La SVM no reconoce más de un 6% de ellas (Figura 65). Para el resto de las letras no indicadas en el histograma el error es nulo. Imágenes inderminadas (%) 7 6 5 4 3 2 1 0 B C D G H Le tra O P R U Figura 65. Histograma del porcentaje de imágenes indeterminadas de cada tipo de letra. Empleando como variables los histogramas de la imagen en blanco y negro asigna una clase incorrecta a 95 imágenes y 3 se quedan sin ser determinadas (una B, una S y una X). Las letras en las que se ha cometido el mayor porcentaje de error en su clasificación son la X y la D (Figura 66). Como se puede observar, las letras en las que más se equivoca la SVM no coinciden con las del conjunto de variables nº 2. 7 6 Error (% ) 5 4 3 2 1 0 A B C D E F G H I J K L M N O P R S T U V W Letra Figura 66. Histograma del porcentaje de imágenes incorrectamente clasificadas de cada letra. X Y Z 4 Aplicación de las SVM al reconocimiento de matrículas 71 Para este conjunto de variables, los errores más frecuentes cometidos por la SVM han sido clasificar la letra X como una A (11 veces), la A como una X (9 veces) e imágenes de la letra D como una U (10 veces). Sin embargo no ha tenido tantos problemas para distinguir imágenes de la U de la D (sólo se equivocó en 2 ocasiones). Los resultados más en detalle se muestran en la Tabla 25 de los anexos. Con el conjunto nº 5, la SVM clasificó dos letras D como una B y una G como una O (Figura 67). Además otras 6 imágenes fueron indeterminadas. Esto supone un error del 0,11%. 2 2 2 4 4 4 6 6 6 8 8 8 10 10 10 12 12 12 14 14 5 10 14 15 5 10 15 5 10 15 Figura 67. Imágenes con un 20% de ruido mal clasificadas empleando el conjunto de variables nº5. Imágenes con un 40% de ruido: Con el conjunto nº 2, el clasificador asigna una clase incorrecta a 146 imágenes y no es capaz de determinar la clase de otras 64 (2,58% de error). La SVM tiene dificultades para distinguir la letra C y la G, y la H y la N (Tabla 26). El error cometido clasificando con el conjunto nº 4 asciende a un 21,72%. La SVM nunca se equivoca al reconocer la L, mientras que no es capaz de identificar casi un 50% de las letras D y G (Figura 68.). La primera la confunde sobre todo con la letra U y la segunda con la O (Tabla 27). 60 Error (%) 50 40 30 20 10 0 A B C D E F G H I J K L M N O P R S T U V W X Y Z Letra Figura 68. Histograma del porcentaje de imágenes incorrectamente clasificadas de cada letra para el conjunto nº4. 4 Aplicación de las SVM al reconocimiento de matrículas 72 Un 2,76% de las letras son clasificadas incorrectamente cuando el conjunto de variables utilizado es el nº 5. La letra que más dificultades tiene para reconocer es la C Error (%) (Figura 69), confundiéndola en 48 ocasiones con la G (Tabla 28). 18 16 14 12 10 8 6 4 2 0 A B C D E F G H I J K L M N O P R S T U V W X Y Z Letra Figura 69. Histograma del porcentaje de imágenes incorrectamente clasificadas de cada letra para el conjunto nº5. Imágenes con un 70% de ruido: Con el conjunto nº 2 la SVM sólo identifica correctamente un 16,78% de las imágenes. Para todas las letras, excepto la A, el porcentaje de error supera el 70% (Tabla 29). Con el conjunto nº 4, el clasificador reconoce un 18,55% de las imágenes. Para las letras F, J y T, el error es próximo al 65%, para el resto supera el 70% (Tabla 30). Aproximadamente un 50% de las letras no son identificadas por el clasificador empleando el conjunto nº 5. Si se toman 750 imágenes de aprendizaje en vez de 500, el error es de 45,05%. En la Figura 70 se puede observar que para la mayoría de las letras el porcentaje de error cometido desciende al aumentar el conjunto de entrenamiento. Sin embargo para otras como la A, la C, la K, la N, la V y la X la SVM tiene más dificultades para reconocerlas. nº puntos de aprendizaje = 500 250 nº puntos de aprendizaje = 750 Error (%) 200 150 100 50 0 A B C D E F G H I J K L M N O P R S T U V W X Y Z Letra Figura 70. Comparación del porcentaje de letras incorrectamente clasificadas tomando 500 y 750 imágenes de aprendizaje. 4 Aplicación de las SVM al reconocimiento de matrículas 4.2.1.2 73 Análisis de los resultados de la clasificación de las letras con distintos niveles de ruido En la Figura 71 se compara el error que comete la SVM para cada tipo de variables. Los conjuntos 1 y 3 no sirven para la identificación de las letras debido al elevado número de imágenes que no son reconocidas incluso para niveles bajos de ruido. Para los tres otros conjuntos el error es similar hasta un 20% de ruido. Tanto el 3 como el 5 se mantienen por debajo de un 3% hasta un 40% de ruido. Si las imágenes tuvieran un elevado porcentaje de ruido, el tipo de variables más adecuado para realizar la clasificación sería el 5. El porcentaje de error es aceptable considerando que se tiene un total de 25 clases, por lo que la probabilidad de equivocarse en al menos uno de los 25 problemas de clasificación es mayor que en el caso de los números. 100 90 80 70 Error(%) 60 50 40 30 C onjunto C onjunto C onjunto C onjunto C onjunto 20 10 0 0 10 20 30 40 R uido(% ) 50 60 70 1 2 3 4 5 80 Figura 71. Porcentaje de error cometido para cada conjunto de variables al variar el ruido. 4.2.2 Clasificación de letras deformadas Los tipos de deformaciones de las imágenes estudiadas son los mismos que los utilizados para la clasificación de los números. Se han tomado 500 figuras para el entrenamiento (20 imágenes de cada letra) de la SVM y 1000 para la evaluación (20 imágenes de cada letra). Se comprobó en el caso de los números que la clasificación de las imágenes a partir de los histogramas y de los elementos de la matriz en escala de grises no dio buenos resultados. Por esta razón, únicamente se van a analizar los resultados utilizando los conjuntos de variables nº 2 y 4 (elementos e histogramas de la matriz en blanco y negro). 4 Aplicación de las SVM al reconocimiento de matrículas 4.2.2.1 74 Resultados de la clasificación de letras deformadas Histogramas vertical y horizontal de las matrices en blanco y negro: La SVM clasifica mal 165 letras y otras 3 quedan indeterminadas, por lo que el error es de un 16,8%. En la Tabla 23 se muestra el número de imágenes no reconocidas de cada letra para cada tipo de deformación. La SVM ha sido incapaz de identificar 110 letras desplazadas, lo que supone más de un 65% de las imágenes totales no reconocidas. Las letras en las que se comete el mayor error son la H, la R, la B y la D. Tipo de deformación de la imagen: A B C D E F G H I J K L M N O P R S T U V W X Y Z Total Ruido Girada Desplazada Doblada horizontalmente Doblada verticalmente 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 7 2 8 4 7 5 4 2 6 3 2 7 1 8 6 4 4 6 6 4 3 0 5 6 1 6 110 1 1 1 0 1 2 2 2 0 0 1 0 0 1 0 0 2 0 0 0 2 0 2 0 0 18 1 3 0 5 0 0 1 4 2 0 1 0 0 2 1 0 3 0 2 5 1 1 0 1 0 33 Tabla 23. Imágenes no reconocidas por la SVM para cada tipo de deformación. Elementos de la matriz de las matrices en blanco y negro: Para este caso, el número de imágenes indeterminadas aumenta con respecto al anterior (22 imágenes). Sin embargo, el porcentaje de error es menor puesto que sólo asigna una clase incorrecta a 91 letras frente a las 165 para la variable anterior. Por lo tanto, la SVM se equivocó en un 11,3% de las veces. 4 Aplicación de las SVM al reconocimiento de matrículas 75 Los errores que más se repiten son confundir las imágenes de la letra H con la N (8 veces), las de la C con la G (4 veces) y las de la T con la Y (4 veces). Se muestra un ejemplo de cada uno de estos casos en la Figura 72. 2 2 2 4 4 4 6 6 6 8 8 8 10 10 10 12 12 12 14 14 14 2 4 6 8 10 12 14 2 4 6 8 10 12 14 2 4 6 8 10 12 14 Figura 72. Ejemplos de figuras mal clasificadas al utilizar los elementos de la matriz como variables. Las imágenes menos reconocidas son las imágenes desplazadas, mientras que todas las imágenes con sólo ruido han sido bien clasificadas (Tabla 24). Tipo de deformación de la imagen: A B C D E F G H I J K L M N O P R S T U V W X Y Z Total Ruido Girada Desplazada 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 3 2 0 0 0 0 0 0 0 0 0 1 2 2 0 0 2 0 0 13 0 6 3 5 5 3 3 6 2 0 5 1 5 5 4 3 5 3 2 3 0 2 4 1 5 81 Doblada horizontalmente 1 1 3 0 1 0 0 0 0 0 1 0 0 2 0 0 0 1 0 0 0 0 0 0 0 10 Doblada verticalmente 0 0 0 2 0 0 0 3 0 0 0 0 0 2 0 0 0 0 0 2 0 0 0 0 0 9 Tabla 24. Imágenes no reconocidas por la SVM para cada tipo de deformación. Para las imágenes desplazadas cuando el ángulo de giro es inferior a 10º la SVM no se equivocó en ningún caso (Figura 73). Casi el 50% de las que no reconoce el clasificador tienen un ángulo de rotación comprendido entre 25 y 30º. Imágenes mal clasificadas (%) 4 Aplicación de las SVM al reconocimiento de matrículas 76 50 45 40 35 30 25 20 15 10 5 0 [0º,5º) [5º,10º) [10º,15º) [15º,20º) [20º,25º) [25º,30º] Ángulo de giro Figura 73. Histograma de las figuras giradas mal clasificadas para los distintos ángulos de giro. Las letras que el clasificador tiene más problemas para reconocer son las letras H y N con más de un 20% de error. Las letras que la SVM tiene más facilidades para distinguir son la J y la V. 4.2.2.2 Análisis de los resultados de la clasificación de letras deformadas Empleando los histogramas la SVM identifica correctamente un 83,2% de las letras, mientras que para los elementos de la matriz el porcentaje es mayor: 88,7%. Por lo tanto este último conjunto es el más indicado para clasificar las letras. Para cada tipo de deformación el error que comete permanece igual o es menor que para el otro conjunto de variables anterior excepto para el error en las imágenes giradas (el número de figuras no reconocidas aumenta de 7 a 13 letras). Para ambos tipos de variables las imágenes menos reconocidas son las desplazadas. Para todas las letras el error es menor utilizando los elementos de la matriz (Figura 74). La letra en la que más se equivocan al ser clasificada coincide para los dos conjuntos y se corresponde con la H. Nº de figuras no reconocidas 16 14 Histogramas 12 Elementos de la matriz 10 8 6 4 2 0 A B C D E F G H I J K L M N O P R S T U V W X Y Letra Figura 74. Número de figuras no reconocidas para cada letra y cada conjunto de variables. Z 4 Aplicación de las SVM al reconocimiento de matrículas 4.3 77 Análisis de los resultados de la clasificación de los caracteres de las matrículas Se comprobó que los mejores tipos de variables para realizar la clasificación son los mismos para los números y para las letras. Para las imágenes centradas con distintos niveles de ruido los mejores resultados se han obtenido con el conjunto nº 5 (variables que permiten conocer las diferencias con imágenes patrón). En la Figura 75 se comparan los resultados obtenidos en las dos clasificaciones para ese tipo de variables. Cuando el ruido es elevado, el error es mucho mayor en el caso de las letras. Esto se debe a que el problema es más complejo puesto que se tiene un mayor número de clases por lo que la probabilidad de equivocarse en alguno de los modelos es mayor. 70 Letras Núm eros 60 Error(%) 50 40 30 20 10 0 0 10 20 30 40 Ruido(% ) 50 60 70 80 Figura 75. Error en función del ruido en la clasificación de las letras y de los números. Sin embargo en el caso de la clasificación de caracteres deformados los resultados obtenidos fueron más similares habiéndose conseguido un porcentaje de acierto de 91,4 y 88,7% en el reconocimiento de los números y de las letras respectivamente. 6 Conclusiones 5 Conclusiones 5 79 Conclusiones 5.1 Conclusiones sobre los resultados Tanto en el caso de la clasificación de imágenes sintéticas como en el de los caracteres de las matrículas, se obtuvieron unos porcentajes elevados de acierto. En el caso del reconocimiento de letras y números los resultados son más significativos, ya que se tuvo que reducir el número de datos de aprendizaje por los elevados tiempos de simulación. Se demostró que las SVM tienen una gran capacidad para reconocer las imágenes, siempre y cuando se empleen las variables adecuadas. Se comprobó que si éstas se obtienen a partir de las imágenes en escala de grises (y no en blanco y negro puros) el porcentaje de error cometido es alto. Realizar un tratamiento de la imagen es, por lo tanto, imprescindible para un mejor reconocimiento. Además, es importante escoger adecuadamente la cantidad y el tipo de datos del conjunto de test y del de entrenamiento para no sacar conclusiones erróneas sobre los resultados. Las imágenes de evaluación no deben ser muy similares a las de aprendizaje. Esto conllevaría un porcentaje de acierto muy elevado sin que la SVM haya demostrado una buena capacidad de generalización que es el motivo por el que se emplea como método de clasificación. Además, el número de imágenes de entrenamiento tiene que ser lo suficientemente elevado para que la SVM sea capaz de “aprenderse” las características de cada clase y así no obtener un porcentaje de error indebido. Una de las principales dificultades encontradas a la hora de clasificar con las SVM fue el tiempo de simulación requerido para resolver los problemas de optimización y evaluar el conjunto de test. Esto es debido a la elevada cantidad de variables, de clases y de datos utilizados. Otro inconveniente que presenta el clasificador en problemas multiclase es que al evaluar una imagen y hacerla pasar por varios modelos, la SVM puede categorizar un dato como clase positiva en más de uno de ellos o en ninguno. En este caso no puede decidirse por ninguna clase y la imagen queda indeterminada. Aún así es mejor obtener este tipo de figuras que otras incorrectamente clasificadas. En la indeterminada se puede saber que algo no es correcto y se puede pasar a otro procedimiento como, por ejemplo, el reconocimiento manual. 5 Conclusiones 5.2 80 Recomendaciones para futuros estudios Se comprobó que, en el caso de las imágenes sintéticas, cuando se escogen unas variables que caracterizan cada clase se puede llegar a unos muy buenos resultados. En este sentido, se puede seguir investigando en otras variables de las que aquí se han propuesto que sean capaces de identificar mejor los distintos caracteres. Para todos los modelos de un mismo problema, se han utilizado iguales parámetros (función kernel, C…) y conjuntos de variables. Podría ocurrir que los parámetros que son adecuados para obtener el hiperplano de uno de esos modelos no lo sean para otro o que un mismo conjunto de variables permita identificar un tipo de carácter, pero no otros. Por esta razón, se podría estudiar si se pueden mejorar los resultados empleando distintos parámetros para cada modelo. En determinados problemas, el alto porcentaje de error se debe a un número elevado de datos que han sido clasificados como clase positiva en varios modelos. Se puede investigar sobre un método para escoger la mejor de las clases basándose, por ejemplo, en la distancia relativa a la que se encuentra dicho dato del hiperplano separador de cada uno de los modelos en los que ha sido clasificada como positiva. También se puede realizar una SVM específica para separar dos clases concretas entre las que el grado de confusión suele ser alto. En este proyecto, se realizó la clasificación multiclase con el método 1-v-r en el que hay que resolver tantos modelos como clases a reconocer. Existe otro sistema para la resolución de este tipo de problemas conocida como 1-v-1. Consiste en llevar a cabo K(K - 1)/2 clasificaciones siendo K el número total de clases. En cada una de ellas se toman dos clases de las K totales. Es recomendable estudiar si con este último método se mejora la capacidad de reconocimiento por parte de las SVM. 7 Bibliografía 6 Bibliografía 6 82 Bibliografía 6.1 Documentos [ORAL04] Orallo, J.H., M.J. Ramírez Quintana, C. Ferri Ramírez. Introducción a la Minería de Datos. PEARSON EDUCACIÓN, S.A. Madrid 2004. [HAST01] Hastie, T., R. Tibshirani, J. Friedman. The Elements of Statistical Learning: Data Mining, Interference and Prediction (Capítulo 12: Support Vector Machines and Flexible Discriminants). Ed. Springer Series in Statistics, 2001 [ANGU01] Angulo Bahón, C. Aprendizaje con Máquinas Núcleo en Entornos de Multiclasificación (Capítulo 4: Clasificación Multiclase con Máquinas de Soporte Vectorial). Tesis Doctoral, Universidad Politécnica de Cataluña, 2001. [GUNN98] Gunn, S. R. Support Vector Machines for Classification and Regression. Universidad de Southampton, 1998. [BURG98] Burges, C. A Tutorial on Support Vector Machines for Pattern Recognition. Data Mining and Knowledge Discovery, vol. 2, No. 2, pp. 121-167, 1998. [JALO05] Jalón, J.C., J.I. Rodríguez, J. Vidal. Aprenda Matlab 7.0 como si estuviera en primero. Universidad Politécnica de Madrid, 2005. 6.2 Direcciones de Internet • http://www.isis.ecs.soton.ac.uk/ • http://www.csie.ntu.edu.tw/~cjlin/libsvm/ • http://www.licenseplaterecognition.com/ Anexos A Tablas de resultados de la clasificación de las letras B C D E F G H I J K L M N O P R S T U V W X Y Z indet. Porcentaje de imágenes no reconocidas A 323 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 2,71 B 0 342 0 3 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 1 1,73 C 0 0 329 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,90 D 0 8 0 330 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 5,17 E 0 0 0 0 364 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 F 0 0 0 0 0 380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 G 0 0 0 0 0 0 310 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 1,90 H 0 0 0 1 0 0 0 328 0 0 0 0 0 1 0 0 0 0 0 2 0 0 0 0 0 0 1,20 I 0 0 0 0 0 0 0 0 364 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 J 0 0 0 0 0 0 0 0 0 380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 K 0 0 0 0 0 0 0 0 0 0 332 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 L 0 0 0 0 0 0 0 0 0 0 0 380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 M 0 0 0 0 0 0 0 0 0 0 0 0 300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 N 0 0 0 0 0 0 0 2 0 0 0 0 0 329 0 0 0 0 0 1 0 0 0 0 0 0 0,90 O 0 0 2 0 0 0 4 0 0 0 0 0 0 0 310 0 0 0 0 0 0 0 0 0 0 0 1,90 P 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 348 0 0 0 0 0 0 0 0 0 0 0 R 0 6 0 0 0 0 0 0 0 0 3 0 0 0 0 0 323 0 0 0 0 0 0 0 0 0 2,71 S 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 343 0 0 0 0 0 0 0 1 1,44 T 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 364 0 0 0 0 0 0 0 0 U 0 0 0 2 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 328 0 0 0 0 0 0 1,20 V 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 327 0 3 1 0 0 1,51 W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 284 0 0 0 0 0 X 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 312 0 0 1 6,04 Y 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 332 0 0 0 Z 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 364 0 0 A Tablas de resultados de la clasificación de las letras A A Tablas de resultados de la clasificación de las letras blanco y negro. 85 Tabla 25. Resultados de la clasificación de imágenes con un 20% de ruido empleando los histogramas de la matriz en Imágenes clasificadas como: A B C D E F G H I J K L M N O P R S T U V W X Y Z indet. Porcentaje de imágenes no reconocidas A 332 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 B 0 335 0 3 0 0 0 0 0 0 0 0 1 0 0 3 1 0 0 0 0 0 0 0 0 5 3,79 C 0 0 299 0 0 0 25 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 6 10,12 D 0 10 0 318 0 0 1 0 0 0 0 0 0 0 3 0 0 0 0 1 0 0 0 0 0 15 9,01 E 0 0 0 0 362 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0,55 F 0 0 0 0 0 376 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 1,05 G 0 0 15 0 0 0 291 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 8 8,12 H 0 0 0 0 0 0 0 313 0 0 0 0 0 10 0 0 0 0 0 2 0 0 0 0 0 7 5,85 I 0 0 0 0 0 0 0 0 364 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 J 0 0 0 0 0 0 0 0 0 380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 K 0 0 0 0 0 0 0 0 0 0 332 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 L 0 0 0 0 0 0 0 0 0 0 0 380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 M 0 0 0 0 0 0 0 0 0 0 0 0 300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 N 0 0 0 0 0 0 0 14 0 0 0 0 0 313 0 0 0 0 0 0 0 0 0 0 0 5 5,81 O 0 0 4 5 0 0 7 0 0 0 0 0 0 0 285 0 0 0 0 1 0 0 0 0 0 14 10,26 P 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 337 4 0 0 0 0 0 0 0 0 6 3,22 R 0 1 0 0 0 0 0 0 0 0 1 0 0 2 0 1 326 0 0 0 0 0 0 0 0 1 1,81 S 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 346 0 0 0 0 0 0 0 0 0,57 T 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 358 0 0 0 0 6 0 0 1,65 U 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 324 0 0 0 0 0 5 2,45 V 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 330 0 0 2 0 0 0,60 W 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 283 0 0 0 0 0,35 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 331 0 0 1 0,30 Y 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 2 0 0 325 0 0 2,11 Z 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 364 0 0 A Tablas de resultados de la clasificación de las letras blanco y negro. 86 Tabla 26. Resultados de la clasificación de imágenes con un 40% de ruido empleando los elementos de la matriz en Imágenes clasificadas como: A B C D E F G H I J K L M N O P R S T U V W X Y Z indet. Porcentaje de imágenes no reconocidas A 193 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 11 0 0 23 0 95 2 0 6 42,64 B 0 213 0 31 0 0 2 1 0 0 3 0 5 45 5 1 31 1 0 4 0 0 0 0 0 6 39,47 C 1 0 245 0 0 0 26 0 0 0 0 0 0 0 37 0 4 6 0 1 5 1 1 0 1 4 26,52 D 0 41 1 180 1 0 0 11 0 0 0 0 0 26 14 0 23 1 0 40 0 0 0 0 0 10 49,70 E 0 0 0 0 359 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1,37 F 0 0 0 0 2 356 0 0 0 0 0 0 0 0 0 21 1 0 0 0 0 0 0 0 0 0 6,32 G 1 0 23 17 0 0 171 0 0 0 3 0 0 2 57 2 3 17 0 5 1 1 1 0 1 11 47,54 H 0 6 0 5 0 0 0 214 0 0 0 0 0 27 1 0 0 0 0 73 0 0 0 0 0 6 36,20 I 0 0 0 0 0 0 0 0 354 0 1 0 1 0 0 0 0 2 0 0 1 0 4 0 1 0 2,75 J 0 0 1 0 0 0 0 0 0 376 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1,05 K 1 3 0 3 0 0 1 0 0 0 256 0 0 0 6 4 50 2 0 1 0 2 1 0 0 2 23,03 L 0 0 0 0 0 0 0 0 0 0 0 380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 M 0 3 0 5 1 0 0 0 0 0 0 0 271 12 0 0 3 0 0 0 0 5 0 0 0 0 9,67 N 0 9 0 15 0 0 0 23 0 0 0 0 7 237 0 1 2 0 0 33 0 0 0 0 0 5 29,05 O 0 0 24 6 0 0 30 0 0 0 1 0 0 5 202 3 0 14 0 15 4 1 1 0 0 10 37,25 P 0 3 0 0 0 10 0 0 0 0 1 0 0 0 4 318 10 0 0 0 0 0 0 0 0 2 8,67 R 0 24 0 12 0 0 5 0 0 0 36 0 0 4 4 6 230 1 0 3 1 2 0 0 0 4 31,10 S 8 1 1 0 0 0 29 0 2 0 4 0 1 0 26 0 2 241 0 0 7 2 13 0 4 7 31,38 T 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 332 0 0 0 0 27 5 0 8,79 U 0 1 5 35 0 0 2 29 0 0 0 0 0 15 12 1 0 1 0 226 0 0 0 0 0 5 32,42 V 9 0 3 0 0 0 0 0 0 0 3 0 0 0 3 0 0 1 0 0 244 3 59 5 1 1 26,59 W 0 0 0 2 0 0 1 0 2 0 2 0 13 1 3 1 6 6 0 1 1 240 0 1 0 4 15,71 X 37 0 4 0 0 0 2 0 0 0 1 0 0 0 3 0 0 6 0 0 56 1 211 1 8 2 36,67 Y 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 19 0 24 0 1 282 1 3 15,20 Z 4 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 8 0 0 3 0 2 2 341 1 6,34 A Tablas de resultados de la clasificación de las letras blanco y negro. 87 Tabla 27. Resultados de la clasificación de imágenes con un 40% de ruido empleando los histogramas de la matriz en Imágenes clasificadas como: A B C D E F G H I J K L M N O P R S T U V W X Y Z indet. Porcentaje de imágenes no reconocidas A 332 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 B 0 335 0 7 0 0 0 0 0 0 0 0 2 0 0 2 2 0 0 0 0 0 0 0 0 0 3,74 C 0 0 278 0 0 0 48 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 16,27 D 0 6 0 340 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 2,30 E 0 0 0 0 360 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1,10 F 0 0 0 0 2 372 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 2,11 G 0 0 14 0 0 0 284 0 0 0 0 0 0 0 18 0 0 0 0 0 0 0 0 0 0 0 10,13 H 0 1 0 0 0 0 0 312 0 0 0 0 0 18 0 0 1 0 0 0 0 0 0 0 0 0 6,02 I 0 0 0 0 0 0 0 0 362 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0,55 J 0 0 0 0 0 0 0 0 0 380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 K 0 0 0 0 0 0 0 0 1 0 327 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 1,51 L 0 0 0 0 0 0 0 0 0 0 0 380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 M 0 0 0 0 0 0 0 0 0 0 0 0 300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 N 0 0 0 0 0 0 0 11 0 0 0 0 0 320 0 0 1 0 0 0 0 0 0 0 0 0 3,61 O 0 0 2 2 0 0 28 0 0 0 0 0 0 0 284 0 0 0 0 0 0 0 0 0 0 0 10,13 P 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 344 2 0 0 0 0 0 0 0 0 0 1,15 R 0 5 0 0 0 0 0 1 0 0 0 0 0 2 0 1 323 0 0 0 0 0 0 0 0 0 2,71 S 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 348 0 0 0 0 0 0 0 0 0 T 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 349 0 0 0 0 15 0 0 4,12 U 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 325 0 0 0 0 0 0 2,11 V 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 330 0 0 2 0 0 0,60 W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 284 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 332 0 0 0 0 Y 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 324 0 0 2,41 Z 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 364 0 0 A Tablas de resultados de la clasificación de las letras 88 Tabla 28. Resultados de la clasificación de imágenes con un 40% de ruido empleando el conjunto de variables nº 5. Imágenes clasificadas como: A B C D E F G H I J K L M N O P R S T U V W X Y Z indet. Porcentaje de imágenes no reconocidas A 103 1 3 2 3 1 3 1 14 4 4 0 0 1 7 3 4 5 1 0 2 0 15 5 2 148 68,98 B 2 46 3 9 3 3 9 9 7 1 1 5 1 4 1 8 7 5 1 12 2 1 1 0 2 205 86,78 C 1 2 43 6 5 1 20 2 4 0 1 11 0 0 21 2 3 4 2 10 3 1 0 1 1 188 87,05 D 1 11 9 60 5 1 9 2 1 3 0 6 0 6 9 3 2 1 2 8 0 0 1 0 0 208 82,76 E 3 3 8 3 47 12 2 4 3 2 4 11 1 9 2 9 8 4 0 5 2 4 2 2 2 212 87,09 F 2 6 5 3 17 60 3 7 2 0 12 8 3 5 1 13 7 3 3 1 7 5 1 1 0 205 84,21 G 0 5 33 4 2 1 31 2 5 4 1 3 4 3 25 1 3 9 0 8 1 0 1 0 1 169 90,19 H 3 8 1 11 6 2 0 24 4 1 7 3 3 33 3 1 9 1 0 20 1 2 0 0 0 189 92,77 I 11 4 5 2 7 1 0 1 59 0 4 3 3 1 1 2 7 5 4 3 9 5 11 5 1 210 83,79 J 0 5 5 4 4 2 10 4 4 112 1 0 1 0 17 7 5 3 2 16 2 3 2 4 3 164 70,53 K 5 3 0 0 6 1 0 6 3 1 53 9 4 2 3 1 11 2 2 0 5 5 5 1 2 202 84,04 L 4 6 10 3 16 5 1 5 1 2 6 70 2 6 1 1 2 6 1 7 2 1 1 2 2 217 81,58 € M 0 4 1 6 4 4 1 7 2 2 6 6 50 10 0 5 5 3 0 6 6 1 0 2 3 166 83,33 N 0 6 0 5 3 5 2 10 4 3 4 3 5 59 1 3 9 0 0 6 5 1 4 1 2 191 82,23 O 0 4 8 10 1 5 26 0 3 5 0 1 1 0 58 2 0 4 1 8 2 1 0 0 1 175 81,65 P 0 15 5 13 4 20 1 11 2 3 2 6 3 7 0 22 13 1 1 4 3 2 0 1 3 206 93,68 R 0 8 3 12 9 4 3 4 1 0 6 4 1 9 4 13 25 2 1 3 2 3 5 0 2 208 92,47 S 3 13 7 4 7 1 7 1 7 5 7 2 1 3 10 2 3 40 2 4 4 2 3 0 3 207 88,51 T 4 1 2 0 0 0 4 0 9 2 1 0 4 1 0 1 0 2 76 0 9 6 5 32 14 191 79,12 U 0 6 7 12 1 2 10 6 1 9 1 3 3 8 4 1 5 2 2 53 6 1 1 1 0 187 84,04 V 4 1 2 0 4 2 2 3 9 6 1 1 1 3 4 4 0 2 1 2 85 2 3 25 3 162 74,40 W 6 5 0 1 4 5 3 2 9 1 4 3 3 7 2 2 4 4 3 4 2 23 4 0 1 182 91,90 X 14 2 1 1 1 1 0 1 7 2 11 1 3 1 1 3 2 2 4 0 4 5 71 9 7 178 78,61 Y 1 0 1 0 2 0 1 1 15 2 2 0 2 4 4 0 0 0 25 1 24 1 9 70 5 162 78,92 Z 6 0 4 1 7 4 4 2 12 2 4 4 1 1 2 1 2 1 5 5 2 0 5 10 90 189 75,27 A Tablas de resultados de la clasificación de las letras blanco y negro. 89 Tabla 29. Resultados de la clasificación de imágenes con un 70% de ruido empleando los elementos de la matriz en Imágenes clasificadas como: A B C D E F G H I J K L M N O P R S T U V W X Y Z indet. Porcentaje de imágenes no reconocidas 60 1 7 1 6 5 11 3 15 2 9 0 2 0 12 2 2 35 3 7 50 5 42 13 21 18 81,93 B 5 44 18 31 18 8 26 8 2 2 8 4 14 38 5 5 14 10 1 35 5 9 7 1 4 26 87,36 C 10 5 55 7 4 6 21 11 6 6 7 10 3 1 35 16 8 13 4 17 12 10 20 5 11 29 83,43 D 0 37 23 60 16 7 17 19 2 8 8 2 8 35 15 7 11 4 0 29 1 1 4 0 1 33 82,76 E 0 13 10 29 91 52 2 8 12 0 8 21 8 7 11 14 7 7 5 9 11 8 3 3 6 19 75,00 F 6 5 17 17 35 137 4 3 1 0 12 19 6 1 3 28 5 3 10 15 3 11 5 5 1 28 63,95 G 18 7 33 14 5 7 34 5 1 5 11 7 2 4 42 5 13 11 4 26 7 8 14 1 7 25 89,24 H 0 23 0 28 5 11 14 78 1 6 2 5 8 58 8 9 10 1 1 38 1 4 1 0 0 20 76,51 I 17 3 4 5 11 3 3 0 88 0 5 0 5 2 11 2 3 76 1 2 17 20 52 5 7 22 75,82 J 31 16 9 1 2 0 23 3 1 135 6 1 2 8 33 1 7 3 8 12 10 3 40 2 6 17 64,47 K 9 17 8 9 18 15 9 7 12 1 33 8 11 6 13 24 16 14 7 12 13 15 17 3 1 34 90,06 L 6 6 23 13 56 39 20 11 2 3 1 95 1 10 9 7 5 9 4 13 5 2 7 3 3 27 75,00 M 2 14 5 19 4 6 6 21 12 2 6 4 52 37 12 9 10 6 2 14 5 28 1 0 1 22 82,67 83,73 A N 0 30 9 36 5 10 11 50 3 4 2 2 12 54 11 4 9 6 0 34 2 13 2 0 1 22 O 6 17 16 16 7 6 19 12 5 12 10 4 7 7 46 10 15 18 2 21 13 10 9 2 6 20 85,44 P 2 25 21 29 16 56 4 14 2 0 9 9 7 8 7 38 17 5 7 16 7 14 2 3 1 29 89,08 R 3 56 14 29 18 9 27 1 4 3 20 3 9 13 18 13 20 8 3 21 4 10 4 0 2 20 93,98 S 8 8 28 12 15 3 24 6 16 7 12 2 7 4 29 6 8 40 7 7 20 14 19 5 1 40 88,51 T 3 1 2 3 6 6 2 0 3 3 12 0 6 0 7 2 0 10 116 3 25 1 15 105 15 18 68,13 U 2 25 18 36 6 5 20 33 1 10 5 11 8 31 11 17 14 1 0 48 1 2 3 0 2 22 85,54 V 18 4 12 1 12 6 11 3 5 9 8 3 3 0 18 9 3 20 13 3 51 11 52 15 26 16 84,64 W 11 13 6 2 8 9 23 8 14 0 7 1 21 13 11 14 10 21 7 3 11 33 14 3 5 16 88,38 X 44 5 8 4 7 4 6 1 13 1 11 0 9 0 16 6 7 30 4 2 39 3 65 11 13 23 80,42 Y 13 2 7 3 4 8 6 2 5 3 14 1 3 1 8 5 1 12 39 3 54 1 23 74 19 21 77,71 Z 21 4 19 9 15 5 16 3 15 5 14 4 7 3 18 5 6 11 14 17 26 5 39 36 34 13 90,66 A Tablas de resultados de la clasificación de las letras blanco y negro. 90 Tabla 30. Resultados de la clasificación de imágenes con un 70% de ruido empleando los histogramas de la matriz en Imágenes clasificadas como: A B C D E F G H I J K L M N O P R S T U V W X Y Z indet. Porcentaje de imágenes no reconocidas A 224 0 1 0 1 0 3 1 21 1 1 3 0 0 0 0 1 6 1 0 1 15 33 0 7 12 32,53 B 0 104 13 43 26 9 10 13 9 4 1 2 9 15 7 20 23 9 1 22 0 3 1 0 0 4 70,11 C 0 3 145 10 3 0 84 0 6 3 1 9 0 0 43 0 0 7 2 8 3 0 0 0 0 5 56,33 D 0 41 26 138 3 3 26 6 2 0 0 11 2 3 20 5 3 1 0 51 0 1 0 0 0 6 60,34 E 1 7 2 3 168 65 3 3 10 0 5 44 7 4 2 17 7 2 0 1 2 5 0 0 1 5 53,85 F 0 3 2 1 44 228 1 5 1 0 7 11 2 3 0 35 4 2 2 2 2 11 0 0 4 10 40,00 G 0 6 83 10 0 1 118 1 0 9 0 3 1 0 55 2 1 9 0 14 0 0 1 0 0 2 62,66 H 0 14 0 8 9 2 3 126 0 1 2 0 11 83 0 8 14 8 0 35 0 3 1 0 0 4 62,05 I 22 0 3 0 9 2 5 0 195 0 7 0 1 1 1 4 3 34 4 0 7 9 44 1 3 9 46,43 J 4 10 3 2 0 0 9 2 0 292 0 0 0 0 23 0 0 6 0 5 7 0 0 0 2 15 23,16 K 3 1 3 0 3 6 0 7 10 0 227 4 1 12 0 8 12 1 4 0 2 9 11 0 2 6 31,63 L 1 4 16 5 36 15 1 6 2 0 4 240 4 5 2 0 1 3 4 13 2 0 4 0 0 12 36,84 M 0 6 2 2 11 0 4 9 5 0 1 2 195 20 1 7 7 2 0 11 6 2 1 1 1 4 35,00 N 0 5 1 6 2 2 0 54 1 0 15 1 17 178 0 9 18 2 0 5 1 6 1 0 1 7 46,39 O 0 9 36 23 2 1 99 1 0 13 0 3 1 0 96 0 1 12 0 18 0 0 0 0 0 1 69,62 P 0 18 1 20 28 56 1 14 3 0 4 2 6 10 1 124 41 1 5 5 1 1 0 0 0 6 64,37 R 0 26 3 16 18 7 1 11 8 0 32 4 2 30 0 40 110 3 1 2 0 5 4 0 2 7 66,87 S 1 12 34 3 10 2 28 2 25 5 3 3 1 2 22 0 7 162 3 5 4 5 1 1 1 6 53,45 T 2 0 0 0 1 0 2 0 10 1 0 0 0 0 0 1 0 2 209 0 11 0 10 99 6 10 42,58 U 0 33 16 42 1 1 23 13 0 13 1 7 1 3 19 1 1 4 0 141 2 2 0 0 0 8 57,53 V 1 0 1 10 3 1 1 2 14 4 0 3 0 1 5 2 0 0 17 0 212 0 12 21 8 14 36,14 W 5 2 2 0 8 1 1 3 38 3 6 1 4 2 1 3 3 5 3 2 2 182 1 0 1 5 35,92 X 14 0 0 0 0 0 0 2 18 0 19 0 1 0 0 2 1 2 6 0 5 1 213 9 26 13 35,84 Y 1 0 0 0 0 0 0 0 4 0 0 0 1 0 0 0 1 0 81 0 61 0 10 161 6 6 51,51 Z 2 0 2 2 10 1 0 0 14 2 2 6 4 0 0 3 3 4 7 0 7 0 27 1 255 12 29,95 A Tablas de resultados de la clasificación de las letras 91 Tabla 31. Resultados de la clasificación de imágenes con un 70% de ruido empleando el conjunto de variables n º5. Imágenes clasificadas como: A B C D E F G H I J K L M N O P R S T U V W X Y Z indet. Porcentaje de imágenes no reconocidas A 209 0 0 0 0 0 0 0 23 1 6 2 0 0 0 1 6 6 5 0 2 8 40 1 7 5 34,04 B 0 107 2 45 11 4 16 22 0 1 6 4 14 21 10 26 13 8 0 19 1 4 0 0 1 3 66,38 C 0 2 116 15 1 1 98 1 0 3 1 12 0 0 52 1 1 7 4 3 2 0 0 0 0 2 62,05 D 0 22 6 155 2 1 33 15 0 6 0 6 4 9 9 8 6 4 0 47 0 1 0 0 0 4 52,59 E 1 10 6 0 172 57 2 6 1 5 3 32 1 4 0 12 3 3 0 2 0 0 0 0 29 5 50,00 F 0 5 1 0 42 228 2 3 4 0 13 12 1 2 1 28 6 4 0 4 2 5 2 0 2 3 37,37 G 0 4 53 22 0 1 110 0 1 2 1 8 0 1 62 5 0 23 0 8 2 1 0 0 0 2 62,03 H 0 18 0 6 7 0 2 152 0 8 3 1 9 79 1 5 14 2 0 11 0 2 0 0 0 2 51,20 I 8 3 0 0 2 3 3 0 201 1 13 2 0 8 5 2 4 18 12 0 8 31 10 12 4 4 42,03 J 1 2 0 3 1 2 3 4 0 291 0 0 0 3 8 2 4 12 0 19 2 0 1 3 3 6 20,79 K 1 4 0 2 6 8 2 8 11 2 183 4 4 15 0 6 26 3 2 1 1 8 15 5 3 2 41,87 L 0 0 17 3 53 15 4 2 0 4 0 235 4 4 1 5 0 5 1 1 1 1 0 0 9 5 35,53 M 1 6 0 1 4 1 2 13 1 0 5 3 197 24 1 4 4 2 0 3 5 2 0 2 3 6 31,00 N 1 15 0 2 7 1 0 58 0 0 30 0 12 144 0 5 32 6 0 3 0 3 0 1 0 2 53,61 O 1 1 43 22 1 1 42 2 1 8 0 1 0 1 145 0 0 11 0 22 0 1 0 0 0 3 50,95 P 0 29 0 4 7 44 2 4 4 1 4 3 4 4 1 173 31 2 0 6 1 10 0 0 2 2 47,41 R 0 25 1 2 3 8 3 14 6 0 42 2 0 20 2 36 142 5 0 1 0 5 1 1 1 2 54,22 S 3 11 5 3 6 5 36 2 16 10 5 2 3 2 35 2 4 164 8 9 0 0 0 1 2 4 50,00 T 1 0 1 0 0 5 0 0 2 0 1 1 3 0 0 0 0 1 252 0 6 0 2 60 8 11 28,02 U 0 6 8 25 6 1 6 28 0 12 0 1 2 16 24 1 3 6 0 172 0 0 0 0 0 5 45,18 V 0 0 0 1 0 4 1 0 10 1 3 6 1 1 0 2 2 6 19 1 190 1 1 65 3 4 39,76 W 5 1 1 1 1 5 1 4 19 0 14 0 2 3 2 4 3 4 9 5 3 179 1 0 5 2 33,45 X 21 0 0 0 0 1 0 0 23 1 13 2 0 1 0 0 4 1 12 0 7 1 191 26 14 4 39,46 Y 0 0 0 0 0 2 0 0 4 0 0 0 5 1 1 0 1 2 81 1 27 1 9 176 5 6 43,98 Z 4 3 0 0 4 3 2 0 17 3 0 1 0 0 0 1 3 5 20 1 1 0 12 5 263 6 25,00 A Tablas de resultados de la clasificación de las letras un 750 imágenes de aprendizaje. 92 Tabla 32. Resultados de la clasificación de imágenes con un 70% de ruido empleando el conjunto de variables nº 5 y Imágenes clasificadas como: B Manual de usuario B Manual de usuario 94 B Manual de usuario En el CD adjunto se incluyen: - Las funciones de la toolbox de SVM utilizada. - Las imágenes de los números y de las letras empleadas en la clasificación. - Las funciones para crear los números y las letras deformados: crea_numero_deform.m y crea_letra_deform.m. - Las funciones para evaluar los resultados de las clasificaciones de los números y de las letras: evaluar_num.m y evaluar_letra respectivamente. - Funciones para la obtención de las distintas variables: histograma.m, BN.m, M_redim.m, patron.m. - Los datos de entrenamiento y de test de los números y de las letras para los distintos niveles de ruido estudiados. Están incluidos en numeros_ruido.mat y letras_ruido.mat en forma de estructuras cuyos campos son: • X: matriz en la que cada fila se corresponde con los elementos de una imagen. • Y: matriz con la clase de los datos. • nombre: indica el tipo de número o letra, el ruido y el tipo de deformación. En el caso de que sea una matriz rotada, también indica el ángulo de giro. - Los datos de entrenamiento y de test de los números y de las letras deformados. Se incluyen en numeros_deformados.mat y letras_deformadas.mat. - El archivo patrones.mat que contiene las matrices patrón de los números (patrones_numero) y de las letras (patrones_letra).