La normalización de color es un tema en visión por computadora que se ocupa de la visión artificial del color y el reconocimiento de objetos. En general, la distribución de los valores de color en una imagen depende de la iluminación, que puede variar según las condiciones de luz, las cámaras y otros factores. La normalización de color permite que las técnicas de reconocimiento de objetos basadas en el color compensen estas variaciones. El objetivo es producir una representación de una imagen que sea invariante a los cambios de iluminación, de modo que los algoritmos puedan identificar objetos basándose en sus propiedades de color intrínsecas en lugar de las condiciones bajo las cuales se capturó la imagen.
El campo se basa en la capacidad del sistema visual humano para percibir colores de manera consistente bajo diferentes iluminaciones, un fenómeno conocido como constancia del color. Al imitar esta capacidad computacionalmente, la normalización de color respalda una variedad de aplicaciones, desde la robótica hasta la imagen médica, donde la clasificación fiable basada en el color es crítica. Sin embargo, la elección del algoritmo de normalización depende de la tarea específica, ya que diferentes métodos tienen diferentes fortalezas y debilidades.
Constancia del color
La constancia del color es una característica del modelo perceptual interno humano, que proporciona a las personas la capacidad de asignar un color relativamente constante a los objetos incluso bajo diferentes condiciones de iluminación. Esto es útil para el reconocimiento de objetos, así como para la identificación de fuentes de luz en un entorno. Por ejemplo, los humanos ven un objeto de aproximadamente el mismo color cuando el sol brilla intensamente o cuando es tenue. Esta estabilidad perceptual surge de un procesamiento neural complejo que estima la iluminación y ajusta los colores percibidos en consecuencia. En la visión por computadora, los algoritmos de normalización de color intentan replicar este comportamiento convirtiendo los valores de píxeles para eliminar la influencia de la iluminación. Esto es particularmente importante para tareas como el reconocimiento de objetos y la segmentación de imágenes, donde el color es una característica distintiva. Sin normalización, el mismo objeto fotografiado bajo diferentes luces podría producir distribuciones de color muy divergentes, lo que confundiría los sistemas de reconocimiento.
Aplicaciones
La normalización de color se ha utilizado para el reconocimiento de objetos en imágenes de color en los campos de la robótica, la bioinformática y lo general Artificial intelligence, cuando es importante eliminar todos los valores de intensidad de la imagen mientras se preservan los valores de color. Un ejemplo es el caso de una escena capturada por una cámara de vigilancia a lo largo del día, donde es importante eliminar sombras o cambios de luz en los mismos píxeles de color y reconocer a las personas que pasaron. Otro ejemplo se da en herramientas de detección automatizada utilizadas para la detección de retinopatía diabética, así como en diagnóstico molecular de estados de cáncer, que en clasificación es importante incluir información de color. En robótica, la normalización de color ayuda a los modelos de Machine learning a identificar objetos en entornos variables, como escenas exteriores con luz solar cambiante o interiores con luz artificial. En bioinformática, permite un análisis consistente de muestras de tejido teñido, donde las variaciones en la intensidad de tinción podrían conducir a una clasificación errónea. La técnica también se utiliza en los procesos de Data Augmentation para modelos de Deep learning, donde ayuda a generar datos de entrenamiento que sean robustos frente a los cambios de iluminación.
Problemas conocidos
El problema principal sobre ciertas aplicaciones de normalización del color es el resultado con imagen no natural o demasiado alejado de los colores originales. En los casos en los que hay una variación sutil entre aspectos importantes, esto puede ser problemático. Más específicamente, el efecto secundario en que los píxeles se vuelvan divergentes y no reflejan el valor de color real de la imagen. Por ejemplo, un algoritmo de normalización podría corregir en exceso, produciendo colores demasiado saturados o desplazados, lo que podría ocultar distinciones naturales entre objetos similares. Debido a estos problemas en la imagen médica, donde diferencias de color sutiles pueden indicar diferentes tipos de tejido o estados de enfermedades, se puede combatir este problema usando una combinación de normalización de color con umbral para segmentar correctamente y de manera consistente una imagen coloreada. El umbral ayuda a separar regiones de color relevantes del ruido del fondo, reduciendo el impacto de los cambios de color no naturales. Además, algunos métodos permiten ajustar los parámetros según las preferencias del usuario para equilibrar entre la normalización y la apariencia natural, según los requisitos de la aplicación.
Transformaciones y algoritmos
Existe una vasta gama de diferentes transformaciones y algoritmos para lograr la normalización de color, y se presenta una lista limitada aquí. El rendimiento de un algoritmo depende de la tarea, y un algoritmo que no mejor en una tarea puede ser peor en otra (no free lunch theorem). Además, la elección del algoritmo depende de las preferencias del usuario para el resultado final, por ejemplo, los colores pueden desear una imagen de color más natural. Los enfoques comunes incluyen el mundo gris, la ecualización de histogramas y la especificación de histogramas, cada uno con supuestos y compensaciones distintos. Algunos algoritmos están diseñados para la velocidad y la simplicidad, mientras que otros buscan para la precisión precisa. En la práctica, los profesionales suelen hacer múltiples experimentos para encontrar la mejor opción para su conjunto de datos y objetivos específicos.
Mundo gris
La normalización de mundo gris asume que los cambios en el espectro de luz pueden ser modelados por tres factores constantes aplicados a los canales rojo, verde y azul del color. Más específicamente, un cambio en el color iluminado se puede modelar con cambios de escala α, β y γ en los canales R, G y B respectivamente, y por lo tanto el algoritmo del mundo gris es invariante a las variaciones del color de la iluminación. Por lo tanto, una solución de constancia se puede lograr dividiendo cada canal de color por su valor de promedio. Este método efectivamente asume que el color promedio de una escena es gris, lo que funciona para muchas imágenes naturales pero puede fallar en escenas dominadas por un solo color. Como se mencionó anteriormente, la normalización del mundo gris es invariante a las variaciones de color α, β y γ, sin embargo, tiene un problema importante: no tiene en cuenta todos los cambios de intensidad de la iluminación y no es dinámico; cuando aparecen nuevas imágenes en la escena, falla. Para solucionar este problema, hay varias variantes del algoritmo de mundo gris, como usar promedios ponderados o aplicar el método médicos. Además, existe una variante iterativa de la normalización del mundo gris, sin embargo, no se encontró que ese método sea significativamente mejor.
Ecualización del histograma
La ecualización del histograma es una transformación no lineal que mantiene el rango de píxiles y es capaz de manejar funciones de transformación de color monotónicamente crecientes. Se considera una transformación de normalización más poderosa que el método del mundo gris. La técnica consiste en redistribuir las intensidades de píxeles para que sean aproximadamente uniformes, lo que puede mejorar el contraste y revelar detalles. Sin embargo, los resultados de la ecualización del histograma tienden a tener un canal azul exagerado y resultar no natural, porque en la mayoría de las imágenes se espera para este problema, porque en la mayoría de las imágenes el comportamiento de los valores de píxeles es generalmente más similar a una distribución Gaussiana que a una uniforme. Aunque este método es popular por su simplicidad y eficacia en ciertos contextos. En los estándares de Computer vision, la ecualización del histograma se aplica como un paso de procesamiento previo antes de la extracción de características o la clasificación.
Especificación de histograma
La especificación de histograma transforma los histogramas rojo, verde y azul para que coincidan con las formas de tres histogramas específicos específicos, en lugar de simplemente ecualizarlos. Se refiere a una clase de transformaciones de imagen que generan uníes con histogramas forma deseada. Esto permite un mayor control sobre la imagen de salida, to permitir elegir los histogramas objetivo según las necesidades de la aplicación y, por ejemplo, que coincidan con la distribución de color de una imagen de referencia. El proceso consiste en primero ecualizar la imagen de entrada y luego aplicar la inversa de la función de distribución acumulativa del histograma deseado. Este método es particularmente útil cuando se necesita una apariencia de color consistente en un conjunto grande de imágenes, como en imágenes médicas o la detección remota. Sin embargo, requiere la selección apropiada de los histogramas de aplicación, lo que puede implicar experiencia.