6 points par GN⁺ 2024-04-02 | 1 commentaires | Partager sur WhatsApp
  • Upscayl est un upscaler d’images IA open source gratuit qui agrandit et améliore les images en basse résolution grâce à des algorithmes IA avancés, et propose la dernière release v2.15
  • La restitution des détails de l’image est améliorée par une méthode où le modèle IA estime les détails possibles, avec l’utilisation de Real-ESRGAN et de l’architecture Vulkan
  • L’exécution nécessite un GPU compatible Vulkan, et peut ne pas fonctionner sur la plupart des GPU intégrés (iGPU) ou sur CPU
  • Compatible avec Linux, macOS 12 et plus, et Windows 10 et plus ; sous Linux, plusieurs modes de distribution sont proposés comme Flatpak, AppImage, AUR, Snap, RPM, DEB et ZIP
  • Ce n’est pas un outil de restauration d’images floues ou hors focus ; il faut utiliser des images d’entrée adaptées à l’amélioration d’images basse résolution ou pixelisées

Ce que fait Upscayl

  • Upscayl est un upscaler d’images IA open source gratuit qui agrandit et améliore les images en basse résolution
  • Son objectif est d’agrandir les images sans perte de qualité, et son site officiel est upscayl.org
  • La dernière release indiquée est la v2.15

Fonctionnement et technologies clés

  • Upscayl améliore les images en laissant un modèle IA estimer leurs détails
  • En interne, il utilise Real-ESRGAN et l’architecture Vulkan
  • Le backend est upscayl-ncnn, un backend entièrement open source sous licence AGPLv3
  • Un outil CLI est aussi proposé sous le nom upscayl-ncnn

Installation et plateformes prises en charge

  • Upscayl nécessite un GPU compatible Vulkan pour l’upscaling d’images
    • De nombreux GPU intégrés peuvent ne pas fonctionner
    • Le README indique qu’il n’y a pas de problème à essayer malgré tout
  • Sous Linux, il devrait être disponible dans la liste des logiciels de la plupart des distributions
    • L’application Store de la distribution peut aussi prendre en charge la version Flatpak ou Snap
    • En mode portable, il suffit de télécharger upscayl-x.x.x-linux.AppImage depuis la section releases ou le site officiel, puis de lui donner les droits d’exécution avant de le lancer
    • Les formats RPM, DEB et ZIP sont également disponibles
  • macOS cible macOS 12 ou plus
    • Un lien vers le Mac App Store est fourni
    • Il est possible de télécharger le fichier DMG, de le déplacer dans le dossier Applications puis de l’ouvrir depuis Finder
    • La commande d’installation Homebrew est brew install --cask upscayl
  • Windows cible Windows 10 ou plus
    • Il faut télécharger puis exécuter upscayl-x.x.x-win.exe
    • Si un avertissement SmartScreen apparaît, il est indiqué de choisir More Info puis Run Anyway, ou de cliquer sur YES dans la boîte de dialogue de l’éditeur non vérifié

Documentation, modèles et vérification des résultats

  • La documentation et les guides sont disponibles dans Upscayl Documentation
  • Des modèles supplémentaires peuvent être testés via custom-models
  • La méthode pour convertir soi-même des modèles est expliquée dans le wiki Model Conversion
  • La compatibilité peut être vérifiée dans la Compatibility List
  • Pour le dépannage, il faut utiliser le document Troubleshooting
  • Il est indiqué de consulter COMPARISONS.MD pour comparer les résultats avant et après l’upscaling

Limites et précautions d’usage

  • Upscayl peut améliorer les images basse résolution et les images pixelisées
  • Il ne propose pas de fonction de défloutage ni de mise au point
    • Il n’est donc pas adapté aux images hors focus ou complètement floues
    • Le README recommande d’utiliser des images similaires aux exemples fournis
  • Le GPU ID est un réglage permettant de sélectionner le GPU à utiliser
    • La procédure détaillée est décrite dans le Wiki Guide
    • Sous Windows, si Upscayl n’est pas configuré en mode performance, le système peut écraser ce réglage
  • Si Batch Upscayl a été interrompu en cours de route et que certaines images semblent non traitées, ou avec une compression ou une échelle incorrecte, il se peut que le modèle ne prenne pas en charge certaines opérations
    • Dans ce cas, Upscayl effectue tout l’upscaling des images avant le post-traitement, il faut donc attendre la fin complète du processus

Développement et build

  • Pour installer Node.js dans l’environnement de développement, l’usage de Volta est recommandé
    • Après l’installation de Volta, exécuter volta install node
  • Le flux d’exécution en local suit l’ordre suivant : clonage du dépôt, installation des dépendances, lancement du serveur de développement
  • Si vous ne souhaitez pas installer Git, vous pouvez télécharger le source zip, le décompresser dans le dossier upscayl, puis suivre le reste de la procédure
  • Le packaging de l’application se fait avec npm run dist
  • La commande de publication de l’application est npm run publish-app ; il est indiqué que seuls les mainteneurs doivent l’exécuter après avoir ajouté GH_TOKEN= dans le shell

1 commentaires

 
GN⁺ 2024-04-02
Avis sur Hacker News
  • Si, comme moi, vous utilisez Real-ESRGAN-ncnn-vulkan [1] et vous vous demandez ce que upscayl-ncnn CLI [2] a changé, il ne semble pas y avoir de grande différence ni beaucoup de changements substantiels [3]
    Ce n’est pas une critique, je voulais juste savoir si cela valait la peine de passer à l’outil CLI. $subj est une application GUI distincte basée dessus
    [1] https://github.com/xinntao/Real-ESRGAN-ncnn-vulkan
    [2] https://github.com/upscayl/upscayl-ncnn
    [3] https://github.com/xinntao/Real-ESRGAN-ncnn-vulkan/compare/m...

    • Upscayl NCNN inclut diverses mises à jour comme la prise en charge récente de Vulkan, des corrections de bugs et des ajouts de fonctionnalités, et d’autres arrivent bientôt. Les changements n’ont simplement pas encore été poussés, et la prise en charge CPU est aussi en cours
      Si vous voulez utiliser Real-ESRGAN, il faut composer avec une base de code plus mise à jour depuis longtemps et plusieurs problèmes ouverts. À ma connaissance, Upscayl NCNN est actuellement le seul projet qui maintient Real-ESRGAN NCNN
    • Je suis venu dans les commentaires pour poser exactement cette question. J’utilise RealESRGAN depuis des années, et j’ai même quelques photos agrandies avec ça accrochées chez moi
      J’ai agrandi beaucoup de vieilles photos d’un album de famille, puis corrigé les défauts avec des outils comme Photoroom et Snapseed avant de les envoyer à l’impression, et ça marche vraiment bien
      Quand je tombe sur une vieille image basse résolution sur internet dont je ne trouve pas l’original en haute résolution, même avec Google, DuckDuckGo ou Kagi, je l’upscale avec RealESRGAN pour l’utiliser comme fond d’écran, arrière-plan de présentation, etc.
    • Si les gens préfèrent une GUI, ce n’est pas un problème
  • À chaque fois que je voyais une scène dans une série ou un film où ils “enhance” une image, ça me faisait énormément rire : https://youtu.be/LhF_56SxrGk
    On dirait que la science-fiction d’hier est devenue la réalité d’aujourd’hui

    • Rien que d’y penser, ça me fait presque tressaillir maintenant. Quand des réalisateurs faisaient dire “enhance !”, moi et beaucoup d’autres geeks répondions “mais il n’y a pas plus de pixels, ça ne peut pas marcher !”
      Et pourtant maintenant, ça existe. “Enhance” est réellement possible
    • Maintenant, ça ne fait que halluciner des détails
    • Ce qui est drôle, c’est que le slogan “la science-fiction d’hier est devenue la réalité” apparaît vraiment sur https://upscayl.org sous la forme “From Science Fiction to Reality”
    • La formule exacte aurait dû être “Hallucinate!”
    • Cela dit, si vous essayez d’agrandir la plaque d’immatriculation du véhicule d’un suspect, vous obtiendrez probablement un numéro basé sur un bruit moyen, qui peut être différent du vrai
  • Je l’ai essayé en décembre, et c’était plutôt intuitif. Je le recommanderais à quelqu’un qui veut commencer à explorer plusieurs outils pour la première fois
    En revanche, d’après ce que j’ai compris, la qualité reste assez loin de l’état de l’art. Un ami m’a récemment recommandé Topaz, mais ce n’est pas open source

    • La qualité est en fait comparable sur certains points. C’est juste que Upscayl est un projet gratuit et n’a pas encore son propre modèle, donc il s’appuie sur des modèles de la communauté. Et ces modèles sont déjà très bons
      Le plan est de créer en interne un modèle solide dès qu’un financement suffisant aura été réuni :)
      https://ckovalev.com/midjourney-ai/guide/upscaling-ai-art-fo...
    • Les meilleurs résultats que j’ai obtenus venaient de l’onglet extras de a1111. Bien sûr, il faut savoir ce que signifient les différentes options, et l’interface est clairement plus complexe
  • UpScayl est excellent et je l’utilise souvent au travail. C’est pratique pour agrandir rapidement des visuels ou illustrations basse résolution pour du travail graphique, augmenter la taille de portraits pour l’impression et les retouches dans Photoshop, ou agrandir d’anciennes copies pour l’édition
    Ce n’est pas parfait, mais les alternatives ne le sont pas non plus. Malgré ça, c’est extrêmement utile

    • Ravi que ça vous plaise. On continue de l’améliorer, et avec l’arrivée d’Upscayl Cloud, les possibilités vont énormément s’élargir aussi pour les professionnels. Bien sûr, dans des limites raisonnables :)
  • upscayl est accessible, mais il lui manquait beaucoup de fonctionnalités dont j’avais besoin. Une fois l’upscaling devenu une partie régulière de mon workflow, je suis passé à https://github.com/AUTOMATIC1111/stable-diffusion-webui, mais pour quelqu’un qui veut juste améliorer quelques images, c’est un outil idéal

  • Par rapport aux progrès réalisés dans d’autres domaines, les upscalers actuels donnent encore de façon surprenante une impression en deçà des attentes

  • Existe-t-il des modèles qui ne font pas seulement de l’upscaling, mais aussi du nettoyage d’image ? J’ai beaucoup de vieilles photos prises avec les premiers appareils photo compacts basse résolution, avec des artefacts JPEG et ce genre de choses
    J’ai l’impression qu’un modèle moderne pourrait être facilement affiné pour corriger ce type de problème, mais même en cherchant tous les quelques mois, je n’ai encore rien trouvé

    • Vous pouvez jeter un œil à ces modèles : https://replicate.com/collections/image-restoration
      La plupart peuvent être exécutés en local, mais je recommanderais d’abord de les tester sur replicate avant de passer du temps à comprendre cog/docker/hf
  • Malheureusement, pour la vidéo, je n’ai encore rien vu qui atteigne la qualité des outils payants de Topaz Labs. Avec les autres implémentations, la netteté et la cohérence semblent toujours poser problème
    J’aimerais vraiment que quelqu’un me prouve que j’ai tort. J’ai un projet bloqué à cause de la faible qualité et résolution de la source

  • Dans le même registre, quelle application correspondrait à la suppression de filigrane ?