À quoi ressemble réellement une photo non traitée
(maurycyz.com)- Une expérience qui montre étape par étape sous quelle forme sont enregistrées les données brutes du capteur RAW d’un appareil photo numérique
- Les données initiales prennent la forme d’une image en niveaux de gris obtenue en mappant simplement la sortie ADC sur 14 bits en RGB 0–255, avec une plage de luminosité réelle limitée
- Application du filtre de Bayer pour refléter les informations du filtre coloré de chaque pixel, puis dématriçage (demosaicing) via la moyenne des pixels voisins
- Passage par une correction gamma et un ajustement de la balance des blancs afin de compenser l’écart entre la perception non linéaire de la luminosité par l’œil humain et celle des écrans
- Enfin, la comparaison avec le traitement JPEG interne de l’appareil montre qu’une « photo non corrigée » n’existe pratiquement pas
État initial des données brutes du capteur RAW
- Les données d’origine enregistrées par le capteur de l’appareil sont composées de valeurs ADC sur 14 bits ; si on les convertit simplement en RGB 0–255, on obtient une image en niveaux de gris
- La plage réelle des valeurs ADC est d’environ 2110 à 13600 ; cet intervalle est donc utilisé comme référence noir-blanc pour réajuster la luminosité
- À ce stade, l’image ne contient presque aucune information de couleur, car le capteur mesure uniquement l’intensité de la lumière
Processus de reconstruction des couleurs
- Le capteur d’un appareil photo couleur détecte une seule couleur par pixel — rouge, vert ou bleu — grâce à une matrice de filtres de Bayer
- Si l’on applique à chaque pixel la couleur correspondant à son filtre, l’image commence à prendre des couleurs, mais chaque pixel ne contient toujours qu’une seule composante parmi RGB
- En effectuant un dématriçage par moyenne des pixels voisins, les couleurs sont restaurées sur l’ensemble de l’image
Luminosité et correction gamma
- Si l’image résultante paraît sombre, c’est à cause des limites de la plage dynamique du moniteur et de la perception non linéaire de la luminosité par la vision humaine
- Comme l’affichage direct de données linéaires paraît sombre, on applique une courbe gamma non linéaire pour éclaircir les zones sombres
- Mais ce processus entraîne alors un excès du canal vert, dû à la sensibilité plus élevée du capteur au vert et à la proportion plus importante de vert dans la matrice de Bayer
Balance des blancs et correction colorimétrique
- On ajuste chaque canal de couleur selon un certain ratio pour régler la balance des blancs
- On revient à l’étape précédant la transformation non linéaire, on réduit le canal vert, puis on applique de nouveau la courbe gamma
- Ce processus permet d’obtenir une photo aux couleurs naturelles
Comparaison avec le traitement JPEG de l’appareil
- À partir des mêmes données RAW, l’image JPEG intégrée générée par l’appareil est déjà le résultat de plusieurs étapes de correction mathématique
- Ajuster le contraste ou la balance des blancs dans un logiciel d’édition revient fondamentalement aux mêmes opérations que le traitement interne de l’appareil
- La notion de « photo non retouchée » n’existe pas réellement : toute photo est le résultat d’un traitement mathématique
- Il est difficile de reproduire parfaitement la vision humaine et, en raison des limites de l’affichage, des corrections manuelles restent toujours nécessaires
1 commentaires
Commentaires sur Hacker News
Je me demande s’il faut considérer comme du « traitement » le fait d’appliquer la même fonction de transfert à chaque pixel
À l’époque de l’argentique, pousser une pellicule noir et blanc ISO 400 à 1600 produisait un grain grossier, mais c’était un « bruit » uniforme sur toute la photo
Aujourd’hui, la réduction de bruit a progressé de façon stupéfiante, mais dans le processus, l’image elle-même est parfois altérée
Par exemple, avec ma caméra IP, quand j’arrive à vélo, une partie de la roue disparaît parfois. L’algorithme prend la texture de l’asphalte pour du bruit et l’efface
Même sur les smartphones ou les appareils photo numériques, si on zoome ou en basse lumière, les visages ont un aspect « peint »
Je préférerais un bruit honnête, ou un algorithme de réduction du bruit réglable de « aucun » jusqu’à la valeur par défaut actuelle
J’aime les articles qui enlèvent les couches d’abstraction autour de « l’image ». Au fond, la photographie moderne n’est rien d’autre que du traitement du signal auquel on a ajouté du marketing
Si le motif Bayer est en RGGB (50 % de vert), ce n’est pas seulement pour l’équilibre des couleurs, mais aussi pour la résolution spatiale
L’œil humain est le plus sensible au vert, donc le canal vert porte l’essentiel de la luminance (des détails)
Les algorithmes de dématriçage avancés construisent une carte de luminance haute résolution à partir du canal vert, puis interpolent le rouge et le bleu comme couches de différence de chrominance
C’est ce principe qui rend aussi possible la compression vidéo comme le sous-échantillonnage de chrominance 4:2:0
Si vous voulez creuser davantage, je recommande de regarder le code source de dcraw ou de libraw. Il y a une foule de cas particuliers pour interpréter les « tensions brutes » selon chaque fabricant de capteur
g = .299r + .587g + .114bC’est cette proportion qui détermine la luminosité d’une image en niveaux de gris
Et le vers cité à ce sujet m’avait marqué — en décrivant un monde privé de couleur, il tourne finalement en dérision le fait que ce que nous jugeons « juste » n’est au fond qu’une erreur de quantification
Il aurait suffi d’ajouter un simple flag de conversion RGB→luminance à l’appel FFmpeg
Bien sûr, c’est parce que l’œil humain y est plus sensible, mais malgré tout ça me paraît un peu arbitraire (⩺_⩹)
Le JPEG produit par l’appareil est déjà en soi un résultat fortement traité
Produire un autre JPEG en appliquant d’autres courbes, mappings et corrections, ce n’est pas de la « manipulation », c’est simplement une autre interprétation
Je travaille sur les capteurs d’appareil photo, et je trouve que cet article est excellent pour former les nouveaux arrivants
Montrer le cheminement depuis les données RAW jusqu’à une sortie familière permet de comprendre très vite
Simple remarque sur une petite faute de frappe : il faut écrire « than » et non « then »
Pendant ma licence, j’ai étudié la télédétection (remote sensing), et c’est là que j’ai vraiment compris les capteurs et le traitement du signal
Ce que je vois n’est pas la « vérité », mais une vue partielle des données
L’œil humain, l’œil du chat et l’appareil photo collectent et représentent chacun des sous-ensembles différents de données
C’est encore plus intéressant si on considère l’espace et le temps comme des dimensions supplémentaires du signal
Au fond, cela donne l’impression que nous ne sommes tous que des systèmes de capteurs observant une partie de l’univers
En photo numérique, la compression de dynamique et le débayerisage sont indispensables,
mais à l’inverse, quand l’IA reconnaît les objets pour reconstruire l’image de manière fantaisiste selon ce qu’« elle pense devoir voir », c’est une autre question
Les fabricants poussent dans cette direction, ce qui pose des problèmes comme la fiabilité des photos servant de preuve
Toute image est une interprétation des données, le résultat d’une multitude de choix
S’il faut vraiment distinguer quelque chose, on peut parler de retouches globales (global) et de retouches locales (local), les retouches locales étant plus proches de l’idée de « faux »
Mais au final, le point essentiel, c’est l’intention (intent)
S’il y a une intention de tromper, même une photo sortie directement de l’appareil peut devenir « fausse »
La plupart des gens considèrent l’application d’un filtre comme quelque chose de « faux », mais en réalité toutes les photos ont déjà un filtre appliqué
Qualifier ce processus lui-même de « faux » n’a donc pas beaucoup de sens
Cela me rappelle une citation du film Tim’s Vermeer
comme quoi l’idée moderne selon laquelle l’art et la technologie devraient être séparés est erronée,
et que la fusion de l’art et de la technique était justement la caractéristique de l’âge d’or
Je recommande aussi The Science of Photography de John Lind et
l’explication des capteurs par Bob Atkins.
J’ai été particulièrement marqué par la partie qui explique pourquoi la taille du puits de pixel est si importante
Je pense que si les données linéaires paraissent sombres quand on les affiche telles quelles, c’est à cause des limites du moniteur
Si la profondeur de bits était assez grande, peut-être pourrait-on afficher une lumière linéaire sans correction gamma
La perception de la luminosité humaine n’est pas linéaire, donc une non-linéarisation est nécessaire à un moment ou à un autre
L’idéal est de faire les calculs dans un espace colorimétrique linéaire en 16 bits ou plus, puis d’appliquer le gamma juste avant l’affichage
Autrefois, on faisait parfois le blending en RGB non linéaire, ce qui provoquait du banding sombre
Les CRT utilisaient le gamma pour corriger la réponse non linéaire du canon à électrons, et les pellicules ou les capteurs CMOS ont eux aussi une sensibilité logarithmique à la lumière, d’où des traitements similaires
Une « photo non traitée » n’existe pratiquement pas
Le RAW n’est qu’un ensemble de valeurs de pixels RGGB, et le fait de jeter stratégiquement des données pour les adapter à la faible dynamique d’un écran,
puis de définir le gris moyen, relève justement du domaine de l’interprétation créative
Je trouve dommage que les exemples de l’article soient si artificiels et éclairés de façon aussi colorée, car cela rend difficile de comprendre ce qu’est une « vérité de référence »
Il suffit de comparer les deux dernières images et de juger le « résultat » selon sa propre préférence