Real-ESRGAN
Un upscaler pratique de super-résolution aveugle, entraîné sur des dégradations synthétiques plutôt que seulement sur un sous-échantillonnage bicubique. LibreYOLO fournit l'inférence et la validation pour ses checkpoints 4x, 2x et 4x rapide.
- Tâches
- restore
- Tailles
- x4, x2, x4t at 64 px
- Installer
pip install libreyolo- Niveau de support
- Inférence uniquement, depuis v. Prédiction, validation et export uniquement. Les fonctionnalités d'entraînement ne s'appliquent pas.
- Origine
- Real-ESRGAN par Tencent ARC Lab and Shenzhen Institutes of Advanced Technology, Chinese Academy of Sciences, BSD-3-Clause. Article, source
- Licences
- Code Apache-2.0 and BSD-3-Clause, poids BSD-3-Clause. Usage commercial
Installer
Real-ESRGAN ne nécessite aucun extra facultatif. Tous ses imports figurent dans l'installation de base.
pip install libreyoloPrédire
Les poids sont téléchargés depuis Hugging Face à la première utilisation et mis en cache localement.
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)libreyolo predict model=LibreRealESRGANx4-restore.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=Truefrom libreyolo import LibreYOLO model = LibreYOLO("LibreRealESRGANx4-restore.pt") # tile divise la passe en tuiles qui se chevauchent et fusionne les# raccords ; tile_pad est la marge ajoutée autour de chaque tuile avant# son recadrage. Ce sont des arguments Python, pas des options de CLI.result = model("large-photo.jpg", tile=512, tile_pad=10, save=True)Un résultat de restauration ne contient aucune boîte ; result.restored est
une image RGB dense uint8 de forme (H, W, 3), sur un canevas égal à
Results.restore_scale fois l'entrée dans chaque dimension. save=True écrit
directement cette image au lieu d'un tracé annoté. L'entrée est convertie en RGB
et tout canal alpha est supprimé. Une source trop grande pour la mémoire
disponible peut être divisée avec tile et tile_pad, qui fusionnent les
raccords des tuiles dans la sortie. Consultez la
prédiction pour les sources, le streaming et le traitement des
résultats.
Variantes
Trois checkpoints sont nommés selon leur facteur d'agrandissement. x4 est
RRDBNet (RealESRGAN_x4plus), avec 23 blocs denses residual-in-residual, et
constitue le choix de qualité par défaut en 4x. x2 emploie la même architecture
RRDBNet en 2x. x4t est SRVGGNetCompact (realesr-general-x4v3), un générateur
plus petit et plus rapide, conçu pour la vidéo et une utilisation à plus faible
latence en 4x. Le modèle polyvalent amont fournit aussi un réseau apparié de
niveau de débruitage, fusionné lors de l'inférence. Ce réglage d'intensité ne fait
pas partie de ce portage, qui exécute le générateur x4t de base.
Valider
val() mesure le PSNR et le SSIM entre la sortie restaurée et une image cible
nette. Les deux sont calculés en RGB sur le canevas d'origine, sans recadrage de
bord ni redimensionnement. SSIM utilise une fenêtre gaussienne 11x11 avec un
sigma de 1.5, puis établit la moyenne sur les trois canaux de couleur.
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"])libreyolo val model=LibreRealESRGANx4-restore.pt data=my-restore-dataset.yamlL'argument de dataset est un YAML qui associe un dossier d'images d'entrée dégradées à un dossier d'images cibles nettes de résolution correspondante ; consultez les formats de datasets pour les clés exactes.
Exporter
| Tâche | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| restore | restore to ONNX : pris en charge | restore to TorchScript : pris en charge | restore to ExecuTorch : pris en charge | restore to TensorRT : pris en charge | restore to OpenVINO : pris en charge | restore to Paddle : non pris en charge | restore to MNN : non pris en charge | restore to RKNN : non pris en charge | restore to ncnn : pris en charge | restore to TFLite : pris en charge | restore to CoreML : non pris en charge | restore to Core AI : pris en charge |
Un artefact exporté se recharge par LibreYOLO() à partir de son suffixe de
fichier. Un fichier .onnx ou .engine se comporte donc comme un checkpoint et
renvoie le même objet Results. La page Export répertorie les
arguments acceptés par chaque format et les options supplémentaires de certains
d'entre eux.
from libreyolo import LibreYOLO model = LibreYOLO("LibreRealESRGANx4-restore.pt") # Sans valeur, imgsz utilise une petite taille de patch interne, pas votre# résolution de travail. Indiquez la taille réellement fournie au modèle# par votre déploiement.model.export(format="onnx", imgsz=512)model.export(format="tensorrt", imgsz=512, half=True)libreyolo export model=LibreRealESRGANx4-restore.pt format=onnx imgsz=512from libreyolo import LibreYOLO, SAMPLE_IMAGE # La factory utilise le suffixe du fichier : un artefact exporté se charge# comme tout checkpoint et renvoie le même objet Results.model = LibreYOLO("LibreRealESRGANx4-restore.onnx")result = model(SAMPLE_IMAGE) print(result.restored.array.shape)Checkpoints
Tous les fichiers de poids publiés pour cette famille.
| Fichier | Entrée (px) | Licence des poids |
|---|---|---|
| restore | ||
| LibreRealESRGANx4t-restore.pt | bsd-3-clause | |
| LibreRealESRGANx4-restore.pt | bsd-3-clause | |
| LibreRealESRGANx2-restore.pt | bsd-3-clause | |
Tous les fichiers ci-dessus sont actuellement disponibles dans l<link>organisation LibreYOLO</link> et sont téléchargés à la première utilisation.
Licence
Vérifiez la licence dans le dépôt Hugging Face des poids précis que vous téléchargez. Chaque checkpoint de l<link>organisation LibreYOLO</link> en possède une, et elles ne sont pas toujours identiques au sein dune même famille. Ce dépôt fait autorité ; le résumé ci-dessous décrit les conditions applicables lors de la dernière vérification de cette page.
Ceci décrit les licences concernées et ne constitue pas un conseil juridique. Si la réponse a une importance commerciale, lisez vous-même les licences et consultez votre propre avocat.
- Travail d'origine
- Real-ESRGAN, Tencent ARC Lab and Shenzhen Institutes of Advanced Technology, Chinese Academy of Sciences
- Licence du projet d'origine
- BSD-3-Clause
- Source du projet d'origine
- github.com/xinntao/Real-ESRGAN
- Code de LibreYOLO
- MIT
- Poids
- BSD-3-Clause, republiés sur huggingface.co/LibreYOLO
- Interprétation
- 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.
Citation
@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}
}Copié depuis le bloc de citation des auteurs sur github.com/xinntao/Real-ESRGAN#bibtex.