Transferencia de color y sus aplicaciones en procesamiento de imágenes

La transferencia de color (color transfer). Es una técnica del procesamiento de imágenes cuyo objetivo es modificar las propiedades de color de una imagen a partir de otra como referencia, preservando la estructura visual de la escena original.
Existen diversas estrategias para la transferencia de color entre imágenes, incluyendo modelos basados en mezclas gaussianas, enfoques estadísticos, métodos apoyados en machine learning, así como combinaciones de varios enfoques.
Muchos métodos de transferencia de color presentan una limitación importante cuando no existe correspondencia semántica entre la imagen fuente y la imagen objetivo. En estos casos, los enfoques basados en transferencias globales tienden a producir resultados inconsistentes, al no considerar la semántica de la escena.
Una estrategia habitual para abordar esta limitación consiste en incorporar información semántica mediante técnicas de segmentación. Sin embargo, la segmentación precisa de una imagen sigue siendo una tarea compleja, especialmente cuando se busca una solución completamente automatizada. Por esta razón, cuando se requiere un mayor nivel de control y coherencia visual, resulta común recurrir a métodos de transferencia de color asistidos por el usuario.
En la práctica, la transferencia de color suele implementarse mediante transformaciones estadísticas aplicadas sobre los canales de color. Estas transformaciones difieren principalmente en qué estadísticas de la imagen se igualan y en cuánta información de la distribución cromática se tiene en cuenta, lo que da lugar a métodos con distintos niveles de expresividad y complejidad.
A continuación se presentan tres métodos estadísticos clásicos para la transferencia global de color.
Normalización de media y desviación estándar (Reinhard)
El método propuesto por Reinhard constituye un enfoque fundamental al formular la transferencia de color como un problema de igualación de estadísticas de primer y segundo orden. El procedimiento se realiza en el espacio de color Lab, elegido por su mayor aproximación a la percepción humana y su separación explícita entre luminancia (L) y cromaticidad (a, b).
Para cada canal c ∈ {L, a, b}, el método ajusta la imagen fuente para que su media y desviación estándar coincidan con las de la imagen objetivo:
$$I_c' = \frac{\sigma_c^{(t)}}{\sigma_c^{(s)}} (I_c - \mu_c^{(s)}) + \mu_c^{(t)}$$
Este proceso puede interpretarse como una normalización seguida de una reescalación, aplicada de forma independiente a cada canal. El resultado es una transferencia estable, computacionalmente eficiente y robusta frente al ruido.

Sin embargo, al limitarse a estadísticas de primer y segundo orden, este método no puede alterar la forma de la distribución (asimetría, multimodalidad), ni modelar correlaciones entre canales.
(Reinhard):
Input: source_image, target_image
Convert source_image and target_image to Lab space
for each channel c in {L, a, b}:
mu_s = mean(source_image[c])
sigma_s = std(source_image[c])
mu_t = mean(target_image[c])
sigma_t = std(target_image[c])
for each pixel p in source_image[c]:
p' = (p - mu_s) * (sigma_t / sigma_s) + mu_t
assign p' to output_image[c]
Convert output_image back to RGB
Ajuste de histogramas y CDF matching
Para superar las limitaciones asociadas al uso de estadísticas de bajo orden, los métodos basados en histogram matching o ajuste de la función de distribución acumulada (CDF) extienden el control estadístico al considerar la distribución marginal completa de cada canal.
La idea central consiste en encontrar una transformación monótona Tc tal que la CDF del canal fuente coincida con la del canal objetivo:
$$T_c(x) = F_c^{(t),-1}(F_c^{(s)}(x))$$
Donde
$$\quad( F_c^{(s)}) \quad y \quad (F_c^{(t)} )$$
son las CDF del canal ( c ) de la imagen fuente y objetivo, respectivamente.
Este enfoque permite redistribuir los valores de intensidad de manera no lineal, ajustando contraste, rango dinámico y densidad de probabilidad, lo que resulta especialmente útil en el canal de luminancia. No obstante, al operar de forma independiente sobre cada canal, sigue sin capturar dependencias estadísticas entre componentes cromáticas.

Pseudocódigo (Histogram Matching):
Input: source_image, target_image
Convert images to chosen color space (e.g., Lab)
for each channel c:
hist_s = histogram(source_image[c])
hist_t = histogram(target_image[c])
cdf_s = cumulative_sum(hist_s)
cdf_t = cumulative_sum(hist_t)
mapping = inverse_cdf(cdf_t) ∘ cdf_s
for each pixel p in source_image[c]:
p' = mapping(p)
assign p' to output_image[c]
Convert output_image back to RGB
Transformación de blanqueamiento y recoloreo (WCT)
A diferencia de los enfoques anteriores, la Whitening and Coloring Transform (WCT) formula la transferencia de color como un problema estadístico multivariado, modelando explícitamente la matriz de covarianza completa de la distribución cromática.
Sea
$$X_s \in \mathbb{R}^{3 \times N}$$
la imagen fuente representada como un conjunto de vectores de color centrados. El método consta de dos etapas:
Blanqueamiento (Whitening): elimina las correlaciones entre canales y normaliza la varianza, transformando la distribución para que tenga covarianza identidad.
Recolorización (Coloring): impone la covarianza de la imagen objetivo, reintroduciendo correlaciones y escalas cromáticas.
Este procedimiento permite transferir no solo estadísticas marginales, sino también estructuras de dependencia entre canales, lo que se traduce en resultados visualmente más ricos y coherentes.
Es importante destacar que WCT no genera nueva información cromática: la distribución final replica la del objetivo. Por tanto, la calidad del resultado depende directamente de la diversidad cromática presente en la imagen de referencia.

(WCT):
Input: source_image, target_image
Reshape images to matrices X_s, X_t of size (3, N)
Compute mean vectors mu_s, mu_t
Center data:
X_s = X_s - mu_s
X_t = X_t - mu_t
Compute covariance matrices:
C_s = cov(X_s)
C_t = cov(X_t)
Eigen decomposition:
C_s = E_s * D_s * E_s^T
C_t = E_t * D_t * E_t^T
Whitening:
X_w = D_s^{-1/2} * E_s^T * X_s
Coloring:
X_c = E_t * D_t^{1/2} * X_w
Add target mean:
X_out = X_c + mu_t
Reshape X_out back to image
Cada uno de los métodos ofrece un nivel distinto de control sobre el color transferido. Sin embargo, en la práctica, los tres tienden a producir resultados visualmente similares cuando se aplican a imágenes con distribuciones cromáticas compatibles. Esto se debe a que todos parten de una misma idea fundamental: la redistribución estadística de los canales de color.
Las diferencias se vuelven más evidentes en escenarios de estilización, especialmente cuando la imagen objetivo presenta una estructura cromática muy distinta de la imagen fuente, caso en el cual WCT puede ofrecer resultados más expresivos.

Aplicaciones
Aunque la transferencia global de color no resulta adecuada para muchas aplicaciones, existe un escenario en el que puede ser especialmente útil: el realce cromático de una imagen. Cuando se dispone de imágenes con una estructura de color similar, es posible emplear una imagen objetivo con mayor dispersión cromática o contraste para transferir estas características a la imagen fuente.
El objetivo, por tanto, no es cambiar la semántica de la imagen ni su contenido visual, sino redistribuir la información de color para mejorar contraste, saturación y riqueza cromática, preservando la estructura original. Desde un punto de vista estadístico, este problema puede interpretarse como una expansión y reorganización de la varianza de los canales de color, sin introducir nuevas estructuras ni dependencias espaciales.



Bajo estas condiciones, la transferencia global de color resulta adecuada siempre que la imagen objetivo comparta una estructura cromática global similar con la imagen fuente, pero presente una mayor dispersión en su distribución de color. En la práctica, esto implica elegir imágenes de referencia más contrastadas o con una paleta cromática más rica, pero sin diferencias extremas que puedan introducir artefactos visuales.
Conclusión
Muchos de los trabajos revisados para escribir este articulo abordan la transferencia de color desde una perspectiva orientada a la estilización visual, buscando efectos artísticos como transformar un amanecer en un atardecer o modificar radicalmente la atmósfera de una escena. Sin embargo, siendo crítico, gran parte de estos enfoques presenta limitaciones importantes para lograr este tipo de resultados de forma consistente y controlada.
Para obtener resultados visualmente satisfactorios en escenarios de estilización compleja suele requerir el uso de herramientas de edición manual, como Photoshop, que permiten realizar correcciones locales y ajustes finos. Aun así, los métodos de transferencia de color pueden desempeñar un papel valioso como punto de partida, proporcionando una base cromática mejorada que reduce significativamente el número de ajustes posteriores necesarios.





