Icône / Logo d'Upscayl

Agrandissez vos images avec Upscayl, logiciel d'upscaling par IA

Plusieurs modèles d'upscaling pour redimensionner photos et images

Vous vous souvenez de ces séries policières style "Les Experts" où l'enquêteur faisait agrandir et améliorer les images dégueulasses d'une caméra de vidéosurveillance pour dévoiler un infime détail et confondre le suspect ? Ah qu'est-ce qu'on s'est marré à l'époque ! Tellement irréaliste ! Bien-sûr que non, on ne peut pas "améliorer" une image au point de faire apparaître des détails qui ne sont pas sur l'image ! Du moins, pas avant que les modèles d'upscaling ne viennent changer la donne...

Le scénario faisait tellement se bidonner les geeks, que ça a donné lieu à un certain nombre de parodies mémorables, à l'image de la fameuse scène "Super Enhance" dans Red Dwarf en 2009. C'était il y a quinze ans, autant dire une éternité dans le milieu de l'informatique. À l'époque, c'était entendu : on ne fait pas apparaître comme par magie des données absentes de l'image de départ. Au mieux, on peut "lisser" un peu l'agrandissement pour masquer les pixels, au prix d'un peu de flou supplémentaire.

Sauf que depuis, les IA sont passées par là. Alors non, on ne s'emballe pas, on ne fait toujours pas de magie, on ne fait pas apparaître une adresse manuscrite en zoomant sur un bout de papier de 3 pixels. Mais oui, "l'upscaling" comme on l'appelle, a fait des progrès assez surprenant avec l'arrivée de l'IA, et permet de récupérer une quantité assez étonnante de détails perdus dans une image basse résolution.

Fini de rigoler, donc. On passe aux choses sérieuses !

 

Les bonnes vieilles valeurs sûres

Pendant quelques années, deux technologies se sont faites remarquer... Il y avait l'upscaling appliqué aux jeux vidéo, avec la technologie DLSS de nvidia, qui permet de générer le jeu dans une résolution plus faible, puis de l'upscaler par IA, avec un niveau de qualité remarquablement similaire à si le jeu avait été depuis le début rendu dans sa résolution finale, pour une fraction de la puissance de calcul.

Pour l'agrandissement d'images ou de photos, en différé, le logiciel bigjpg s'était fait remarquer il y a déjà une demi-douzaine d'années. Basé sur le modèle waifu2x, il proposait un upscaling jusqu'à 4x pour sa version gratuite, plutôt adapté aux images de type anime japonais. Ses performances sur d'autres types d'images ou sur des photos étaient, et demeurent, plus modestes, et pas toujours significativement meilleures de ce que proposaient certains algorithmes non-basés sur l'IA.

Depuis, d'autres modèles plus performants sont apparus, hélas souvent payants : ainsi, si Topaz Gigapixel est plutôt réputé, il vous en coûtera tout de même 99$ pour en profiter, sans vraiment de version gratuite en dehors d'un trial très limité. Idem pour Claid.ai, efficace, mais sur abonnement.

 

Upscayl, l'upscaling par IA libre et gratuit

Le meilleur rapport qualité/prix en ce moment est donc peut-être bien Upscayl... il faut dire qu'il est gratuit. Libre et open-source, c'est un projet non-commercial qui ne devrait pas vous lâcher. Il est simple d'utilisation, disponible pour Windows, Linux et macOS, il suffit de le télécharger et de l'installer. Seule condition : il nécessite un GPU compatible Vulkan. Grosso-modo, ça correspond à n'importe quel GPU de moins de dix ans, et même certains GPU de plus de douze ans.

Plutôt complet et sans fonction planquée derrière un paywall, il permet de choisir parmi différents modèles et même d'en importer. 

Une fois lancé, on arrive sur cette interface plutôt épurée :

Interface générale d'Upscayl

De haut en bas, le logiciel vous demande de sélectionner une image, puis de choisir un modèle dans une liste. Par défaut, quelques modèles sont proposés :

  • General photo (Real-ESRGAN, Fast-Real-ESRGAN, Remacri, Ultramix Balanced, Ultrasharp) : adaptés aux photos et aux images contenant de nombreux détails photoréalistes (par exemple des jeux vidéos récents)... chaque modèle a ses avantages et ses inconvénients, vous pourrez les tester et voir lequel vous convient le mieux au cas par cas.
  • Digital Art : Un seul modèle disponible, a priori basé sur Real-ESRGAN mais optimisé pour les dessins ou créations graphiques plus axées aplats de couleurs et dégradés... 

Vous pourrez également importer vos propres modèles, le site officiel d'Upscayl en propose même quelques uns.

Vous pouvez sélectionner un dossier dans lequel il enregistrera le travail, c'est l'étape n°3. Sinon, il l'enregistrera dans le même dossier que l'image de départ.

Mais avant de cliquer sur le bouton "Upscayl", vous aurez peut-être intérêt à faire un tour dans les options :

Paramètres d'Upscayl

Plusieurs choix s'offrent à vous - y compris celui de faire un don si le cœur vous en dit. Mais surtout :

Save image as : choisissez le format de fichier de votre image de sortie, entre PNG, JPG et WEBP. PNG.

Don't post-process the image : permet de désactiver le post-processing appliqué à l'image après agrandissement. Dans certains cas, cela permet de faire apparaître un peu plus de détails ou de corriger certains défauts, mais au risque de voir apparaître également des artefacts ou du bruit. Je n'ai, personnellement, jamais constaté d'amélioration en désactivant cette option.

Image scale : permet de choisir entre un agrandissement 1x, 2x, 3x ou 4x. Vous pouvez également appliquer un double-upscaling depuis l'interface principale, portant l'agrandissement max à 8x.

OU

Custom output width : définissez une largeur précise souhaitée en sortie (la hauteur sera automatiquement calculée de manière à respecter les proportions de l'image d'origine), plutôt qu'un multiplicateur d'agrandissement.

Image compression : globalement à ne pas toucher sauf besoins particuliers.

Save Output Folder : si activé, le logiciel se souviendra du dossier dans lequel vous souhaitez ranger vos images agrandies (si tant est que vous ayez choisi un dossier spécifique)

Overwrite Previous Upscale :  si activé, Upscayl refera à nouveau l'upscaling chaque fois que vous lui demanderez de voir l'image, au lieu de retourner chercher un upscaling identique déjà fait auparavant.

Turn off notifications : désactive les notifications, peu utile en pratique, Upscayl étant peu envahissant.

GPU ID : cette option est destinée aux utilisateurs de PC équipés de plusieurs GPU, par exemple un portable avec un GPU intégré + une carte graphique dédiée. Si le choix par défaut d'Upscayl n'est pas le bon, vous pouvez lui donner ici le n° du GPU à utiliser (0, 1, 2, 3...) 

Enfin, c'est tout en bas de ces options que vous pourrez lui importer des modèles supplémentaires, si vous en avez téléchargé.

 

Lancer l'upscaling, profiter du résultat

Une fois configuré, retournez sur l'interface principale, choisissez votre image et votre modèle si ce n'était déjà fait et cliquez sur "Upscayl". Attendez quelques instants et voyez la magie opérer.

Un exemple ici avec le logo d'EverydAI, fourni en taille 128x128 et upscalé en x4 avec le modèle "Digital Art" :

Résultat avec upscayl

À gauche, l'agrandissement "standard", avec un filtrage bilinéaire à l'ancienne. À droite, l'agrandissement fait par Upscayl. Même sur une image aussi simple, y a pas photo... si j'ose dire.

Cerise sur le gâteau, le modèle Digital Art a même tendance, lorsqu'il y en a, à gommer efficacement les artefacts jpeg de certaines images ayant subi une compression un peu trop énergique. Exemple avec une image que j'ai eu besoin d'agrandir récemment :

Image avec et sans artefacts

À gauche, l'agrandissement standard avec filtrage bilinéaire, qui ne masque pas les nombreux artefacts jpeg, notamment autour des vagues blanches. À droite, l'agrandissement made in upscale, presque totalement débarrassé de ces défauts (au prix d'un léger effet de "bloom" autour des vagues).

Alors, convaincu par ce tour de magie ? Alors à vous de jouer ! C'est gratuit, libre, open-source, simple et dispo sur à peu près toutes les machines. Une version dans le cloud est même prévue pour très bientôt. Y a plus qu'à !

Ressources :