Está en la página 1de 12

Programa en MATLAB para reconocimiento de placas

UNIVERSIDAD PRIVADA DOMINGO SAVIO

TRABAJO PRCTICO FINAL


INTELIGENCIA ARTIFICIAL
RECONOCIMIENTO DE PLACAS VEHICULARES

Estudiante: Espinoza I. Juan David Carrera: Ingeniera de Sistemas Cdigo: 4130907 Fecha: 10/04/13

Programa en MATLAB para reconocimiento de placas

TABLA DE CONTENIDO

1. INTRODUCCIN. 3 2. OBJETIVO 3 3. REDES NEURONALES..... 3 4. APLICACIONES..... 6 5. ESPECIFICACIONES DE USO.... 6 6. MANUAL DE USUARIO.... 6 EJECUCIN DEL PROGRAMA... 6 INGRESO AL SISTEMA........ 6 PANTALLAS DEL SISTEMA 7-12

Programa en MATLAB para reconocimiento de placas

1. INTRODUCCIN
Se cree que actualmente hay ms de 500 millones de coches rodando a nivel mundial. Cada vehculo tiene un nmero de licencia para circular que le identifica unvocamente. Todos los vehculos del mundo deberan tener su nmero de licencia escrito en una placa que se monta en el chasis al menos en la parte posterior y ningn vehculo sin el adecuado montaje, bien visible y legible de su placa de licencia debera circular por carretera. El tratamiento de ese nmero de licencia ser el parmetro fundamental en un sistema que pretenda gestionar vehculos. Cuando se habla de procesar, ordenar o analizar datos todos pensamos inmediatamente en el uso de ordenadores. Si el dato est ya en el ordenador la mayora de estos puntos son relativamente fciles de realizar.

2. OBJETIVO
El objetivo del proyecto ha sido desarrollar un programa que permita reconocer matrculas de vehculos en el menor tiempo posible para su futura aplicacin en sistemas de tiempo real. Para ello se ha optimizado el tiempo de procesamiento al mnimo con los mejores resultados posibles.

3. REDES NEURONALES
La bsqueda de nuevas tcnicas y mtodos que permitan mejorar la eficiencia en la ejecucin de diferentes tipos de tareas, siempre ha sido la caracterstica fundamental del hombre, puesto que en su afn por optimizar el tiempo, incrementar la eficiencia y automatizar las operaciones mecnicas, ha logrado una gran variedad de avances cientficos a travs del tiempo. Precisamente un desarrollo relativamente reciente est dado por las Redes Neuronales Artificiales (RNA). Las RNA representan un nuevo paradigma en el manejo y anlisis de la informacin, inspirada en el funcionamiento de las miles de millones de neuronas biolgicas que el ser humano posee en su sistema nervioso. Las neuronas son clulas que se encuentran alojadas principalmente en el cerebro que es el lugar en el que se genera el pensamiento. Prcticamente es en el comportamiento individual y especialmente colectivo de cada una de estas neuronas, donde se encuentra el secreto de la inteligencia humana. Las redes de neuronas del cerebro constituyen sistemas paralelos, distribuidos y adaptativos. Paralelos porque las neuronas trabajan todas al mismo tiempo en la resolucin de un mismo problema, es decir, trabajan de forma paralela. Constituyen sistemas distribuidos ya que a diferencia de un computador cuya memoria se ubica en un lugar especfico, en este caso, sta se encuentra diseminada a travs de toda la red y ms especficamente en sus diferentes sinapsis (puntos de comunicacin o conexin entre neuronas). Finalmente son sistemas adaptativos ya que mediante la dinmica de la sinapsis o conexiones entre neuronas logran imitar una de las capacidades ms importantes del cerebro humano: el aprendizaje. Las RNA son sistemas que aproximan a nivel bsico todo este complejo hardware biolgico, resultando es un esquema artificial semi-paramtrico (McNelis, pag. 20, 2005) que permite el anlisis de variables de diversa ndole. En este sentido, la unidad bsica de una RNA es la neurona, denominada tambin procesador elemental, representa un dispositivo simple de clculo que recibe seales exteriores de otras neuronas y proporciona una respuesta a dichos impulsos. La sinapsis a nivel biolgico constituye un intercambio de sustancias qumicas denominadas neurotransmisores. A nivel artificial representa la dinmica existente entre las variables inputs que se relacionan con la variable output por medio de neuronas intermedias y un conjunto de pesos o ponderaciones que representan la

Programa en MATLAB para reconocimiento de placas

importancia que cada una de stas posee. En un sentido ms analtico, el modelo general de neurona artificial contendr al menos los siguientes elementos: Un conjunto de entradas xj,t Un conjunto de pesos o ponderaciones wij que constituyen la intensidad de la interaccin entre una neurona presinptica j (que enva informacin) y una neurona postinptica i (que recibe la informacin) Una regla de propagacin fi[xj,t,wij,] que proporcionar el valor del potencial postinptico pi,t = fi[xj,t ,wij] Una funcin de activacin Li[ai,t-1 , pi,t] que determina el estado de activacin actual de la neurona i ai,t = Li[ai,t-1 , pi,t], que depende de su estado de activacin anterior ai,t-1 y de su potencial postsinptico actual Una funcin de salida Si[ai,t], que determinar la salida actual yi(t) = Si[ai,t]

De esta manera, la dinmica de comportamiento de la neurona i estara dada por la siguiente ecuacin: Ni,t = Si{Li[ai,t-1 , fi(xj,t , wij)]} Por lo general la regla de propagacin f( ) se reduce a una sumatoria de las diferentes entradas xj ponderadas por sus respectivos pesos wij, de la forma (xj,t wij)7, que una vez superado cierto umbral, es trasladado a una funcin de activacin o transferencia L(). La capacidad de las RNA de capturar no linealidades entre los inputs y el output se origina precisamente en el uso de estas funciones que suelen ser de tipo logstico, tangente hiperblico, trigonomtrico, entre otros. Esta funcin determina, tal como lo indica su nombre, el nivel o estado de activacin de la neurona y que adems representa la seal de salida que ser enviada hacia otra neurona. Se suele resaltar el beneficio del uso de funciones de activacin no lineales a partir de la dinmica presente en los movimientos en variables econmicas fundamentales, como el caso de la tasa de inters que cuando se encuentra en niveles extremos, sus variaciones no tienen efectos importantes sobre el consumo y la inversin. Incluso, en el caso de la funcin de activacin logstica, se hace analoga de su forma con el aprendizaje y la formacin de expectativas de los agentes econmicos. Las RNA estn constituidas por grupos de neuronas que se agrupan a su vez en unidades estructurales denominadas capas o superficies. Es posible distinguir tres tipos principales de capas: La capa de entrada compuesta por variables inputs cada una de las cuales constituyen neuronas sin sinapsis entrantes, La capa oculta o intermedia que es aquella que no posee una conexin directa con el entorno y constituye ms bien un escenario de reprocesamiento de las seales provenientes de la capa de entrada y que posteriormente determinarn en gran medida los resultados. Finalmente la capa de salida que proporcionan la respuesta de la red y est constituida por la variable output que es una neurona sin sinapsis saliente.

El Grfico 1 ilustra la forma como deben concebirse las RNA empezando de una unidad bsica denominada neurona, cuya agrupacin permite generar capas, la agrupacin de stas a su vez generan una red. Finalmente, el sistema, para fines prcticos y de utilizacin, deber contener variables de entrada, salida y un conjunto de relaciones matemticas que permitirn la interaccin de todos estos elementos.

Programa en MATLAB para reconocimiento de placas

El sistema presenta i* variables input y k* neuronas. El potencial postsinptico en est determinado por la funcin de propagacin de tipo sumatoria que combina cada uno de los inputs (xi,t) observados en el momento t con sus respectivos pesos (wk,i). Ambos elementos junto con el trmino constante wk,0 (conjunto de pesos iniciales) forman la variable nk,t que posteriormente es achatada a travs de una funcin de activacin de tipo logstica L(nk,t), y representando la neurona Nk,t en el momento de observacin t. Finalmente, el conjunto de k* neuronas observadas en el tiempo t, se combinan linealmente con el vector de coeficientes y una constante que representan los pesos de las neuronas intermedias con el output. Como se aprecia, este conjunto de ecuaciones intenta aproximar el Proceso Generador de Datos (PGD) que subyace a la variable output con las variables de entrada o inputs. No existe una regla definida para la eleccin del tipo de funcin de activacin. Algunos autores sealan la existencia de ciertas reglas heursticas (Zhang G., Patuwo E., Hu M., 1997) como el uso de la funcin logstica en estudios que involucran el aprendizaje del comportamiento normal entre las variables, como son los problemas de clasificacin y la funcin tangente hiperblica para aprendizaje de comportamientos que se desvan del promedio o implican variabilidad como es el pronstico. Las superficies ocultas juegan un rol importantsimo en la identificacin de patrones ocultos en la informacin y para capturar las no linealidades existentes. Sin stas, el sistema de ecuaciones descrito anteriormente equivaldra a un modelo de regresin lineal normal. No obstante, al igual que en el caso de las funciones de activacin no existe una regla para la determinacin de la cantidad de superficies ocultas a ser utilizadas en el anlisis de un problema o la cantidad de neuronas que stas deben contener. No obstante, problemas de mayor complejidad requerirn muy probablemente mayor cantidad de capas ocultas y viceversa. El objetivo fundamental de todo anlisis con RNA consiste en minimizar el cuadrado de los errores entre el valor real de la variable output, que posee T observaciones y una funcin que refleja a la red misma y que permitir aproximar el PGD de la variable output dado. En el tenor de lo sealado algunos prrafos atrs, dicha funcin depende fundamentalmente de dos parmetros: el conjunto de variables input (xi,t) y el conjunto de pesos sinpticos.

Programa en MATLAB para reconocimiento de placas

4. APLICACIONES
Entre las aplicaciones que se le puedan dar al proyecto vamos a destacar las siguientes: Deteccin de matriculas falsas: Utilizacin del proyecto con acceso a base de datos de vehculos en circulacin para la posible deteccin de vehculos con matriculas falsas. Control de acceso a garaje privado: Uso del proyecto con acceso a base de datos de vehculos registrados en un garaje para permitir el acceso al garaje sin necesidad de tarjeta ni llave, llevar el control de las plazas

5. ESPECIFICACIONES DE USO
Se necesita tener instalado MATLAB, en este caso versin 7.0.0.19920.

6. MANUAL DE USUARIO
Ejecutar la aplicacin MATLAB.

Nos aparece la siguiente imagen.

Programa en MATLAB para reconocimiento de placas

Copiamos el directorio reconocimientoPlacas a la unidad C:.

Hecho esto el directorio aparece en el Current Directory de la interfaz de MATLAB. Abrimos el directorio y ubicamos el archivo entradas.m.

Programa en MATLAB para reconocimiento de placas

Hacemos un clic sobre l y lo arrastramos al Command Window. (Ventana donde se escriben los comandos).

Programa en MATLAB para reconocimiento de placas

Nos aparece la pantalla de inicio del programa. Hacemos clic sobre el botn continuar.

Nos ubicamos en esta ventana desde aqu podemos acceder al sistema presionando el botn INGRESAR o en el men mediante Reconocer placa.

En el men tenemos la pestaa Principal que no permite navegar hasta la pantalla Principal. En esta ventana tenemos un men con las opciones Archivo que no permite abrir un archivo de imagen que contiene la placa del vehculo.

Programa en MATLAB para reconocimiento de placas

En el directorio placas se podrn ir aadiendo las fotografas correspondientes, abrimos el directorio.

Podemos seleccionar la fotografa a procesar. Seleccionamos y oprimimos Abrir.

10

Programa en MATLAB para reconocimiento de placas

Una vez seleccionada la imagen aparece en la pantalla del sistema, ahora procederemos a hacer el reconocimiento de la imagen pulsando el botn Identificar Matrcula.

Como se puede apreciar se ha hecho el reconocimiento de cada uno de los caracteres de la placa. Aqu les presentamos algunos otros ejemplos.

11

Programa en MATLAB para reconocimiento de placas

Para salir del sistema vamos a la pestaa Salir del men.

12