Real-ESRGAN

Ein praktischer blinder Super-Resolution-Upscaler, der mit synthetischen Beeinträchtigungen statt ausschließlich bikubischem Downscaling trainiert wurde. LibreYOLO bietet Inferenz und Validierung für seine 4x-, 2x- und schnellen 4x-Checkpoints.

Aufgaben
restore
Größen
x4, x2, x4t at 64 px
Installation
pip install libreyolo
Supportstufe
Nur Inferenz, seit v. Nur Vorhersage, Validierung und Export. Trainingsfunktionen sind nicht verfügbar.
Upstream
Real-ESRGAN von Tencent ARC Lab and Shenzhen Institutes of Advanced Technology, Chinese Academy of Sciences, BSD-3-Clause. Publikation, Quelle
Lizenzen
Code Apache-2.0 and BSD-3-Clause, Gewichte BSD-3-Clause. Kommerzielle Nutzung

Installation

Real-ESRGAN benötigt kein optionales Zusatzpaket. Alle Importe sind in der Basisinstallation enthalten.

bash
pip install libreyolo

Vorhersage

Die Gewichte werden bei der ersten Verwendung von Hugging Face heruntergeladen und lokal zwischengespeichert.

Python
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreRealESRGANx4-restore.pt")result = model(SAMPLE_IMAGE, save=True) restored = result.restoredprint(restored.array.shape, restored.array.dtype)
CLI
libreyolo predict model=LibreRealESRGANx4-restore.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=True
Gekachelt für große Bilder
from libreyolo import LibreYOLO model = LibreYOLO("LibreRealESRGANx4-restore.pt") # tile teilt den Vorwärtslauf in überlappende Kacheln und verblendet die# Nähte wieder. tile_pad ist der Rand um jede Kachel vor dem Zuschneiden.# Beide sind reine Python-Schlüsselwortargumente und keine CLI-Flags.result = model("large-photo.jpg", tile=512, tile_pad=10, save=True)

Ein Wiederherstellungsergebnis enthält keine Boxen. result.restored ist ein dichtes uint8-RGB-Bild der Form (H, W, 3) auf einer Arbeitsfläche, die in jeder Dimension Results.restore_scale mal größer als die Eingabe ist. save=True schreibt dieses Bild direkt statt einer annotierten Darstellung. Die Eingabe wird in RGB umgewandelt, und ein Alphakanal wird entfernt. Wenn eine Quelle größer als der verfügbare Speicher ist, kannst du sie mit tile und tile_pad aufteilen. Die Nähte der Kacheln werden in der Ausgabe verblendet. Unter Vorhersage findest du Quellen, Streaming und die Verarbeitung von Ergebnissen.

Varianten

Es gibt drei Checkpoints, benannt nach ihrem Skalierungsfaktor. x4 ist RRDBNet (RealESRGAN_x4plus) mit 23 Residual-in-Residual-Dense-Blöcken und der Qualitätsstandard für 4x. x2 verwendet dieselbe RRDBNet-Architektur für 2x. x4t ist SRVGGNetCompact (realesr-general-x4v3), ein kleinerer und schnellerer Generator für Video und geringere Latenz bei 4x. Das allgemeine Upstream-Modell liefert außerdem ein verbundenes Netzwerk für die Entrauschungsstärke, das bei der Inferenz eingemischt wird. Diese Stärke ist nicht Bestandteil der Portierung, die den Basisgenerator x4t ausführt.

Validierung

val() misst PSNR und SSIM zwischen der wiederhergestellten Ausgabe und einem sauberen Zielbild. Beide werden in RGB auf der ursprünglichen Arbeitsfläche ohne Randbeschnitt oder Größenänderung berechnet. SSIM verwendet ein 11x11-Gauß-Fenster mit Sigma 1.5 und mittelt über die drei Farbkanäle.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreRealESRGANx4-restore.pt")metrics = model.val(data="my-restore-dataset.yaml") print(metrics["metrics/PSNR"])print(metrics["metrics/SSIM"])
CLI
libreyolo val model=LibreRealESRGANx4-restore.pt data=my-restore-dataset.yaml

Das Datensatzargument ist eine YAML, die ein Verzeichnis beeinträchtigter Eingabebilder mit einem Verzeichnis sauberer Zielbilder gleicher Auflösung paart. Unter Datensatzformate findest du die genauen Schlüssel.

Export

AufgabeONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
restorerestore to ONNX: unterstütztrestore to TorchScript: unterstütztrestore to ExecuTorch: unterstütztrestore to TensorRT: unterstütztrestore to OpenVINO: unterstütztrestore to Paddle: nicht unterstütztrestore to MNN: nicht unterstütztrestore to RKNN: nicht unterstütztrestore to ncnn: unterstütztrestore to TFLite: unterstütztrestore to CoreML: nicht unterstütztrestore to Core AI: unterstützt

Ein exportiertes Artefakt wird anhand seiner Dateiendung wieder über LibreYOLO() geladen. Eine .onnx- oder .engine-Datei verhält sich daher wie ein Checkpoint und gibt dasselbe Results-Objekt zurück. Export führt die Argumente auf, die jedes Format akzeptiert, sowie die Zusatzpakete, die einige davon benötigen.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreRealESRGANx4-restore.pt") # Ohne Angabe nutzt imgsz eine kleine interne Patch-Größe statt deiner# Arbeitsauflösung. Übergib die tatsächliche Eingabegröße des Deployments.model.export(format="onnx", imgsz=512)model.export(format="tensorrt", imgsz=512, half=True)
CLI
libreyolo export model=LibreRealESRGANx4-restore.pt format=onnx imgsz=512
Exportierte Datei verwenden
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Die Factory entscheidet anhand der Dateiendung, daher wird ein Exportartefakt# wie jeder Checkpoint geladen und gibt dasselbe Results-Objekt zurück.model = LibreYOLO("LibreRealESRGANx4-restore.onnx")result = model(SAMPLE_IMAGE) print(result.restored.array.shape)

Checkpoints

Alle veröffentlichten Gewichtsdateien dieser Familie.

DateiEingabe (px)Lizenz der Gewichte
restore
LibreRealESRGANx4t-restore.ptbsd-3-clause
LibreRealESRGANx4-restore.ptbsd-3-clause
LibreRealESRGANx2-restore.ptbsd-3-clause

Jede oben aufgeführte Datei ist heute in der LibreYOLO-Organisation verfügbar und wird bei der ersten Verwendung heruntergeladen.

Lizenzierung

Prüfe die Lizenz im Hugging-Face-Repository der konkreten Gewichte, die du herunterlädst. Jeder Checkpoint in der LibreYOLO-Organisation hat eine Lizenz, und sie ist innerhalb einer Familie nicht immer gleich. Dieses Repository ist die maßgebliche Quelle. Die Zusammenfassung unten beschreibt den Stand bei der letzten Verifizierung dieser Seite.

Dies ist eine Beschreibung der beteiligten Lizenzen und keine Rechtsberatung. Wenn die Antwort kommerziell relevant ist, lies die Lizenzen selbst und hole eigenen Rechtsrat ein.

Originalarbeit
Real-ESRGAN, Tencent ARC Lab and Shenzhen Institutes of Advanced Technology, Chinese Academy of Sciences
Upstream-Lizenz
BSD-3-Clause
LibreYOLO-Code
MIT
Gewichte
BSD-3-Clause, erneut unter huggingface.co/LibreYOLO veröffentlicht
Einordnung
BSD-3-Clause is a permissive license, so these weights can be used in commercial and closed-source products. It asks you to keep the copyright notice, the condition list and the disclaimer with any copy you redistribute, in source or compiled form, and its third clause forbids using the names of Xintao Wang or the project's contributors to endorse or promote a derived product without separate written permission. It carries no patent grant, unlike Apache-2.0. LibreYOLO's checkpoints are format conversions of the official pretrained generators, with the learned parameters unchanged; Real-ESRGAN's training is a GAN over a synthetic degradation pipeline that is not wired into this library, so there is no LibreYOLO-trained variant to license separately.

Zitieren

@InProceedings{wang2021realesrgan,
    author    = {Xintao Wang and Liangbin Xie and Chao Dong and Ying Shan},
    title     = {Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data},
    booktitle = {International Conference on Computer Vision Workshops (ICCVW)},
    date      = {2021}
}

Aus dem Zitierblock der Autoren unter github.com/xinntao/Real-ESRGAN#bibtex kopiert.

Mit LibreYOLO v1.5.0 verifiziert. Supporttabellen, Checkpoints und Benchmarkwerte auf dieser Seite werden aus der veröffentlichten Bibliothek und den publizierten Gewichten generiert und nicht von Hand geschrieben.