detección de placas vehiculares, procesamiento digital de imagenes
DESCRIPTION
Este es el informe de un proyecto del curso de procesamiento digitial de imagenes, en este se aborda el problema de la detección y reconocimiento de placas vehiculares usando técnicas de procesamiento digital de imágenes.TRANSCRIPT
Universidad de Antioquia. López Juan Pablo, Suárez Fredy Alexis. Reconocimiento de placas vehiculares.
1
Resumen— Este documento presenta un método, basado en
el procesamiento digital de imágenes, enfocado en reconocer
los caracteres alfanuméricos de las placas de los autos. La
técnica está basada en la aplicación de filtros espaciales,
morfología matemática, diversas técnicas de segmentación y
reconocimiento de patrones por medio de redes neuronales. El
resultado obtenido fue positivo desde el punto de visto teórico
ya que se realizó una amplia revisión del estado del arte y desde
el punto de vista práctico se obtuvieron resultados favorables
en la etapa de detección de placa que es la más crucial, además
de ser la más estudiada en este tipo de sistemas
Índice de Términos—Procesamiento digital de imágenes,
autos, placas, redes neuronales.
I. INTRODUCCIÓN
a meta de un sistema de reconocimiento automático de
objetos ATR (Automatic Target Recognition) es
detectar, clasificar, reconocer e identificar un objeto sin ayuda
del humano.
Este tipo de sistemas tienen amplia gama de aplicaciones, las
cuales van desde la identificación de objetos con fines militares,
hasta la interpretación de imágenes de placas de rayos X en
medicina.
Dentro del campo de aplicación de los ATR, se encuentran los
de reconocimiento de placa de automóviles, LPR (Licence Plate
Recognition), los cuales localizan e identifican de manera
automática las placas de vehículos de imágenes fijas o videos
de vehículos. Sobre este tópico existen varios trabajos de
investigación desarrollados así como productos comerciales.
El presente trabajo trata sobre la implementación de un
sistema completo LPR, para el cual fue necesario el desarrollo
de las etapas mostradas en la figura 1.
Los que resta del texto trata sobre la descripción detallada del
problema humano y técnico a resolver, posteriormente se
realiza un exposición de las técnicas usadas para el desarrollo
de las etapas antes mencionadas y por último se exponen los
resultados obtenidos.
II. PROBLEMA HUMANO A RESOLVER
En Colombia, según datos estimados existen 9.8 autos por
cada 100 habitantes [1], si esta cifra no nos asusta basta con
salir a la calle en hora pico para notar que si hacen diferencia,
cuando hablamos de tal cantidad de autos es imperante la
necesidad de establecer algún tipo de control sobre ellos en
muchos entornos como lo es el control de la velocidad, la
seguridad, y el monitoreo.
Fig 1. Etapas del sistema LPR.
Es precisamente es en estos entornos donde cada vez se hace
más difícil su control mediante las técnicas tradicionales que
requieren de la intervención humana en todos estos procesos.
Por eso es que el tratamiento de imágenes está tomando cada
vez más fuerza a la hora de recolectar los datos de forma rápida
y eficiente, debido a su relativo bajo costo con respecto a otros
tipos de sistemas de control vehicular.
López, Juan Pablo y Suárez, Fredy Alexis.
{jpablol91, sualexis}@gmail.com
Universidad de Antioquia
Reconocimiento de caracteres de placas de
automóviles mediante redes neuronales artificiales
utilizando Matlab.
“L
Universidad de Antioquia. López Juan Pablo, Suárez Fredy Alexis. Reconocimiento de placas vehiculares.
2
El sistema LPR fácilmente puede monitorear las entradas y
salidas de vehículos de determinadas áreas restringidas
mediante el uso de un sistema automatizado con un mínimo de
asistencia del personal de seguridad.
También para manejar el acceso de visitantes en la unidades
residenciales en donde por lo general, los carros pasan sin
ningún tipo de autorización, además del control de la seguridad
en las ciudades dando la posibilidad de detectar infracciones o
delitos casi que en tiempo real.
Estos son algunos ejemplos de lo que se puede lograr con un
buen sistema de reconocimiento de placas de automóviles.
III. PROBLEMA TÉCNICO A RESOLVER
En este trabajo se desarrollaron técnicas para las etapas
mostradas en la figura 1.
A. Adquisición de imagen
Todo sistema de PDI, antes de cualquier etapa de procesado
requiere que se la imágenes se captures en un ambiente con
condiciones controladas como de iluminación y ángulo, este
trabajo consistió en el análisis de 198 placas vehiculares, en
condiciones similares lo que facilita un poco el procesado;
diversos trabajos se han realizado en ambientes complejos con
el presentado en [6].
B. Extracción de la región de la placa
En esta sección se puso especial cuidado ya que es parte
esencial de cualquier sistema LPR, para el caso el trabajo
propuesto está basado en el trabajo de Zheng, Zhao, Wang [7].
C. Extracción de los caracteres
Una vez la región de la placa es localizada, se hace uso del
alto contraste entre el fondo de la placa y los caracteres para
realizar una umbralizacióncon el método Otsu, y con técnicas
de morfología adecuadas lograr extraer cada una de los seis
caracteres de las placas colombianas.
D. Clasificación de los caracteres
Una vez los caracteres son segmentados se requiere de un
proceso de reconocimiento de patrones, más específicamente de
caracteres, para el caso se usó un red neuronal backpropagation
la cual es entrenada con algunos de los caracteres segmentados
de las imágenes en cuestión.
IV. QUE SE HA HECHO HASTA AHORA
El motor que hace que las aplicaciones enfocadas al
reconocimiento de placas sean cada vez más precisas y
dinámicas es la ciencia computacional, son muchas las
empresas y personas que trabajan en pro de este mejoramiento
y a continuación citaremos algunos estudios relacionados.
A. AutoVu Sharp[4].
Es un producto desarrollado hasta su etapa final y de libre
comercialización enfocado al reconocimiento de placas
vehiculares es la mejor propuesta profesional al momento de
detectar placas puesto que viene equipado con una poderosa
cámara de video que puede ubicarse en otros vehículos o como
cámaras vigilancia además de aplicación que detecta placas en
movimiento, fig 2.
La cámara proporciona analíticas sofisticadas en la periferia,
y se comunica sobre cualquier red inalámbrica o por medio de
cables, y combina alta resolución, cámara de contexto
independiente, y procesamiento dentro del vehículo, todo en un
sólo dispositivo.
Fig 2. Auto Vu Sharp
Increíblemente una sola unidad de este dispositivo oscila
entre los 8mil a 13 mil dólares, lo que limita mucho la
posibilidad de que sean usados de forma masiva por entes
privados, pero abre las puertas a futuras visiones de
emprendimiento para distribuir un producto similar a nivel
nacional.
B. Redes Neuronales Convolucionales Profundas. [5]
Reto IMAGEnet de Reconocimiento Visual a Gran Escala.
Es una competición que se lleva celebrando cada año desde
2010 para evaluar los algoritmos de reconocimiento de
imágenes.
Los concursantes tienen dos tareas “sencillas”. Se les
presenta una imagen de cierto tipo, y la primera tarea es decidir
si contiene un determinado tipo de objeto o no. Por ejemplo, un
participante podría decidir que en la imagen hay vehículos pero
no hay tigres. La segunda tarea es encontrar un objeto en
particular y dibujar un cuadro alrededor de él. Por ejemplo, un
participante podría decidir que hay un destornillador en una
cierta posición con una anchura de 50 píxeles y una altura de 30
píxeles.
En 2012 cuando un equipo de la Universidad de Toronto
(Canadá) participó con un algoritmo llamado SuperVision que
arrasó con todos los demás participantes.
Una técnica conocida como redes neuronales
Universidad de Antioquia. López Juan Pablo, Suárez Fredy Alexis. Reconocimiento de placas vehiculares.
3
convolucionales profundas, que el algoritmo de SuperVision
utilizó para clasificar los 1,2 millones de imágenes de alta
resolución del conjunto de datos en 1.000 clases diferentes, fig
3.
Fig 3. IMAGEnet.
Las redes neuronales convolucionales constan de varias
capas de pequeñas colecciones de neuronas que de forma
individual se ocupan de analizar pequeñas partes de una
imagen. Los resultados de todas las colecciones de cada capa se
superponen para crear una representación de toda la imagen. La
capa de abajo repite el proceso en la nueva representación de la
imagen, lo que permite al sistema aprender acerca sobre la
composición de la imagen.
Las redes neuronales convolucionales profundas se
inventaron en la década de 1980. Pero hasta hace sólo dos años
los ordenadores no tenían la potencia necesaria para el
reconocimiento de imágenes de alta calidad.
C. Perceptics
Esta compañía es nivel a nivel mundial en sistemas LPR,
además de ser la primera en desarrollar este tipo de algoritmos
y sistemas es la empresa escogida por el gobierno de USA para
el control vehicular, esta compañía cuenta con diferentes tipos
de aplicaciones como el control de fronteras, aplicaciones
militares y de seguridad, entre otras. En la figura 4 se observa
un ejemplo de un sistema LPR de dicha compañía.
Fig 4. Sistema LPR de la compañía Perceptics.
V. MARCO TEÓRICO Y PROCEDIMIENTO PROPUESTO
A. Erosión
La erosión de 𝐴 por 𝐵 se denota como 𝐴⊖ 𝐵, donde 𝐴 y 𝐵
son conjuntos, se define por [7]:
𝐴⊖ 𝐵 = {𝑧|(𝐵)𝑧 ∈ 𝐴} (1)
Esto significa que la erosión de 𝐴 por 𝐵 es el conjunto de
todo los puntos 𝑧 tales que 𝐵 trasladado 𝑧 es contenido en 𝐴 , el
conjunto 𝐵 por lo general es el elemento estructurante.
B. Dilatación
Para dos conjuntos 𝐴 y 𝐵 dados, la dilatación de 𝐴 por 𝐵 se
denota como 𝐴⊕ 𝐵, y se define como [7]:
𝐴⊕ 𝐵) = {𝑧|(�̂�)𝑧 ∩ 𝐴 ≠ ∅} (2)
�̂� es la reflexión de 𝐵 alrededor de su origen, la ecuación (2)
indica que la dilatación de 𝐴 por 𝐵 es el conjunto de todos los
desplazamientos, 𝑧, tales que �̂� y 𝐴 se solapan por lo menos en
algún elemento.
Con base a estas operaciones morfológicas básicas se definen
otras importantes como las de apertura y cierre, bot-hat, top-hat,
hit-miss, entre otras [8].
C. Mejora de la imagen
Si visualizamos la figura 5 los gradientes en la zona de la
matrícula son mucho más bajos que los de las zonas de contorno
del carro, que es causada por la sombra del auto bajo el sol
deslumbrante.
Unos bordes verticales van a aparecer en las áreas de la placa,
y se extraen imágenes de borde directamente de estas imágenes
de automóviles. Por lo tanto, es importante mejorar las
imágenes de los automóviles en primer lugar.
Fig 5. Placa y automovil
Las áreas locales que necesitan ser mejoradas en la imagen
tienen poca iluminación. Usamos 𝐼𝑖,𝑗 para denotar la luminancia
Universidad de Antioquia. López Juan Pablo, Suárez Fredy Alexis. Reconocimiento de placas vehiculares.
4
del píxel 𝑃𝑖,𝑗, en la imagen del carro, y usamos 𝐼′𝑖,𝑗 para denotar
la luminancia en la imagen mejorada. Establecemos que 𝐼𝑖,𝑗e
𝐼′𝑖,𝑗 cumplan la ecuación (3). Donde 𝑊𝑖,𝑗 es una ventana
centrada sobre el pixel 𝑃𝑖,𝑗, 𝐼�̅�𝑖,𝑗 y que significan la luminancia
y la desviación estándar de los pixeles en la ventana 𝑊𝑖,𝑗, 𝐼0 y
𝜎𝑜 con la media esperada y la desviación estándar,
respectivamente.
𝐼′𝑖,𝑗 =𝜎𝑜
𝜎𝑊𝑖,𝑗
(𝐼𝑖,𝑗 − 𝐼�̅�𝑖,𝑗) + 𝐼0 (3)
Con el fin de representar la información local mejor, el
tamaño de la ventana debe ser menor que el tamaño estimado
de la placa. En este trabajo, seleccionamos un rectángulo de
31x31 como ventana 𝑊𝑖,𝑗 y la ventana puede cubrir el total de
la imagen del carro, sea 𝐼0 igual a 𝐼�̅�𝑖,𝑗 y 𝜎𝑜 una constante
independiente del pixel 𝑃𝑖,𝑗 [7].
Los valores de 𝐼�̅�𝑖,𝑗 y 𝜎𝑊𝑖,𝑗 en cada pixel, es posible realizarlo
usando interpolación bilineal ahorrando costo computacional,
pero para efecto de este trabajo se realizó tomando desplazando
la ventana deslizante y calculando estos valores en cada pixel,
lo que hizo lento el algoritmo en esta sección. Una vez estos
valores con calculados en lugar de (3) se usa (4) para obtener la
imagen mejorada.
𝐼′𝑖,𝑗 = 𝑓 (𝜎𝑊𝑖,𝑗) (𝐼𝑖,𝑗 − 𝐼�̅�𝑖,𝑗) + 𝐼�̅�𝑖,𝑗 (4)
𝑓 (𝜎𝑊𝑖,𝑗) es un coeficiente de mejora ilustrado en la figura 3
cuya expresión esta dad por (5) [7].
𝑓 (𝜎𝑊𝑖,𝑗) =
{
3
2400
(𝜎𝑊𝑖,𝑗− 20)2 + 1
𝑠𝑖 0 ≤ 𝜎𝑊𝑖,𝑗< 20
3
21600
(𝜎𝑊𝑖,𝑗− 20)2 + 1
𝑠𝑖 20 ≤ 𝜎𝑊𝑖,𝑗< 60
1 𝑠𝑖 𝜎𝑊𝑖,𝑗 ≥ 60 }
En la figura 6 se observa el recorte realzado a una imagen y
su posterior mejora de contraste en la zona de la placa.
Fig 6. Mejora de contraste con el método propuesto en 7.
D. Extracción de bordes verticales
Una vez la zona de la placa gana contraste se extraen los
bordes verticales de la imagen usando el operador Sobel , figura
7, debido a su bajo costo computacional, posteriormente el
resultado es umbralizado obteniendo el resultado mostrado en
la figura 7.
Fig 7. Extracción de bordes usando el operador Sobel.
E. Reducción de ruido y extracción de la placa
Una vez los bordes son obtenidos se aplica una operación de
dilatación con elemento estructurante tipo línea horizontal y
unir un poco los caracteres de la placa, figura 8.
Figura 8. Dilatación con elemento estructurante línea
horizontal.
Seguida de la dilatación se realiza una operación de apertura
con un elemento estructurante tipo línea vertical para obtener
solo componentes verticales de la imagen, figura 9.
Una vez se aplican estas operaciones morfológicas la placa
es segmentada usando una ventana deslizante en la imagen
anterior y computando el pixel cuya ventana centrada en éste
obtuviese una mayor cantidad de pixeles encerrados, con este
valor se calcula las coordenadas de dicho pixel y se retorna la
Universidad de Antioquia. López Juan Pablo, Suárez Fredy Alexis. Reconocimiento de placas vehiculares.
5
imagen de la placa original con contraste mejorado pero con las
coordenadas de dicha ventana candidata a ser la región de la
placa.
Fig 9. Operación de apertura con elemento estructurante
tipo línea vertical para obtener elementos verticales de la
imagen.
El resultado de la segmentación de la placa se obtiene en la
figura 10.
Fig 10. Placa segmentada.
Luego de la segmentación de la placa se realiza una
ampliación ya que las dimensiones son pequeñas y se realiza
una umbralización usando el método Otsu, figura 11.
Fig 11. Umbralización de la placa usando el método Otsu.
Posterior a la umbralización se extrae solo el conjunto de
caracteres usando una serie de aperturas morfológicas y
haciendo discriminaciones según las geometrías de los objetos,
para el caso se usó discriminación por el área, relación ancho
alto de la región rectangular que contiene cada objeto y su
perímetro, el resultado deseado es el conjunto de caracteres de
la placa como se muestra en la figura 12.
Fig 12. Obtención del conjunto de caracteres de la placa.
Este conjunto se le elimina parte de fondo que no es necesario
para la segmentación de cada carácter, figura 13,
Figura 13. Conjunto de caracteres sin fondo.
F. Extracción de caracteres
Una vez el conjunto de caracteres es obtenido de la placa
segmentada se etiqueta la imagen y se extrae cada carácter por
separado, figura 14.
Fig 14. Caracteres segmentados.
Para el posterior análisis e identificación de los caracteres se
toman características geométricas de cada uno, en este trabajo
se usaron el área, perímetro, relación área perímetro, solidity
(cantidad de caracteres en la región convexa que la contiene),
excentricidad y orientación.
Los valores antes obtenidos se procesan usando una red
neuronal artificial entrenada con caracteres capturados durante
la ejecución del algoritmo cuyos datos de entrenamiento son
precisamente las características geométricas antes
mencionadas; la fundamentación teórica y práctica se esboza en
las secciones siguientes.
Universidad de Antioquia. López Juan Pablo, Suárez Fredy Alexis. Reconocimiento de placas vehiculares.
6
G. Red Neuronal Biológica.
El cerebro biológico está formado de muchas neuronas
conectadas entre sí utilizando la información recibida para dar
una respuesta a cada situación. Desde un punto de vista
funcional las neuronas constituyen procesadores de
información sencillos altamente interconectados funcionando
paralelamente [2].
Fig 15. Neurona
En la figura 5 se observa que la neurona consta de un cuerpo
celular y un núcleo, idéntico al resto de células existentes en el
organismo, sin embargo cuenta con varios elementos
específicos de ella. En primer lugar se observa el Axón, el cual
es una ramificación de salida de las neuronas, la cual a su vez
ramifica en un gran número de terminales axónicos encargados
de emitir impulsos hacia las demás neuronas.
H. Red Neuronal Artificial.
Una red neuronal artificial es un procesador masivo paralelo
formado por unidades simples de procesamiento que tienen una
propensión natural para almacenar conocimiento experimental,
haciéndolo viable para su uso. La red neuronal se asemeja al
cerebro en dos aspectos:
El conocimiento es adquirido por la red desde su entorno a
través de un proceso de aprendizaje.
Las fuerzas de las conexiones entre neuronas, conocidas
como pesos sinápticos, son usadas para almacenar el
conocimiento [3].
Las redes neuronales artificiales (RNA) son un conjunto
unidades de procesamiento elementales con una estructura
definida que tratan de asemejar el funcionamiento de las redes
neuronales biológicas. En la Figura 16 se muestra un diagrama
general de una red neuronal artificial.
Figura 16. Red Neuronal Artificial.
VI. RED NEURONAL UTILIZADA EN EL TRABAJO
A. Backpropagation.
La propagación hacia atrás de errores o es un algoritmo de
aprendizaje supervisado que se usa para entrenar redes
neuronales artificiales. El algoritmo emplea un ciclo
propagación – adaptación de dos fases. Una vez que se ha
aplicado un patrón a la entrada de la red como estímulo, este se
propaga desde la primera capa a través de las capas superiores
de la red, hasta generar una salida.
La señal de salida se compara con la salida deseada y se
calcula una señal de error para cada una de las salidas. Las
salidas de error se propagan hacia atrás, partiendo de la capa de
salida, hacia todas las neuronas de la capa oculta que
contribuyen directamente a la salida.
Sin embargo las neuronas de la capa oculta solo reciben una
fracción de la señal total del error, basándose aproximadamente
en la contribución relativa que haya aportado cada neurona a la
salida original. Este proceso se repite, capa por capa, hasta que
todas las neuronas de la red hayan recibido una señal de error
que describa su contribución relativa al error total. La
importancia de este proceso consiste en que, a medida que se
entrena la red, las neuronas de las capas intermedias se
organizan a sí mismas de tal modo que las distintas neuronas
aprenden a reconocer distintas características del espacio total
de entrada.
Después del entrenamiento, cuando se les presente un patrón
arbitrario de entrada que contenga ruido o que esté incompleto,
las neuronas de la capa oculta de la red responderán con una
salida activa si la nueva entrada contiene un patrón que se
asemeje a aquella característica que las neuronas individuales
hayan aprendido a reconocer durante su entrenamiento.
Universidad de Antioquia. López Juan Pablo, Suárez Fredy Alexis. Reconocimiento de placas vehiculares.
7
VII. RUTINA IMPLEMENTADA
El algoritmo para el desarrollo de la simulación de este
sistema se simulo usando Matlab, para el efecto se desarrollaron
diferentes funciones y diversas herramientas ya implementadas
en el software antes mencionado para las etapas antes
mencionadas; en la figura 17 se muestra el esquema de la rutina
implementada.
Fig 17. Rutina implementada para la simulación del sistema
LPR.
VIII. RESULTADOS OBTENIDOS
En el presente trabajo se obtuvieron resultados satisfactorios
en cuanto a que realizó un estudio del estado del arte de estos
sistemas tan usados a nivel mundial, pudiendo realizar además
de un avance teórico y una propuesta de solución basada en
trabajos anteriores; en la etapa de segmentación de placas, la
cual es crucial en este sistema, se obtuvo éxito de un 85% del
conjunto de 198 imágenes de carros examinadas; en la etapa de
segmentación de caracteres los resultados no fueron tan
satisfactorios ya que el método propuesto no responde
adecuadamente a imágenes tomadas con una separación
desigual entre la escena y la cámara, además de factores
aleatorios que inducen alto grado de ruido; aun teniendo en
cuenta que el éxito de ésta depende fuertemente del éxito de la
etapa antes mencionada. Para la etapa final del reconocimiento
del carácter el resultado fue prácticamente nulo ya que solo dos
caracteres mostraron respuesta favorable en la red, resultado
que se obtuvo debido al poco éxito de las etapas anteriores y la
poca información que se obtuvo para el entrenamiento de la red.
IX. CONCLUSIONES Y LÍNEAS FUTURAS
Un método como el implementado en el presente trabajo es
importante ya que responde bien a variedad de colores en las
placas, variaciones de ángulo pequeñas y condiciones hostiles
de iluminación.
Trabajando un poco más detalladamente en aspectos
morfológicos y geométricos con más detalle se podría obtener
resultados más favorables en las etapas de segmentación de
placa y segmentación de caracteres.
El resultado negativo en la red neuronal se debió a la poca
información obtenida para su entrenamiento, además que solo
se usaron características geométricas, sería interesante realizar
ensayos con características morfológicas y algunos otros para
mejorar el comportamiento de la red neuronal artificial y lograr
un reconocimiento exitoso de los caracteres.
EREFERENCIAS
[1] Número de Vehículos en Colombia Disponible:
http://www.elpais.com.co/elpais/economia/noticias/32852
6-carros-nuevos-vendieron-colombia-2014.
[2] S. Adebayo, Daramola. Automatic Vehicle Identification
System using License Plate. Febrero de 2011. [Citado el:
19 de Agosto de 2011.].
[3] Romano, Pablo David. Reconocimiemto de Patentes de
Automovil. Buenos Aires : Universidad de Buenos Aires,
2007.
[4] Productos Autovu procesamiento digital de imágenes
Disponible:
http://www.genetec.com/es/soluciones/productos/autovu/a
utovu-sharpx
[5] Redes Neuronales Convolucionales Profundas Disponible:
http://www.technologyreview.es/blog/post.aspx?bid=359
&bpid=30636
[6] Rabee, A. Barhumi, I. “License Plate Detection and
Recognition in Complex Scenes Using Mathematical
Morphology and Support Vector Machines”.
[7] Zheng, D. Zhao, Y. Wang, J. An efficient method of license
plate locations.
[8] R. C. Gonzales, R. E. Woods. “Digital Image Processing”.
3ed. Pearson.
[9] Nobuyuki Otsu. A threshold selection method from grey
level histograms. In: IEEE Transactions on Systems, Man,
and Cybernetics.
Autores.
Juan Pablo Lopez
Fredy Alexis Suarez
Estudiantes de Ingeniería de Telecomunicaciones.
Obtención de la imagen
Convertir a escala de grises, recortar y redimencionar
Mejora de contraste en la zona de la placa
de la imagen en negativo
Se extraen bordes verticales y operaciones
morfológicas para extraer posibles zonas
de placa
Segmentación de la placa
Umbralización con el método Otsu
Segmentación del conjunto de caracteres
Segmentación de cada caracter
Obtencion de caracteristicas
geometricas de cada caracter
Reconocimiento de caracter usando red
neuronal artificial