DESARROLLO DE TECNOLOGA
COMPUTACIONAL PARA LA IDENTIFICACIN
DE VEHCULOS AUTOMOTORES MEDIANTE
LA VISIN ARTIFICIAL
TESIS QUE PARA OBTENER EL GRADO DE
PRESENTA
ASESOR:
M.C. RICARDO FUENTES COVARRUBIAS
NDICE
1. INTRODUCCIN
1.1. VARIABLES DEL SISTEMA
1.2. ALGORITMOS DE PROCESAMIENTO DE IMGENES
1.2.1. FILTRADO
1.2.2. RESTAURACIN
1.2.3. REALSE
1.2.4. DETECCIN DE BORDES
1.2.4.1. FORMULACIN BSICA
1.2.4.2. OPERADORES GRADIENTE
1.2.4.3 LAPLACIANO
1.2.4.4 OPERADOR DE BORDE SOBEL
1.2.4.5 OPERADOR DE BORDE PREWITT
1.2.5. EXTRACCIN DE CONTORNOS
1.2.6. EXTRACCIN DE CARACTERSTICAS
1.2.7. RECONOCIMIENTO DE OBJETOS
1.3. NOMENCLATURAS
2. DESCRIPCIN DEL PROYECTO
2.1. ESQUEMA DEL SISTEMA
3. ESTADO DEL ARTE
3.1. ELEMENTOS DE UN SISTEMA LMA TPICO
3.2. APLICACIONES TPICAS
3.3. TRABAJOS DESARROLLADOS EN EL MERCADO
4. HERRAMIENTAS UTILIZADAS
4.1. LabVIEW, HERRAMIENTA DE DESARROLLO
4.2. IMAQ VISION BUILDER
4.3. LENGUAJE G
5. DISEO DE LOS PRINCIPALES ALGORITMOS
5.1. EL FUNDAMENTO DEL ALGORITMO
5.2. MTODO DE BSQUEDA
5.3. MORFOLOGA DEL OBJETO
5.4. CALIBRACIN ESPACIAL
5.5. PRINCIPALES MDULOS DEL ALGORITMO
5.5.1. EXTRACCIN DE CARACTERSTICAS
5.5.2. CLASIFICACIN
5.5.3. SEGMENTACIN Y LECTURA
5.5.4. CONTROL
5.5.5. MDULO DE INTERFAZ CON EL EXTERIOR
6. PRODUCTO FINAL
6.1. DESCRIPCIN DE CONTROLES E INDICADORES
7. CONCLUSIONES
8. BIBLIOGRAFIA
5
6
7
7
9
10
11
11
12
13
14
15
15
16
16
17
19
20
23
24
25
26
29
29
29
31
33
33
33
36
39
42
42
45
51
59
60
62
62
66
68
2
________________________________________________________________________________
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, its 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 Barrosos propose
(http://www.utad.pt/~jbarroso/html/isie97.html). The character segmentation method is based
in the characters proyections initially propoused by Lu [7] and Humbaugh [12] and developed
here. The systems algorithms are made whit a graphical languaje, G languaje, and used in
LabView.
3
________________________________________________________________________________
RESUMEN.
En este documento se presenta el desarrollo e integracin de un sistema para la
identificacin y reconocimiento de la nomenclatura de placas de automviles. Las tareas
principales del sistema se analizarn aqu: la localizacin del rea de la placa en la imagen, la
segmentacin de los caracteres y su identificacin.
Estas tareas estn 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 identificacin de los caracteres (debe corresponder a una sintaxis predefinida).
El reto principal en la deteccin de objetos es la cantidad de variaciones en el entorno de
la escena. El algoritmo desarrollado para la deteccin 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
regin horizontal a lo largo de la imagen. Esta tcnica se deriva de la propuesta por Barroso
(http://www.utad.pt/~jbarroso/html/isie97.html). La segmentacin de los caracteres se basa en
la tcnica de proyecciones inicialmente propuesta por Lu [7] y Humbaugh [12] y desarrollada
aqu. Los algoritmos del sistema estn hechos en lenguaje grfico G, usado en LabView.
4
________________________________________________________________________________
1.- INTRODUCCIN
Qu es un sistema de reconocimiento de caracteres de placas de automvil?
Conocido por sus siglas LPR (License Plate Recognition) es una tecnologa de procesamiento
de imgenes usado para identificar vehculos mediante la lectura de la nomenclatura de sus
placas. Este sistema entra en la gama de los ATR (de sus siglas en ingls Automatic Target
Recognition, Reconocimiento Automtico 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 disea aplicaciones para el control de trfico.
El creciente flujo de trfico ha animado a empresas, gobiernos e investigadores a
desarrollar tecnologas avanzadas en electrnica y visin de mquina para monitorear y
controlar el trfico.
El sistema emplea iluminacin (infrarroja) y una cmara CCD para tomar la imagen
delantera o trasera del vehculo. En una situacin tpica, un sistema lector de nomenclaturas de
placa analiza las imgenes capturadas por la cmara situada a la orilla de la carretera o en la
entrada de un estacionamiento. El sistema de video se activara o se disparara por un sensor
de lazo inductivo al manifestar la presencia de un vehculo. 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 informacin obtenida (la nomenclatura de la
placa en una cadena de caracteres), puede ser til en una estadstica de trfico vehicular o, en
el caso especfico 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 (LPRs) es que la aplicacin puede almacenar una
imagen del vehculo, lo cual es til en el combate al crimen y al fraude, una imagen dice ms
que mil palabras. A dems, una cmara adicional puede centralizarse en la cara del conductor
y salvar la imagen para cuestiones de seguridad (http://www.licenseplaterecognition.com/).
5
________________________________________________________________________________
Base de datos del sistema. Para una aplicacin de cruce de informacin ser necesaria
una base de datos de matrculas, obviamente, el estatus de estas determinar la accin a
ejercer. Esta base de datos puede ser pblica o privada, dependiendo del alcance de su
aplicacin.
Car Plate Recognition (CPR). Cuya funcin es la de reconocer el rea que ocupa la
placa en la escena.
En lo sucesivo, nos referiremos a este sistema como Lector de Matrculas de Auto (LMA)
6
________________________________________________________________________________
1.2.1 Filtrado
El empleo de mascaras espaciales para el procesamiento de las imgenes 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 funcin
de transferencia y el impulso o funcin de distribucin puntual de un sistema lineal son
transformadas de Fourier inversas una de otra. Los filtros denominados de paso bajo atenan 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 ms
borrosa la imagen. De forma similar, los filtros de paso alto atenan o eliminan las
componentes de baja frecuencia. Como estas componentes son responsables de las
caractersticas lentamente variables de la imagen, como el contraste global y la intensidad
media, el resultado neto de un filtrado de paso alto es la reduccin de estas caractersticas y, en
correspondencia, una aparente agudizacin 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 restauracin de imgenes.
La Figura 1.1 muestra las secciones transversales de filtros paso bajo, paso alto y paso
banda con simetra 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 indicacin para especificar los filtros espaciales lineales. Sin
7
________________________________________________________________________________
embargo, con independencia del tipo de filtro lineal empleado, La aproximacin bsica
consiste en sumar productos entre los coeficientes de la mascara y las intensidades de los
pxeles bajo la mascara en un punto determinado de la imagen [1].
Figura 1.1 Arriba: secciones transversales de perfiles bsicos para filtros en el dominio de
frecuencias
con
simetra
circular.
Abajo:
secciones
transversales
de
los
filtros
La Figura 1.2 muestra una mascara 3 x 3 general. Denominando a los niveles de gris
de los pxeles 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)
8
________________________________________________________________________________
Los filtros espaciales no lineales operan tambin en entornos. Sin embargo, en general
su operacin se basa directamente en los valores de los pxeles en el entorno en consideracin
y no emplean explcitamente los coeficientes de la forma descrita en la ecuacin (1.1-1).
Como se muestra en La siguiente seccin, la reduccin del ruido se puede realizar eficazmente
con un filtro no lineal cuya funcin bsica 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 Restauracin
Por restauracin de imagen se entiende como la exclusin o reduccin de
degradaciones obtenidas durante la adquisicin de la imagen digital. Estas degradaciones
incluyen el efecto borroso que puede ser introducido por los sistemas pticos o movimiento de
imagen, tambin como ruido introducido por la electrnica o las fuentes fotomtricas. La
restauracin de imagen aspira a entregar una imagen como si hubiera sido grabada sin
9
________________________________________________________________________________
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
mtodo de adquisicin de la imagen. Las utilidades del realce de las imgenes son variadas e
incluyen aplicaciones que van desde la impresin electrnica y las imgenes mdicas hasta las
inspecciones industriales e incluso la deteccin autnoma 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 implementacin ms clsica de un filtro de realce 3 x 3.
Obsrvese que La suma de los coeficientes es 0. As, cuando La mscara est sobre un rea de
nivel de gris constante o lentamente variable, la salida proporcionada por la mscara es cero 0
o un valor muy pequeo. Este resultado es coherente con lo que se espera del correspondiente
filtro en el dominio de frecuencias. Adems, observemos que este filtro tambin elimina el
trmino de frecuencia cero.
La reduccin del valor medio de una imagen a cero implica que la imagen debe tener
valores de gris negativos. Como slo estamos considerando niveles positivos de gris, los
10
________________________________________________________________________________
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
apareceran como brillantes en la imagen.
11
________________________________________________________________________________
perpendicular a la direccin 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 mdulo del
gradiente en ese punto. La derivada segunda se obtiene de forma similar utilizando el
laplaciano [1].
(1.2-2)
se sabe del anlisis vectorial que el gradiente de un vector indica la direccin de la mxima
variacin de f en (x, y). Una importante cantidad en la deteccin de bordes es el mdulo de
este vector, al que generalmente se hace referencia, para simplificar, como gradiente, con la
notacin f donde:
(1.2-3)
(1.2-4)
12
________________________________________________________________________________
La direccin del vector gradiente es tambin una cantidad importante sea (x, y) la
representacin del ngulo de direccin del vector f en (x, y).Entonces, del anlisis vectorial:
(1.2-5)
1.2.4.3 Laplaciano
El Laplaciano de una funcin bidimensional f(x,y) es una derivada de segundo orden
definida por:
(1.2-6)
(1.2-7)
donde las z son las ya definidas. El requisito bsico para la definicin de laplaciano digital es
que el coeficiente asociado con el pxel central sea positivo y los coeficientes asociados con
los pxeles exteriores sean negativos [Figura 1.4 ]. Como el laplaciano es una derivada, la
13
________________________________________________________________________________
suma de los coeficientes debe ser cero. En consecuencia la respuesta es cero siempre que el
punto en cuestin y sus vecinos tengan el mismo valor [1].
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
14
________________________________________________________________________________
-1
-2
-1
-1
-2
-1
-1
-1
-1
-1
-1
-1
15
________________________________________________________________________________
16
________________________________________________________________________________
1.3 Nomenclaturas
Cada pas maneja una norma especfica para la elaboracin de sus placas, de igual
forma, en Mxico, cada estado maneja un modelo para elaborar y definir las caractersticas de
su placa. En consecuencia, los sistemas LMA son especficos para cada pas y deben ser
adaptados a la regin donde se instalen y usen. El LMA en cuestin est adaptado a las placas
del Estado de Colima. La morfologa de este modelo ha sido cuidadosamente estudiado pues
sus propiedades definen la correcta localizacin de la placa en la imagen. Las secuencias
legales de la nomenclatura de la placa son tambin utilizadas para la reduccin de errores en la
interpretacin de los caracteres. Ver figura 1.8
17
________________________________________________________________________________
SERVICIO PARTICULAR
MEDIO
SECUENCIA LEGAL
CARACTERES
AUTOMVIL
LLLNNNN* FRA1000
CAMIN
LLNNNNN
FC00001
OMNIBUS PARTICULAR
NLLLNN
1DTA01
REMOLQUE
NLLNNNN
1EW0001
MOTOCICLETA
LNNNL
D001Y
DEMOSTRACIN
NLLNNN
1JA001
SERVICIO PBLICO
MEDIO
SECUENCIA LEGAL
CARACTERES
TAXI
NNNNLLL
1000DVA
NLLLNNN
1FYA001
URBANO
NNNNNNL 360001D
CARACTERES PROHIBIDOS
Q,O,I,
*L = letra, N = nmero
1.8 Norma oficial vigente para el estado de Colima. Fuente: Cortesa de la Direccin de
Transporte del Estado de Colima.
18
________________________________________________________________________________
Software:
Hardware:
19
________________________________________________________________________________
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
20
________________________________________________________________________________
21
________________________________________________________________________________
22
________________________________________________________________________________
El sistema utiliza iluminacin (como la infrarroja) y una cmara digital para tomar la
imagen delantera o trasera del vehculo, entonces un software de procesamiento de imagen
analiza las imgenes y extrae la informacin de la placa. Esta informacin es utilizada para
reforzar, coleccin de informacin, 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 clculos automticos de pago.
Los sistemas LMA tienen ventajas significativas como la de registrar una imagen del
vehculo la cual podra ser til en el combate al crimen y a el fraude (una imagen dice ms
que mil palabras). Una cmara adicional puede centrarse en la cara del conductor y guardar la
imagen para propsitos de seguridad. Adems, esta tecnologa no necesita ninguna instalacin
por auto (como en otras tecnologas que requieren un transmisor sobre cada carro o llevado
por el conductor).
Los primeros sistemas LMA sufran de un bajo nivel de reconocimiento, menor del
requerido para ser aplicado en sistemas prcticos. Los efectos externos como brillos de sol,
placas daadas, la gran diversidad de tipos de placas- y el nivel limitado de software de
reconocimiento y el hardware de visin, daban como resultado sistemas de baja calidad.
Sin embargo, recientes mejoras en el software y hardware han hecho de los sistemas
LMA ms confiables y ampliamente propagados. Hoy en da se pueden encontrar estos
sistemas
en
numerosas
instalaciones
el
nmero
de
sistemas
est
creciendo
23
________________________________________________________________________________
muchos casos la unidad LMA es agregado como respaldo a las soluciones ya existentes, como
los lectores de tarjetas magnticas o a los dispensarios lectores de ticket, de tal forma que se
agregue mayor funcionalidad a las instalaciones existentes.
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
travs de una red. La informacin incluye los resultados del reconocimiento y
(opcional) el archivo de imagen del vehculo o de la cara del conductor.
24
________________________________________________________________________________
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.
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 policaca.
Prueba de infraccin.
Control de trfico. Los vehculos pueden ser dirigidos a diferentes lneas 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 propsitos de mercadeo, o para construir un perfil del
comportamiento del trfico (como la frecuencia de entrada vs. la hora del da).
25
________________________________________________________________________________
puede
ser
utilizada
para
generar
una
multa
de
velocidad
(http://www.licenseplaterecognition.com/).
Car License Plate Detection and Recognition System. Este proyecto desarrolla una
aplicacin de visin de computadora para la deteccin y reconocimiento de la
nomenclatura de las placas de auto. Indica los procesos utilizados para lograr su
objetivo haciendo especial mencin al mtodo 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
tcnicas utilizadas. El software fue desarrollado con MatLab y consolidado con C++
(http://www.cs.technion.ac.il/Labs/lsl/Project/Projects_done/.../finalreport.htm) .
26
________________________________________________________________________________
(http://www.ee.up.ac.za./~renier/projects/connectionist/paper.html).
Number plate reading using computer vision. Describe un nuevo mtodo basado en
una lnea transversal que corta horizontalmente la imagen en busca de la firma
caracterstica de la placa. Describe la formacin del motor de reconocimiento de
caracteres. No da informacin del lenguaje aplicado para la elaboracin y desarrollo de
los algoritmos (http://www.utad.pt/~jbarroso/html/isie97.html).
27
________________________________________________________________________________
28
________________________________________________________________________________
Se estudiaron cuidadosamente las opciones brindadas por esta herramienta para definir
las utilidades que se aplicaran al proyecto. LabVIEW presenta grandes ventajas para el
manejo de imgenes, matrices y ventanas. El control de la tarjeta digitalizadora y de la cmara
se logra fcilmente. En general, por su naturaleza grfica, LabVIEW permite un manejo
natural y eficiente de las imgenes y de los dispositivos utilizados. (Se puede encontrar ms
informacin a cerca de LabVIEW en la pgina http://www.ni.com )
29
________________________________________________________________________________
borde
llenado de hoyos
etiquetado
separacin
30
________________________________________________________________________________
esqueletizacin
segmentacin
distancias
Danielson
crculo
erosin
dilatacin
adelgazamiento
La combinacin de estas y otras funciones le dan a IMAQ Vision Builder el carcter de una
aplicacin sumamente til para el tratamiento de imgenes y como una herramienta en al
elaboracin de prototipos de visin de mquina [8].
4.3.- Lenguaje G
G es el lenguaje de programacin en el corazn de LabVIEW. G, como C o Basic, es
un lenguaje de propsito general con extensas libreras o funciones para muchas tareas
computacionales. G incluye libreras para la adquisicin de datos, GPIB y control de
instrumentos seriales, anlisis de datos, presentacin de informacin y almacenaje de datos. G
difiere de los otros lenguajes en un aspecto importante: otros lenguajes de programacin son
basados en texto mientras que G es grfico.[9]
G es un sistema de programacin de propsito general, pero este adems incluye
libreras de funciones y herramientas de desarrollo especialmente diseados para la
adquisicin 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
operacin puede imitar a instrumentos reales. No obstante, los VIs son similares a funciones
de lenguajes de programacin convencionales.
Un VI consta de una interfaz de usuario interactivo, un diagrama de flujo de datos que
sirve como cdigo fuente y conexiones de icono que dan forma al VI de tal manera que puede
31
________________________________________________________________________________
ser llamado por otros VIs de nivel ms alto. Ms especficamente, 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 fsico. El panel frontal puede contener switches,
botones de presin, grficas 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 solucin pictrica a un problema de programacin. El
diagrama a bloques es adems el cdigo fuente para el VI.
3. Los VIs son jerrquicos 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 parmetros grficos de tal forma que otros VIs pueden pasar datos a un
subVI.[9]
Con estas caractersticas, G hace el mejor uso del concepto de programacin modular.
32
________________________________________________________________________________
33
________________________________________________________________________________
analizado en cada uno de los puntos que la conforman. Estos puntos corresponden a los
valores de los pxeles en la imagen. La Figura 5-1(a) muestra una de estas lneas cruzando el
rea de la placa. Al trazar una grfica, posicin vs. nivel de gris, se genera un pliegue
caracterstico, o una firma, en la regin que corresponde a la placa, ver Fig. 5-1(b). De
manera similar, la Figura 5-2(a) muestra una lnea fuera del rea de la placa, tambin podemos
observar su comportamiento en la grfica, ver Figura 5-2(b).
(a)
(b)
Figura 5-1. (a) Lnea transversal sobre la placa, (b) grfica del comportamiento de la lnea (Line Profile),
posicin del pxel vs. nivel de gris.
34
________________________________________________________________________________
(a)
(b)
Figura 5-2. (a) Lnea transversal fuera del rea de la placa, (b) grfica del comportamiento de la lnea (Line Profile),
posicin del pxel vs. nivel de gris.
35
________________________________________________________________________________
36
________________________________________________________________________________
Caracterstica
Descripcin
x1
x2
x3
x4
x5
x6
37
________________________________________________________________________________
Muestra
1.2.3.4.5.6.7.8.9.10.m:
v:
s:
x1
x2
x3
x4
x5
x6
30.00
30.00
30.00
30.00
30.00
30.00
30.00
30.00
30.00
30.00
30.00
0
0
5.40
5.00
4.3
5.00
4.00
5.50
3.70
6.00
6.20
5.60
5.07
0.70
0.84
0.70
0.90
0.90
0.90
0.90
1.00
0.90
0.90
0.90
1.00
0.900
0.006
0.080
0.47
0.60
0.70
0.70
0.70
0.70
0.70
0.80
0.70
0.80
0.687
0.009
0.094
2.73
3.00
3.00
3.00
3.00
3.10
3.00
3.10
3.00
3.10
3.003
0.011
0.106
15.00
15.00
15.00
15.00
15.00
15.00
15.00
15.00
15.00
15.00
15.00
0
0
Parmetro:
Nivel:
Fondo
Caracteres
Mnimo
Mximo
Mnimo
Mximo
120
188
36
76
Escala de gris:
Media:
Desv. estndar:
153
52
22.69
12
Tabla 5-7. Media para los niveles de gris de los pxeles del fondo de la placa y de los
caracteres [intervalo de 0-255].
38
________________________________________________________________________________
Figura 5-8. Muestreo de la placa a diferentes distancias. Perspectiva: lnea verde: trayectoria
ideal de la proporcin, lnea roja: proporcin obtenida de acuerdo a las mediciones. No hay
una proporcin lineal objeto-distancia.
39
________________________________________________________________________________
40
________________________________________________________________________________
dx
Distancia
x1
(cm)
(pxel)
Kx
x6
(pxel)
Ky
x2
(pxel)
d0
30
526.19 0.0570136 140.51 0.1067539 94.714
d1
40
420.00 0.0714285 110.34 0.1359434 75.600
d2
50
348.16 0.0861672 90.93 0.1649205 62.668
d3
60
298.12 0.1006306 77.91 0.1925298 53.660
d4
70
260.15 0.1153180 67.38 0.2226179 46.827
d5
80
228.61 0.1312278 59.04 0.2540650 41.150
d6
90
204.60 0.1466275 52.03 0.2882950 36.828
d7
100
187.54 0.1599658 50.17 0.2989830 33.757
d8
110
171.22 0.1752131 45.14 0.3322990 30.819
d9
120
157.20 0.1908396 39.05 0.3841229 28.296
d10
130
146.79 0.2043735 37.02 0.4051863 26.422
d11
140
137.45 0.2182611 34.89 0.4299226 24.741
d12
150
129.01 0.2325400 33.23 0.4513993 23.222
d13
160
121.87 0.2461639 30.78 0.4873294 21.936
d14
170
115.53 0.2596728 29.33 0.5114217 20.795
d15
180
108.56 0.2763448 29.40 0.5102040 19.540
d16
190
102.99 0.2912904 28.12 0.5334281 18.538
d17
200
97.27 0.3084198 27.66 0.5422993 17.508
Figura 5-10.Tabla de mediciones. La columna x1 corresponde a la
x3
(pxel)
x4
(pxel)
12.277 8.333
9.800 5.500
8.123 4.000
6.956 3.833
4.569 3.666
5.334 3.619
4.774 3.500
4.375 2.969
3.995 2.719
3.668 2.489
3.425 2.324
3.207 2.176
3.010 2.042
2.843 1.929
2.695 1.829
2.533 1.718
2.403 1.630
2.696 1.540
medida en pxeles
x5
(pxel)
48.000
37.800
31.334
26.830
23.413
20.575
18.414
16.878
15.410
14.148
13.211
12.370
11.611
10.970
10.400
9.8000
9.2700
8.8000
del
41
________________________________________________________________________________
Extraccin de caractersticas.
Clasificacin
Segmentacin y lectura
Estos mdulos estn interrelacionados ya que la informacin que generan y comparten
Extraccin de
caractersticas
Clasificacin.
Segmentacin
& Lectura
se est analizando. Si la lnea actual no atraviesa la placa, entonces define la siguiente. Este
42
________________________________________________________________________________
Resolucin en X
Resolucin en Y
Horizonte actual
Salida:
43
________________________________________________________________________________
Contrastes
Polaridad
Entradas:
Imagen
Parmetros de bsqueda:
o Contraste
o Filtro
o Paso
o Mtodo de bsqueda
o Exactitud de sub-pxel
44
________________________________________________________________________________
5.5.2 Clasificacin
Localiza Candidatos.vi
Este es el algoritmo de bsqueda de segmentos de lnea candidatos a contener la
1. Detectar y definir pares de bordes cuya distancia relativa se encuentre dentro del
parmetro x1 para cada distancia dx.
2. Buscar y discriminar, dentro de cada segmento x1 encontrado, pliegues con
caractersticas dadas por x3, x4, x5 y x6.
3. Filtrar segmentos de acuerdo al intervalo de niveles de gris preestablecidos.
Entradas:
45
________________________________________________________________________________
Salidas:
Vector de pares de bordes (borde inicio, borde fin) etiquetados como posibles
segmentos de la lnea de imagen que cruzan o cortan la nomenclatura de la placa.
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 pxeles) entre los bordes.
46
________________________________________________________________________________
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 ms bajo, y un valor 1 indica que el borde va hacia un
nivel de gris ms 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.
47
________________________________________________________________________________
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 estn en el rango de nivel de gris
48
________________________________________________________________________________
Nmero de ventana
Salidas:
49
________________________________________________________________________________
Figura 5-20 En esta seccin, el programa recibe el vector que contiene el par de bordes de
inicio y fin de la placa. El programa determina la posicin de los lmites de la placa
representados por la posicin de los bordes. Determina la distancia dx de acuerdo a su
posicin en el vector. El array Y representa el valor x2 definido para cada distancia dx. Las
coordenadas de la caja de lmites servirn para definir la porcin de imagen a extraer.
50
________________________________________________________________________________
Figura 5-21 En esta parte, el programa dibuja sobre la imagen el contorno de la caja de lmites
donde se presume localizarse la placa.
51
________________________________________________________________________________
Entradas:
Imagen fuente.
Imagen destino.
Ajuste de corte.
Nivel de disparo
Salidas:
52
________________________________________________________________________________
5-22 Recibe las coordenadas del rectngulo que circunscribe a la placa y extrae esa porcin de
imagen en una imagen nueva. Tambin checa si el rectngulo est vaco, de ser as, lo ignora.
5-23 Recibe la nueva imagen extrada y realiza un anlisis de la lnea de imagen [Line Profile]
para determinar los valores mximos y mnimos de niveles de gris.
53
________________________________________________________________________________
5-24 Al valor de gris mnimo obtenido se incrementa en cuarenta unidades (la distancia media
entre el nivel de fondo y el nivel de caracteres). El valor resultante de esta adicin se toma
como valor de intervalo mximo para realizar una segmentacin de imagen (Trheshold). A la
imagen segmentada se le aplica una erosin para eliminar las partculas sin inters. En este
punto la imagen resultante es una imagen binaria donde el fondo est dado por ceros y los
caracteres por unos.
La proyeccin de un objeto binario, la cual provee informacin de forma, es
determinada sumando todos sus pxeles a lo largo de columnas o renglones. Si se suman los
renglones se obtiene la proyeccin horizontal, si se suman las columnas se obtiene la
proyeccin vertical.[12] Se puede definir la proyeccin horizontal hi(r) como
1
hi(r) = i(r,c)
c=0
54
________________________________________________________________________________
N-1
vi(c) = i(r,c)
r =0
5-25 El objetivo de este bloque es construir una proyeccin horizontal de la imagen definida
por un vector de 1 x n, donde n est dada por la resolucin y (nmero de renglones) de la
imagen.
55
________________________________________________________________________________
5-27 Una vez definido el vector de proyeccin, se toma este para definir los puntos de
corte y de esa manera reducir la imagen de los caracteres al mnimo. Se contemplan dos
cortes: uno sobre la parte superior de los caracteres y otro en la parte inferior de estos.
5-28 Proyeccin horizontal de sub-imagen despus de los cortes superior e inferior. Esta
forma corresponde a los caracteres.
56
________________________________________________________________________________
PASO PROYECCIN
SUB-IMGENES
COMENTARIO
Parte de la imagen
original. La lnea
1.-
localiza
un
rea
potencial
contener la placa.
Extrae
2.-
el
rea
correspondiente a
la distancia dx.
La
porcin
de
imagen extrada es
binarizada: Fondo
3.-
= 0, objeto = 1. Se
calcula
la
proyeccin
horizontal.
La
imagen
es
reducida al mnimo
4.-
recortando
por
5.-
57
________________________________________________________________________________
5.30 En este ltimo paso, se recibe la imagen ya recortada al mximo y se realiza una
segmentacin (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
Imagen extrada
58
________________________________________________________________________________
Salidas:
Estado de error.
5.31 Cdigo OCR.vi Este bloque recibe la porcin de imagen extrada 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
interaccin entre cada uno de los mdulos.
59
________________________________________________________________________________
5.32 Este mdulo se encarga de coordinar e interconectar los mdulos que comprenden el
sistema. Como se puede observar, intervienen lazos de repeticin y de bifurcacin, como parte
del control.
60
________________________________________________________________________________
5.33 Cdigo Shot Control LPR.vi Este mdulo contiene la interfaz con el usuario, con el
dispositivo de captura de imagen y la lnea de control (nivel TTL).
61
________________________________________________________________________________
62
________________________________________________________________________________
Las ventanas resultantes de la aplicacin en curso, una con la leyenda original image
muestra la imagen muestreada y la otra Imagen Extrada muestra la porcin de imagen
correspondiente a los caracteres de la nomenclatura de la placa. El panel de control muestra el
estatus de la bsqueda.
63
________________________________________________________________________________
Ahora, el sistema LMA est listo para entregar una cadena de caracteres,
correspondiente a la nomenclatura de la placa, y ser utilizada para cualquier aplicacin que el
usuario determine.
6.3 Esquema. PC: Computadora personal. Sensor: Foto clula retroreflectiva. Digitalizador:
Tarjeta digitalizadora con salidas y entradas digitales. Actuador: Cualquier dispositivo de
salida.
64
________________________________________________________________________________
PIN
DESCRIPCIN
PIN DESCRIPCIN
1
2
3
4
5
6
7
8
9
10
11
12
13
TRIG0
TRIG1
TRIG2
TRIG3/FIELD
PCLK-/Unused
HSYNCIN-/ Unused
VSYNCIN-/ Unused
CSYNCIN-/ Unused
GND
VIDEOVIDEO2VIDEO1
VIDEO0-/GND
14
15
16
17
18
19
20
21
22
23
24
25
CSYNCOUT
GND
GND
PCLKIN
HSYN+
VSYN+
CSYN+
+5V
VIDEO3+
VIDEO2+
VIDEO1+
VIDEO0+
65
________________________________________________________________________________
7.- CONCLUSIONES
La tabla 7.1 muestra una serie de imgenes tomadas con el LMA. El sistema realiza
una bsqueda progresiva de abajo hacia arriba a lo largo de toda la imagen. Se muestran
tambin las salidas obtenidas. La columna SALIDA muestra la seccin de imagen
seleccionada y reconocida. La columna derecha exhibe el tiempo total de localizacin e
interpretacin. Estas pruebas permiten recomendar a el sistema LMA para una aplicacin
definida en control y monitoreo de trfico automovilstico. Los tiempos de bsqueda 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.
66
________________________________________________________________________________
MUESTRA DE ENTRADA
SALIDA
TIEMPO
(ms)
1.1035
2.1278
3.1210
4.846
5.-
795
6.2563
Tabla 7.1. Secuencias de bsqueda y reconocimiento de placas del LMA.
67
________________________________________________________________________________
8.- BIBLIOGRAFIA
68
________________________________________________________________________________
[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
69
________________________________________________________________________________