1. Introducción
La percepción de los colores está dada por dos tipos de células que se tienen en los ojos: conos y bastones. Dichas células captan la luz que se percibe a través de los colores primarios: rojo, verde y azul. Sin embargo, la deficiencia en esta percepción provoca desde la ausencia de un color hasta la confusión entre tonalidades [8,11,21]. Dicho padecimiento es conocido como daltonismo y se presenta en México en casi l0% de la población. El interés de este trabajo se centra en una forma específica de este padecimiento conocido como Daltonismo Tricromático Anómalo (DTA), el cual se caracteriza por fallas parciales en la visualización de colores mas no la completa ausencia de percepción de un color [9,17,7].
Una de las tendencias fuertes en años recientes para el procesamiento de imágenes en personas con DTA es el uso de mapas que permitan corregir los colores en las imágenes para hacerlos accesibles a personas con distintas debilidades visuales. La universidad de Fundan en Beijin ha realizado algunos trabajos al respecto [2] así como la universidad de Corea del Sur [15]. Similarmente, Flatla de la universidad de Saskatchewan ha propuesto métodos de calibración de colores para minimizar tales problemas [12].
Un aspecto menos explorado pero no menos importante es la luminancia [1] y crominancia de las imágenes ya que al usar estas funciones se pueden preservar aún más características de las imágenes que se convierten de colores a escala de grises. El algoritmo "Color2Gray" propuesto por Gooch reduce las perdidas por dicha conversión. Gooch logra esto mediante la conservación de algunas propiedades del color de la imagen original. El algoritmo sigue tres pasos: Primero convierte la imagen RGB a un espacio de color perceptualmente uniforme. Segundo, crea diferencias entre pixeles vecinos mediante la información sobre la crominancia y luminancia de la imagen. Finalmente, modula de manera (optima la escala de grises usando la variación cromática de la imagen origen a color.
Un ejemplo del algoritmo se muestra en la Fig. 1 (véase [13]). Aquí observamos cómo algunos tonos con luminancias similares en el primer cuadro se pierden al pasarlos al segundo cuadro a escala de grises porque la luminancia del cuadro rojo es muy similar a la del fondo azul. Al incorporar la crominancia al algoritmo se logra el resultado del tercer cuadro.
En este trabajo nos enfocamos en el efecto que tiene la luminancia para hacer visibles aspectos de las imágenes que antes pasaban desapercibidos a personas con DTA. La luminancia es una propiedad intrínseca al color que puede entenderse como la intensidad de luz que el color posee. Para plantear el método se tomó como base la teoría de los colores oponentes de Hearing donde hay colores que son directamente opuestos uno al otro. Es decir, ciertos matices no pueden ser percibidos al mismo tiempo.
Esto sucede con las combinaciones rojo-verde, amarillo-azul, así como blanco-negro mientras que el resto de las combinaciones entre colores son posibles. Cabe mencionar que el esquema anterior se opone a la teoría tricomática de Baumann [4]. Recientemente trabajos como el de Budzakova [6] proponen obtener características de las imágenes a partir de canales cromáticos oponentes.
Nuestro método propone que mediante la luminancia se puede identificar claramente zonas y colores de la imagen que resultan confusos a personas con DTA. Así mismo es posible modificar dichas zonas mediante cambios en los espacios de color, umbralización e incrementos matriciales para compensar las deficiencias en los conos y bastones presentes en los ojos de dichas personas.
2. Ajuste en lumninancia
El algoritmo de ajuste en lumninancia busca demostrar que el uso de la luminancia juega un papel clave en el procesamiento de la imagen original. Dicha propuesta toma sus bases del algoritmo "color2gray" de Gooch [13] extrapolando la idea de conservar las propiedades del color en imágenes blanco y negro, es decir en el espacio del color percibido por personas con DTA. A continuación se muestra un resumen de los pasos del algoritmo de ajuste en lumninancia:
Carga de la imagen en formato RGB.
Separación de la imagen en las tres matrices: Rojos, Verdes y Azules.
Normalización de los canales a valores entre 0 y 1.
Generación matrices XYZ.
Generación matrices LAB.
Umbralizar canal L.
Obtención de mascara del delta de rojos y su complemento.
Evaluación de cantidad de pixeles a modificar.
Modificación de los rojos/verdes hacía el color oponente usando mascara/complemento.
Adición de la máscara modificada y su complemento en una sola matriz.
Reconstrucción de la imagen RGB usando las 3 matrices (una modificada y dos originales).
En la Fig. 2 se puede observar que a partir de la primera conversión que realiza el algoritmo la separación entre los canales rojo y verde hace visible la componente de la imagen antes oculta a las personas con DTA. La aproximación se realiza para cada uno de los pixeles de las tres matrices en la componente correspondiente. La ecuación 1 presenta la conversión de RGB a un vector oponente [18]:
La Comisión Internacional de la Iluminación (CIE) definió 3 funciones llamadas X, Y y Z que para efectos prácticos pueden tratarse como si fueran las respuestas a los espectros recibidos por los distintos conos en el ojo humano. En la realidad las curvas de respuesta en el ojo humano son un poco diferentes, pero están muy relacionadas matemáticamente con este modelo. Mientras pudiera parecer conveniente pensar en X, Y y Z como rojo, verde y azul, cada uno con su propia banda, estos en realidad se superponen en las frecuencias sobre todo X y Y. Para complicar un poco más las cosas el rojo; X, tiene un pequeño relieve en la curva hacía el inicio visible del espectro que coincide con Z [5]
De modo similar el espacio CIE LAB tiene el propósito de crear colores que sean "perceptiblemente lineales" es decir que los cambios se generen de manera escalonada y predecible, tanto en el espectro del color como en la percepción del ojo, contrario a lo que sucede en el CIE XYZ que tiene incrementos logarítmicos.
Como se puede suponer este espacio tiene algunas restricciones en precisión y no define colores absolutos si no que los genera a partir de un valor inicial que se conoce como el blanco de referencia, pero es mucho más intuitivo trabajar con el dada la progresión lineal del sistema [19]
Al dividir el valor de cada canal entre el máximo permitido (255 en la escala RGB), se obtienen valores escalares en el rango [0.0, 1.0], tal como se indica en el paso 3 del algoritmo. Dichos valores son utilizados para la generación de las componentes del espacio XYZ y posteriormente las componentes del espacio LAB.
Al detenernos en la Fig. 3 en la cual se presenta el espacio de color CIE LAB [20], se observa como la diferencia (delta) entre la luminancia y el canal rojo (componente A) contiene información esencial para segregar secciones de la imagen que deben ser modificadas en los canales rojo-verde y hacer visible la imagen original a personas con DTA.
Con el objetivo de reducir el área que se debe modificar de la imagen original y así reducir el tiempo de procesamiento, se umbraliza la imagen en el canal A para obtener una máscara (ver Fig. 4), que permita modificar solo la sección deseada de la imagen, en lugar de la imagen completa. Esto hará que el resultado final se vea más natural en lugar de sobre saturado.
Finalmente, se obtiene el complemento de la máscara y el algoritmo evalúa cuál de las 2 mascaras contiene una cantidad mayor de pixeles y esta se utiliza para regresar a la imagen original y modificar el canal rojo-verde en base a las propiedades de colores oponentes [4]. De esta manera se puede obtener una imagen visible para las personas con DTA.
3. Experimentación y resultados
Para probar la efectividad del algoritmo se empleó una serie de 10 imágenes que se detectaron como problemáticas para personas con DTA. Para mostrar los resultados obtenidos hemos realizado dos tablas de ejemplo que contienen en el primer cuadrante la imagen original. En el segundo cuadrante se ve una emulación de dicha imagen percibida por una persona con DTA. En el tercer cuadrante, se observa el área a ser modificada, que es detectada por la delta de la luminancia contra el canal Rojo y en el cuarto cuadrante la imagen después de la transformación. Las figs. 5 y 6 muestran los dos ejemplos (Oso y Tomates).
Para medir la efectividad el algoritmo se diseñó un cuestionario conformado por 10 imágenes (tomando como base la escala de Likert [3]) mostrando en cada una de ellas una imagen sin procesamiento y su contraparte después de aplicar el algoritmo. Se le pidió a un grupo de 7 personas con DTA que evaluaran cada una de las imágenes en una escala que va de 1 a 5, donde 1 representa que no se observa ninguna mejoría mientras que 5 denota que se observan claramente elementos que antes pasaban desapercibidos.
En Tab. 1, se muestran los resultados de dicho cuestionario en porcentajes de mejora de acuerdo a la escala antes mencionada.
Imagen | 1 | 2 | 3 | 4 | 5 | 6 | 7 | Prom | % |
---|---|---|---|---|---|---|---|---|---|
Célula | 3 | 2 | 1 | 2 | 4 | 5 | 5 | 3.1 | 62.9 |
Ishihara 1 | 4 | 3 | 5 | 2 | 3 | 5 | 5 | 3.9 | 77.1 |
Oso | 5 | 4 | 4 | 1 | 2 | 5 | 5 | 3.7 | 74.3 |
Tomates | 3 | 2 | 2 | 1 | 4 | 2 | 1 | 2.1 | 42.9 |
Ensalada | 2 | 1 | 1 | 2 | 3 | 2 | 1 | 1.7 | 17.9 |
Ishihara 2 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5.0 | 100.0 |
Tráfico | 4 | 3 | 3 | 2 | 1 | 2 | 3 | 2.6 | 51.4 |
Fresas | 3 | 2 | 2 | 2 | 3 | 2 | 1 | 2.1 | 42.9 |
Pie | 5 | 3 | 3 | 3 | 2 | 3 | 3 | 3.1 | 62.9 |
Vegetales | 4 | 3 | 1 | 4 | 3 | 2 | 1 | 2.6 | 51.4 |
Total | 3.0 | 58.4 |
4. Discusión
Al momento de realizar este trabajo la cantidad de investigaciones enfocadas en personas con daltonismo era muy escaza, incluso las pocas comparables se enfocan únicamente en deficiencias dicromáticas en lugar de tricromáticas, aun así, trabajos más recientes como el de Cerda-Company [10] refuerzan la idea de que la luminancia es un factor clave para resaltar diferencias no visibles de primera mano.
Los trabajos más relevantes se comparan cualitativamente en las Tablas 2-8. Cabe señalar que una comparación cuantitativa de los métodos es complicada dado que los pasos descritos en los trabajos relacionados no permiten una reproducción precisa de los algoritmos propuestos sino una descripción conceptual de los mismos.
Algoritmo | Enfoque |
---|---|
Jia-Bin | Distancias Gaussianas entre colores clave |
Khun | Saturación de color y contraste basado en un sistema de distancias |
Uribe | Luminancia como factor de comparación entre colores oponentes |
Algoritmo | Interpolación |
---|---|
Jia-Bin | Sí, con sustitución de colores |
Khun | Sí, con sobre saturación del color |
Uribe | Sí, únicamente sobre el mismo canal (color primario) |
Comparado con los trabajos de Jia-Bin [14] y Khun [16], el algoritmo propuesto no busca generar distancias entre los pixeles de la imagen (euclidianas o gaussianas), en cambio utiliza el canal de la luminancia para identificar la zona a trabajar y se limita a procesar dicha zona, lo que lo vuelve eficiente ya que siempre procesara un conjunto menor de pixeles con respecto a la imagen original. El trabajo de Cerda-Company [10] apoya esta teoría al plantear que las diferencias en los colores solo son percibidas por el cerebro cuando existe una diferencia en la luminancia entre ellos.
Adicionalmente, las propuestas de Jia-Bin como de Khun están enfocadas a personas dicrómatas en lugar de tricrómatas. La diferencia de poder segregar por completo un rango del espectro correspondiente a un color primario representa una reducción del alcance en la aplicación de dichos algoritmos. Y aunque ambos trabajan bajo el mismo espacio de color: CIE LAB, solo en el trabajo de Kunh la luminancia representa una variable a ser considerada en el procesamiento de la generación de distancias entre los pixeles de la imagen modificada. Al momento de concluir este trabajo no se encontró una investigación aplicada específicamente a personas con DTA.
Otra diferencia en relación al trabajo de Jia-Bin es que con el propósito de mantener la naturalidad de la imagen, este trabajo siempre realizo) cambios sobre un mismo canal en lugar de buscar interpolar colores para generar contrastes mayores. Esto implica que un rojo siempre fue rojo, en cambio, Jia-Bin realizo una sustitución del color por otro completamente distinto en el espectro del color.
El hecho de contar con la máscara y el complemento de la máscara resulto muy útil y se observaron mejores resultados al modificar el área más grande ya que produjo un mayor nivel de contraste y por ende las imágenes resultaron más visibles a personas con DTA. Se obtuvieron mejoras sobre 42% en todas las imágenes que incluían objetos ocupando áreas grandes a ser modificadas, el hecho de que dichos objetos tuvieran contornos bien definidos ayudo a que el contraste fuera mayor tras la modificación.
La aplicación de la teoría de los colores oponentes permite que en la mayoría de los casos las imágenes modificadas no presenten cambios drásticos en el dominio del color para las personas con una visión regular, ya que la modificación se realiza sobre el mismo canal solo variando la intensidad del mismo.
El hecho de aumentar demasiado la intensidad en imágenes problemáticas causo que se presentaran alteraciones a la misma, mostrando zonas de color saturadas en rojo debido a que el histograma de la imagen para dichas zonas alcanza el límite superior, por ejemplo en la imagen de los tomates (ver Fig. 6).
En imágenes con múltiples áreas pequeñas a ser modificadas, no se observaron buenos resultados (inferior al 18%) ya que una modificación global no es suficiente para hacer visible todas las zonas pequeñas. Al aumentar la intensidad en el canal, unas se volvieron visibles mientras que otras se mantuvieron ocultas y otras más se saturaron demasiado convirtiéndose en manchas rojas en la imagen. Posibles mejoras al algoritmo incluyen la identificación de límites para colores locales de manera que si se va a exceder un valor de 255 se realice un gradiente en la tonalidad evitando zonas saturadas de color.
A partir de la experimentación y la aplicación del cuestionario se determinó que no solo basta con mover en una dirección la tonalidad de rojos, sino que se debe determinar algo que se denomina la calidez de la imagen. Si la imagen contiene tonos claros es más conveniente usar los rojos más oscuros para generar un contraste, en cambio si la imagen es oscura es conveniente mover las tonalidades de rojo hacia los tonos brillantes. Para los propósitos de este trabajo dicha determinación se realizó manualmente, sin embargo al obtener el histograma de la imagen y determinar su factor de calidez se podría tomar una decisión automatizada al respecto.
La detección de bordes mediante el filtro de Canny, puede ayudar a mejorar áreas que se pierden, marcando los bordes de algunos elementos en tonalidades más oscuras o claras. Dependiendo de la imagen, esta estrategia pudiera generar resultados aún más favorables.
Se realizaron pruebas iniciales en Matlab obteniendo resultados favorables en cuanto al tiempo de respuesta; para una imagen de 800 x 600 en una computadora Intel Core Duo 2.4GHz y 8GB en RAM se obtuvo el resultado en 0.88 segundos, mucho más veloz que los 5 segundos de Jia-Bin [14] y muy cercano a los 0.85 segundos de Khun [16], ambos bajo circunstancias similares. El algoritmo propuesto podría implementarse en dispositivos móviles con cámara de manera que se genere en tiempo real la imagen procesada.
5. Conclusiones
A partir de los resultados obtenidos se puede concluir que el algoritmo identifico claramente las áreas problemáticas en las imágenes para personas con deficiencias visuales en el dominio del color. Por lo anterior, se puede decir que el uso de la luminancia y su delta con los canales en los colores oponentes representan un buen medio para calibrar una imagen aumentando la intensidad del color en dirección contraria al color del fondo de la misma.
Una interesante aplicación del algoritmo podría ser en lentes de realidad aumentada como Google Glass o Epiphany Eyewear cuando estos dispositivos sean más asequibles para el público general.