Allgemeine Einführung
Thera ist ein Open-Source-Tool für die Superauflösung von Bildern, das von einem Team der ETH Zürich und der Universität Zürich entwickelt wurde. Es kann niedrig aufgelöste Bilder auf beliebige Maßstäbe wie das 2-fache, 3,14-fache oder sogar nicht ganzzahlige Vielfache vergrößern, ohne Zacken oder Unschärfen zu erzeugen. Das Herzstück von Thera ist die Verwendung neuronaler Wärmefelder und eines eingebauten physikalischen Beobachtungsmodells, das den realen Bildgebungsprozess nachahmt und so eine naturgetreue Bilddarstellung ermöglicht. Das Tool ist auf GitHub frei verfügbar, und jeder kann den Code herunterladen oder das vorab trainierte Modell verwenden.
Demo-Adresse: https://huggingface.co/spaces/prs-eth/thera
Funktionsliste
- Unterstützung beliebiger Skalenvergrößerung: Sie können die Vergrößerung frei einstellen, nicht auf ganze Zahlen beschränkt.
- Verzerrungsfreier Effekt: Eliminiert Zacken und Verzerrungen bei der Verstärkung durch die Neural Thermal Field Technologie.
- Eingebautes physikalisches Beobachtungsmodell: Simuliert den realen Bildgebungsprozess, um die Natürlichkeit des Bildes zu verbessern.
- Open-Source-Unterstützung: Benutzer können den Code ändern oder an ihre Bedürfnisse anpassen.
- Bietet vorgefertigte Modelle: umfasst mehrere Varianten von EDSR- und RDN-Backbone-Netzen.
- Plattformübergreifender Betrieb: basiert auf Python 3.10, unterstützt Linux-Systeme und NVIDIA-GPUs.
- Lokale Demo-Unterstützung: Bilder hochladen und in Echtzeit über die Gradio-Schnittstelle bearbeiten.
Hilfe verwenden
Die Nutzung von Thera gliedert sich in zwei Teile: Installation und Betrieb. Nachfolgend finden Sie detaillierte Schritte, damit Sie schnell loslegen können.
Einbauverfahren
Thera erfordert Linux, Python 3.10 und einen NVIDIA-Grafikprozessor. Die Installationsschritte sind wie folgt:
- Die Umwelt gestalten
Erstellen Sie eine Python 3.10 Umgebung mit Conda und aktivieren Sie diese:
conda create -n thera python=3.10
conda activate thera
- Code herunterladen
Klone das Thera-Projekt von GitHub:
git clone https://github.com/prs-eth/thera.git
cd thera
- Installation von Abhängigkeiten
Installieren Sie die erforderlichen Bibliotheken mit pip:
pip install --upgrade pip
pip install -r requirements.txt
- Herunterladen des vortrainierten Modells
Die Thera bietet eine Vielzahl von vortrainierten Modellen an, z. B.thera-rdn-pro.pkl
Sie können es von Hugging Face oder Google Drive herunterladen. Sie können es von Hugging Face oder Google Drive herunterladen. Der Link ist unten:
- EDSR Air. Gesicht umarmen
- RDN Pro. Gesicht umarmen
Legen Sie die Modelldatei nach dem Herunterladen in den Ordnerthera
Ordner.
Sobald die Installation abgeschlossen ist, ist Thera einsatzbereit. Wenn Sie Probleme haben, können Sie die python run_eval.py -h
Hilfe anzeigen.
Arbeitsablauf
Die Hauptfunktion von Thera besteht darin, das Bild zu vergrößern. Hier sind die genauen Schritte:
- Vorbereiten des Eingabebildes
Legen Sie das zu vergrössernde Bild in einen Ordner wiedata/test_images
Es unterstützt PNG, JPEG und andere Formate. - Laufende Superauflösung
Bearbeiten Sie das Bild durch Eingabe von Befehlen im Terminal:
./super_resolve.py input.png output.png --scale 3.14 --checkpoint thera-rdn-pro.pkl
input.png
ist das Eingabebild.output.png
ist das Ausgangsbild.--scale
Stellen Sie die Vergrößerung ein, z. B. 3,14.--checkpoint
Gibt den Pfad des vortrainierten Modells an.
- Stapeldatei
Wenn Sie mehrere Bilder verarbeiten wollen, können Sie die Funktionrun_eval.py
::
python run_eval.py --checkpoint thera-rdn-pro.pkl --data-dir data --eval-sets test_images
Die Ausgabe wird in der Datei outputs
Ordner.
Featured Function Bedienung
Die Highlights von Thera sind die willkürlichen Skalen und die nicht geglätteten Effekte. Hier ist eine detaillierte Beschreibung:
- Vergrößern in jedem Maßstab
Sie können eine beliebige Vergrößerung einstellen, z. B.--scale 2.5
vielleicht--scale 3.14
Dies ist flexibler als herkömmliche Werkzeuge, mit denen nur eine bestimmte Anzahl von Vergrößerungen ausgewählt werden kann. Dies ist flexibler als das herkömmliche Werkzeug, mit dem Sie nur eine feste Vergrößerung auswählen können. Wenn Sie zum Beispiel auf 3,14x zoomen, lautet der Befehl:
./super_resolve.py input.png output.png --scale 3.14 --checkpoint thera-rdn-pro.pkl
- zackenfreie Wirkung
Thera verarbeitet Bildkanten mit neuronaler Thermofeldtechnologie. Es sind keine zusätzlichen Einstellungen erforderlich, und beim Heranzoomen bleiben Details automatisch erhalten und Zacken werden vermieden. Wenn Sie beispielsweise ein Textbild heranzoomen, bleiben die Kanten scharf. - Physikalisches Beobachtungsmodell
Diese Funktion ist in das Modell integriert und simuliert den realen Bildgebungsprozess. Sie müssen die Parameter nicht anpassen, Thera optimiert die Ausgabe automatisch für ein realistischeres Bild.
Lokale Demo-Version
Für eine intuitivere Erfahrung mit Thera, führen Sie die Gradio-Demo aus:
- Klonen von Demo-Code
git clone https://huggingface.co/spaces/prs-eth/thera thera-demo
cd thera-demo
- Installation von Abhängigkeiten
pip install -r requirements.txt
- Startup-Demo
python app.py
Öffnen Sie Ihren Browser und besuchen Sie http://localhost:7860
. Sie können ein Bild auf die Webseite hochladen, die Vergrößerung einstellen und den Effekt in Echtzeit sehen.
Empfehlungen für die Fehlersuche
Diese XLA-Parameter können verwendet werden, wenn Leistungsprobleme auftreten:
- Schalten Sie die Vorabzuweisung von Videospeicher aus:
XLA_PYTHON_CLIENT_PREALLOCATE=false
- Schalten Sie das JIT-Debugging aus:
JAX_DISABLE_JIT=1
Mit diesen Schritten können Sie jedes Bild mit Thera bearbeiten. Es ist einfach zu bedienen und liefert hervorragende Ergebnisse.
Anwendungsszenario
- Bildverarbeitung in der Fernerkundung
Thera kann Bilder, die von Satelliten oder Drohnen aufgenommen wurden, heranzoomen. Forscher können damit Details des Geländes analysieren, um zum Beispiel Veränderungen der Waldbedeckung zu überwachen. - Medizinische Bildverbesserung
Thera verbessert die Auflösung von Röntgen- oder MRT-Bildern. Ärzte können damit subtilere Läsionen erkennen und die diagnostische Effizienz verbessern. - Restaurierung digitaler Kunst
Künstler können Thera verwenden, um Werke mit geringer Auflösung oder alte Fotos zu vergrößern. Wenn Sie zum Beispiel eine verschwommene Skizze vergrößern, erhalten Sie mehr Details.
QA
- Unterstützt Thera Windows?
Derzeit wird nur Linux unterstützt, da es auf NVIDIA-GPUs und spezielle Umgebungen angewiesen ist. Windows-Benutzer können es in einer virtuellen Maschine ausführen. - Gibt es eine Grenze für die Vergrößerung?
Es gibt keine feste Obergrenze. Wenn die Vergrößerung jedoch zu hoch ist (z. B. 10-fach oder mehr), kann der Effekt aufgrund unzureichender Informationen im Originalbild beeinträchtigt werden. - Wann werden die Schulungscodes veröffentlicht?
Offiziell wird der Trainingscode bald veröffentlicht, zu einem noch festzulegenden Zeitpunkt. Sie können die GitHub-Seite für Updates verfolgen.