# Transfert de couleurs basé superpixels

Rémi Giraud, Vinh-Thong Ta, Nicolas Papadakis

► To cite this version:

Rémi Giraud, Vinh-Thong Ta, Nicolas Papadakis. Transfert de couleurs basé superpixels. Colloque du Groupe de Recherche et d'Etudes de Traitement du Signal et des Images (GRETSI'17), Sep 2017, Juan-les-Pins, France. hal-01542596v2

HAL Id: hal-01542596

https://hal.science/hal-01542596v2

Submitted on 13 Mar 2019

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons CC0 1.0 - Universal - International License
# Transfert de couleurs basé superpixels

Rémi GIRAUD¹,², Vinh-Thong TA¹,³, Nicolas PAPADAKIS²

¹Univ. Bordeaux, LaBRI, CNRS, UMR 5800, F-33400 Talence, France

²Univ. Bordeaux, IMB, CNRS, UMR 5251, F-33400 Talence, France

³Bordeaux INP, LaBRI, UMR 5800, F-33405 Talence, France

{remi.giraud, vinh-thong.ta}@labri.fr, nicolas.papadakis@math.u-bordeaux.fr

**Résumé** – Dans ce travail, nous présentons une méthode rapide de transfert de couleurs basé superpixels entre deux images. Nous proposons un algorithme de recherche de plus proches voisins approchés de superpixels, dans lequel nous limitons la sélection des mêmes éléments pour augmenter la diversité des correspondances. Une étape de fusion basée sur les similarités spatiales et colorimétriques est proposée pour transférer efficacement les couleurs sélectionnées, et nous démontrons l'amélioration obtenue par rapport aux résultats issus d'une recherche exhaustive des plus proches voisins. Enfin, nous montrons que la méthode proposée est compétitive par rapport aux méthodes de l'état-de-l'art.

**Abstract** – In this work, we present a fast method to perform superpixel-based color transfer between two images. We propose a fast approximate nearest neighbor search algorithm of superpixels, in which we limit the selection of the same elements to enforce the match diversity. A fusion step, based on spatial and color similarities, is proposed to accurately transfer the matched colors, and we demonstrate the improvement over results from exhaustive nearest neighbor matching. Finally, we show that our method is competitive with state-of-the-art methods.

## 1 Introduction

**Transfert de couleurs.** Cette application consiste à modifier la distribution couleur d'une image cible en utilisant une ou plusieurs images sources. Le résultat doit être cohérent avec la structure de l'image cible, et le temps de calcul limité pour permettre le traitement de grandes images ou de séquences vidéo. Beaucoup d'approches ont été proposées pour transférer les statistiques couleur dans différents espaces [20, 14, 13]. Des outils de transport optimal permettent quant à eux de transférer entièrement les distributions couleurs [16, 6]. Néanmoins, les distributions entre les images pouvant être très différentes, le transfert exact d'une palette couleur peut entraîner des aberrations visuelles. De plus, en ne considérant que l'espace colorimétrique, des couleurs incohérentes peuvent être attribuées aux pixels voisins. Dans [18], un algorithme de type espérance-maximisation (EM) est utilisé pour estimer un modèle de mélanges Gaussiens dans l'espace couleur et spatial, l'information de position aidant à préserver la structure de l'image. Cependant, l'association des distributions est effectuée par une approche gloutonne, sans contrôle sur la sélection des couleurs de l'image source. Des modèles de transport optimal relaxé, n'associant pas rigoureusement les distributions ont alors été proposés [5], mais ils s'appuient sur des algorithmes coûteux, même appliqués à l'échelle de superpixels [17].

**Superpixels.** Ces méthodes réduisent le nombre d'éléments à

<figure><img src="image_2.png" /><figcaption>Image cible</figcaption></figure>

<caption>Image source</caption>

<caption>Résultat de SCT</caption>

<caption>FIGURE 1 – Transfert de couleurs avec la méthode proposée SCT</caption>

traiter en groupant les pixels en zones homogènes, par exemple [1, 9]. Elles sont largement utilisées pour réduire le temps de calcul de méthodes de traitement d'images, telles que la localisation d'objet [7] ou la détection de contours [2]. La géométrie irrégulière des superpixels rend difficile leur utilisation dans des chaînes de traitement classiques [8]. Cependant, pour le transfert de couleurs, ceux-ci permettent de capturer des régions de couleur constante, qui peuvent trouver des correspondances sans tenir compte du voisinage. Les approches basées superpixels permettent une meilleure adaptation au contenu de l'image mais nécessitent toujours un coût de calcul important dans le cas du transfert de couleurs par correspondance de graphes [17, 12]. En dehors du suivi d'objets [19], les algorithmes rapides de recherche de superpixels ont été peu étudiés. Dans [10], l'algorithme PatchMatch (PM) [3], qui calcule des plus proches voisins approchés ANN (pour Approximate Nearest Neighbor) en termes de patch, est adapté aux graphes, et [11, 8] le considèrent pour les superpixels.

**Contributions.** Dans ce travail, nous proposons une méthode rapide de transfert de couleurs basé superpixels nommée SCT, pour Superpixel-based Color Transfer (exemple en Figure 1). Pour sélectionner les couleurs à transférer, on utilise l'algorithme PM [3], que l'on adapte pour gérer les superpixels [8].

<footnote>Ce travail a bénéficié d'un support financier de l'état Français, via l'Agence Nationale de la Recherche (ANR) dans le cadre du projet GOTMI (ANR-16-CE33-0010-01) et du programme d'Investissements d'Excellence IdEx Bordeaux (ANR-10-IDEX-03-02) avec le Cluster d'excellence CPU.</footnote>
<figure><img src="image_3.png" /><figcaption>FIGURE 2 – Illustration de l'étape de propagation. Le superpixel $A_i$ (rouge) est actuellement associé à $B_{(i)}$. Ses voisins haut-gauche (gris) déjà traités sont considérés pour fournir de nouveaux candidats. Un voisin $A_j$ est associé à $B_{(j)}$, menant au candidat $B_k$, le voisin de $B_{(j)}$ avec l'orientation relative la plus proche de celle entre $A_i$ et $A_j$</figcaption></figure>

Pour capturer globalement la palette couleur de l'image source, nous proposons une méthode pour contraindre le processus de recherche d'ANN et ainsi limiter la sélection des mêmes superpixels. Les couleurs sélectionnées sont transférées par une approche de fusion, inspirée par la méthode de moyennes non locales [4]. Enfin, nous montrons que SCT produit des résultats satisfaisants en un temps de calcul limité grâce aux superpixels.

# 2 Méthode de transfert de couleurs

## 2.1 Recherche d'ANN de superpixels

**Algorithme PatchMatch.** La méthode PatchMatch (PM) [3] calcule des correspondances approchées (ANN) entre les patchs de pixels de deux images A et B. L'algorithme est constitué de trois étapes. La première associe aléatoirement à chaque patch de A une correspondance dans B. Un processus itératif composé de deux étapes est alors effectué afin de trouver pour chaque patch $A_i \in A$, une meilleure correspondance $B_{(i)} \in B$ qui minimise la distance $D(A_i, B_{(i)})$. Les patchs sont traités séquentiellement à chaque itération, par exemple du coin haut-gauche à bas-droit. Durant la propagation, pour chaque patch de A, les voisins adjacents déjà traités durant l'itération sont considérés. Leurs correspondances sont décalées pour respecter la position relative des patchs dans A, et ces nouveaux patchs dans B sont candidats pour devenir la correspondance du patch traité dans A. Enfin, une troisième étape de recherche aléatoire est effectuée afin de pouvoir échapper à de potentiels minimum locaux.

**Adaptation aux superpixels.** Plusieurs problèmes apparaissent en considérant PM dans le cas des superpixels [8]. Puisque les superpixels décomposent l'image en zones irrégulières, il n'y a pas de relation d'adjacence constante entre les éléments. D'abord, un ordre de traitement des superpixels de A doit être défini. Ensuite, durant la propagation, la géométrie de la décomposition étant également différente dans B, le décalage de la correspondance du voisin, ne peut pas être directement effectué. Une solution est de choisir le superpixel avec l'orientation relative la plus similaire calculée par rapport aux barycentres spatiaux des superpixels. La Figure 2 montre un exemple de sélection du candidat durant la propagation. Cette adaptation définit un algorithme rapide de recherche d'ANN de superpixels qui fournit une sélection des couleurs à transférer.

<figure><img src="image_4.png" /><figcaption>FIGURE 3 – Exemple de correspondances obtenues sans ($\epsilon$ = $\infty$) et avec ($\epsilon$ = 1) contrainte sur la sélection des ANN. Sans contrainte, tous les superpixels cibles sont associés à un élément source rouge</figcaption></figure>

## 2.2 Contrainte de diversité des ANN

En pratique, la recherche d'ANN peut converger et fournir les meilleures correspondances. Le but du transfert de couleurs est de transférer globalement la palette couleur de l'image source. Si celle-ci contient un ou plusieurs éléments qui correspondent aux couleurs de l'image cible A, la recherche d'ANN peut mener aux mêmes correspondances, et le résultat du transfert est alors très proche de A. La Figure 3 illustre ce problème. L'image source contenant également du rouge, tous les superpixels de l'image cible trouvent une correspondance de couleur rouge proche. Le transfert est alors quasi nul.

Afin d'augmenter la diversité des correspondances, nous proposons de contraindre la recherche d'ANN en fixant un paramètre $\epsilon$, qui définit le nombre maximum de sélections du même superpixel. Dans la Figure 3, avec $\epsilon$ = 1, les superpixels cibles capturent à présent de façon globale la palette couleur de l'image source. Il est pour cela nécessaire de s'assurer que la décomposition est telle que $|A| \le \epsilon|B|$, et que l'initialisation respecte la contrainte fixée par $\epsilon$ lorsque l'on assigne aléatoirement les correspondances. Ensuite, durant le processus itératif, un superpixel $A_i$ peut changer de correspondance pour un nouveau superpixel $B_k$ seulement si moins de $\epsilon$ superpixels dans A pointent déjà vers $B_k$. Dans le cas contraire, pour libérer $B_k$, un superpixel $A_j$ pointant vers $B_k$ doit être associé à une autre correspondance. Nous proposons d'associer un des $A_j$, correspondant actuellement à $B_k$, vers $B_{(i)}$, la correspondance actuelle de $A_i$, réalisant ainsi un échange des correspondances et assurant le respect de la contrainte fixée par $\epsilon$. Pour tous les superpixels $A_j$ tels que $B_{(j)} = B_k$, le coût de l'échange est calculé :

$$C(A_i, A_j) = (D(A_i, B_{(j)}) - D(A_i, B_{(i)})) + (D(A_j, B_{(i)}) - D(A_j, B_{(j)})). \quad (1)$$

Si pour au moins un superpixel $A_j$, on a $C(A_i, A_j) < 0$, on réduit alors la distance globale en procédant aux assignations suivantes : $\argmin_{A_j} (C(A_i, A_j)) \rightarrow B_{(i)}$ et $A_i \rightarrow B_{(j)} = B_k$.

## 2.3 Fusion des couleurs

Notre méthode fournit un ANN dans B pour chaque superpixel de A. Le but est de transférer la couleur des correspondances pour calculer l'image résultat du transfert de couleurs $A_t$, tout en préservant la structure de l'image cible A. Un superpixel dans A ayant une correspondance dans B, susceptible d'avoir une forme différente, il n'y a pas d'association unique pixel à pixel possible entre les deux éléments, et les couleurs ne
<figure><img src="image_5.png" /><figcaption>FIGURE 4 – Étapes de SCT. Représentation des décompositions des images (a) en superpixels avec leur couleur moyenne (b), des correspondances affichées sur l'image cible (c), et du résultat de fusion des couleurs (d) avec post-traitement par une méthode de regrainage [15] (e)</figcaption></figure>

<figure><img src="image_6.png" /><figcaption>FIGURE 5 – Exemples de résultats pour différentes valeurs de $\epsilon$, comparés à ceux obtenus sans contrainte ($\epsilon = \infty$). Les cartes (ligne du bas) indiquent le nombre de sélections des superpixels dans l'image source (le noir représente zéro, et le blanc, le plus grand nombre de sélections)</figcaption></figure>

peuvent pas être transférées directement à l'échelle pixellique. Les couleurs moyennes des ANN peuvent être transférées à leur correspondance dans A, mais cela produirait un résultat constant par morceaux.

Nous proposons de considérer les couleurs moyennes des ANN superpixels dans un schéma de fusion par moyennes non locales [4]. Ainsi, les couleurs de l'image source sélectionnées contribuent au calcul de la couleur de chaque pixel dans $A_t$. On accroît ainsi le nombre de candidats couleur pour chaque pixel, ce qui permet de s'adapter à la structure de l'image cible. Un superpixel $A_i$ est décrit par l'ensemble des positions $X_i$ et des couleurs $C_i$ des pixels contenus $p \in A_i$, tel que $A_i = [X_i, C_i] = [(x_i/N_x, y_i/N_y), (r_i, g_i, b_i)/255]$, pour une image A de taille $N_x \times N_y$ pixels. Pour calculer la couleur $A_t(p)$ du pixel p, la fusion pondérée des couleurs des ANN est effectuée par une moyenne pondérée des correspondances :

$$A_t(p) = \frac{\sum_j \omega(p, A_j) \bar{C}_{B(j)}}{\sum_j \omega(p, A_j)}, \quad (2)$$

avec $\bar{C}_{B(j)}$, la couleur moyenne du superpixel $B(j)$, la correspondance de $A_j$, et $\omega(p, A_j)$ le poids qui dépend de la distance entre le pixel considéré $p \in A_i$ et un superpixel $A_j \in A$. Afin de favoriser les contributions des superpixels similaires dans A, ce poids est calculé par une distance de Mahalanobis :

$$\omega(p, A_j) = \exp\left(-\left((p - \bar{A}_j)^T Q_i^{-1} (p - \bar{A}_j) - \sigma(p)\right)\right), \quad (3)$$

où $\sigma(p)$ définit la dynamique de l'exponentielle et est fixé tel que $\sigma(p) = \min_j \left((p - \bar{A}_j)^T Q_i^{-1} (p - \bar{A}_j)\right)$, et $Q_i$ inclut les covariances spatiales et colorimétriques des pixels dans $A_i$ :

$$Q_i = Q(A_i) = \begin{pmatrix} \delta_s^2 \mathrm{Cov}(X_i) & 0 \\ 0 & \delta_c^2 \mathrm{Cov}(C_i) \end{pmatrix}. \quad (4)$$

# 3 Résultats de transfert de couleurs

## 3.1 Paramètres

SCT est implémenté avec MATLAB. Les décompositions en superpixels sont calculées avec [9], de sorte à ce que chaque superpixel contienne environ 500 pixels. La recherche d'ANN est effectuée sur les histogrammes cumulés couleur dans l'espace RGB des superpixels. Dans l'Éq. (4), $\delta_s = 100\delta_c$ et $\delta_c = 0,1$ afin de favoriser la cohérence spatiale. Enfin, $\epsilon$ est fixé à 3, et les résultats sont post-traités par un regrainage [15]. Les étapes de SCT sont illustrées dans la Figure 4.

Notre méthode produit un transfert de couleurs en un temps réduit grâce à l'utilisation des superpixels : moins de 1s pour des images de 480×360 pixels, sur une machine standard de 4 cœurs à 2,6 GHz avec 16GO de RAM. Les décompositions sont calculées avec [9] en moins de 0,4s, la recherche d'ANN est effectuée en approximativement 0,1s et la fusion de couleur nécessite 0,25s pour produire le transfert de couleurs.

## 3.2 Influence de la diversité des ANN

En plus de la Figure 3, on illustre dans la Figure 5 l'influence du paramètre $\epsilon$ qui limite la sélection des mêmes superpixels. Les cartes correspondant à la sélection des superpixels dans l'image source, montrent que même une recherche rapide d'ANN peut converger vers des correspondances exactes. Par exemple, la plupart des superpixels de la fleur blanche dans l'image cible sont associés au plus blanc des superpixels de l'image source, ce qui produit un transfert de couleurs peu perceptible. Avec la méthode proposée, on capture efficacement et de manière globale la palette couleur de l'image source.
<figure><img src="image_7.png" /><figcaption>FIGURE 6 – Comparaison avec l'état-de-l'art [16], [14] et [13]</figcaption></figure>

## 3.3 Comparaison avec l'état-de-l'art

Dans cette section, on compare dans la Figure 6 la méthode proposée SCT aux résultats de méthodes basées sur le transport optimal [16], le transfert d'histogrammes par méthode variationnelle [14], et la correspondance de gamut couleur 3D [13].

SCT réalise une sélection des couleurs sources, qui sont efficacement transférées à la cible avec respect de l'exposition et du grain initiaux, contrairement aux autres méthodes. Par exemple, seul SCT réussit à transférer le bleu du ciel dans la mer (milieu), et la couleur orange des pierres, à l'herbe de la montagne (bas). Enfin, notre méthode SCT produit un transfert en moins de 1s. D'autres modèles tels que [14] peuvent nécessiter des temps de calcul conséquents allant jusqu'à 120s.

## 4 Conclusion

Dans ce travail, nous proposons une nouvelle méthode de transfert de couleurs basé superpixels. Notre méthode utilise une recherche rapide d'ANN puis effectue une fusion des couleurs sélectionnées. Nous introduisons un algorithme afin d'augmenter la diversité des ANN sélectionnés pour capturer plus globalement la palette couleur de l'image source. Les couleurs sont efficacement transférées avec respect du grain et de l'exposition de l'image cible en un temps limité grâce aux superpixels. De futurs travaux se focaliseront sur l'adaptation de la méthode à la vidéo avec l'utilisation des supervoxels.

## Références

[1] R. Achanta, et al. SLIC superpixels compared to state-of-the-art superpixel methods, PAMI, 2012.

[2] P. Arbelaez, et al. Contour detection and hierarchical image segmentation, PAMI, 2011.

[3] C. Barnes, et al. PatchMatch: A randomized correspondence algorithm for structural image editing, ACM TOG, 2009.

[4] A. Buades, et al. A Non-local algorithm for image denoising, CVPR, 2005.

[5] S. Ferradans, et al. Regularized discrete optimal transport, SIIMS, 2014.

[6] O. Frigo, et al. Optimal transportation for example-guided color transfer, ACCV, 2014.

[7] B. Fulkerson, et al. Class segmentation and object localization with superpixel neighborhoods, ICCV, 2009.

[8] R. Giraud, et al. SuperPatchMatch: An algorithm for robust correspondences using superpixel patches, TIP, 2017.

[9] R. Giraud, et al. SCALP: Superpixels with contour adherence using linear path, ICPR, 2016.

[10] S. Gould, et al. PatchMatchGraph: Building a graph of dense patch correspondences for label transfer, ECCV, 2012.

[11] S. Gould, et al. Superpixel graph label transfer with learned distance metric, ECCV, 2014.

[12] J. Liu, et al. Photo stylistic brush: robust style transfer via superpixel-based bipartite graph, arXiv preprint arXiv:1606.03871, 2016.

[13] R. Nguyen, et al. Illuminant aware gamut-based color transfer, Comput. Graph. Forum, 2014.

[14] N. Papadakis, et al. A Variational model for histogram transfer of color images, TIP, 2011.

[15] F. Pitié, et al. Towards automated colour grading, CVMP, 2005.

[16] F. Pitié, et al. Automated colour grading using colour distribution transfer, CVIU, 2007.

[17] J. Rabin, et al. Adaptive color transfer with relaxed optimal transport, ICIP, 2014.

[18] Y.-W. Tai, et al. Local color transfer via probabilistic segmentation by expectation-maximization, CVPR, 2005.

[19] S. Wang, et al. Superpixel tracking, ICCV, 2013.

[20] X. Xiao, et al. Color transfer in correlated color space, ACM VRCIA, 2006.