Récupérer la plage dynamique sous darktable

Si vous avez déjà essayé de traiter une photo prise en contre-jour ou en plein soleil, vous avez déjà rencontré ce problème : le contraste est tellement violent que :

  • soit vous sacrifiez les hautes lumières,
  • soit vous sacrifiez les basses lumières,
  • soit vous essayez de récupérer les tonalités extrêmes, et là vous avez des couleurs délavées ou sursaturées, ou des pertes de texture.

Comprendre le problème

Vous êtes en voiture sur une route de campagne, de nuit. Tout à coup, une voiture surgit dans le sens inverse, pleins-phares. Éblouit, vous ne voyez plus le bord de la route, trop sombre. Pourquoi ? Vous avez un problème de plage dynamique : la différence de luminosité entre les phares et le bord de la route est trop importante, et donc tout ce qui n’est pas sur la route vous semble indistinctement noir.

L’œil humain a une plage dynamique estimée à 20 EV. L’EV (exposure value, en français : IL, indice de lumination) est une unité logarithmique (en base 2) de mesure de la luminance : ajouter 1 EV revient à multiplier l’intensité lumineuse par 2.

Dans un bureau, on conseille généralement une luminosité de 300 lux. Si votre plage dynamique oculaire est de 20 EV, cela signifie que vous pouvez distinguer des objets dont l’éclairement minimal est de 300/2/2/2/2/2/2… = 0,0003 lux. Si vous avez un objet éclairé à 0,0003 lux posé sur un fond éclairé à 0,00001 lux, vous ne verrez que du noir, et aucune démarcation. En gros, tout ce qui sort de la plage dynamique est indiscernable.

Un appareil photo fonctionne à peu près pareil… si ce n’est que sa plage dynamique est de 10-15 EV. Là ou ça se corse, c’est qu’un écran photo étalonné, n’a qu’une plage dynamique de 8 EV (soit un contraste d’environ 300:1), et un tirage papier moins de 7.5 EV (ce qui correspond à un Dmax de 2.3, valeur typique d’un papier baryté photochimique). On a alors un gros problème : faire rentrer la grande plage dynamique de l’appareil, au chausse-pied, dans celle de l’écran ou du tirage, sans perdre trop de détails ni de contraste. Pour ce faire, on dispose de plusieurs stratégies, et vous vous doutez bien que ce ne sont pas les plus simples qui sont les plus efficaces. Tout se paie.

La difficulté est d’assombrir les hautes lumières, d’éclaircir les basses lumières, tout ça sans perdre de contraste global ni de contraste local, et en conservant des couleurs correctement saturées. Parce que, en RGB, on ne peut pas modifier séparément les couleurs et la luminosité, et les couleurs peuvent finer soit délavées soit trop saturées.

La fausse bonne idée

darktable dispose d’un module ombres et hautes lumières qui permet de faire ceci facilement. Mais voilà, ce que fait ce module est une correction spatiale : il identifie des zones sombres et des zones claires, et corrige les pixels suivant qu’ils appartiennent ou non à une zone claire ou sombre, et pas en fonction de leur luminanc individuelle. C’est un fait un filtre passe-bas dont le contraste est inversé et fusionné en incrustation dans l’image :

Original
Carte de luminance inversée utilisée pour corriger le contraste par le module ombres et hautes lumières (simulée avec le module passe-bas).
Contraste inversé avec le module passe-bas en appliquant la carte de luminance ci-dessus en fusion incrustation — notez que le module ombres et hautes lumières donne un meilleur résultat puisqu’il offre des contrôles plus précis.

En paysage, où vous avez des zones bien séparées (ciel, mer, terrain), ça marche bien. C’est alors l’équivalent d’un dodge & burn à la Ansel Adams :

En portrait, vous le voyez dans l’exemple ci-dessus, le résultat a tendance à avaler du contraste local et donc à aplatir le modelé du visage et du corps. En effet, on n’a pas, sur un visage, des démarcations aussi franches qu’en paysage entre les zones claires et les zones sombres. Par contre, ce module fait des merveilles, bien réglé, pour supprimer des zones brillantes sur un visage (arrête du nez, front huileux), précisément parce que, dans ce cas là, vous voulez retirer du contraste.

Mode d’emploi

Note : j’ai créé un style contenant l’essentiel des modules utilisés dans la suite pour vous permettre de gagner du temps. Évidemment, ce style est un point de départ pour vos réglages, pas une formule magique qui marche tout le temps. Téléchargez le.

Si j’ouvre une photo prise en plein soleil, avec les courbe de base par défaut (ici, similaire Nikon), voici ce qu’on obtient :

À l’ouverture de la photo, exposition et balance des blancs ajustées

Le nez est aplati dans le visage, la peau est jaune trop saturée (même pour une asiatique), les ombres sont très marquées : on ne voit pas grand chose. Première chose à faire : changer la courbe de base.

On applique une courbe de base spéciale, tirée du profil Tassinflat créé pour enregistrer des vidéos sans perte de détail, pour faciliter le post-traitement. Ces profils neutres et plats (N-log, S-log, etc.) sont très populaires chez les vidéastes qui filment au réflex car les encodages et compressions vidéos appliquées évacuent complètement les zones sans détails. Il est donc important, à l’enregistrement, d’avoir un profil très neutre, peu contrasté, pour avoir un enregistrement complet qui permettent ensuite, en post-production, de jouer avec une image entière (la vidéo sur réflex n’est pas en raw). Ici, c’est un autre objectif que nous visons : il s’agit de récupérer les détails le plus bas possible dans la pile des modules (le module courbe de base est l’un des premiers à s’appliquer, juste après l’exposition).

 

On voit que cette courbe va atténuer les hautes lumières et éclaircir dramatiquement les ombres, sans toucher aux extrêmes.

On ajoute ensuite la correction du profil d’entrée, avec le gamma à 0.45 (ce qui correspond à un gamma réel de 2.2 = 1/0.45) et le linéaire à 0.5. Le linéaire indique en dessous de quelle valeur de luminance la correction du profil ne s’applique pas. Ceci réalise une correction du gamma, et va à nouveau donner un peu plus de présence aux tons moyens, au risque toutefois de cramer les hautes lumières (augmentez de préférence le linéaire, dans ce cas).

On a alors ce résultat :

Application du profil neutre

C’est déjà beaucoup plus lisible. On a donc une base saine, il va falloir ensuite ajuster l’exposition de façon à caler l’histogramme bien à droite mais sans avoir de zone brûlée. Ici, c’est l’arrête du nez qui nous fournit la référence d’exposition. On s’arrête juste avant de perdre la texture de peau.

Pour protéger les hautes lumières, on a dû assombrir, ce qui est mal car ce n’est pas ce qu’on cherche. On a alors deux options :

  1. diminuer le linéaire, dans la correction du profil, pour éclaircir les tons moyens,
  2. utiliser la fusion d’exposition, dans la courbe de base.

La première méthode donne de bons résultat en contre-jour, quand le sujet ne reçoit pas directement la lumière du soleil. Ici, le sujet est éclairé directement, et cette méthode va provoquer la perte des détails sur le visage. On va donc préférer la deuxième méthode qui, en revanche, va donner des effets de bords dans les photos en contre-jour.

Le résultat est alors :

Avec fusion d’exposition

Tout ceci est très fade, mais c’était le but : récupérer la plage dynamique. À présent, on va rajouter du contraste en passant par la courbe des tonalités en mode manuel. Il s’agit de remettre une très légère courbe en S en luminance.

Et, pour ajuster les couleurs, on procède de même sur les canaux a et b.

Après ajout de contraste

Dernière étape : on se rend compte que les hautes lumières sont étrangement saturées, ce qui arrive très souvent quand on manipule trop les valeurs RGB. En effet, la charte de couleurs utilisée pour réaliser de profil de couleur d’entrée a une plage dynamique de 8 EV environ, on a donc dilaté ce profil et ajouté des erreurs. Pour compenser cette dérive, on va désaturer sélectivement les hautes lumières avec le module zones de couleurs.

Après la correction de saturation des hautes lumières.

Restent alors les petits détails, suivant votre goût personnel : j’ai retiré 0.5 EV sur le visage en utilisant le module exposition et un masque dessiné oval, ajouté 0.33 EV d’exposition sur les fleurs avec un masque dessiné pinceau et une légère vignette.

Optionnellement, le modules zones permet, en utilisant le zone system d’Ansel Adams, de fignoler délicatement le contraste local. Ici, on veut remettre du contraste sur la robe, qui est dans la 2e zone de luminance (depuis la gauche), c’est pourquoi on étire ses limites haute et basse :

Le résultat n’est pas la photo du siècle (l’expression de la modèle, la lumière, etc. laissent à désirer), mais un exemple assez parlant de ce type de retouche. Notez que l’augmentation du constraste local sur la robe se fait au détriment du modelé des jambes, qui sont dans la 3e zone, qui est du coup réduite. C’est le défaut principal de ce module, où l’on est obligé de déshabiller Paul pour habiller Jean…

Final

Autre exemple

Je vais reprendre la photo du début, issue d’un concours RAW de Jared Polin dont j’ai déjà parlé dans mon précédent article.

Retouche Jared Polin – Lightroom

La photo date de 2011, et la retouche porte la trace de son époque : un goût prononcé pour les couleurs saturées et les contrastes marqués, alors même que les appareils photos de l’époque affichaient à peine plus de 10 EV de plage dynamique à 100 ISO, donc contrastaient naturellement plus. Ce style est passé de mode depuis quelques années, avec le renouveau de la pellicule couleur et un engouement pour les styles qui émulent ce rendu plus doux, plus pastel, et finalement plus poétique. Voici donc ma retouche personnelle, faite avec la méthode présentée ici :

Retouche Aurélien Pierre/darktable

Vous remarquez que, dans ma version, la  modèle est blonde des racines au pointes, alors que la version de Jared, au contraste renforcé, donne un rendu « fausse blonde » avec des racines foncées. La teinte de peau est aussi plus naturelle à mon avis. Je trouve mon image globalement moins dure.

Conclusion et commentaires

Ces deux photos ont un point commun : elles sont correctement exposées. Pas un seul pixel n’est brûlé (en tout cas pas sur les 3 canaux à la fois). Ceci rend les choses beaucoup plus simples, et on ne le répètera jamais assez : la retouche se prépare dès la prise de vue. En conditions de fort contraste, pensez à exposer pour protéger les hautes lumières, quitte à sous-exposer de 1 EV s’il le faut. Il y a encore des gens qui pensent qu’il faut exposer pour les basses lumières : c’était vrai en argentique, mais la physique d’un capteur photoélectronique n’est pas la même que la physico-chimie d’une émulsion d’halogénure d’argent. Une pellicule ne sature pas de la même manière qu’un capteur numérique.

Comme d’habitude, avoir un profil d’étalonnage de l’appareil photo va accélérer beaucoup l’ajustement des couleurs et limiter les chances de vous tromper. On y reviendra, mais utiliser de bons profils de couleur divise le temps de retouche par au moins 3.

En paysage, on aurait pu se reposer d’avantage sur le module ombres et hautes lumières, mais il est efficace jusqu’à un certain point et n’aurait pas suffit. Du reste, il n’est pas possible de l’utiliser à haute dose sans voir apparaître des pertes de contraste local et de texture.

N’oubliez pas qu’il est toujours possible, dans le cas de zones de luminance bien séparées, d’utiliser un simple masque dessiné avec le module exposition pour ajuster manuellement la luminosité où vous le souhaitez. Ça n’est pas toujours possible, et pas sur toute l’image, mais lorsque ça marche, c’est encore la méthode la plus simple.

De même, il aurait été possible d’utiliser les modules de mappage des tonalités, mais là encore, leur usage sur des fichers normaux (non HDR) est très délicat car la gestion des couleurs est un vrai casse-tête, et il faut alors passer un temps considérable à ajuster les saturations à la main. Dans ce cas, n’hésitez pas à utiliser le module contraste de couleur pour saturer rapidement les couleurs de façon naturelle, dans l’espace Lab.

Je déconseille fortement, en général mais surtout dans ces cas pénibles, l’utilisation du module contraste, luminosité et saturation car il ne permet pas un contrôle assez précis de la couleur et des tonalités. Pour ce faire, le module courbe des tonalités est beaucoup plus puissant. En général, il vaut mieux l’utiliser en mode manuel, en ajustant aussi les canaux a et b. Pour plus de simplicité et de rapidité, il est possible de le laisser en mode automatique, auquel cas il ajuste automatiquement la saturation en fonction de la luminance, dans l’espace Lab. Dernièrement, des modes automatiques XYZ et RGB ont été ajoutés (au moins dans la version de développement), et peuvent être utilisés pour ajouter plus de saturation. Le mode RGB est particulièrement utile lorsque votre appareil photo n’est pas profilé, ce qui génère souvent des images assez fades lorsque la courbe de base du boîtier est désactivée. Dans ce cas, le module courbe des tonalités (en mode RGB, donc) se comporte exactement comme le module courbe de base, si ce n’est qu’il est placé plus tard dans la pile, avec les mêmes problèmes de saturation excessive dans certains cas.

Auteur : Aurélien PIERRE

Photographe portraitiste à Montréal. Spécialiste en calcul, modélisation et simulation numérique pour le traitement d'image (débruitage, défloutage) et le génie thermique.

25 réflexions sur « Récupérer la plage dynamique sous darktable »

  1. Merci pour ces explications et cette technique que je ne connaissais pas.
    Pour ma part, dans les cas compliqués j’utilisais le plus souvent le module de mappage global des tonalités en mode draco que je trouve simple d’utilisation et très efficace, avec un masque paramétrique progressif qui protège les hautes lumières.
    Je vais comparer tout ça 🙂

    1. …”Pour ma part, dans les cas compliqués j’utilisais le plus souvent le module de mappage global des tonalités en mode draco”…

      Cela ressemble à s’y méprendre à une très bonne idée de tuto ça monsieur @rawfiner! 😉

      Au boulot!

      1. Hahaha 😀
        C’est pas faux, mais je me sens pas encore suffisamment au point en gestion des contre-jours pour le faire : quitte à faire un tuto j’aimerais présenter un peu toutes les techniques connues, donc faut que je fasse encore un peu d’exploration de techniques avant. Ça viendra peut être dans quelques temps 😉

    2. J’ai rarement eu des bons résultats avec le mappage global des tonalités. Il y a toujours quelque chose qui capote avec ce module.

      1. Ce module apporte de meilleurs résultats sur une image riche en informations type fusion d’exposition. Je crois que sur le principe, il faut le “calmer” dès son activation pour en tirer toute la quintessence même si il est vrai que pour ne pas se laisser surprendre il convient de s’en servir le plus souvent possible

        1. J’ai aussi beaucoup de mal avec ce module même en ayant utilisé la fusion d’exposition. Pour la fusion d’exposition, je regrette qu’elle ne s’applique qu’à des photos sous-exposées. Je pense que la possibilité de fusionner avec des E.V. négatifs serait intéressant.

          1. Quand tu crée un HDR dans la table lumineuse c’est a partir des photos RAW sélectionnées. Si tu les a sous ex avant pas de soucis. Il faudrait comparer les deux dispositifs proposés ce que je n’ai pas encore sérieusement fait… 😉

  2. Merci Aurélien de nous faire découvrir ces techniques et je comprend un peu mieux les traitements que tu fais ! Je ne savais pas que le masquage de zones sous l’agrandisseur se nommer “Dodge and Burn” mais faut dire qu’à l’époque ou je l’utilisait, le Net commençait à sortir des cartons.

    1. Mince je peux pas répondre à ton commentaire @CaraFife. Je n’ai jamais été satisfait de la possibilité de fusion HDR dans la table lumineuse et je préfère utiliser le Lua enfuse_pro de MultiMedia4Linux ou alors Hugin qui fait ça très bien.

      1. Oui c’est moins bien c’est sûr. Je passe aussi souvent par luminance en calmant les curseurs afin de fournir une fusion brute. Je corrigée ensuite a partir du tiff exporté.

          1. Je n’ai pas encore testé le script dont tu m’avais parlé. Il va me falloir corriger cette paresse 😂

          2. Il y a macrofusion aussi, qui est une interface pour enfuse plus simple que hugin, et fait pour le focus stacking et le HDR. Par contre, je crois que le développement est arrêté.

            Luminance HDR et darktable utilisent les mêmes algos classiques de mappage des tonalités, appliqués sur des HDR plats (2D) 32 bits : drago, reinhardt, filmic. Luminance HDR en a d’autres : Mantiuk, etc.

            Enfuse n’utilise pas la même logique, c’est de la fusion photométrique avec l’algo de Mertens-Krautz-van Beeth, appliqué sur une pile de photos à exposition variable (une image 3D si on veut), donc avec plus d’informations. Personnellement, je trouve ce rendu plus agréable.

  3. En revanche j’utilise toujours le .exr pour l’export vers luminance HDR. Hugin, pas testé en fusion directe. Je n’utilise cette fonctionnalité qu’en option de sortie pour mes panos 😋

  4. Merci Aurélien, merci Rawfiner, merci Carafife et merci à tous les autres qui portent darktable Haut et Fort !
    Vos tutos sont des pépites, même si en ce qui me concerne certains “détails techniques” m’échappent un peu.

  5. Quand la connaissance de la technique du logiciel est appliquée à la connaissance du domaine traité ça donne un sacré bon résultat. J’apprécie particulièrement tout ce que tu as exposé avant de traiter l’image, ça met dans le contexte pour ceux qui connaissent et ça pose les bases pour ceux qui en on entendu parlé, comme moi.

    Après toutes ces explications et cette remarquable démonstration, j’en était à me demander si ingénieurs ne pourraient pas pallier le manque de paliers d’EV ; certains boitiers arrivent à des rafales de 60 img/s, les mémoires s’améliorent, on mets des processeurs à plusieurs cores pour le traitement, et on fait des HDR de cinq ou sept prises par un simple appui sur le déclencheur. Le frein actuel est que la mesure de lumière pour chaque prise est réalisée l’une après l’autre et oblige ainsi à réaliser une prise HDR sur trépied et pas pour un sujet en mouvement. Si le traitement informatique des choix de paramètres (vit/ouv/sens) pouvait être traité simultanément et les prises à la vitesse des récentes rafales on pourrait couvrir les 20EV que tu nous as présenté.

    En attendant, heureusement qu’il y a DT …

    1. La plage dynamique des appareils photo s’est beaucoup améliorée ces dernières années, notamment avec Sony alpha 7, Pentax K1 et Nikon D800. On est à 14.8 EV à 100 ISO pour les meilleurs. Le facteur limitant est la physique des semi-conducteurs photo-électriques…

        1. Dans les cas de figure présentés (portraits avec ombre portée), le meilleur moyen d’éviter de nombreuses retouches est encore un petit coup de flash bien dosé.

          1. Le flash est loin d’être une panacée… Entre un applatissement des volumes et une température couleur qui n’est pas nécessairement celle de l’arrière-plan (à moins d’avoir une gélatine), il y a de nombreux cas où il fait plus de mal que de bien (si tant est qu’il soit utilisable).

  6. Il suffit que je parte une semaine et vous en profitez pour remplir le blog 😀

    Je vais regarder ça de très près, j’ai souvent de gros contre jours sur les photos d’oiseaux en plein ciel, même en mesure spot quand ils sont loin (je n’ai pas encore le 600 qui va bien :p ). Si ça peut me permettre de récupérer du détail, ce sera génial (en attendant d’améliorer ma technique de prise de vue).

    Merci pour les explications (j’aime bien comprendre ce que je fais 😉 )

  7. Bravo pour toutes les compétences techniques exposées dans ce tutoriel. Personnellement, je n’en dispose pas et mesure mon incompétence sous Darktable ! Tout comme Thierry67, je me suis dit en regardant les exemples que c’était la prise de vue qui “péchait”. Un p’tit coup de flash déporté (ou 2 flashes ou 3) aurait débouché les ombres et conservé une dynamique acceptable sans pour autant aplatir les reliefs. Non ? Ou l’utilisation d’un réflecteur qui aurait permis de garder une température de couleur “compatible” même si, pour ma part, j’aime bien mélanger des éclairages différents. La photo est affaire de subjectivité autant que d’objectifs ôtés (haha)… Moins je retouche “après”, mieux je me porte, tout en reconnaissant mes lacunes techniques dans ce domaine. Donc un grand merci à tous les auteurs de tutoriels sur Darktable et que ses concepteurs soient remerciés pour la nuit des temps 😉.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.