Thera : agrandissement d'images de toutes tailles, outils open source de déaliasing

Introduction générale

Thera est un outil de super-résolution d'images open source développé par une équipe de l'ETH Zurich et de l'Université de Zurich. Il peut agrandir des images à faible résolution à des échelles arbitraires, telles que 2x, 3,14x ou même des multiples non entiers, sans irrégularité ni flou. Au cœur de Thera se trouve l'utilisation de champs de chaleur neuronaux et d'un modèle d'observation physique intégré qui imite le processus d'imagerie réel, ce qui permet d'obtenir des détails d'image naturalistes. L'outil est disponible gratuitement sur GitHub, et tout le monde peut télécharger le code ou utiliser le modèle pré-entraîné.

Thera:任意尺寸图像放大、去锯齿的开源工具

Adresse de démonstration : https://huggingface.co/spaces/prs-eth/thera

 

Liste des fonctions

  • Prise en charge d'une échelle d'agrandissement arbitraire : vous pouvez définir librement l'agrandissement, qui n'est pas limité aux nombres entiers.
  • Effet Jagged-free : élimine les irrégularités et la distorsion pendant l'amplification grâce à la technologie Neural Thermal Field (champ thermique neuronal).
  • Modèle d'observation physique intégré : simule le processus d'imagerie réel pour améliorer le naturel de l'image.
  • Support open source : les utilisateurs peuvent modifier le code ou l'adapter à leurs besoins.
  • Fournit des modèles pré-entraînés : comprend de multiples variantes des réseaux de base EDSR et RDN.
  • Fonctionnement multiplateforme : basé sur Python 3.10, il prend en charge les systèmes Linux et les GPU NVIDIA.
  • Prise en charge des démonstrations locales : téléchargez des images et traitez-les en temps réel via l'interface Gradio.

 

Utiliser l'aide

L'utilisation de Thera se divise en deux parties : l'installation et le fonctionnement. Vous trouverez ci-dessous les étapes détaillées qui vous permettront de démarrer rapidement.

Processus d'installation

Thera nécessite Linux, Python 3.10 et un GPU NVIDIA. Les étapes d'installation sont les suivantes :

  1. Créer l'environnement
    Créez un environnement Python 3.10 avec Conda et activez-le :
conda create -n thera python=3.10
conda activate thera
  1. Télécharger le code
    Clonez le projet Thera depuis GitHub :
git clone https://github.com/prs-eth/thera.git
cd thera
  1. Installation des dépendances
    Installez les bibliothèques nécessaires avec pip :
pip install --upgrade pip
pip install -r requirements.txt
  1. Télécharger le modèle pré-entraîné
    Thera propose une variété de modèles pré-entraînés tels que thera-rdn-pro.pklVous pouvez le télécharger depuis Hugging Face ou Google Drive. Vous pouvez le télécharger depuis Hugging Face ou Google Drive. Le lien est ci-dessous :

Une fois l'installation terminée, Thera est prêt à fonctionner. Si vous rencontrez des problèmes, vous pouvez utiliser la fonction python run_eval.py -h Visualisation de l'aide.

flux de travail

La fonction principale de Thera est d'agrandir l'image. Voici les étapes exactes :

  1. Préparation de l'image d'entrée
    Placez l'image à agrandir dans un dossier tel que data/test_imagesIl prend en charge les formats PNG, JPEG et autres.
  2. Super résolution en cours d'exécution
    Traiter l'image en entrant des commandes dans le terminal :
./super_resolve.py input.png output.png --scale 3.14 --checkpoint thera-rdn-pro.pkl
  • input.png est l'image d'entrée.
  • output.png est l'image de sortie.
  • --scale Régler le grossissement, par exemple 3,14.
  • --checkpoint Spécifie le chemin du modèle pré-entraîné.
  1. fichier de lot
    Si vous souhaitez traiter plusieurs images, vous pouvez utiliser la fonction run_eval.py: :
python run_eval.py --checkpoint thera-rdn-pro.pkl --data-dir data --eval-sets test_images

La sortie est enregistrée dans le fichier outputs dossier.

Fonction en vedette Fonctionnement

Les points forts de Thera sont les échelles arbitraires et les effets non-aliasés. Voici une description détaillée :

  • Zoomer à n'importe quelle échelle
    Vous pouvez définir n'importe quel taux d'agrandissement, par exemple --scale 2.5 peut-être --scale 3.14C'est plus souple que les outils traditionnels qui ne permettent de sélectionner qu'un nombre fixe de fois. Cette méthode est plus souple que l'outil traditionnel, qui ne permet de sélectionner qu'un nombre fixe de fois. Par exemple, pour un zoom de 3,14x, la commande est la suivante :
./super_resolve.py input.png output.png --scale 3.14 --checkpoint thera-rdn-pro.pkl
  • effet non fragmenté
    Thera traite les bords de l'image grâce à la technologie du champ thermique neuronal. Aucun réglage supplémentaire n'est nécessaire, et le zoom avant préserve automatiquement les détails et évite les déformations. Par exemple, lorsque l'on zoome sur une image de texte, les bords restent nets.
  • Modèle d'observation physique
    Cette fonction est intégrée au modèle et simule le processus d'imagerie réel. Vous n'avez pas à ajuster les paramètres, Thera optimisera automatiquement la sortie pour rendre l'image plus réaliste.

Version de démonstration locale

Pour une expérience plus intuitive avec Thera, lancez la démo Gradio :

  1. Clonage du code de démonstration
git clone https://huggingface.co/spaces/prs-eth/thera thera-demo
cd thera-demo
  1. Installation des dépendances
pip install -r requirements.txt
  1. Démonstration de démarrage
python app.py

Ouvrez votre navigateur et visitez http://localhost:7860. Vous pouvez télécharger une image sur la page web, ajuster l'agrandissement et voir l'effet en temps réel.

Recommandations en matière de débogage

Ces paramètres XLA peuvent être utilisés en cas de problèmes de performance :

  • Désactiver la pré-allocation de la mémoire vidéo :XLA_PYTHON_CLIENT_PREALLOCATE=false
  • Désactiver le débogage JIT :JAX_DISABLE_JIT=1

En suivant ces étapes, vous pouvez traiter n'importe quelle image avec Thera. Il est facile à utiliser et donne d'excellents résultats.

 

scénario d'application

  1. Traitement des images de télédétection
    Thera peut zoomer sur des images prises par des satellites ou des drones. Les chercheurs peuvent l'utiliser pour analyser les détails du terrain, par exemple pour suivre l'évolution de la couverture forestière.
  2. Amélioration de l'image médicale
    Thera améliore la résolution des images radiographiques ou IRM. Les médecins peuvent l'utiliser pour voir des lésions plus subtiles et améliorer l'efficacité du diagnostic.
  3. Restauration de l'art numérique
    Les artistes peuvent utiliser Thera pour zoomer sur des œuvres à faible résolution ou sur de vieilles photographies. En zoomant sur une esquisse floue, par exemple, on obtient plus de détails.

 

QA

  1. Thera est-il compatible avec Windows ?
    Actuellement, seul Linux est pris en charge car il dépend des GPU NVIDIA et d'environnements spécifiques. Les utilisateurs de Windows peuvent l'exécuter dans une machine virtuelle.
  2. Y a-t-il une limite au grossissement ?
    Il n'y a pas de limite supérieure fixe. Toutefois, si l'agrandissement est trop important (par exemple 10x ou plus), l'effet peut être dégradé en raison du manque d'informations dans l'image originale.
  3. Quand les codes de formation seront-ils publiés ?
    Officiellement, le code de formation sera publié prochainement, à une date qui reste à déterminer. Vous pouvez suivre la page GitHub pour les mises à jour.
© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...