Hector Omar Ceballos Lepe

69
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

description

LPR

Transcript of Hector Omar Ceballos Lepe

Page 1: Hector Omar Ceballos Lepe

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

Page 2: Hector Omar Ceballos Lepe

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

Page 3: Hector Omar Ceballos Lepe

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.

Page 4: Hector Omar Ceballos Lepe

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.

Page 5: Hector Omar Ceballos Lepe

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/).

Page 6: Hector Omar Ceballos Lepe

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)

Page 7: Hector Omar Ceballos Lepe

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

Page 8: Hector Omar Ceballos Lepe

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)

Page 9: Hector Omar Ceballos Lepe

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

Page 10: Hector Omar Ceballos Lepe

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

Page 11: Hector Omar Ceballos Lepe

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

Page 12: Hector Omar Ceballos Lepe

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.

Page 13: Hector Omar Ceballos Lepe

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

Page 14: Hector Omar Ceballos Lepe

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].

Page 15: Hector Omar Ceballos Lepe

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

Page 16: Hector Omar Ceballos Lepe

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

Page 17: Hector Omar Ceballos Lepe

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

Page 18: Hector Omar Ceballos Lepe

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.

Page 19: Hector Omar Ceballos Lepe

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

Page 20: Hector Omar Ceballos Lepe

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.

Page 21: Hector Omar Ceballos Lepe

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.

Page 22: Hector Omar Ceballos Lepe

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.

Page 23: Hector Omar Ceballos Lepe

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

Page 24: Hector Omar Ceballos Lepe

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.

Page 25: Hector Omar Ceballos Lepe

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

Page 26: Hector Omar Ceballos Lepe

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

Page 27: Hector Omar Ceballos Lepe

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]

Page 28: Hector Omar Ceballos Lepe

IDENTIFICACIÓN DE MATRÍCULAS EN VEHÍCULOS AUTOMOTORES MEDIANTE VISIÓN ARTIFICIAL. HÉCTOR OMAR CEBALLOS LEPE

__________________________________________________________________________________________________________________

________________________________________________________________________________ 28

Page 29: Hector Omar Ceballos Lepe

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.

Page 30: Hector Omar Ceballos Lepe

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

Page 31: Hector Omar Ceballos Lepe

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

Page 32: Hector Omar Ceballos Lepe

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.

Page 33: Hector Omar Ceballos Lepe

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

Page 34: Hector Omar Ceballos Lepe

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.

Page 35: Hector Omar Ceballos Lepe

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.

Page 36: Hector Omar Ceballos Lepe

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:

Page 37: Hector Omar Ceballos Lepe

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.

Page 38: Hector Omar Ceballos Lepe

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].

Page 39: Hector Omar Ceballos Lepe

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.

Page 40: Hector Omar Ceballos Lepe

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.

Page 41: Hector Omar Ceballos Lepe

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.

Page 42: Hector Omar Ceballos Lepe

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

Page 43: Hector Omar Ceballos Lepe

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

Page 44: Hector Omar Ceballos Lepe

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

Page 45: Hector Omar Ceballos Lepe

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

Page 46: Hector Omar Ceballos Lepe

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.

Page 47: Hector Omar Ceballos Lepe

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.

Page 48: Hector Omar Ceballos Lepe

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.

Page 49: Hector Omar Ceballos Lepe

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

Page 50: Hector Omar Ceballos Lepe

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.

Page 51: Hector Omar Ceballos Lepe

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.

Page 52: Hector Omar Ceballos Lepe

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).

Page 53: Hector Omar Ceballos Lepe

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.

Page 54: Hector Omar Ceballos Lepe

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)

Page 55: Hector Omar Ceballos Lepe

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.

Page 56: Hector Omar Ceballos Lepe

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.

Page 57: Hector Omar Ceballos Lepe

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.

Page 58: Hector Omar Ceballos Lepe

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)

Page 59: Hector Omar Ceballos Lepe

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.

Page 60: Hector Omar Ceballos Lepe

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.

Page 61: Hector Omar Ceballos Lepe

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).

Page 62: Hector Omar Ceballos Lepe

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.

Page 63: Hector Omar Ceballos Lepe

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.

Page 64: Hector Omar Ceballos Lepe

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.

Page 65: Hector Omar Ceballos Lepe

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

Page 66: Hector Omar Ceballos Lepe

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.

Page 67: Hector Omar Ceballos Lepe

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.

Page 68: Hector Omar Ceballos Lepe

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

Page 69: Hector Omar Ceballos Lepe

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