Les couleurs sont-elles vraies ? Une colorisation IA limitée à la chrominance
L'inquiétude la plus courante à propos de la colorisation par IA est que le modèle repeint la photographie : que le visage de mamie est désormais en partie une invention. Dans ce pipeline, c'est exclu par construction, pas par promesse : le modèle de colorisation[1] n'est autorisé à apporter que de la couleur, jamais des détails. Cette note explique le mécanisme ; puis (nouveau dans cette révision) elle évalue les 40 lignes d'arithmétique qui décident quand la colorisation s'exécute, sur 115 photographies étiquetées : de vrais scans noir et blanc, un vrai tirage à l'albumine de 1867, trois familles de tirages virés chimiquement, de la vraie couleur, et de la couleur délavée synthétiquement. Le détecteur est parfait sur chaque famille monochrome, à 88 % sur la vraie couleur, et sur la couleur délavée il s'effondre à 8 %, pour une raison qu'aucun seuil ne peut corriger : une couleur suffisamment délavée est monochrome, mathématiquement.
Chaque chiffre de cette note a été mesuré sur le code du pipeline de production : mêmes modèles, mêmes calculs. Données brutes par image : e4_mono.json.
1 · Le mécanisme : la luminance est intouchable
Toute image se sépare en luminance (la structure en noir et blanc : contours, texture, visages, lumière) et en chrominance (la couleur posée dessus). Nous colorisons dans l'espace CIELAB, qui rend la séparation explicite : la photographie garde son propre canal L, bit pour bit, et le modèle n'apporte que les deux canaux de couleur (a et b). Recombine et tu obtiens la photo d'origine habillée d'une couleur estimée. Si le modèle de couleur passe une mauvaise journée, l'échec est une mauvaise teinte, jamais un visage changé, un contour déplacé ou une texture inventée.
Avant
Après2 · Quand s'exécute-t-elle ? Les mathématiques de « est-ce du sépia ? »
La colorisation ne s'exécute automatiquement que lorsque la photo est mesurée comme monochrome, et c'est le sépia qui rend cela non évident. Le test naïf (r ≈ g ≈ b partout) attrape le noir et blanc neutre et rien d'autre. Mais un tirage sépia est résolument chromatique : chaque pixel porte de la couleur. Ce qui le rend monochrome, c'est que toute sa couleur pointe dans la même direction : la chimie vire un tirage avec un seul composé, si bien que la teinte est constante tandis que la chrominance varie avec la densité. La direction, pas la magnitude, est l'empreinte.
Le détecteur échantillonne donc jusqu'à 20 000 pixels dans l'espace Lab et conserve trois statistiques : la fraction chromatique (part des pixels dont la chrominance dépasse un plancher de bruit de 2 unités), la chrominance moyenne C̄, et la plus intéressante, la concentration de teinte, qui est la longueur résultante moyenne des vecteurs de teinte unitaires, tout droit sortie des statistiques directionnelles[2] :
R̄ vit dans [0, 1] : exactement 1 signifie que chaque pixel chromatique est d'accord sur la teinte (un virage parfait) ; près de 0 signifie que les teintes s'annulent autour du cercle (la peau qui se dispute avec le ciel : une photographie en couleur). La règle de production tient en deux clauses :
3 · L'évaluation sur 115 photos

| Groupe | n | corrects | taux |
|---|---|---|---|
| Real B&W scans | 5 | 5 | 100% |
| Real albumen print (1867) | 1 | 1 | 100% |
| Synthetic neutral grayscale | 6 | 6 | 100% |
| Sepia tints (×3 strengths) | 18 | 18 | 100% |
| Selenium tints | 18 | 18 | 100% |
| Cyanotype tints | 18 | 18 | 100% |
| Real color photos | 25 | 22 | 88% |
| Faded color (synthetic) | 24 | 2 | 8% |
Chaque famille monochrome est classée parfaitement, y compris l'unique vrai tirage du XIXe siècle, qui tombe à R̄ = 0,946, C̄ = 8,0, confortablement à l'intérieur de la région. Le nuage de points montre tout le corpus d'un coup, avec la région de décision ombrée :
Les trois faux positifs en vraie couleur méritent d'être nommés, parce qu'ils ne sont pas du bruit ; ce sont des photographies de scènes monochromatiques : le ruisseau en forêt de Kodak (R̄ 0,93), le jet stationné (R̄ 0,96), un bateau au crépuscule. La statistique fait son travail ; ces scènes concentrent vraiment leur teinte. L'échec est sémantique, pas mathématique, ce qui est précisément la raison pour laquelle le traitement Coloriser est une case visible que l'on peut décocher plutôt qu'une décision silencieuse.
4 · La région où aucun seuil ne peut gagner
Maintenant, les points dorés. Délave une photo couleur et deux choses arrivent en même temps : C̄ rétrécit (les colorants meurent) et R̄ monte : ce qui survit au délavage n'est pas un échantillon équitable des teintes d'origine mais le résidu plus la dominante du tirage, et une dominante est par définition directionnelle. À 50 % de délavage, notre corpus est en moyenne à R̄ ≈ 0,95 ; à 82 % de délavage, R̄ ≈ 0,98 avec C̄ ≈ 9. Compare avec l'éq. 2 : c'est la signature d'un virage. Une photo couleur fortement délavée n'a pas dérivé près de la classe sépia ; elle l'a rejointe.
Le seuil est donc un choix de valeurs déguisé en nombre. Pousse R̄ à 0,98 et le score du corpus monte de dix points, tandis que le classifieur se met discrètement à rater exactement les artefacts pour lesquels la fonction existe : les vrais tirages virés, dont la chimie centenaire vagabonde en teinte bien plus que n'importe quel virage synthétique. La production reste à 0,92 pour garder une marge pour la vraie chimie, accepte la région délavée comme réellement ambiguë, et te pose la question à toi, parce qu'une photo qui a perdu 82 % de sa couleur est une photo que son propriétaire peut très bien vouloir recoloriser. Le tableau ci-dessus qualifie ces 22 photos d'« erreurs » ; leurs propriétaires en qualifieraient peut-être la moitié de « oui, s'il te plaît ».
5 · Ce qu'est honnêtement la colorisation
Une estimation. Le modèle a vu assez de photographies pour savoir que l'herbe est verte et que les manteaux de laine des années 1860 sont généralement bleu foncé, mais il ne peut pas savoir que la robe de ta grand-mère était rouge, pas verte. Là où une couleur est historiquement connaissable, l'estimation est souvent convaincante ; là où elle ne l'est pas, le modèle choisit quelque chose de plausible. C'est pourquoi la formulation honnête est « couleur naturelle, ajoutée » plutôt que « les couleurs d'origine, retrouvées », et pourquoi l'option de garder une photo en noir et blanc existe. La structure (les visages, la lumière, l'instant) est toujours celle de la photographie, par le mécanisme de la section 1. La même astuce dans l'espace Lab tourne à l'envers dans notre rendu des visages, où le modèle de visages n'apporte que la luminance et la photographie garde sa chrominance.
6 · Limites
- Un seul vrai tirage viré. Le Herschel à l'albumine ancre l'argument du réalisme mais reste un échantillon unique ; un corpus daté de ferrotypes, d'albumines et de cyanotypes est la suite évidente.
- Le délavage synthétique est gentil avec le détecteur. Le vrai délavage chromogène est sélectif selon le colorant (le cyan meurt en premier ; c'est pourquoi les tirages des années 70 virent au rouge), ce qui pousse R̄ vers le haut encore plus vite que notre modèle uniforme.
- Un biais d'échantillonnage, voulu : de minuscules détails colorés (une broche rouge isolée sur un portrait sépia) peuvent passer sous le radar de la fraction chromatique. Le biais penche délibérément vers la préservation des virages.
Références
- Antic, J. (2019). DeOldify: A Deep Learning based project for colorizing and restoring old images. Open-source software. github.com
- Mardia, K. V., & Jupp, P. E. (2000). Directional Statistics. Wiley. (The mean resultant length R̄ behind our hue-concentration statistic.) onlinelibrary.wiley.com
- Kodak Lossless True Color Image Suite: 24 uncompressed 768×512 PhotoCD reference images, the classic image-quality test set. r0k.us
- Cameron, J. M. (1867). Portrait of Sir John Herschel, a real albumen print with genuine chemical toning. Public domain, via Wikimedia Commons. commons.wikimedia.org
- Lange, D. (1936). “Migrant Mother” (Destitute pea pickers in California), Farm Security Administration. Public domain, via Wikimedia Commons. commons.wikimedia.org
- ONNX Runtime: the inference engine both our server (CPU) and in-browser (WebGPU/WASM) engines run on. onnxruntime.ai