Real-ESRGAN

Un escalador de superresolución ciega pensado para uso real, entrenado con degradaciones sintéticas en lugar de solo con reducción bicúbica. LibreYOLO incluye inferencia y validación para sus checkpoints 4x, 2x y 4x rápido.

Tareas
restore
Tamaños
x4, x2, x4t at 64 px
Instalación
pip install libreyolo
Nivel de compatibilidad
Solo inferencia, desde v. Solo permite predecir, validar y exportar. Las funciones de entrenamiento no se aplican.
Proyecto original
Real-ESRGAN de Tencent ARC Lab and Shenzhen Institutes of Advanced Technology, Chinese Academy of Sciences, BSD-3-Clause. Artículo, fuente
Licencias
Código Apache-2.0 and BSD-3-Clause, pesos BSD-3-Clause. Uso comercial

Instalación

Real-ESRGAN no necesita ningún extra opcional. Todo lo que importa está en la instalación base.

bash
pip install libreyolo

Predicción

Los pesos se descargan de Hugging Face en el primer uso y se guardan en la caché local.

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
Por tiles, para imágenes grandes
from libreyolo import LibreYOLO model = LibreYOLO("LibreRealESRGANx4-restore.pt") # tile divide el forward pass en tiles solapados y funde de nuevo# las costuras; tile_pad es el halo que se añade alrededor de cada# tile antes de recortarlo de vuelta. Ambos son argumentos con# nombre solo de Python, no flags de la CLI.result = model("large-photo.jpg", tile=512, tile_pad=10, save=True)

Un resultado de restauración no lleva cajas; result.restored es una imagen RGB densa (H, W, 3) uint8, sobre un lienzo Results.restore_scale veces el de entrada en cada dimensión. save=True escribe esa imagen directamente en lugar de un gráfico anotado. La entrada se convierte a RGB y se descarta cualquier canal alfa. Una fuente más grande de lo que permite la memoria se puede dividir con tile y tile_pad, que funden de nuevo las costuras de los tiles en la salida. Consulta predicción para fuentes, streaming y manejo de resultados.

Variantes

Tres checkpoints, nombrados por su factor de escalado. x4 es RRDBNet (RealESRGAN_x4plus), 23 bloques densos residual-in-residual, la opción por defecto de calidad a 4x. x2 es la misma arquitectura RRDBNet a 2x. x4t es SRVGGNetCompact (realesr-general-x4v3), un generador más pequeño y rápido construido para vídeo y usos de menor latencia a 4x. El modelo general del proyecto original incluye además una red emparejada de fuerza de denoise que se mezcla en el momento de la inferencia; ese control de fuerza no forma parte de este port, que ejecuta el generador x4t base.

Validación

val() mide PSNR y SSIM entre la salida restaurada y una imagen objetivo limpia, ambas calculadas en RGB sobre el lienzo original, sin recorte de bordes y sin redimensionar. SSIM usa una ventana gaussiana de 11x11 con sigma 1.5, promediada sobre los tres canales de color.

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

El argumento de dataset es un YAML que empareja un directorio de imágenes de entrada degradadas con un directorio de imágenes objetivo limpias de la misma resolución; consulta formatos de dataset para las claves exactas.

Exportación

TareaONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
restorerestore to ONNX: compatiblerestore to TorchScript: compatiblerestore to ExecuTorch: compatiblerestore to TensorRT: compatiblerestore to OpenVINO: compatiblerestore to Paddle: no compatiblerestore to MNN: no compatiblerestore to RKNN: no compatiblerestore to ncnn: compatiblerestore to TFLite: compatiblerestore to CoreML: no compatiblerestore to Core AI: compatible

Un artefacto exportado se vuelve a cargar con LibreYOLO() según su extensión de archivo, así que un archivo .onnx o .engine se comporta como un checkpoint y devuelve el mismo Results. Exportación enumera los argumentos que acepta cada formato y los extras que añaden unos pocos.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreRealESRGANx4-restore.pt") # si se omite, imgsz toma por defecto un tamaño de patch interno# pequeño, no tu resolución de trabajo, así que pasa el tamaño que# tu despliegue le da realmente al modelo.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
Usar el archivo exportado
from libreyolo import LibreYOLO, SAMPLE_IMAGE # La factoría enruta según la extensión del archivo, así que un# artefacto exportado se carga como cualquier checkpoint y devuelve# el mismo objeto Results.model = LibreYOLO("LibreRealESRGANx4-restore.onnx")result = model(SAMPLE_IMAGE) print(result.restored.array.shape)

Checkpoints

Todos los archivos de pesos publicados de esta familia.

ArchivoEntrada (px)Licencia de los pesos
restore
LibreRealESRGANx4t-restore.ptbsd-3-clause
LibreRealESRGANx4-restore.ptbsd-3-clause
LibreRealESRGANx2-restore.ptbsd-3-clause

Todos los archivos anteriores existen hoy en la organización de LibreYOLO y se descargan la primera vez que se usan.

Licencia

Comprueba la licencia en el repositorio de Hugging Face de los pesos concretos que descargues. Cada checkpoint de la organización de LibreYOLO incluye una, y no siempre es la misma en toda una familia. Ese repositorio es la fuente autorizada; el resumen siguiente describe qué se aplicaba cuando se verificó esta página por última vez.

Esta es una descripción de las licencias implicadas, no asesoramiento legal. Si la respuesta es importante a nivel comercial, lee las licencias y busca tu propio asesoramiento.

Trabajo original
Real-ESRGAN, Tencent ARC Lab and Shenzhen Institutes of Advanced Technology, Chinese Academy of Sciences
Licencia del proyecto original
BSD-3-Clause
Fuente del proyecto original
github.com/xinntao/Real-ESRGAN
Código de LibreYOLO
MIT
Pesos
BSD-3-Clause, republicados en huggingface.co/LibreYOLO
Interpretación
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.

Cita

@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}
}

Copiado del bloque de cita de los autores en github.com/xinntao/Real-ESRGAN#bibtex.

Verificado con LibreYOLO v1.5.0. Las tablas de compatibilidad, los checkpoints y las cifras de rendimiento de esta página se generan a partir de la biblioteca publicada y los pesos publicados; no se escriben a mano.