Real-ESRGAN

Bộ upscale siêu phân giải blind thực tế được huấn luyện trên các dạng suy giảm tổng hợp thay vì chỉ downscale bicubic. LibreYOLO cung cấp inference và xác thực cho các checkpoint 4x, 2x và 4x nhanh.

Tác vụ
restore
Kích thước
x4, x2, x4t at 64 px
Cài đặt
pip install libreyolo
Bậc hỗ trợ
Chỉ suy luận, từ v. Chỉ dự đoán, kiểm định và xuất. Không áp dụng các tính năng huấn luyện.
Thượng nguồn
Real-ESRGAN của Tencent ARC Lab and Shenzhen Institutes of Advanced Technology, Chinese Academy of Sciences, BSD-3-Clause. Bài báo, mã nguồn
Giấy phép
Mã nguồn Apache-2.0 and BSD-3-Clause, trọng số BSD-3-Clause. Sử dụng thương mại

Cài đặt

Real-ESRGAN không cần extra tùy chọn. Mọi thành phần mà mô hình import đều có trong bản cài đặt cơ sở.

bash
pip install libreyolo

Dự đoán

Trọng số được tải về từ Hugging Face trong lần sử dụng đầu tiên và được lưu vào bộ nhớ đệm cục bộ.

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
Chia tile cho ảnh lớn
from libreyolo import LibreYOLO model = LibreYOLO("LibreRealESRGANx4-restore.pt") # tile chia forward pass thành các tile chồng lấp rồi hòa trộn đường nối;# tile_pad là vùng viền thêm quanh mỗi tile trước khi cắt bỏ trở lại.# Cả hai là đối số keyword chỉ dành cho Python, không phải cờ CLI.result = model("large-photo.jpg", tile=512, tile_pad=10, save=True)

Kết quả phục hồi không có box; result.restored là ảnh RGB uint8 dense (H, W, 3) trên canvas lớn gấp Results.restore_scale lần đầu vào theo mỗi chiều. save=True ghi trực tiếp ảnh đó thay vì plot có chú thích. Đầu vào được chuyển sang RGB và mọi kênh alpha bị bỏ. Nguồn lớn hơn dung lượng bộ nhớ có thể được chia bằng tiletile_pad, các tùy chọn này hòa trộn đường nối tile trong đầu ra. Xem dự đoán để biết về nguồn, xử lý luồng và kết quả.

Biến thể

Có ba checkpoint được đặt tên theo hệ số upscale. x4 là RRDBNet (RealESRGAN_x4plus) với 23 residual-in-residual dense block, mặc định chất lượng ở 4x. x2 là cùng kiến trúc RRDBNet ở 2x. x4t là SRVGGNetCompact (realesr-general-x4v3), generator nhỏ và nhanh hơn được xây dựng cho video cùng trường hợp cần độ trễ thấp hơn ở 4x. Mô hình đa dụng upstream cũng cung cấp mạng denoise-strength theo cặp được hòa trộn khi inference; núm điều chỉnh cường độ đó không thuộc bản port này, bản port chạy generator x4t cơ sở.

Xác thực

val() đo PSNR và SSIM giữa đầu ra đã phục hồi và ảnh đích sạch, cả hai được tính theo RGB trên canvas gốc mà không crop viền hoặc đổi kích thước. SSIM dùng cửa sổ Gaussian 11x11 với sigma 1,5, lấy trung bình trên ba kênh màu.

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

Đối số tập dữ liệu (dataset) là YAML ghép thư mục ảnh đầu vào bị suy giảm với thư mục ảnh đích sạch có độ phân giải tương ứng; xem định dạng dataset để biết chính xác các key.

Xuất

Tác vụONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
restorerestore to ONNX: được hỗ trợrestore to TorchScript: được hỗ trợrestore to ExecuTorch: được hỗ trợrestore to TensorRT: được hỗ trợrestore to OpenVINO: được hỗ trợrestore to Paddle: không được hỗ trợrestore to MNN: không được hỗ trợrestore to RKNN: không được hỗ trợrestore to ncnn: được hỗ trợrestore to TFLite: được hỗ trợrestore to CoreML: không được hỗ trợrestore to Core AI: được hỗ trợ

Artifact đã xuất được tải lại qua LibreYOLO() dựa trên hậu tố tệp, vì vậy tệp .onnx hoặc .engine hoạt động như checkpoint và trả về cùng đối tượng Results. Trang Xuất liệt kê các đối số được mọi định dạng chấp nhận và các extra mà một số định dạng bổ sung.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreRealESRGANx4-restore.pt") # Khi bỏ qua, imgsz mặc định dùng kích thước patch nội bộ nhỏ, không phải# độ phân giải làm việc, vì vậy hãy truyền kích thước mà bản triển khai# thực sự đưa vào mô hình.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
Dùng tệp đã xuất
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Factory định tuyến dựa trên hậu tố tệp, vì vậy artifact đã xuất tải# như mọi checkpoint và trả về cùng đối tượng Results.model = LibreYOLO("LibreRealESRGANx4-restore.onnx")result = model(SAMPLE_IMAGE) print(result.restored.array.shape)

Checkpoint

Mọi tệp trọng số đã phát hành cho họ mô hình này.

TệpĐầu vào (px)Giấy phép trọng số
restore
LibreRealESRGANx4t-restore.ptbsd-3-clause
LibreRealESRGANx4-restore.ptbsd-3-clause
LibreRealESRGANx2-restore.ptbsd-3-clause

Mọi tệp ở trên hiện đều có trong tổ chức LibreYOLO và được tải xuống trong lần sử dụng đầu tiên.

Giấy phép

Hãy kiểm tra giấy phép trong repo Hugging Face của trọng số cụ thể mà bạn tải xuống. Mỗi checkpoint trong tổ chức LibreYOLO đều có giấy phép riêng và giấy phép có thể khác nhau trong cùng một họ. Repo đó là nguồn có thẩm quyền; phần tóm tắt dưới đây mô tả các điều khoản áp dụng khi trang này được kiểm chứng lần gần nhất.

Đây là phần mô tả các giấy phép liên quan, không phải tư vấn pháp lý. Nếu câu trả lời có ý nghĩa về mặt thương mại, hãy tự đọc các giấy phép và tham khảo cố vấn của riêng bạn.

Công trình gốc
Real-ESRGAN, Tencent ARC Lab and Shenzhen Institutes of Advanced Technology, Chinese Academy of Sciences
Giấy phép thượng nguồn
BSD-3-Clause
Nguồn thượng nguồn
github.com/xinntao/Real-ESRGAN
Mã nguồn LibreYOLO
MIT
Trọng số
BSD-3-Clause, được phát hành lại tại huggingface.co/LibreYOLO
Diễn giải
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.

Trích dẫn

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

Được sao chép từ khối trích dẫn của tác giả tại github.com/xinntao/Real-ESRGAN#bibtex.

Đã kiểm chứng với LibreYOLO v1.5.0. Các bảng hỗ trợ, checkpoint và số liệu benchmark trên trang này được tạo từ thư viện đã phát hành và trọng số đã công bố, không phải viết thủ công.