L’outil de synthèse colorée en version carnet JS Observable

Image

Pour rendre plus simple mais aussi plus ouverte l’utilisation de l’outil de création d’une palette synthétique à partir d’une image, il vient d’être porté sur le site de carnets interactifs Observable :
https://observablehq.com/@ljegou/color-abstract-via-multidim-kmeans

Le principe de ces carnets est d’offrir une plateforme interactive de modification et d’exécution de code, ce qui permet de l’utiliser directement mais aussi de le copier et d’en examiner le fonctionnement.

L’un des points qui restait à améliorer était la façon dont l’outil sélectionne les groupes de couleurs représentatifs de l’image, ce qui correspond à une segmentation. Les versions précédentes de l’outil utilisent un algorithme à base d’agglomération progressive des couleurs selon leur proximité, qui fonctionne mais n’est pas très rapide, notamment avec les espaces colorimétriques complexe (comme CIE*Lav et CIE*Luv).

Le choix de l’espace de définition des couleurs

Pour aller vers des algorithmes de segmentation plus robustes et plus rapides, j’ai utilisé ici une méthode assez classique, celle des K-Moyennes (ou K-Means en anglais). Cette méthode produit des segmentations assez rapidement en utilisant un semis aléatoire de départ, qui est affiné progressivement. Il en découle que les segmentations peuvent varier légèrement d’une exécution à l’autre.

J’utilise ici une version multi-dimensionnelle des K-Moyennes proposée par Stanley Fork , détectée et présentée pour Observable par Philippe Rivière. Ici, la segmentation est effectuée sur les valeurs de composante des couleurs échantillonnées dans l’image, selon l’espace colorimétrique retenu (par exemple, les composantes R, V et B en trichromie simple). La rapidité d’exécution permet d’utiliser différents modèles colorimétriques de mesure des couleurs, ce qui permet de les comparer rapidement.

L’autre intérêt de la plateforme Observable, c’est qu’elle gère très bien le travail avec les formes graphiques vectorielles, via la bibliothèque de fonctions SVG D3. Cela permet de pourvoir télécharger directement toutes les illustrations générées au format SVG ou PNG. De même, on peut facilement télécharger les structures de données au format texte JSON :

La palette synthétique détectée, sous la forme d’une structure JSON classée.

Observable propose aussi une bibliothèque pour générer rapidement des graphiques complexes, Plot, que j’ai utilisée ici pour proposer deux histogrammes de la palette synthétique détectée, triée par effectifs décroissants ou par teinte.

Histogramme de la palette détectée, par effectifs décroissants.
Histogramme de la palette détectée, trié selon la teinte.

Exemple d’utilisation

Pour utiliser l’application, quelques étapes :
– Charger une image (JPEG ou PNG, la taille de l’image influe le temps de calcul).
– La synthèse colorée se calcule avec les valeurs par défaut des paramètres, que l’on peut affiner.

La montagne Sainte Victoire de Paul Cézanne, 1902-1904.

Paramètres :
– Nombre de clusters colorés à rechercher : détermine le niveau de regroupement. Choisir plus de clusters (symboles sur le graphique) offrira une analyse plus fine.
– Sampling step : écart d’échantillonnage. L’outil simplifie l’image en une série de points séparés dans l’image par cet écart en pixels. Plus de points affine l’analyse mais allonge le calcul.
– Min. luminosity : Limite minimale de prise en compte des couleurs de l’image, pour ne pas s’occuper des parties trop sombres.

Les paramètres d’analyse de l’image de la Sainte Victoire de Paul Cézanne

Résultat de l’analyse, un graphique par cercles proportionnels sur deux axes en représentation polaire (la teinte est l’angle, le rayon correspond soit à la saturation, soit à la luminosité) :

Le résultat de l’analyse de l’image avec les paramètres ci-dessus.

Comme d’habitude, je suis preneur de toute remarque et commentaire sur l’utilisation de cet outil, n’hésitez pas à l’utiliser et à le modifier à votre tour (on peur “forker” un carnet, c’est à dire en créer une version de copie, sur son propre compte Observable).

À vous de jouer !

La nomenclature Werner rééditée

En passant

Avant l’existence des palettes de couleurs référencées, souvent présentées sous la forme d’éventails colorés, un des moyens les plus utilisés pour attribuer un nom et une valeur à une couleur consistait à la comparer avec celles reproduites dans un ouvrage spécialisé : la nomenclature Werner’s, du nom du géologue allemand qui en a eu l’idée, publiée par Patrick Syme, un peintre écossais, en 1821.

Cet ouvrage a connu un succès certain auprès des scientifiques “de terrain” du XIXe siècle, le plus célèbre de ses utilisateurs ayant été Charles Darwin, qui disposaient ainsi d’un moyen de décrire précisément les couleurs de leurs spécimens au moment de leur observation ou récolte. Les peintres et décorateurs s’en sont aussi beaucoup servi car l’auteur décrit comment recréer les couleurs en mélangeant les teintes de base et propose une organisation structurée des couleurs selon ces principes.

L’ouvrage est disponible librement en ligne dans les rayons de Archive.org, mais il a aussi été réédité de belle façon par Smithonian Books.

A propos de la palette “arc-en-ciel” favorisée par les climatologues

Une palette toujours considérée comme néfaste

gfs_T2ma_global_20_aa

Modèle climatologique, Levi Cowan, 2015

La palette dite “arc-en-ciel”, qui consiste à balayer toutes les teintes avec une même intensité pour représenter un phénomène quantitatif (qui varie souvent dans une seule dimension), est depuis longtemps utilisée par certains scientifiques, particulièrement en climatologie.

Cette palette se moque évidemment de la (forte) capacité de la couleur (teinte) à transmettre l’idée de différence, de distinction, et semble croire que le lecteur sera capable de lire une gradation, une variation progressive de la valeur du phénomène alors que les teintes parcourent progressivement l’arc-en-ciel.

Ces deux suppositions vont bien sûr à l’encontre des enseignements de la sémiologie graphique et de la psychologie cognitive de la perception. Elles sont évidemment très préjudiciables pour les personnes atteintes d’un déficit de perception des teintes (approximativement 8% de la population masculine et 0,5% de la population féminine).

Ces pratiques ont été dénoncées spécifiquement par plusieurs collègues :

L’outil de synthèse colorée présenté dans ces pages permet d’illustrer clairement les problèmes posés par ce mode de représentation.

Illustration avec l’outil de synthèse colorée

L’image utilisée pour cet exemple a récemment fait parler d’elle car il s’agit d’un modèle des anomalies de températures dans le monde pour la journée du 25 février 2015, par rapport aux moyennes calculées sur la période 1981-2010. On y voit clairement la vague de froid qui frappe l’est des États-Unis depuis quelques jours, que certains pourraient tenir comme preuve à l’encontre de l’idée du changement climatique.

On en trouve la version originale sur le site de l’auteur des modélisations, Levi Cowan.

Analysée en mode HLS, cette carte donne le résultat suivant :

Carte climat analyse HLS

Mode HLS

Les paramètres utilisés sont :

  • Échantillonnage : 10 pixels
  • Seuil de détection des couleurs : 6
  • Espace colorimétrique : CIELab (rgb)
  • Coef. d’agrandissement des symboles : 160%

Climato 3D

Analyse en 3D

L’image produite montre nettement des alignements de teinte, qui plus est avec des tailles de symboles graduées (les phénomènes extrêmes de température sont heureusement peu fréquents et peu étendus). Ce qui pose problème, c’est bien sûr que l’on peut compter quatre alignements, deux importants et deux plus faibles, selon des sens de progression parfois opposés, alors qu’il ne s’agit que d’une variable monodimensionnelle (avec certes deux sous-composantes : positive et négative).

On se rend compte, enfin, que la gamme des verts a été oubliée de cette palette, peut-être pour réduire l’effet disparate d’une variation complète dans la gamme des teintes ?

Aide de l’outil de synthèse colorée

L’outil de synthèse colorée, dans sa v2, a pour objectif de produire une représentation graphique, 2D ou 3D, qui permet d’analyser l’utilisation des couleurs dans une image.

Cette analyse se base sur :

  • une décomposition des couleurs en leurs composantes de Teinte, Saturation et Luminosité (TSL ou HSL en anglais),
  • leur regroupement en ensembles de couleurs proches,
  • puis en la représentation graphique par symboles proportionnels des quantités de pixels de chaque ensemble (En 2D, la superposition des symboles se fait dans l’ordre décroissant de taille pour éviter les masquages).

Principe de l’analyse :

  1. Dans le cadre n°1, cliquer sur le bouton pour choisir une image sur votre ordinateur. (L’outil est une page html qui va travailler dans votre navigateur, rien n’est envoyé sur le serveur).
  2. Une première analyse est réalisée, avec les paramètres par défaut.
  3. Vous pouvez modifier les paramètres pour varier ou améliorer l’analyse (cf. les descriptions d’utilisation en 2D et en 3D).

Description des paramètres

  • Écart d’échantillonnage

L’outil utilise un échantillonnage régulier des pixels de l’image pour accélérer le traitement qui pourrait être long. Pour qu’une proportion plus grande de l’image soit analysée, réduisez ce paramètre (mais attention à l’augmentation des temps de traitement).

  • Seuil de différence

Le principe de base de l’analyse est de regrouper les couleurs trouvées en des ensembles de valeurs proches, selon leurs 3 composantes (selon le type d’espace colorimétrique, de mode de définition de couleurs, utilisé, cf. ci-dessous). Ce paramètre permet de regrouper les couleurs dont la différence de valeur est inférieure au seuil fixé.

  • Couleurs principales à exclure

Dans le cas d’une image avec un fond occupant une large surface (par exemple une carte sur fond blanc), il est possible d’enlever la (ou les) couleur(s) de ce fond de la représentation du résultat de l’analyse.

  • Espace de couleurs de travail

La mesure des différences entre la couleur du pixel examiné et celles des groupes déjà trouvés dans l’image s’effectue en calculant la moyenne des différences des composantes des couleurs. Ces composantes diffèrent selon l’espace colorimétrique choisi, c’est-à-dire le moyen de définir informatiquement une couleur.

Dans l’outil, quatre espaces sont disponibles :

  • YUV : ce système sépare luminance (Y) de chrominance (U et V), il est notamment utilisé pour la télévision. Les trois composantes prennent des valeurs entre 0 et 255.
  • HSL : Teinte (sur 360), saturation et luminosité (sur 100).
  • CieL*a*b* et CieL*u*v : modèles établis pour mieux prendre en compte les spécificités de la vision humaine des couleurs. Composantes entre 0 et 255. Les calculs sont plus longs dans ces espaces (mais plus justes).
  • Luminosité min et max

On peut ici réduire l’intervalle de travail lorsque l’on veut restreindre la représentation à une partie seulement de l’image du point de vue de sa luminosité, pour la rendre plus lisible.

  • Contours des cercles

Les cercles colorés de la représentation en 2D peuvent être dessinés avec un contour de luminosité contrastée, pour mieux les distinguer lorsqu’ils sont très clairs ou superposés à d’autres cercles.

  • Libellés des axes

Ce paramètre permet de gérer l’affichage du libellé des axes sur la représentation en 2D.

  • Taille des symboles

On peut ici choisir un pourcentage de modification de la taille des symboles.

  • Axes en 2D

Dans la représentation en 2D, il faut choisir lesquelles des 3 composantes seront réparties sur les 2 axes disponibles (la troisième étant perdue).

  • Type d’analyse

On détermine ici entre une analyse de toute l’image ou seulement des points d’une ligne (a dessiner sur l’image par deux clics sur ses extrémités).

  • Couleur (de référence) du groupe

Cet important paramètre permet de sélectionner quel sera l’indicateur statistique pour calculer la différence de couleur entre le pixel en cours d’analyse et les groupes de couleurs déjà formés précédemment : la moyenne ou la médiane des groupes. L’utilisation de la médiane allonge un peu le temps d’analyse.

  • Opacité

On peut ici choisir d’utiliser des symboles transparents, avec une opacité inférieure à 1.

Fonction du remplacement de la couleur

Avec le panneau n°4, l’outil propose une fonction de remplacement de tout un groupe de couleurs par une couleur choisie.

  1. cliquer sur le bouton “choix de la couleur”
  2. cliquer dans la représentation en 2D sur le groupe de couleurs à remplacer
  3. choisir la couleur de remplacement en cliquant dans le rectangle (dont la valeur par défaut est “ffffff”, soit blanc).
  4. cliquer sur le dernier bouton “remplacer la couleur” pour obtenir une image PNG du résultat.

Exportation de la représentation

Le panneau n°5 permet enfin d’exporter la figure résultat de l’analyse sous la forme de :

  • fichiers PNG (pixel) ou SVG (vecteurs) pour l’analyse en 2D
  • fichier PNG pour l’analyse en 3D.

 

 

Nouvel outil de création de gradients doubles

Image


inflexion

On utilise très souvent les gradients doubles en cartographie thématique, par exemple lorsque le phénomène à représenter présente des valeurs positives et négatives, ou qu’il existe un seuil utile dans ses valeurs (moyenne, indice 100, etc.).

L’outil de création de gradients pouvait être utilisé en deux fois pour créer une telle double progression, mais il est plus simple désormais d’utiliser un nouvel outil développé spécifiquement :

En français : http://www.geotests.net/couleurs/gradients_inflex.html
En anglais : http://www.geotests.net/couleurs/gradients_inflex_en.html

L’outil propose la modification d’une quatrième composante : la transparence, en plus des trois classiques, teinte, saturation et luminosité, suite à une idée de F. Bahoken. Cette fonction a aussi été ajoutée à l’outil de création de gradients d’une seule progression.

Nouvelle version de l’outil de synthèse colorée

Image

De nouveaux développements de cet outil ont été effectués, pour prendre en compte des idées intéressantes : la possibilité de rendre transparents les symboles de l’analyse (F. Bahoken) et le choix de la méthode de représentation des groupes de couleurs.

Rappel, les URLs de l’outil :

En français : http://www.geotests.net/couleurs/frequs_svg.html?l=fr
En anglais : http://www.geotests.net/couleurs/frequs_svg.html

Synthèses colorée avec transparence

Transparence dans les symboles de l’analyse

 La transparence des symboles permet de visualiser leur plus ou moins grande superposition, dans le cas de réglages favorisant des groupes de couleurs proches. Elle produit en outre des visualisations qui ont un intérêt esthétique dans le mélange des couleurs.

moyenne et médiane Analyse de la carte avec un gradient jaune-vert.

La seconde modification de l’outil concerne la méthode selon laquelle les couleurs d’un même groupe sont représentés par une couleur et donc par un symbole unique. Auparavant c’est la moyenne des couleurs du groupe qui avait ce rôle représentatif, mais le risque existe que la couleur moyenne d’un groupe n’existe pas réellement dans l’image. On a donc ajouté la possibilité d’utiliser la couleur médiane, c’est à dire celle qui est représentée en plus grand nombre dans le groupe.

Dans certains cas, le résultat de l’analyse sera donc légèrement différent selon la méthode utilisée, surtout si on utilise des paramètre produisant un petit nombre de symboles sur l’analyse (ie. un seuil de regroupement important).

Dans tous les cas on conseille de faire varier légèrement les paramètres de seuil et de tester plusieurs espaces colorimétriques de calcul, l’algorithme d’analyse étant sensible et pouvant produire des résultats sensiblement différents dans les détails.

 

Vers l’harmonie d’une palette : le déséquilibre

Galerie

Cette galerie contient 9 photos.

Le décalage ou déséquilibre Dans tout effet de rhétorique visuelle (cf. bibliographie, Groupe µ 1960) se trouve un décalage perceptible par rapport à ce qui était attendu, ce décalage produisant une réaction qui ajoute à l’effet esthétique. Il est possible … Continuer la lecture

Vers l’harmonie d’une palette : couleurs froides / couleurs chaudes

Galerie

Cette galerie contient 10 photos.

Palettes : couleurs froides / couleurs chaudes La première des formes d’organisation des couleurs est celle qui oppose et ordonne les couleurs dites “froides” et les couleurs dites “chaudes”. On la retrouve notamment décrite par les peintres et même reprise … Continuer la lecture

Vers l’harmonie d’une palette : harmonies de nuance

Galerie

Cette galerie contient 6 photos.

Les harmonies de valeur, de saturation La désaturation Une palette réalisée en gardant un niveau de valeur / saturation proche entre les couleurs qui la composent peut exprimer une certaine harmonie. La différence entre les étapes du gradient est assurée … Continuer la lecture

Vers l’harmonie d’une palette : couleurs complémentaires

Galerie

Cette galerie contient 5 photos.

L’opposition des couleurs complémentaires Les teintes complémentaires sont simplement celles qui s’opposent sur le cercle chromatique. Ainsi, le rouge s’oppose au vert-bleu, le jaune au bleu-violet, le vert pur au violet-rosé, etc. Ces oppositions sont bien connues des peintres et … Continuer la lecture