Essai du ColorReader : capturer des couleurs sur le terrain

Source : Jim Lennon Photographer
175-H2 Commerce Drive Hauppauge NY
631-617-5872

La société américaine DataColor, spécialisée dans les outils numériques pour la mesure et le calibrage des couleurs, propose depuis peu un outil original de mesure autonome des couleurs, le ColorReader, sorte de petite sonde portable. Elle existe en deux versions, avec ou sans écran d’affichage, la première nécessitant la connexion avec un smartphone (via bluetooth) pour afficher les couleurs mesurées.

Le produit est destiné surtout aux concepteurs et architectes d’intérieur qui veulent retrouver facilement la couleur d’un objet, d’un mur, d’une boiserie, dans les catalogues et nuanciers professionnels (RAL, NCS, etc.). L’application pour smartphones permet, au-delà du simple affichage des couleurs, de créer, de sauvegarder et de diffuser des palettes.

L’intérêt pour le concepteur graphique est assez évident, même si indirect : pouvoir saisir des couleurs et des gammes colorées directement “sur le terrain”, sans avoir à scanner ou à photographier des objets (livres, reproductions ou œuvres d’art), sans avoir à se préoccuper des réglages de l’éclairage et du calibrage des appareils de prise de vue. Certes, la mesure est un peu approximative à cause de la taille de l’ouverture de mesure de l’appareil (environ 5mm), mais elle est rapide et pratique.

Pour tester son utilisation dans le cadre de la recherche de gammes colorées issues de livres d’art, nous avons voulu extraire des gammes de quelques œuvres de F. Kupka (1871-1957), à partir du “Carnet d’Expo” publié par Gallimard et la RMN en 2018 à propos de l’exposition actuelle au Grand-Palais.

La gamme jaune – 1907

Le premier tableau de l’ouvrage se prête particulièrement à l’exercice de la recherche d’un assemblage de couleurs, il s’agit d’un travail quasi monochromatique, La Gamme Jaune, produit en 1907 et exposé en 1910.

Selon les spécialistes, il s’agit d’une référence directe au travail descriptif et systématique d’Eugène Chevreul (1864).

La mesure par le ColorReader, en prenant soin de placer l’objet sur des zones à peu près homogènes, donne la gamme simplifiée suivante :

#7a5734
#d58e35
#d9ac2d
#b9a52e
#c4b45d
#b6a680
#937246
#d9a038

Naturellement, l’ordre et surtout la proportion des couleurs ne sont pas forcément ceux du tableau (qui peut être “lu”, de toutes façons, différemment par chacun), mais on retrouve ici les couleurs de l’artiste dans une traduction trichromatique pour écran.

L’analyse du tableau avec l’outil de synthèse colorée permet de mieux visualiser les proportions et les relations entre les différentes couleurs :

Plans par couleurs (Femme dans les triangles) – 1910-1911

Le tableau suivant reprend certaines des tonalités jaunes du précédent et joue là encore explicitement sur les tons pour les assembler dans une sorte de clair-obscur modulant les transparences.

La lecture par le ColorReader nous donne une série de mesures assez fines :

#345242
#3a3732
#2c3b45
#484433
#72583c
#86743e
#948c7b
#939c6d
#b96f3c
#d6833a
#d5ac5e
#d3ae75

L’étude avec l’outil de synthèse colorée révèle ce que l’on pressent dans la gamme ci-dessus, un jeu sur la saturation dans les jaunes complété par quelques focalisations en bleu-vert et mauve sombre.

 

Grand nu, plan par couleurs – 1909-1910

Cette œuvre est très colorée, la couleur faisant office de perspective par plans en offrant du relief par le jeu des ombres entre teintes claires et teintes foncées. Chaque teinte marquée semble en effet présente selon plusieurs modalités de luminosité.

#7996b6
#555881
#c8bcb8
#b58b82
#7f5e80
#b9ad7e
#728074
#b7b9c4
#b9ad7e
#b78360

Le ColorReader nous indique les références des teintes, l’outil d’analyse étudie leurs proportions et relations et montre bien les écartes de saturation par teinte :

Dans l’analyse par luminosité, on remarque même des effets de “crochet” dans les bleus et les verts, des dégradés de luminosité jouant sur une faible variation de teinte, peut-être dus à la superposition de touches transparentes et à l’effet de la texture de la toile :

 

Le Miroir Ovale – 1909-1910

Dans cette dernière toile Kupka nous offre de nouveau un jeu sur la teinte et la luminosité, avec le reflet d’un personnage dans des tons de vert dont les ombres sont rouges violacées, accompagné de taches lumineuses marron-orange clair.

Le ColorReader nous propose la gamme suivante :

#b59861
#9fb075
#7b965d
#2d6e6b
#146762
#86aea5
#48858a
#64749d
#4e415d
#626172
#623a4a

L’analyse des proportions et relations colorées indique que, plutôt qu’une juxtaposition de “plaques” colorées, l’artiste utilise en fait avec le jeu des touches une gamme quasi-continue de teintes de l’orangé au mauve-bleu en passant par tous les verts (seul le mauve-rosé semble avoir été l’objet d’un mélange de coloris séparés) :

 

Au final, le ColorReader, comme outil d’échantillonnage sur le terrain, pour reprendre le vocabulaire des naturalistes, est un très intéressant complément de la boîte à outils de l’amateur de couleurs. En utilisant sa capacité à traduire rapidement, puis stocker une couleur repérée par le ou la chercheur.e, ainsi que l’expérience de ce dernier ou cette dernière pour sélectionner visuellement les teintes à mesurer, on peut facilement se constituer des palettes ou en extraire depuis des représentations matérielles, physiques ou des objets “naturels”. Il faudra d’ailleurs tester, dans un prochain billet, cette possibilité sur des teintes véritablement naturelles cette fois.

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.

Une version python pour l’outil de synthèse colorée

Lien

Dans le but de pouvoir analyser des images de grande taille plus rapidement, un re-développement de l’outil sous Python a été réalisé.

Le code source est disponible librement sur ce dépôt Github : https://github.com/ljegou/PyColorTool

Description du fonctionnement

Ce projet utilise la bibliothèque Flask, qui permet de créer des applications web multi-threads, c’est à dire avec plusieurs traitements possibles en parallèle. Cela permet d’offrir une interface graphique (page HTML) et de pouvoir suivre l’avancement des analyses (barre de progression).

L’analyse elle-même est bâtie autour d’une clusterisation (classification) de type K-Moyennes, réalisée par la bibliothèque SciKit-Learn du projet SciPy (de type KMeans++, plus précisément).

Ainsi, la méthode de regroupement des couleurs est légèrement différente de celle proposée par l’outil JavaScript, mais plus rapide.

Le paramétrage est aussi plus simple : on ne choisit que le nombre de classes de couleurs à créer, puis des paramètres de présentation (taille, opacité des cercles, type d’axe radial).

 

La représentation graphique des résultats est réalisée automatiquement dans le mode “radar” par la bibliothèque MatPlotLib, ce qui permet d’obtenir un graphe configurable (échelle de la grille, unités des axes, position des libellés, rotation, etc.).

Il reste des possibilités de configuration à fournir, comme le choix de l’espace de couleurs utilisé pour le calcul des regroupements (ici HSV par défaut), mais l’application fonctionne déjà de façon à être testée facilement.

N’hésitez pas à la réutiliser et à proposer des compléments !

Simplification visuelle d’une image : atténuer les traits fins contrastés

OUtil simplification, août 2015

Lien vers l’outil : http://www.geotests.net/test/simplification/laplacian.html?l=fr

Dans la série d’idées issues du travail de thèse (2013) sur l’utilisation de méthodes esthétiques pour la cartographie thématique, on trouve les outils concernant l’utilisation de coordinations de couleurs (détection/visualisation et construction, qui ont fait l’objet de développements dans le présent carnet).

On y évoque aussi l’idée d’une simplification visuelle de l’image (notamment cartographique) par l’atténuation d’un des éléments principaux de la complexité visuelle : les éléments fins contrastés (Cf. cet article ou celui-ci). On pense, entre autres, aux contours noirs sur fond clair des objets de la carte, dont la prégnance visuelle est inutilement forte (notamment avec les réglages par défaut de certains logiciels).

Pour essayer de mettre en œuvre cette simplification avec un outil accessible, c’est-à-dire facilement et rapidement utilisable, selon l’habitude ici, on a donc développé un prototype basé sur une idée simple : il existe des filtres automatiques de détection des contours, on peut donc essayer de produire des images où ils seraient atténués, par soustraction / combinaison de pixels.

Restait à trouver le bon filtre et la bonne méthode de développement, pour produire un outil web fonctionnel, qui réponde assez vite pour une utilisation simple.

Les filtres disponibles

Le filtrage linéaire d’une image raster, composée de pixels, consiste à créer une nouvelle image dont les valeurs de pixels sont issues d’un calcul. Ce calcul croise les valeurs de l’image d’origine avec une petite matrice, appelée noyau ou masque de convolution. (Cf. la synthèse de la Wikipedia pour un aperçu général du traitement d’image par filtres linéaires). Les filtres les plus connus sont ceux de flou (gaussien), de renforcement, de débruitage ou de détection de lignes.

La série de filtres pertinents pour la détection des contours forme une petite liste, dans laquelle les plus prometteurs sont ceux dits Laplaciens ou dérivés, utilisant des masques de convolution dont les valeurs forment une sorte d’entonnoir (ou chapeau mexicain à l’envers) :

Le fonctionnement de ces filtres peut être grossièrement résumé en disant que les fortes différences entre un pixel et son entourage, potentiel indice d’un contour intéressant à détecter, vont être isolées (par exagération extrême des différences).

Différents filtres ont été testés, pour n’en garder que deux, le filtre Laplacien évoqué ci-dessus, amélioré en un filtre Laplacien de Gaussienne (LoG) et la différence de gaussiennes (DoG). Ce dernier type de filtre est en fait une approximation du premier, plus rapide à calculer mais d’un fonctionnement légèrement différent, qui peut être complémentaire. Il se base sur le calcul de la différence entre deux flous gaussiens de portée variable (pour repérer les zones de l’image où le changement de couleur est brusque).

Les deux types de filtres se basent donc sur la convolution de l’image, que l’on peut paramétrer selon plusieurs éléments :

  • la taille du masque : 3×3, 5×5 ou 7×7 pixels de côté ;
  • la forme de la courbe en entonnoir, réglée par le paramètre Sigma.

A ces deux éléments, on ajoute des traitements annexes :

  • un flou gaussien préalable de l’image source, pour éventuellement la lisser un peu ;
  • un flou gaussien du résultat du filtre de détection des contours, avant combinaison, idem.

La différence entre les deux filtres tient à la finalité du paramètre nommé “facteur” dans l’outil :

  • pour le filtre LoG : coefficient multiplicateur de la pointe du masque ;
  • pour la DoG : écart entre les sigmas des deux gaussiennes dont on fait la différence.

La combinaison des images

Une fois le filtre calculé, il faut le combiner avec l’image d’origine pour réaliser l’atténuation des contours recherchée. Cette combinaison, ou mode de fusion, peut être réalisée selon différents calculs, pour atténuer les contours ou, au contraire, les isoler pour les visualiser.

af_SC521 af_SC521_att
Image d’origine (source) Contours fortement atténués
af_SC521_visu af_SC521_att
Contours visualisés Contours légèrement atténués

Pour aider à l’utilisation de l’outil, les paramètres de filtrage et de combinaison pour produire ces différents résultats ont été regroupés dans des “préréglages”, que l’on peut ensuite raffiner de manière interactive.

Conseils d’utilisation

Les filtres utilisés sont assez sensibles à la taille des images et à l’épaisseur moyenne des contours. Selon l’image source, il faut donc faire varier les valeurs des paramètres, notamment de taille du masque (grande image -> grand masque) et le facteur de force de la courbe (ou de différence de gaussiennes).

Évaluation de l’outil

Reste maintenant à tester l’outil sur diverses images, pour vérifier son fonctionnement et estimer son efficacité à en simplifier la lecture, à en atténuer la complexité visuelle.

Pour ce faire, une enquête en ligne va être conçue, mais en attendant, n’hésitez pas à tester et à nous faire remonter tout souci d’utilisation ou remarque, merci d’avance !

Détails techniques de fonctionnement

L’outil fonctionne sur le principe habituel d’une page Web, les calculs sont réalisés par des fonctions Javascript. Il utilise la bibliothèque de fonctions “Canvas filters” développée par Ilmari Heikkinen (sous licence MIT). Le code source (dans la page html) contient d’autres filtres et plusieurs types de paramètres fonctionnels. Ils n’ont pas été utilisés dans la version finale de l’interface pour la garder assez simple.

Lorsque vous traitez une image de votre disque dur, elle n’est pas mise en ligne sur le site de l’outil, les traitements se font localement, sur votre ordinateur.

D’autres billets pourront être rédigés pour expliquer plus en détail le fonctionnement des traitements, si cela s’avère utile.

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 ?

Outil de synthèse colorée d’une image : version 2

État

L’outil d’analyse et de représentation synthétique des couleurs d’une image a profité d’une nouvelle session de développement pour améliorer l’interface utilisateur et corriger les derniers bugs d’affichage. De manière moins visible, le code source a été rationalisé et optimisé, pour une compréhension et une réutilisation plus simple.

La nouvelle adresse de l’outil est désormais :

http://www.geotests.net/couleurs/v2/

Les principales modifications fonctionnelles sont :

  • Modification du mode de calcul des groupes de couleur : plus précis, évite les doublons, mais plus gourmand en temps de calcul (attention aux images de grande taille).
  • Amélioration de la visualisation 3D : plus lisible et munie d’un panneau de commande pour les déplacements et rotations de camera.
  • Ajout d’un export de la représentation 2D au format vectoriel SVG.
  • Ajout d’un export PNG (raster) de la représentation 3D.

Une nouvelle version de la page d’aide à l’utilisation est en cours de rédaction et sera disponible dans la journée.

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.

 

Synthèse colorée en mode vectoriel

Image

Une nouvelle version de l’outil de synthèse colorée d’une image a été mise en ligne.

svg exemple

Elle offre un rendu vectoriel du résultat, au format SVG. Cela signifie qu’il est désormais plus simple de réutiliser le résultat graphique de l’analyse, dans un logiciel de dessin comme Inkscape ou Adobe Illustrator©.

Toutes les fonctions de l’outil sont disponible, comme l’analyse le long d’une ligne et le remplacement d’une couleur, sans que cela influe notablement sur les temps de calcul.

Il est possible d’exporter l’analyse au format SVG en utilisant par exemple une extension de navigateur, comme “Save Canvas and SVG” sous Google Chrome ou “Export SVG” sous Mozilla Firefox.

Le format SVG est aussi compatible avec tous les navigateurs modernes, qui peuvent les afficher et offrir des fonctions d’exploration (zoom / pan).