reconocimiento automatico de matriculasde cada píxel. con ello conseguimos dar un mayor peso a los...

9
RECONOCIMIENTO AUTOMATICO DE MATRICULAS Carlos Parra Ramos Universidad Carlos III de Madrid Madrid, España 2006 [email protected] David Regajo Rodríguez Universidad Carlos III de Madrid Madrid, España 2006 [email protected] RESUMEN El presente estudio trata de una implementación software de una máquina con el objetivo de reconocer de forma automática matriculas de coches presentes en una imagen. Dicha máquina consistirá de tres bloques básicos, localización de la matricula, umbralización y segmentado de caracteres, y reconocimiento de caracteres. A su vez, la localización se basará en un simple esquema de gradiente que permitirá la localización vertical y horizontal de la matrícula dentro de la imagen. Una vez que se tenga perfectamente localizada la matricula se procede a una etapa de binarización y segmentado de caracteres, haciendo uso de cierta información contenida en la imagen, como es su histograma, relación de aspecto de los caracteres, etc. Los segmentos supervivientes serán pasados a una red neuronal, que será la encargada del reconocimiento del carácter. Palabras Clave Gradiente, Componentes HSI, Histograma, Componentes RGB, Filtrado, Interpolación, Perceptrón, Aprendizaje Supervisado. 1. INTRODUCCIÓN Nuestro estudio va ha explotar las características peculiares que poseen la matrículas de coches contenidas en una imagen. Tales características como la reflectancia, intensidad y, variación de los valores de los píxeles de cada componente de color RGB son utilizadas en la sección 2 para obtener un sistema robusto de localizado de la matrícula dentro de la imagen. Posteriormente, en la sección 3, se presenta un método simple de binarización y segmentado de la matrícula localizada. Esta sección se encarga de transformar la imagen de color en una imagen en escala de grises, calcular el histograma de esta última y a partir de él hallar los umbrales para obtener una imagen binaria de la matricula, es decir, con dos niveles de intensidad. A partir de aquí se procesan los segmentos obtenidos para filtrar o eliminar aquellos que no son probables de ser un carácter, teniendo en cuenta la relación de aspecto, tamaño, posición dentro de la matrícula, etc. En la sección 4, se presenta un procedimiento para reordenar los caracteres resultantes de la sección 3, con ello sabremos si existen una o dos líneas de caracteres dentro de la matrícula. La última parte de nuestro sistema implementado la componen los algoritmos y procedimientos expuestos en la sección 5, correspondientes con la etapa de reconocimiento de caracteres. Para llevarla a cabo, se hará uso de una red de perceptrones monocapa, que previamente habrá que entrenarla para el cálculo de los pesos correspondientes. En la sección 6 se presentan los resultados obtenidos haciendo uso de una base de datos con 278 imágenes que contienen matrículas de vehículos. El estudio termina con la sección 7, en la que se hacen reflexiones sobre las limitaciones de nuestro sistema así como también se plantean posibles mejores para completar y mejorar nuestro sistema en el futuro. 2. LOCALIZACIÓN DE LA MATRICULA 2.1 Localización Vertical Consiste en obtener el rango en filas donde se halla la matricula que exista dentro de la imagen. Las regiones de matriculas de coches dentro de una imagen se caracterizan por tener una alta reflexión, o lo que es lo mismo, poseen una baja componente de saturación de las coordenadas HSI de la imagen, por lo que es una buena información a utilizar. De [1] se sabe que los píxeles con colores muy mezclados en blanco (colores claros) tienen una baja componente de saturación. La saturación del blanco es nula y la del negro no está definida, y como debe de tomar un valor también ha de ser cero. Como interesan valores bajos de saturación, se transformará el valor de saturación de cada píxel (cuyo rango es [0 1]) mediante la fórmula 8 ) 1 ( x , donde x representa el valor de saturación de cada píxel. Con ello conseguimos dar un mayor peso a los valores de píxel con baja saturación y atenuar los valores altos, ver figura 1. Para que la variable saturación influya en la localización vertical, se ha de realizar la proyección horizontal de la variable. Que no es más que sumar el valor de saturación de los píxeles de todas las columnas pertenecientes a una fila. Otra importante característica de los píxeles de las matriculas es que poseen un alto valor del gradiente, la fórmula general del gradiente es analizada y puede verse en [1]. Fig1. Función de Transformación de la Saturación

Upload: others

Post on 11-May-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: RECONOCIMIENTO AUTOMATICO DE MATRICULASde cada píxel. Con ello conseguimos dar un mayor peso a los valores de píxel con baja saturación y atenuar los valores altos, ver figura 1

RECONOCIMIENTO AUTOMATICO DE MATRICULAS Carlos Parra Ramos

Universidad Carlos III de Madrid Madrid, España 2006

[email protected]

David Regajo Rodríguez Universidad Carlos III de Madrid

Madrid, España 2006

[email protected]

RESUMEN El presente estudio trata de una implementación software de una máquina con el objetivo de reconocer de forma automática matriculas de coches presentes en una imagen. Dicha máquina consistirá de tres bloques básicos, localización de la matricula, umbralización y segmentado de caracteres, y reconocimiento de caracteres. A su vez, la localización se basará en un simple esquema de gradiente que permitirá la localización vertical y horizontal de la matrícula dentro de la imagen. Una vez que se tenga perfectamente localizada la matricula se procede a una etapa de binarización y segmentado de caracteres, haciendo uso de cierta información contenida en la imagen, como es su histograma, relación de aspecto de los caracteres, etc. Los segmentos supervivientes serán pasados a una red neuronal, que será la encargada del reconocimiento del carácter.

Palabras Clave Gradiente, Componentes HSI, Histograma, Componentes RGB, Filtrado, Interpolación, Perceptrón, Aprendizaje Supervisado.

1. INTRODUCCIÓN Nuestro estudio va ha explotar las características peculiares que poseen la matrículas de coches contenidas en una imagen. Tales características como la reflectancia, intensidad y, variación de los valores de los píxeles de cada componente de color RGB son utilizadas en la sección 2 para obtener un sistema robusto de localizado de la matrícula dentro de la imagen. Posteriormente, en la sección 3, se presenta un método simple de binarización y segmentado de la matrícula localizada. Esta sección se encarga de transformar la imagen de color en una imagen en escala de grises, calcular el histograma de esta última y a partir de él hallar los umbrales para obtener una imagen binaria de la matricula, es decir, con dos niveles de intensidad. A partir de aquí se procesan los segmentos obtenidos para filtrar o eliminar aquellos que no son probables de ser un carácter, teniendo en cuenta la relación de aspecto, tamaño, posición dentro de la matrícula, etc. En la sección 4, se presenta un procedimiento para reordenar los caracteres resultantes de la sección 3, con ello sabremos si existen una o dos líneas de caracteres dentro de la matrícula.

La última parte de nuestro sistema implementado la componen los algoritmos y procedimientos expuestos en la sección 5, correspondientes con la etapa de reconocimiento de caracteres. Para llevarla a cabo, se hará uso de una red de perceptrones monocapa, que previamente habrá que entrenarla para el cálculo de los pesos correspondientes. En la sección 6 se presentan los resultados obtenidos haciendo uso de una base de datos con 278 imágenes que contienen matrículas de vehículos. El estudio termina con la sección 7, en la que se hacen reflexiones sobre las limitaciones de nuestro sistema así como también se plantean posibles mejores para completar y mejorar nuestro sistema en el futuro.

2. LOCALIZACIÓN DE LA MATRICULA 2.1 Localización Vertical Consiste en obtener el rango en filas donde se halla la matricula que exista dentro de la imagen. Las regiones de matriculas de coches dentro de una imagen se caracterizan por tener una alta reflexión, o lo que es lo mismo, poseen una baja componente de saturación de las coordenadas HSI de la imagen, por lo que es una buena información a utilizar. De [1] se sabe que los píxeles con colores muy mezclados en blanco (colores claros) tienen una baja componente de saturación. La saturación del blanco es nula y la del negro no está definida, y como debe de tomar un valor también ha de ser cero. Como interesan valores bajos de saturación, se transformará el valor de saturación de cada píxel (cuyo rango es [0 1]) mediante

la fórmula 8)1( x− , donde x representa el valor de saturación de cada píxel. Con ello conseguimos dar un mayor peso a los valores de píxel con baja saturación y atenuar los valores altos, ver figura 1. Para que la variable saturación influya en la localización vertical, se ha de realizar la proyección horizontal de la variable. Que no es más que sumar el valor de saturación de los píxeles de todas las columnas pertenecientes a una fila. Otra importante característica de los píxeles de las matriculas es que poseen un alto valor del gradiente, la fórmula general del gradiente es analizada y puede verse en [1].

Fig1. Función de Transformación de la Saturación

Page 2: RECONOCIMIENTO AUTOMATICO DE MATRICULASde cada píxel. Con ello conseguimos dar un mayor peso a los valores de píxel con baja saturación y atenuar los valores altos, ver figura 1

El cálculo del gradiente se hará para cada componente de color RGB de cada píxel, quedándonos con el de menor valor. De esta forma se eliminan altos gradientes formados por bordes entre regiones de colores mientras que los borde entre regiones negro-blanco o viceversa permanecerán de igual forma ya que de [1] se sabe que un píxel blanco tiene componentes RGB normalizadas [1 1 1 ] y uno negro tiene componentes RGB [0 0 0], al hacer el gradiente, tanto si la imagen es de color o en escala de grises va a salir el mismo gradiente, es decir, el máximo valor, que es lo que nos interesa. En el presente estudio pondremos restricciones al gradiente, en este apartado concretamente usaremos solo el gradiente horizontal (G_x que detecta bordes verticales), cuyos valores de amplitud estén por encima de 0.4 (el máximo valor del gradiente es de 1), y cuyo ángulo esté por debajo de 10º. Estas restricciones, junto con un filtrado gaussiano del gradiente resultante, permitirá eliminar píxeles con alto gradiente que no formen parte de una matrícula. Por último, se hará la proyección horizontal del gradiente y se sumará a la proyección horizontal de la saturación. En la señal resultante aparecen muchos máximos locales irrelevantes que eliminaremos usando un umbral. De los máximos que están por encima del umbral nos quedaremos como posible localización vertical de la matricula el que más altura y área posee, y si no existe, se elegirá aquél de mayor anchura o altura que se halle más cerca de la fila central, ya que por norma general, las matriculas suelen estar centradas en la imagen. Un procesamiento especial de los máximos por encima del umbral es llevado a cabo para las matriculas con doble línea. Suelen aparecer dos máximos muy cercanos y de similares características, anchura y altura. Sí estos aparecen divididos por el umbral se procesan teniendo en cuenta tales características y se fusionan los máximos en uno si procede. En la figura 2 se muestran imágenes del proceso de localización vertical .

2.2 Localización Horizontal Consiste en obtener el rango en columna donde se halla la matrícula que exista dentro de la imagen procedente de la localización vertical. En vez de la componente de saturación usaremos la componente de intensidad de las coordenadas HSI de la imagen, esto se hace así porque la intensidad se ajusta mejor a las características de la matricula (una vez que se ha localizado verticalmente), sobre todo para aquellas que tienen fondo blanco y letras negras. Para la búsqueda horizontal partiremos de imágenes resultantes de la localización vertical, como lo es la última imagen de la figura2. No es siempre relevante usar la información de la intensidad para todas las imágenes. Para aquellas imágenes que tengan un valor plano de intensidad para todas sus píxeles, es absurdo el uso de la

intensidad porque no aporta información adicional alguna. En las

imágenes en los que la media y la desviación típica de los valores de la intensidad son altas, es contraproducente utilizar esta información porque puede que resalte en mayor medida regiones de la imagen que tienen alta intensidad que no se corresponden con la matrícula. Empíricamente comprobamos que el uso de la

205 228

Fig2. Localización Vertical

Page 3: RECONOCIMIENTO AUTOMATICO DE MATRICULASde cada píxel. Con ello conseguimos dar un mayor peso a los valores de píxel con baja saturación y atenuar los valores altos, ver figura 1

información de intensidad era de gran utilidad para imágenes con valores medios de intensidad y desviación menores a 0.61 y 0.31, respectivamente. Para aquellas imágenes que cumplan el anterior requisito se va a calcular la proyección vertical de la intensidad ,es decir, sumar el valor de intensidad de los píxeles de todas las filas pertenecientes a una columna.

Esta proyección horizontal se sumará a la proyección horizontal del gradiente vertical G_y que detecta bordes horizontales. Aplicaremos menos restricciones a este gradiente ya que si no fuese así, eliminaríamos ciertos caracteres cuyo gradiente vertical es pequeño. Cogeremos aquellos píxeles cuyos valores de amplitud sean mayores de cero y cuyos ángulos sean mayores que 60º. Posteriormente se filtrará con un filtro gaussiano el gradiente resultante. Para aquellas imágenes en las que no se hace uso de la intensidad se usará solamente la proyección vertical del gradiente. La señal suma de las dos proyecciones (intensidad y gradiente), contiene también varios máximo locales, para evitar los de menor amplitud también usaremos un umbral, y tendremos en cuenta solo aquellos que estén por encima de éste. Seleccionando aquél que tenga mayor amplitud y área y si no existe escogeremos aquél que tenga más área o altura que más cerca se halla de la columna central. En la figura 3 se muestran imágenes del proceso de localización horizontal.

3. BINARIZACION Y SEGMENTADO

3.1 Umbralización Una vez que se ha extraído la matrícula el siguiente paso es trasformarla en una imagen de nivel de gris. Nos quedamos con la componente de color RGB más alta de cada píxel. Así el píxel que aparezca en negro tiene sus tres componentes a cero, mientras que para píxeles de color nos quedamos con la componente de máximo valor, que en niveles de gris se traduce a un valor más cercano al blanco. De esta forma, se facilita la tarea de hallar los umbrales en el histograma de niveles de grises, a partir de los cuales binarizaremos la imagen. Como la resolución de las imágenes es muy pequeña se ha duplicado ésta, usando interpolación bilineal para el valor de los nuevos píxeles generados. Una vez que tenemos la imagen en intensidades de grises, se calcula su histograma, eliminamos el ultimo máximo, el que pertenece al fondo de la matrícula, y una vez eliminado, seleccionamos el primer máximo del histograma, que generalmente será, de los restantes máximos, el que contenga el mayor número de píxeles de la imagen de la matricula, correspondiéndose con los caracteres. Una vez hecho esto buscamos los mínimos a ambos lados del máximo, y estos serán los umbrales. Todos los niveles de grises por encima del umbral superior y por debajo del umbral inferior serán unos(o blancos, 255 para 8 bits) y todos los que se hallen entre los umbrales serán ceros (o negros).

152 262

Fig3. Localización Horizontal

Page 4: RECONOCIMIENTO AUTOMATICO DE MATRICULASde cada píxel. Con ello conseguimos dar un mayor peso a los valores de píxel con baja saturación y atenuar los valores altos, ver figura 1

Si existen dos máximos muy próximos entre sí y de amplitud similar, serán entonces elegidos ambos. Como umbral inferior se elige al mínimo izquierdo del máximo izquierdo, y como umbral superior al mínimo derecho del máximo derecho. Hay que dejar claro que esta forma de binarizar es válida para matriculas con valores de píxeles de los caracteres menores a los valores de los píxeles del fondo. Este método no sería válido para matriculas con fondo negro y caracteres blancos. La figura 4 muestra imágenes con el procedimiento de binarización.

3.2 Segmentado El proceso de segmentado se realiza con la matrícula ya recortada y umbralizada, es decir, tenemos una matriz que representa una imagen con únicos valores 255 (blanco) y 0 (negro), que sólo contiene en principio la parte correspondiente a la matrícula. Dado que el proceso de umbralización no es perfecto, y aun siéndolo nos quedarán siempre impurezas debido a que la imagen contiene suciedades en la matrícula, la imagen obtenida tendrá, además de las letras de la matrícula, otras impurezas que se deben eliminar. En Matlab, para todas las funciones de imagen como por ejemplo la segmentación, considera que los objetos a segmentar son de color blanco (o distinto de 0), mientras el fondo es negro (igual a 0). Es por ello que cambiamos la imagen para ajustarse a estos requisitos de las funciones. Para comenzar, se estima de forma muy burda el tamaño de las letras para eliminar así las impurezas de tamaño más pequeño (que constituyen el mayor número de elementos que no se corresponden con letras). De esta forma se estima el tamaño medio de los elementos del dibujo como la suma de todos los píxeles en blanco (que es el color de las letras), dividido entre el número de elementos que contiene la imagen (número de conjuntos de píxeles conectados que contiene). Se impone así mismo que el mayor número de elementos es 10, para no subestimar demasiado el tamaño cuando hay muchos píxeles aislados (no conectados) y poder así eliminarlos. Así, se eliminará en la imagen todos los conjuntos cuyo número de píxeles conectados en ellos sea menor que la quinta parte de esta estimación. Este filtro elimina muy pocos elementos, ya que la estimación como ya dijimos es muy burda y eliminar más elementos podría suponer eliminar alguna letra, pero se pretende únicamente que sirva para poder después estimar el tamaño de las letras correctamente, de tal forma que el resto de impurezas se eliminarán después de dicha estimación.

En el ejemplo expuesto anteriormente, estas impurezas son las únicas que existen, y con este único tratamiento ya eliminamos todas las impurezas (como se ve en la figura 4), por lo que se detallará un segundo ejemplo en el que la umbralización también coge la marca de la izquierda en la que aparece el símbolo de la comunidad europea y la letra que denota el país de la matrícula (en este caso D). Este ejemplo se ve en la figura 5. En estas figuras el fondo es de color azul y cada uno de los segmentos se representa de un color distinto para poder apreciarlos mejor. A continuación procedemos a la estimación del tamaño de las letras contenidas en la matrícula. Para ello, dado que eliminados los conjuntos de pocos píxeles nos quedan tan solo las letras y conjuntos relativamente grandes, no es nada probable que quepan en la imagen más del doble de elementos que letras contiene la matrícula.

Fig4. Imágenes del proceso de binarización y segmentado.

Page 5: RECONOCIMIENTO AUTOMATICO DE MATRICULASde cada píxel. Con ello conseguimos dar un mayor peso a los valores de píxel con baja saturación y atenuar los valores altos, ver figura 1

Asumido esto, es bastante fiable estimar un tamaño característico de las letras (ancho por alto) como la mediana de los anchos por la mediana de los altos. Estos dos valores se guardan para procesar los filtros que detectarán los elementos que no aparentan ser una letra en las matrículas. Estos filtros que eliminan impurezas consisten en tratamientos a partir de la estimación anterior. Por ejemplo, eliminamos todo lo que tenga un alto menor que 0.67 por el alto estimado, y todas las que tengan un alto mayor que 1.27 veces el alto estimado. Se hace este procesado para el alto, ancho, y la relación alto/ancho. En el segundo ejemplo (figura 5) se ve como quedan elementos extraños después de la eliminación de los conjuntos de pocos píxeles, pero una vez pasados los filtros comentados, se queda sólo con los elementos que se corresponden con letras. En este caso se eliminan los dos elementos que quedaban por ser de un ancho anormalmente grande, y el de arriba además tiene además una altura anormalmente pequeña.

4. REORDENACIÓN DE LETRAS. En el caso de matrículas de dos líneas, la ordenación se realiza leyendo de izquierda a derecha en la línea superior, y después en la línea inferior. En el caso de las matrículas de una sola línea se realiza de izquierda a derecha simplemente. Para ello, dado que la segmentación nos tiene la matriz de la imagen en un formato que contiene ceros para el fondo, unos para

el primer elemento encontrado, etc, nos bastará con averiguar primero si la matrícula es de doble línea o no. Dado que la inclinación de las matrículas se supone debería ser nula, si sumamos todas las columnas de una fila, nos deberá dar un cero en el centro de la matrícula para las que son de formato doble. Como ninguna letra está en blanco en el centro, esto no sucederá nunca en el caso de matrículas de una sola línea, por lo que basta mirar esto para saber si la matrícula es doble o no. En realidad sólo se suman las filas que están desde la cuarta parte de la imagen hasta las tres cuartas partes desde el centro hacia arriba, ya que en la parte superior e inferior también se darán ceros para todas las matrículas, y simplemente se busca si hay alguna línea con un valor menor que 42, ya que alguna matrícula tiene alguna impureza y provoca que no sea un cero absoluto lo que se encuentra. No obstante, en las matrículas simples, siempre es un valor muchísimo más alto ya que como ya se dijo, todas las letras tienen píxeles negros en toda la matrícula. Así pues, si la matrícula es simple, se lee justo por la mitad de la placa, de tal forma que cuando encontramos un píxel se mira a qué conjunto pertenece, y se le asigna el conjunto uno en la nueva imagen, y así sucesivamente. En el caso de matrículas dobles, se lee por la cuarta parte y las tres cuartas partes de la altura con el mismo procedimiento. Hay que notar que en el proceso de eliminación de impurezas, se coge sólo la parte que contiene letras para continuar con el procesado, de tal forma que en este punto tenemos siempre alguna letra tocando la parte superior de la imagen y alguna letra tocando la parte inferior. Asimismo sucede igual con los laterales. (esto se aprecia en el ejemplo de la figura 6).

5. RECONOCIMIENTO DE CARACTERES. En esta sección del trabajo, tenemos los caracteres de la matrícula ya segmentados, con lo que podemos separarlos uno a uno en el orden adecuado. Una vez aislado el carácter, recortado de tal forma que esté tocando los cuatro bordes de la imagen, procedemos a obtener una imagen con una resolución de 30 píxeles de alto por 20 de ancho mediante interpolación o muestreo según la resolución original. Esto es posible cambiarlo, aunque da unas prestaciones muy buenas con una capacidad de cómputo aceptable. Una vez escalada la imagen, la ponemos en un vector mediante la lectura por filas y metiendo todos los elementos en un vector fila. Este vector lo metemos en una matriz con el resto de letras, trasponiéndolos todos de tal forma que nos queda de 600 (30x20) filas por el número de caracteres de la matrícula o matrículas como número de columnas. A esta matriz se le añade un vector

Fig5 Imágenes del proceso de segmentado. Ejemplo 2

Page 6: RECONOCIMIENTO AUTOMATICO DE MATRICULASde cada píxel. Con ello conseguimos dar un mayor peso a los valores de píxel con baja saturación y atenuar los valores altos, ver figura 1

fila de unos para poder tener un offset en los perceptrones y se asignan valores de módulo unidad y signo positivo para los píxeles con letra y negativo para los píxeles de fondo. Una vez hecho esto, se aplican tantos perceptrones como letras tengamos con estrategia uno contra todos, es decir, cada perceptrón distinguirá la letra que le corresponde de entre todas las demás, dando negativo si no se corresponde con esa letra, ó positivo si lo hace. Para el entrenamiento de estos perceptrones, se debe nombrar las matrículas de entrenamiento con una cadena de caracteres, para que el programa sepa la salida que debe obtener (aprendizaje supervisado). No obstante, no es necesario mirar letra por letra para poder etiquetar los datos de entrada con el objetivo de entrenar los perceptrones, ya que el programa se encarga de asignarle a cada carácter la letra de salida que le corresponde, y si la segmentación falla (lo que se detecta porque hay un número de segmentos distinto al número de caracteres en la matrícula) simplemente se descarta dicha matrícula para el entrenamiento y se entrena con las demás. El proceso de entrenamiento, con un pentium IV a 1.7 Ghz, y 256 MB de memoria RAM, es de unos cuarenta minutos con unas doscientas matrículas (más de mil caracteres), ya que son treinta y cinco perceptrones los que se entrenan. No obstante, este procedimiento sólo es necesario hacerlo una vez, después para tomar las decisiones con también estas doscientas matrículas se tardan milisegundos (lo que tarda en multiplicar una matriz de 601x1025 con una de 601x35), y además se deciden todas con una sola operación matricial.

6. RESULTADOS EXPERIMENTALES Se han analizado un total de 278 imágenes con una resolución media de 400x300 píxeles. Hay que decir que es una resolución algo escasa, sobre todo, cuando hay que detectar matrículas de coches que se hallan a una distancia relativamente lejana en la imagen. De las 278 imágenes se realizó la localización vertical de forma correcta en 249. De esas 249 imágenes fallaron 5 en la localización horizontal. Por tanto, llegaron de forma idónea a la etapa de umbralización y segmentado un total de 244 matriculas. De las cuales 54 tuvieron problemas a la hora de binarizar y segmentar. En la tabla siguiente se muestran los porcentajes de éxito para cada etapa del proyecto.

Tabla 1. Porcentajes de Acierto

Local. Vertic.

Local. Horiz.

Binariz. Segmentado

Reconocimiento

Entrenamiento

Reconocimiento

test

90 % 98 % 78% 99.7% 96% La etapa de reconocimiento falla en 3 de 1025 caracteres en el conjunto de entrenamiento, lo que supone un 99,7% de probabilidad de acierto, mientras que para el conjunto de test se obtuvo un fallo del 4 % aproximadamente. Además, esta etapa contiene un método de comprobación de que todo esté bien, que consiste en que en el caso de no detectar una sola letra como buena en los perceptrones (sólo uno de ellos debe dar resultado positivo), se considera que podría estar mal decidida, y esto ocurre 19 caracteres, que suponen un 1,85% de los casos, que incluyen los 3 casos que decidieron mal y otros 16 en los que a través de decisión blanda se consigue decidir correctamente. Asimismo cabe destacar que uno de los tres fallos involucran una Q, de las que solo tenemos tres muestras, por lo que está subentrenado con dicho carácter y esto mejoraría con un entrenamiento con mayor número de matrículas con este carácter. Los resultados experimentales medidos sobre la base de datos de imágenes es buena teniendo en cuenta la calidad de las mismas. No obstante los resultados son mejorables, sobre todo, en aquellas etapas donde el porcentaje de acierto es menor, como por ejemplo ocurre en la etapa de binarizacion y segmentado. En esta etapa, las matriculas de fondo blanco y caracteres en negro, verde y azul, así como las de fondo amarillo y caracteres en negro, no plantean problemas serios algunos. Son las matriculas de fondo blanco y caracteres en rojo así como las de fondo negro y caracteres en blanco las que suelen fallar por norma general. Y es que el nivel de intensidad del tipo de rojo presente en las matriculas está muy cercano al blanco, y dichos niveles de intensidad caen dentro del último máximo del histograma, máximo que nuestro “binarizador” no tiene en cuenta por ser el que contiene también los píxeles del fondo de la matrícula. Otros fallos son intrínsecos a la matricula, como por ejemplo matriculas con excesiva luminosidad, matriculas demasiado borrosas o manchadas, matriculas con excesiva sombra, etc., que podrían aminorarse empleando cámaras fotográficas de mayor calidad. La etapa de localización horizontal es la que mejores resultados presenta. Son dos los motivos de fallo, el primero es que hay ciertas imágenes que tienen máximos de la señal proyección del gradiente y/o intensidad con mayores amplitudes y áreas que las del resto, con los que son seleccionados sin ser representantes de las matriculas sino de otras regiones de la imagen. Y el segundo es que el umbral queda demasiado bajo y se coge un máximo que contiene a la matrícula y a otras regiones, o demasiado alto y recorta de forma indebida a la matricula.

Page 7: RECONOCIMIENTO AUTOMATICO DE MATRICULASde cada píxel. Con ello conseguimos dar un mayor peso a los valores de píxel con baja saturación y atenuar los valores altos, ver figura 1

En la etapa de localización vertical suceden los mismos problemas que en la etapa de localización horizontal , además de un tercero diferente. Y es que, a diferencia de la anterior etapa, aquí siempre se usa la información de saturación y en algunas imágenes es una desventaja más que una ventaja, ya que tales imágenes presentan zonas con mucha saturación que no se corresponden solamente con las matrículas. Sin embargo, los resultados siguen siendo bastante buenos.

7. CONCLUSIONES Y LINEAS FUTURAS Los resultados obtenidos son buenos e invitan a seguir mejorando las distintas etapas para llegar a desarrollar un sistema de reconocimiento automático de matrículas comercialmente viable. Por ejemplo, para las etapas de localizado puede hacerse un estudio más profundo de la estadística de la señal de saturación e intensidad para saber en que imágenes es apropiado usar tal información y en cuales no. Otra mejora que se nos ocurre es que en vez de quedarnos con el máximo de mayor altura y área o en su defecto con el máximo más cercano del centro, es ir mirando los tres o cuatro máximos de mayor importancia (mayor área o altura) en las etapas de localizado y que sea la propia etapa de reconocimiento la que nos diga la región más probable de que sea una matricula. Esta mejora no es gratuita y supondría mayor coste computacional. Si aplicásemos las dos mejoras comentadas hasta ahora provocarían una disminución de 10 fallos en la etapa de localización vertical, obteniendo una tasa de acierto del 93.2% y una disminución de 2 fallos en la localización horizontal incrementándose la tasa de aciertos en un 0.8 %. El resto de matrículas falladas se corresponden con matrículas de doble línea. Si solo se tuvieran en cuenta las de una única línea las dos etapas presentarían aún mayor tasa de acierto, rozando tasas comerciales, por ejemplo, para una aplicación de reconocimiento de matrículas para parkings de pago. La matricula a reconocer es la de la parte delantera del coche, que es siempre de una única línea. La etapa de binarización y segmentado es la que mayor tasa de error presenta. Sin embargo, es de esperar, que un aumento de la calidad de las imágenes (una resolución de 800x600 sería suficiente) provocase un notable aumento de la tasa de acierto de esta etapa, ya que la baja calidad de las imágenes (sobre todo para matriculas lejanas) produce poca resolución del histograma y por

ende la capacidad de discernir cambios pequeños de intensidad de esta etapa es pequeña, por lo que un máximo del histograma contiene píxeles con gran diferencia de valores, eligiéndose además de los píxeles de las letras, los de las suciedades de la matricula, inclusive para algunas matrículas con caracteres rojos también se selecciona el fondo de la matrícula. El cambio propuesto también supondría un aumento de uso de CPU. En la etapa de binarización y segmentado podría aplicársele un módulo adicional, para que mediante una transformación lineal , todos los segmentos con un determinado ángulo en azimut, pasasen a tener ángulo cero, o lo que es lo mismo, aquellas matriculas que posean un cierto grado de giro en el plano XY pasasen a verse como si estuviéramos de frente a ellas. Esto último ayudaría bastante a la red neuronal diseñada para un mejor reconocimiento de caracteres para este tipo de matriculas. Para aumentar más el rango de tipos de matriculas a reconocer, y poderse utilizar nuestro sistema en otro tipo de aplicaciones, podría implementarse una etapa inicial al principio de todo que estimase el ángulo y dirección del movimiento de un vehículo , aplicar un filtro con esos parámetros para recuperar la imagen borrosa debido al movimiento del vehículo y/o cámara. Etapa útil para aplicaciones como el reconocimiento automático de matrícula para rádares de carretera.

8. REFERENCIAS [1] González C. Rafael, Woods E. Richard. Tratamiento Digital de Imágenes. Addison Wesley/Diaz De Santos. U.S.A 1996. [2] Bishop, C.M. Neuronal Networks for Pattern Recognition. Oxford. Oxford University Press; 1995

Page 8: RECONOCIMIENTO AUTOMATICO DE MATRICULASde cada píxel. Con ello conseguimos dar un mayor peso a los valores de píxel con baja saturación y atenuar los valores altos, ver figura 1
Page 9: RECONOCIMIENTO AUTOMATICO DE MATRICULASde cada píxel. Con ello conseguimos dar un mayor peso a los valores de píxel con baja saturación y atenuar los valores altos, ver figura 1