Sistema hibrido para el Reconocimiento de Placas en Automviles
Daz Zea, Alicia Marybel
Escuela Profesional de Ingeniera de Sistemas Universidad Nacional de San Agustn adiaz@unsa.edu.pe Resumen: Ante la necesidad de control y administracin de automviles se desarrollan sistemas para el reconocimiento de caracteres de automviles. En el presente trabajo se propone el desarrollo de un modelo hibrido de redes neuronales y algoritmos genticos para el reconocimiento de caracteres de la placa de un automvil. Palabras Clave: !edes neuronales, algoritmos genticos, inteligencia arti"icial, reconocimiento ptico de caracteres. 1.- Introduccin Muchas empresas o"recen servicios de estacionamiento a clientes por lo cual se hace necesario monitorear los vehculos para o"recer seguridad, control de estos. As tambin podemos mencionar en la "acturacin de par#ings, control de tr$"ico de carreteras y sistemas de seguridad de muchos tipos. Ante la variedad de campos de aplicacin surgen sistemas de identi"icacin autom$tica. Estos sistemas permiten ad%uirir, procesar, analizar e interpretar im$genes de automviles, en espec"ico de sus placas, las cuales son identi"icadas para cada automvil. 1.1.-Definicin del Problema. El reconocimiento de placas en automviles involucra primero la deteccin de la placa dentro del automvil y segundo el reconocimiento de caracteres de la placa. 1..- !b"etivos !b"etivo #eneral& 'roponer un modelo hibrido para el reconocimiento de caracteres de la placa aplicando redes neuronales y algoritmos genticos. !b"etivos $spec%ficos: (tilizar tcnicas adecuadas para la segmentacin de caracteres. )mplementar un modelo de "$cil operatividad con el usuario. 1.&.- 'iptesis (n modelo de un sistema hbrido puede reconocer los caracteres de una placa en un automvil. 1.(.- )ustificacin El reconocimiento de placas en automviles es utilizado para sistemas de seguridad, por lo tanto la precisin en estos sistemas es muy importante. *on el uso de redes neuronales y algoritmos genticos se mejorara las caractersticas individuales de cada tcnica permitiendo mejores resultados. 1.*.- +imitaciones +a imagen debe tener poco ruido para detectar los caracteres de la placa. +a imagen debe tener una buena posicin horizontal, sin inclinaciones. .- ,arco -erico .1.- Redes .euronales E,isten numerosas "ormas de de"inir a las redes neuronales- desde las de"iniciones cortas y genricas hasta las %ue intentan e,plicar m$s detalladamente %u son las redes neuronales, por ejemplo la propuesta en ./0& 12 (na nueva "orma de computacin, inspirada en modelos biolgicos. 32 (n modelo matem$tico compuesto por un gran n4mero de elementos procesales organizados en niveles. 52 (n sistema de computacin compuesto por un gran n4mero de elementos simples, elementos de procesos muy interconectados, los cuales procesan in"ormacin por medio de su estado din$mico como respuesta a entradas e,ternas. 62 !edes neuronales arti"iciales son redes interconectadas masivamente en paralelo de elementos simples 7usualmente adaptativos2 y con organizacin jer$r%uica, las cuales intentan interactuar con los objetos del mundo real del mismo modo %ue lo hace el sistema nervioso biolgico. .1.1.- /enta"as Debido a su constitucin y a sus "undamentos, las redes neuronales arti"iciales presentan un gran n4mero de caractersticas semejantes a las del cerebro. 'or ejemplo, son capaces de aprender de la e,periencia, de generalizar de casos anteriores a nuevos casos, de abstraer caractersticas esenciales a partir de entradas %ue representan in"ormacin irrelevante, etc. Esto hace %ue o"rezcan numerosas ventajas y %ue este tipo de tecnologa se est aplicando en m4ltiples $reas. Entre las ventajas se incluyen&
Aprendi0a"e Adaptativo& *apacidad de aprender a realizar tareas basadas en un entrenamiento o en una e,periencia inicial. Auto-or1ani0acin& (na red neuronal puede crear su propia organizacin o representacin de la in"ormacin %ue recibe mediante una etapa de aprendizaje. -olerancia a fallos& +a destruccin parcial de una red conduce a una degradacin de su estructura- sin embargo, algunas capacidades de la red se pueden retener, incluso su"riendo un gran da8o. !peracin en tiempo real& +os cmputos neuronales pueden ser realizados en paralelo- para esto se dise8an y "abrican m$%uinas con hard9are especial para obtener esta capacidad.
:$cil insercin dentro de la tecnologa e,istente& ;e pueden obtener chips especializados para redes neuronales %ue mejoran su capacidad en ciertas tareas. Ello "acilitar$ la integracin modular en los sistemas e,istentes. .1..- .eurona Artificial +a neurona es la unidad de procesamiento de in"ormacin %ue es "undamental para operaciones de una red neuronal. *onsta de tres elementos b$sicos& (n conjunto de sinapsis o cone,iones cada una caracterizada por su "uerza o peso. (n sumador %ue produce la suma ponderada de las entradas de acuerdo a los correspondientes pesos de las cone,iones. (na "uncin de activacin o trans"erencia %ue tiene como "uncin limitar la amplitud de la salida generada por la neurona .1.&.- Al1oritmos de Aprendi0a"e de Redes .euronales. (na neurona debe aprender a calcular la salida correcta para cada constelacin 7patrn2 de entrada del conjunto de ejemplos. En otras palabras el aprendizaje es el proceso por el cual una red neuronal modi"ica sus pesos en respuesta a una in"ormacin de entrada. Ante ello podemos citaremos los algoritmos de aprendizaje de una red neuronal& 1. Aprendi0a"e por correccin de error. *onsiste en ajustar los pesos de las cone,iones de la red en "uncin de la di"erencia entre los valores deseados y los obtenidos a la salida de la red, es decir, en "uncin del error cometido en la salida. . Aprendi0a"e por refuer0o. ;e basa en la idea de no disponer de un ejemplo completo del comportamiento deseado es decir no indicar la salida. ;e reduce a indicar mediante una se8al de re"uerzo si la salida obtenida en la red se ajusta a deseada bas$ndose en mecanismos de probabilidades. &. Aprendi0a"e estoc2stico. En el aprendizaje estoc$stico se suele hacer una an$loga en trminos termodin$micos, asociando a la red neuronal con un solido "sico %ue tiene cierto estado energtico. (. Aprendi0a"e competitivo. ;i un patrn nuevo se determina %ue pertenece a una clase reconocida previamente, entonces la inclusin de este nuevo patrn a esta clase matizara la representacin de la misma. ;i el patrn de entrada se determin %ue no pertenece a ninguna de las clases reconocidas anteriormente, entonces la estructura y los pesos de la red neuronal ser$n ajustados para reconocer la nueva clase. *. Aprendi0a"e 'ebbiano. Esta regla de aprendizaje es la base de muchas otras, la cual pretende medir la "amiliaridad o e,traer caractersticas de los datos de entrada. El "undamento es una suposicin bastante simple& si dos neuronas <i y <j toman el mismo estado simult$neamente 7ambas activas o ambas inactivas2, el peso de la cone,in entre ambas se incrementa. .1.(.- Paradi1ma de aprendi0a"e =ay dos mtodos de aprendizaje importantes %ue se pueden distinguir& Aprendi0a"e supervisado: ;e caracteriza por%ue el proceso de aprendizaje se realiza mediante un mtodo controlado por un agente e,terno %ue determina %ue respuesta debe generar la red en respuesta de una entrada determinada. Aprendi0a"e no supervisado: <o re%uieren de inuencia e,terna para ajustar los pesos de las cone,iones .Estas redes deben encontrar las caractersticas, regularidades, correlaciones o categoras %ue se puedan establecer entre los datos %ue se presenten en su entrada .1.*.- Ar3uitectura ;e pueden clasi"icar seg4n la cantidad de capas o tipos de cone,iones. ;eg4n el n4mero de capas tenemos& Redes monocapa: ;e establecen cone,iones entre las neuronas %ue pertenecen a la 4nica capa %ue constituye la red. Redes multicapa: Disponen de un conjunto de neuronas agrupadas en varios niveles o capas. ;eg4n la cone,in tenemos& Cone4iones hacia delante: <inguna salida de las neuronas es entrada de neuronas del mismo nivel de niveles precedentes Cone4iones hacia atr2s& +as redes de propagacin hacia atr$s. ..- Computacin $volutiva ..1.- #eneralidades Durante los 4ltimos treinta a8os se ha e,perimentado un creciente inters por la construccin de sistemas de resolucin de problemas basados en el proceso de evolucin natural. En este sentido los algoritmos genticos son algoritmos de b4s%ueda y optimizacin cuyo mecanismo de "uncionamiento est$ basado en dicho proceso. Es bien conocido por los bilogos %ue el proceso de evolucin natural tiene lugar en los cromosomas, %ue poseen la in"ormacin gentica de los individuos. Aun%ue no se sabe a4n de manera completa la in"ormacin espec"ica codi"icada en los cromosomas de un individuo, las siguientes propiedades generales son aceptadas por todos los especialistas en el tema& a2 +a evolucin es un proceso %ue opera "undamentalmente sobre los cromosomas. b2 El proceso de seleccin natural es el responsable de %ue a%uellos individuos %ue tienen mejor adaptacin al entorno se reproduzcan m$s %ue los poco adaptados. c2 En la reproduccin es donde tiene lugar la evolucin. +os procesos de mutacin producen cambios en los cromosomas de los hijos con respecto a los padres y mediante las combinaciones del material gentico de los padres se puede crear en los hijos material gentico di"erente. d2 +a evolucin biolgica carece de memoria. +o 4nico %ue pretende es producir individuos %ue se adapten de manera ptima al entorno en el %ue viven. (n caso concreto de algoritmos evolutivos son los denominados algoritmos genticos. Estos algoritmos se caracterizan por utilizar operadores de cruce en el proceso de alteracin de la poblacin. >eniendo en cuenta lo anterior, los conceptos b$sicos %ue se manejan en la teora de los algoritmos genticos son los siguientes& Individuo o cromosoma& (n individuo determina una potencial solucin del problema %ue se pretende resolver mediante el algoritmo gentico. Poblacin& *onjunto de individuos con los %ue se trabaja en el algoritmo gentico. En un algoritmo gentico los individuos %ue constituyen la poblacin van cambiando pero generalmente el tama8o de la misma permanece constante. 5uncin fitness& ;e trata de una "uncin evaluadora de la calidad de un individuo como solucin a nuestro problema. 'ermite la ordenacin de los individuos de la poblacin en cuanto a bondad de los mismos. Cruce& es una de las operaciones "undamentales %ue intervienen en todo algoritmo gentico. *omo norma general se aplica despus de un proceso de seleccin de dos individuos y consiste en una combinacin de los mismos para obtener como resultado otros dos nuevos individuos. ,utacin& *onstituye otra operacin "undamental en un algoritmo gentico. En este caso se selecciona un individuo, el cual su"re una pe%ue8a modi"icacin aleatoria en su codi"icacin obtenindose otro individuo nuevo. ...- /enta"as 6 Desventa"as <o necesitan conocimientos espec"icos sobre el problema %ue intentan resolver. ?peran de "orma simult$nea con varias soluciones, en vez de trabajar de "orma secuencial como las tcnicas tradicionales. *uando se usan para problemas de optimizacin ma,imizar una "uncin objetivo@ resultan menos a"ectados por los m$,imos locales 7"alsas soluciones2 %ue las tcnicas tradicionales. !esulta sumamente "$cil ejecutarlos en las modernas ar%uitecturas masivamente paralelas. (san operadores probabilsticos, en vez de los tpicos operadores determinsticos de las otras tcnicas. 'ueden tardar mucho en converger, o no converger en absoluto, dependiendo en cierta medida de los par$metros %ue se utilicen tama8o de la poblacin, n4mero de generaciones, etc.@. 'ueden converger prematuramente debido a una serie de problemas de diversa ndole. ..&.- !peradores 72sicos 1. Seleccin Seleccin por Ruleta El primer paso para la aplicacin de este operador consiste en obtener aleatoriamente un n4mero ! de la siguiente manera& +uego se selecciona al individuo j tal %ue& Este individuo pasa a la siguiente generacin, repitindose el procedimiento tantas veces como sea necesario hasta completar la siguiente generacin. Al contener una componente aleatoria, la cantidad de copias de un individuo %ue e"ectivamente pasan a la siguiente generacin puede variar de la cantidad de copias esperadas. Seleccin Proporcional Este operador asigna un n4mero de copias proporcional a la aptitud de un individuo. El n4mero de copias del individuo i %ue pasar$n a la siguiente poblacin se calcula en base a la siguiente ecuacin& Seleccin por -orneo ;e seleccionan aleatoriamente dos individuos de la poblacin, pasando a la siguiente generacin a%uel individuo %ue tiene mayor aptitud. Este proceso se repite < veces, donde < es el tama8o de la poblacin. +a seleccin por torneo no asegura %ue el n4mero de copias %ue pasan a la pr,ima generacin sea igual al esperado. Este operador se puede implementar tomando cual%uier n4mero de individuos. Seleccin por Ran8in1 Este operador asigna una probabilidad de seleccin proporcional a la aptitud del individuo. ;in embargo, la seleccin se realiza con un es%uema an$logo al de seleccin por ruleta. ;e asigna a un individuo una probabilidad de seleccin igual a& +uego se selecciona un n4mero aleatorio ! de la siguiente manera& 'or 4ltimo se elige al individuo j tal %ue& Este individuo pasa a la siguiente generacin. El procedimiento se repite tantas veces como sea necesario hasta completar la siguiente generacin. <uevamente, la cantidad de copias %ue se pasan a la siguiente generacin puede di"erir de la cantidad esperada con un es%uema proporcional. .-Cru0a *ru0a 9niforme Este operador de cruza asigna aleatoriamente los pesos. *ada hijo tiene una probabilidad de A./ de recibir los genes de su padre y por ende de recibirlos de su madre. Cru0a Simple En esta variante del operador de cruza se toma aleatoriamente un punto de cruza. +uego, a un hijo se le asignan todos los genes del padre ubicados a la iz%uierda del punto de cruza, y todos los genes de la madre ubicados a la derecha del punto de cruza. El segundo hijo es el complemento del primero. +a "igura 3 muestra un ejemplo de cruza simple en el cual se toma como punto de cruza el primero de ellos. Figura2 : Cruza Simple Cru0a ,ultipunto Esta variante del operador de cruza es similar al operador de cruza simple, slo %ue la cantidad de puntos de cruza se determina aleatoriamente. *ada hijo recibe los genes entre dos puntos de cruza sucesivos de cada uno de los padres, de manera intercalada. *abe destacar %ue la cruza simple es un caso particular de la cruza multipunto, con un 4nico punto de cruza. +a "igura5 muestra un ejemplo de cruza multipunto, tomando dos puntos de cruza. Figura 3: Cruza Multipunto Cru0a 7inomial Este operador es similar al operador de cruza uni"orme, slo %ue las probabilidades se de"inen en "uncin de la aptitud de los padres de la siguiente manera& &.- ,utacin
+a mutacin binaria es el tipo de mutacin tradicionalmente utilizado en el algoritmo gentico cannico, y consiste en invertir un gen aleatoriamente. Dada la representacin binaria del gen, se invierte el bit %ue lo representa con una determinada probabilidad, como lo muestra la "igura 6. Figura 4: Mutacin Binaria ,utacin Simple En este caso la probabilidad de mutacin permanece constante a lo largo de las distintas generaciones& ,utacin Adaptativa por -emperatura Ascendente +a probabilidad de mutacin se va incrementando a medida %ue transcurren las generaciones. El objetivo de este aumento es mantener la diversidad de individuos en la poblacin, %ue tiende a hacerse homognea con el transcurso de las generaciones. +a probabilidad de mutacin para una generacin esta dada por la ecuacin& ,utacin Adaptativa por -emperatura Descendente +a probabilidad de mutacin va decreciendo a medida %ue transcurren las generaciones. De esta manera se asegura una alta diversidad de individuos en las generaciones iniciales. +a probabilidad mnima debe ser mayor a cero para permitir continuar la e,ploracin del espacio de b4s%ueda a medida %ue las generaciones avanzan. +a siguiente ecuacin muestra como se calcula la probabilidad de mutacin para una determinada generacin. &.- Propuesta *omo ya se ha dicho se utilizara un modelo hibrido para reconocimiento de la placa del automvil, este utilizara redes neuronales, espec"icamente el 'erceptron Multicapa y Algoritmos Benticos para el entrenamiento de la red. En la parte del procesamiento de la imagen el primer paso es el reconocimiento de la placa en la imagen, luego sigue la segmentacin de caracteres para tener los caracteres individuales de la placa y "inalmente tenemos la e,traccin de caractersticas y normalizacin de los caracteres. El modelo hibrido propone el uso de una red neuronal entrenada con algoritmos genticos de la siguiente "orma propuesta en .C0& !peradores de iniciali0acin: +a "orma en %ue se crea la poblacin inicial en una inicializacin al !andom. Codificacion de Parametros: *ada individuo 7cromosoma2 de la poblacin se de"inir$ como una cadena. +a longitud de dicha cadena depender$ de la topologa de la red. Del #enotipo al 5enotipo: +a trans"ormacin del genotipo al "enotipo ser$ directa. +os pesos sin$pticos %ue parten desde una misma neurona ser$n representados por genes contiguos en el genotipo. 5i1ura *: Representacin #enotipo $valuacin: +a "uncin de evaluacin %ue se utilizar$ en este mtodo ser$ la dada por la siguiente ecuacin & f i D1E e i donde "i es el valor de evaluacin del individuo i, y ei es el error cuadr$tico medio de la red neuronal %ue representa el individuo i. !perador de Seleccin: ;e utilizo la seleccin por ruleta. !perador de Cru0amiento: ;e utiliza una cruza uni"orme. !perador de ,utacin: ;e da una mutacion adaptativa %ue se va incrementando a medida %ue transcurren las generaciones.
(.- Crono1rama 1. 'lani"icacin y !edaccin preliminar 3. F4s%ueda de )n"ormacin 5. >ratamiento de )n"ormacin 6. *lasi"icacin Material /. An$lisis y Dise8o G. *onstruccin de la tcnica hbrida C. Entrenamiento H. )mplementacin del sistema hbrido I. 'ruebas 1A. 'resentacin JJ >iempo7;emanas2 1 3 5 6 / G C H I 1A 11 13 15 Inicio: :1;:*;:<= finali0a: &1;:>;:< *.- Pruebas 6 Resultados +a base de datos utilizada conto con un total de HA im$genes de automviles en "ormato .jpg y para el entrenamiento de la red neuronal se uso un total de 5G im$genes de letras y n4meros. ;e uso el lenguaje de programacin java usando netbeans G.A. +as pruebas se realizaron sobre im$genes %ue no tenan mucho ruido para reconocer bien los patrones. *omo ya se dijo anteriormente las limitaciones en las im$genes de las placas deban ser %ue estas no tengan mucho ruido y mnima inclinacin. +a e"iciencia del reconocimiento "ue de un CC porciento. ?.- Conclusiones El sistema de reconocimiento de caracteres para automviles usando redes neuronales y algoritmos genticos logro una e"iciencia de CC porciento permitiendo gran aplicabilidad en di"erentes usos como la "acturacin y control de tr$"ico y otros sistemas de seguridad. +as tcnicas de preprocesamiento digital previo de la imagen in"luye en el reconocimiento de los caracteres de la placa. @.- Ane4os @.1.- Ar3uitectura Preprocesamiento Normalizacion Modelo Hibrido Algoritmo Genetico Red Neuronal Interfaz de Usuario Ingresar datos Binarizacion 5i1ura ?: Ar3uitectura @..- Casos de 9so Usuario Ingresar imagen Reconocer caracteres Visualizar resultados 5i1ura @: Casos de 9so @.&.- Dia1rama de Clases NeuralNetwork +listLayers: Vector +status: int +numberLayers: int +NeuralNetwork() +learn() +test() NeuralLayer +listNeurons: Vector +index: int +NeuralLayer() +numberONeurons() +isLayer!op() Neuron +list"nputs: Vector +t#res#old: double +ouput: double +index: int +Neuron() GeneticAlgorithm +maxpop: int +popsi$e: int +oldpop: "ndi%idual +newpop: "ndi%idual +pmutation: double +pcross: double +&enetic'l(orit#m() +)elect() +*rossO%er() +Mutation() +&eneration() ++%aluate() Individual +c#romosome: double +,tness: double +wei(#t: double +bias: double +si$e: int +"ndi%idual() +update-ei(#ts() Imagerocess +ima(e +-ei(#t +Hei(#t +"ma(e() +(et-ei(#t() +(etHei(#t() +(et.ri(#tness() / / !ain"rame +load"ma(e() +run() / /001 / /001 / /001 #har +normali$ed: boolean +ullHei(#t: int +ull-ei(#t: int +*#ar() +"nit() ++xtract2eatures() ++xtractMap2eatures() +() late +NumberO*andidates: int +#ori$ontal3etection!ype: int +Plate() +(et*#ars() +normali$e() +%ertical+d(e3etection() +#ori$ontal+d(e3etection() / /001 / /001 Gradients +t#res#olds: Vector +wei(#ts: Vector +compute&radient() +*ompute!otal&radient() +adaptation() +acti%ities() / / 5i1ura >: Dia1rama de Clases >.- Referencias .10 +ocalizacin de 'lacas *andidatas Mediante >cnicas de 'rocesamiento Digital de )m$genes . Abel Mendez@'orras , :rancisco K. >orres@!ojas0. .30 A !obust +icense 'late E,traction Method under *omple, )mage.;unghoon Lim, Daechul Lim, Mounbo# !yu,Byeongh9an Lim 73AA320. .50 ;istema de reconocimiento de caracteres para la lectura autom$tica .!a"ael palacios de Escuela >cnica ;uperior de )ngeniera )*A), (niversidad 'onticia *omillas0. .60 !edes <euronales& *onceptos Fasicos y Aplicaciones. *atedra& )n"orm$tica Aplicada a la )ngenieria de 'rocesos ?rientacion ). .Damian Korge Matich0. ./0 !edes <euronales Arti"iciales . *arlos Enri%ue Nivaracho 'ascual y Ouiliano )saac Moro ;anchoi 0. .G0 ;imon =ay#in. <eural <et9or#s. 'rentice =all, 1III. .C0 Entrenamiento de !edes <euronales basado en Algoritmos Benticos. .+uis :ederico Fertona0 .H0 !edes <euronales& *onceptos Fasicos y Aplicaciones. *atedra& )n"ormatica Aplicada a la )ngeniera de 'rocesos ?rientacion ). .Damian Korge Matich0. .I0 Benetic Algorithms in ;earch, ?ptimizaton and Machine +earning.David E. Boldberg0 .1A0 *ombinacin de !edes <euronales y Algoritmos Beneticos.Angel :ernando Luri0 .110 >ecnicas de computacion evolutiva.:rancis *ric#0.