Post on 07-Jul-2016
description
UNIVERSIDAD DE COLIMA
“DESARROLLO DE TECNOLOGÍA
COMPUTACIONAL PARA LA IDENTIFICACIÓN
DE VEHÍCULOS AUTOMOTORES MEDIANTE
LA VISIÓN ARTIFICIAL”
TESIS QUE PARA OBTENER EL GRADO DE
MAESTRO EN CIENCIAS AREA: COMPUTACIÓN
PRESENTA
ING. HÉCTOR OMAR CEBALLOS LEPE
ASESOR:
M.C. RICARDO FUENTES COVARRUBIAS
COQUIMATLÁN, COL. A 25 DE JULIO DE 2003
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 2
ÍNDICE 1. INTRODUCCIÓN 5 1.1. VARIABLES DEL SISTEMA 6 1.2. ALGORITMOS DE PROCESAMIENTO DE IMÁGENES 7 1.2.1. FILTRADO 7 1.2.2. RESTAURACIÓN 9 1.2.3. REALSE 10 1.2.4. DETECCIÓN DE BORDES 11 1.2.4.1. FORMULACIÓN BÁSICA 11 1.2.4.2. OPERADORES GRADIENTE 12 1.2.4.3 LAPLACIANO 13 1.2.4.4 OPERADOR DE BORDE SOBEL 14 1.2.4.5 OPERADOR DE BORDE PREWITT 15 1.2.5. EXTRACCIÓN DE CONTORNOS 15 1.2.6. EXTRACCIÓN DE CARACTERÍSTICAS 16 1.2.7. RECONOCIMIENTO DE OBJETOS 16 1.3. NOMENCLATURAS 17 2. DESCRIPCIÓN DEL PROYECTO 19 2.1. ESQUEMA DEL SISTEMA 20 3. ESTADO DEL ARTE 23 3.1. ELEMENTOS DE UN SISTEMA LMA TÍPICO 24 3.2. APLICACIONES TÍPICAS 25 3.3. TRABAJOS DESARROLLADOS EN EL MERCADO 26 4. HERRAMIENTAS UTILIZADAS 29 4.1. LabVIEW, HERRAMIENTA DE DESARROLLO 29 4.2. IMAQ VISION BUILDER 29 4.3. LENGUAJE G 31 5. DISEÑO DE LOS PRINCIPALES ALGORITMOS 33 5.1. EL FUNDAMENTO DEL ALGORITMO 33 5.2. MÉTODO DE BÚSQUEDA 33 5.3. MORFOLOGÍA DEL OBJETO 36 5.4. CALIBRACIÓN ESPACIAL 39 5.5. PRINCIPALES MÓDULOS DEL ALGORITMO 42 5.5.1. EXTRACCIÓN DE CARACTERÍSTICAS 42 5.5.2. CLASIFICACIÓN 45 5.5.3. SEGMENTACIÓN Y LECTURA 51 5.5.4. CONTROL 59 5.5.5. MÓDULO DE INTERFAZ CON EL EXTERIOR 60 6. PRODUCTO FINAL 62 6.1. DESCRIPCIÓN DE CONTROLES E INDICADORES 62 7. CONCLUSIONES 66 8. BIBLIOGRAFIA 68
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 3
ABSTRACT. In this paper, it presents the development and integration of a system which porpouse
is licence plate identification and recognition. The principal tasks of the system will be
analized: the licence plate area location, the character segmentation and their identification.
These tasks are dheeply related: if the character sintax is the correct, so the licence plate area
located is the correct too.
The principal challenge in pattern recognition is the quantity of variations in the
escene. The algorithm developed for the licence plate location, instead of searching shapes or
characters, it’s centered in the ‘signature’ represented by the region of the number plate area in
a horizontal cross-section of the image. This technique is derived from Barroso’s propose
(http://www.utad.pt/~jbarroso/html/isie97.html). The character segmentation method is based
in the character’s proyections initially propoused by Lu [7] and Humbaugh [12] and developed
here. The system’s algorithms are made whit a graphical languaje, G languaje, and used in
LabView.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 4
RESUMEN. En este documento se presenta el desarrollo e integración de un sistema para la
identificación y reconocimiento de la nomenclatura de placas de automóviles. Las tareas
principales del sistema se analizarán aquí: la localización del área de la placa en la imagen, la
segmentación de los caracteres y su identificación.
Estas tareas están fuertemente relacionadas ya que la forma de determinar si la
nomenclatura de la placa ha sido correctamente localizado se basa en el resultado del proceso
de la identificación de los caracteres (debe corresponder a una sintaxis predefinida).
El reto principal en la detección de objetos es la cantidad de variaciones en el entorno de
la escena. El algoritmo desarrollado para la detección de la placa, en lugar de buscar formas de
objetos o caracteres, está centrado en la “firma” que presenta el área de la placa al analizar una
región horizontal a lo largo de la imagen. Esta técnica se deriva de la propuesta por Barroso
(http://www.utad.pt/~jbarroso/html/isie97.html). La segmentación de los caracteres se basa en
la técnica de proyecciones inicialmente propuesta por Lu [7] y Humbaugh [12] y desarrollada
aquí. Los algoritmos del sistema están hechos en lenguaje gráfico G, usado en LabView.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 5
1.- INTRODUCCIÓN
¿Qué es un sistema de reconocimiento de caracteres de placas de automóvil?
Conocido por sus siglas LPR (License Plate Recognition) es una tecnología de procesamiento
de imágenes usado para identificar vehículos mediante la lectura de la nomenclatura de sus
placas. Este sistema entra en la gama de los ATR (de sus siglas en inglés Automatic Target
Recognition, Reconocimiento Automático de Objetivos) cuya finalidad es la de detectar,
clasificar, reconocer y/o identificar un objeto sin la ayuda del ser humano [10].
Sobre los LPR existen trabajos desarrollados en todo el mundo, como la empresa
canadiense AutoVu que diseña aplicaciones para el control de tráfico.
El creciente flujo de tráfico ha animado a empresas, gobiernos e investigadores a
desarrollar tecnologías avanzadas en electrónica y visión de máquina para monitorear y
controlar el tráfico.
El sistema emplea iluminación (infrarroja) y una cámara CCD para tomar la imagen
delantera o trasera del vehículo. En una situación típica, un sistema lector de nomenclaturas de
placa analiza las imágenes capturadas por la cámara situada a la orilla de la carretera o en la
entrada de un estacionamiento. El sistema de video se activaría o se dispararía por un sensor
de lazo inductivo al manifestar la presencia de un vehículo. Entonces el sistema deberá
detectar y reconocer la placa en la imagen, para decodificar su nomenclatura
(http://www.utad.pt/~jbarroso/html/isie97.html). La información obtenida (la nomenclatura de la
placa en una cadena de caracteres), puede ser útil en una estadística de tráfico vehicular o, en
el caso específico de un estacionamiento, para controlar la compuerta de entrada y salida del
estacionamiento, o mantener un registro del tiempo de estancia para calcular la tarifa de cobro.
Una ventaja de estos sistemas (LPR’s) es que la aplicación puede almacenar una
imagen del vehículo, lo cual es útil en el combate al crimen y al fraude, “una imagen dice más
que mil palabras”. A demás, una cámara adicional puede centralizarse en la cara del conductor
y salvar la imagen para cuestiones de seguridad (http://www.licenseplaterecognition.com/).
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 6
1.1 Variables del sistema. Variables consideradas por el sistema y que deben ser controladas en lo posible:
• Iluminación. Un entorno con características de iluminación pobre provoca lecturas
erróneas.
• Orientación. El método de búsqueda del sistema aquí desarrollado exige la horizontal
como orientación idónea.
• Velocidad de monitoreo. Se establece en la aplicación si el muestreo de las imágenes
será en entornos de alta o de baja velocidad.
• Tabla de nomenclaturas. Se debe contar con la información referente al arreglo
alfanumérico utilizado para las diferentes denominaciones de la nomenclatura
vehicular.
• Base de datos del sistema. Para una aplicación de cruce de información será necesaria
una base de datos de matrículas, obviamente, el estatus de estas determinará la acción a
ejercer. Esta base de datos puede ser pública o privada, dependiendo del alcance de su
aplicación.
Los LPR’s son conocidos con otros nombres:
• Automatic Vehicle Identification (AVI). Cuya función principal es la de identificar
automóviles sobre escenas diferentes, es decir, localiza la imagen del auto en una
escena. Los trabajos más recientes identifican autos en diferentes orientaciones y
modelos.[11]
• Car Plate Recognition (CPR). Cuya función es la de reconocer el área que ocupa la
placa en la escena.
• Automatic Number Plate Recognition (ANPR). La utilidad de estos sistemas radica en
que además de localizar la placa, reconocen el valor de la nomenclatura.
• Car Plate Reader (CPR). Sistema lector de placas de auto.
En lo sucesivo, nos referiremos a este sistema como Lector de Matrículas de Auto (LMA)
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 7
1.2 Algoritmos del procesamiento de imágenes. Entre los algoritmos que estos sistemas aplican sobre la imagen para alcanzar su
objetivo se encuentran:
1.2.1 Filtrado El empleo de mascaras espaciales para el procesamiento de las imágenes se denomina
frecuentemente filtrado espacial (frente al filtrado en el dominio de la frecuencia empleando la
transformada de Fourier), y las propias mascaras se denominan filtros espaciales. Es posible
considerar filtros espaciales lineales y no lineales para la mejora de la imagen.
Los filtros lineales se basan en los conceptos introducidos, que afirman que la función
de transferencia y el impulso o función de distribución puntual de un sistema lineal son
transformadas de Fourier inversas una de otra. Los filtros denominados de paso bajo atenúan o
eliminan las componentes de alta frecuencia en el dominio de Fourier a la vez que dejan
inalteradas las bajas frecuencias (es decir, el filtro <<deja pasar>> las frecuencias bajas). Las
componentes de alta frecuencia caracterizan los bordes y los restantes detalles muy marcados
de la imagen , y por ello el efecto de introducir un filtrado de paso bajo es el de hacer más
borrosa la imagen. De forma similar, los filtros de paso alto atenúan o eliminan las
componentes de baja frecuencia. Como estas componentes son responsables de las
características lentamente variables de la imagen, como el contraste global y la intensidad
media, el resultado neto de un filtrado de paso alto es la reducción de estas características y, en
correspondencia, una aparente agudización de los bordes y de los restantes detalles finos. Un
tercer tipo de filtrado, denominado filtrado de paso banda, elimina unas regiones elegidas de
frecuencias intermedias. Estos filtros se emplean para la restauración de imágenes.
La Figura 1.1 muestra las secciones transversales de filtros paso bajo, paso alto y paso
banda con simetría circular, en el dominio de frecuencias y Sus correspondientes filtros
espaciales. Los ejes horizontales de las figuras de la fila superior son frecuencias, y sus
correspondientes en la fila inferior son coordenadas espaciales. Los perfiles de la fila inferior
pueden ser empleados como indicación para especificar los filtros espaciales lineales. Sin
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 8
embargo, con independencia del tipo de filtro lineal empleado, La aproximación básica
consiste en sumar productos entre los coeficientes de la mascara y las intensidades de los
píxeles bajo la mascara en un punto determinado de la imagen [1].
Figura 1.1 Arriba: secciones transversales de perfiles básicos para filtros en el dominio de
frecuencias con simetría circular. Abajo: secciones transversales de los filtros
correspondientes en el dominio espacial.
La Figura 1.2 muestra una mascara 3 x 3 general. Denominando a los niveles de gris
de los píxeles bajo la mascara en un punto determinado por Z1,Z2...., Z9, la respuesta de una
mascara lineal es: R = W1Z1 + W2Z2 + ... +W9Z9 (1.1-1)
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 9
Figura 1.2 Una mascara 3 x 3 con coeficientes (pesos) arbitrarios.
El valor de R se calcula empleando entornos parciales para los píxeles que están
colocados en los bordes de la imagen. También es habitual crear una nueva imagen para
almacenar los valores de R, en lugar de ir cambiando cada vez los valores de cada píxel, ya
que así se evita el empleo de niveles de gris en la ecuación (1.1-1) que hayan sido alterados
como resultado de una aplicación anterior de esta ecuación.
Los filtros espaciales no lineales operan también en entornos. Sin embargo, en general
su operación se basa directamente en los valores de los píxeles en el entorno en consideración
y no emplean explícitamente los coeficientes de la forma descrita en la ecuación (1.1-1).
Como se muestra en La siguiente sección, la reducción del ruido se puede realizar eficazmente
con un filtro no lineal cuya función básica sea la de calcular el valor medio del nivel de gris
en el entorno en el que se coloca el filtro [1].
1.2.2 Restauración Por restauración de imagen se entiende como la exclusión o reducción de
degradaciones obtenidas durante la adquisición de la imagen digital. Estas degradaciones
incluyen el efecto borroso que puede ser introducido por los sistemas ópticos o movimiento de
imagen, también como ruido introducido por la electrónica o las fuentes fotométricas. La
restauración de imagen aspira a entregar una imagen como si hubiera sido grabada sin
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 10
degradaciones. Cada elemento que interviene en la toma de imágenes (cámara, lentes,
digitalizador, etc.) contribuye a la degradación.
La tarea de restaurar imágenes degradadas puede ser lograda con uno de dos modos. Si
poco es conocido a cerca de la imagen, se puede tratar de modelar y caracterizar las fuentes de
degradación (borrosidad y ruido) e implementar un proceso diseñado para remover o reducir
sus efectos. Eso es una estimación, ya que intenta estimar lo que la imagen debió ser antes de
que fuera degradada por el proceso.
Por el otro lado, si con antelación se dispone de información a cerca de la imagen,
podría ser más fructífero desarrollar un modelo matemático de la imagen original y ajustar el
modelo a la imagen observada. [2]
1.2.3 Realce El objetivo principal del realce es el destacar los detalles finos de una imagen o
intensificar detalles que han sido difuminados, bien sea por error o bien por efecto natural del
método de adquisición de la imagen. Las utilidades del realce de las imágenes son variadas e
incluyen aplicaciones que van desde la impresión electrónica y las imágenes médicas hasta las
inspecciones industriales e incluso la detección autónoma de objetivos en las armas
inteligentes.
El perfil de la respuesta a un impulso necesaria para implementar un filtro espacial de
paso alto (realce) indica que el filtro debe tener coeficientes positivos cerca de su centro y
coeficientes negativos en la periferia.
La Figura 1.3 muestra la implementación más clásica de un filtro de realce 3 x 3.
Obsérvese que La suma de los coeficientes es 0. Así, cuando La máscara está sobre un área de
nivel de gris constante o lentamente variable, la salida proporcionada por la máscara es cero 0
o un valor muy pequeño. Este resultado es coherente con lo que se espera del correspondiente
filtro en el dominio de frecuencias. Además, observemos que este filtro también elimina el
término de frecuencia cero.
La reducción del valor medio de una imagen a cero implica que la imagen debe tener
valores de gris negativos. Como sólo estamos considerando niveles positivos de gris, los
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 11
resultados del filtrado de paso alto necesariamente implican alguna forma de desplazamiento o
cambio de escala para que al final los niveles de gris queden en el intervalo [0, L - 1].
Normalmente no es una buena idea tomar el valor absoluto de los niveles de la imagen filtrada
para que así todos los valores sean positivos, debido a que los valores negativos grandes
aparecerían como brillantes en la imagen.
Figura 1.3 Un filtro espacial de paso alto básico.
1.2.4 Detección de bordes Aunque la detección de punto y línea son evidentemente elementos de cualquier
presentación de la segmentación, la detección de bordes es con mucho el método más común
para detectar discontinuidades significativas en el nivel de gris. La razón es que los puntos
aislados y las líneas delgadas no son de frecuente operación en la mayor parte de las
aplicaciones prácticas
1.2.4.1 Formulación básica Un borde es la frontera entre dos regiones con propiedades de nivel de gris
relativamente distintas. En la siguiente presentación se supone que las regiones en cuestión
son lo suficientemente homogéneas para que la transición entre dos de ellas se pueda
determinar sobre la base de las discontinuidades de nivel de gris solamente.
Básicamente la idea que subyace en la mayor parte de las técnicas de detección de
bordes es el calculo de un operador local de derivación. Simplemente se define un perfil
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 12
perpendicular a la dirección del borde en cualquier punto que se desee y se interpretan los
resultados. La derivada primera en un punto de una imagen se obtiene utilizando el módulo del
gradiente en ese punto. La derivada segunda se obtiene de forma similar utilizando el
laplaciano [1].
1.2.4.2 Operadores gradiente El gradiente de una imagen f(x, y) en la posición (x, y) es el vector
(1.2-2)
se sabe del análisis vectorial que el gradiente de un vector indica la dirección de la máxima
variación de f en (x, y). Una importante cantidad en la detección de bordes es el módulo de
este vector, al que generalmente se hace referencia, para simplificar, como gradiente, con la
notación ∇ f donde:
(1.2-3)
Esta cantidad es igual a la máxima variación de f(x, y) por unidad de distancia en la
dirección de ∇ f . Es practica común aproximar el gradiente por sus valores absolutos:
(1.2-4)
que son bastante más fáciles de implementar, particularmente con hardware dedicado.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 13
La dirección del vector gradiente es también una cantidad importante sea α(x, y) la
representación del ángulo de dirección del vector ∇ f en (x, y).Entonces, del análisis vectorial:
(1.2-5)
donde el ángulo se mide con respecto al eje x [1].
1.2.4.3 Laplaciano El Laplaciano de una función bidimensional f(x,y) es una derivada de segundo orden
definida por:
(1.2-6)
Como en el caso del gradiente, la ecuación (1.2-6) puede implementarse de forma
digital de varias maneras. Para una región 3 x 3, la forma que se encuentra mas
frecuentemente en la practica es:
(1.2-7)
donde las z son las ya definidas. El requisito básico para la definición de laplaciano digital es
que el coeficiente asociado con el píxel central sea positivo y los coeficientes asociados con
los píxeles exteriores sean negativos [Figura 1.4 ]. Como el laplaciano es una derivada, la
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 14
suma de los coeficientes debe ser cero. En consecuencia la respuesta es cero siempre que el
punto en cuestión y sus vecinos tengan el mismo valor [1].
Figura 1.4 Sección transversal de ∇ 2 h.
Comúnmente se aplica de manera digital en forma de dos kernels de convolución como se
muestra en la Figura 1.5
0 -1 0 -1 -1 -1
-1 4 -1 -1 8 -1
0 -1 0 -1 -1 -1
Figura 1.5 Kernels de convolución Laplaciano.
1.2.4.4 Operador de borde Sobel Los dos kernels de convolución mostrados en la Figura 1.6 pertenecen al operador de
Sobel. Cada punto en la imagen es convolucionado con ambos kernels. Un kernel da una
respuesta máxima a bordes verticales generalmente y el otro a un borde horizontal. El valor
máximo de las dos convoluciones es tomado como el valor de salida para ése píxel. El
resultado es una imagen de magnitud de borde [2].
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 15
-1 -2 -1 -1 0 1
0 0 0 -2 0 2
1 2 1 -1 0 1
Figura 1.6 El operador de bordes Sobel.
1.2.4.5 El operador de borde Prewitt. Los dos kernels de convolución que se muestran en la Figura 1.7 pertenecen al
operador de bordes Prewitt. Como en el operador de Sobel, cada punto en la imagen es
convolucionado con ambos kernels, y el máximo determina la salida. El operador Prewitt, a
diferencia, produce una imagen de magnitud de borde.[2]
-1 -1 -1 1 0 -1
0 0 0 1 0 -1
1 1 1 1 0 -1
Figura 1.7 Operador de bordes Prewitt.
1.2.5 Extracción de contornos Otra generalidad para establecer los límites de los objetos en una imagen es primero
examinar cada píxel y su vecino inmediato para determinar si ese píxel está, en efecto, en el
límite de un objeto. Los píxeles que exponen las características requeridas son etiquetados
como puntos de borde. Una imagen en la cual el nivel de gris refleja que tan fuerte cada píxel
correspondiente logra los requerimientos de un píxel de borde es llamada imagen de bordes o
mapa de bordes. Esta puede ser desplegada como una imagen binaria de bordes mostrando
únicamente la posición (no la magnitud) de los puntos de borde.
Una imagen de borde normalmente muestra cada objeto delineado por puntos de borde,
pero estos raramente se unen. Entonces, otro paso es requerido para que la extracción del
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 16
objeto sea completada. La extracción de contornos o la unión de puntos de borde es el proceso
de asociación de puntos de borde cercanos para así crear contornos cerrados y conectados.
Este proceso llena los espacios dejados por el ruido y efectos de sombras.[2]
1.2.6 Extracción de características Si se desea que un sistema distinga objetos de diferentes tipos, se debe primero decidir
cuales características de los objetos deben ser medidos para producir parámetros
descriptivos.[2] Las características particulares que son medidas son llamadas características
del objeto, dando como resultado un parámetro de valores integrado por el vector de
características de cada objeto. Una selección apropiada de las características es importante, ya
que sólo esas serán utilizadas para identificar al objeto.
Existen algunos métodos analíticos para orientar la selección de características,
frecuentemente, la intuición guía el potencial de una lista de características útiles. Técnicas de
ordenamiento de características determinan el potencial de varias de ellas.
Las buenas características contienen cuatro cualidades:
1. Discriminación. Las características deben diferir en valores significativos para objetos
que pertenecen a diferentes clases.
2. Fiabilidad. Las características deben tomar valores similares para todos los objetos de
la misma clase.
3. Independencia. Las varias características usadas deben ser no correlacionadas unas de
otras.
4. Número reducido. La complejidad de un sistema de reconocimiento de formas se
incrementa rápidamente con la dimensionalidad (número de características usadas) del
sistema. Más importante, el número de objetos requerido para entrenar el clasificador y
medir su desempeño incrementa exponencialmente con el numero de características.[2]
1.2.7 Reconocimiento de objetos Dos tipos de procedimientos de clasificación se pueden distinguir: clasificación basada
en píxel y clasificación basada en objeto. En casos complejos, la segmentación de objetos no
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 17
es posible utilizando una sola característica. Entonces es requerido utilizar múltiples
características y un proceso de clasificación para decidir qué píxel pertenece a qué tipo de
objeto.
Una clasificación basada en objetos muy simple puedes ser utilizada si los diferentes
objetos pueden ser efectivamente separados del fondo y no se tocan o sobreponen unos con
otros. La clasificación basada en objetos debería ser utilizada en lo posible, ya que la cantidad
de datos tratados es menor. Todas las características basadas en píxel como la media de nivel
de gris, orientación local, varianza de niveles de gris pueden ser promediados sobre un área
entera de objeto y usados como características, describiendo las propiedades de este.[5]
1.3 Nomenclaturas Cada país maneja una norma específica para la elaboración de sus placas, de igual
forma, en México, cada estado maneja un modelo para elaborar y definir las características de
su placa. En consecuencia, los sistemas LMA son específicos para cada país y deben ser
adaptados a la región donde se instalen y usen. El LMA en cuestión está adaptado a las placas
del Estado de Colima. La morfología de este modelo ha sido cuidadosamente estudiado pues
sus propiedades definen la correcta localización de la placa en la imagen. Las secuencias
legales de la nomenclatura de la placa son también utilizadas para la reducción de errores en la
interpretación de los caracteres. Ver figura 1.8
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 18
SERVICIO PARTICULAR
MEDIO SECUENCIA LEGAL CARACTERES
AUTOMÓVIL LLLNNNN* FRA1000 7
CAMIÓN LLNNNNN FC00001 7
OMNIBUS PARTICULAR NLLLNN 1DTA01 6
REMOLQUE NLLNNNN 1EW0001 7
MOTOCICLETA LNNNL D001Y 5
DEMOSTRACIÓN NLLNNN 1JA001 6
SERVICIO PÚBLICO
MEDIO SECUENCIA LEGAL CARACTERES
TAXI NNNNLLL 1000DVA 7
CARGA Y PASAJE (MIXTO) NLLLNNN 1FYA001 7
URBANO NNNNNNL 360001D 7
CARACTERES PROHIBIDOS Q,O,I,Ñ
*L = letra, N = número
1.8 Norma oficial vigente para el estado de Colima. Fuente: Cortesía de la Dirección de
Transporte del Estado de Colima.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 19
2.- DESCRIPCIÓN DEL PROYECTO
El objetivo de este LMA es analizar una imagen, localizar y leer la nomenclatura de la
placa, entregando como resultado del proceso, una cadena de caracteres. Para lograr este
objetivo se ha integrado el sistema de la siguiente forma:
Software:
• La selección de una plataforma de desarrollo, LabView como principal herramienta.
• El diseño e implementación del algoritmo en lenguaje G capaz de controlar y realizar
las tareas del sistema.
• NIMAQ Vision Builder como herramienta de prototipos.
• NI-IMAQ Software de manipulación y procesamiento de imágenes.
Hardware:
• Iluminación infrarroja y luz difusa (fluorescente).
Un arreglo de Diodos emisores de luz en la banda de los infrarrojos.
Un arreglo de 3 lámparas de 79w
• Cámara CCD sensible a infrarrojos
Modelo AVC 667 Color IR Camera. El sistema integra una video
cámara CCD de ¼” con resolución en píxeles de 512(H)X492(V) en el formato
de transmisión de video <NTSC> y 512(H)X582(V) para el formato <PAL>.
Con doce unidades de LED infrarrojo encendidos automáticamente en
condiciones de baja iluminación.
• Tarjeta digitalizadora de video (Frame Grabber).
Se utiliza una tarjeta PCI-1408 de alta precisión, monocromática de la
serie IMAQ para ranuras PCI. Soporta estándares de video RS-170, CCIR,
NTSC y PAL. Las características de la tarjeta contiene un convertidor análogo a
digital (ADC) de 8 bits flash para convertir las señales de video a formato
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 20
digital. La 1408 adquiere campos en tiempo real y los transfiere directamente a
la memoria del sistema. Como tarjeta independiente la 1408 soporta cuatro
fuentes de video y cuatro líneas externas de E/S que pueden ser usadas como
triggers o como líneas digitales de E/S.
• Sensor de cruce.
Modelo SM312LV MINI-BEAM
10 - 30 VCD
Retro reflectivo
• PC.
Procesador Pentium III
126 RAM
500 Mhz
6 G Disco duro
Windows 98
2.1 Esquema del sistema. Para fines de esquematización se ha elegido una aplicación para el LMA. Este sistema
será aplicado al control de acceso vehicular. En ese tipo de aplicaciones los elementos
hardware que se ven involucrados son una PC, una cámara CCD conectada a una tarjeta
digitalizadora como interfaz a la PC, un elemento de iluminación (por lo general infrarroja),
un detector de cruce (puede ser un sensor de lazo electromagnético) y por supuesto, un
automóvil. Se contaría con una base de datos cuya información serviría para puntualizar la
acción a ejercer frente a el auto que entra: permitir el acceso o negárselo. La escena de la
siguiente imagen se desarrolla en el estacionamiento universitario.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 21
2.1 Acceso controlado
2.2- Esquema de un acceso controlado.
En el esquema la dinámica que se seguiría es la siguiente: un auto, al aproximarse a la
zona controlada, es detectado por el sensor de cruce y este a su vez indica al control del
programa su presencia. Los elementos de iluminación se activan y la cámara CCD toma una
imagen para ser analizada por el programa. Una vez examinada esta imagen y determinada la
nomenclatura de la placa, se compara el resultado o se cruza con la base de datos que contiene
una lista de nomenclaturas que el usuario da de alta. Una vez determinado el estatus del auto
se niega o se permite el acceso a la unidad accionando la apertura de la compuerta.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 22
2.3- El sistema permite el acceso de la unidad.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 23
3.- ESTADO DEL ARTE
Esta tecnología está ganando popularidad en instalaciones de seguridad y tráfico. El
concepto tecnológico asume que todos los vehículos tienen una identidad a la vista (la placa)
así que ningún transmisor adicional es requerido para ser instalado en el carro.
El sistema utiliza iluminación (como la infrarroja) y una cámara digital para tomar la
imagen delantera o trasera del vehículo, entonces un software de procesamiento de imagen
analiza las imágenes y extrae la información de la placa. Esta información es utilizada para
reforzar, colección de información, y puede ser usada para abrir una compuerta (en el caso de
control de acceso) si el carro está autorizado o mantener un registro del tiempo en la entrada o
salida para cálculos automáticos de pago.
Los sistemas LMA tienen ventajas significativas como la de registrar una imagen del
vehículo la cual podría ser útil en el combate al crimen y a el fraude (“una imagen dice más
que mil palabras”). Una cámara adicional puede centrarse en la cara del conductor y guardar la
imagen para propósitos de seguridad. Además, esta tecnología no necesita ninguna instalación
por auto (como en otras tecnologías que requieren un transmisor sobre cada carro o llevado
por el conductor).
Los primeros sistemas LMA sufrían de un bajo nivel de reconocimiento, menor del
requerido para ser aplicado en sistemas prácticos. Los efectos externos –como brillos de sol,
placas dañadas, la gran diversidad de tipos de placas- y el nivel limitado de software de
reconocimiento y el hardware de visión, daban como resultado sistemas de baja calidad.
Sin embargo, recientes mejoras en el software y hardware han hecho de los sistemas
LMA más confiables y ampliamente propagados. Hoy en día se pueden encontrar estos
sistemas en numerosas instalaciones y el número de sistemas está creciendo
exponencialmente, automatizando más y más tareas en diferentes segmentos del mercado. En
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 24
muchos casos la unidad LMA es agregado como respaldo a las soluciones ya existentes, como
los lectores de tarjetas magnéticas o a los dispensarios lectores de ticket, de tal forma que se
agregue mayor funcionalidad a las instalaciones existentes.
Aun, si el reconocimiento no es absoluto, la aplicación que depende de los resultados
del reconocimiento puede compensar los errores y producir un sistema virtualmente sin
defectos. Por ejemplo, la comparación del reconocimiento del tiempo de entrada de un carro al
tiempo de salida estableciendo, de esta forma, el tiempo de estacionamiento; la comparación
(de la entrada contra la salida) puede permitir un pequeño grado de error sin cometer una mala
interpretación. Esta integración inteligente puede sobrellevar algunos defectos de los LMA y
producir sistemas confiables y totalmente automáticos.
3.1.- Elementos de un sistema LMA típico: • Cámara – Para tomar la imagen del automóvil (delantera o trasera).
• Iluminación – Luz controlada para iluminar la escena y permitir operación diurna y
nocturna.
• Tarjeta digitalizadora (Frame grabber) – Una tarjeta de interfase entre la cámara y la
PC, permite al software leer la información de la imagen.
• Software – La aplicación y el paquete de reconocimiento. Usualmente, el paquete de
reconocimiento es distribuido como DLL (Dynamic Link Library).
• Hardware – Varias tarjetas de entrada / salida usadas para conectarse (hacer interfase)
con el mundo externo (como tarjetas de control y tarjetas de red).
• Base de datos – Los eventos son grabados en una base de datos local o transmitidos a
través de una red. La información incluye los resultados del reconocimiento y
(opcional) el archivo de imagen del vehículo o de la cara del conductor.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 25
3.2.- Aplicaciones típicas:
Los sistemas LMA tienen un amplio rango de aplicaciones, las cuales utilizan la
nomenclatura de la placa extraída e imágenes opcionales para crear soluciones automatizadas
para varios problemas:
• Estacionamientos. La lectura de la placa es usada para permitir la entrada automática
a miembros prepagados y calcular la tarifa de estacionamiento para los no miembros
(comparando los tiempos de entrada y salida).
• Control de acceso. Una compuerta se abre automáticamente para permitir el acceso a
miembros autorizados a áreas aseguradas, reemplazando o asistiendo al guardia de
seguridad. Los eventos son registrados en una base de datos y pueden ser usados para
crear un historial de eventos.
• Peaje. La nomenclatura de la placa es usada para calcular la tarifa de viaje en una ruta
de peaje, o usada para registrar la tarjeta de pase.
• Control fronterizo. La nomenclatura de la placa es registrada a la entrada o salida del
país y utilizada para monitorear los cruces de la frontera.
• Carros robados. Una lista de carros robados o que adeudan el pago de multas es usada
para alertar al paso de carros ‘calientes’. La lista negra puede ser actualizada en tiempo
real y proveer una alarma inmediata a la fuerza policíaca.
• Prueba de infracción.
• Control de tráfico. Los vehículos pueden ser dirigidos a diferentes líneas de acuerdo a
sus permisos de entrada.
• Herramienta de mercadeo. Las placas de los autos pueden ser usadas para formar una
lista de visitantes frecuentes para propósitos de mercadeo, o para construir un perfil del
comportamiento del tráfico (como la frecuencia de entrada vs. la hora del día).
• Monitoreo de tráfico. Unidades LMA son instaladas en diferentes rutas de la ciudad y
la nomenclatura de las placas de los vehículos circulantes son cotejadas entre los
puntos. La velocidad promedio y tiempo de viaje entre esos puntos puede ser calculada
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 26
y presentada para monitorear las cargas de tráfico local. Además, la velocidad
promedio puede ser utilizada para generar una multa de velocidad
(http://www.licenseplaterecognition.com/).
3.3.- Trabajos desarrollados en el mercado • “Sistema para el reconocimiento de caracteres en placas de automóviles”. En este
trabajo se presenta un sistema para el reconocimiento de caracteres en placas de
automóviles que integra varias técnicas para procesamiento y análisis de imágenes. El
sistema consta de cuatro módulos: pretratamiento, localización de la placa,
segmentación e identificación de los caracteres. El procesamiento de bajo nivel, que
incluye la detección de orillas y el adelgazamiento, se trabajó con el algoritmo
SUSAN. La detección de la placa con la transformada de Houg.[3]
• “Car License Plate Detection and Recognition System”. Este proyecto desarrolla una
aplicación de visión de computadora para la detección y reconocimiento de la
nomenclatura de las placas de auto. Indica los procesos utilizados para lograr su
objetivo haciendo especial mención al método de árbol HDR utilizado para el
reconocimiento de caracteres
(http://web.cps.msu.edu/~hwangwey/License_plates.html).
• “Moving Car License Plate Recognition”. Muestra el desarrollo del proyecto y las
técnicas utilizadas. El software fue desarrollado con MatLab y consolidado con C++
(http://www.cs.technion.ac.il/Labs/lsl/Project/Projects_done/.../finalreport.htm) .
• “A connectionist approach to vehicle license plate recognition”. Desarrolla técnicas de
segmentación tradicionales. Utiliza una red neuronal de perceptrón multi capa para
estimar la probabilidad de los símbolos utilizando características escalables. Utiliza el
modelo Markov sobre secuencias de nomenclaturas oficiales de placas conteniendo
todos los ordenamientos posibles. En el reconocimiento usa algoritmos Viterbi para
computar la secuencia más apropiada de símbolos, dadas las sus probabilidades
computadas por la red neuronal
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 27
(http://www.ee.up.ac.za./~renier/projects/connectionist/paper.html).
• “Number plate reading using computer vision”. Describe un nuevo método basado en
una línea transversal que corta horizontalmente la imagen en busca de la ‘firma’
característica de la placa. Describe la formación del motor de reconocimiento de
caracteres. No da información del lenguaje aplicado para la elaboración y desarrollo de
los algoritmos (http://www.utad.pt/~jbarroso/html/isie97.html).
• “A Histogram-Based Method for Detection of Faces and Cars”. Describe un método
estadístico para la detección de objetos 3D. Se basa en utilizar tantos histogramas
como sea posible para representar una amplia variedad de atributos visuales. Utiliza
Wavelets. El objetivo es detectar caras y autos desde varios puntos de vista en la
imagen.[11]
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 28
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 29
4.- HERRAMIENTAS UTILIZADAS
La construcción del proyecto ase basó en el uso de LabVIEW como herramienta y
entorno para desarrollar la programación gráfica. En segunda instancia se utilizó una
aplicación de propósito general para la manipulación de imágenes llamada IMAQ Vision
Builder cuya aportación consistió en dar facilidad para la medición y muestreo de imágenes.
4.1.- LabView, la herramienta de desarrollo. LabVIEW (Laboratory Virtual Instrument Engineering Workbench) es un entorno de
desarrollo basado en la programación gráfica. LabVIEW utiliza terminología, iconos e ideas
familiares a los técnicos, científicos e ingenieros, y maneja símbolos gráficos, a diferencia de
los lenguajes textuales, para definir acciones de programa.
Se estudiaron cuidadosamente las opciones brindadas por esta herramienta para definir
las utilidades que se aplicarían al proyecto. LabVIEW presenta grandes ventajas para el
manejo de imágenes, matrices y ventanas. El control de la tarjeta digitalizadora y de la cámara
se logra fácilmente. En general, por su naturaleza gráfica, LabVIEW permite un manejo
natural y eficiente de las imágenes y de los dispositivos utilizados. (Se puede encontrar más
información a cerca de LabVIEW en la página http://www.ni.com )
4.2.- IMAQ Vision Builder
IMAQ Vision Builder es un paquete de software interactivo para crear prototipos que
manejen el procesamiento de imágenes. Se puede utilizar para crear aplicaciones prototipo o
probar y aprender como trabajan los diferentes procesos o funciones de la visión de máquina.
Se utiliza esta aplicación para tomar datos estadísticos de las placas, es decir, obtener
medidas en píxeles y determinar valores de niveles de gris. La siguiente Figura 4.1 muestra la
interfaz de usuario de la aplicación. En esta se pretende realizar mediciones sobre una placa.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 30
Figura 4.1 Interfaz IMAQ Vision Builder.
IMAQ Vision Builder permite ejecutar funciones morfológicas sobre imágenes
digitales tomadas de archivo o desde una cámara. Estas funciones se aplican sobre imágenes
binarias.
Algunas funciones morfológicas:
• borde
• llenado de hoyos
• etiquetado
• filtros pasa baja
• filtros pasa alta
• separación
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 31
• esqueletización
• segmentación
• distancias
• Danielson
• círculo
• erosión
• dilatación
• adelgazamiento
La combinación de estas y otras funciones le dan a IMAQ Vision Builder el carácter de una
aplicación sumamente útil para el tratamiento de imágenes y como una herramienta en al
elaboración de prototipos de visión de máquina [8].
4.3.- Lenguaje G G es el lenguaje de programación en el corazón de LabVIEW. G, como C o Basic, es
un lenguaje de propósito general con extensas librerías o funciones para muchas tareas
computacionales. G incluye librerías para la adquisición de datos, GPIB y control de
instrumentos seriales, análisis de datos, presentación de información y almacenaje de datos. G
difiere de los otros lenguajes en un aspecto importante: otros lenguajes de programación son
basados en texto mientras que G es gráfico.[9]
G es un sistema de programación de propósito general, pero este además incluye
librerías de funciones y herramientas de desarrollo especialmente diseñados para la
adquisición de datos y control de instrumentos. Los programas en G son llamados
instrumentos virtuales VIs (por sus siglas en ingles Virtual Instrument) porque su apariencia y
operación puede imitar a instrumentos reales. No obstante, los VIs son similares a funciones
de lenguajes de programación convencionales.
Un VI consta de una interfaz de usuario interactivo, un diagrama de flujo de datos que
sirve como código fuente y conexiones de icono que dan forma al VI de tal manera que puede
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 32
ser llamado por otros VIs de nivel más alto. Más específicamente, los VIs se estructuran como
sigue:
1. El interfaz de usuario interactivo de un VI es llamado el panel frontal, porque este
simula el panel de un instrumento físico. El panel frontal puede contener switches,
botones de presión, gráficas y otros controles e indicadores.
2. El VI recibe instrucciones del diagrama de bloques, el cual se puede crear en G. El
diagrama de bloques es una solución pictórica a un problema de programación. El
diagrama a bloques es además el código fuente para el VI.
3. Los VIs son jerárquicos y modulares. Se les pueden usar como programas de alto nivel,
o como subprogramas dentro de otros programas o subprogramas. Un VI, cuando se
usa dentro de otro VI, es llamado subVI. El icono y conectores de un VI trabajan como
una lista de parámetros gráficos de tal forma que otros VIs pueden pasar datos a un
subVI.[9]
Con estas características, G hace el mejor uso del concepto de programación modular.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 33
5.- DISEÑO DE LOS PRINCIPALES ALGORITMOS.
En este apartado discutiremos el proceso de formación del algoritmo para el
reconocimiento y ubicación de la placa. Se explicarán también, los métodos estadísticos
utilizados para determinar los valores manejados como predefinidos.
5.1 El fundamento del algoritmo. Dentro del área de la visión de máquina en el campo de la inteligencia artificial está
comprendido el desarrollo de algoritmos para el análisis del contenido de una imagen [2]. El
reconocimiento estadístico de formas es el enfoque utilizado en este sistema.
Dado que los objetos que se presentan en una escena (en este caso una imagen
digitalizada) tienen características propias que los definen como tales, es posible determinar su
presencia si se conocen sus características, su morfología en general. “El reconocimiento
estadístico de formas asume que la imagen contendrá uno o más objetos que pertenecen a uno
o más tipos predeterminados, categorías o clases de formas” [2, pp. 448].
Las placas poseen ciertas características que las hacen diferir de los demás objetos:
forma rectangular, caracteres obscuros sobre un fondo claro, cada nomenclatura es única y
cumple con un formato preestablecido. Estas propiedades nos ayudaran a definir el algoritmo
y a aumentar la exactitud con la que se reconocerán las placas. El primer paso es definir estas
propiedades a partir de un modelo.
5.2 Método de búsqueda. Para la localización de la placa se utiliza una nueva técnica propuesta por J. Barroso la
cual “se basa en el hecho de que las líneas donde la placa se localiza en la imagen tiene una
“firma” clara, lo cual hace usualmente posible distinguirlas de otras líneas en la imagen, o por
lo menos para preseleccionar algunas posiciones donde buscar más exhaustivamente”
(http://www.utad.pt/~jbarroso/html/isie97.html). Una línea corresponde a una sección
transversal, es decir, la extracción de un renglón de la imagen capturada para luego ser
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 34
analizado en cada uno de los puntos que la conforman. Estos puntos corresponden a los
valores de los píxeles en la imagen. La Figura 5-1(a) muestra una de estas líneas cruzando el
área de la placa. Al trazar una gráfica, posición vs. nivel de gris, se genera un pliegue
característico, o una “firma”, en la región que corresponde a la placa, ver Fig. 5-1(b). De
manera similar, la Figura 5-2(a) muestra una línea fuera del área de la placa, también podemos
observar su comportamiento en la gráfica, ver Figura 5-2(b).
(a)
(b)
Figura 5-1. (a) Línea transversal sobre la placa, (b) gráfica del comportamiento de la línea (Line Profile), posición del píxel vs. nivel de gris.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 35
(a)
(b)
Figura 5-2. (a) Línea transversal fuera del área de la placa, (b) gráfica del comportamiento de la línea (Line Profile), posición del píxel vs. nivel de gris.
En la Figura 5-3, si se analiza la firma más a fondo se deducen las siguientes
características:
• Existe un patrón o frecuencia característico en el número de picos.
• Las amplitudes de los picos y valles, correspondientes a el fondo de la placa y a los
caracteres respectivamente, están comprendidos dentro de cierto intervalo.
• Existe un límite en el número de bordes.
• Las distancias relativas entre bordes guardan una relación.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 36
Estas características son el punto de partida para definir el algoritmo de búsqueda. El
siguiente paso es tomar una muestra de la población de placas y realizar un análisis
cuantitativo de sus características físicas.
Figura 5-3. Características de la firma: Picos, y bordes (detalle de la Figura 5-1(a)).
5.3 Morfología del objeto. Se tomó como muestra 10 placas del Estado de colima, como la que se ilustra en la
Figura 5-4, y a partir de ellas se tomaron medidas físicas de acuerdo a los siguientes
parámetros:
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 37
Característica Descripción
x1 Longitud del objeto a lo largo
x2 Longitud máxima de segmento claro
x3 Longitud mínima de segmento claro
x4 Longitud mínima de segmento oscuro
x5 Longitud máxima de segmento oscuro
x6 Longitud del objeto a lo alto
Estos parámetros constituyen el conjunto de características seleccionadas de la placa. Ver Fig.
5-5
Fig.5-4 Placa del Estado de Colima
Fig. 5-5 Características consideradas.
La tabla 5-6 muestra los resultados obtenidos. La media de cada característica se
exhibe en centímetros. La medición se hace sobre la placa.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 38
Muestra x1 x2 x3 x4 x5 x6 1.- 30.00 5.40 0.70 0.47 2.73 15.00 2.- 30.00 5.00 0.90 0.60 3.00 15.00 3.- 30.00 4.3 0.90 0.70 3.00 15.00 4.- 30.00 5.00 0.90 0.70 3.00 15.00 5.- 30.00 4.00 0.90 0.70 3.00 15.00 6.- 30.00 5.50 1.00 0.70 3.10 15.00 7.- 30.00 3.70 0.90 0.70 3.00 15.00 8.- 30.00 6.00 0.90 0.80 3.10 15.00 9.- 30.00 6.20 0.90 0.70 3.00 15.00 10.- 30.00 5.60 1.00 0.80 3.10 15.00 m: 30.00 5.07 0.900 0.687 3.003 15.00 v: 0 0.70 0.006 0.009 0.011 0 s: 0 0.84 0.080 0.094 0.106 0
Tabla 5-6. Muestreo de características. Donde: m = media, v = varianza y s = desviación
estándar.
Sobre la imagen de la placa, en diferentes niveles de iluminación, se tomaron muestras
de píxeles de las áreas claras y oscuras para determinar la media de niveles de gris máximos y
mínimos del fondo; y de los caracteres. Los resultados se muestran en la tabla 5-7.
Parámetro: Fondo Caracteres
Nivel: Mínimo Máximo Mínimo Máximo
Escala de gris: 120 188 36 76
Media: 153 52
Desv. estándar: 22.69 12
Tabla 5-7. Media para los niveles de gris de los píxeles del fondo de la placa y de los
caracteres [intervalo de 0-255].
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 39
5.4 Calibración espacial. Una vez determinados los parámetros que definen al objeto, se procede a la calibración
espacial de la imagen. Este proceso consiste en correlacionar las dimensiones de un píxel con
las dimensiones físicas [8].
Se utilizará el método de calibración de distancia [8], que consiste en medir las
dimensiones de un objeto conocido dentro de la imagen. Los parámetros considerados para la
calibración:
• Paso en X, longitud horizontal de un píxel.
• Paso en Y, longitud vertical de un píxel.
• Unidad, selección de la unidad de distancia.
La imagen tiene una resolución de 544 X 238 píxeles y una profundidad de 8 bits.
A una distancia inicial d0 =30 cm. de la cámara, se tomó una imagen de la placa, luego,
en incrementos constantes de 10 cm se repite el procedimiento hasta llegar a una distancia
final de 2 m, como se observa en la figura 5-8. Sobre cada imagen se tomó la medida en
píxeles de lo largo y alto de la placa ver Figura 5-9. Se utilizó la aplicación Imaq Vision
Builder para el este análisis cuantitativo de las imágenes.
Figura 5-8. Muestreo de la placa a diferentes distancias. Perspectiva: línea verde: trayectoria
ideal de la proporción, línea roja: proporción obtenida de acuerdo a las mediciones. No hay
una proporción lineal objeto-distancia.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 40
Figura 5-9. Detalle del muestreo de medidas. Medición de la característica x1 .
Los resultados se tabulan en la figura 5-10, la medida en píxeles de las características
x1 y x6 se determinaron para cada distancia dx, las demás características x2 , x3 , x4 y x5 (de la
muestra 1) son determinadas a partir de la constante de proporcionalidad definida para cada
distancia dx, de la cual se habla en seguida.
Como se puede observar en la Figura 5-11, la proporción de x1 con respecto a dx no es
lineal. Para obtener un factor de proporción para cada distancia dx, se asignará una constante
de proporcionalidad para cada uno de estos intervalos dada por Kx = factor x1(cm) /factor x1
(píxeles) , para cada distancia dx. Este factor (Kx) determinará cualquier medida física en
centímetros a partir de su medida en píxeles a una distancia dx; o viceversa: obtener medidas
en píxeles a partir de su medida en centímetros.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 41
dx Distancia (cm)
x1 (píxel)
Kx
x6 (píxel)
Ky
x2 (píxel)
x3 (píxel)
x4 (píxel)
x5 (píxel)
d 0 30 526.19 0.0570136 140.51 0.1067539 94.714 12.277 8.333 48.000 d 1 40 420.00 0.0714285 110.34 0.1359434 75.600 9.800 5.500 37.800 d 2 50 348.16 0.0861672 90.93 0.1649205 62.668 8.123 4.000 31.334 d 3 60 298.12 0.1006306 77.91 0.1925298 53.660 6.956 3.833 26.830 d 4 70 260.15 0.1153180 67.38 0.2226179 46.827 4.569 3.666 23.413 d 5 80 228.61 0.1312278 59.04 0.2540650 41.150 5.334 3.619 20.575 d 6 90 204.60 0.1466275 52.03 0.2882950 36.828 4.774 3.500 18.414 d 7 100 187.54 0.1599658 50.17 0.2989830 33.757 4.375 2.969 16.878 d 8 110 171.22 0.1752131 45.14 0.3322990 30.819 3.995 2.719 15.410 d 9 120 157.20 0.1908396 39.05 0.3841229 28.296 3.668 2.489 14.148 d10 130 146.79 0.2043735 37.02 0.4051863 26.422 3.425 2.324 13.211 d11 140 137.45 0.2182611 34.89 0.4299226 24.741 3.207 2.176 12.370 d12 150 129.01 0.2325400 33.23 0.4513993 23.222 3.010 2.042 11.611 d13 160 121.87 0.2461639 30.78 0.4873294 21.936 2.843 1.929 10.970 d14 170 115.53 0.2596728 29.33 0.5114217 20.795 2.695 1.829 10.400 d15 180 108.56 0.2763448 29.40 0.5102040 19.540 2.533 1.718 9.8000 d16 190 102.99 0.2912904 28.12 0.5334281 18.538 2.403 1.630 9.2700 d17 200 97.27 0.3084198 27.66 0.5422993 17.508 2.696 1.540 8.8000
Figura 5-10.Tabla de mediciones. La columna x1 corresponde a la medida en píxeles del
parámetro x1 expresado en centímetros.
Figura 5-11. Comportamiento de la proporción a diferentes intervalos. La abscisa dx representa el intervalo al que se capturó la imagen. La ordenada representa la medida de la característica x1.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 42
5.5 Principales módulos del algoritmo. El algoritmo se ha dividido en módulos de acuerdo a su función:
• Extracción de características.
• Clasificación
• Segmentación y lectura
Estos módulos están interrelacionados ya que la información que generan y comparten
determina el curso del programa: continuar la búsqueda o dejar de buscar.
5-12 Diagrama a bloques del sistema.
5.5.1 Extracción de características. • Fija Línea Horizontal.vi
Esta sección se encarga de mantener un registro del número de la línea de imagen que
se está analizando. Si la línea actual no atraviesa la placa, entonces define la siguiente. Este
Control CCD & Tregger.
Control Lógica del programa.
Extracción de características
Clasificación. Segmentación & Lectura
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 43
proceso se repite mientras no se cruce la placa o no se acabe la imagen. Resalta la línea de
imagen que se analiza sobre la escena capturada.
Entrada:
• Resolución en X
• Resolución en Y
• Horizonte actual
Salida:
• Coordenadas inicio-fin de la línea de imagen.
Figura 5-13 Código Fija Línea Horizontal.vi
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 44
• Detecta Bordes en Línea 1.2.vi
Tiene como objetivo detectar los bordes existentes en la línea de imagen. Extrae
diferentes características de ellos como:
• Número de bordes encontrados
• Contrastes
• Polaridad
• Posiciones (x,y) absolutas
Entradas:
• Imagen
• Coordenadas de línea de imagen
• Parámetros de búsqueda:
o Contraste
o Filtro
o Paso
o Método de búsqueda
o Exactitud de sub-píxel
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 45
Figura 5-14 Código Detecta Bordes en Línea 1.2.vi
5.5.2 Clasificación • Localiza Candidatos.vi
Este es el algoritmo de búsqueda de segmentos de línea candidatos a contener la
nomenclatura de la placa. Su búsqueda se concentra en tres áreas:
1. Detectar y definir pares de bordes cuya distancia relativa se encuentre dentro del
parámetro x1 para cada distancia dx.
2. Buscar y discriminar, dentro de cada segmento x1 encontrado, pliegues con
características dadas por x3, x4, x5 y x6.
3. Filtrar segmentos de acuerdo al intervalo de niveles de gris preestablecidos.
Entradas:
• Coordenadas de los bordes
• Niveles de gris de cada uno de los puntos de la línea de imagen
• Número de bordes encontrados
• Polaridad de los bordes
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 46
• Factor de error en pliegue
• Factor de error en nivel de gris
Salidas:
• Vector de pares de bordes (borde inicio, borde fin) etiquetados como posibles
segmentos de la línea de imagen que cruzan o cortan la nomenclatura de la placa.
• Matriz de posiciones absolutas de los bordes.
Figura 5-15 Recibe el vector de las posiciones (x,y), de los bordes encontrados y da como
salida otro vector de distancias relativas (en píxeles) entre los bordes.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 47
Figura 5-16 Genera dos vectores: 1. Un vector de polaridad de borde donde el valor –1 indica
que el borde cae hacia un nivel de gris más bajo, y un valor 1 indica que el borde va hacia un
nivel de gris más alto. 2.Un vector de posiciones de borde
5-17 Este bloque se encarga de seleccionar pares de bordes cuya distancia relativa se
encuentre dentro del intervalo X1 definido por el vector A’, para las diferentes distancias dx.
Entrega un vector de dos dimensiones que muestra el borde de inicio y el borde de fin para
cada distancia dx.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 48
Figura 5-18 A partir del vector de pares de bordes se seleccionan los que cumplan con los
valores definidos por x2, x3, x4 y x5 representados por los vectores C’, D’, E’ y F’. Entrega
un vector de dos dimensiones con los pares de bordes seleccionados.
Figura 5-19 De los bordes seleccionados, filtra los que estén en el rango de nivel de gris
preestablecido por la media máxima y mínima. Entrega el vector de bordes candidatos
definitivo.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 49
• Dibuja Caja Límites .vi
Este algoritmo se encarga de delimitar y extraer la porción de imagen seleccionada
como candidata a contener la nomenclatura de la placa. Los límites son determinados de
acuerdo a cada segmento de línea candidato.
Entradas:
• Opción: ¿Ver el contorno de la extracción?
• Vector de los bordes candidatos.
• Vector de coordenadas de los bordes.
• Posición horizontal actual
• Número de ventana
Salidas:
• Vector de posiciones del rectángulo del área de interés (Boundle Box):
o Esquina superior izquierda y
o Esquina inferior derecha
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 50
Figura 5-20 En esta sección, el programa recibe el vector que contiene el par de bordes de
inicio y fin de la placa. El programa determina la posición de los límites de la placa
representados por la posición de los bordes. Determina la distancia dx de acuerdo a su
posición en el vector. El array Y’ representa el valor x2 definido para cada distancia dx. Las
coordenadas de la caja de límites servirán para definir la porción de imagen a extraer.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 51
Figura 5-21 En esta parte, el programa dibuja sobre la imagen el contorno de la caja de límites
donde se presume localizarse la placa.
5.5.3 Segmentación y lectura.
• Segmenta Caracteres .vi
Su función es la de definir, con mayor exactitud, el área de los caracteres de la placa y
realizar la debida segmentación. Esta extracción se hace de acuerdo al análisis morfológico de
la placa del Estado de Colima. Se definen las áreas a discriminar, se selecciona la menor
cantidad de información de imagen, centrándose en el área de los caracteres.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 52
Entradas:
• Corte mínimo por debajo de los caracteres.
• Corte máximo por debajo de los caracteres
• Corte mínimo por encima de los caracteres
• Vector de posiciones del rectángulo del área de interés.
• Imagen fuente.
• Imagen destino.
• Ajuste de corte.
• Nivel de disparo
Salidas:
• Imagen extraída (IMG Extracted).
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 53
5-22 Recibe las coordenadas del rectángulo que circunscribe a la placa y extrae esa porción de
imagen en una imagen nueva. También checa si el rectángulo está vacío, de ser así, lo ignora.
5-23 Recibe la nueva imagen extraída y realiza un análisis de la línea de imagen [Line Profile]
para determinar los valores máximos y mínimos de niveles de gris.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 54
5-24 Al valor de gris mínimo obtenido se incrementa en cuarenta unidades (la distancia media
entre el nivel de fondo y el nivel de caracteres). El valor resultante de esta adición se toma
como valor de intervalo máximo para realizar una segmentación de imagen (Trheshold). A la
imagen segmentada se le aplica una erosión para eliminar las partículas sin interés. En este
punto la imagen resultante es una imagen binaria donde el fondo está dado por ceros y los
caracteres por unos.
La proyección de un objeto binario, la cual provee información de forma, es
determinada sumando todos sus píxeles a lo largo de columnas o renglones. Si se suman los
renglones se obtiene la proyección horizontal, si se suman las columnas se obtiene la
proyección vertical.[12] Se puede definir la proyección horizontal hi(r) como
Ν−1Ν−1Ν−1Ν−1
hi(r) = Σ Ιi(r,c) c=0
y la proyección vertical vi(c)
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 55
N-1
vi(c) = Σ Ιi(r,c)
r =0
5-25 El objetivo de este bloque es construir una proyección horizontal de la imagen definida
por un vector de 1 x n, donde n está dada por la resolución y (número de renglones) de la
imagen.
5-26 Proyección horizontal de sub-imagen. Esta proyección es anterior al corte de reducción.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 56
5-27 Una vez definido el vector de proyección, se toma este para definir los puntos de
corte y de esa manera reducir la imagen de los caracteres al mínimo. Se contemplan dos
cortes: uno sobre la parte superior de los caracteres y otro en la parte inferior de estos.
5-28 Proyección horizontal de sub-imagen después de los cortes superior e inferior. Esta
forma corresponde a los caracteres.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 57
PASO PROYECCIÓN SUB-IMÁGENES COMENTARIO
1.-
Parte de la imagen
original. La línea
localiza un área
potencial a
contener la placa.
2.-
Extrae el área
correspondiente a
la distancia dx.
3.-
La porción de
imagen extraída es
binarizada: Fondo
= 0, objeto = 1. Se
calcula la
proyección
horizontal.
4.-
La imagen es
reducida al mínimo
recortando por
encima y por debajo
de los caracteres. Su
proyección final.
5.-
La imagen anterior en
nivel de gris: Fondo =
255, objetos = 0 . Lista
para ser interpretada
por el OCR.
5.29 Secuencias de tratamiento y procesamiento de imagen.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 58
5.30 En este último paso, se recibe la imagen ya recortada al máximo y se realiza una
segmentación (Trehshold) definiendo el fondo con nivel 255 y los caracteres con nivel
cero. Esta imagen está lista para ser interpretada por el motor de reconocimiento de
caracteres.
• OCR.VI
El motor de reconocimiento óptico de caracteres.
Entradas:
• Imagen extraída
• Auto corrección (opción)
• Modo invertido (Caracteres obscuros sobre fondo blanco)
• Texto de enmascaramiento (Ejemplo de nomenclatura)
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 59
Salidas:
• Texto básico interpretado
• Texto interpretado sin máscara
• Salida de texto enmascarado.
• Estado de error.
5.31 Código OCR.vi Este bloque recibe la porción de imagen extraída para ser analizada por
el motor óptico de reconocimiento de caracteres. Aquí se definen los caracteres de
enmascaramiento de acuerdo a una secuencia legal de nomenclatura.
5.5.4 Control
La siguiente figura muestra el control principal del programa. Se puede advertir la
interacción entre cada uno de los módulos.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 60
5.32 Este módulo se encarga de coordinar e interconectar los módulos que comprenden el
sistema. Como se puede observar, intervienen lazos de repetición y de bifurcación, como parte
del control.
5.5.5 Módulo de interfaz con el exterior
Este bloque se encarga de la interfaz con el mundo exterior. Detecta si existe la presencia
de un auto, esto mediante la señal de disparo enviada por la fotocélula retrorrefelctiva
conectada a TRIG0, y si es así, procede a tomar la imagen de la escena.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 61
5.33 Código Shot Control LPR.vi Este módulo contiene la interfaz con el usuario, con el
dispositivo de captura de imagen y la línea de control (nivel TTL).
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 62
6.- PRODUCTO FINAL
Las aplicaciones de visión artificial no contemplan, por lo general, una interfaz de
usuario muy elaborada. La libertad de la que estos sistemas disfrutan, los hacen cada vez más
libres e independientes. El LMA, dentro de sus funciones, y para cubrir los objetivos de esta
tesis, contempla solamente la localización y lectura de la nomenclatura de la placa del auto,
necesitando así, solamente una imagen como entrada y, como resultado del análisis, una
cadena de caracteres como salida. La mayoría de los ajustes y cálculos se hacen en tiempo de
programación, dejando así, poca necesidad de interacción con el usuario.
En la gráfica se puede observar la sencilla interfaz de usuario que contiene los
principales controles.
6.1 Interfase de usuario.
6.1- Descripción de controles e indicadores.
• Progreso. Indica el recorrido de la búsqueda, mostrando el avance.
• Línea? Controla el despliegue de la línea de búsqueda sobre la imagen.
• Caja? Controla el despliegue de la caja de límites sobre la imagen.
• Stop. Terminar la aplicación.
• Sin Máscara. Indica la lectura sin corrección.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 63
• Máscara. Entrada de secuencia alfanumérica de nomenclatura.
• Lectura. Muestra la cadena de caracteres correspondiente a la nomenclatura
encontrada.
• No Error. Indica una búsqueda exitosa.
• Error. Indica un error de búsqueda.
Las ventanas resultantes de la aplicación en curso, una con la leyenda ‘original image’
muestra la imagen muestreada y la otra ‘Imagen Extraída’ muestra la porción de imagen
correspondiente a los caracteres de la nomenclatura de la placa. El panel de control muestra el
estatus de la búsqueda.
6.2 Aplicación en marcha.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 64
Ahora, el sistema LMA está listo para entregar una cadena de caracteres,
correspondiente a la nomenclatura de la placa, y ser utilizada para cualquier aplicación que el
usuario determine.
A continuación se muestra un esquema descriptivo del sistema donde interactúan el
hardware y el software para lograr una comunicación eficiente (ver fig. 6.3). También se
incluye el patillaje de la tarjeta digitalizadora (ver fig. 6.4), se utiliza la entrada de video
VIDEO0+ y la señal de disparo proveniente del sensor, TRIG0 (ver fig. 6.5), la tarjeta tiene
disponibles tres líneas de control.
6.3 Esquema. PC: Computadora personal. Sensor: Foto célula retroreflectiva. Digitalizador: Tarjeta digitalizadora con salidas y entradas digitales. Actuador: Cualquier dispositivo de salida.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 65
PIN DESCRIPCIÓN PIN DESCRIPCIÓN 1 TRIG0 14 CSYNCOUT 2 TRIG1 15 GND 3 TRIG2 16 GND 4 TRIG3/FIELD 17 PCLKIN 5 PCLK-/Unused 18 HSYN+ 6 HSYNCIN-/ Unused 19 VSYN+ 7 VSYNCIN-/ Unused 20 CSYN+ 8 CSYNCIN-/ Unused 21 +5V 9 GND 22 VIDEO3+ 10 VIDEO- 23 VIDEO2+ 11 VIDEO2- 24 VIDEO1+ 12 VIDEO1 25 VIDEO0+ 13 VIDEO0-/GND
Fig.6.4 Patillaje de la tarjeta de video PCI 1408 IMAQ PCI.
Fig. 6.5 Diagrama eléctrico del sistema LMA
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 66
7.- CONCLUSIONES
La implementación del lenguaje G fue acertado. Permite manejar y manipular las
imágenes con gran naturalidad y exactitud. El sistema de adquisición de imágenes es rápido y
se conecta perfectamente con el control de software.
El método resulta ser efectivo en situaciones con variables controladas, como la
iluminación y la velocidad de tránsito. Estas variables son completamente controlables ya que
no requieren de un consumo de recursos excesivo; con mantener un nivel de iluminación
constante y un reductor de velocidad vehicular es suficiente.
La estrategia de búsqueda que se implementó y desarrolló aquí, presentó un gran reto
al principio, ya que se tuvieron que definir en base al error las características más apropiadas
que, de la placa, pueden medirse. Las características que se tomaron en cuenta para definir al
objeto fueron las adecuadas, seis características que definen plenamente al objeto.
La tabla 7.1 muestra una serie de imágenes tomadas con el LMA. El sistema realiza
una búsqueda progresiva de abajo hacia arriba a lo largo de toda la imagen. Se muestran
también las salidas obtenidas. La columna ‘SALIDA’ muestra la sección de imagen
seleccionada y reconocida. La columna derecha exhibe el tiempo total de localización e
interpretación. Estas pruebas permiten recomendar a el sistema LMA para una aplicación
definida en control y monitoreo de tráfico automovilístico. Los tiempos de búsqueda van de
.795 y 2.563 segundos en el mejor y el peor de los casos, respectivamente. Otra ventaja del
LMA es que no necesita un hardware sofisticado, con una PC convencional es suficiente.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 67
MUESTRA DE ENTRADA SALIDA TIEMPO
(ms)
1.-
1035
2.-
1278
3.-
1210
4.-
846
5.-
795
6.-
2563
Tabla 7.1. Secuencias de búsqueda y reconocimiento de placas del LMA.
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 68
8.- BIBLIOGRAFIA
[1] C. González, Rafael y E. Woods Richard. “Tratamiento digital de imágenes”,
Addison-Wesley / Díaz de Santos, 1996
[2] Digital Image Processing
Castleman, Kenneth R.
Ed. Prentice-Hall Inc.
1996
[3] Giovani Gómez, Enrique Sucar. ITESM
[4] Computer Vision, Principles
Kasturi, Rangachar
3rd, 1993
[5] Digital Image Processing
Jahne, Bern
ed. Springer, 4th edition
1997
[6] Image Segmentation as an Optimization Problem
Levachkine, Surguei
Humberto Sossa
IPN, No. 63 Serie Azul, Junio 2000
[7] Lu, Y, “Machine printed character segmentation”,
Pattern Recognition, vol. 8,
n.1, pp 67-80, Elsevier Science Ltd, UK, 1995.
[8]IMAQ Vision User Manual, National Instruments Corporation
May 1999 Edition
Part Number 322320B-01
[9]G programming Reference Manual, National Instruments Corporation
IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE
__________________________________________________________________________________________________________________
________________________________________________________________________________ 69
[10] Ratches Jmes A, Walters, C.P., Buser, Rodolf, G. y Guenther. B.D. “Aided & Automatic
Target Recognition Base Upon Sensory Inputs From Image Forming Systems” , IEE Trans.
Pattern Analisys and Machine Intellegence, vol. 19,
no. 9, pp 1004- 1019, 1997.
[11] Henri Schiderman and Takeo Kanade, Robotics Institute, Carnegie Mellon University
Pittsburgh, PA 15213
[12] Computer Vision and Image Processing
Umbaugh, Scott E.
Ed. PH PTR
1998