Mit Upscayl verlustfrei Bilder vergrößern

Aus LinuxUser 04/2024

Mit Upscayl verlustfrei Bilder vergrößern

© 5second / 123RF.com

Aufgeblasen

Upscayl nutzt moderne KI-Algorithmen, um Bilder verlustfrei zu vergrößern. So machen Sie aus einem Foto ein Poster.

Wer Fernsehserien wie NCIS verfolgt, kennt folgende Szene: Der IT-Spezialist des Teams erhält ein grob verpixeltes Bild mit einem völlig unkenntlichen Nummernschild und zaubert daraus am PC in wenigen Sekunden ein perfekt scharfes Bild, das den Täter überführt. Das bleibt selbstredend auch mit heutiger Technik eine Wunschvorstellung, die nur im Film funktioniert.

Ähnlich geht es vielen Anwendern des Öfteren bei der Arbeit am PC. Endlich findet man das richtige und zudem noch frei verwendbare Bild für einen Blog-Eintrag – bedauerlicherweise in einer viel zu geringen Auflösung. Oder man gräbt ein eigenes Jugendfoto aus, dem es aber erheblich an Pixeln fehlt.

Um diesen und ähnlichen Problemen beizukommen, bieten verschiedene Webseiten Upscaler an (Abbildung 1), unter anderem RedKetchup [1] oder Bigjpg [2]. Die funktionieren meist auch gut, haben allerdings entscheidende Nachteile: Die Bilder landen auf einem fremden Server, und viele der Online-Dienste verlangen nach wenigen Probeläufen Geld für ihren Service.

Abbildung 1: Alternativen zu Upscayl gibt es reichlich, allerdings fast ausschließlich als (kostenpflichtige) Online-Dienste.

Abbildung 1: Alternativen zu Upscayl gibt es reichlich, allerdings fast ausschließlich als (kostenpflichtige) Online-Dienste.

Upscaling am Desktop

Wir sehen uns im Folgenden einen Upscaler an, der für die Synthese von Fotos optimierte KI-Algorithmen nutzt. Die für verschiedene Plattformen angebotene Software belässt die zu bearbeitenden Bilder auf dem eigenen Rechner. Unser Kandidat heißt Upscayl [3], was der Tatsache geschuldet ist, dass Upscale bereits belegt war.

Die quelloffene Software steht kostenlos bereit und verwendet KI-Modelle, um die Auflösung und Qualität der Bilder zu erhöhen, ohne dass diese beim Hochskalieren an Schärfe verlieren. Dazu verwendet Upscayl Real-ESRGAN, ein von seinen Machern erstelltes Tool zum Entwickeln von Algorithmen für die allgemeine Bild- und Videowiederherstellung [4]. Darüber hinaus verspricht Upscayl, bei Bildern im JPEG-Format eventuell vorhandene Kompressionsartefakte zu entfernen.

Für Linux stehen auf der Webseite neben Paketen im DEB- und RPM-Format auch Appimages, Flatpaks und Snaps sowie eine portable Version bereit [5]. Bei Arch Linux installieren Sie das Tool via AUR, für NixOS gibt es ebenfalls eine Variante. Zum Redaktionsschluss war v2.9.5 die aktuelle Version. Wie Sie Upscayl im jeweiligen Paketformat installieren, zeigt Listing 1. Hier gilt es, eventuell geänderte Versionsnummern anzupassen.

Für Upscayl sollte Ihr Rechner mindestens 4 GByte RAM bereitstellen. Die Hauptrechenlast bei den aufwendigen Berechnungen liegt aber auf dem Grafikchip: Er muss mit der Low-Level-API Vulkan kompatibel sein, was zumindest bei Grafikkernen aus den letzten fünf Jahren in der Regel der Fall ist.

Listing 1

Upscayl installieren

#### Debian und Derivate
$ sudo apt install ./Downloads/upscayl-2.9.5-linux.deb
#### Fedora, Red Hat und Derivate
$ sudo dnf install upscayl-2.9.5-linux.rpm
#### Appimage
$ cd Downloads && chmod +x upscayl-*-linux.AppImage
#### Flatpak
$ flatpak install flathub org.upscayl.Upscayl
#### Snap
$ sudo snap install upscayl
#### Arch Linux
$ yay -S upscayl-bin

Erster Start

Beim ersten Start erscheint die Oberfläche im Dark Mode. Zusätzlich stehen 30 weitere Themes in den Settings zur Wahl, die Sie ganz oben in der Seitenleiste finden. Gleich darunter führt ein Schalter zum Wiki des Projekts auf Github. Gefällt Ihnen Upscayl, können Sie den Entwicklern über Donate eine Spende überweisen (Abbildung 2).

Abbildung 2: Im Gegensatz zum Konkurrenten Upscaler erlaubt Upscayl die Einflussnahme &uuml;ber verschiedene Parameter im Reiter <span class="ui-element">Settings</span> in der Seitenleiste.

Abbildung 2: Im Gegensatz zum Konkurrenten Upscaler erlaubt Upscayl die Einflussnahme über verschiedene Parameter im Reiter Settings in der Seitenleiste.

In einem kleinen Fenster darunter erscheinen die letzten Log-Meldungen, die Sie dort lesen oder zur besseren Lesbarkeit per Mausklick kopieren, um sie andernorts einzufügen. Unter der bereits erwähnten Liste mit den Themes legen Sie fest, ob das Tool die Ergebnisse als PNG oder JPEG speichern soll. Über den Schalter DON’T POST-PROCESS IMAGE stellen Sie ein, ob Upscayl lediglich die Auflösung heraufsetzen oder das Bild auch schärfen und fehlende Pixel erraten soll.

Über den Schieber IMAGE SCALE legen Sie fest, ob Sie das Bild lediglich optimieren (1x) oder die Auflösung skalieren möchten (2x bis 4x). Der Standard liegt bei 4x; um auch 2x und 3x zu nutzen, gilt es, weitere Modelle in Upscayl zu integrieren – dazu später mehr.

In den Einstellungen für das zu bearbeitende Bild lässt sich der eingestellte Skalierungsfaktor über Double Upscayl nochmals verdoppeln. Die nächste Option IMAGE COMPRESSION ist als noch experimentell markiert. Ein bereits bearbeitetes Bild können Sie mit der Einstellung OVERWRITE PREVIOUS UPSCALE nochmals bearbeiten, anstatt das Original zu laden (Abbildung 3).

Abbildung 3: Upscayl zeigt w&auml;hrend der Vergr&ouml;&szlig;erung an, wie weit die Umwandlung bereits fortgeschritten ist.

Abbildung 3: Upscayl zeigt während der Vergrößerung an, wie weit die Umwandlung bereits fortgeschritten ist.

Die Einstellung GPU ID betrifft Sie nur, wenn Ihr Rechner über mehrere GPUs verfügt. Für diesen Fall beschreibt das Wiki, wie Sie die GPUs kennzeichnen (siehe Kasten “GPU-ID vergeben”).

GPU-ID vergeben

Laden Sie ein Bild in Upscayl und vergrößern Sie es. Die Einstellungen spielen dabei keine Rolle; es geht nur darum, die im System verbauten Grafikkerne zu identifizieren. Die listet das Log noch vor der Bearbeitung auf. Sie können also, sobald Sie den Vorgang angestoßen haben, das Protokoll kopieren und in einer Textdatei öffnen. Dort suchen Sie nach Begriffen wie Intel, Nvidia oder AMD, je nachdem, was für Ihr System zutrifft. Die Bezeichner der gefundenen GPUs tragen Sie nun, durch Kommas separiert, in der gewünschten Reihenfolge in den Einstellungen ein (Abbildung 4).

Abbildung 4: Das in den <span class="ui-element">Settings</span> dargestellte Log l&auml;sst sich besser lesen, wenn Sie es &uuml;ber <span class="ui-element">Copy Logs</span> kopieren und in einem Editor &ouml;ffnen.

Abbildung 4: Das in den Settings dargestellte Log lässt sich besser lesen, wenn Sie es über Copy Logs kopieren und in einem Editor öffnen.

Neue Modelle

Mit dem nächsten Schalter ADD CUSTOM MODELS binden Sie weitere Modelle ein, die auf Github zum Abruf bereitstehen [6]. Dazu laden Sie das dort verlinkte Archiv herunter und entpacken es. In Upscayl öffnen Sie die Settings und klicken unter ADD CUSTOM MODELS auf den Schalter Select Folder.

Navigieren Sie zur entpackten ZIP-Datei und wählen Sie dort den Ordner models/, den das Tool daraufhin einbindet. Anstatt sechs auf den Vergrößerungsfaktor 4 festgelegten Modellen verfügen Sie nun über 18 Varianten. Nun können Sie, je nach zu behandelndem Bild, verschiedene Modelle testen, um die besten Ergebnisse zu erzielen.

Erster Test

Zunächst entscheiden Sie, ob Sie ein einzelnes oder mehrere Bilder aus einem Ordner bearbeiten möchten. Es empfiehlt sich jedoch, zunächst mit einem einzelnen Bild zu experimentieren. Im ersten Schritt wählen Sie eine Grafik aus und legen im zweiten ein Modell fest (Abbildung 5).

Abbildung 5: Es lohnt sich, verschiedene Modelle zu testen, denn die Ergebnisse variieren je nach Ausgangsmaterial.

Abbildung 5: Es lohnt sich, verschiedene Modelle zu testen, denn die Ergebnisse variieren je nach Ausgangsmaterial.

Für den Anfang bieten sich General Photo (Real-ESRGAN) oder General Photo (Ultrasharp) an, jeweils mit einem IMAGE SCALE von 4x. Setzen Sie einen Haken bei Double Upscayl, dann verdoppelt sich die eingestellte Vergrößerung, in unserem Fall auf den Faktor 16, was jedoch nicht bei allen Vorlagen gute Ergebnisse liefert. Im dritten Schritt legen Sie den Speicherort fest. Ohne Angabe nutzt Upscayl dafür das Verzeichnis des Ursprungsbilds. Um das Original nicht zu überschreiben, erweitert es dessen Namen um den des genutzten Upscale-Modells. Ein Klick auf Upscayl startet den Prozess.

Die benötigte Zeit bis zum Vorliegen des Ergebnisses variiert stark und hängt maßgeblich von der eingesetzten GPU ab. Auf unseren drei Testrechnern mit vier verschiedenen GPUs dauerte das Upscaling desselben Fotos um den Faktor 4 bei ansonsten identischen Einstellungen zwischen 60 Sekunden und 41 Minuten. Die Tabelle “Bearbeitungszeiten” führt die im Test benötigte Bearbeitungszeit mit unterschiedlicher Hardware auf.

Ein Vergleich der Rendering-Zeiten zeigt deutlich, dass eine dedizierte GPU den Vorgang erheblich beschleunigt. Zwei dGPUs rechneten 1 beziehungsweise 4 Minuten, während die in die CPU integrierten iGPUs 18 und 41 Minuten beschäftigt waren. Dass die iGPU einer aktuellen Intel-CPU der 13. Generation mehr als doppelt so lang benötigte wie eine fünf Jahre alte AMD-iGPU, überrascht, ließ sich aber reproduzieren.

Gerät

CPU

GPU

RAM

Rechenzeit

Tuxedo Aura Gen1

AMD Ryzen 7 4700U

iGPU AMD Radeon RX Vega 6

16 GByte

17:40 min

Tuxedo Gemini 16 Gen2

Intel Core i9-13900HX

iGPU Raptor Lake UHD Graphics

32 GByte

41:14 min

Tuxedo Gemini 16 Gen2

Intel Core i9-13900HX

dGPU Nvidia Geforce RTX 4060

32 GByte

01:10 min

Custom-Workstation

AMD Ryzen 7 3700X

dGPU AMD Radeon RX 570

32 GByte

04:13 min

Ergebnis verifizieren

Nach dem Fertigstellen stellt Upscayl das Bild links im Original und rechts optimiert dar. Mit dem Schieber in der Mitte verlegen Sie den Fokus zur besseren Beurteilung des Ergebnisses nach rechts oder links. Bei Bedarf zoomen Sie oben über einen Klick auf Show/Hide Image Settings bis zu 200% in das Bild hinein. Selbst bei einem alten, vor Jahren digitalisierten Jugendfoto ließ sich neben der Vergrößerung bildtechnisch noch etwas herausholen (Abbildung 6).

Abbildung 6: Ein Foto aus den Jugendtagen des Autors wertete Upscayl nicht nur durch die Vergr&ouml;&szlig;erung auf, sondern legte auch bei der Sch&auml;rfe noch etwas nach.

Abbildung 6: Ein Foto aus den Jugendtagen des Autors wertete Upscayl nicht nur durch die Vergrößerung auf, sondern legte auch bei der Schärfe noch etwas nach.

Das Erhöhen der Auflösung funktionierte bei unseren Tests in jedem Fall, ohne dabei das Bild zu verschlechtern. Oft blieb die Qualität auf den ersten Blick gleich; erst bei starkem Zoom in einer externen Anwendung ließ sich eine schärfere Kantendefinition durch Pixel-Interpolation erkennen. Die einzigen Probleme traten bei Schriften auf, die Upscayl im Zoom leicht zerfasert. Auch bei unscharfen Schriften zeigt sich die KI an der Grenze ihrer Möglichkeiten.

Dateigröße

Durch das Vervierfachen der Auflösung wuchs naturgemäß die Dateigröße stark an. So brachte es die Vergrößerung eines Originalfotos mit 3380 x 1950 Pixeln und einer Größe von knapp 1 MByte bei 13 520 x 7820 Pixeln auf rund 160 MByte. Ein Versuch mit demselben Foto beim Online-Dienst RedKetchup ergab eine Dateigröße von lediglich 36 MByte bei augenscheinlich identischer Qualität. Ein kleines Logo mit 30 KByte und einer Größe von 190 x 200 Pixeln war nach einem Upscaling auf 3040 x 3200 Pixel etwa 6 MByte groß (Abbildung 7).

Abbildung 7: Bei diesem kleinen Logo mit einer Ursprungsgr&ouml;&szlig;e von 190&nbsp;x&nbsp;200 Pixeln lassen sich die Verbesserungen in der Darstellung deutlich erkennen. Das Bild wurde nicht nur erheblich gr&ouml;&szlig;er (3040&nbsp;x&nbsp;3200 Pixel), sondern auch sch&auml;rfer.

Abbildung 7: Bei diesem kleinen Logo mit einer Ursprungsgröße von 190 x 200 Pixeln lassen sich die Verbesserungen in der Darstellung deutlich erkennen. Das Bild wurde nicht nur erheblich größer (3040 x 3200 Pixel), sondern auch schärfer.

Die Entwickler erklären das mit der Tatsache, dass Upscayl im Gegensatz zu den Online-Diensten keinerlei Kompression vornimmt. Als Anwender wählen Sie in den Einstellungen über IMAGE COMPRESSION den Ihnen am besten erscheinenden Kompromiss aus Dateigröße und Qualität. Das oben erwähnte Foto mit 160 MByte ließ sich mit 50 Prozent Kompression auf 12,6 MByte verkleinern, wobei Artefakte erst bei extremem Zoom zutage traten.

Die Ergebnisse hängen aber stark vom Ausgangsmaterial ab. Die Kompression arbeitet bei JPEG besser als bei PNG. Möchten Sie ein Bild auf Postergröße hochskalieren, sollten Sie die Kompression aber deaktivieren. Bei der Verarbeitungsgeschwindigkeit liegen die Online-Dienste klar vorn. Das verwundert nicht, denn hier kommen speziell auf KI zugeschnittene GPUs zum Einsatz, die ein Vielfaches selbst einer Nvidia Geforce RTX 4090 kosten.

Fazit

Der größte Vorteil von Upscayl liegt darin, dass Sie keine Bilder auf fremde Server hochladen müssen, um sie zu bearbeiten. Der größte Nachteil liegt in der vergleichsweise hohen Dateigröße.

Die von uns im Test erzielten Ergebnisse fielen durchweg gut bis sehr gut aus, wobei es in keinem Fall durch das Vergrößern zu einer Verschlechterung der Bildqualität kam. Die besten Ergebnisse bei der Bildaufwertung erzielte die Software bei kleinen Bildern wie etwa Logos. Im zum Artikel gehörenden Download-Bereich finden Sie einige generierte Bilder, die auf einem Tux-Logo mit der Größe von 190 x 200 Pixeln basieren. Upscayl eignet sich übrigens hervorragend zum Vergrößern von Bildern, die Stable Diffusion, DALL-E oder ähnliche Bildgeneratoren erzeugen.

Die Entwickler von Upscayl arbeiten an einer Cloud-Version der Anwendung. Die Server betreibt das Projekt selbst, der Dienst wird kostenpflichtig sein. Standardmäßig stehen voraussichtlich zehn Modelle zur Auswahl. Zudem lassen sich mit dem Online-Dienst auch Videos vergrößern. Uns erscheint Upscayl als lokale Desktop-Anwendung sinnvoller, denn Online-Upscaler gibt es bereits genug.

Eine Upscayl-Alternative für den Desktop bietet das auf Flathub angebotene Programm Upscaler (Abbildung 8), das ebenfalls auf das neuronale Netzwerk Real-ESRGAN zurückgreift. Die Ergebnisse fallen qualitativ in etwa gleich aus, allerdings bietet Upscaler keinerlei Einstellungsmöglichkeiten. (tle)

Abbildung 8: Die GTK-Anwendung Upscaler l&auml;sst sich zwar sehr einfach bedienen, ihr fehlen aber jegliche Einstellungsm&ouml;glichkeiten.

Abbildung 8: Die GTK-Anwendung Upscaler lässt sich zwar sehr einfach bedienen, ihr fehlen aber jegliche Einstellungsmöglichkeiten.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 04/2024 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben