"Upscaler", une appli pour redimensionner facilement des images bitmap

Bonjour à tous ,
je viens de découvrir une appli qui se nomme “Upscaler” qui se trouve dans les dépôts … elle permet de redimensionner une image bitmap dans une résolution supérieure sans perte de qualité … Je viens de faire un petit test et le résultat est très convaincant … L’appli s’installe en un clin d’œil et son fonctionnement assez basique …
On choisit une image et on indique la résolution à laquelle on souhaite la ré échantillonner puis on définit un nom pour le fichier de sortie …Rien de bien sorcier, la manip prend quelques secondes et le résultat est excellent !
A tester si on aime bien manipuler des images (des fonds d’écran par exemple) que l’on souhaite pouvoir agrandir sans perte de qualité … Une belle appli à découvrir donc !
Cdlt
Plus d’infos ici: https://www.omgubuntu.co.uk/2022/11/upscaler-open-source-ai-image-upscale-app-for-linux

1 Like

It’s a front-end for this: https://github.com/xinntao/Real-ESRGAN-ncnn-vulkan

So far I used that: https://archlinux.org/packages/community/x86_64/waifu2x-ncnn-vulkan/

From the comparison image, Real-ESRGAN might be little bit better than waifu on drawn art, and more appropriate for photos. I’ll have to try it out next time I need an upscaler.

Salut Gamall,
je pense que tu peux écrire et répondre en français , on est sur le forum en langue française après tout ! Merci pour tes infos, j’avais rajouter un lien où effectivement j’avais vu que c’était une interface de Real-ESRGAN-nonn-vulkan … franchement le peu que j’en vois est excellentissime ! Sur les exemples montrés sur le site dont j’ai mis le lien, visiblement c’est pratiquement mieux que l’original … Merci pour ton intérêt … Cdlt :slight_smile:)

Effectivement, je n’avais pas fait attention :stuck_out_tongue:

Point negatif: waifu a un package dans les repos Arch; il faut l’AUR pour ERSGAN: https://aur.archlinux.org/packages/realesrgan-ncnn-vulkan-bin

Un petit test avec des sprites de Caesar3:

Original:
Housng1a_00044

waifu:
Housng1a_00044.x2std

ESRGAN, mêmes parametres:
Housng1a_00044.x2

La perte de détail est plus importante avec ESRGAN. Voir par exemple les pavés devant le bâtiment.

2 Likes

là tu pars de très très loin avec un timbre poste de 238x153 pixels en 72 dpi … difficile faire un “miracle” avec une “vignette” aussi pixellisée… c’est vrai qu’avec waifu il y a moins de perte dans les détails mais l’image reste fortement pixellisée, en revanche avec ESRgan l’image est plus lissée et peu de détails ! On est dans des cas extrêmes là …
Cdlt

On est dans le dernier cas pour lequel j’ai utilisé un upscaleur en pratique, et pour lequel je me posais la question “ai-je intérêt à changer d’outil?” :woman_shrugging:

Si tu as le temps de faire de vrais tests avec de nombreux types d’images en entrée et options, ne te prive pas :stuck_out_tongue:

Par curiosité: waifu avec -n3 (max denoising)
Housng1a_00044.x2
très similaire à ESRGAN; un peu plus de détails.

Parenthèse: les dpi ne sont pas une propriété d’une image bitmap, mais de son affichage.

Mes amis, le logiciel du forum compresse agressivement toutes les images postées ici. Ils ont tous l’air affreux!

(Translated with Google 'cause I don’t speak French)

C’est du png même après upload, la compression est lossless dans tous les cas; j’ai testé une des images avec graphviz compare original version_téléchargée: pas de différence.

C’est moche parce que, comme discuté plus haut, c’est un cas extrême.

PS: Google a produit du bon français. :slight_smile:

1 Like

Oui bien entendu … mais l’image resituée avec sa résolution d’affichage (il s’agit là d’une résolution très basse pour écran) montre bien la difficulté d’agrandir l’image avec l’ensemble de ses détails … tu ne peux pas inventer des détails qui n’existent pas sur ta photo ou alors c’est carrément une interprétation de la photo … Sur l’original impossible de distinguer les pavés distinctement … à plus forte raison sur un agrandissement ou après tu vas à Lourdes si tu crois aux miracles. La technologie peut faire beaucoup de choses mais elle ne peut pas tout! Quant à faire des essais, franchement non, je cherchais un outil qui puisse ré-échantillonner “honorablement” des fonds d’écran, je pense que ça doit pouvoir le faire …et je suis un peu tombé par hasard sur ESRgan que j’ai trouvé intéressant :slight_smile:

Oh, désolé, ma faute. C’est en effet un PNG. Je ne savais pas que c’était censé avoir l’air si mauvais, alors j’ai pensé que c’était le logiciel du forum :smile:

Oh, sorry, my fault. It’s indeed a PNG. Didn’t know it’s supposed to look that bad so thought it’s the forum software :smile:

1 Like

Inventer des détails qui n’existent pas dans l’image d’origine est précisément ce que fait tout upscaler basé sur l’AI, d’où l’importance de la phase d’entraînement du modèle (dont proviennent ces détails ajoutés). L’absence de miracle tient au fait que ça ne donne pas toujours de bons résultats. C’est parfois même contreproductif.

Par exemple, DLSS3 dans F1 22 fait apparaître des bouts de minimap parasites là où il n’y en a pas du tout, simplement parce que le modèle a été entraîné là-dessus. (ok, pas seulement un upscaleur, mais même principe)

On voit ça par exemple sur cette vidéo, en bas à gauche, quelques secondes après le timestamp que j’ai choisi:

Et encore une fois, je sais que je n’ai pas choisi une image facile à traiter. J’ai pris ce que j’avais sous la main, et ce dont j’avais besoin, et ça illustre des différence de fonctionnement générales entres les deux upscalers (plus de denoising avec ERGSCAN). Il n’y a pas de vastes conclusions générales ou jugements de valeur à en tirer au delà de ce cas particulier.

Le jour où j’en aurai besoin sur autre chose, je testerai les deux à nouveau !

Visiblement tu en connais plus que moi … je ne savais pas qu’il y avait de l’AI dans cette appli mais ça prouve qu’avec ou sans AI le challenge est compliqué à relever et parfois contreproductif , je dirais plus “aléatoire” comme tu le dis si bien ! Désolé, ça me dépasse un peu !
cdlt :slight_smile:

Y’en a :slight_smile: ncnn – que tu trouves dans le nom des deux projets discutés ici – est une framework d’inférence basée sur les réseaux de neurones. C’est pour ça qu’ils utilisent des GPUs autant que faire se peut, c’est très gourmand en calcul.

Ce n’est pas du tout mon domaine de spécialité, mais, au cas où ça t’intéresse, voici une petite explication très intuitive de ce que ça fait:

Imagine que tu voies la photo de qqn, mais en tt petit. Il y a mettons 5 ou 6 pixels pour le visage.
Comme tu es humain, et tu as vu beaucoup d’humains, et que tu reconnais la silhouette comme humaine, si on te demandais de dessiner la personne sur format A4, tu lui donnerais un nez, une bouche, etc, même si ces détails sont totalement impossibles à distinguer sur la photo d’origine. Tu as inféré ces détails sur la base de ton expérience considérable de la forme humaine, entraînée tout le long de ta vie sur des millions d’exemples (milliers de personnes sous tous les angles possibles). Un alien, même très intelligent, mais n’ayant jamais vu un être humain, serait incapable d’en faire autant.

De même, tu peux entraîner un programme sur un corpus de milliers ou millions d’images, et il peut faire quelque-chose de similaire. Ca ne marche pas parfaitement à tous les coups, mais quand ça marche c’est assez bluffant.

Ce sont des techniques en plein essor, très différentes des upscalings classiques type bicubique et autres, qui se contentent de faire des sortes de gradiants pour estomper les pixels; ces “nouvelles” (la théorie de base existe depuis longtemps) techniques sont des domaines actifs en recherche. Tu peux t’attendre à ce qu’elles s’améliorent encore dans les années qui viennent!

Fin de la digression, et bonne soirée :slight_smile:

Merci pour appli, effectivement pour la retouche ceci est pas mal.

Merci pour toutes ces explications … je viens de découvrir un domaine que je ne connaissais pas ! a+ :slight_smile:

1 Like

Pour la retouche pas sûr que ce soit indispensable … mais pour le redimensionnement à diverses fins oui je pense ! ça dépend de ce que tu appelles la retouche !
Cdlt :slight_smile:

1 Like

Salut,

Je m’intéresse un peu aux upscalers, mais pour la vidéo, le problème, comme pour l’image est qu’il n’existe pas de solution universelle. Ces upscalers dépendent beaucoup du type d’image qui a été utilisé pour entrainer l’AI (photo pour du film, anime pour l’anime, images de jeu pour DLSS et FSR).

Perso je préfère quelque chose de moins lisse (fait avec imagemagick, filtre Mitchell) :

essaimitchell2

1 Like

je ne suis pas loin de rejoindre ton avis … ce qui me gêne un peu c’est le côté “interprétation” qui n’est pas toujours adéquat il me semble … peut-être dans quelques années auront nous un autre discours quand la technologie se sera améliorée !
Cdlt