Passer d’une photo de 10 à 40 megapixels de qualité : zoom sur Super Résolution
La Super Résolution est maintenant disponible en Camera Raw 13.2 et sera bientôt disponible dans Lightroom et Lightroom Classic.
Panorama amélioré par la Super Résolution. Les images en encadré montrent les prises de vue zoomées de deux zones de la photo, avec des branches au rendu net et de la neige qui vole.
Bienvenue dans la série de blog posts “De l’équipe ACR”, qui vous apporte des réflexions directes de l’équipe développant les fonctionnalités pour Lightroom, Lightroom Classic, Lightroom mobile, Adobe Camera Raw et le filtre Camera Raw dans Photoshop. J’ai récemment travaillé sur une fonctionnalité appelée Enhance Super Resolution et je suis ravi de la partager avec vous aujourd’hui ! J’ai collaboré étroitement sur ce projet avec Michaël Gharbi et Richard Zhang d’Adobe Research. Michaël a également développé une fonction connexe, Enhance Details.
La Super Résolution est maintenant disponible en Camera Raw 13.2 et sera bientôt disponible dans Lightroom et Lightroom Classic. Dans cet article, je vais vous expliquer ce que c’est, comment ça marche et comment en tirer le meilleur parti.
La Super Résolution est un projet de pixels, mais d’un genre différent. Imaginez que vous transformiez une photo de 10 mégapixels en une photo de 40 mégapixels. Imaginez que vous puissiez agrandir une vieille photo, prise avec un appareil photo à basse résolution, pour en faire un grand format. Imaginez que vous disposez d’une fonction avancée de “Zoom numérique” pour agrandir votre sujet. Il y a bien d’autres choses à imaginer, mais ne prenons pas trop d’avance. Pour bien comprendre la super résolution, il faut d’abord parler de Enhance Details.
L’histoire à l’origine
Il y a deux ans, nous avons introduit Enhance Details, une fonction utilisant le machine learning pour interpoler des fichiers bruts avec un degré de précision étonnant et permettant d’obtenir des détails précis avec peu de défauts. Vous pouvez en savoir plus à ce sujet ici. Nous avons alors pensé que des méthodes de machine learning similaires pourraient nous permettre d’améliorer la qualité des photos de manière inédite et fascinante.
Les capteurs des caméras voient le monde à travers des motifs en mosaïque comme ceux présentés ci-dessus. Enhance Details utilise le machine learning pour interpoler ces motifs en images couleur RVB.
La suite
Aujourd’hui, je suis ravi de vous présenter notre deuxième fonctionnalité Enhance : Super Résolution. Le terme “Super résolution” désigne le processus d’amélioration de la qualité d’une photo en augmentant sa résolution en apparence. L’agrandissement d’une photo produit souvent des détails flous, mais la super résolution a un atout dans sa poche : un modèle de machine learning avancé entraîné sur des millions de photos. Grâce à ce dispositif, la Super Résolution permet d’agrandir intelligemment les photos tout en conservant des bords nets et en préservant les détails importants.
Exemple de ré-échantillonnage bicubique (à gauche) et Super Resolution (à droite)
Si tous ces trucs de machine learning semblent compliqués, eh bien, je vous assure que c’est le cas ! Mais ne vous inquiétez pas, la fonction Super Résolution que nous avons développée autour de cette technologie est très simple à utiliser - appuyez sur un bouton et regardez votre photo de 10 mégapixels se transformer en une photo de 40 mégapixels. C’est un peu comme si Mario mangeait un champignon et se transformait soudainement en Super Mario, mais sans les effets sonores.
Avons-nous vraiment besoin de plus de pixels ?
Je sais ce que vous pensez : “Allez Eric, on est en 2021, est-ce qu’on parle encore de mégapixels ?” Les caméras modernes ont des pixels à revendre, n’est-ce pas ? Il fut un temps, nous pensions que 6 mégapixels étaient suffisants. Puis 12 est devenu le nouveau 6, et maintenant 24 est le nouveau 12.
Il y a même des caméras avec un impressionnant 40 à 100 mégapixels. Avec tous ces pixels qui flottent, pourquoi en faut-il plus ?
La réponse est simple : en général, nous n’en avons pas besoin, mais il arrive que nous en ayons besoin. Et parfois, nous en avons vraiment besoin.
Voici un cas où il est utile d’avoir une meilleure résolution. Après avoir photographié l’ours à une distance de sécurité et avoir recadré l’image, il ne me restait “que” 4 mégapixels.
Voici la réponse la plus longue
Tout d’abord, toutes les caméras n’ont pas ces hautes résolutions. La plupart des téléphones ont une résolution de 12 mégapixels. De nombreux appareils photo sont encore dans la gamme des 16 à 24 mégapixels. C’est suffisant pour de nombreux usages, comme la mise en ligne ou l’envoi à un ami. Mais si vous souhaitez afficher un grand format sur votre mur, une résolution supplémentaire permet de garder les bords nets et les détails intacts. Nous verrons quelques exemples plus tard.
Même si vous avez un nouvel appareil photo super puissant avec un zillion de pixels, qu’en est-il des photos plus anciennes déjà présentes dans votre collection et prises avec un modèle à plus faible résolution ? Certaines de mes photos préférées ont été prises il y a quinze ans avec un appareil photo de “seulement” 8 mégapixels. En voici une :
A l’époque, j’avais essayé d’en faire un grand format, mais j’ai été déçu par le résultat. Les rochers du premier plan étaient trop lisses et les arbres de l’arrière-plan, sous le brouillard, étaient ternes et difficiles à voir. Grâce à la Super Résolution, je peux maintenant faire un grand format avec des rochers texturés d’aspect naturel et des arbres d’arrière-plan distincts. En bref, la Super Résolution peut donner une nouvelle vie à de vieilles photos.
Une meilleure résolution est également utile lorsque l’on travaille avec des photos à cadrage serré. Vous êtes-vous déjà trouvé dans une situation où vous photographiez de plus loin que vous ne le souhaiteriez, et où votre sujet n’occupe qu’une petite partie de l’image ? Cela m’arrive tout le temps. Voici un exemple :
Ce faucon a volé au-dessus de nos têtes et j’ai enchainé plusieurs clichés avant qu’il ne disparaisse. Bien sûr, cela aurait été bien de passer à un objectif de 800 mm avec une rallonge 2x, mais le faucon été présent que quelques secondes. Avec “seulement” un objectif de 400 mm sur un boîtier d’appareil photo 1,6x, j’ai fini par obtenir une image non recadrée comme celle-ci :
C’est l’une de mes photos d’oiseaux préférées, mais en raison des circonstances de prise de vue évoquées précédemment, le fichier recadré n’est que de 2,5 mégapixels. C’est là qu’intervient la Super Résolution - j’ai maintenant une image de 10 mégapixels à partir de laquelle je peux faire un imprimé de taille décente. Utilisée de cette manière, la Super Résolution est comme un “zoom numérique” avancé.
Maintenant que nous avons parlé des cas d’usages pour la Super Résolution, examinons de plus près la technologie sous-jacente.
Comment cela fonctionne-t-elle ?
L’idée est de familiariser un ordinateur à l’aide d’un grand nombre de photos d’exemple. Plus précisément, nous avons utilisé des millions de combinaisons d’images à basse et haute résolution pour que l’ordinateur puisse comprendre comment agrandir les images à basse résolution. Voici à quoi ressemblent certaines d’entre elles :
Il s’agit de petites images de 128 x 128 pixels issues de photos réelles et détaillées. Fleurs et tissus. Arbres et branches. Briques et tuiles. Avec suffisamment d’exemples couvrant toutes sortes de sujets, le modèle apprend finalement à sur-échantillonner des photos réelles de manière naturellement détaillée.
Apprendre à un ordinateur à effectuer une tâche peut sembler compliqué, mais d’une certaine manière, c’est comme apprendre à un enfant : il faut lui donner une certaine structure et suffisamment d’exemples, et il ne tarde pas à le faire tout seul. Dans le cas de la Super Résolution, la structure de base est appelée “réseau neuronal convolutif profond”, une façon originale de dire que ce qui arrive à un pixel dépend des pixels qui l’entourent directement. En d’autres termes, pour comprendre comment suréchantillonner un pixel donné, l’ordinateur a besoin d’un certain contexte, qu’il obtient en analysant les pixels environnants. C’est un peu comme si, en tant qu’humains, le fait de voir comment un mot est utilisé dans une phrase nous aide à comprendre le sens de ce mot.
La mise en place d’un modèle de machine learning est un processus qui exige beaucoup de calculs et peut prendre des jours, voire des semaines. Voici un aperçu visuel des progrès réalisés, à partir d’un modèle brut Fujifilm X-Trans d’une scène :
Un exemple de combinaison d’apprentissage : Le correctif d’entrée X-Trans (à gauche) et le correctif de sortie couleur RVB agrandi (à droite). Le modèle essaie d’apprendre la correspondance entre les deux. L’image de droite est appelée l’image de “référence” ou de ” réalité de terrain “.
Six clichés de la progression de l’apprentissage, du début (en haut à gauche) à la fin (en bas à droite).
Vous pouvez voir à quel point les premiers résultats (en haut à gauche) sont drôlement mauvais - ils ne ressemblent même pas à des photos ! C’est ce qu’il se passe au tout début, quand l’apprentissage ne fait que commencer. Tout comme un enfant n’apprend pas à marcher dès le premier jour, les modèles de machine learning ne savent pas immédiatement comment faire de la mosaïque et agrandir proprement. Avec de l’entrainement le modèle s’améliore rapidement. Le résultat final (en bas à droite) ressemble beaucoup plus à l’image de référence.
La réalité (à gauche) et le modèle d’apprentissage (à droite). Plutôt proche, non ?
Nous avons quelques atouts uniques dans notre programme d’apprentissage à la Super Résolution. L’un d’eux est que pour les fichiers bruts Bayer et X-Trans (utilisés par la grande majorité des modèles de caméras), nous nous entraînons directement à partir des données brutes, ce qui nous permet d’optimiser la qualité de bout en bout. En d’autres termes, lorsque vous appliquez la Super Résolution à un fichier brut, vous bénéficiez également de la qualité “Enhance Details” dans le cadre de l’accord. Un deuxième élément clé est que nous avons concentré nos efforts d’apprentissage sur des exemples “difficiles” - des zones d’image avec beaucoup de texture et de petits détails, qui sont souvent susceptibles de présenter des défauts après avoir été redimensionnées. Enfin, nous avons construit nos modèles de machine learning pour tirer pleinement parti des dernières technologies de plate-forme, telles que CoreML et Windows ML. L’utilisation de ces technologies permet à nos modèles de fonctionner à toute vitesse sur des processeurs graphiques modernes (GPU).
Comment l’utiliser ?
L’utilisation de la Super Résolution est facile - cliquez avec le bouton droit de la souris sur une photo (ou maintenez la touche Ctrl enfoncée tout en cliquant normalement) et choisissez “Améliorer…” dans le menu déroulant. Dans la boîte de dialogue “Améliorer l’aperçu”, cochez la case “Super résolution” et appuyez sur “Améliorer”.
Votre ordinateur va se mettre à réfléchir, calculer un grand nombre de chiffres, puis produire un nouveau fichier brut au format Digital Negative (DNG) qui contient la photo améliorée.
Tout ajustement que vous avez apporté à la photo source sera automatiquement transféré dans le DNG amélioré. Vous pouvez modifier le DNG amélioré comme n’importe quelle autre photo, en appliquant vos réglages ou préréglages préférés. En parlant d’édition, je vous recommande de revoir vos réglages de netteté, de réduction du bruit et éventuellement de texture. Tous ces contrôles affectent les détails fins, et vous devrez peut-être les régler pour obtenir les meilleurs résultats sur la photo améliorée.
La Super Résolution double la résolution linéaire de la photo. Cela signifie que le résultat aura deux fois la largeur et deux fois la hauteur de la photo originale, soit quatre fois le nombre total de pixels. Par exemple, la photo source ci-dessous est de 16 mégapixels, donc l’application de la Super Résolution donnera un DNG de 64 mégapixels.
Les images sont actuellement limitées à 65 000 pixels sur le côté long et à 500 mégapixels. Si vous essayez d’appliquer la Super Résolution à un fichier proche de ces chiffres, comme un grand panorama, vous obtiendrez un message d’erreur car le résultat serait trop grand. Nous cherchons des moyens de repousser ces limites à l’avenir. Pour l’instant, ne vous inquiétez pas un fichier de 500 mégapixels est encore sacrément grand !
L’application de la Super Résolution à un fichier brut Bayer ou X-Trans entraînera automatiquement l’application de la fonction Enhance Details, également. La combinaison de ces étapes permet d’obtenir une meilleure qualité et de meilleures performances.
La Super Résolution fonctionne également avec d’autres formats de fichiers tels que les JPEG, les PNG et les TIFF. Voici un exemple où j’ai capturé une séquence temporelle en format brut, puis je les ai composées dans Photoshop pour produire un fichier TIFF. J’ai ensuite appliqué la Super Résolution à ce montage.
Si vous utilisez beaucoup Enhance, vous trouverez peut-être les conseils suivants utiles pour accélérer votre workflow. Vous pouvez appliquer la fonction Enhance à plusieurs images à la fois en sélectionnant d’abord les images souhaitées dans la bande de film, puis en exécutant la commande Enhance. La boîte de dialogue ne vous montrera qu’un aperçu de la photo principale, mais les options d’amélioration que vous avez choisies s’appliqueront à toutes les photos sélectionnées. Vous pouvez également ignorer complètement la boîte de dialogue en appuyant sur la touche Option (sous MacOS) ou Alt (sous Windows) avant de choisir la commande “Améliorer” du menu. L’utilisation de la fonction “sans tête” permet d’appliquer les paramètres Enhance précédents.
Comparaison
Examinons de plus près les résultats. Nous commencerons par une scène de test en studio disponible sur dpreview.com :
Bien qu’il ne s’agisse pas d’une “photographie du monde réel”, c’est un bon moyen de se faire une idée des avantages offerts par la Super Résolution, par rapport aux méthodes traditionnelles de redimensionnement. Voici quelques images zoomées de différentes parties de cette scène de test. Les images de gauche utilisent le redimensionnement bicubique standard, et celles de droite utilisent la Super Résolution. Remarquez comment la nouvelle approche permet de mieux préserver les petits détails et les couleurs.
Examinons maintenant quelques cas pratiques, en commençant par une image de paysage
Il s’agit en fait d’une prise de vue assez serrée à partir d’une scène plus large, comme le montre la figure ci-dessous :
Voici un zoom des branches et du feuillage, avec rééchantillonnage bicubique à gauche et Super Résolution à droite :
Pendant que nous sommes sur le super thème, voici une photo de super ours :
Il ne manque plus qu’une cape rouge !
J’ai gardé mes distances avec cet ours brun pendant qu’il pêchait le saumon rouge. Voici des gros plans de la fourrure et de l’eau pulvérisée, avec le rééchantillonnage bicubique à gauche et la Super Résolution à droite.
Best practices
Voici quelques conseils supplémentaires pour tirer le meilleur parti de la Super Résolution.
Utilisez des fichiers bruts dans la mesure du possible. Plus généralement, partez de la photo source la plus nette disponible. Si la photo source présente des défauts, comme c’est souvent le cas avec les fichiers JPEG ou HEIC hautement compressés, ces défauts peuvent devenir plus visibles après l’application de la super résolution.
Un GPU plus rapide signifie des résultats plus rapides. Les fonctions Enhance Details et Super Resolution effectuent toutes deux des millions de calculs et bénéficient énormément d’un GPU rapide. Pour les propriétaires d’ordinateurs portables, un GPU externe (eGPU) peut faire une grande différence. On parle de secondes contre des minutes pour traiter une seule image !
Si vous êtes à la recherche d’un nouvel ordinateur ou d’un nouveau GPU, recherchez des modèles de GPU optimisés pour les technologies de machine learning CoreML et Windows ML. Par exemple, le moteur neuronal de la puce M1 d’Apple est hautement optimisé pour les performances CoreML. De même, les TensorCores des GPU de la série RTX de NVIDIA fonctionnent très efficacement sous Windows ML. Le paysage des GPU évolue rapidement et je m’attends à de grandes améliorations des performances dans un avenir proche.
La Super Résolution peut produire de très gros fichiers, qui prennent plus de temps à lire sur le disque. Je recommande l’utilisation d’un disque rapide comme un Solid-State Drive, ou SSD.
Enfin, ne vous sentez pas obligé d’appliquer la Super Résolution sur toutes vos photos ! Considérez-la comme une nouvelle option pour les photos et les projets d’impression spéciaux qui en ont vraiment besoin. En ce qui me concerne, j’ai une centaine de milliers de photos dans mon catalogue, mais je n’ai utilisé la Super Résolution que sur une poignée d’entre elles. Après une longue et minutieuse réflexion, j’ai décidé que je n’avais pas vraiment besoin de photos de mon chat à cent mégapixels. Vraiment.
Cette photo floue n’a pas de détails fins et n’a pas besoin de super résolution, même pour les gros tirages.
Quelle est la prochaine étape ?
Enhance Details a été la première fonction d’Enhance. Super Resolution est la deuxième. Nous étudions actuellement les moyens d’étendre la Super Résolution pour obtenir des résultats encore plus grands et plus nets. Nous allons également explorer d’autres applications potentielles de la même technologie sous-jacente, telles que l’amélioration de la netteté ou la réduction du bruit. Tout ce que nous pouvons faire pour améliorer l’aspect des images est bon à prendre !