2 points par GN⁺ 2025-12-29 | 1 commentaires | Partager sur WhatsApp
  • 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

 
GN⁺ 2025-12-29
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

    • Dans ppmtopgm, utilisé pour convertir l’ancien format PPM en PGM, la formule de quantification montre que le vert pèse près de 60 %
      g = .299r + .587g + .114b
      C’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
    • Quand je travaillais dans l’équipe pub d’Amazon Kindle, on a diffusé pendant six mois des images publicitaires désastreuses parce que le RGB avait été converti en niveaux de gris par simple moyenne
      Il aurait suffi d’ajouter un simple flag de conversion RGB→luminance à l’appel FFmpeg
    • En réalité, la photo argentique aussi était une forme de traitement du signal. Il n’existe pas de « donnée brute » perceptible par l’être humain
    • Je trouve un peu injuste que le motif Bayer alloue deux fois plus de surface au vert
      Bien sûr, c’est parce que l’œil humain y est plus sensible, mais malgré tout ça me paraît un peu arbitraire (⩺_⩹)
    • Je n’aime pas quand les gens demandent d’une photo si elle a été « retouchée » ou si c’est « l’original »
      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

    • Je ne pense pas qu’il y ait de « vraies » et de « fausses » photos
      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

    • Non, le problème, c’est la forme de la courbe
      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
    • La correction gamma n’existe pas seulement à cause des moniteurs, mais aussi pour allouer plus de bits aux hautes lumières et aux ombres
      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
    • Si on affichait un coucher de soleil en linéaire, la zone du soleil serait si brillante qu’elle ferait mal aux yeux. Ce ne serait pas réaliste
  • 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 »

    • Mais c’est justement le cœur du sujet. Le but de l’article est de nous amener à reconsidérer de façon critique la notion même de « 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