UNIVERSIDAD NACIONAL DEL ALTIPLANO
INGENIERIA INGENIER IA ELECTRONICA
LECTOR DE PLACAS VEHICULARES MEDIANTE PROCESAMIENTO DIGITAL DIGITAL DE IMÁGENES PARA CONTROL DE TIEMPOS VEHICULAR EN RUTA URBANA AUTOR:
Hugo Junior. Quispe Chacón,
[email protected]
UNIVERSIDAD NACIONAL DEL ALTIPLANO PUNO Facultad de Ingeniería Ingeniería Mecánica Eléctrica, Electrónica Electrónica y Sistemas Escuela Profesional de Ingeniería Electrónica
Área Temática: Ingeniería Electrónica Categoría: Pregrado
INDICE RESUMEN INTRODUCCION OBJETIVOS DESARROLLO DEL TRABAJO TRABAJO 4.1 DESCRIPCION DEL SOFTWARE 4.2 ADQUISICION DE IMAGENES 4.3 CORRECCION DE GEOMETRIA 4.4 REGION DE INTERES (ROI) 4.5RECONOCIMIENTO OPTICO DE CARACTERES (OCR) 4.6 REGISTRO DE TIEMPOS 4.7M 4.7MON ONIT ITOR ORIZA IZACI CION ON DEL DEL SOFTWARE SOFTWARE MEDIANTE RED 5. RESULTADOS 6. CONCLUCIONES 7. BIBLIOGRAFIA
1. 2. 3. 4.
•
•
•
• •
• •
1. RESUMEN. — El constante constante aumento de unidades de transporte en la ciudad de Juliaca, genera como algunas de sus consecuencias caos, y accidentes debido al precario control de tiempos de salida salida llegada y marcación marcación por puntos de control. De ahí surge la necesidad necesidad de aplicar la tecnología para controlar los tiempos entre unidades sin la necesidad de detenerse en puntos de marcación específicos. El ob obje jeti tivo vo del del proy proyec ecto to es desa desarr rroollar llar el dis diseño eño e implementación de un sistema lector de placas vehiculares mediante procesamiento digital de imágenes y OCR, capaz de establec establecer er los tiempo tiemposs de salida salida,, llegada llegada y recorrido recorrido realiz realizad adoo po porr el trans transpo porte rte púb públic lico, o, con con los los ob objet jetiv ivos os espe especí cífic ficos os de ordenar ordenar el recorr recorrido ido,, esta establ blec ecer er una velocidad velocidad constante constante de acuerdo a los tiempos establec establecidos idos por la empresa y evitar o reducir los accidentes accidentes de las unida unidades des median mediante te el uso uso de proces procesam amien iento to digit digital al de imágenes. En el departamento de puno,
In the department of Puno ,
- The constant increase of transport units in the city of Juliaca, generates some some of its consequences chaos and accidents due to poor control of arrival and departure times dialing checkpoints. checkpoints. Hence the need for technolo technology gy to con control trol the time between between units witho without ut the need need to look look at spec specifi ificc plot plot po poin ints. ts. The The project aims to develop the design and implementation of a lice licens nsee plat platee read reader er syst system em usin usingg digi digita tall imag imagee processing processing and OCR, able to set the departure times, arrival arrival and travel travel by public transport, transport, with the specifi specificc objectives of ordering the tour establish a constant speed acco accordi rding ng to the times times set set by the compa company ny and and avoi avoidd acci acciden dents ts or reduc reducee the units units by usin usingg digit digital al image image processing. processing. Keywords Keywords-
Digital Digital image processing, LABview, LABview, OCR, Public Transport.
Procesamiento digital de imágenes, Palabras clave — Procesamiento LABview, LABview, OCR, Transporte público.
2. INTRODUCCION.
UNIVERSIDAD NACIONAL DEL ALTIPLANO
INGENIERIA INGENIER IA ELECTRONICA
En la ciud ciudad ad de juli juliac acaa actu actual alme ment ntee se cuen cuenta ta con con aproximadamente 35 empresas de transporte urbano con 30 a 40 unidades por empresa, existe la necesidad de controlar el tiempo de cada unidad para mantener un orden orden en la empre empresa, sa, el actua actuall sist sistema ema de contr control ol de tiempos es ineficiente provocando que se genere caos, desorden vehicular incluso pérdida de vidas humanas, el presente presente proyecto proyecto permite realizar realizar un control de tiempos media mediante nte proce procesa samie miento nto digit digital al de imágen imágenes es y OCR OCR (Objetc Character Recognition), sin la necesidad de que los trabajadores de cada unidad tengan que detenerse en puntos de marcación. marcación. Se trata pues de un software hecho en LABview, mediante una cámara cámara web se ingresa ingresa informac información ión al computad computador, or, específicamente específicamente de la placa vehicular que en nuestro caso es ún únic icaa po porr un unid idad ad de tran transp spor orte te,, esta esta imag imagen en es ingr ingres esad adaa y pre pre proc proces esad adaa medi median ante te LABv LABvie iew, w, la secuen secuencia cia de recono reconocim cimiento iento es obtener obtener una región región de interés a partir de un patrón de búsqueda que en el caso de nuestro país es PERU, al obtener solamente la vista del código de la placa vehicular esta es procesada nuevamente para obtener un resultado más favorable, favorable, posteriormente posteriormente se usara reconocimiento óptico de caracteres (OCR) para así determinar el código de placa en un dato tipo string (texto), se usara una base de datos un tanto peculiar para determinar la hora de lectura.
3. OBJETIVOS •
•
•
•
Caracterizar OCR y el procesamiento digital de imágenes para la lectura de placas vehiculares y base de datos. datos. Diseñar Diseñar un program programaa en LABvie LABview w utilizan utilizando do procesamiento procesamiento digital digital de imágenes imágenes para para la lectura lectura de placas vehiculares Implementar una base de datos para registrar el tiempo de cada unidad de transporte transporte por empresa Realiz Realizar ar una monit monitori oriza zaci ción ón median mediante te web web server.
4. DESARROLLO DEL TRABAJO 4.1 DESCRIPCION DESCRIPCION DEL SOFTWARE SOFTWARE El software se realizó en LABview 2010 debido a que su programación programación se basa en lenguaje G (grafico), (grafico), no se requiere conocimientos conocimientos previos en programación, programación, tiene una alta velocidad de procesamiento ya que su código es compilado directamente a código máquina, además nos provee la librería de “Vision “Vision and Motion” y “Vision “Vision Assistant” que contienen una gran cantidad de VI´s para realiza realizarr procesa procesamien miento to digital digital de imágen imágenes, es, como como son histogramas, filtros, detección de patrones, OCR, etc.
Fig. 1 Entorno de Trabajo Trabajo LABview, LABview, Vision And Motion y Vision Assistant 4.2 ADQUISICION DE IMÁGENES La adquisición de imágenes se realizó utilizando los subVI ´s de VISION AND MOTION.
FIG. 2 Adquisición de imagen con LABview Como se aprecia aprecia en la FIG. 2 Se inserta un tipo de control para selección selección de cámara permitiendo escoger escoger entre todas las cámaras USB disponibles en el ordenador, insertamos el bloque IMAQ Create Create que nos nos permite crear un espacio espacio temporal en memoria para las imágenes, introducimos la sesión a un ciclo while loop para que la adquisición sea continua e insertamos una condición utilizando el estado de error para la detención del ciclo while loop.
4.3 CORRECCION CORRECCION DE GEOMETRIA Al tener la entrada de video, este es convertida convertida al formato BMP un archivo en mapa de bits, esto debido a que reacc reaccio iona na de mejor mejor manera manera frente frente a la compr compres esió iónn o ampliaci ampliación, ón, lo que nos garanti garantiza za una imagen de mejor mejor calid calidad ad y apta apta para para el proce procesa sami mient entoo en el softw softwar are, e, posteriormente posteriormente realizamos realizamos una comparación comparación continua de los frames de video ingresados frente a una imagen patrón ya esta establ blec ecid idaa en form format atoo .png .png (Por (Porta tabl blee Netw Networ ork k Grafics), en el caso de nuestro país las placas vehiculares se diferencian por el color y código, mas no por la palabra PERU, utilizaremos este código de imagen como patrón de búsqueda para la corrección de geometría.
Fig. 3 Corrección de geometría La corrección de geometría tiene como finalidad orientar los pixeles de una imagen en un sistema de coordenadas de referencia.
UNIVERSIDAD NACIONAL DEL ALTIPLANO
INGENIERIA INGENIER IA ELECTRONICA
En primer lugar asignamos espacio en memoria para la imagen de referencia y para la imagen proveniente de la cámara web, utilizaremos utilizaremos el VI IMAQ find pattern 2, el cual cual nos permite realiza realizarr la búsqued búsquedaa ingresa ingresando ndo una plantilla pre establecida, establecida, como se aprecia en la Fig. 3 el VI image rotate corregirá el ángulo de desfase que tiene la imagen capturada, nótese que se ingresa la imagen y las características del patrón de búsqueda, el resultado se aprecia en la Fig 4.
128 -135 128
120 40 120
Tabla 1. Valores de X e Y para placas en hoja
x -65 63 -65 63
y 22 69 22 69
Tabla 2. Valores de X e Y para placa verdadera
Fig. 4 Resultado Resultado de corrección de geometría Como se aprecia en la figura, la imagen ya es convertida al formato BMP, a partir del patrón de búsqueda PERU se se establece la corrección de geometría.
4.4 REGION DE INTERES (ROI) La imagen obtenida hasta este momento no es suficiente para poder realizar realizar el reconocim reconocimiento iento óptico de de caracteres, caracteres, debi debido do a esto esto nece necesi sitam tamos os deter determin minar ar una regió regiónn de interés tomando como base nuestro patrón pre establecido que es PERU, usaremos el tipo de conversión array to cluster para poder tener acceso a las características de la imagen, y así poder modificar la región de interés respecto al patrón pre establecido, este proceso es simple debido a que las placas vehiculares son simétricas simétricas es decir que con simples simples operaci operacione oness matemáti matemáticas cas podremos podremos reducir reducir la imagen modificando valores de x e y, en la Fig 5 se muestra el proceso para determinar la región de interés.
Los valore loress de X e Y fuer fueroon calibr ibradas para aproximad aproximadament amentee 1 m. de distanc distancia, ia, este este resultad resultadoo puede variar modificándose modificándose la imagen pre establecida establecida a una imagen más pequeña, y determinando nuevamente los valores de la región de interés.
4.5 RECONOCIMIENTO CARACTERES (OCR)
OPTICO
DE
El reconocimiento reconocimiento óptico de caracteres caracteres es el proceso de cambiar una imagen digital en texto, las imágenes que incorporan texto no pueden ser editadas directamente porque están definidas en pixeles, la función del OCR es convertir convertir el conjunto de pixeles en caracteres ASCII [5] Para este proceso se optó por utilizar el asistente de visión de LABview, el cual nos ofrece una galería de VI ´s para el procesamiento digital de imágenes, al haber obtenido una región de interés enmascarada en una imagen imagen en blan blanco co,, es po posi sibl blee utiliz utilizar ar OCR. OCR. En la siguien siguiente te imagen imagen se aprecia el procedim procedimiento iento de la lectura OCR.
Fig. 6 OCR en Vision Assistant
Fig. 5 Región de Interés Como se aprecia en la figura al obtener los valores nuestra región de interés, realizaremos enma enmasc scara aramie miento nto del del resul resultad tadoo con con otra otra imagen imagen blanco, blanco, con fines de mejorar el resultado para aplicación de OCR. Los valores obtenidos para la simulación con hojas papel fueron. fueron.
x -135
y 20
de un en la de
El proceso mostrado en la Fig 6 fue implementado implementado en el asiste asistente nte de visión visión de Nation National al Instrumen Instruments, ts, se puede apreciar que la imagen de entrada esta en formato BMP y con la región región de interes interes determina determinada, da, realizam realizamos os un remuestreo mediante mediante el bloque Geometry, con el objetivo objetivo de increm increment entar ar el tamaño tamaño a 68 681x2 1x223, 23, segu seguida idamen mente te utilizamos el bloque Threshold 1, el cual selecciona los rangos de valores de pixeles, en una imagen en escala de guises, El siguiente bloque es para convertir la imagen resultante de threshold a una imagen de 16 bits, y el resultado es como se aprecia en la fig, 6, para poder utilizar OCR necesitamos una imagen de 8 bits, es por eso qu quee utiliz utilizamo amoss nue nuevam vament entee el bloq bloque ue de conv convers ersió iónn ob obte teni nien endo do un unaa imag imagen en simi simila larr a la ante anteri rior or con con la diferencia de que la imagen es de 8 bits, y por ultimo agregamos agregamos el bloque de OCR/OCV OCR/OCV 1, el cual nos permite
UNIVERSIDAD NACIONAL DEL ALTIPLANO
relacio relacionar nar una imagen imagen preesta preestablec blecida ida con una palabra palabra obteniéndose un registro de imágenes con características de cada letra y número pudiéndose identificar así cada una de las palabras y numero. El resultado final es un dato tipo string (texto) el cual se utilizara para el registro de tiempos.
4.6 REGISTRO DE TIEMPOS Existe Existe la necesi necesidad dad de establ establecer ecer el tiempo tiempo de salida, salida, reco recorri rrido do y llega llegada da de cada cada usuar usuario io aclar aclaran ando do qu quee la identific identificaci ación ón de cada cada veh vehícul ículoo es la placa placa veh vehicul icular, ar, LABvie LABview w nos proporc proporcion ionaa las herramien herramientas tas sufici suficiente entess para poder realizar estas operaciones operaciones,, ya que contiene contiene bloques bloques para poder procesar procesar datos de tipo numéricos, numéricos, texto, tiempo, ciclos, ciclos, etc. El softwa software re de regist registro ro de tiempos tiempos debe satisfa satisfacer cer las nece necesid sidad ades es de una empres empresaa de trans transpo porte rtes, s, el cual cual requiere un tiempo constante constante por vuelta de cada unidad, 8 puntos de marcación marcación con con un desfase desfase de tiempo tiempo establecido establecido por la empresa. empresa.
INGENIERIA INGENIER IA ELECTRONICA
Como se aprecia en la figura se optó por realizar una pequeña base de datos de los vehículos vehículos Concatenando Concatenando cada código de usuario, usuario, al obtener una secuencia secuencia de todos los códigos, usamos el bloque Match Pattern ubicado en Programmi Programming ng – String String –Match –Match Pattern, Pattern, el cual cual no noss sirve sirve para buscar buscar cada código ingresado ingresado del asistente asistente de VISION de National Instruments,al realizar la búsqueda este compara el resultado con el registro pre establecido anteriormente, es necesario establecer establecer una tolerancia de no más medio minuto, por motivos inesperados.
4.7 4.7 MON ONIT ITOR ORIZ IZAC ACIO ION N MEDIANTE RED
DE
SOFT SOFTW WARE
LABview nos ofrece distintos protocolos de comunicación para poder realizar una monitorización monitorización del software software propuesto, propuesto, debido a que la transmisión transmisión es un formato de video video,, se utilizó utilizó WEB WEB SERVE SERVER R que se encue encuentr ntraa en Tools Tools – Option Optionss – web web serv server er , esta esta herram herramien ienta ta en LABv LABvie iew w no noss perm permit itee cede cederr el acce acceso so a dist distin inta tass comp computa utado dora rass medi median ante te IP en red red pu pudi dién éndo dose se así así cont contro rola larr el VI dise diseña ñado do,, va de la mano mano con con Web Web Publishing Publishing Tool el cual nos permite crear una página web que incluye el VI diseñado, la herramienta nos permite realiz realizar ar modif modific icac acio ione ness en la págin páginaa web web a pub public licar, ar, ademá ademáss de la pub public licac ación ión de esta esta en una red loca locall y asimismo las computadoras remotas pudiendo acceder al VI respectivo.
5. RESULTADOS. RESULTADOS. Los Los resu resulta ltados dos fueron fueron sati satisfa sfact ctori orios os,, ampliá ampliándo ndose se el porcentaje porcentaje de aciertos frente a otros trabajos presentados, presentados, a conti continua nuaci ción ón se prese presenta nta un cuadr cuadroo esta estadí díst stic icoo de lectura, las pruebas se hicieron con hojas de papel debido a que es riesgoso manejar cierto número de placas.
Fig, 7 Registro de tiempos Vehicular. En la Fig. 7 Se muestra el programa diseñado para el registro de tiempos, a partir de la hora predeterminada en el ordenador, se inserta el tiempo que se desea tener de difer diferen enci ciaa entre entre cada cada veh vehíc ículo ulo y luego luego se proce procede de a presionar presionar el botón establecer, establecer, el cual determinara la secuencia de cada vehículo en un punto, al realizar esta operación, no se podrá cambiar el tiempo ya establecido debido a la seguridad que maneja la empresa en temas de control.
PLACAS
LECTURA
ACIERTO DE CARACTERES
%
YIJ-138 HVL-207 MKA-543 WER-456 ABC-254 UNB-859 OYC-740 ZOP-130 ERT-750 EFG-78 9 10
YIJ-138 HVL-207 MKA-543 WER-456 ABC-254 INB-859 OYC-740 ZOP-130 ERT?750 EFG-789 10
7 7 7 7 7 6 7 7 6 7
100% 100% 100% 100% 100% 85 % 100% 100% 85% 100% 97%
Tabla 3. Resultados
Fig. 8 Diagrama de bloques Registro de Tiempos
Se obtuvo un 97% de aciertos lo cual es un resultado muy positivo. positivo.
UNIVERSIDAD NACIONAL DEL ALTIPLANO
6. CONCLUCIONES •
•
•
Se concluye que mejorando el entorno se podría tener un mayor porcentaje de aciertos. Utilizando una cámara de mayor resolución y conf config igur uran ando do apro apropi piad adam amen ente te la regi región ón de interés se mejora la distancia de lectura. La transmisión transmisión por web server server es un poco lenta, por ende se realiza la publicación publicación del VI registro de tiempos el cual es fluido y eficiente para la monitorizac monitorización ión respectiva. respectiva.
7. BIBLIOGRAFIA [2] Lajara Vizcaino, Vizcaino, José Rafael, Pelegri Sebastia, José (2007). LabVIEW Entorno grafico de programación [3] Cuev Cuevas as,, Erick Erick,, Zaldiv Zaldivia iar, r, Dan Daniel iel,, Perez, Perez, Marco Marco (2010 (2010). ). Proc Proces esam amien iento to digit digital al de imágen imágenes es con con MATLAB y Simulink [4] National Instrument, NI-IMAQ Function Reference Manual, editado en noviembre 2000 2000
INGENIERIA INGENIER IA ELECTRONICA