9 Apéndice

Anuncio
Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción
9 Apéndice
9.1 Espacios de color
Los dispositivos de captura y visualización de imágenes captan y generan, respectivamente, el color
mezclando los denominados colores primarios (rojo, verde y azul) con diferentes intensidades. Las
mezclas resultantes constituyen una amplia variedad de colores, sin embargo, la relación entre la
cantidad de rojo, verde y azul y el color resultante no es intuitiva para el ojo humano. Ni los colores
primarios (también conocidos como aditivos) ni los secundarios (magenta, cian y amarillo, también
conocidos como sustractivos) definen las relaciones entre colores como el ojo humano, porque éste no
percibe de la misma forma las intensidades de los colores rojo, verde y azul.
Para corregir este ‘defecto’ se crearon otros espacios de color como el HSV (hue, saturation, value o
tono, saturación y valor en español) y el HSL (hue, saturation, lightness o tono, saturación y luminosidad
en español). Estos modelos se basan en cómo se organizan los colores al ser percibidos por los humanos
en términos de los atributos que definen el color (tono, croma y luminosidad), y también en los métodos
tradicionales de mezcla de pigmentos (consistentes en mezclar pigmentos de color con pigmentos
negros o blancos para conseguir pigmentos más oscuros o claros respectivamente).
Los espacios de color HSV y HSL son las representaciones cilíndricas del cubo de color RGB
(representación cartesiana) más comunes. Se desarrollaron en 1970 para aplicaciones de gráficos por
computador (edición gráfica fundamentalmente). Hoy en día se siguen usando en las paletas de
selección de color en los programas de edición gráfica, análisis de imagen y visión por computador.
Figura 108: Representación de los espacios de color RGB, HSV y HSL (de izquierda a derecha).
95
Apéndice
El modelo HSL se denomina a veces también HLS, y el modelo HSV se denomina a veces HSB (de brillo).
Hay otros modelos parecidos como el HSI (de intensidad).
En todos estos espacios, el tono corresponde al ángulo alrededor del eje del cilindro, la saturación es la
distancia medida perpendicularmente al eje y el valor o intensidad se mide a lo largo del eje. Aunque las
definiciones del tono son equivalentes en estos modelos, las definiciones de saturación difieren
bastante.
En estos espacios, los colores neutrales (grises o acromáticos) se localizan sobre el eje central vertical.
Los colores primarios y secundarios se disponen alrededor del contorno exterior del cilindro, es decir,
donde la saturación es igual a 1. En el espacio HSV los colores primarios y secundarios tienen valor igual
a 1 (V = 1), mientras que en el espacio HSL tienen luminosidad igual a 0,5 (L=0.5).
En el modelo HSV, si se mezclan los colores ’puros’ con blanco, se reduce la saturación, mientras que si
se mezclan con negro, la saturación se mantiene (igual a 1). En el modelo HSL, ambas mezclas (sólo con
negro o sólo con blanco) mantienen el nivel de saturación (igual a 1) y sólo las mezclas de blanco junto
con negro hacen disminuir el nivel de saturación.
Como estas definiciones de la saturación en las cuales los colores casi neutrales muy oscuros (HSV y
HSL) o muy claros (sólo HSL) se consideran totalmente saturados, entran en conflicto con la noción
intuitiva de la pureza del color, se suelen representar estos espacios como un cono (HSV) o un cono
doble (HSL). Estas representaciones suelen llamar a la dimensión radial erróneamente (o al menos de
forma confusa) saturación. En realidad esta dimensión se denomina croma.
Figura 109: Representación cónica de los espacios HSV y HSL.
Los modelos HSV, HSL y relacionados se pueden obtener geométricamente. Al proyectar el cubo RGB
sobre un plano perpendicular a la diagonal del cubo que va desde el negro puro (origen de
coordenadas) al blanco puro (coordenadas (1,1,1)), se obtiene un hexágono cuyo vértices corresponden
a los colores rojo, amarillo, verde, cian, azul y magenta. El plano de proyección se denomina plano
cromático.
96
Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción
Figura 110: Proyección del cubo RGB en el plano cromático.
El tono viene a ser el ángulo del vector que apunta a un color del cubo una vez proyectado sobre el
plano cromático, mientras que el croma viene a ser la distancia desde el punto proyectado al origen del
plano. Concretamente, el croma es la relación entre dos distancias: la del origen al borde del hexágono y
la del origen al punto proyectado. También se puede definir como la relación entre los radios del
hexágono exterior y del hexágono que pasa por el punto. Esta proporción es exactamente la diferencia
entre el valor máximo y mínimo de una terna (r,g,b):
max , ,
min , ,
Cualquier color (r,g,b) con r = g = b se proyecta en el origen del hexágono y tiene croma igual a cero. Si
restamos el mismo valor a las tres componentes del color, el nuevo color siempre se encuentra sobre la
diagonal del cubo RGB girado, y la proyección no cambia. Entonces los colores (r,g,b) y (r-m, g-m,b-m)
proyectan siempre en el mismo punto y tienen por tanto el mismo nivel de croma. El croma de un color
que tiene una de sus componentes nula es el máximo de las otras dos componentes (M), mientras que
en el caso general es M-m.
97
Apéndice
Transformación desde el espacio RGB
Tono
El tono es la proporción entre la distancia medida alrededor del contorno del hexágono hasta el punto
proyectado y el contorno total del hexágono. Originalmente se sus valores se acotaban en el rango [0,1),
pero actualmente se mide en el rango [0-360) grados.
El tono no está definido para los puntos que proyectan en el origen del plano cromático (grises) y
normalmente se les asigna el valor cero. Matemáticamente:
!
"
"
"
#
%
%
0
& 2
6
& 4
0
%
!
"
) 60°
Con las ecuaciones anteriores se está transformando el hexágono en un círculo de manera que el tono
se convierte en el ángulo del vector, y el croma es la distancia al origen, por tanto, el módulo del vector.
Figura 111: Representaciones hexagonal y polar de los modelos HSV, HSL y HSI.
98
Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción
En aplicaciones de análisis de imagen se suele evitar esta transformación de hexágono a círculo,
definiéndose un nuevo tono y croma ( + , + ) mediante una transformación de coordenadas cartesianas
a polares:
, = 0.5(2% − ! − ")
/=
+
√3
(! − ")
2
= 232 2(/, ,)
+
= 4, + + / +
Notar que, aunque ambas definiciones de H y H2 son casi coincidentes (numéricamente) no sucede lo
mismo con C y C2, cuyos valores numéricos pueden diferir bastante para ciertos puntos.
Luminosidad
Existen varias definiciones:
•
La más sencilla consiste en considerarla como la media de la terna (r,g,b). Esta es la definición
empleada en el modelo HSI. Geométricamente es la proyección del punto sobre el eje vertical
(neutral). La ventaja es que junto con el cálculo del tono y el croma con distancias euclídeas, esta
representación preserva distancias y ángulos de la geometría del cubo RGB.
1
5 = (% + ! + ")
3
•
•
•
En el espacio de color HSV, se considera la luminosidad como el mayor de los valores de la terna
(r,g,b), M. Geométricamente, los tres colores primarios y los tres secundarios quedan en plano
con blanco, formando un cono.
7 = 28(%, !, ") =
En el espcio de color HSL, se define como la media de la mayor y la menor de las componentes
de la terna (r,g,b). Esta definición también coloca los colores primarios y secundarios en un
plano, pero en esta ocasión el plano se encuentra a media distancia del blanco puro y el negro
puro, formando un doble cono.
1
9= ( + )
2
Luma: consiste en una corrección gamma del espacio RGB para adecuarlo a la percepción
humana.
:;<= = 0.3% + 0.59! + 0.11"
99
Apéndice
Figura 112: Transformaciones de los espacios HSV (columna izquierda) y HSL (columna derecha).
Saturación
Si codificamos los colores como tono, luminosidad y croma, sucede que no todas las combinaciones de
luminosidad y croma tienen sentido: la mitad de los colores que podemos describir usando variaciones
de tono en el rango [0,360) grados, croma y luminosidad en el rango [0,1], están fuera del cubo RGB.
Para resolver este problema, los modelos HSL y HSV escalan el croma de manera que siempre esté en el
rango [0,1] para cualquier combinación de tono y luminosidad. Este nuevo atributo se denomina
saturación.
?@AB
?@AF
G
1
0
C D
7
0
|29
0
E0
0
E0
1|
El modelo HSI usa H2 como tono y no intenta llenar un cilindro por su definición de saturación
(definición psicométrica, croma relativo a la luminosidad):
?@AI
100
C1
0
5
0
E0
Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción
Usar el mismo nombre para las tres definiciones de saturación lleva a confusión, porque los tres
atributos describen relaciones distintas de los colores.
Aun así, estos modelos de color son simples transformaciones del espacio de color RGB que mantienen
las simetrías que hacen que no se corresponda exactamente con la percepción humana: en el espacio
RGB los vértices correspondientes al rojo, verde y azul puros son equidistantes del eje neutral y están
espaciados de la misma forma alrededor de éste.
9.2 Homografías.
Una homografía es una transformación proyectiva que determina una correspondencia entre dos
figuras geométricas planas. En este tipo de transformación, no se conserva el paralelismo de las rectas,
al contrario que en las trasformaciones afines (rotación, traslación, escalado).
Las coordenadas homogéneas definen un punto en el espacio proyectivo. En coordenadas homogéneas
un punto J
8, K) se define por tres coordenadas:
M∙8
J = LM ∙ KO
M
Con esta definición se transforma el plano euclídeo al plano proyectivo, es decir, se le añaden puntos
impropios o del infinito. Los puntos impropios son puntos con M = 0. Los puntos propios tienen
infinitas representaciones en coordenadas homogéneas: la representación cambia para cada valor de M
elegido. Normalmente se elige la forma normalizada M = 1 para simplificar los cálculos.
Las coordenadas homogéneas también se usan a menudo como representación alternativa para trabajar
en el espacio euclídeo, sobre todo en computación porque permite agrupar operaciones de
transformación y simplificar cálculos. También son importantes en computación para resolver el
problema de la limitación de tamaño de las coordenadas, puesto que M es una escala.
Una transformación entre dos puntos en el plano proyectivo se representa por una matriz de 3x3
elementos:
ℎ==
8=
LK= O = Pℎ+=
1
ℎR=
ℎ=+
ℎ++
ℎ+R
ℎ=R 8+
ℎ+R S LK+ O
ℎRR 1
Esta ecuación se puede rescribir de la siguiente forma:
101
Apéndice
T
8+
0
K+
0
1
0
0
8+
0
K+
0 −8= 8+
1 −K= 8+
ℎ==
Xℎ [
W =+ Z
Wℎ=R Z
ℎ
−8= WW += ZZ
U ℎ++ = 0
−K= W Z
ℎ
W +R Z
WℎR= Z
WℎR+ Z
VℎRR Y
−8= K+
−K= K+
Esto equivale a un sistema de ecuaciones:
\′ ∙ ℎ = 0
El sistema anterior es sólo para un punto. Son necesarios cuatro puntos para determinar
completamente el sistema de ecuaciones:
\∙ℎ =0
Una forma de resolver el sistema es encontrar el autovector asociado al menor autovalor de " = \^ \.
Si usamos más de cuatro puntos para calcular una homografía, el sistema estará sobredeterminado y se
puede calcular una solución óptima en sentido de mínimos cuadrados:
\^ \ ∙ ℎ = 0
9.3 Umbralización dinámica
La umbralización dinámica o adaptativa usa un umbral local (a nivel de pixel) en lugar de un umbral
global basado en histograma. Sea 5_ la imagen original e 5` una imagen de umbralización. Se trata de
seleccionar los pixeles de 5_ que cumplan una determinada condición:
•
Si buscamos las regiones claras:
5_ (8, K) ≥ 5` (8, K) +
•
3
Si buscamos las regiones oscuras:
5_ (8, K) ≤ 5` (8, K) −
3
La imagen de umbralización suele ser una versión suavizada de la imagen original como por ejemplo la
imagen de media o de mediana, o la imagen resultante de la aplicación de un filtro gaussiano.
El tamaño de la máscara de convolución para el filtro debe elegirse de manera que en la imagen
suavizada el objeto (zona clara u oscura, dependiendo de qué queramos poner de manifiesto) aparezca
muy difuminado con el fondo o incluso no aparezca en absoluto, como se puede observar en las figuras
45 y 48. La Figura 113 muestra más ejemplos de umbralización dinámica.
102
Reconocimiento de señales de tráfico para un sistema de ayuda a la conducción
Imagen original y resultado de la binarización
dinámica.
Imagen de umbralización (media de la imagen
original).
Imagen original y resultado de la binarización
dinámica.
.
Imagen de umbralización (media de la imagen
original).
Figura 113: Ejemplos de umbralización dinámica.
9.4 Look Up Tables para segmentación de imágenes
Las Look Up Tables (LUT) permiten acelerar el proceso de segmentación de imágenes mediante
clasificadores, almacenando en memoria todos los posibles resultados de todas las posibles entradas al
clasificador ya entrenado. Pero almacenar toda esta información consume mucha memoria y por tanto
su uso está restringido a espacios de características de hasta tres dimensiones (normalmente
segmentación por color).
Para crear la tabla hay que especificar un umbral de rechazo para la salida del clasificador. En Halcon
también es posible elegir la profundidad del color, es decir, el número de bits usado para codificar cada
componente del color. Esto permite reducir la memoria necesaria para almacenar la tabla, pero también
disminuye la precisión del clasificador basado en LUT frente al clasificador original.
En Halcon, los clasificadores basados en LUT no se pueden almacenar en un archivo para uso posterior,
hay que recalcular la tabla en cada ejecución del programa a partir del clasificador original (que sí se
puede guardar en un archivo).
Número de clases
Profundidad del color (campos x bits)
Memoria (MB)
256
1
10
3x8
3x8
3x6
32
2
0.125
Tabla 5: Requerimientos de memoria en función del número de clases y de la profundidad del color.
103
Descargar