Documente Academic
Documente Profesional
Documente Cultură
4. Desarrollo
4.1 Adquisición
El sistema inicia su proceso con la adquisición de las imágenes en tiempo real usando
una cámara con entrada USB para poder recibir las imágenes en una computadora. El software
labview proporciona una facilidad para realizar una rápida interfaz con su módulo de NI-
IMAQdx en el cual se activa el dispositivo para poder recibir las imágenes en el programa.
43
4.2 Pre-procesamiento
4.2.1 Reducción
44
La imagen fuente es la que se obtiene de IMAQ Resample, el plano de color puede ser
rojo, verde o azul, pero en este proceso no tiene importancia de cual se elija, ya que solo el
color negro es el área de interés del sistema y con cualquiera de los planos a elegir será el
valor de intensidad del pixel será igual a cero. La imagen de salida será una de tamaño 2000 X
2000 pixeles y en escala de grises (ver figura 4.4).
4.2.3 Umbralización
(4.1)
45
Figura 4.5 IMAQ Treshold
El valor que se pide es 255 porque indica el color blanco y el rango será de 71 a 255
porque son los valores mayores del umbral que se determinó anteriormente, es decir, el VI
convierte toda la imagen en valor 0 excluyendo el umbral establecido. La imagen fuente es la
imagen de salida de IMAQ Resample. Después de aplicar la umbralización se obtiene una
imagen binaria de 2000 X 2000 pixeles (ver figura 4.6), en la que se resalta el código de la
placa por su color negro, con esto se termina la etapa de pre-procesamiento.
4.3 Segmentación
El objetivo de esta etapa es extraer el código de la placa del fondo de la imagen para su
posterior uso al basarse en el principio fundamental de la discontinuidad, es decir, detectando
los bordes del código para definir donde se encuentra, sin embargo la imagen que se recibe de
IMAQ Treshold tiene ruido e imperfecciones como se muestra en la figura 4.7, por lo que se
tiene que mejorar la calidad de la imagen, de lo contrario, al momento de realizarse la
detección de bordes, el ruido puede generar un falso borde y provocar que se obtengan
coordenadas erróneas de la localización del código de la placa dentro de la imagen. Para evitar
46
estos inconvenientes es necesario aplicar morfología matemática antes de aplicar el proceso de
detección de bordes.
Figura 4.7 a) Los cuadrados indican ruido y b) los círculos indican huecos dentro del caracter
4.3.1 Morfología
(4.2)
El VI que permite aplicar la ecuación 4.2 es IMAQ inverse (ver figura 4.8) donde la
imagen fuente es la que se recibe de IMAQ Treshold y la imagen de salida es binaria con los
valores invertidos como se aprecia en la figura 4.9.
47
Figura 4.9 Imagen binaria invertida
Ahora se procede a eliminar los puntos blancos dentro del fondo negro con el proceso de
erosión al aplicar la ecuación 3.12 y con un elemento estructural cuadrado de conectividad con
ocho vecinos (ver figura 3.6b), ya que es el tipo de erosión más común. El VI que te permite
aplicar este proceso morfológico es IMAQ remove particle que se muestra en la figura 4.10.
Los valores que se insertaron es un false en conectividad para que sea de ocho, un true
en la forma para que sea cuadrado, la imagen fuente es la que se recibe de IMAQ inverse y el
número de iteraciones es de 20, ya que entre más grande sea el número, será más efectivo pero
también aumenta el tiempo de procesamiento, por lo que se tiene que tener en consideración
esos dos factores. La imagen resultante es una imagen binaria inversa libre de ruido (ver figura
4.11).
48
Figura 4.11 Imagen binaria invertida al aplicar erosión.
Se invierte la imagen otra vez para que se regrese a su estado original y se erosiona de
nuevo para corregir las imperfecciones dentro del código, para terminar con una imagen sin
ruido y lista para encontrar los bordes que se observan en la figura 4.12.
El objetivo es obtener la fila del código de la placa para proceder con el reconocimiento
de los caracteres. El sistema determina el punto promedio donde se concentra los pixeles de
valor cero, ya que después del proceso de umbralización y de morfología, se considera que
donde va a estar concentrada la proporción de los pixeles será en la ubicación del código de la
placa.
Al tener el máximo y mínimo valor de Y, se usan estos dos valores en los límites de las
rectas verticales como valores constantes. El proceso para determinar el mínimo valor de X o
límite izquierdo consiste en una serie de rectas verticales, donde los extremos de la recta son el
máximo y mínimo valor de y se disminuye el valor en el eje X en múltiplo de diez, es decir, se
recorre la recta hacia la izquierda. Cuando no se detecte ningún borde el valor del eje X de la
recta será el límite derecho del código de la placa. El proceso es el mismo para determinar el
límite derecho, se aumenta el valor del eje X en múltiplo de diez, es decir, se recorre las rectas
hacia la derecha hasta no detectar ningún borde para determinar el límite derecho del código
de la placa.
50
morfológico para eliminar el ruido de la imagen. Las coordenadas de los pixeles son los
puntos de los extremos de la recta donde un valor de un eje se mantiene constante y el otro
variable para realizar la secuencia de trazado. El proceso pueden ser tres diferentes: obtener el
primer borde que encuentre la recta, el primer y el último, o todos los bordes. En el caso este
sistema se busca todos los ejes. Los datos de salida de la herramienta son el número de bordes
que encuentra y las coordenadas de los puntos.
La imagen de salida será una imagen en la que solo se observa el código de la placa, la
cual se muestra en la figura 4.16, para su posterior reconocimiento de patrones.
51
Figura 4.16 Imagen segmentada.
52
Cuando se tiene la imagen del carácter (mostrado en la figura 4.18 se modifica el tamaño
con IMAQ resample al que corresponda con la imagen que se va a comparar y después se
aplica la función de correlación para una letra o número, si la función determina que no son
iguales el sistema aplica otra modificación de tamaño y comparación con otro carácter, esto se
realiza consecutivamente hasta que el sistema determina que las comparación entra en el
intervalo de aceptación para considerarse similar, por lo que se envía un valor de cadena que
se va a ir almacenando. Este proceso se realiza consecutivamente hasta que el código de la
placa no tiene caracteres que se pueda segmentar, por lo que el sistema envía el resultado de la
cadena y lo compara a la base de datos para determinar si el vehículo es aceptable o no para el
acceso vehicular.
53
En IMAQ find pattern 2 se aplica la función de correlación para determinar si una
imagen match se encuentra dentro de la imagen que se obtiene de la segmentacion de
caracteres, una característica de esta acción es de que las imágenes deben ser del mismo
tamaño para disminuir el margen de error. La imagen match es la que se obtiene de IMAQ
learn pattern 2, la imagen es la que se recibe de la segmentacion de caracteres, el marco es
una serie de características en las que se determina el tipo de búsqueda de realizar como el
parámetro de tolerancia de exactitud en la comparación de patrones en la que puede ser
conveniente bajar su valor cuando el pre-procesamiento es deficiente o aumentar su valor
cuando es lo contrario. Los matches son las características de la comparación satisfactoria y el
número de match te indica el número de veces que se encontró el carácter, aunque lógicamente
debería ser solo una vez.
Cuando el código corresponde a uno de la base de datos, se manda una señal lógica en la
que un actuador, en este caso una aguja de metal, se active para permitir el acceso vehicular.
La comunicación de procesador a actuador, se realiza con el DAQ assistant 2 (ver figura 4.19)
la cual traduce la información que se proporciona desde la computadora a un medio físico en
términos de voltaje analógico.
El sistema se diseñó para demostrar que es capaz de poder localizar el código de la placa
y reconocer sus caracteres por lo que sus pruebas iniciales son en condiciones ideales a 40
centímetros de distancia, con una luminosidad estándar proporcionada por una lámpara y con
ningún tipo de inclinación. Para efecto de estudio y determinar el alcance del sistema se
realizan pruebas con las que se encuentran errores.
54
4.5.1 Diversidad
4.5.2 Inclinación
La inclinación es un factor muy relevante debido a que es muy común que los
automóviles ingresen al estacionamiento en forma de diagonal por lo que se deben hacer
distintas pruebas de inclinación hacia los laterales y hacia arriba, para determinar si el sistema
tolera esas perturbaciones alejadas de su entorno ideal.
55
Figura 4.21 Inclinación lateral: a) 40 grados y b) 45 grados
56
que elimina los guiones y distorsiona el resultado. Una mayor inclinación provocaría un mayor
margen de error debido a que también aumentaría la incidencia de la luz solar en la placa, por
lo tanto provoca fallas como se menciona más adelante.
4.5.3 Distancia
57
tolerar el sistema es proporcional a la cantidad de la resolución que ofrece la cámara, ya que
con una mayor resolución, la forma de los pixeles no sufre una distorsión significativa.
4.5.4 Suciedad
Por otra parte en la figura 4.25b se muestra una suciedad en mayor cantidad que tiene un
resultado más negativo debido a que la suciedad cubre el color negro de los caracteres en la
placa por lo que en el proceso de umbralización o binarización no lo considera como color
negro y lo convierte en blanco teniendo como resultado un código distorsionado que el sistema
no puede reconocer.
58
Figura 4.25 Suciedad en cantidad: a) menor y b) mayor.
4.5.5 Luz
La luz es un factor que influye mucho en el sistema debido a que puede mejorar o
distorsionar el resultado del reconocimiento de patrones. Es importante realizar estos estudios
debido a que se debe determinar si el programa será funcional a plena luz del día y en la noche
al usar una lámpara integrada al sistema. En la figura 4.26 se presenta un caso en que la placa
está a oscuras y el sistema tiene una lámpara de luz blanca que no genera mucho sombreado y
tiene resultados satisfactorios debido a que no se pierde el valor dentro de la umbralización.
Esto significa que con estudios más específicos sobre la luz blanca el sistema es viable aunque
sea de noche
59
El problema que presenta la iluminación es cuando se intensifica en un carácter como es
el caso que muestra la figura 4.27. La luz blanca se concentra en los caracteres del centro del
código por lo que en el proceso de umbralización el sistema considera que el color en esa área
es blanco por lo que elimina esos caracteres en la etapa de pre-procesamiento teniendo un
resultado erróneo en el reconocimiento.
60
En la figura 4.28 se mostró los problemas que causa una sombra intensificada pero
cuando es de forma clara como se observa en 4.29 se demuestra que el sistema no necesita una
gran cantidad de luz para poder funcionar ni que cualquier tipo de sombra puede causar
distorsiones en la etapa de umbralización.
61