3.- Métodos desarrollados. -...
Transcript of 3.- Métodos desarrollados. -...
Análisis de Haces de Cruce mediante Tratamiento Digital de Imágenes Página 1
3.- Métodos desarrollados.
En la aplicación que estamos desarrollando tenemos que analizar, mediante tratamiento
digital de imágenes, los haces de cruce proyectados sobre una pantalla blanca. Es decir, se
toman fotos de la proyección del haz sobre la pantalla para su posterior análisis. Es importante
destacar la diferencia de este método respecto a la medida reglamentaria, en la que la célula
fotoeléctrica recibe la luz directamente desde la fuente, no proyectada en ninguna pantalla.
3.0.- Pre-tratamiento de las imágenes
Lo primero que tenemos que hacer tras capturar la imagen, es prepararla para nuestro análisis.
Fundamentalmente el objetivo en este caso es quedarnos sólo con la región que nos interesa y
descartar el resto, ya que todo lo que no nos sirve lo único que hará será ralentizar los cálculos
y meter ruido pudiendo afectar a los resultados. Por ejemplo, en la figura 11 se muestra una
imagen tomada de un cruce, en la que se indica la región de interés:
Fig. 11: Región de interés de un haz de cruce.
Como se ve, hay muchas zonas de la imagen que deberían eliminarse para agilizar cálculos y
para poder tratar la imagen adecuadamente. Incluso las áreas iluminadas por el haz, a la
derecha y a la izquierda, no son interesantes pues estarían fuera del campo que marca la
Análisis de Haces de Cruce mediante Tratamiento Digital de Imágenes Página 2
reglamentación, porque estas áreas iluminan zonas están fuera de los límites de la carretera
cuando se proyectan en un coche.
Como las imágenes están rodeadas de zonas oscuras no iluminadas, aislar la región de interés
del resto es sencillo. En nuestro caso, nos hemos ayudado de la función ‘histc’, que devuelve el
número de elementos de una fila o columna que están comprendidos en un rango de valores
de intensidad determinados. Descartaremos todas las filas y columnas que no tengan un
número mínimo de píxeles con una intensidad mínima. Hemos utilizado expresiones del tipo:
if histc(Anorm(xini,:,1),0.2:0.1:1)<10 then …
Es decir, que si el número de píxeles en la fila xini con intensidad superior a 0.2, es menor a 10,
entonces esa fila la descartaremos.
3.1.- Colorimetría del Haz de Cruce
Como se ha comentado anteriormente, el color del haz de cruce de un faro de automóvil tiene
que estar acotado entre unos límites, de forma que no tienda excesivamente al rojo o al
amarillo, pero tampoco a cualquier otro color.
Según la reglamentación, el color se debe medir con unas células fotoeléctricas especiales
calibradas, situadas a 10m de distancia de la fuente de luz. La célula recibe directamente la luz
de la fuente, y caracteriza el color. Si nos fijamos, cuando estamos conduciendo realmente es
así como percibimos el color de las luces de los coches a nuestro alrededor, es decir mirando
directamente a la fuente de luz.
Fig. 12: Esquema básico de funcionamiento de un colorímetro.
Sin embargo, en nuestro caso queremos caracterizar el color de un haz de cruce a partir de una
imagen tomada de la proyección de la fuente de luz en una pantalla. Es decir, no medimos
mirando hacia la fuente de luz, sino mirando a su proyección en una pantalla. Además, en
nuestro caso interviene una cámara que obtiene una imagen y la almacena en un formato
determinado, y nuestro análisis se hará a partir de esa imagen. Por eso, para caracterizar
Análisis de Haces de Cruce mediante Tratamiento Digital de Imágenes Página 3
convenientemente el color, lo primero es elegir las condiciones de medida necesarias así como
un espacio de color adecuado.
Un modelo o espacio de color es una fórmula matemática abstracta que describe cómo se
representan los colores. El objetivo de un modelo de color es facilitar la especificación de los
colores de una forma normalizada y aceptada genéricamente. En esencia, un modelo de color
es la especificación de un sistema de coordenadas tridimensional, y de un subespacio de este
sistema en el que cada color quede representado por un único punto.
La CIE (Comisión Internacional de la Iluminación) es la autoridad internacional en cuestiones de
luz, iluminación, color, y espacios de color. La CIE estableció en los años 30 una serie de
normas para los diferentes espacios de color que representan el espectro visible. Gracias a
estas normas, podemos hacer comparaciones entre los diversos espacios de color de los
visores y dispositivos.
Dentro de todos los espacios de color existentes, nos centraremos especialmente en dos, por
sus características y por los medios de captura utilizados: El espacio RGB y el XYZ.
3.1.1.- Espacio de Color RGB
El Espacio de color RGB, es un modelo basado en la síntesis aditiva, con el que es posible
representar un color mediante la mezcla por adición de los tres colores luz primarios Rojo
(Red), Verde (Green) y Azul (Blue). Cada color estará entonces representado por la adición o
mezcla de los colores primarios en distintas proporciones. Dependiendo de la proporción de
cada color primario, obtendremos unos colores u otros.
Figura 13: Modelo de síntesis aditiva
Para indicar con qué proporción mezclamos los colores, se asigna un rango de valores que
suele ser de 0 a 255, por lo que cada color estaría representado por un byte.
Para los tres colores primarios, el rojo, el verde y el azul, uno de los tres canales está en su
valor máximo y los otros dos a cero:
• Rojo (255, 0, 0)
• Verde (0, 255, 0)
• Azul (0, 0, 255)
Análisis de Haces de Cruce mediante Tratamiento Digital de Imágenes Página 4
Cuando los tres colores primarios se mezclan en la misma proporción, obtenemos el gris, que
será tendente al blanco si los valores están próximos al máximo de intensidad, o al negro si los
valores se acercan a cero.
Por todo lo anterior, el conjunto de todos los colores se suele representar en un cubo, donde
cada color es un punto en la superficie o interior de este cubo. La escala de grises se presenta
en la diagonal blanco-negro, como se ilustra en la figura 14:
Fig. 14: Esquemas representativos del espacio de color RGB.
Por tanto, podemos decir que una imagen RGB está representada por la superposición de tres
matrices, una para los valores del Rojo (R), otra para los valores del Verde (G) y otra para el
Azul (B). Dicho de otra forma, para una imagen RGB tenemos una matriz tridimensional en el
que cada pixel de la imagen, está representado por la combinación de los valores de los tres
coeficientes almacenados en cada capa de la matriz tridimensional.
La principal característica de este espacio de color es que es dependiente del dispositivo. Es
decir, que unos mismos valores de los colores primarios pueden dar lugar a colores diferentes
en diferentes dispositivos.
El motivo por el que nos fijamos en este espacio de color es porque el dispositivo de captura
que utilizaremos estará basado en él. En realidad las imágenes serán capturadas por la cámara
digital almacenándola en un archivo de acuerdo a un subespacio de color, llamado sRGB ,
derivado del RGB. A partir de la imagen, tendremos que ser capaces de analizar el color de
forma que los resultados de correlen en cierta medida con los obtenidos con el método
Análisis de Haces de Cruce mediante Tratamiento Digital de Imágenes Página 5
reglamentario a partir de células fotoeléctricas. En el apartado 3.1.1.2 se comentan las
particularidades del subespacio de color sRGB.
3.1.1.2.- Espacio de Color sRGB (standard RGB)
La mayoría de las cámaras digitales están basadas en este espacio de color. Fue creado en
cooperación por Hewlett-Packard y Microsoft Corporation hacia 1996, en un intento de
estandarizar la gestión del color en los sistemas operativos y su representación en los
periféricos y a través de Internet. Como hemos dicho, los espacios de color RGB son
dependientes del dispositivo, por eso la idea fue crear un estándar RGB compatible y que diera
una calidad suficiente minimizando la carga de cómputo y de transmisión de los colores
independientemente del fabricante de los dispositivos, evitando en ese caso perder tiempo en
conversiones entre espacios de color. Está basado en el espacio de color calibrado RGB de los
monitores CRT (tubos catódicos).
La gama de colores que es capaz de representar (denominado gamut) está algo limitado, por
eso las cámaras profesionales permiten optar por otro espacio de color que permite un gamut
más amplio como es el Adobe RGB, creado en el año 1998. Para nuestra aplicación no obstante
todas las imágenes serán tomadas en el subespacio sRGB.
3.1.2.- Espacio de Color XYZ
La CIE desarrolló el sistema de color XYZ o estándar. El espacio de color CIE 1931, es el nombre
de uno de los primeros espacios de color definidos matemáticamente. Fue establecido en
1931, por la Comission Internacionale de l´Eclairage (CIE), basándose en una serie de
experimentos realizados a finales de los años 1920; sus resultados experimentales fueron
incluidos en la especificación CIE RGB, del cual se derivó la especificación de 1931. Con él se
definieron con precisión los tres colores primarios de la síntesis aditiva de color, a partir de los
cuales pueden crearse todos los demás. En la actualidad, este sistema se sigue usando como
referencia para definir los colores que percibe el ojo humano y otros espacios de color.
Mientras el modelo RGB se basa en colores primarios aditivos, por el contrario, el CIE-XYZ se
basa en tres primarios imaginarios con caracterización espectral (X, Y, y Z), que son los que
representan el color (ondas electromagnéticas). Estos se combinan para formar todos los
colores visibles. En este modelo, Y significa luminosidad; Z es aproximadamente igual al
estímulo de azul, y X es una mezcla tendiente a la curva de sensibilidad del rojo.
En este caso, una imagen representada en este espacio de color estará formada de nuevo por
tres matrices bidimensionales, o una tridimensional, en la que una capa almacena los valores
de la X, Y y Z. Y de estas tres matrices, nos fijaremos especialmente en la matriz Y, ya que como
hemos comentado representa la luminosidad o iluminancia de la imagen representada, que es
precisamente la característica de la imagen más importante para nosotros de cara a su
caracterización.
Análisis de Haces de Cruce mediante Tratamiento Digital de Imágenes
Para representar de forma eficaz la figura tridimensional en un gráfico bidimensional, la CIE
transformó el espacio tridimensional del color en dos dimensiones artificiales de color o
cromaticidad, y una de intensidad
a través de dos parámetros derivados
Las coordenadas de cromaticidad x e y, unidas
xyY. De esta forma, x y y son coordenadas de proyección, y los colores del diagrama de
cromaticidad forman parte de una región del plano de proyección.
diagrama de cromaticidad CIE x
Fig. 15: Diagrama de cromaticidad xyY, basado en el espacio de color XYZ
Nos fijamos en este espacio de color por varios motivos. El primero es que este espacio de
color no es dependiente del dispositivo de representación o de captura. El segundo es
componente Y refleja la iluminancia que incide en una superficie determinada
precisamente lo que nosotros tendremos en nuestro sistema
Análisis de Haces de Cruce mediante Tratamiento Digital de Imágenes
Para representar de forma eficaz la figura tridimensional en un gráfico bidimensional, la CIE
transformó el espacio tridimensional del color en dos dimensiones artificiales de color o
cromaticidad, y una de intensidad o brillo. La cromaticidad de un color se determina por tanto
a través de dos parámetros derivados x e y, dos de los tres valores normalizados X, Y y Z:
� � �� � � � �
� � �� � � � �
� � �� � � � � � 1 � �
Las coordenadas de cromaticidad x e y, unidas al brillo o intensidad Y conforman el espacio CIE
son coordenadas de proyección, y los colores del diagrama de
cromaticidad forman parte de una región del plano de proyección. En la figura
diagrama de cromaticidad CIE xyY:
Fig. 15: Diagrama de cromaticidad xyY, basado en el espacio de color XYZ
Nos fijamos en este espacio de color por varios motivos. El primero es que este espacio de
color no es dependiente del dispositivo de representación o de captura. El segundo es
componente Y refleja la iluminancia que incide en una superficie determinada
precisamente lo que nosotros tendremos en nuestro sistema. Por último, las especificaciones
Página 6
Para representar de forma eficaz la figura tridimensional en un gráfico bidimensional, la CIE
transformó el espacio tridimensional del color en dos dimensiones artificiales de color o
La cromaticidad de un color se determina por tanto
, dos de los tres valores normalizados X, Y y Z:
conforman el espacio CIE
son coordenadas de proyección, y los colores del diagrama de
En la figura 15 se muestra el
Fig. 15: Diagrama de cromaticidad xyY, basado en el espacio de color XYZ
Nos fijamos en este espacio de color por varios motivos. El primero es que este espacio de
color no es dependiente del dispositivo de representación o de captura. El segundo es que la
componente Y refleja la iluminancia que incide en una superficie determinada, que es
Por último, las especificaciones
Análisis de Haces de Cruce mediante Tratamiento Digital de Imágenes Página 7
de los clientes para el color del haz de cruce de los faros, vienen siempre representadas en el
diagrama CIE xyY.
En la figura 16 pueden verse en blanco los límites típicos de color permitidos para un haz de
cruce según el diagrama CIELab:
Fig. 16: Diagrama de cromaticidad xyY con límites de color permitidos por la reglamentación.
Por tanto, el primer paso es transformar nuestra imagen al espacio de color XYZ, ya que nos
servirá en los siguientes pasos de nuestro análisis, y con estas componentes podemos obtener
las coordenadas en el diagrama CIELab.
3.2.- Transformación entre Espacios de Color
Una vez descritos los espacios de color de interés en nuestro trabajo, tenemos que buscar la
forma de transformar la imagen que obtenemos de la cámara digital, en el espacio de color
sRGB, al espacio de color XYZ que es el que utilizaremos para todos los análisis posteriores.
Como se acaba de comentar, el valor de la Y representa la iluminancia de la imagen. Por eso
nos fijaremos especialmente en esta matriz.
Análisis de Haces de Cruce mediante Tratamiento Digital de Imágenes Página 8
Podemos obtener las matrices XYZ a través de las sRGB mediante una transformación lineal.
Pero la matriz de transformación entre coordenadas depende de algunos factores. Quizá el
más importante es el iluminante a utilizar.
Un iluminante estándar es una fuente de luz teórica con una distribución espectral de
potencia específica. Dependiendo de la fuente de luz, tenemos una distribución energética en
función de la longitud de onda. Esto es importante de cara a la percepción de los colores, por
eso es necesario escoger el iluminante adecuado a la hora de hacer algunos cálculos relativos a
la colorimetría. Hay una serie de iluminantes estándares definidos, en función del tipo de
fuente de luz al que intentan describir.
Los iluminantes más conocidos son los de la serie D, que intentan representar la distribución
de la luz de día. Dentro de la serie D, tenemos varios iluminantes en función de la temperatura
de color de la fuente que se quiere describir. Por ejemplo el iluminante D65, intenta
representar las condiciones medias de iluminación en un mediodía en Europa Occidental.
Su temperatura de color media es de 6.504 Kelvin. Cualquier fuente luminosa cuya curva de
distribución espectral se corresponda suficientemente con los datos de D65 se denomina una
fuente D65, y la luz que emite se homologa como D65.
En nuestro caso concreto, asumimos que las imágenes de los haces de cruce proyectados en la
pantalla se tomarán en un entorno de oscuridad, sin otra fuente de luz que no sea el propio
faro, para no alterar ni los valores, ni la distribución ni el color del haz de cruce. Por tanto la
única fuente de luz que interviene en las imágenes es la del faro que estamos midiendo y el
iluminante a considerar deberá tener esto en cuenta.
Ahora bien, los faros actuales suelen tener distintas fuentes de iluminación, a saber lámparas
Halógenas, lámparas Xenón y Diodos LED. Como es obvio, cada una de estas funciones tendrá
una distribución diferente a las otras, por lo que quedará definida por un iluminante concreto.
Para este estudio nos centraremos en los haces de cruce proyectados por lámparas halógenas,
pero por supuesto los resultados serían aplicables a otras fuentes, siempre que se considere el
iluminante más adecuado. Teniendo en nuestra fuente de luz halógena, el iluminante más
adecuado para nuestros cálculos es el A:
Este iluminante fue definido en 1931, y es un intento de describir la iluminación de una típica
bombilla de filamento incandescente. Su temperatura de color media es de 2.856 Kelvin.
Cualquier fuente luminosa cuya curva de distribución espectral se corresponda
suficientemente con los datos del iluminante CIE A se considera una fuente A, y la luz que
emite se homologa como A.
La distribución espectral energética del iluminante A se muestra en la figura 17:
Análisis de Haces de Cruce mediante Tratamiento Digital de Imágenes Página 9
Fig. 17: Distribución espectral energética del Iluminante A.
Según el método aplicado por G. Hoffmann [5], y considerando que el iluminante más
adecuado en nuestro caso es el A, tenemos que la matriz de transformación para pasar del
espacio sRGB al espacio XYZ es la siguiente:
����� � �0.7518 0.2766 0.07010.2715 0.7247 0.00370.0000 0.0089 0.3469� ∙ �����
Veamos en la figura 18 un ejemplo concreto de una imagen capturada por una cámara digital,
junto a las tres componentes XYZ obtenidas a partir de la matriz de transformación anterior:
Fig. 18: Imagen de un haz de cruce e imágenes asociadas X, Y, y Z
Análisis de Haces de Cruce mediante Tratamiento Digital de Imágenes Página 10
3.3.- Ángulos del Haz de cruce
Como ya se ha explicado, se pretende conocer los ángulos respecto a la horizontal que
determinan el límite de claroscuro del haz de cruce, ya que unos ángulos fuera de los límites
permitidos, hacen que el sistema de iluminación no sea apto. Para el control de estos ángulos,
se podrían plantear diversas alternativas basadas en algoritmos de detección de bordes, y
luego calcular las pendientes de esos bordes. Sin embargo, en este caso se ha planteado la
utilización de bancos de filtros de Gabor.
Los filtros de Gabor nacen como una aplicación específica del análisis de señales con
wavelets. Los filtros de Gabor pueden servir como excelentes filtros paso de banda para
señales unidimensionales (por ejemplo: señales de voz), pero también tienen numerosas
aplicaciones en señales de dos dimensiones, como por ejemplo para el análisis de texturas en
imágenes.
Un filtro Gabor puede definirse como una sinusoidal plana (con una frecuencia y
orientación determinadas) modulada por una señal envolvente Gaussiana.
En la figura 19 se ilustra el concepto para el caso unidimensional
Fig. 19: La señal (c) surge del producto de una señal senoidal (a) con una envolvente gaussiana (b).
Análisis de Haces de Cruce mediante Tratamiento Digital de Imágenes Página 11
En el caso bidimensional:
( , ) ( , ) ( , )h x y s x y g x y= (1)
Donde ( , )s x y es una sinusoidal compleja, conocida como portadora, definida como
0 02 ( )( , ) j u x v ys x y e π− += (2)
Y ( , )g x y es una Gaussiana bidimensional, conocida como envolvente,
2 2
2 2
1( )
21( , )
2x y
x y
g x y e σ σ
πσ
− +
= (3)
Por tanto, un filtro de Gabor se podría expresar como:
2 2
2 20 0
1( )
2 2 ( )( , ) x y
x y
j u x v yh x y e eσ σ π− +
− += (4)
El caso bidimensional podría representarse como en la figura 20:
Fig. 20: Señal portadora sinusoidal real y la misma señal bajo la envolvente Gaussiana.
Si pasamos al dominio de la frecuencia, la convolución de ambas señales resultaría,
aplicando el teorema del mismo nombre, en:
2 20 0
2 2 2 2 2 2 20 0
( ) ( )12 ( ) ( ) 21
( , ) 22
x y u v
u u v vu u v v
x yu v
H u v e eπ σ σ σ σπσ σ
πσ σ
− −− + − − + − = =
(5)
Donde,
Análisis de Haces de Cruce mediante Tratamiento Digital de Imágenes Página 12
1
2ux
σπσ
= (9)
1
2vy
σπσ
= (6)
Es decir, como se esperaba, en el dominio de la frecuencia un filtro de Gabor equivale
a desplazar la envolvente Gaussiana a 0 0( , )u v , es decir a una distancia de 2 20 0u v+ desde el
origen, y con una orientación de 1 0
0
tanu
v−
.
En las anteriores ecuaciones, 0 0( , )u v se refieren a la frecuencia central espacial del
filtro de Gabor. Los parámetros ,x yσ σ son las desviaciones estándar de la envolvente
Gaussiana a lo largo de las direcciones X e Y, y determinan el ancho del banda del filtro.
Resumiendo, hemos visto que en el dominio del tiempo una Wavelet de Gabor es el
resultado de modular una señal senoidal con una envolvente gaussiana. En el dominio de la
frecuencia, por las propiedades de la transformada de Fourier, esta señal equivale a la
envolvente gaussiana desplazada a la frecuencia central de la señal senoidal. Es decir, estamos
ante un filtro paso de banda.
Si extendemos este concepto a dos dimensiones, tenemos otra propiedad de la
wavelet de Gabor, que es el ángulo de orientación. Por tanto, si ahora pasáramos una señal
bidimensional por un filtro de este tipo, estaríamos filtrando dicha señal por partida doble, un
filtrado en frecuencia y otro según la orientación. Este concepto aplicado a una imagen digital,
no sólo filtrará dicha imagen según las frecuencias encontradas, usualmente asociadas a
contornos, sino que además filtrará esos contornos según su inclinación.
De esta manera, si creamos un banco de filtros en el que la orientación de cada uno de ellos
difiere un grado del anterior y del posterior, podríamos detectar las dos líneas de los haces de
cruce (Horizontal y Rotación), con una precisión de 1º.
Veamos un ejemplo:
Si creamos un banco de filtro con tamaño de ventana 32x32, con orientaciones que van desde
los 0º a los 5º, y de los 16º a los 20º (figs. 21 y 22):
Análisis de Haces de Cruce mediante Tratamiento Digital de Imágenes Página 13
Fig. 21: Filtro de tipo Gabor, con inclinación de 0º
Fig. 22: Banco de Filtros de Gabor
Y ahora pasamos la imagen del cruce por el banco de filtros (fig. 23):
Análisis de Haces de Cruce mediante Tratamiento Digital de Imágenes Página 14
Fig. 23: Haz de cruce típico
Representamos el resultado de pasar por el primer filtro, el que tiene ángulo 0º (fig. 24):
Fig. 24: Salida obtenida al pasar la imagen original Y por uno de los filtros del banco, en concreto por el
de 0º de rotación.
Tras analizar los resultados de todo el banco de filtros y quedarnos con las inclinaciones para
los que la salida del filtro es máxima, obtenemos el siguiente vector (fig. 25), en el que se
indica la inclinación de cada punto de la línea de claroscuro hallado:
Análisis de Haces de Cruce mediante Tratamiento Digital de Imágenes Página 15
Fig. 25: En el eje y se observa la inclinación en grados máxima para cada punto del corte de luz
Dicho de otra forma, obtenemos para cada pixel de la línea de claroscuro el valor del ángulo
para el que la salida del filtro tiene el valor máximo.
En la figura 25 se puede observar que en la zona de la horizontal, los valores obtenidos son
mayoritariamente de 1º, mientras que en la zona de la rotación tenemos valores que van
desde los 12º hasta los 15º.
Con este vector, podremos calcular la línea de la horizontal y la de la rotación, y por tanto
obtener el ángulo de cada una de ellas.
Fig. 26: En Línea de cruce detectada cogiendo los puntos en los que la salida del banco de filtros es
máxima
3.3.1.- Otras consideraciones
El principal problema al que nos enfrentamos al utilizar un banco de filtros es el coste
computacional. Pasar una imagen por un filtro de Gabor de un tamaño medio, tiene ya de por
sí una carga apreciable. Si este proceso debe repetirse de forma recursiva, con orientaciones
que van de los cero grados hasta los veinte, que es el rango en el que nos tendremos que
Análisis de Haces de Cruce mediante Tratamiento Digital de Imágenes Página 16
mover, el coste computacional sería demasiado alto para una aplicación que hipotéticamente
debería funcionar en tiempo real, a cadencias de más de 100 piezas por hora.
Por ejemplo, supongamos una imagen de un haz de cruce con un tamaño de 379x1025 pixeles,
y queremos utilizar un banco de filtros adecuado para este tipo de análisis, con las siguientes
características:
- Tamaño de la ventana de filtrado: 121x121 pixeles (fig. 27).
Fig. 27: Ejemplo de Filtro de Gabor
- Número de orientaciones del banco de filtros: 20.
- Número de frecuencias del banco de filtros: 2.
Entonces, utilizando los comandos de MATLAB ‘tic;’ y ‘toc;’ obtenemos que el tiempo total de
cálculo rondaría los 100 segundos.
Obviamente, este tiempo de cálculo no es factible para un tipo de aplicación en tiempo real
como el que pretendemos diseñar. Sí podría ser admisible para análisis de piezas individuales,
en un banco de laboratorio, pero no para una producción serie.
Este primer problema para el uso de los filtros de Gabor, hacía necesaria plantear alternativas
para reducir al máximo el tiempo de proceso. Sin embargo, cualquiera de estas alternativas
traería como consecuencia una pérdida en la* precisión de las medidas y de los resultados.
Habrá que llegar por tanto a un equilibrio razonable entre un tiempo de cálculo admisible y
una precisión mínima que asegure unos resultados fiables.
Por tanto, en una primera aproximación, las alternativas que permitirían una reducción del
tiempo de proceso del filtrado podrían ser:
1) Limitar el tamaño máximo de las imágenes a analizar: Obviamente, un menor
tamaño de la imagen resta precisión a los resultados, y además los filtros del banco
deberán ser diseñados en consecuencia.
Veamos algunos ejemplos a partir de la imagen inicial de 379x1025 pixeles
considerada anteriormente:
½ del tamaño original (190x513): 33 segundos aproximadamente.
Análisis de Haces de Cruce mediante Tratamiento Digital de Imágenes Página 17
¼ del tamaño original (95x257): 10 segundos aproximadamente.
Como vemos, el tiempo de cálculo se reduce considerablemente. Sin embargo,
habrá que ver si esta reducción del tamaño de la imagen no perjudica
excesivamente a la precisión de los resultados del análisis.
2) Limitar el tamaño de la ventana de los filtros de Gabor: En este caso tenemos la
limitación del ancho de banda del filtro.
Este ancho de banda tendrá que diseñarse en función de la señal a analizar. Es
decir, en función del ancho de la respuesta en frecuencia de la imagen a analizar,
que a su vez dependerá de la anchura del límite de claroscuro, que es el área de
interés para este algoritmo. Por tanto se podría reducir el tamaño de la ventana de
filtrado pero con la limitación del ancho de banda de la envolvente gaussiana en el
dominio espacial (siendo al mismo tiempo el ancho de banda en el dominio
frecuencial). Si utilizamos una ventana de 32x32 píxeles, tenemos:
32x32: 5,5 segundos aproximadamente.
3) Reducir el número de filtros por los que pasar la imagen, eliminando algunos
ángulos que de antemano se supone no aparecerán en las imágenes. Por ejemplo,
si la horizontal no está en el rango de 0º a 5º, entonces ya sabemos que la pieza es
defectuosa, y en ese caso no importaría ya el valor exacto del ángulo. Sin embargo,
descartamos esta opción porque en la inmensa mayoría de los casos, las piezas
tendrán valores aceptables, por lo que al final el proceso sería doble, si se verifica
que están en un rango ok y después tenemos que calcular el ángulo exacto.
3.4.- Gradiente del Haz
Una medida importante que caracteriza un haz de cruce es el valor del Gradiente o
Nitidez del corte. Podemos decir que es una medida de la anchura de la línea de claroscuro del
haz de cruce, y es importante porque si es demasiado ancho, podemos deslumbrar a otros
usuarios de la carretera mientras conducimos, y si es demasiado estrecho, es decir una línea
de claroscuro muy nítida, tampoco es recomendable porque entonces el conductor puede
sufrir fatiga visual al ver proyectado sobre la carretera un haz con un límite demasiado
pronunciado. En la reglamentación se define la medida de la nitidez o gradiente de la siguiente
manera:
N=MAX[log(E(i))-log(E(i+1))] Delta(E)=E(i+1)-E(i)=0.1º Pasos: 0.01º
Según lo anterior, vemos que necesitamos hacer medidas en diferentes posiciones del haz de
cruce, en posiciones angulares relativas a la posición de la fuente de luz y a la posición del
punto HV. Por eso primero vamos a hacer una introducción sobre la geometría del haz de
cruce y la metodología para tomar las referencias adecuadas y medir en los puntos correctos.
Análisis de Haces de Cruce mediante Tratamiento Digital de Imágenes
3.4.1.- Geometría del Haz de cruce a partir de Imágenes digitales
Supongamos que tenemos el sistema
Fig. 28: Esquema básico del sistema de medición y análisis de haces de cruce utilizando tratamiento de
Supongamos también que la reglamentación nos dice que tenemos que medir el color de un
punto situado un 1% a la derecha del punto
A veces, esta distancia nos la pueden dar en grados en lugar de porcentaje. Obviamente 1%
equivaldrá a:
tan � �
La cuestión es: ¿cómo sabremos en la imagen cuánto movernos lo equivalente a un 1%, o a
0,57º?
Por tanto, cuando utilizamos imágenes digitales para el análisis de los haces de cruce,
que buscar un método para poder movernos por la imagen y así poder medir en las posiciones
necesarias del haz. Lo ideal sería que ese método fuera independiente del sistema de captura y
de la distancia D. Para eso se ha desarrollado un método en el que tenemos que
principalmente:
- Posición del Punto HV.
- Resolución de la imagen.
Cálculo del Punto HV
Análisis de Haces de Cruce mediante Tratamiento Digital de Imágenes
Geometría del Haz de cruce a partir de Imágenes digitales
Supongamos que tenemos el sistema mostrado en la figura 28:
Fig. 28: Esquema básico del sistema de medición y análisis de haces de cruce utilizando tratamiento de
imágenes
Supongamos también que la reglamentación nos dice que tenemos que medir el color de un
punto situado un 1% a la derecha del punto HV. En ese caso, teniendo en cuenta que D=25m:
�100 → 1" → # $ → # � " ∙ 1
100 � 0,25&
A veces, esta distancia nos la pueden dar en grados en lugar de porcentaje. Obviamente 1%
� #" ; � � tan() #
" � tan() 0,2525 � 0,573°
remos en la imagen cuánto movernos lo equivalente a un 1%, o a
Por tanto, cuando utilizamos imágenes digitales para el análisis de los haces de cruce,
buscar un método para poder movernos por la imagen y así poder medir en las posiciones
necesarias del haz. Lo ideal sería que ese método fuera independiente del sistema de captura y
. Para eso se ha desarrollado un método en el que tenemos que
Posición del Punto HV.
de la imagen.
Página 18
Geometría del Haz de cruce a partir de Imágenes digitales
Fig. 28: Esquema básico del sistema de medición y análisis de haces de cruce utilizando tratamiento de
Supongamos también que la reglamentación nos dice que tenemos que medir el color de un
HV. En ese caso, teniendo en cuenta que D=25m:
A veces, esta distancia nos la pueden dar en grados en lugar de porcentaje. Obviamente 1%
remos en la imagen cuánto movernos lo equivalente a un 1%, o a
Por tanto, cuando utilizamos imágenes digitales para el análisis de los haces de cruce, tenemos
buscar un método para poder movernos por la imagen y así poder medir en las posiciones
necesarias del haz. Lo ideal sería que ese método fuera independiente del sistema de captura y
. Para eso se ha desarrollado un método en el que tenemos que conocer
Análisis de Haces de Cruce mediante Tratamiento Digital de Imágenes
A partir de los resultados obtenidos anteriormente cuando se calculaba la inclinación de la
horizontal y de la pendiente del Haz de Cruce utilizando los filtros de Gabor, resulta sencillo
calcular la posición del punto HV
horizontal y la rotación.
Primero se calcula el punto del corte para cada columna de la imagen tomada
Fig. 29: Representación de uno de los resultados obtenidos
Esta nube de puntos se obtiene como un resultado secundario del análisis de gabor,
nos será útil para calcular el punto HV
Utilizando la función de MATLAB
ajusta a la nube de puntos en
calculamos el punto en el que las dos rectas obtenidas se cruzan, entonces habremos obtenido
el punto HV.
Análisis de Haces de Cruce mediante Tratamiento Digital de Imágenes
A partir de los resultados obtenidos anteriormente cuando se calculaba la inclinación de la
horizontal y de la pendiente del Haz de Cruce utilizando los filtros de Gabor, resulta sencillo
calcular la posición del punto HV como la intersección de las dos líneas que representan la
Primero se calcula el punto del corte para cada columna de la imagen tomada
Representación de uno de los resultados obtenidos tras pasar por el banco de filtros
Esta nube de puntos se obtiene como un resultado secundario del análisis de gabor,
nos será útil para calcular el punto HV.
ATLAB ‘polyfit’ con grado 1, podremos calcular la recta
ajusta a la nube de puntos en cada zona, descartando los extremos laterales. Si ahora
calculamos el punto en el que las dos rectas obtenidas se cruzan, entonces habremos obtenido
Página 19
A partir de los resultados obtenidos anteriormente cuando se calculaba la inclinación de la
horizontal y de la pendiente del Haz de Cruce utilizando los filtros de Gabor, resulta sencillo
de las dos líneas que representan la
Primero se calcula el punto del corte para cada columna de la imagen tomada (fig.29):
tras pasar por el banco de filtros
Esta nube de puntos se obtiene como un resultado secundario del análisis de gabor, y ahora
calcular la recta que mejor se
cada zona, descartando los extremos laterales. Si ahora
calculamos el punto en el que las dos rectas obtenidas se cruzan, entonces habremos obtenido
Análisis de Haces de Cruce mediante Tratamiento Digital de Imágenes Página 20
Una vez obtenida la posición del punto HV, tenemos que saber cómo desplazarnos por la
imagen, ya que la reglamentación nos dará los movimientos en grados o en porcentaje, y
nosotros tenemos una imagen en la que nos podemos mover pixel a pixel.
Resolución de la imagen
Como se ha dicho, la mejor forma sería hacer un procedimiento para movernos por la imagen
que fuera independiente al mismo tiempo del dispositivo de captura y de la distancia de éste a
la pantalla donde se proyecta el haz de cruce. Para ello lo mejor es tomar una medida de
referencia en la pantalla en la que se proyecta el haz, pintando por ejemplo dos marcas
separadas 2cm la una de la otra (fig. 30). De esa forma, una vez tomada la imagen se detectan
los dos puntos dibujados en la pantalla, y se calcula el número de píxeles que hay en esos dos
centímetros. Así sabremos cuántos píxeles tenemos que desplazarnos si sabemos los
centímetros o los grados respecto al punto HV donde tenemos que medir.
Fig. 30: Puntos dibujados en la pantalla, separados 2cm, para que el cálculo de la resolución de la
imagen sea independiente del dispositivo de captura.
Es decir, si por ejemplo tenemos 78 píxeles entre los dos puntos dibujados, tenemos 39 px/cm,
por lo que si necesitamos medir un punto situado 2º a la derecha del punto V, primero
calculamos la distancia equivalente en la pantalla mediante la tangente (fig. 28), y entonces
sabremos los píxeles que tendremos que desplazarnos.
3.5.- Homogeneidad del Haz de Cruce
Uno de los problemas de calidad que frecuentemente aparecen en los faros es la aparición de
defectos superficiales en las superficies ópticas metalizadas que son las que reflejan la luz de
las lámparas y la dirigen hacia las zonas adecuadas.
El proceso de inyección y metalizado no asegura que el 100% de la producción esté libre de
defectos superficiales, que lo que provocan es puntos negros proyectados sobre la carretera,
que pueden perjudicar los valores de la malla fotométrica, que pueden ser molestos para el
conductor, y son un problema estético que suelen rechazar los clientes.
Estos defectos se podrían observar a simple vista por el operario durante el proceso de
montaje, sin embargo dejamos en manos del operario el detectarlo, y además decidir si el
defecto es suficientemente importante como para desechar la pieza, o si por el contrario el
Análisis de Haces de Cruce mediante Tratamiento Digital de Imágenes Página 21
defecto no será apreciado por el usuario final. Por eso se hace útil buscar una forma
automática y sencilla de detectar este tipo de defectos superficiales en el haz de cruce.
Para ello, se ha desarrollado una función auxiliar llamada ‘homogeneidad’, a la que se le pasa
una imagen como entrada, y que devolverá un 1 si la imagen se considera homogénea, y un 0
si detecta alguna inhomogeneidad. También da como resultado una imagen en la que se marca
la posición del defecto o defectos de la pieza.
La función está basada en una función de MatLab llamada ‘stdfilt’.
Esta función devuelve una matriz en la que cada elemento contiene el valor de la desviación
estándar de los 3x3 píxeles alrededor del píxel que estamos analizando de la imagen de
entrada. Cuando la imagen es homogénea, la desviación estándar de píxeles cercanos es
pequeña. Sin embargo, si tenemos un pequeño spot oscuro en mitad de la zona iluminada,
entonces en esa área las desviaciones estándar de los grupos de 3x3 píxeles serán mayores.
A partir de este resultado, podemos comparar los valores de esa matriz con un umbral que
definimos en función del tamaño del defecto que queramos detectar.
3.6.- Posición del Máximo del cruce
Para calcular el máximo del cruce creamos la función ‘maxicruce.m’. Esta función se basa en la
función MatLab max, que calcula el valor máximo de un vector, o el máximo en una de las
dimensiones si se trata de una matriz. También devuelve el índice en el que se encuentra ese
máximo.
Como en casi todas las funciones desarrolladas, trabajamos con la matriz Y. Esta matriz se
normalizó por lo que los valores están comprendidos entre 0 y 1.
Por otro lado, al tratar con imágenes con valores de intensidad grandes, muy probablemente
nos encontremos con muchos píxeles saturados, de forma que tengan un valor máximo, en
este caso 1. Esto hace que la función max no nos sea útil porque es seguro que habrá muchos
píxeles al máximo valor de intensidad.
A pesar de esta problemática, hay que decir que habiendo comprobado previamente que el
haz de cruce es homogéneo, en ese caso podríamos asumir que el máximo se encontrará en la
mitad de la región de píxeles saturados.
Es decir, supongamos el siguiente cruce en el que los píxeles de la zona central del haz de
cruce están saturados (fig. 31):
Análisis de Haces de Cruce mediante Tratamiento Digital de Imágenes Página 22
Fig. 31: Ejemplo de imagen de un haz de cruce, en el que toda la zona central tiene los píxeles con valor
máximo.
Calcular el punto máximo real del haz de cruce no sería posible en esta situación. Pero
analicemos la imagen con más detalle. Si discretizamos los valores de la imagen con la función
de ‘grayslice’ de MatLab en, por ejemplo 16 valores diferentes, obtenemos lo siguiente (fig.
32):
Fig. 32: Imagen anterior (fig. ) discretizada en 16 valores.
En esta imagen se observa que la concentración de máxima intensidad está en una zona muy
determinada del haz de cruce, que por otro lado es como debe ser. Por tanto, es posible
asumir que el máximo estará situado en el punto central de la región de máxima intensidad. Y
eso es lo que asumiremos a la hora de analizar la posición del máximo (fig. 33):
Fig. 33: Detalle y punto elegido asumiendo la homogeneidad del haz.