Reconocimiento de color
# Reconocimiento de color

El reconocimiento de color es la capacidad de un sensor o algoritmo de distinguir colores a partir de la extracción de información de la luz.

## Relación entre la medida del color y la respuesta visual humana

La luz es el nombre que reciben las ondas electromagnéticas con longitudes de onda entre 380nm y 780nm. Este rango viene determinado por las limitaciones del sistema visual humano y por la subjetividad del color, cosa que condiciona totalmente su reconocimiento. Por este motivo el proceso de la medida de color toma como referencia la curva espectral de respuesta visual humana (definida por la CIE).

La medida objetiva de los colores recae en la distribución espectral del color que expresa la energía de la luz que tiene cada longitud de onda del espectro visible.

En el proceso de reproducción se hace casi imposible reproducir distribuciones espectrales exactas a las adquiridas. Para solucionar este inconveniente se generan colores que tienen la misma respuesta visual aunque tengan espectros diferentes. Estos colores se llaman metámeros. La siguiente ecuación permite generar colores metámeros:

## Determinación del color a partir de la luz

La manera básica de detectar el color consiste en captar la luz incidente en un sensor, (CCD o CMOS). Este, mediante un conjunto de celdas de fotones que forman una matriz de puntos, uno por cada pixel, es capaz de medir la cantidad de luz llegada a cada uno de estos, produciendo una corriente eléctrica que varía en función de la intensidad de luz recibida. Una vez se ha medido la cantidad de luz se procede a la detección de colores.

### Máscara de Bayer

Si se dispone de un solo sensor para realizar la separación de color se suele utilizar una Máscara de Bayer: Este filtro aplica una distribución de colores proporcionalmente diferente para los tres colores primarios RGB (25% Rojo (R), 50% Verde (G) i 25% Azul (B)). Como se comenta anteriormente esto viene dado por las limitaciones del sistema visual humano, el cual es más sensible a las longitudes de ondas próximas a los tonos verdes. Por último se aplica un algoritmo de reconstrucción del color (demosaicing) interpolando la salida del filtro de Bayer.

### Separación de la luz

Utilizando tres sensores acoplados podemos realizar la separación de color con un dispositivo de separación de luz, como por ejemplo un filtro dicroico. Estos consisten en finas capas de materiales alternadas, cada una con diferentes índices de refracción y de esta manera separan la luz incidente en sus componentes rojo, verde y azul. Es importante remarcar que estos filtros son sensibles a las variaciones de temperatura del color, por eso se aplica un balance de blancos, el cual ajusta la parte más brillante de la imagen para que aparezca como blanco y la menos brillante como negro.

* Espejos dicroicos: estos espejos especiales reflejan longitudes de onda concretas. Las longitudes de onda que se reflejan vienen determinados por el espesor de las diferentes capas del espejo. Cada reflejo de los espejos se enviará a un sensor diferente, consiguiendo así un canal para cada longitud de onda. El sistema típico consiste en dos espejos, uno para la luz azul y uno para la luz roja, y enviada cada una a un sensor diferente. Estos dos espejos dejan pasar la luz verde que llega a un tercer sensor.
* Prismas dicroicos: este sistema se basa en la utilización de prismas dispersores refractivos que separan la luz en longitudes de onda. Permiten una selección más precisa de las longitudes de onda respecto los espejos dicroicos.

Existen sensores que separan directamente la luz en colores durante la captación, es decir que en cada píxel ya se obtienen los valores de los componentes de color. Estos son los sensores cmos con Sensor Multicapa, desarrollados por Foveon Inc. Este sensor consta de tres capas de silicio superpuestas, cada una con una respuesta diferente a diferentes longitudes de onda. Esta diferencia de respuesta viene determinada por el hecho de que las diferentes longitudes de onda penetren el silicio a diferentes profundidades.

## Reconocedores de color de alto rendimiento

El reconocimiento de colores se puede realizar mediante sensores activos, que son aquellos que emiten algún tipo de energía en el entorno. Estos sensores tienen el inconveniente de que necesitan mucha energía y procesado de los datos obtenidos.

Los detectores de color de alta precisión pueden detectar el color de una superficie. Estos sensores se definen como retro-reflectores ya que emiten luz con unos leds azul, rojo y verde sobre el objeto a analizar. Seguidamente, calculan las coordenadas cromáticas a partir de la radiación reflejada y las comparan con los colores de referencia previamente almacenados. Algunos dispositivos de detección de color que usen estos sensores tienen la capacidad de aprender e introducir nuevos colores de referencia.

## Reconocimiento de colores específicos

El reconocimiento de color para determinar qué colores aparecen en una imagen, captada o que se está captando, se realiza mediante los modelos de color, ya que estos hacen posible la representación de los colores de forma numérica. Los modelos de color (por ejemplo RGB, YUV o HSL) permiten crear filtros para discriminar colores. Este método consiste en definir una función que actúe como umbral de decisión para el detector. Esta función se define según el espacio de color utilizado y determina qué valores no pueden sobrepasar una componente o una combinación lineal de las componentes. Por ejemplo, se pueden representar las componentes R, G y B con un byte por componente y mediante un recorrido píxel a píxel de la imagen, determinar qué zonas de la imagen captada corresponden a un color específico. Por otro lado, si se quieren realizar aplicaciones donde entra en juego el nivel de luminancia del entorno, es más adecuado usar el modelo de color YUV. El método de decisión en este caso es medir la similitud entre los valores de las componentes U y V del píxel y un valor de referencia (relacionado con el color a detectar).

## Aplicaciones para los detectores de colores

* La aplicación más obvia en cuanto a determinación del color a partir de luz es la posibilidad de adquirir contenidos visuales en color. Este hecho ha dado lugar a la creación de dispositivos tales como las cámaras digitales o los escáneres, además de permitir los posteriores algoritmos y métodos de detección de color a partir de imágenes.
* Creación de dispositivos para ayudar a personas con déficits visuales con el objetivo de proporcionarles más independencia. Un ejemplo de esto es el eyeborg, el cual transforma las frecuencias de los colores en sonidos y está destinado a les personas que padecen daltonismo o acromatopsia. O colorino, un detector de colores para personas ciegas, que nos informa del color con una señal de voz.
* Los detectores de color de alto rendimiento se utilizan en procesos industriales de clasificación.
* En el campo de la robótica la detección de colores es muy útil para crear máquinas que realicen funciones donde es necesaria la distinción de ciertos colores, como por ejemplo, clasificación de productos.
